diff --git a/.gitignore b/.gitignore index c235f20..f6e1422 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1 @@ - -# Created by https://www.gitignore.io/api/vapor - -### Vapor ### -Config/secrets - -### Vapor Patch ### -Packages -.build -xcuserdata -*.xcodeproj -DerivedData/ -.DS_Store - -# End of https://www.gitignore.io/api/vapor +secrets \ No newline at end of file diff --git a/Vapor3.1.10/.gitignore b/Vapor3.1.10/.gitignore new file mode 100644 index 0000000..c235f20 --- /dev/null +++ b/Vapor3.1.10/.gitignore @@ -0,0 +1,15 @@ + +# Created by https://www.gitignore.io/api/vapor + +### Vapor ### +Config/secrets + +### Vapor Patch ### +Packages +.build +xcuserdata +*.xcodeproj +DerivedData/ +.DS_Store + +# End of https://www.gitignore.io/api/vapor diff --git a/CONTRIBUTING.md b/Vapor3.1.10/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to Vapor3.1.10/CONTRIBUTING.md diff --git a/Package.resolved b/Vapor3.1.10/Package.resolved similarity index 100% rename from Package.resolved rename to Vapor3.1.10/Package.resolved diff --git a/Package.swift b/Vapor3.1.10/Package.swift similarity index 100% rename from Package.swift rename to Vapor3.1.10/Package.swift diff --git a/Public/.gitkeep b/Vapor3.1.10/Public/.gitkeep similarity index 100% rename from Public/.gitkeep rename to Vapor3.1.10/Public/.gitkeep diff --git a/Public/StephenParkinsonResume.pdf b/Vapor3.1.10/Public/StephenParkinsonResume.pdf similarity index 100% rename from Public/StephenParkinsonResume.pdf rename to Vapor3.1.10/Public/StephenParkinsonResume.pdf diff --git a/Public/css/404style.css b/Vapor3.1.10/Public/css/404style.css similarity index 100% rename from Public/css/404style.css rename to Vapor3.1.10/Public/css/404style.css diff --git a/Public/css/animate.css b/Vapor3.1.10/Public/css/animate.css similarity index 100% rename from Public/css/animate.css rename to Vapor3.1.10/Public/css/animate.css diff --git a/Public/css/bootstrap.css b/Vapor3.1.10/Public/css/bootstrap.css similarity index 100% rename from Public/css/bootstrap.css rename to Vapor3.1.10/Public/css/bootstrap.css diff --git a/Public/css/bootstrap.css.map b/Vapor3.1.10/Public/css/bootstrap.css.map similarity index 100% rename from Public/css/bootstrap.css.map rename to Vapor3.1.10/Public/css/bootstrap.css.map diff --git a/Public/css/flexslider.css b/Vapor3.1.10/Public/css/flexslider.css similarity index 100% rename from Public/css/flexslider.css rename to Vapor3.1.10/Public/css/flexslider.css diff --git a/Public/css/icomoon.css b/Vapor3.1.10/Public/css/icomoon.css similarity index 100% rename from Public/css/icomoon.css rename to Vapor3.1.10/Public/css/icomoon.css diff --git a/Public/css/owl.carousel.min.css b/Vapor3.1.10/Public/css/owl.carousel.min.css similarity index 100% rename from Public/css/owl.carousel.min.css rename to Vapor3.1.10/Public/css/owl.carousel.min.css diff --git a/Public/css/owl.theme.default.min.css b/Vapor3.1.10/Public/css/owl.theme.default.min.css similarity index 100% rename from Public/css/owl.theme.default.min.css rename to Vapor3.1.10/Public/css/owl.theme.default.min.css diff --git a/Public/css/style.css b/Vapor3.1.10/Public/css/style.css similarity index 100% rename from Public/css/style.css rename to Vapor3.1.10/Public/css/style.css diff --git a/Public/css/style.css.map b/Vapor3.1.10/Public/css/style.css.map similarity index 100% rename from Public/css/style.css.map rename to Vapor3.1.10/Public/css/style.css.map diff --git a/Public/fonts/bootstrap/glyphicons-halflings-regular.eot b/Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.eot similarity index 100% rename from Public/fonts/bootstrap/glyphicons-halflings-regular.eot rename to Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.eot diff --git a/Public/fonts/bootstrap/glyphicons-halflings-regular.svg b/Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.svg similarity index 100% rename from Public/fonts/bootstrap/glyphicons-halflings-regular.svg rename to Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.svg diff --git a/Public/fonts/bootstrap/glyphicons-halflings-regular.ttf b/Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.ttf similarity index 100% rename from Public/fonts/bootstrap/glyphicons-halflings-regular.ttf rename to Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.ttf diff --git a/Public/fonts/bootstrap/glyphicons-halflings-regular.woff b/Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.woff similarity index 100% rename from Public/fonts/bootstrap/glyphicons-halflings-regular.woff rename to Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.woff diff --git a/Public/fonts/bootstrap/glyphicons-halflings-regular.woff2 b/Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.woff2 similarity index 100% rename from Public/fonts/bootstrap/glyphicons-halflings-regular.woff2 rename to Vapor3.1.10/Public/fonts/bootstrap/glyphicons-halflings-regular.woff2 diff --git a/Public/fonts/icomoon/icomoon.eot b/Vapor3.1.10/Public/fonts/icomoon/icomoon.eot similarity index 100% rename from Public/fonts/icomoon/icomoon.eot rename to Vapor3.1.10/Public/fonts/icomoon/icomoon.eot diff --git a/Public/fonts/icomoon/icomoon.svg b/Vapor3.1.10/Public/fonts/icomoon/icomoon.svg similarity index 100% rename from Public/fonts/icomoon/icomoon.svg rename to Vapor3.1.10/Public/fonts/icomoon/icomoon.svg diff --git a/Public/fonts/icomoon/icomoon.ttf b/Vapor3.1.10/Public/fonts/icomoon/icomoon.ttf similarity index 100% rename from Public/fonts/icomoon/icomoon.ttf rename to Vapor3.1.10/Public/fonts/icomoon/icomoon.ttf diff --git a/Public/fonts/icomoon/icomoon.woff b/Vapor3.1.10/Public/fonts/icomoon/icomoon.woff similarity index 100% rename from Public/fonts/icomoon/icomoon.woff rename to Vapor3.1.10/Public/fonts/icomoon/icomoon.woff diff --git a/Public/images/about.jpg b/Vapor3.1.10/Public/images/about.jpg similarity index 100% rename from Public/images/about.jpg rename to Vapor3.1.10/Public/images/about.jpg diff --git a/Public/images/img_bg_1.jpg b/Vapor3.1.10/Public/images/img_bg_1.jpg similarity index 100% rename from Public/images/img_bg_1.jpg rename to Vapor3.1.10/Public/images/img_bg_1.jpg diff --git a/Public/img/bg.jpg b/Vapor3.1.10/Public/img/bg.jpg similarity index 100% rename from Public/img/bg.jpg rename to Vapor3.1.10/Public/img/bg.jpg diff --git a/Public/js/bootstrap.min.js b/Vapor3.1.10/Public/js/bootstrap.min.js similarity index 100% rename from Public/js/bootstrap.min.js rename to Vapor3.1.10/Public/js/bootstrap.min.js diff --git a/Public/js/google_map.js b/Vapor3.1.10/Public/js/google_map.js similarity index 100% rename from Public/js/google_map.js rename to Vapor3.1.10/Public/js/google_map.js diff --git a/Public/js/jquery.countTo.js b/Vapor3.1.10/Public/js/jquery.countTo.js similarity index 100% rename from Public/js/jquery.countTo.js rename to Vapor3.1.10/Public/js/jquery.countTo.js diff --git a/Public/js/jquery.easing.1.3.js b/Vapor3.1.10/Public/js/jquery.easing.1.3.js similarity index 100% rename from Public/js/jquery.easing.1.3.js rename to Vapor3.1.10/Public/js/jquery.easing.1.3.js diff --git a/Public/js/jquery.flexslider-min.js b/Vapor3.1.10/Public/js/jquery.flexslider-min.js similarity index 100% rename from Public/js/jquery.flexslider-min.js rename to Vapor3.1.10/Public/js/jquery.flexslider-min.js diff --git a/Public/js/jquery.min.js b/Vapor3.1.10/Public/js/jquery.min.js similarity index 100% rename from Public/js/jquery.min.js rename to Vapor3.1.10/Public/js/jquery.min.js diff --git a/Public/js/jquery.waypoints.min.js b/Vapor3.1.10/Public/js/jquery.waypoints.min.js similarity index 100% rename from Public/js/jquery.waypoints.min.js rename to Vapor3.1.10/Public/js/jquery.waypoints.min.js diff --git a/Public/js/main.js b/Vapor3.1.10/Public/js/main.js similarity index 100% rename from Public/js/main.js rename to Vapor3.1.10/Public/js/main.js diff --git a/Public/js/modernizr-2.6.2.min.js b/Vapor3.1.10/Public/js/modernizr-2.6.2.min.js similarity index 100% rename from Public/js/modernizr-2.6.2.min.js rename to Vapor3.1.10/Public/js/modernizr-2.6.2.min.js diff --git a/Public/js/owl.carousel.min.js b/Vapor3.1.10/Public/js/owl.carousel.min.js similarity index 100% rename from Public/js/owl.carousel.min.js rename to Vapor3.1.10/Public/js/owl.carousel.min.js diff --git a/Public/js/respond.min.js b/Vapor3.1.10/Public/js/respond.min.js similarity index 100% rename from Public/js/respond.min.js rename to Vapor3.1.10/Public/js/respond.min.js diff --git a/Public/media/gif.gif b/Vapor3.1.10/Public/media/gif.gif similarity index 100% rename from Public/media/gif.gif rename to Vapor3.1.10/Public/media/gif.gif diff --git a/Public/media/gif2.gif b/Vapor3.1.10/Public/media/gif2.gif similarity index 100% rename from Public/media/gif2.gif rename to Vapor3.1.10/Public/media/gif2.gif diff --git a/Public/media/song.mp3 b/Vapor3.1.10/Public/media/song.mp3 similarity index 100% rename from Public/media/song.mp3 rename to Vapor3.1.10/Public/media/song.mp3 diff --git a/Public/sass/_bootstrap-compass.scss b/Vapor3.1.10/Public/sass/_bootstrap-compass.scss similarity index 100% rename from Public/sass/_bootstrap-compass.scss rename to Vapor3.1.10/Public/sass/_bootstrap-compass.scss diff --git a/Public/sass/_bootstrap-mincer.scss b/Vapor3.1.10/Public/sass/_bootstrap-mincer.scss similarity index 100% rename from Public/sass/_bootstrap-mincer.scss rename to Vapor3.1.10/Public/sass/_bootstrap-mincer.scss diff --git a/Public/sass/_bootstrap-sprockets.scss b/Vapor3.1.10/Public/sass/_bootstrap-sprockets.scss similarity index 100% rename from Public/sass/_bootstrap-sprockets.scss rename to Vapor3.1.10/Public/sass/_bootstrap-sprockets.scss diff --git a/Public/sass/bootstrap.scss b/Vapor3.1.10/Public/sass/bootstrap.scss similarity index 100% rename from Public/sass/bootstrap.scss rename to Vapor3.1.10/Public/sass/bootstrap.scss diff --git a/Public/sass/bootstrap/_alerts.scss b/Vapor3.1.10/Public/sass/bootstrap/_alerts.scss similarity index 100% rename from Public/sass/bootstrap/_alerts.scss rename to Vapor3.1.10/Public/sass/bootstrap/_alerts.scss diff --git a/Public/sass/bootstrap/_badges.scss b/Vapor3.1.10/Public/sass/bootstrap/_badges.scss similarity index 100% rename from Public/sass/bootstrap/_badges.scss rename to Vapor3.1.10/Public/sass/bootstrap/_badges.scss diff --git a/Public/sass/bootstrap/_breadcrumbs.scss b/Vapor3.1.10/Public/sass/bootstrap/_breadcrumbs.scss similarity index 100% rename from Public/sass/bootstrap/_breadcrumbs.scss rename to Vapor3.1.10/Public/sass/bootstrap/_breadcrumbs.scss diff --git a/Public/sass/bootstrap/_button-groups.scss b/Vapor3.1.10/Public/sass/bootstrap/_button-groups.scss similarity index 100% rename from Public/sass/bootstrap/_button-groups.scss rename to Vapor3.1.10/Public/sass/bootstrap/_button-groups.scss diff --git a/Public/sass/bootstrap/_buttons.scss b/Vapor3.1.10/Public/sass/bootstrap/_buttons.scss similarity index 100% rename from Public/sass/bootstrap/_buttons.scss rename to Vapor3.1.10/Public/sass/bootstrap/_buttons.scss diff --git a/Public/sass/bootstrap/_carousel.scss b/Vapor3.1.10/Public/sass/bootstrap/_carousel.scss similarity index 100% rename from Public/sass/bootstrap/_carousel.scss rename to Vapor3.1.10/Public/sass/bootstrap/_carousel.scss diff --git a/Public/sass/bootstrap/_close.scss b/Vapor3.1.10/Public/sass/bootstrap/_close.scss similarity index 100% rename from Public/sass/bootstrap/_close.scss rename to Vapor3.1.10/Public/sass/bootstrap/_close.scss diff --git a/Public/sass/bootstrap/_code.scss b/Vapor3.1.10/Public/sass/bootstrap/_code.scss similarity index 100% rename from Public/sass/bootstrap/_code.scss rename to Vapor3.1.10/Public/sass/bootstrap/_code.scss diff --git a/Public/sass/bootstrap/_component-animations.scss b/Vapor3.1.10/Public/sass/bootstrap/_component-animations.scss similarity index 100% rename from Public/sass/bootstrap/_component-animations.scss rename to Vapor3.1.10/Public/sass/bootstrap/_component-animations.scss diff --git a/Public/sass/bootstrap/_dropdowns.scss b/Vapor3.1.10/Public/sass/bootstrap/_dropdowns.scss similarity index 100% rename from Public/sass/bootstrap/_dropdowns.scss rename to Vapor3.1.10/Public/sass/bootstrap/_dropdowns.scss diff --git a/Public/sass/bootstrap/_forms.scss b/Vapor3.1.10/Public/sass/bootstrap/_forms.scss similarity index 100% rename from Public/sass/bootstrap/_forms.scss rename to Vapor3.1.10/Public/sass/bootstrap/_forms.scss diff --git a/Public/sass/bootstrap/_glyphicons.scss b/Vapor3.1.10/Public/sass/bootstrap/_glyphicons.scss similarity index 100% rename from Public/sass/bootstrap/_glyphicons.scss rename to Vapor3.1.10/Public/sass/bootstrap/_glyphicons.scss diff --git a/Public/sass/bootstrap/_grid.scss b/Vapor3.1.10/Public/sass/bootstrap/_grid.scss similarity index 100% rename from Public/sass/bootstrap/_grid.scss rename to Vapor3.1.10/Public/sass/bootstrap/_grid.scss diff --git a/Public/sass/bootstrap/_input-groups.scss b/Vapor3.1.10/Public/sass/bootstrap/_input-groups.scss similarity index 100% rename from Public/sass/bootstrap/_input-groups.scss rename to Vapor3.1.10/Public/sass/bootstrap/_input-groups.scss diff --git a/Public/sass/bootstrap/_jumbotron.scss b/Vapor3.1.10/Public/sass/bootstrap/_jumbotron.scss similarity index 100% rename from Public/sass/bootstrap/_jumbotron.scss rename to Vapor3.1.10/Public/sass/bootstrap/_jumbotron.scss diff --git a/Public/sass/bootstrap/_labels.scss b/Vapor3.1.10/Public/sass/bootstrap/_labels.scss similarity index 100% rename from Public/sass/bootstrap/_labels.scss rename to Vapor3.1.10/Public/sass/bootstrap/_labels.scss diff --git a/Public/sass/bootstrap/_list-group.scss b/Vapor3.1.10/Public/sass/bootstrap/_list-group.scss similarity index 100% rename from Public/sass/bootstrap/_list-group.scss rename to Vapor3.1.10/Public/sass/bootstrap/_list-group.scss diff --git a/Public/sass/bootstrap/_media.scss b/Vapor3.1.10/Public/sass/bootstrap/_media.scss similarity index 100% rename from Public/sass/bootstrap/_media.scss rename to Vapor3.1.10/Public/sass/bootstrap/_media.scss diff --git a/Public/sass/bootstrap/_mixins.scss b/Vapor3.1.10/Public/sass/bootstrap/_mixins.scss similarity index 100% rename from Public/sass/bootstrap/_mixins.scss rename to Vapor3.1.10/Public/sass/bootstrap/_mixins.scss diff --git a/Public/sass/bootstrap/_modals.scss b/Vapor3.1.10/Public/sass/bootstrap/_modals.scss similarity index 100% rename from Public/sass/bootstrap/_modals.scss rename to Vapor3.1.10/Public/sass/bootstrap/_modals.scss diff --git a/Public/sass/bootstrap/_navbar.scss b/Vapor3.1.10/Public/sass/bootstrap/_navbar.scss similarity index 100% rename from Public/sass/bootstrap/_navbar.scss rename to Vapor3.1.10/Public/sass/bootstrap/_navbar.scss diff --git a/Public/sass/bootstrap/_navs.scss b/Vapor3.1.10/Public/sass/bootstrap/_navs.scss similarity index 100% rename from Public/sass/bootstrap/_navs.scss rename to Vapor3.1.10/Public/sass/bootstrap/_navs.scss diff --git a/Public/sass/bootstrap/_normalize.scss b/Vapor3.1.10/Public/sass/bootstrap/_normalize.scss similarity index 100% rename from Public/sass/bootstrap/_normalize.scss rename to Vapor3.1.10/Public/sass/bootstrap/_normalize.scss diff --git a/Public/sass/bootstrap/_pager.scss b/Vapor3.1.10/Public/sass/bootstrap/_pager.scss similarity index 100% rename from Public/sass/bootstrap/_pager.scss rename to Vapor3.1.10/Public/sass/bootstrap/_pager.scss diff --git a/Public/sass/bootstrap/_pagination.scss b/Vapor3.1.10/Public/sass/bootstrap/_pagination.scss similarity index 100% rename from Public/sass/bootstrap/_pagination.scss rename to Vapor3.1.10/Public/sass/bootstrap/_pagination.scss diff --git a/Public/sass/bootstrap/_panels.scss b/Vapor3.1.10/Public/sass/bootstrap/_panels.scss similarity index 100% rename from Public/sass/bootstrap/_panels.scss rename to Vapor3.1.10/Public/sass/bootstrap/_panels.scss diff --git a/Public/sass/bootstrap/_popovers.scss b/Vapor3.1.10/Public/sass/bootstrap/_popovers.scss similarity index 100% rename from Public/sass/bootstrap/_popovers.scss rename to Vapor3.1.10/Public/sass/bootstrap/_popovers.scss diff --git a/Public/sass/bootstrap/_print.scss b/Vapor3.1.10/Public/sass/bootstrap/_print.scss similarity index 100% rename from Public/sass/bootstrap/_print.scss rename to Vapor3.1.10/Public/sass/bootstrap/_print.scss diff --git a/Public/sass/bootstrap/_progress-bars.scss b/Vapor3.1.10/Public/sass/bootstrap/_progress-bars.scss similarity index 100% rename from Public/sass/bootstrap/_progress-bars.scss rename to Vapor3.1.10/Public/sass/bootstrap/_progress-bars.scss diff --git a/Public/sass/bootstrap/_responsive-embed.scss b/Vapor3.1.10/Public/sass/bootstrap/_responsive-embed.scss similarity index 100% rename from Public/sass/bootstrap/_responsive-embed.scss rename to Vapor3.1.10/Public/sass/bootstrap/_responsive-embed.scss diff --git a/Public/sass/bootstrap/_responsive-utilities.scss b/Vapor3.1.10/Public/sass/bootstrap/_responsive-utilities.scss similarity index 100% rename from Public/sass/bootstrap/_responsive-utilities.scss rename to Vapor3.1.10/Public/sass/bootstrap/_responsive-utilities.scss diff --git a/Public/sass/bootstrap/_scaffolding.scss b/Vapor3.1.10/Public/sass/bootstrap/_scaffolding.scss similarity index 100% rename from Public/sass/bootstrap/_scaffolding.scss rename to Vapor3.1.10/Public/sass/bootstrap/_scaffolding.scss diff --git a/Public/sass/bootstrap/_tables.scss b/Vapor3.1.10/Public/sass/bootstrap/_tables.scss similarity index 100% rename from Public/sass/bootstrap/_tables.scss rename to Vapor3.1.10/Public/sass/bootstrap/_tables.scss diff --git a/Public/sass/bootstrap/_theme.scss b/Vapor3.1.10/Public/sass/bootstrap/_theme.scss similarity index 100% rename from Public/sass/bootstrap/_theme.scss rename to Vapor3.1.10/Public/sass/bootstrap/_theme.scss diff --git a/Public/sass/bootstrap/_thumbnails.scss b/Vapor3.1.10/Public/sass/bootstrap/_thumbnails.scss similarity index 100% rename from Public/sass/bootstrap/_thumbnails.scss rename to Vapor3.1.10/Public/sass/bootstrap/_thumbnails.scss diff --git a/Public/sass/bootstrap/_tooltip.scss b/Vapor3.1.10/Public/sass/bootstrap/_tooltip.scss similarity index 100% rename from Public/sass/bootstrap/_tooltip.scss rename to Vapor3.1.10/Public/sass/bootstrap/_tooltip.scss diff --git a/Public/sass/bootstrap/_type.scss b/Vapor3.1.10/Public/sass/bootstrap/_type.scss similarity index 100% rename from Public/sass/bootstrap/_type.scss rename to Vapor3.1.10/Public/sass/bootstrap/_type.scss diff --git a/Public/sass/bootstrap/_utilities.scss b/Vapor3.1.10/Public/sass/bootstrap/_utilities.scss similarity index 100% rename from Public/sass/bootstrap/_utilities.scss rename to Vapor3.1.10/Public/sass/bootstrap/_utilities.scss diff --git a/Public/sass/bootstrap/_variables.scss b/Vapor3.1.10/Public/sass/bootstrap/_variables.scss similarity index 100% rename from Public/sass/bootstrap/_variables.scss rename to Vapor3.1.10/Public/sass/bootstrap/_variables.scss diff --git a/Public/sass/bootstrap/_wells.scss b/Vapor3.1.10/Public/sass/bootstrap/_wells.scss similarity index 100% rename from Public/sass/bootstrap/_wells.scss rename to Vapor3.1.10/Public/sass/bootstrap/_wells.scss diff --git a/Public/sass/bootstrap/mixins/_alerts.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_alerts.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_alerts.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_alerts.scss diff --git a/Public/sass/bootstrap/mixins/_background-variant.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_background-variant.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_background-variant.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_background-variant.scss diff --git a/Public/sass/bootstrap/mixins/_border-radius.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_border-radius.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_border-radius.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_border-radius.scss diff --git a/Public/sass/bootstrap/mixins/_buttons.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_buttons.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_buttons.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_buttons.scss diff --git a/Public/sass/bootstrap/mixins/_center-block.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_center-block.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_center-block.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_center-block.scss diff --git a/Public/sass/bootstrap/mixins/_clearfix.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_clearfix.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_clearfix.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_clearfix.scss diff --git a/Public/sass/bootstrap/mixins/_forms.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_forms.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_forms.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_forms.scss diff --git a/Public/sass/bootstrap/mixins/_gradients.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_gradients.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_gradients.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_gradients.scss diff --git a/Public/sass/bootstrap/mixins/_grid-framework.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_grid-framework.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_grid-framework.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_grid-framework.scss diff --git a/Public/sass/bootstrap/mixins/_grid.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_grid.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_grid.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_grid.scss diff --git a/Public/sass/bootstrap/mixins/_hide-text.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_hide-text.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_hide-text.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_hide-text.scss diff --git a/Public/sass/bootstrap/mixins/_image.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_image.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_image.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_image.scss diff --git a/Public/sass/bootstrap/mixins/_labels.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_labels.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_labels.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_labels.scss diff --git a/Public/sass/bootstrap/mixins/_list-group.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_list-group.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_list-group.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_list-group.scss diff --git a/Public/sass/bootstrap/mixins/_nav-divider.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_nav-divider.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_nav-divider.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_nav-divider.scss diff --git a/Public/sass/bootstrap/mixins/_nav-vertical-align.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_nav-vertical-align.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_nav-vertical-align.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_nav-vertical-align.scss diff --git a/Public/sass/bootstrap/mixins/_opacity.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_opacity.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_opacity.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_opacity.scss diff --git a/Public/sass/bootstrap/mixins/_pagination.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_pagination.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_pagination.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_pagination.scss diff --git a/Public/sass/bootstrap/mixins/_panels.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_panels.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_panels.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_panels.scss diff --git a/Public/sass/bootstrap/mixins/_progress-bar.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_progress-bar.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_progress-bar.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_progress-bar.scss diff --git a/Public/sass/bootstrap/mixins/_reset-filter.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_reset-filter.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_reset-filter.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_reset-filter.scss diff --git a/Public/sass/bootstrap/mixins/_reset-text.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_reset-text.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_reset-text.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_reset-text.scss diff --git a/Public/sass/bootstrap/mixins/_resize.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_resize.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_resize.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_resize.scss diff --git a/Public/sass/bootstrap/mixins/_responsive-visibility.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_responsive-visibility.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_responsive-visibility.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_responsive-visibility.scss diff --git a/Public/sass/bootstrap/mixins/_size.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_size.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_size.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_size.scss diff --git a/Public/sass/bootstrap/mixins/_tab-focus.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_tab-focus.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_tab-focus.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_tab-focus.scss diff --git a/Public/sass/bootstrap/mixins/_table-row.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_table-row.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_table-row.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_table-row.scss diff --git a/Public/sass/bootstrap/mixins/_text-emphasis.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_text-emphasis.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_text-emphasis.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_text-emphasis.scss diff --git a/Public/sass/bootstrap/mixins/_text-overflow.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_text-overflow.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_text-overflow.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_text-overflow.scss diff --git a/Public/sass/bootstrap/mixins/_vendor-prefixes.scss b/Vapor3.1.10/Public/sass/bootstrap/mixins/_vendor-prefixes.scss similarity index 100% rename from Public/sass/bootstrap/mixins/_vendor-prefixes.scss rename to Vapor3.1.10/Public/sass/bootstrap/mixins/_vendor-prefixes.scss diff --git a/Public/sass/style.scss b/Vapor3.1.10/Public/sass/style.scss similarity index 100% rename from Public/sass/style.scss rename to Vapor3.1.10/Public/sass/style.scss diff --git a/README.md b/Vapor3.1.10/README.md similarity index 100% rename from README.md rename to Vapor3.1.10/README.md diff --git a/Resources/Views/404.leaf b/Vapor3.1.10/Resources/Views/404.leaf similarity index 100% rename from Resources/Views/404.leaf rename to Vapor3.1.10/Resources/Views/404.leaf diff --git a/Resources/Views/home.leaf b/Vapor3.1.10/Resources/Views/home.leaf similarity index 100% rename from Resources/Views/home.leaf rename to Vapor3.1.10/Resources/Views/home.leaf diff --git a/Resources/Views/privacy.leaf b/Vapor3.1.10/Resources/Views/privacy.leaf similarity index 100% rename from Resources/Views/privacy.leaf rename to Vapor3.1.10/Resources/Views/privacy.leaf diff --git a/Resources/Views/welcome.leaf b/Vapor3.1.10/Resources/Views/welcome.leaf similarity index 100% rename from Resources/Views/welcome.leaf rename to Vapor3.1.10/Resources/Views/welcome.leaf diff --git a/Sources/App/Controllers/.gitkeep b/Vapor3.1.10/Sources/App/Controllers/.gitkeep similarity index 100% rename from Sources/App/Controllers/.gitkeep rename to Vapor3.1.10/Sources/App/Controllers/.gitkeep diff --git a/Sources/App/Models/.gitkeep b/Vapor3.1.10/Sources/App/Models/.gitkeep similarity index 100% rename from Sources/App/Models/.gitkeep rename to Vapor3.1.10/Sources/App/Models/.gitkeep diff --git a/Sources/App/app.swift b/Vapor3.1.10/Sources/App/app.swift similarity index 100% rename from Sources/App/app.swift rename to Vapor3.1.10/Sources/App/app.swift diff --git a/Sources/App/boot.swift b/Vapor3.1.10/Sources/App/boot.swift similarity index 100% rename from Sources/App/boot.swift rename to Vapor3.1.10/Sources/App/boot.swift diff --git a/Sources/App/configure.swift b/Vapor3.1.10/Sources/App/configure.swift similarity index 100% rename from Sources/App/configure.swift rename to Vapor3.1.10/Sources/App/configure.swift diff --git a/Sources/App/routes.swift b/Vapor3.1.10/Sources/App/routes.swift similarity index 100% rename from Sources/App/routes.swift rename to Vapor3.1.10/Sources/App/routes.swift diff --git a/Sources/Run/main.swift b/Vapor3.1.10/Sources/Run/main.swift similarity index 100% rename from Sources/Run/main.swift rename to Vapor3.1.10/Sources/Run/main.swift diff --git a/Tests/AppTests/AppTests.swift b/Vapor3.1.10/Tests/AppTests/AppTests.swift similarity index 100% rename from Tests/AppTests/AppTests.swift rename to Vapor3.1.10/Tests/AppTests/AppTests.swift diff --git a/Tests/LinuxMain.swift b/Vapor3.1.10/Tests/LinuxMain.swift similarity index 100% rename from Tests/LinuxMain.swift rename to Vapor3.1.10/Tests/LinuxMain.swift diff --git a/circle.yml b/Vapor3.1.10/circle.yml similarity index 100% rename from circle.yml rename to Vapor3.1.10/circle.yml diff --git a/web.Dockerfile b/Vapor3.1.10/web.Dockerfile similarity index 100% rename from web.Dockerfile rename to Vapor3.1.10/web.Dockerfile diff --git a/app.py b/app.py new file mode 100644 index 0000000..0c5875b --- /dev/null +++ b/app.py @@ -0,0 +1,105 @@ +from flask import Flask, render_template, request, Response +from flask_api import status +from spot import * +import sys + +app = Flask(__name__) + +with open(sys.path[0]+"/secrets", "r") as f: + for i, line in enumerate(f): + if i == 2: + passwd = line[:-1] + +# main smpark.in stuff +@app.route('/', methods=["GET"]) +def home(): + return render_template('home.html') + +@app.route('/welcome', methods=["GET"]) +def welcome(): + return render_template('welcome.html') + +@app.route('/privacy', methods=["GET"]) +def privacy(): + return render_template('privacy.html') + +@app.errorhandler(404) +def fourohfour(e): + return render_template('404.html') + +# ndsspotify stuff +@app.route('/play', methods=["POST"]) +def flaskPlay(): + print(request.headers) + if request.headers['Auth'] == passwd: + spotPP() + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/next', methods=["POST"]) +def flaskNext(): + if request.headers['Auth'] == passwd: + spotNE() + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/prev', methods=["POST"]) +def flaskPrev(): + if request.headers['Auth'] == passwd: + spotPR() + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/shuf', methods=["POST"]) +def flaskShuf(): + if request.headers['Auth'] == passwd: + spotSF() + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/repr', methods=["POST"]) +def flaskRepr(): + if request.headers['Auth'] == passwd: + spotRE() + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/sear', methods=["POST"]) +def flaskSear(): + if request.headers['Auth'] == passwd: + spotSE("track", request.headers['Search-Text']) + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/like', methods=["POST"]) +def flaskLike(): + if request.headers['Auth'] == passwd: + spotLS() + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/disl', methods=['POST']) +def flaskDisl(): + if request.headers['Auth'] == passwd: + spotRL() + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +@app.route('/volu', methods=["POST"]) +def flaskVolu(): + if request.headers['Auth'] == passwd: + spotVL(request.headers['Volume']) + return Response('{"status":"Success"}', status=200, mimetype='application/json') + else: + return Response('{"status":"Incorrect password"}', status=401, mimetype='application/json') + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=5000) \ No newline at end of file diff --git a/spot.py b/spot.py new file mode 100644 index 0000000..184b032 --- /dev/null +++ b/spot.py @@ -0,0 +1,611 @@ +import argparse +import requests +import json as jsn +import urllib.request +import numpy as np +import imgcat +from PIL import Image +import sys +import time +import traceback + +''' +create file called secrets in same folder as spot.py with app token on line 1 and refresh token on line 2 +''' + +def spotAuth(): + f = open(sys.path[0]+"/secrets", "r") + appToken = f.readline()[:-1] + refreshToken = f.readline()[:-1] + tokenURL = "https://accounts.spotify.com/api/token" + + headers = {"Authorization": "Basic "+appToken} + payload = {"grant_type": "refresh_token", "refresh_token": refreshToken} + r = requests.post(tokenURL, headers=headers, data=payload) + + json = r.json() + accessToken = json["access_token"] + return accessToken + + +def spotDevice(headers, caller): + r = requests.get("https://api.spotify.com/v1/me/player/devices", headers=headers) + if r.status_code != 200: + print('Invalid permissions!') + quit() + json = r.json() + deviceid = None + if len(json["devices"]) == 0: + print("No playback devices") + quit() + elif len(json["devices"]) == 1: + deviceid = json["devices"][0]["id"] + devicename = json["devices"][0]["name"] + if caller == "dev": + print("\033[1m\033[92m"+devicename+"\033[0m is only device.") + quit() + elif caller == "vol" or caller == "prev" or caller == "next" or caller == "np" or caller == "play": + for i in json["devices"]: + if i["is_active"] == True: + deviceid = i["id"] + devicename = i["name"] + if deviceid == None: + print("No active device, defaulting to 0") + deviceid = json["devices"][0]["id"] + devicename = json["devices"][0]["name"] + elif caller == "dev": + j = 0 + devicedict = {} + for i in json["devices"]: + if i["is_active"] == False: + print("["+str(j)+"] "+i["name"]) + devicedict.update( {j: [i["name"], i["id"]]}) + j += 1 + choice = input("Choose device: ") + try: + choice = int(choice) + except: + quit() + deviceid = devicedict[choice][1] + devicename = devicedict[choice][0] + else: + for i in range(0,len(json["devices"])): + print("["+str(i)+"] "+json["devices"][i]["name"]) + choice = input("Choose device: ") + try: + choice = int(choice) + except: + quit() + deviceid = json["devices"][choice]["id"] + devicename = json["devices"][choice]["name"] + + devicedict = {} + devicedict.update( {"deviceid": deviceid}) + devicedict.update( {"devicename": devicename}) + return devicedict + + +def spotSK(seekTime): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("Nothing playing") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + durationMS = int(json["item"]["duration_ms"]) + seekMS = durationMS*(seekTime/4) + seekMS = round(seekMS) + + r = requests.put("https://api.spotify.com/v1/me/player/seek?position_ms="+str(seekMS), headers=headers) + if r.status_code == 204: + print("Seeking to "+str((seekMS/1000)/60)+" minutes") + else: + print("Error: HTTP"+str(r.status_code)) + return r.status_code + + +def spotNP(imgcatBool, timeBool): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + + dev = spotDevice(headers, "np") + devicename = dev["devicename"] + + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("Nothing playing") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + try: + json = r.json() + playing = json["is_playing"] + except: + playing = False + + if playing == False: + text = "paused" + elif playing == True: + text = "playing" + + title = json["item"]["name"] + artist = json["item"]["album"]["artists"][0]["name"] + imgurl = json["item"]["album"]["images"][1]["url"] + durationSec = (json["item"]["duration_ms"])/1000 + currentSec = (json["progress_ms"])/1000 + print("\033[95m\033[1m"+title+"\033[0m by ", end='') + print("\033[94m\033[1m"+artist+"\033[0m is "+text+" on ", end='') + print("\033[92m\033[1m"+devicename+"\033[0m") + if (imgcatBool): + im = np.asarray(Image.open(urllib.request.urlopen(imgurl))) + time.sleep(1) + imgcat.imgcat(im) + if (timeBool): + print(str(round(currentSec//60))+":"+(str(round(currentSec%60))).zfill(2)+"/"+str(round(durationSec//60))+":"+(str(round(durationSec%60)).zfill(2))) + return r.status_code + + +def spotSE(context, query): + print(query) + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + payload = {'type': context, 'q': query} + + r = requests.get("https://api.spotify.com/v1/search", params=payload, headers=headers) + if r.status_code == 204: + print("No results") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + try: + if context == "album": + uri = json["albums"]["items"][0]["uri"] + name = json["albums"]["items"][0]["name"] + elif context == "track": + uri = json["tracks"]["items"][0]["uri"] + name = json["tracks"]["items"][0]["name"] + except: + print("Search returned no results") + quit() + + dev = spotDevice(headers, "search") + + if context == "album": + payload = {"context_uri": uri} + else: + payload = {"uris": [uri]} + r = requests.put("https://api.spotify.com/v1/me/player/play?device_id="+dev["deviceid"], headers=headers, data=jsn.dumps(payload)) + if r.status_code == 204: + print("Playing "+context+"\033[1m\033[95m "+name+"\033[0m on \033[1m\033[92m"+dev["devicename"]+"\033[0m.") + else: + print("Unable to play \033[1m\033[95m"+name+"\033[0m.") + return r.status_code + + +def spotSF(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + + r = requests.get("https://api.spotify.com/v1/me/player", headers=headers) + json = r.json() + shuf = json["shuffle_state"] + if shuf == True: + shuf = "false" + elif shuf == False: + shuf = "true" + + r = requests.put("https://api.spotify.com/v1/me/player/shuffle?state="+shuf, headers=headers) + return r.status_code + +def spotRE(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + + r = requests.get("https://api.spotify.com/v1/me/player", headers=headers) + json = r.json() + rep = json["repeat_state"] + if rep == "context": + rep = "off" + elif rep == "off": + rep = "context" + else: + rep = "off" + + r = requests.put("https://api.spotify.com/v1/me/player/repeat?state="+rep, headers=headers) + if r.status_code == 204: + r = requests.get("https://api.spotify.com/v1/me/player", headers=headers) + json = r.json() + currep = json["repeat_state"] + else: + print("Unable to toggle repeat.") + return r.status_code + + +def spotPR(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + + dev = spotDevice(headers, "prev") + + r = requests.post("https://api.spotify.com/v1/me/player/previous", headers=headers) + if r.status_code == 204: + time.sleep(0.5) + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + else: + print("Unable to play \033[1m\033[95m"+trackname+"\033[0m.") + return r.status_code + + +def spotNE(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + + dev = spotDevice(headers, "next") + + r = requests.post("https://api.spotify.com/v1/me/player/next", headers=headers) + if r.status_code == 204: + time.sleep(0.5) + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + else: + print("Unable to play \033[1m\033[95m"+trackname+"\033[0m.") + return r.status_code + + +def spotPP(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + + dev = spotDevice(headers, "play") + + r = requests.get("https://api.spotify.com/v1/me/player", headers=headers) + try: + json = r.json() + playing = json["is_playing"] + except: + playing = False + + if playing == False: + r = requests.put("https://api.spotify.com/v1/me/player/play?device_id="+dev["deviceid"], headers=headers) + if r.status_code == 204: + time.sleep(0.5) + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + elif playing == True: + r = requests.put("https://api.spotify.com/v1/me/player/pause?device_id="+dev["deviceid"], headers=headers) + if r.status_code == 204: + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + quit() + elif r.status_code != 200: + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + return "Success" + + +def spotLS(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("Nothing playing") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + + headers = {"Authorization": "Bearer "+accessToken, "Accept": "application/json", "Content-Type": "application/json"} + r = requests.put("https://api.spotify.com/v1/me/tracks?ids="+trackid, headers=headers) + if r.status_code == 200: + print("Added \033[1m\033[95m"+json["item"]["name"]+"\033[0m to Liked Songs") + else: + print("An error occured, fun") + return r.status_code + +def spotRL(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("Nothing playing") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + + headers = {"Authorization": "Bearer "+accessToken, "Accept": "application/json", "Content-Type": "application/json"} + r = requests.delete("https://api.spotify.com/v1/me/tracks?ids="+trackid, headers=headers) + if r.status_code == 200: + print("Removed \033[1m\033[95m"+json["item"]["name"]+"\033[0m from Liked Songs") + else: + print("An error occured, fun") + + +def spotAP(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("Nothing playing") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + print("Add \033[1m\033[95m"+json["item"]["name"]+"\033[0m to:") + trackname = json["item"]["name"] + trackuri = json["item"]["uri"] + trackuri.replace(":", "%3A") + + r = requests.get("https://api.spotify.com/v1/me", headers=headers) + json = r.json() + userid = json["id"] + + r = requests.get("https://api.spotify.com/v1/me/playlists?limit=50", headers=headers) + json = r.json() + j = 0 + playdict = {} + for i in json["items"]: + if userid == i["owner"]["display_name"]: + print("["+str(j)+"] "+i["name"]) + playdict.update( {j: [i["name"], i["id"]]}) + j += 1 + elif i["collaborative"] == True: + print("["+str(j)+"] "+i["name"]) + playdict.update( {j: [i["name"], i["id"]]}) + j += 1 + choice = input("Select Playlist: ") + try: + choice = int(choice) + except: + quit() + playlistid = playdict[choice][1] + playlistname = playdict[choice][0] + + headers = {"Authorization": "Bearer "+accessToken, "Accept": "application/json", "Content-Type": "application/json"} + r = requests.post("https://api.spotify.com/v1/playlists/"+playlistid+"/tracks?uris="+trackuri, headers=headers) + if r.status_code == 201: + print("Successfully added \033[1m\033[95m"+trackname+"\033[0m to \033[1m\033[96m"+playlistname+"\033[0m") + else: + print("Unable to add song to specified playlist. Do you have access to do so?") + return r.status_code + + +def spotPD(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + + dev = spotDevice(headers, "dev") + + payload = {"device_ids":[dev["deviceid"]]} + r = requests.put("https://api.spotify.com/v1/me/player", headers=headers, data=jsn.dumps(payload)) + if r.status_code == 204: + time.sleep(0.5) + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + print("Playing \033[1m\033[95m"+trackname+"\033[0m on \033[1m\033[92m"+dev["devicename"]+"\033[0m.") + elif r.status_code == 202: + time.sleep(2) + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + print("Playing \033[1m\033[95m"+trackname+"\033[0m on \033[1m\033[92m"+dev["devicename"]+"\033[0m.") + else: + print(r.status_code) + print("Unable to transfer playback.") + + +def spotRP(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("Nothing playing") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + print("Remove \033[1m\033[95m"+json["item"]["name"]+"\033[0m from:") + trackname = json["item"]["name"] + trackuri = json["item"]["uri"] + + r = requests.get("https://api.spotify.com/v1/me", headers=headers) + json = r.json() + userid = json["id"] + + r = requests.get("https://api.spotify.com/v1/me/playlists?limit=50", headers=headers) + json = r.json() + j = 0 + playdict = {} + for i in json["items"]: + if userid == i["owner"]["display_name"]: + print("["+str(j)+"] "+i["name"]) + playdict.update( {j: [i["name"], i["id"]]}) + j += 1 + elif i["collaborative"] == True: + print("["+str(j)+"] "+i["name"]) + playdict.update( {j: [i["name"], i["id"]]}) + j += 1 + choice = input("Select Playlist: ") + try: + choice = int(choice) + except: + quit() + playlistid = playdict[choice][1] + playlistname = playdict[choice][0] + + headers = {"Authorization": "Bearer "+accessToken, "Accept": "application/json", "Content-Type": "application/json"} + payload = { "tracks": [{ "uri": trackuri }] } + r = requests.delete("https://api.spotify.com/v1/playlists/"+playlistid+"/tracks", headers=headers, data=jsn.dumps(payload)) + if r.status_code == 200: + print("If \033[1m\033[95m"+trackname+"\033[0m was in \033[1m\033[96m"+playlistname+"\033[0m it has been removed.") + else: + print("Unable to remove song from specified playlist. Do you have access to do so?") + return r.status_code + + +def spotPL(): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + print("Play:") + + r = requests.get("https://api.spotify.com/v1/me/playlists?limit=50", headers=headers) + json = r.json() + j = 0 + playdict = {} + for i in json["items"]: + print("["+str(j)+"] "+i["name"]) + playdict.update( {j: [i["name"], i["id"]]}) + j += 1 + choice = input("Select Playlist: ") + try: + choice = int(choice) + except: + quit() + playlistid = playdict[choice][1] + playlistname = playdict[choice][0] + + dev = spotDevice(headers, "playlist play") + + payload = {"context_uri": "spotify:playlist:"+playlistid} + r = requests.put("https://api.spotify.com/v1/me/player/play?device_id="+dev["deviceid"], headers=headers, data=jsn.dumps(payload)) + if r.status_code == 204: + time.sleep(0.5) + r = requests.get("https://api.spotify.com/v1/me/player/currently-playing", headers=headers) + if r.status_code == 204: + print("No active playback session") + quit() + elif r.status_code != 200: + print("Error: HTTP"+str(r.status_code)) + quit() + json = r.json() + trackname = json["item"]["name"] + trackid = json["item"]["id"] + print("Playing \033[1m\033[95m"+trackname+"\033[0m on \033[1m\033[92m"+dev["devicename"]+"\033[0m.") + else: + print("Unable to play \033[1m\033[95m"+trackname+"\033[0m.") + return r.status_code + + +def spotVL(vol): + accessToken = spotAuth() + headers = {"Authorization": "Bearer "+accessToken} + + dev = spotDevice(headers, "vol") + + r = requests.get("https://api.spotify.com/v1/me/player", headers=headers) + print(r) + json = r.json() + curVol = json["device"]["volume_percent"] + curVol = int(curVol) + + if vol == "up": + vol = (curVol+10) + if vol > 100: + vol = 100 + elif vol == "down": + vol = (curVol-10) + if vol < 0: + vol = 0 + + r = requests.put("https://api.spotify.com/v1/me/player/volume?volume_percent="+str(vol), headers=headers) + if r.status_code == 204: + print("Volume on \033[1m\033[92m"+dev["devicename"]+"\033[0m set to "+str(vol)) + else: + json = r.json() + reason = json["error"]["reason"] + if reason == "VOLUME_CONTROL_DISALLOW": + print("Device \033[1m\033[92m"+dev["devicename"]+"\033[0m does not allow volume to be controlled through API") + else: + print("No active playback devices") + return r.status_code diff --git a/static/StephenParkinsonResume.pdf b/static/StephenParkinsonResume.pdf new file mode 100644 index 0000000..38823fa Binary files /dev/null and b/static/StephenParkinsonResume.pdf differ diff --git a/static/css/404style.css b/static/css/404style.css new file mode 100644 index 0000000..393507b --- /dev/null +++ b/static/css/404style.css @@ -0,0 +1,96 @@ +* { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +body { + padding: 0; + margin: 0; +} + +#notfound { + position: relative; + height: 100vh; +} + +#notfound .notfound { + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +.notfound { + max-width: 410px; + width: 100%; + text-align: center; +} + +.notfound .notfound-404 { + height: 280px; + position: relative; + z-index: -1; +} + +.notfound .notfound-404 h1 { + font-family: 'Montserrat', sans-serif; + font-size: 230px; + margin: 0px; + font-weight: 900; + position: absolute; + left: 50%; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); + background: url('../img/bg.jpg') no-repeat; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-size: cover; + background-position: center; +} + + +.notfound h2 { + font-family: 'Montserrat', sans-serif; + color: #000; + font-size: 24px; + font-weight: 700; + text-transform: uppercase; + margin-top: 0; +} + +.notfound p { + font-family: 'Montserrat', sans-serif; + color: #000; + font-size: 14px; + font-weight: 400; + margin-bottom: 20px; + margin-top: 0px; +} + +.notfound a { + font-family: 'Montserrat', sans-serif; + font-size: 14px; + text-decoration: none; + text-transform: uppercase; + background: #0046d5; + display: inline-block; + padding: 15px 30px; + border-radius: 40px; + color: #fff; + font-weight: 700; + -webkit-box-shadow: 0px 4px 15px -5px #0046d5; + box-shadow: 0px 4px 15px -5px #0046d5; +} + + +@media only screen and (max-width: 767px) { + .notfound .notfound-404 { + height: 142px; + } + .notfound .notfound-404 h1 { + font-size: 112px; + } +} diff --git a/static/css/animate.css b/static/css/animate.css new file mode 100644 index 0000000..8b9edcb --- /dev/null +++ b/static/css/animate.css @@ -0,0 +1,3288 @@ +@charset "UTF-8"; + +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.bounceIn, +.animated.bounceOut { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +.animated.flipOutX, +.animated.flipOutY { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounce { + from, 20%, 53%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +@keyframes bounce { + from, 20%, 53%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + from, 50%, to { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + from, 50%, to { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + from, to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + from, to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + from { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes wobble { + from { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes jello { + from, 11.1%, to { + -webkit-transform: none; + transform: none; + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +@keyframes jello { + from, 11.1%, to { + -webkit-transform: none; + transform: none; + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +.jello { + -webkit-animation-name: jello; + animation-name: jello; + -webkit-transform-origin: center; + transform-origin: center; +} + +@-webkit-keyframes bounceIn { + from, 20%, 40%, 60%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + from, 20%, 40%, 60%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInLeft { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInRight { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + /*-webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0);*/ + -webkit-transform: translate3d(0, -50px, 0); + transform: translate3d(0, -50px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + /*-webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0);*/ + -webkit-transform: translate3d(0, -50px, 0); + transform: translate3d(0, -50px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + from { + opacity: 0; + /*-webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0);*/ + -webkit-transform: translate3d(-50px, 0, 0); + transform: translate3d(-50px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + /*-webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0);*/ + -webkit-transform: translate3d(-50px, 0, 0); + transform: translate3d(-50px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + from { + opacity: 0; + /*-webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0);*/ + -webkit-transform: translate3d(50px, 0, 0); + transform: translate3d(50px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + /*-webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0);*/ + -webkit-transform: translate3d(50px, 0, 0); + transform: translate3d(50px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + from { + opacity: 0; + /*-webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0);*/ + -webkit-transform: translate3d(0, 40px, 0); + transform: translate3d(0, 40px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + /*-webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0);*/ + -webkit-transform: translate3d(0, 40px, 0); + transform: translate3d(0, 40px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 40px, 0); + transform: translate3d(0, 40px, 0); + } +} + +@keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 40px, 0); + transform: translate3d(0, 40px, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; +} + +@-webkit-keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + to { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + to { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + to { + opacity: 0; + } +} + +@keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + to { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} + +@-webkit-keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp; +} + +@-webkit-keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown; +} + +@-webkit-keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} \ No newline at end of file diff --git a/static/css/bootstrap.css b/static/css/bootstrap.css new file mode 100644 index 0000000..168435e --- /dev/null +++ b/static/css/bootstrap.css @@ -0,0 +1,6257 @@ +@charset "UTF-8"; +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +a { + background-color: transparent; +} + +a:active, +a:hover { + outline: 0; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +mark { + background: #ff0; + color: #000; +} + +small { + font-size: 80%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} + +button { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input { + line-height: normal; +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +legend { + border: 0; + padding: 0; +} + +textarea { + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + .navbar { + display: none; + } + + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + + .label { + border: 1px solid #000; + } + + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; +} + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857; + color: #333333; + background-color: #fff; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +a { + color: #337ab7; + text-decoration: none; +} +a:hover, a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +figure { + margin: 0; +} + +img { + vertical-align: middle; +} + +.img-responsive { + display: block; + max-width: 100%; + height: auto; +} + +.img-rounded { + border-radius: 6px; +} + +.img-thumbnail { + padding: 4px; + line-height: 1.42857; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} + +.img-circle { + border-radius: 50%; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} + +[role="button"] { + cursor: pointer; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h1 .small, h2 small, +h2 .small, h3 small, +h3 .small, h4 small, +h4 .small, h5 small, +h5 .small, h6 small, +h6 .small, +.h1 small, +.h1 .small, .h2 small, +.h2 .small, .h3 small, +.h3 .small, .h4 small, +.h4 .small, .h5 small, +.h5 .small, .h6 small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} + +h1, .h1, +h2, .h2, +h3, .h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +h1 .small, .h1 small, +.h1 .small, +h2 small, +h2 .small, .h2 small, +.h2 .small, +h3 small, +h3 .small, .h3 small, +.h3 .small { + font-size: 65%; +} + +h4, .h4, +h5, .h5, +h6, .h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +h4 .small, .h4 small, +.h4 .small, +h5 small, +h5 .small, .h5 small, +.h5 .small, +h6 small, +h6 .small, .h6 small, +.h6 .small { + font-size: 75%; +} + +h1, .h1 { + font-size: 36px; +} + +h2, .h2 { + font-size: 30px; +} + +h3, .h3 { + font-size: 24px; +} + +h4, .h4 { + font-size: 18px; +} + +h5, .h5 { + font-size: 14px; +} + +h6, .h6 { + font-size: 12px; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} + +small, +.small { + font-size: 85%; +} + +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +.text-justify { + text-align: justify; +} + +.text-nowrap { + white-space: nowrap; +} + +.text-lowercase { + text-transform: lowercase; +} + +.text-uppercase, .initialism { + text-transform: uppercase; +} + +.text-capitalize { + text-transform: capitalize; +} + +.text-muted { + color: #777777; +} + +.text-primary { + color: #337ab7; +} + +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} + +.text-success { + color: #3c763d; +} + +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} + +.text-info { + color: #31708f; +} + +a.text-info:hover, +a.text-info:focus { + color: #245269; +} + +.text-warning { + color: #8a6d3b; +} + +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} + +.text-danger { + color: #a94442; +} + +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} + +.bg-primary { + color: #fff; +} + +.bg-primary { + background-color: #337ab7; +} + +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} + +.bg-success { + background-color: #dff0d8; +} + +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} + +.bg-info { + background-color: #d9edf7; +} + +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} + +.bg-warning { + background-color: #fcf8e3; +} + +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} + +.bg-danger { + background-color: #f2dede; +} + +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ul ol, +ol ul, +ol ol { + margin-bottom: 0; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} + +dl { + margin-top: 0; + margin-bottom: 20px; +} + +dt, +dd { + line-height: 1.42857; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 0; +} + +.dl-horizontal dd:before, .dl-horizontal dd:after { + content: " "; + display: table; +} +.dl-horizontal dd:after { + clear: both; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} + +.initialism { + font-size: 90%; +} + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} + +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +.blockquote-reverse small:before, +.blockquote-reverse .small:before, +blockquote.pull-right footer:before, +blockquote.pull-right small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +.blockquote-reverse small:after, +.blockquote-reverse .small:after, +blockquote.pull-right footer:after, +blockquote.pull-right small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} + +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857; +} + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} + +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.container:before, .container:after { + content: " "; + display: table; +} +.container:after { + clear: both; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} + +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.container-fluid:before, .container-fluid:after { + content: " "; + display: table; +} +.container-fluid:after { + clear: both; +} + +.row { + margin-left: -15px; + margin-right: -15px; +} +.row:before, .row:after { + content: " "; + display: table; +} +.row:after { + clear: both; +} + +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} + +.col-xs-1 { + width: 8.33333%; +} + +.col-xs-2 { + width: 16.66667%; +} + +.col-xs-3 { + width: 25%; +} + +.col-xs-4 { + width: 33.33333%; +} + +.col-xs-5 { + width: 41.66667%; +} + +.col-xs-6 { + width: 50%; +} + +.col-xs-7 { + width: 58.33333%; +} + +.col-xs-8 { + width: 66.66667%; +} + +.col-xs-9 { + width: 75%; +} + +.col-xs-10 { + width: 83.33333%; +} + +.col-xs-11 { + width: 91.66667%; +} + +.col-xs-12 { + width: 100%; +} + +.col-xs-pull-0 { + right: auto; +} + +.col-xs-pull-1 { + right: 8.33333%; +} + +.col-xs-pull-2 { + right: 16.66667%; +} + +.col-xs-pull-3 { + right: 25%; +} + +.col-xs-pull-4 { + right: 33.33333%; +} + +.col-xs-pull-5 { + right: 41.66667%; +} + +.col-xs-pull-6 { + right: 50%; +} + +.col-xs-pull-7 { + right: 58.33333%; +} + +.col-xs-pull-8 { + right: 66.66667%; +} + +.col-xs-pull-9 { + right: 75%; +} + +.col-xs-pull-10 { + right: 83.33333%; +} + +.col-xs-pull-11 { + right: 91.66667%; +} + +.col-xs-pull-12 { + right: 100%; +} + +.col-xs-push-0 { + left: auto; +} + +.col-xs-push-1 { + left: 8.33333%; +} + +.col-xs-push-2 { + left: 16.66667%; +} + +.col-xs-push-3 { + left: 25%; +} + +.col-xs-push-4 { + left: 33.33333%; +} + +.col-xs-push-5 { + left: 41.66667%; +} + +.col-xs-push-6 { + left: 50%; +} + +.col-xs-push-7 { + left: 58.33333%; +} + +.col-xs-push-8 { + left: 66.66667%; +} + +.col-xs-push-9 { + left: 75%; +} + +.col-xs-push-10 { + left: 83.33333%; +} + +.col-xs-push-11 { + left: 91.66667%; +} + +.col-xs-push-12 { + left: 100%; +} + +.col-xs-offset-0 { + margin-left: 0%; +} + +.col-xs-offset-1 { + margin-left: 8.33333%; +} + +.col-xs-offset-2 { + margin-left: 16.66667%; +} + +.col-xs-offset-3 { + margin-left: 25%; +} + +.col-xs-offset-4 { + margin-left: 33.33333%; +} + +.col-xs-offset-5 { + margin-left: 41.66667%; +} + +.col-xs-offset-6 { + margin-left: 50%; +} + +.col-xs-offset-7 { + margin-left: 58.33333%; +} + +.col-xs-offset-8 { + margin-left: 66.66667%; +} + +.col-xs-offset-9 { + margin-left: 75%; +} + +.col-xs-offset-10 { + margin-left: 83.33333%; +} + +.col-xs-offset-11 { + margin-left: 91.66667%; +} + +.col-xs-offset-12 { + margin-left: 100%; +} + +@media (min-width: 768px) { + .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 { + float: left; + } + + .col-sm-1 { + width: 8.33333%; + } + + .col-sm-2 { + width: 16.66667%; + } + + .col-sm-3 { + width: 25%; + } + + .col-sm-4 { + width: 33.33333%; + } + + .col-sm-5 { + width: 41.66667%; + } + + .col-sm-6 { + width: 50%; + } + + .col-sm-7 { + width: 58.33333%; + } + + .col-sm-8 { + width: 66.66667%; + } + + .col-sm-9 { + width: 75%; + } + + .col-sm-10 { + width: 83.33333%; + } + + .col-sm-11 { + width: 91.66667%; + } + + .col-sm-12 { + width: 100%; + } + + .col-sm-pull-0 { + right: auto; + } + + .col-sm-pull-1 { + right: 8.33333%; + } + + .col-sm-pull-2 { + right: 16.66667%; + } + + .col-sm-pull-3 { + right: 25%; + } + + .col-sm-pull-4 { + right: 33.33333%; + } + + .col-sm-pull-5 { + right: 41.66667%; + } + + .col-sm-pull-6 { + right: 50%; + } + + .col-sm-pull-7 { + right: 58.33333%; + } + + .col-sm-pull-8 { + right: 66.66667%; + } + + .col-sm-pull-9 { + right: 75%; + } + + .col-sm-pull-10 { + right: 83.33333%; + } + + .col-sm-pull-11 { + right: 91.66667%; + } + + .col-sm-pull-12 { + right: 100%; + } + + .col-sm-push-0 { + left: auto; + } + + .col-sm-push-1 { + left: 8.33333%; + } + + .col-sm-push-2 { + left: 16.66667%; + } + + .col-sm-push-3 { + left: 25%; + } + + .col-sm-push-4 { + left: 33.33333%; + } + + .col-sm-push-5 { + left: 41.66667%; + } + + .col-sm-push-6 { + left: 50%; + } + + .col-sm-push-7 { + left: 58.33333%; + } + + .col-sm-push-8 { + left: 66.66667%; + } + + .col-sm-push-9 { + left: 75%; + } + + .col-sm-push-10 { + left: 83.33333%; + } + + .col-sm-push-11 { + left: 91.66667%; + } + + .col-sm-push-12 { + left: 100%; + } + + .col-sm-offset-0 { + margin-left: 0%; + } + + .col-sm-offset-1 { + margin-left: 8.33333%; + } + + .col-sm-offset-2 { + margin-left: 16.66667%; + } + + .col-sm-offset-3 { + margin-left: 25%; + } + + .col-sm-offset-4 { + margin-left: 33.33333%; + } + + .col-sm-offset-5 { + margin-left: 41.66667%; + } + + .col-sm-offset-6 { + margin-left: 50%; + } + + .col-sm-offset-7 { + margin-left: 58.33333%; + } + + .col-sm-offset-8 { + margin-left: 66.66667%; + } + + .col-sm-offset-9 { + margin-left: 75%; + } + + .col-sm-offset-10 { + margin-left: 83.33333%; + } + + .col-sm-offset-11 { + margin-left: 91.66667%; + } + + .col-sm-offset-12 { + margin-left: 100%; + } +} +@media (min-width: 992px) { + .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 { + float: left; + } + + .col-md-1 { + width: 8.33333%; + } + + .col-md-2 { + width: 16.66667%; + } + + .col-md-3 { + width: 25%; + } + + .col-md-4 { + width: 33.33333%; + } + + .col-md-5 { + width: 41.66667%; + } + + .col-md-6 { + width: 50%; + } + + .col-md-7 { + width: 58.33333%; + } + + .col-md-8 { + width: 66.66667%; + } + + .col-md-9 { + width: 75%; + } + + .col-md-10 { + width: 83.33333%; + } + + .col-md-11 { + width: 91.66667%; + } + + .col-md-12 { + width: 100%; + } + + .col-md-pull-0 { + right: auto; + } + + .col-md-pull-1 { + right: 8.33333%; + } + + .col-md-pull-2 { + right: 16.66667%; + } + + .col-md-pull-3 { + right: 25%; + } + + .col-md-pull-4 { + right: 33.33333%; + } + + .col-md-pull-5 { + right: 41.66667%; + } + + .col-md-pull-6 { + right: 50%; + } + + .col-md-pull-7 { + right: 58.33333%; + } + + .col-md-pull-8 { + right: 66.66667%; + } + + .col-md-pull-9 { + right: 75%; + } + + .col-md-pull-10 { + right: 83.33333%; + } + + .col-md-pull-11 { + right: 91.66667%; + } + + .col-md-pull-12 { + right: 100%; + } + + .col-md-push-0 { + left: auto; + } + + .col-md-push-1 { + left: 8.33333%; + } + + .col-md-push-2 { + left: 16.66667%; + } + + .col-md-push-3 { + left: 25%; + } + + .col-md-push-4 { + left: 33.33333%; + } + + .col-md-push-5 { + left: 41.66667%; + } + + .col-md-push-6 { + left: 50%; + } + + .col-md-push-7 { + left: 58.33333%; + } + + .col-md-push-8 { + left: 66.66667%; + } + + .col-md-push-9 { + left: 75%; + } + + .col-md-push-10 { + left: 83.33333%; + } + + .col-md-push-11 { + left: 91.66667%; + } + + .col-md-push-12 { + left: 100%; + } + + .col-md-offset-0 { + margin-left: 0%; + } + + .col-md-offset-1 { + margin-left: 8.33333%; + } + + .col-md-offset-2 { + margin-left: 16.66667%; + } + + .col-md-offset-3 { + margin-left: 25%; + } + + .col-md-offset-4 { + margin-left: 33.33333%; + } + + .col-md-offset-5 { + margin-left: 41.66667%; + } + + .col-md-offset-6 { + margin-left: 50%; + } + + .col-md-offset-7 { + margin-left: 58.33333%; + } + + .col-md-offset-8 { + margin-left: 66.66667%; + } + + .col-md-offset-9 { + margin-left: 75%; + } + + .col-md-offset-10 { + margin-left: 83.33333%; + } + + .col-md-offset-11 { + margin-left: 91.66667%; + } + + .col-md-offset-12 { + margin-left: 100%; + } +} +@media (min-width: 1200px) { + .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 { + float: left; + } + + .col-lg-1 { + width: 8.33333%; + } + + .col-lg-2 { + width: 16.66667%; + } + + .col-lg-3 { + width: 25%; + } + + .col-lg-4 { + width: 33.33333%; + } + + .col-lg-5 { + width: 41.66667%; + } + + .col-lg-6 { + width: 50%; + } + + .col-lg-7 { + width: 58.33333%; + } + + .col-lg-8 { + width: 66.66667%; + } + + .col-lg-9 { + width: 75%; + } + + .col-lg-10 { + width: 83.33333%; + } + + .col-lg-11 { + width: 91.66667%; + } + + .col-lg-12 { + width: 100%; + } + + .col-lg-pull-0 { + right: auto; + } + + .col-lg-pull-1 { + right: 8.33333%; + } + + .col-lg-pull-2 { + right: 16.66667%; + } + + .col-lg-pull-3 { + right: 25%; + } + + .col-lg-pull-4 { + right: 33.33333%; + } + + .col-lg-pull-5 { + right: 41.66667%; + } + + .col-lg-pull-6 { + right: 50%; + } + + .col-lg-pull-7 { + right: 58.33333%; + } + + .col-lg-pull-8 { + right: 66.66667%; + } + + .col-lg-pull-9 { + right: 75%; + } + + .col-lg-pull-10 { + right: 83.33333%; + } + + .col-lg-pull-11 { + right: 91.66667%; + } + + .col-lg-pull-12 { + right: 100%; + } + + .col-lg-push-0 { + left: auto; + } + + .col-lg-push-1 { + left: 8.33333%; + } + + .col-lg-push-2 { + left: 16.66667%; + } + + .col-lg-push-3 { + left: 25%; + } + + .col-lg-push-4 { + left: 33.33333%; + } + + .col-lg-push-5 { + left: 41.66667%; + } + + .col-lg-push-6 { + left: 50%; + } + + .col-lg-push-7 { + left: 58.33333%; + } + + .col-lg-push-8 { + left: 66.66667%; + } + + .col-lg-push-9 { + left: 75%; + } + + .col-lg-push-10 { + left: 83.33333%; + } + + .col-lg-push-11 { + left: 91.66667%; + } + + .col-lg-push-12 { + left: 100%; + } + + .col-lg-offset-0 { + margin-left: 0%; + } + + .col-lg-offset-1 { + margin-left: 8.33333%; + } + + .col-lg-offset-2 { + margin-left: 16.66667%; + } + + .col-lg-offset-3 { + margin-left: 25%; + } + + .col-lg-offset-4 { + margin-left: 33.33333%; + } + + .col-lg-offset-5 { + margin-left: 41.66667%; + } + + .col-lg-offset-6 { + margin-left: 50%; + } + + .col-lg-offset-7 { + margin-left: 58.33333%; + } + + .col-lg-offset-8 { + margin-left: 66.66667%; + } + + .col-lg-offset-9 { + margin-left: 75%; + } + + .col-lg-offset-10 { + margin-left: 83.33333%; + } + + .col-lg-offset-11 { + margin-left: 91.66667%; + } + + .col-lg-offset-12 { + margin-left: 100%; + } +} +table { + background-color: transparent; +} + +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} + +th { + text-align: left; +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > thead > tr > td, +.table > tbody > tr > th, +.table > tbody > tr > td, +.table > tfoot > tr > th, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > th, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} + +.table-condensed > thead > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > th, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > th, +.table-condensed > tfoot > tr > td { + padding: 5px; +} + +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > th, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > th, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} + +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} + +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} + +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} + +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} + +.table > thead > tr > td.active, +.table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, +.table > tbody > tr > td.active, +.table > tbody > tr > th.active, +.table > tbody > tr.active > td, +.table > tbody > tr.active > th, +.table > tfoot > tr > td.active, +.table > tfoot > tr > th.active, +.table > tfoot > tr.active > td, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} + +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} + +.table > thead > tr > td.success, +.table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, +.table > tbody > tr > td.success, +.table > tbody > tr > th.success, +.table > tbody > tr.success > td, +.table > tbody > tr.success > th, +.table > tfoot > tr > td.success, +.table > tfoot > tr > th.success, +.table > tfoot > tr.success > td, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} + +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} + +.table > thead > tr > td.info, +.table > thead > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, +.table > tbody > tr > td.info, +.table > tbody > tr > th.info, +.table > tbody > tr.info > td, +.table > tbody > tr.info > th, +.table > tfoot > tr > td.info, +.table > tfoot > tr > th.info, +.table > tfoot > tr.info > td, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} + +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} + +.table > thead > tr > td.warning, +.table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, +.table > tbody > tr > td.warning, +.table > tbody > tr > th.warning, +.table > tbody > tr.warning > td, +.table > tbody > tr.warning > th, +.table > tfoot > tr > td.warning, +.table > tfoot > tr > th.warning, +.table > tfoot > tr.warning > td, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} + +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} + +.table > thead > tr > td.danger, +.table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, +.table > tbody > tr > td.danger, +.table > tbody > tr > th.danger, +.table > tbody > tr.danger > td, +.table > tbody > tr.danger > th, +.table > tfoot > tr > td.danger, +.table > tfoot > tr > th.danger, +.table > tfoot > tr.danger > td, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} + +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} + +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} + +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} + +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} + +input[type="file"] { + display: block; +} + +input[type="range"] { + display: block; + width: 100%; +} + +select[multiple], +select[size] { + height: auto; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +output { + display: block; + padding-top: 11px; + font-size: 14px; + line-height: 1.42857; + color: #555555; +} + +.form-control { + display: block; + width: 100%; + height: 42px; + padding: 10px 20px; + font-size: 14px; + line-height: 1.42857; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -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); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], fieldset[disabled] .form-control { + cursor: not-allowed; +} + +textarea.form-control { + height: auto; +} + +input[type="search"] { + -webkit-appearance: none; +} + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 42px; + } + input[type="date"].input-sm, .input-group-sm > input[type="date"].form-control, + .input-group-sm > input[type="date"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="date"].btn, .input-group-sm input[type="date"], + input[type="time"].input-sm, + .input-group-sm > input[type="time"].form-control, + .input-group-sm > input[type="time"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="time"].btn, .input-group-sm + input[type="time"], + input[type="datetime-local"].input-sm, + .input-group-sm > input[type="datetime-local"].form-control, + .input-group-sm > input[type="datetime-local"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="datetime-local"].btn, .input-group-sm + input[type="datetime-local"], + input[type="month"].input-sm, + .input-group-sm > input[type="month"].form-control, + .input-group-sm > input[type="month"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="month"].btn, .input-group-sm + input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, .input-group-lg > input[type="date"].form-control, + .input-group-lg > input[type="date"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="date"].btn, .input-group-lg input[type="date"], + input[type="time"].input-lg, + .input-group-lg > input[type="time"].form-control, + .input-group-lg > input[type="time"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="time"].btn, .input-group-lg + input[type="time"], + input[type="datetime-local"].input-lg, + .input-group-lg > input[type="datetime-local"].form-control, + .input-group-lg > input[type="datetime-local"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="datetime-local"].btn, .input-group-lg + input[type="datetime-local"], + input[type="month"].input-lg, + .input-group-lg > input[type="month"].form-control, + .input-group-lg > input[type="month"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="month"].btn, .input-group-lg + input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} + +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} + +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} + +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} + +input[type="radio"][disabled], input[type="radio"].disabled, fieldset[disabled] input[type="radio"], +input[type="checkbox"][disabled], +input[type="checkbox"].disabled, fieldset[disabled] +input[type="checkbox"] { + cursor: not-allowed; +} + +.radio-inline.disabled, fieldset[disabled] .radio-inline, +.checkbox-inline.disabled, fieldset[disabled] +.checkbox-inline { + cursor: not-allowed; +} + +.radio.disabled label, fieldset[disabled] .radio label, +.checkbox.disabled label, fieldset[disabled] +.checkbox label { + cursor: not-allowed; +} + +.form-control-static { + padding-top: 11px; + padding-bottom: 11px; + margin-bottom: 0; + min-height: 34px; +} +.form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, +.input-group-lg > .form-control-static.input-group-addon, +.input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, +.input-group-sm > .form-control-static.input-group-addon, +.input-group-sm > .input-group-btn > .form-control-static.btn { + padding-left: 0; + padding-right: 0; +} + +.input-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 20px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-sm, .input-group-sm > select.form-control, +.input-group-sm > select.input-group-addon, +.input-group-sm > .input-group-btn > select.btn { + height: 30px; + line-height: 30px; +} + +textarea.input-sm, .input-group-sm > textarea.form-control, +.input-group-sm > textarea.input-group-addon, +.input-group-sm > .input-group-btn > textarea.btn, +select[multiple].input-sm, +.input-group-sm > select[multiple].form-control, +.input-group-sm > select[multiple].input-group-addon, +.input-group-sm > .input-group-btn > select[multiple].btn { + height: auto; +} + +.form-group-sm .form-control { + height: 30px; + padding: 5px 20px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 20px; + font-size: 12px; + line-height: 1.5; +} + +.input-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 20px; + font-size: 18px; + line-height: 1.33333; + border-radius: 6px; +} + +select.input-lg, .input-group-lg > select.form-control, +.input-group-lg > select.input-group-addon, +.input-group-lg > .input-group-btn > select.btn { + height: 46px; + line-height: 46px; +} + +textarea.input-lg, .input-group-lg > textarea.form-control, +.input-group-lg > textarea.input-group-addon, +.input-group-lg > .input-group-btn > textarea.btn, +select[multiple].input-lg, +.input-group-lg > select[multiple].form-control, +.input-group-lg > select[multiple].input-group-addon, +.input-group-lg > .input-group-btn > select[multiple].btn { + height: auto; +} + +.form-group-lg .form-control { + height: 46px; + padding: 10px 20px; + font-size: 18px; + line-height: 1.33333; + border-radius: 6px; +} +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 20px; + font-size: 18px; + line-height: 1.33333; +} + +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 52.5px; +} + +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + pointer-events: none; +} + +.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, +.input-group-lg > .input-group-addon + .form-control-feedback, +.input-group-lg > .input-group-btn > .btn + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} + +.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, +.input-group-sm > .input-group-addon + .form-control-feedback, +.input-group-sm > .input-group-btn > .btn + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} + +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -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); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} + +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -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); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} + +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -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); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} + +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} + +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 11px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 31px; +} +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; +} +.form-horizontal .form-group:before, .form-horizontal .form-group:after { + content: " "; + display: table; +} +.form-horizontal .form-group:after { + clear: both; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 11px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.33333px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} + +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 10px 20px; + font-size: 14px; + line-height: 1.42857; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, .btn:focus, .btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, .btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, .btn[disabled], fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} + +a.btn.disabled, fieldset[disabled] a.btn { + pointer-events: none; +} + +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, .btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus, .open > .btn-default.dropdown-toggle:hover, .open > .btn-default.dropdown-toggle:focus, .open > .btn-default.dropdown-toggle.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { + background-image: none; +} +.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} + +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, .open > .btn-primary.dropdown-toggle:hover, .open > .btn-primary.dropdown-toggle:focus, .open > .btn-primary.dropdown-toggle.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { + background-image: none; +} +.btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} + +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, .open > .btn-success.dropdown-toggle:hover, .open > .btn-success.dropdown-toggle:focus, .open > .btn-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { + background-image: none; +} +.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} + +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, .open > .btn-info.dropdown-toggle:hover, .open > .btn-info.dropdown-toggle:focus, .open > .btn-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { + background-image: none; +} +.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} + +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, .btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, .open > .btn-warning.dropdown-toggle:hover, .open > .btn-warning.dropdown-toggle:focus, .open > .btn-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { + background-image: none; +} +.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} + +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, .open > .btn-danger.dropdown-toggle:hover, .open > .btn-danger.dropdown-toggle:focus, .open > .btn-danger.dropdown-toggle.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { + background-image: none; +} +.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} + +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { + border-color: transparent; +} +.btn-link:hover, .btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 10px 20px; + font-size: 18px; + line-height: 1.33333; + border-radius: 6px; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 5px 20px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-xs, .btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} + +.collapse { + display: none; +} +.collapse.in { + display: block; +} + +tr.collapse.in { + display: table-row; +} + +tbody.collapse.in { + display: table-row-group; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} + +.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} + +.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} + +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} + +.dropdown-menu-right { + left: auto; + right: 0; +} + +.dropdown-menu-left { + left: 0; + right: auto; +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857; + color: #777777; + white-space: nowrap; +} + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 2; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} + +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar:before, .btn-toolbar:after { + content: " "; + display: table; +} +.btn-toolbar:after { + clear: both; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group > .btn-group { + float: left; +} + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} + +.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn .caret { + margin-left: 0; +} + +.btn-lg .caret, .btn-group-lg > .btn .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} + +.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { + border-width: 0 5px 5px; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { + content: " "; + display: table; +} +.btn-group-vertical > .btn-group:after { + clear: both; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-bottom-left-radius: 4px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} + +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} + +.input-group-addon { + padding: 10px 20px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 5px 20px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 10px 20px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} + +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +.input-group-addon:first-child { + border-right: 0; +} + +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.input-group-addon:last-child { + border-left: 0; +} + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} + +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav:before, .nav:after { + content: " "; + display: table; +} +.nav:after { + clear: both; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, .nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, .nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, .nav .open > a:hover, .nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} + +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} + +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} + +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} + +.nav-justified, .nav-tabs.nav-justified { + width: 100%; +} +.nav-justified > li, .nav-tabs.nav-justified > li { + float: none; +} +.nav-justified > li > a, .nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li, .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} + +.nav-tabs-justified, .nav-tabs.nav-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar { + position: relative; + min-height: 55px; + margin-bottom: 20px; + border: 1px solid transparent; +} +.navbar:before, .navbar:after { + content: " "; + display: table; +} +.navbar:after { + clear: both; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} + +.navbar-header:before, .navbar-header:after { + content: " "; + display: table; +} +.navbar-header:after { + clear: both; +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} + +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse:before, .navbar-collapse:after { + content: " "; + display: table; +} +.navbar-collapse:after { + clear: both; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} + +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} + +.container > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-header, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-header, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} + +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} + +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} + +.navbar-brand { + float: left; + padding: 17.5px 15px; + font-size: 18px; + line-height: 20px; + height: 55px; +} +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} + +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 10.5px; + margin-bottom: 10.5px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} + +.navbar-nav { + margin: 8.75px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 17.5px; + padding-bottom: 17.5px; + } +} + +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 6.5px; + margin-bottom: 6.5px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.navbar-btn { + margin-top: 6.5px; + margin-bottom: 6.5px; +} +.navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { + margin-top: 12.5px; + margin-bottom: 12.5px; +} +.navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { + margin-top: 16.5px; + margin-bottom: 16.5px; +} + +.navbar-text { + margin-top: 17.5px; + margin-bottom: 17.5px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } +} + +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, .navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} + +.navbar-inverse { + background-color: #222; + border-color: #090909; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #090909; +} +.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { + background-color: #090909; + color: #fff; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #090909; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #090909; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #090909; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/ "; + padding: 0 5px; + color: #ccc; +} +.breadcrumb > .active { + color: #777777; +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 10px 20px; + line-height: 1.42857; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pagination > li > a:hover, .pagination > li > a:focus, +.pagination > li > span:hover, +.pagination > li > span:focus { + z-index: 3; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, +.pagination > .active > span, +.pagination > .active > span:hover, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 20px; + font-size: 18px; + line-height: 1.33333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; +} + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 20px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} + +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; +} +.pager:before, .pager:after { + content: " "; + display: table; +} +.pager:after { + clear: both; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} + +a.label:hover, a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} + +.label-default { + background-color: #777777; +} +.label-default[href]:hover, .label-default[href]:focus { + background-color: #5e5e5e; +} + +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, .label-primary[href]:focus { + background-color: #286090; +} + +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, .label-success[href]:focus { + background-color: #449d44; +} + +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, .label-info[href]:focus { + background-color: #31b0d5; +} + +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, .label-warning[href]:focus { + background-color: #ec971f; +} + +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, .label-danger[href]:focus { + background-color: #c9302c; +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, .btn-group-xs > .btn .badge, .btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +.list-group-item.active > .badge, .nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} + +a.badge:hover, a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} + +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, .container-fluid .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} + +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + display: block; + max-width: 100%; + height: auto; + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; + color: #333333; +} + +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} + +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} + +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} + +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} + +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} + +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} + +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} + +.media, +.media-body { + zoom: 1; + overflow: hidden; +} + +.media-body { + width: 10000px; +} + +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} + +.media-right, +.media > .pull-right { + padding-left: 10px; +} + +.media-left, +.media > .pull-left { + padding-right: 10px; +} + +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} + +.media-middle { + vertical-align: middle; +} + +.media-bottom { + vertical-align: bottom; +} + +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.media-list { + padding-left: 0; + list-style: none; +} + +.list-group { + margin-bottom: 20px; + padding-left: 0; +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} + +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, a.list-group-item:focus, +button.list-group-item:hover, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} + +button.list-group-item { + width: 100%; + text-align: left; +} + +.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} + +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} + +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, a.list-group-item-success:focus, +button.list-group-item-success:hover, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus, +button.list-group-item-success.active, +button.list-group-item-success.active:hover, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} + +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} + +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, a.list-group-item-info:focus, +button.list-group-item-info:hover, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus, +button.list-group-item-info.active, +button.list-group-item-info.active:hover, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} + +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} + +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, a.list-group-item-warning:focus, +button.list-group-item-warning:hover, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, +button.list-group-item-warning.active, +button.list-group-item-warning.active:hover, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} + +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} + +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, a.list-group-item-danger:focus, +button.list-group-item-danger:hover, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, +button.list-group-item-danger.active, +button.list-group-item-danger.active:hover, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} + +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.panel-body { + padding: 15px; +} +.panel-body:before, .panel-body:after { + content: " "; + display: table; +} +.panel-body:after { + clear: both; +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} + +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} + +.list-group + .panel-footer { + border-top-width: 0; +} + +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} + +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} + +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} + +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} + +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} + +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} + +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} + +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} + +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} + +.embed-responsive-4by3 { + padding-bottom: 75%; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-lg { + padding: 24px; + border-radius: 6px; +} + +.well-sm { + padding: 9px; + border-radius: 3px; +} + +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, .close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} + +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.42857px; +} + +.modal-header .close { + margin-top: -2px; +} + +.modal-title { + margin: 0; + line-height: 1.42857; +} + +.modal-body { + position: relative; + padding: 15px; +} + +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer:before, .modal-footer:after { + content: " "; + display: table; +} +.modal-footer:after { + clear: both; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 14px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} + +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover > .arrow, .popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover > .arrow { + border-width: 11px; +} + +.popover > .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, .carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: transparent; +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} + +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} + +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, .clearfix:after { + content: " "; + display: table; +} +.clearfix:after { + clear: both; +} + +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} + +.pull-right { + float: right !important; +} + +.pull-left { + float: left !important; +} + +.hide { + display: none !important; +} + +.show { + display: block !important; +} + +.invisible { + visibility: hidden; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.hidden { + display: none !important; +} + +.affix { + position: fixed; +} + +@-ms-viewport { + width: device-width; +} +.visible-xs { + display: none !important; +} + +.visible-sm { + display: none !important; +} + +.visible-md { + display: none !important; +} + +.visible-lg { + display: none !important; +} + +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + + table.visible-xs { + display: table !important; + } + + tr.visible-xs { + display: table-row !important; + } + + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} + +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} + +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + + table.visible-sm { + display: table !important; + } + + tr.visible-sm { + display: table-row !important; + } + + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + + table.visible-md { + display: table !important; + } + + tr.visible-md { + display: table-row !important; + } + + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + + table.visible-lg { + display: table !important; + } + + tr.visible-lg { + display: table-row !important; + } + + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} + +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} + +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} + +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} + +@media print { + .visible-print { + display: block !important; + } + + table.visible-print { + display: table !important; + } + + tr.visible-print { + display: table-row !important; + } + + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} + +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} + +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} + +@media print { + .hidden-print { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/static/css/bootstrap.css.map b/static/css/bootstrap.css.map new file mode 100644 index 0000000..b8a3c00 --- /dev/null +++ b/static/css/bootstrap.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/bootstrap/_normalize.scss","../sass/bootstrap/_print.scss","../sass/bootstrap/_scaffolding.scss","../sass/bootstrap/mixins/_vendor-prefixes.scss","../sass/bootstrap/_variables.scss","../sass/bootstrap/mixins/_tab-focus.scss","../sass/bootstrap/mixins/_image.scss","../sass/bootstrap/_type.scss","../sass/bootstrap/mixins/_text-emphasis.scss","../sass/bootstrap/mixins/_background-variant.scss","../sass/bootstrap/mixins/_clearfix.scss","../sass/bootstrap/mixins/_text-overflow.scss","../sass/bootstrap/_code.scss","../sass/bootstrap/_grid.scss","../sass/bootstrap/mixins/_grid.scss","../sass/bootstrap/mixins/_grid-framework.scss","../sass/bootstrap/_tables.scss","../sass/bootstrap/mixins/_table-row.scss","../sass/bootstrap/_forms.scss","../sass/bootstrap/mixins/_forms.scss","../sass/bootstrap/_buttons.scss","../sass/bootstrap/mixins/_buttons.scss","../sass/bootstrap/mixins/_opacity.scss","../sass/bootstrap/_component-animations.scss","../sass/bootstrap/_dropdowns.scss","../sass/bootstrap/mixins/_nav-divider.scss","../sass/bootstrap/mixins/_reset-filter.scss","../sass/bootstrap/_button-groups.scss","../sass/bootstrap/mixins/_border-radius.scss","../sass/bootstrap/_input-groups.scss","../sass/bootstrap/_navs.scss","../sass/bootstrap/_navbar.scss","../sass/bootstrap/mixins/_nav-vertical-align.scss","../sass/bootstrap/_breadcrumbs.scss","../sass/bootstrap/_pagination.scss","../sass/bootstrap/mixins/_pagination.scss","../sass/bootstrap/_pager.scss","../sass/bootstrap/_labels.scss","../sass/bootstrap/mixins/_labels.scss","../sass/bootstrap/_badges.scss","../sass/bootstrap/_jumbotron.scss","../sass/bootstrap/_thumbnails.scss","../sass/bootstrap/_alerts.scss","../sass/bootstrap/mixins/_alerts.scss","../sass/bootstrap/_progress-bars.scss","../sass/bootstrap/mixins/_gradients.scss","../sass/bootstrap/mixins/_progress-bar.scss","../sass/bootstrap/_media.scss","../sass/bootstrap/_list-group.scss","../sass/bootstrap/mixins/_list-group.scss","../sass/bootstrap/_panels.scss","../sass/bootstrap/mixins/_panels.scss","../sass/bootstrap/_responsive-embed.scss","../sass/bootstrap/_wells.scss","../sass/bootstrap/_close.scss","../sass/bootstrap/_modals.scss","../sass/bootstrap/_tooltip.scss","../sass/bootstrap/mixins/_reset-text.scss","../sass/bootstrap/_popovers.scss","../sass/bootstrap/_carousel.scss","../sass/bootstrap/_utilities.scss","../sass/bootstrap/mixins/_center-block.scss","../sass/bootstrap/mixins/_hide-text.scss","../sass/bootstrap/_responsive-utilities.scss","../sass/bootstrap/mixins/_responsive-visibility.scss"], +"names": [], +"file": "bootstrap.css" +} \ No newline at end of file diff --git a/static/css/flexslider.css b/static/css/flexslider.css new file mode 100644 index 0000000..f4fa19c --- /dev/null +++ b/static/css/flexslider.css @@ -0,0 +1,275 @@ +/* + * jQuery FlexSlider v2.6.0 + * http://www.woothemes.com/flexslider/ + * + * Copyright 2012 WooThemes + * Free to use under the GPLv2 and later license. + * http://www.gnu.org/licenses/gpl-2.0.html + * + * Contributing author: Tyler Smith (@mbmufffin) + * + */ +/* ==================================================================================================================== + * FONT-FACE + * ====================================================================================================================*/ +/*@font-face { + font-family: 'flexslider-icon'; + src: url('fonts/flexslider-icon.eot'); + src: url('fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('fonts/flexslider-icon.woff') format('woff'), url('fonts/flexslider-icon.ttf') format('truetype'), url('fonts/flexslider-icon.svg#flexslider-icon') format('svg'); + font-weight: normal; + font-style: normal; +}*/ +/* ==================================================================================================================== + * RESETS + * ====================================================================================================================*/ +.flex-container a:hover, +.flex-slider a:hover { + outline: none; +} +.slides, +.slides > li, +.flex-control-nav, +.flex-direction-nav { + margin: 0; + padding: 0; + list-style: none; +} +.flex-pauseplay span { + text-transform: capitalize; +} +/* ==================================================================================================================== + * BASE STYLES + * ====================================================================================================================*/ +.flexslider { + margin: 0; + padding: 0; +} +.flexslider .slides > li { + display: none; + -webkit-backface-visibility: hidden; +} +.flexslider .slides img { + width: 100%; + display: block; +} +.flexslider .slides:after { + /*content: "\0020";*/ + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} +html[xmlns] .flexslider .slides { + display: block; +} +* html .flexslider .slides { + height: 1%; +} +.no-js .flexslider .slides > li:first-child { + display: block; +} +/* ==================================================================================================================== + * DEFAULT THEME + * ====================================================================================================================*/ +.flexslider { + margin: 0 0 60px; + background: #ffffff; + border: 4px solid #ffffff; + position: relative; + zoom: 1; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); + -moz-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); + -o-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); + box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); +} +.flexslider .slides { + zoom: 1; +} +.flexslider .slides img { + height: auto; + -moz-user-select: none; +} +.flex-viewport { + max-height: 2000px; + -webkit-transition: all 1s ease; + -moz-transition: all 1s ease; + -ms-transition: all 1s ease; + -o-transition: all 1s ease; + transition: all 1s ease; +} +.loading .flex-viewport { + max-height: 300px; +} +.carousel li { + margin-right: 5px; +} +.flex-direction-nav { + *height: 0; +} +.flex-direction-nav a { + text-decoration: none; + display: block; + width: 40px; + height: 40px; + margin: -20px 0 0; + position: absolute; + top: 50%; + z-index: 10; + overflow: hidden; + opacity: 0; + cursor: pointer; + color: rgba(0, 0, 0, 0.8); + text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} +.flex-direction-nav a:before { + font-family: "flexslider-icon"; + font-size: 40px; + display: inline-block; + content: '\f001'; + color: rgba(0, 0, 0, 0.8); + text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3); +} +.flex-direction-nav a.flex-next:before { + content: '\f002'; +} +.flex-direction-nav .flex-prev { + left: -50px; +} +.flex-direction-nav .flex-next { + right: -50px; + text-align: right; +} +.flexslider:hover .flex-direction-nav .flex-prev { + opacity: 0.7; + left: 10px; +} +.flexslider:hover .flex-direction-nav .flex-prev:hover { + opacity: 1; +} +.flexslider:hover .flex-direction-nav .flex-next { + opacity: 0.7; + right: 10px; +} +.flexslider:hover .flex-direction-nav .flex-next:hover { + opacity: 1; +} +.flex-direction-nav .flex-disabled { + opacity: 0!important; + filter: alpha(opacity=0); + cursor: default; + z-index: -1; +} +.flex-pauseplay a { + display: block; + width: 20px; + height: 20px; + position: absolute; + bottom: 5px; + left: 10px; + opacity: 0.8; + z-index: 10; + overflow: hidden; + cursor: pointer; + color: #000; +} +.flex-pauseplay a:before { + font-family: "flexslider-icon"; + font-size: 20px; + display: inline-block; + content: '\f004'; +} +.flex-pauseplay a:hover { + opacity: 1; +} +.flex-pauseplay a.flex-play:before { + content: '\f003'; +} +.flex-control-nav { + width: 100%; + position: absolute; + bottom: -40px; + text-align: center; +} +.flex-control-nav li { + margin: 0 6px; + display: inline-block; + zoom: 1; + *display: inline; +} +.flex-control-paging li a { + width: 11px; + height: 11px; + display: block; + background: #666; + background: rgba(0, 0, 0, 0.5); + cursor: pointer; + text-indent: -9999px; + -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); + -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); + -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); + box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); + -webkit-border-radius: 20px; + -moz-border-radius: 20px; + border-radius: 20px; +} +.flex-control-paging li a:hover { + background: #333; + background: rgba(0, 0, 0, 0.7); +} +.flex-control-paging li a.flex-active { + background: #000; + background: rgba(0, 0, 0, 0.9); + cursor: default; +} +.flex-control-thumbs { + margin: 5px 0 0; + position: static; + overflow: hidden; +} +.flex-control-thumbs li { + width: 25%; + float: left; + margin: 0; +} +.flex-control-thumbs img { + width: 100%; + height: auto; + display: block; + opacity: .7; + cursor: pointer; + -moz-user-select: none; + -webkit-transition: all 1s ease; + -moz-transition: all 1s ease; + -ms-transition: all 1s ease; + -o-transition: all 1s ease; + transition: all 1s ease; +} +.flex-control-thumbs img:hover { + opacity: 1; +} +.flex-control-thumbs .flex-active { + opacity: 1; + cursor: default; +} +/* ==================================================================================================================== + * RESPONSIVE + * ====================================================================================================================*/ +@media screen and (max-width: 860px) { + .flex-direction-nav .flex-prev { + opacity: 1; + left: 10px; + } + .flex-direction-nav .flex-next { + opacity: 1; + right: 10px; + } +} \ No newline at end of file diff --git a/static/css/icomoon.css b/static/css/icomoon.css new file mode 100644 index 0000000..fbd30ae --- /dev/null +++ b/static/css/icomoon.css @@ -0,0 +1,1791 @@ +@font-face { + font-family: 'icomoon'; + src: url('fonts/icomoon.eot?6py85u'); + src: url('fonts/icomoon.eot?6py85u#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?6py85u') format('truetype'), + url('fonts/icomoon.woff?6py85u') format('woff'), + url('fonts/icomoon.svg?6py85u#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + 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-times:before { + content: "\e930"; +} +.icon-tick:before { + content: "\e931"; +} +.icon-plus:before { + content: "\e932"; +} +.icon-minus:before { + content: "\e933"; +} +.icon-equals:before { + content: "\e934"; +} +.icon-divide:before { + content: "\e935"; +} +.icon-chevron-right:before { + content: "\e936"; +} +.icon-chevron-left:before { + content: "\e937"; +} +.icon-arrow-right-thick:before { + content: "\e938"; +} +.icon-arrow-left-thick:before { + content: "\e939"; +} +.icon-th-small:before { + content: "\e93a"; +} +.icon-th-menu:before { + content: "\e93b"; +} +.icon-th-list:before { + content: "\e93c"; +} +.icon-th-large:before { + content: "\e93d"; +} +.icon-home:before { + content: "\e93e"; +} +.icon-arrow-forward:before { + content: "\e93f"; +} +.icon-arrow-back:before { + content: "\e940"; +} +.icon-rss:before { + content: "\e941"; +} +.icon-location:before { + content: "\e942"; +} +.icon-link:before { + content: "\e943"; +} +.icon-image:before { + content: "\e944"; +} +.icon-arrow-up-thick:before { + content: "\e945"; +} +.icon-arrow-down-thick:before { + content: "\e946"; +} +.icon-starburst:before { + content: "\e947"; +} +.icon-starburst-outline:before { + content: "\e948"; +} +.icon-star3:before { + content: "\e949"; +} +.icon-flow-children:before { + content: "\e94a"; +} +.icon-export:before { + content: "\e94b"; +} +.icon-delete2:before { + content: "\e94c"; +} +.icon-delete-outline:before { + content: "\e94d"; +} +.icon-cloud-storage:before { + content: "\e94e"; +} +.icon-wi-fi:before { + content: "\e94f"; +} +.icon-heart:before { + content: "\e950"; +} +.icon-flash:before { + content: "\e951"; +} +.icon-cancel:before { + content: "\e952"; +} +.icon-backspace:before { + content: "\e953"; +} +.icon-attachment:before { + content: "\e954"; +} +.icon-arrow-move:before { + content: "\e955"; +} +.icon-warning:before { + content: "\e956"; +} +.icon-user:before { + content: "\e957"; +} +.icon-radar:before { + content: "\e958"; +} +.icon-lock-open:before { + content: "\e959"; +} +.icon-lock-closed:before { + content: "\e95a"; +} +.icon-location-arrow:before { + content: "\e95b"; +} +.icon-info:before { + content: "\e95c"; +} +.icon-user-delete:before { + content: "\e95d"; +} +.icon-user-add:before { + content: "\e95e"; +} +.icon-media-pause:before { + content: "\e95f"; +} +.icon-group:before { + content: "\e960"; +} +.icon-chart-pie:before { + content: "\e961"; +} +.icon-chart-line:before { + content: "\e962"; +} +.icon-chart-bar:before { + content: "\e963"; +} +.icon-chart-area:before { + content: "\e964"; +} +.icon-video:before { + content: "\e965"; +} +.icon-point-of-interest:before { + content: "\e966"; +} +.icon-infinity:before { + content: "\e967"; +} +.icon-globe:before { + content: "\e968"; +} +.icon-eye:before { + content: "\e969"; +} +.icon-cog:before { + content: "\e96a"; +} +.icon-camera:before { + content: "\e96b"; +} +.icon-upload:before { + content: "\e96c"; +} +.icon-scissors:before { + content: "\e96d"; +} +.icon-refresh:before { + content: "\e96e"; +} +.icon-pin:before { + content: "\e96f"; +} +.icon-key:before { + content: "\e970"; +} +.icon-info-large:before { + content: "\e971"; +} +.icon-eject:before { + content: "\e972"; +} +.icon-download:before { + content: "\e973"; +} +.icon-zoom:before { + content: "\e974"; +} +.icon-zoom-out:before { + content: "\e975"; +} +.icon-zoom-in:before { + content: "\e976"; +} +.icon-sort-numerically:before { + content: "\e977"; +} +.icon-sort-alphabetically:before { + content: "\e978"; +} +.icon-input-checked:before { + content: "\e979"; +} +.icon-calender:before { + content: "\e97a"; +} +.icon-world2:before { + content: "\e97b"; +} +.icon-notes:before { + content: "\e97c"; +} +.icon-code:before { + content: "\e97d"; +} +.icon-arrow-sync:before { + content: "\e97e"; +} +.icon-arrow-shuffle:before { + content: "\e97f"; +} +.icon-arrow-repeat:before { + content: "\e980"; +} +.icon-arrow-minimise:before { + content: "\e981"; +} +.icon-arrow-maximise:before { + content: "\e982"; +} +.icon-arrow-loop:before { + content: "\e983"; +} +.icon-anchor:before { + content: "\e984"; +} +.icon-spanner:before { + content: "\e985"; +} +.icon-puzzle:before { + content: "\e986"; +} +.icon-power:before { + content: "\e987"; +} +.icon-plane:before { + content: "\e988"; +} +.icon-pi:before { + content: "\e989"; +} +.icon-phone:before { + content: "\e98a"; +} +.icon-microphone2:before { + content: "\e98b"; +} +.icon-media-rewind:before { + content: "\e98c"; +} +.icon-flag:before { + content: "\e98d"; +} +.icon-adjust-brightness:before { + content: "\e98e"; +} +.icon-waves:before { + content: "\e98f"; +} +.icon-social-twitter:before { + content: "\e990"; +} +.icon-social-facebook:before { + content: "\e991"; +} +.icon-social-dribbble:before { + content: "\e992"; +} +.icon-media-stop:before { + content: "\e993"; +} +.icon-media-record:before { + content: "\e994"; +} +.icon-media-play:before { + content: "\e995"; +} +.icon-media-fast-forward:before { + content: "\e996"; +} +.icon-media-eject:before { + content: "\e997"; +} +.icon-social-vimeo:before { + content: "\e998"; +} +.icon-social-tumbler:before { + content: "\e999"; +} +.icon-social-skype:before { + content: "\e99a"; +} +.icon-social-pinterest:before { + content: "\e99b"; +} +.icon-social-linkedin:before { + content: "\e99c"; +} +.icon-social-last-fm:before { + content: "\e99d"; +} +.icon-social-github:before { + content: "\e99e"; +} +.icon-social-flickr:before { + content: "\e99f"; +} +.icon-at:before { + content: "\e9a0"; +} +.icon-times-outline:before { + content: "\e9a1"; +} +.icon-plus-outline:before { + content: "\e9a2"; +} +.icon-minus-outline:before { + content: "\e9a3"; +} +.icon-tick-outline:before { + content: "\e9a4"; +} +.icon-th-large-outline:before { + content: "\e9a5"; +} +.icon-equals-outline:before { + content: "\e9a6"; +} +.icon-divide-outline:before { + content: "\e9a7"; +} +.icon-chevron-right-outline:before { + content: "\e9a8"; +} +.icon-chevron-left-outline:before { + content: "\e9a9"; +} +.icon-arrow-right-outline:before { + content: "\e9aa"; +} +.icon-arrow-left-outline:before { + content: "\e9ab"; +} +.icon-th-small-outline:before { + content: "\e9ac"; +} +.icon-th-menu-outline:before { + content: "\e9ad"; +} +.icon-th-list-outline:before { + content: "\e9ae"; +} +.icon-news2:before { + content: "\e9b1"; +} +.icon-home-outline:before { + content: "\e9b2"; +} +.icon-arrow-up-outline:before { + content: "\e9b3"; +} +.icon-arrow-forward-outline:before { + content: "\e9b4"; +} +.icon-arrow-down-outline:before { + content: "\e9b5"; +} +.icon-arrow-back-outline:before { + content: "\e9b6"; +} +.icon-trash3:before { + content: "\e9b7"; +} +.icon-rss-outline:before { + content: "\e9b8"; +} +.icon-message:before { + content: "\e9b9"; +} +.icon-location-outline:before { + content: "\e9ba"; +} +.icon-link-outline:before { + content: "\e9bb"; +} +.icon-image-outline:before { + content: "\e9bc"; +} +.icon-export-outline:before { + content: "\e9bd"; +} +.icon-cross:before { + content: "\e9be"; +} +.icon-wi-fi-outline:before { + content: "\e9bf"; +} +.icon-star-outline:before { + content: "\e9c0"; +} +.icon-media-pause-outline:before { + content: "\e9c1"; +} +.icon-mail:before { + content: "\e9c2"; +} +.icon-heart-outline:before { + content: "\e9c3"; +} +.icon-flash-outline:before { + content: "\e9c4"; +} +.icon-cancel-outline:before { + content: "\e9c5"; +} +.icon-beaker:before { + content: "\e9c6"; +} +.icon-arrow-move-outline:before { + content: "\e9c7"; +} +.icon-watch2:before { + content: "\e9c8"; +} +.icon-warning-outline:before { + content: "\e9c9"; +} +.icon-time:before { + content: "\e9ca"; +} +.icon-radar-outline:before { + content: "\e9cb"; +} +.icon-lock-open-outline:before { + content: "\e9cc"; +} +.icon-location-arrow-outline:before { + content: "\e9cd"; +} +.icon-info-outline:before { + content: "\e9ce"; +} +.icon-backspace-outline:before { + content: "\e9cf"; +} +.icon-attachment-outline:before { + content: "\e9d0"; +} +.icon-user-outline:before { + content: "\e9d1"; +} +.icon-user-delete-outline:before { + content: "\e9d2"; +} +.icon-user-add-outline:before { + content: "\e9d3"; +} +.icon-lock-closed-outline:before { + content: "\e9d4"; +} +.icon-group-outline:before { + content: "\e9d5"; +} +.icon-chart-pie-outline:before { + content: "\e9d6"; +} +.icon-chart-line-outline:before { + content: "\e9d7"; +} +.icon-chart-bar-outline:before { + content: "\e9d8"; +} +.icon-chart-area-outline:before { + content: "\e9d9"; +} +.icon-video-outline:before { + content: "\e9da"; +} +.icon-point-of-interest-outline:before { + content: "\e9db"; +} +.icon-map:before { + content: "\e9dc"; +} +.icon-key-outline:before { + content: "\e9dd"; +} +.icon-infinity-outline:before { + content: "\e9de"; +} +.icon-globe-outline:before { + content: "\e9df"; +} +.icon-eye-outline:before { + content: "\e9e0"; +} +.icon-cog-outline:before { + content: "\e9e1"; +} +.icon-camera-outline:before { + content: "\e9e2"; +} +.icon-upload-outline:before { + content: "\e9e3"; +} +.icon-support:before { + content: "\e9e4"; +} +.icon-scissors-outline:before { + content: "\e9e5"; +} +.icon-refresh-outline:before { + content: "\e9e6"; +} +.icon-info-large-outline:before { + content: "\e9e7"; +} +.icon-eject-outline:before { + content: "\e9e8"; +} +.icon-download-outline:before { + content: "\e9e9"; +} +.icon-battery-mid:before { + content: "\e9ea"; +} +.icon-battery-low:before { + content: "\e9eb"; +} +.icon-battery-high:before { + content: "\e9ec"; +} +.icon-zoom-outline:before { + content: "\e9ed"; +} +.icon-zoom-out-outline:before { + content: "\e9ee"; +} +.icon-zoom-in-outline:before { + content: "\e9ef"; +} +.icon-tag3:before { + content: "\e9f0"; +} +.icon-tabs-outline:before { + content: "\e9f1"; +} +.icon-pin-outline:before { + content: "\e9f2"; +} +.icon-message-typing:before { + content: "\e9f3"; +} +.icon-directions:before { + content: "\e9f4"; +} +.icon-battery-full:before { + content: "\e9f5"; +} +.icon-battery-charge:before { + content: "\e9f6"; +} +.icon-pipette:before { + content: "\e9f7"; +} +.icon-pencil:before { + content: "\e9f8"; +} +.icon-folder:before { + content: "\e9f9"; +} +.icon-folder-delete:before { + content: "\e9fa"; +} +.icon-folder-add:before { + content: "\e9fb"; +} +.icon-edit:before { + content: "\e9fc"; +} +.icon-document:before { + content: "\e9fd"; +} +.icon-document-delete:before { + content: "\e9fe"; +} +.icon-document-add:before { + content: "\e9ff"; +} +.icon-brush:before { + content: "\ea00"; +} +.icon-thumbs-up:before { + content: "\ea01"; +} +.icon-thumbs-down:before { + content: "\ea02"; +} +.icon-pen:before { + content: "\ea03"; +} +.icon-sort-numerically-outline:before { + content: "\ea04"; +} +.icon-sort-alphabetically-outline:before { + content: "\ea05"; +} +.icon-social-last-fm-circular:before { + content: "\ea06"; +} +.icon-social-github-circular:before { + content: "\ea07"; +} +.icon-compass:before { + content: "\ea08"; +} +.icon-bookmark:before { + content: "\ea09"; +} +.icon-input-checked-outline:before { + content: "\ea0a"; +} +.icon-code-outline:before { + content: "\ea0b"; +} +.icon-calender-outline:before { + content: "\ea0c"; +} +.icon-business-card:before { + content: "\ea0d"; +} +.icon-arrow-up:before { + content: "\ea0e"; +} +.icon-arrow-sync-outline:before { + content: "\ea0f"; +} +.icon-arrow-right:before { + content: "\ea10"; +} +.icon-arrow-repeat-outline:before { + content: "\ea11"; +} +.icon-arrow-loop-outline:before { + content: "\ea12"; +} +.icon-arrow-left:before { + content: "\ea13"; +} +.icon-flow-switch:before { + content: "\ea14"; +} +.icon-flow-parallel:before { + content: "\ea15"; +} +.icon-flow-merge:before { + content: "\ea16"; +} +.icon-document-text:before { + content: "\ea17"; +} +.icon-clipboard:before { + content: "\ea18"; +} +.icon-calculator:before { + content: "\ea19"; +} +.icon-arrow-minimise-outline:before { + content: "\ea1a"; +} +.icon-arrow-maximise-outline:before { + content: "\ea1b"; +} +.icon-arrow-down:before { + content: "\ea1c"; +} +.icon-gift:before { + content: "\ea1d"; +} +.icon-film:before { + content: "\ea1e"; +} +.icon-database:before { + content: "\ea1f"; +} +.icon-bell:before { + content: "\ea20"; +} +.icon-anchor-outline:before { + content: "\ea21"; +} +.icon-adjust-contrast:before { + content: "\ea22"; +} +.icon-world-outline:before { + content: "\ea23"; +} +.icon-shopping-bag:before { + content: "\ea24"; +} +.icon-power-outline:before { + content: "\ea25"; +} +.icon-notes-outline:before { + content: "\ea26"; +} +.icon-device-tablet:before { + content: "\ea27"; +} +.icon-device-phone:before { + content: "\ea28"; +} +.icon-device-laptop:before { + content: "\ea29"; +} +.icon-device-desktop:before { + content: "\ea2a"; +} +.icon-briefcase:before { + content: "\ea2b"; +} +.icon-stopwatch:before { + content: "\ea2c"; +} +.icon-spanner-outline:before { + content: "\ea2d"; +} +.icon-puzzle-outline:before { + content: "\ea2e"; +} +.icon-printer:before { + content: "\ea2f"; +} +.icon-pi-outline:before { + content: "\ea30"; +} +.icon-lightbulb:before { + content: "\ea31"; +} +.icon-flag-outline:before { + content: "\ea32"; +} +.icon-contacts:before { + content: "\ea33"; +} +.icon-archive2:before { + content: "\ea34"; +} +.icon-weather-stormy:before { + content: "\ea35"; +} +.icon-weather-shower:before { + content: "\ea36"; +} +.icon-weather-partly-sunny:before { + content: "\ea37"; +} +.icon-weather-downpour:before { + content: "\ea38"; +} +.icon-weather-cloudy:before { + content: "\ea39"; +} +.icon-plane-outline:before { + content: "\ea3a"; +} +.icon-phone-outline:before { + content: "\ea3b"; +} +.icon-microphone-outline:before { + content: "\ea3c"; +} +.icon-weather-windy:before { + content: "\ea3d"; +} +.icon-weather-windy-cloudy:before { + content: "\ea3e"; +} +.icon-weather-sunny:before { + content: "\ea3f"; +} +.icon-weather-snow:before { + content: "\ea40"; +} +.icon-weather-night:before { + content: "\ea41"; +} +.icon-media-stop-outline:before { + content: "\ea42"; +} +.icon-media-rewind-outline:before { + content: "\ea43"; +} +.icon-media-record-outline:before { + content: "\ea44"; +} +.icon-media-play-outline:before { + content: "\ea45"; +} +.icon-media-fast-forward-outline:before { + content: "\ea46"; +} +.icon-media-eject-outline:before { + content: "\ea47"; +} +.icon-wine:before { + content: "\ea48"; +} +.icon-waves-outline:before { + content: "\ea49"; +} +.icon-ticket:before { + content: "\ea4a"; +} +.icon-tags:before { + content: "\ea4b"; +} +.icon-plug:before { + content: "\ea4c"; +} +.icon-headphones:before { + content: "\ea4d"; +} +.icon-credit-card:before { + content: "\ea4e"; +} +.icon-coffee:before { + content: "\ea4f"; +} +.icon-book:before { + content: "\ea50"; +} +.icon-beer:before { + content: "\ea51"; +} +.icon-volume2:before { + content: "\ea52"; +} +.icon-volume-up:before { + content: "\ea53"; +} +.icon-volume-mute:before { + content: "\ea54"; +} +.icon-volume-down:before { + content: "\ea55"; +} +.icon-social-vimeo-circular:before { + content: "\ea56"; +} +.icon-social-twitter-circular:before { + content: "\ea57"; +} +.icon-social-pinterest-circular:before { + content: "\ea58"; +} +.icon-social-linkedin-circular:before { + content: "\ea59"; +} +.icon-social-facebook-circular:before { + content: "\ea5a"; +} +.icon-social-dribbble-circular:before { + content: "\ea5b"; +} +.icon-tree:before { + content: "\ea5c"; +} +.icon-thermometer2:before { + content: "\ea5d"; +} +.icon-social-tumbler-circular:before { + content: "\ea5e"; +} +.icon-social-skype-outline:before { + content: "\ea5f"; +} +.icon-social-flickr-circular:before { + content: "\ea60"; +} +.icon-social-at-circular:before { + content: "\ea61"; +} +.icon-shopping-cart:before { + content: "\ea62"; +} +.icon-messages:before { + content: "\ea63"; +} +.icon-leaf:before { + content: "\ea64"; +} +.icon-feather:before { + content: "\ea65"; +} +.icon-eye2:before { + content: "\e064"; +} +.icon-paper-clip:before { + content: "\e065"; +} +.icon-mail5:before { + content: "\e066"; +} +.icon-toggle:before { + content: "\e067"; +} +.icon-layout:before { + content: "\e068"; +} +.icon-link2:before { + content: "\e069"; +} +.icon-bell2:before { + content: "\e06a"; +} +.icon-lock3:before { + content: "\e06b"; +} +.icon-unlock:before { + content: "\e06c"; +} +.icon-ribbon2:before { + content: "\e06d"; +} +.icon-image2:before { + content: "\e06e"; +} +.icon-signal:before { + content: "\e06f"; +} +.icon-target3:before { + content: "\e070"; +} +.icon-clipboard3:before { + content: "\e071"; +} +.icon-clock3:before { + content: "\e072"; +} +.icon-watch:before { + content: "\e073"; +} +.icon-air-play:before { + content: "\e074"; +} +.icon-camera3:before { + content: "\e075"; +} +.icon-video2:before { + content: "\e076"; +} +.icon-disc:before { + content: "\e077"; +} +.icon-printer3:before { + content: "\e078"; +} +.icon-monitor:before { + content: "\e079"; +} +.icon-server:before { + content: "\e07a"; +} +.icon-cog2:before { + content: "\e07b"; +} +.icon-heart3:before { + content: "\e07c"; +} +.icon-paragraph:before { + content: "\e07d"; +} +.icon-align-justify:before { + content: "\e07e"; +} +.icon-align-left:before { + content: "\e07f"; +} +.icon-align-center:before { + content: "\e080"; +} +.icon-align-right:before { + content: "\e081"; +} +.icon-book2:before { + content: "\e082"; +} +.icon-layers2:before { + content: "\e083"; +} +.icon-stack2:before { + content: "\e084"; +} +.icon-stack-2:before { + content: "\e085"; +} +.icon-paper:before { + content: "\e086"; +} +.icon-paper-stack:before { + content: "\e087"; +} +.icon-search3:before { + content: "\e088"; +} +.icon-zoom-in2:before { + content: "\e089"; +} +.icon-zoom-out2:before { + content: "\e08a"; +} +.icon-reply2:before { + content: "\e08b"; +} +.icon-circle-plus:before { + content: "\e08c"; +} +.icon-circle-minus:before { + content: "\e08d"; +} +.icon-circle-check:before { + content: "\e08e"; +} +.icon-circle-cross:before { + content: "\e08f"; +} +.icon-square-plus:before { + content: "\e090"; +} +.icon-square-minus:before { + content: "\e091"; +} +.icon-square-check:before { + content: "\e092"; +} +.icon-square-cross:before { + content: "\e093"; +} +.icon-microphone:before { + content: "\e094"; +} +.icon-record:before { + content: "\e095"; +} +.icon-skip-back:before { + content: "\e096"; +} +.icon-rewind:before { + content: "\e097"; +} +.icon-play4:before { + content: "\e098"; +} +.icon-pause3:before { + content: "\e099"; +} +.icon-stop3:before { + content: "\e09a"; +} +.icon-fast-forward:before { + content: "\e09b"; +} +.icon-skip-forward:before { + content: "\e09c"; +} +.icon-shuffle2:before { + content: "\e09d"; +} +.icon-repeat:before { + content: "\e09e"; +} +.icon-folder2:before { + content: "\e09f"; +} +.icon-umbrella:before { + content: "\e0a0"; +} +.icon-moon:before { + content: "\e0a1"; +} +.icon-thermometer:before { + content: "\e0a2"; +} +.icon-drop:before { + content: "\e0a3"; +} +.icon-sun2:before { + content: "\e0a4"; +} +.icon-cloud3:before { + content: "\e0a5"; +} +.icon-cloud-upload2:before { + content: "\e0a6"; +} +.icon-cloud-download2:before { + content: "\e0a7"; +} +.icon-upload4:before { + content: "\e0a8"; +} +.icon-download4:before { + content: "\e0a9"; +} +.icon-location3:before { + content: "\e0aa"; +} +.icon-location-2:before { + content: "\e0ab"; +} +.icon-map3:before { + content: "\e0ac"; +} +.icon-battery:before { + content: "\e0ad"; +} +.icon-head:before { + content: "\e0ae"; +} +.icon-briefcase3:before { + content: "\e0af"; +} +.icon-speech-bubble:before { + content: "\e0b0"; +} +.icon-anchor2:before { + content: "\e0b1"; +} +.icon-globe2:before { + content: "\e0b2"; +} +.icon-box:before { + content: "\e0b3"; +} +.icon-reload:before { + content: "\e0b4"; +} +.icon-share3:before { + content: "\e0b5"; +} +.icon-marquee:before { + content: "\e0b6"; +} +.icon-marquee-plus:before { + content: "\e0b7"; +} +.icon-marquee-minus:before { + content: "\e0b8"; +} +.icon-tag:before { + content: "\e0b9"; +} +.icon-power2:before { + content: "\e0ba"; +} +.icon-command2:before { + content: "\e0bb"; +} +.icon-alt:before { + content: "\e0bc"; +} +.icon-esc:before { + content: "\e0bd"; +} +.icon-bar-graph:before { + content: "\e0be"; +} +.icon-bar-graph-2:before { + content: "\e0bf"; +} +.icon-pie-graph:before { + content: "\e0c0"; +} +.icon-star:before { + content: "\e0c1"; +} +.icon-arrow-left3:before { + content: "\e0c2"; +} +.icon-arrow-right3:before { + content: "\e0c3"; +} +.icon-arrow-up3:before { + content: "\e0c4"; +} +.icon-arrow-down3:before { + content: "\e0c5"; +} +.icon-volume:before { + content: "\e0c6"; +} +.icon-mute:before { + content: "\e0c7"; +} +.icon-content-right:before { + content: "\e100"; +} +.icon-content-left:before { + content: "\e101"; +} +.icon-grid2:before { + content: "\e102"; +} +.icon-grid-2:before { + content: "\e103"; +} +.icon-columns:before { + content: "\e104"; +} +.icon-loader:before { + content: "\e105"; +} +.icon-bag:before { + content: "\e106"; +} +.icon-ban:before { + content: "\e107"; +} +.icon-flag3:before { + content: "\e108"; +} +.icon-trash:before { + content: "\e109"; +} +.icon-expand2:before { + content: "\e110"; +} +.icon-contract:before { + content: "\e111"; +} +.icon-maximize:before { + content: "\e112"; +} +.icon-minimize:before { + content: "\e113"; +} +.icon-plus2:before { + content: "\e114"; +} +.icon-minus2:before { + content: "\e115"; +} +.icon-check:before { + content: "\e116"; +} +.icon-cross2:before { + content: "\e117"; +} +.icon-move:before { + content: "\e118"; +} +.icon-delete:before { + content: "\e119"; +} +.icon-menu5:before { + content: "\e120"; +} +.icon-archive:before { + content: "\e121"; +} +.icon-inbox:before { + content: "\e122"; +} +.icon-outbox:before { + content: "\e123"; +} +.icon-file:before { + content: "\e124"; +} +.icon-file-add:before { + content: "\e125"; +} +.icon-file-subtract:before { + content: "\e126"; +} +.icon-help:before { + content: "\e127"; +} +.icon-open:before { + content: "\e128"; +} +.icon-ellipsis:before { + content: "\e129"; +} +.icon-heart4:before { + content: "\e900"; +} +.icon-cloud4:before { + content: "\e901"; +} +.icon-star2:before { + content: "\e902"; +} +.icon-tv2:before { + content: "\e903"; +} +.icon-sound:before { + content: "\e904"; +} +.icon-video3:before { + content: "\e905"; +} +.icon-trash2:before { + content: "\e906"; +} +.icon-user2:before { + content: "\e907"; +} +.icon-key3:before { + content: "\e908"; +} +.icon-search4:before { + content: "\e909"; +} +.icon-settings:before { + content: "\e90a"; +} +.icon-camera4:before { + content: "\e90b"; +} +.icon-tag2:before { + content: "\e90c"; +} +.icon-lock4:before { + content: "\e90d"; +} +.icon-bulb:before { + content: "\e90e"; +} +.icon-pen2:before { + content: "\e90f"; +} +.icon-diamond:before { + content: "\e910"; +} +.icon-display2:before { + content: "\e911"; +} +.icon-location4:before { + content: "\e912"; +} +.icon-eye3:before { + content: "\e913"; +} +.icon-bubble3:before { + content: "\e914"; +} +.icon-stack3:before { + content: "\e915"; +} +.icon-cup:before { + content: "\e916"; +} +.icon-phone3:before { + content: "\e917"; +} +.icon-news:before { + content: "\e918"; +} +.icon-mail6:before { + content: "\e919"; +} +.icon-like:before { + content: "\e91a"; +} +.icon-photo:before { + content: "\e91b"; +} +.icon-note:before { + content: "\e91c"; +} +.icon-clock4:before { + content: "\e91d"; +} +.icon-paperplane:before { + content: "\e91e"; +} +.icon-params:before { + content: "\e91f"; +} +.icon-banknote:before { + content: "\e920"; +} +.icon-data:before { + content: "\e921"; +} +.icon-music2:before { + content: "\e922"; +} +.icon-megaphone2:before { + content: "\e923"; +} +.icon-study:before { + content: "\e924"; +} +.icon-lab2:before { + content: "\e925"; +} +.icon-food:before { + content: "\e926"; +} +.icon-t-shirt:before { + content: "\e927"; +} +.icon-fire2:before { + content: "\e928"; +} +.icon-clip:before { + content: "\e929"; +} +.icon-shop:before { + content: "\e92a"; +} +.icon-calendar3:before { + content: "\e92b"; +} +.icon-wallet2:before { + content: "\e92c"; +} +.icon-vynil:before { + content: "\e92d"; +} +.icon-truck2:before { + content: "\e92e"; +} +.icon-world:before { + content: "\e92f"; +} +.icon-spinner6:before { + content: "\e9af"; +} +.icon-spinner7:before { + content: "\e9b0"; +} +.icon-amazon:before { + content: "\eab7"; +} +.icon-google:before { + content: "\eab8"; +} +.icon-google2:before { + content: "\eab9"; +} +.icon-google3:before { + content: "\eaba"; +} +.icon-google-plus:before { + content: "\eabb"; +} +.icon-google-plus2:before { + content: "\eabc"; +} +.icon-google-plus3:before { + content: "\eabd"; +} +.icon-hangouts:before { + content: "\eabe"; +} +.icon-google-drive:before { + content: "\eabf"; +} +.icon-facebook2:before { + content: "\eac0"; +} +.icon-facebook22:before { + content: "\eac1"; +} +.icon-instagram:before { + content: "\eac2"; +} +.icon-whatsapp:before { + content: "\eac3"; +} +.icon-spotify:before { + content: "\eac4"; +} +.icon-telegram:before { + content: "\eac5"; +} +.icon-twitter2:before { + content: "\eac6"; +} +.icon-vine:before { + content: "\eac7"; +} +.icon-vk:before { + content: "\eac8"; +} +.icon-renren:before { + content: "\eac9"; +} +.icon-sina-weibo:before { + content: "\eaca"; +} +.icon-rss2:before { + content: "\eacb"; +} +.icon-rss22:before { + content: "\eacc"; +} +.icon-youtube:before { + content: "\eacd"; +} +.icon-youtube2:before { + content: "\eace"; +} +.icon-twitch:before { + content: "\eacf"; +} +.icon-vimeo:before { + content: "\ead0"; +} +.icon-vimeo2:before { + content: "\ead1"; +} +.icon-lanyrd:before { + content: "\ead2"; +} +.icon-flickr:before { + content: "\ead3"; +} +.icon-flickr2:before { + content: "\ead4"; +} +.icon-flickr3:before { + content: "\ead5"; +} +.icon-flickr4:before { + content: "\ead6"; +} +.icon-dribbble2:before { + content: "\ead7"; +} +.icon-behance:before { + content: "\ead8"; +} +.icon-behance2:before { + content: "\ead9"; +} +.icon-deviantart:before { + content: "\eada"; +} +.icon-500px:before { + content: "\eadb"; +} +.icon-steam:before { + content: "\eadc"; +} +.icon-steam2:before { + content: "\eadd"; +} +.icon-dropbox:before { + content: "\eade"; +} +.icon-onedrive:before { + content: "\eadf"; +} +.icon-github:before { + content: "\eae0"; +} +.icon-npm:before { + content: "\eae1"; +} +.icon-basecamp:before { + content: "\eae2"; +} +.icon-trello:before { + content: "\eae3"; +} +.icon-wordpress:before { + content: "\eae4"; +} +.icon-joomla:before { + content: "\eae5"; +} +.icon-ello:before { + content: "\eae6"; +} +.icon-blogger:before { + content: "\eae7"; +} +.icon-blogger2:before { + content: "\eae8"; +} +.icon-tumblr2:before { + content: "\eae9"; +} +.icon-tumblr22:before { + content: "\eaea"; +} +.icon-yahoo:before { + content: "\eaeb"; +} +.icon-yahoo2:before { + content: "\eaec"; +} +.icon-tux:before { + content: "\eaed"; +} +.icon-appleinc:before { + content: "\eaee"; +} +.icon-finder:before { + content: "\eaef"; +} +.icon-android:before { + content: "\eaf0"; +} +.icon-windows:before { + content: "\eaf1"; +} +.icon-windows8:before { + content: "\eaf2"; +} +.icon-soundcloud:before { + content: "\eaf3"; +} +.icon-soundcloud2:before { + content: "\eaf4"; +} +.icon-skype:before { + content: "\eaf5"; +} +.icon-reddit:before { + content: "\eaf6"; +} +.icon-hackernews:before { + content: "\eaf7"; +} +.icon-wikipedia:before { + content: "\eaf8"; +} +.icon-linkedin2:before { + content: "\eaf9"; +} +.icon-linkedin22:before { + content: "\eafa"; +} +.icon-lastfm:before { + content: "\eafb"; +} +.icon-lastfm2:before { + content: "\eafc"; +} +.icon-delicious:before { + content: "\eafd"; +} +.icon-stumbleupon:before { + content: "\eafe"; +} +.icon-stumbleupon2:before { + content: "\eaff"; +} +.icon-stackoverflow:before { + content: "\eb00"; +} +.icon-pinterest:before { + content: "\eb01"; +} +.icon-pinterest2:before { + content: "\eb02"; +} +.icon-xing:before { + content: "\eb03"; +} +.icon-xing2:before { + content: "\eb04"; +} +.icon-flattr:before { + content: "\eb05"; +} +.icon-foursquare:before { + content: "\eb06"; +} +.icon-yelp:before { + content: "\eb07"; +} +.icon-paypal:before { + content: "\eb08"; +} +.icon-chrome:before { + content: "\eb09"; +} +.icon-firefox:before { + content: "\eb0a"; +} +.icon-IE:before { + content: "\eb0b"; +} +.icon-edge:before { + content: "\eb0c"; +} +.icon-safari:before { + content: "\eb0d"; +} +.icon-opera:before { + content: "\eb0e"; +} +.icon-file-pdf:before { + content: "\eb0f"; +} +.icon-file-openoffice:before { + content: "\eb10"; +} +.icon-file-word:before { + content: "\eb11"; +} +.icon-file-excel:before { + content: "\eb12"; +} +.icon-libreoffice:before { + content: "\eb13"; +} +.icon-html-five:before { + content: "\eb14"; +} +.icon-html-five2:before { + content: "\eb15"; +} +.icon-css3:before { + content: "\eb16"; +} +.icon-git:before { + content: "\eb17"; +} +.icon-codepen:before { + content: "\eb18"; +} +.icon-svg:before { + content: "\eb19"; +} +.icon-IcoMoon:before { + content: "\eb1a"; +} + diff --git a/static/css/owl.carousel.min.css b/static/css/owl.carousel.min.css new file mode 100644 index 0000000..133dec3 --- /dev/null +++ b/static/css/owl.carousel.min.css @@ -0,0 +1 @@ +.owl-carousel .animated{-webkit-animation-duration:1000ms;animation-duration:1000ms;-webkit-animation-fill-mode:both;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{-webkit-transition:height 500ms ease-in-out;-moz-transition:height 500ms ease-in-out;-ms-transition:height 500ms ease-in-out;-o-transition:height 500ms ease-in-out;transition:height 500ms ease-in-out}.owl-carousel{display:none;width:100%;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0px,0,0)}.owl-carousel .owl-controls .owl-dot,.owl-carousel .owl-controls .owl-nav .owl-next,.owl-carousel .owl-controls .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loaded{display:block}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel .owl-refresh .owl-item{display:none}.owl-carousel .owl-item{position:relative;min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-item img{display:block;width:100%;-webkit-transform-style:preserve-3d}.owl-carousel.owl-text-select-on .owl-item{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.owl-carousel .owl-grab{cursor:move;cursor:-webkit-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.no-js .owl-carousel{display:block}.owl-carousel .owl-item .owl-lazy{opacity:0;-webkit-transition:opacity 400ms ease;-moz-transition:opacity 400ms ease;-ms-transition:opacity 400ms ease;-o-transition:opacity 400ms ease;transition:opacity 400ms ease}.owl-carousel .owl-item img{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;-webkit-transition:scale 100ms ease;-moz-transition:scale 100ms ease;-ms-transition:scale 100ms ease;-o-transition:scale 100ms ease;transition:scale 100ms ease}.owl-carousel .owl-video-play-icon:hover{-webkit-transition:scale(1.3,1.3);-moz-transition:scale(1.3,1.3);-ms-transition:scale(1.3,1.3);-o-transition:scale(1.3,1.3);transition:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;-webkit-background-size:contain;-moz-background-size:contain;-o-background-size:contain;background-size:contain;-webkit-transition:opacity 400ms ease;-moz-transition:opacity 400ms ease;-ms-transition:opacity 400ms ease;-o-transition:opacity 400ms ease;transition:opacity 400ms ease}.owl-carousel .owl-video-frame{position:relative;z-index:1} \ No newline at end of file diff --git a/static/css/owl.theme.default.min.css b/static/css/owl.theme.default.min.css new file mode 100644 index 0000000..20aeee9 --- /dev/null +++ b/static/css/owl.theme.default.min.css @@ -0,0 +1,52 @@ +.owl-theme .owl-controls{margin-top:10px;text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-controls .owl-nav [class*=owl-]{color:#fff;font-size:14px;margin:5px;padding:4px 7px;background:#d6d6d6;display:inline-block;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:#869791;color:#fff;text-decoration:none}.owl-theme .owl-controls .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1;*display:inline}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#d6d6d6;display:block;-webkit-backface-visibility:visible;-webkit-transition:opacity 200ms ease;-moz-transition:opacity 200ms ease;-ms-transition:opacity 200ms ease;-o-transition:opacity 200ms ease;transition:opacity 200ms ease;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} + +/*.owl-theme .owl-controls { + margin-top:10px; + text-align:center; + -webkit-tap-highlight-color:transparent +} +.owl-theme .owl-controls .owl-nav[class*=owl-] { + color:#fff; + font-size:14px; + margin:5px; + padding:4px 7px; + background:#d6d6d6; + display:inline-block; + cursor:pointer; + -webkit-border-radius:3px; + -moz-border-radius:3px; + border-radius:3px +} +.owl-theme .owl-controls .owl-nav[class*=owl-]:hover { + background:#869791; + color:#fff; + text-decoration:none +} +.owl-theme .owl-controls .owl-nav .disabled { + opacity:.5; + cursor:default +} +.owl-theme .owl-dots .owl-dot { + display:inline-block; + zoom:1; + *display:inline +} +.owl-theme .owl-dots .owl-dot span { + width:10px; + height:10px; + margin:5px 7px; + background:#d6d6d6; + display:block; + -webkit-backface-visibility:visible; + -webkit-transition:opacity 200ms ease; + -moz-transition:opacity 200ms ease; + -ms-transition:opacity 200ms ease; + -o-transition:opacity 200ms ease; + transition:opacity 200ms ease; + -webkit-border-radius:30px; + -moz-border-radius:30px; + border-radius:30px +} +.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { + background:#869791 +}*/ \ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..c6ee35a --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,1429 @@ +@font-face { + font-family: 'icomoon'; + src: url("../fonts/icomoon/icomoon.eot?srf3rx"); + src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg"); + font-weight: normal; + font-style: normal; } + +/* ======================================================= +* +* Template Style +* Edit this section +* +* ======================================================= */ +body { + font-family: "Quicksand", Arial, sans-serif; + font-weight: 400; + font-size: 15px; + line-height: 1.8; + color: rgba(0, 0, 0, 0.7); } + @media screen and (max-width: 992px) { + body { + font-size: 16px; } } + +a { + color: #2c98f0; + -webkit-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; } + a:hover, a:active, a:focus { + color: #2c98f0; + outline: none; + text-decoration: none !important; } + +p { + margin-bottom: 1.5em; } + +h1, h2, h3, h4, h5, h6 { + color: #000; + font-family: "Playfair Display", Georgia, serif; + font-weight: 400; + margin: 0 0 30px 0; } + +figure { + margin-bottom: 2.5em; + float: left; + width: 100%; } + figure figcaption { + font-size: 16px; + width: 80%; + margin: 20px auto 0px auto; + color: #b3b3b3; + font-style: italic; + font-family: "Quicksand", Arial, sans-serif; } + @media screen and (max-width: 480px) { + figure figcaption { + width: 100%; } } + +::-webkit-selection { + color: #fff; + background: #2c98f0; } + +::-moz-selection { + color: #fff; + background: #2c98f0; } + +::selection { + color: #fff; + background: #2c98f0; } + +#colorlib-page { + width: 100%; + overflow: hidden; + position: relative; } + +#colorlib-aside { + padding-top: 3em; + padding-bottom: 40px; + float: left; + width: 300px; + position: fixed; + overflow-y: scroll; + z-index: 1001; + background: #f2f3f7; + -webkit-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; } + @media screen and (max-width: 768px) { + #colorlib-aside { + width: 300px; + -moz-transform: translateX(-300px); + -webkit-transform: translateX(-300px); + -ms-transform: translateX(-300px); + -o-transform: translateX(-300px); + transform: translateX(-300px); + padding-top: 4em; } } + #colorlib-aside .author-img { + width: 150px; + height: 150px; + margin: 0 auto; + margin-bottom: 30px; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + border-radius: 50%; } + #colorlib-aside .position { + display: block; + margin-bottom: 2em; + font-size: 12px; + text-transform: uppercase; } + #colorlib-aside #colorlib-logo { + text-align: right; + font-weight: 700; + font-size: 22px; + margin-bottom: .5em; + display: block; + width: 100%; } + #colorlib-aside #colorlib-logo a { + display: block; + text-align: center; + color: #000; + padding-right: .3em; } + #colorlib-aside #colorlib-main-menu { + display: block; + width: 100%; } + #colorlib-aside #colorlib-main-menu .collapse { + display: block !important; } + #colorlib-aside #colorlib-main-menu ul { + text-align: center; + margin: 0; + padding: 0; } + @media screen and (max-width: 768px) { + #colorlib-aside #colorlib-main-menu ul { + margin: 0 0 2em 0; } } + #colorlib-aside #colorlib-main-menu ul li { + margin: 0 0 10px 0; + padding: 0; + list-style: none; + font-size: 12px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 1px; } + #colorlib-aside #colorlib-main-menu ul li a { + color: rgba(0, 0, 0, 0.7); + text-decoration: none; + position: relative; + padding: 10px 0; + font-family: "Quicksand", Arial, sans-serif; + -webkit-transition: 0.3s; + -o-transition: 0.3s; + transition: 0.3s; } + #colorlib-aside #colorlib-main-menu ul li a:after { + content: ""; + position: absolute; + height: 1px; + bottom: 7px; + left: 0; + right: 0; + background-color: #2c98f0; + visibility: hidden; + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -ms-transform: scaleX(0); + -o-transform: scaleX(0); + transform: scaleX(0); + -webkit-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + -moz-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + -ms-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + -o-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } + #colorlib-aside #colorlib-main-menu ul li a:hover { + text-decoration: none; + color: black; } + #colorlib-aside #colorlib-main-menu ul li a:hover:after { + visibility: visible; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -ms-transform: scaleX(1); + -o-transform: scaleX(1); + transform: scaleX(1); } + #colorlib-aside #colorlib-main-menu ul li.active a { + color: #2c98f0; } + #colorlib-aside #colorlib-main-menu ul li.active a:after { + visibility: visible; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -ms-transform: scaleX(1); + -o-transform: scaleX(1); + transform: scaleX(1); } + #colorlib-aside .colorlib-footer { + font-size: 15px; + text-align: center; + font-weight: 400; + color: rgba(0, 0, 0, 0.5); + padding: 0 20px; + width: 100%; } + @media screen and (max-width: 768px) { + #colorlib-aside .colorlib-footer { + position: relative; + bottom: 0; } } + #colorlib-aside .colorlib-footer span { + display: block; } + #colorlib-aside .colorlib-footer ul { + padding: 0; + margin: 0; } + #colorlib-aside .colorlib-footer ul li { + padding: 0; + margin: 0; + display: inline; + list-style: none; } + #colorlib-aside .colorlib-footer ul li a { + color: rgba(255, 255, 255, 0.3); + padding: 4px; } + #colorlib-aside .colorlib-footer ul li a:hover, #colorlib-aside .colorlib-footer ul li a:active, #colorlib-aside .colorlib-footer ul li a:focus { + text-decoration: none; + outline: none; + color: #2c98f0; } + +.container-wrap { + max-width: 1170px; + margin: 0 auto; } + +#colorlib-main { + width: calc(100% - 300px); + float: right; + -webkit-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; } + @media screen and (max-width: 768px) { + #colorlib-main { + width: 100%; + padding: 0 1em; } } + +#colorlib-hero { + min-height: 500px; + background: #fff url(../images/loader.gif) no-repeat center center; + width: 100%; + float: left; + margin-bottom: 10em; + clear: both; } + #colorlib-hero .flexslider { + border: none; + z-index: 1; + margin-bottom: 0; } + #colorlib-hero .flexslider .slides { + position: relative; + overflow: visible; } + #colorlib-hero .flexslider .slides li { + background-repeat: no-repeat; + background-size: cover; + background-position: bottom center; + min-height: 400px; + position: relative; } + #colorlib-hero .flexslider .flex-control-nav { + bottom: 20px; + z-index: 1000; + left: 20px; + float: left; + width: auto; } + @media screen and (max-width: 768px) { + #colorlib-hero .flexslider .flex-control-nav { + right: 20px; + top: 100px; } } + #colorlib-hero .flexslider .flex-control-nav li { + display: block; + margin-bottom: 10px; } + #colorlib-hero .flexslider .flex-control-nav li a { + background: rgba(0, 0, 0, 0.5); + -webkit-box-shadow: none; + box-shadow: none; + width: 12px; + height: 12px; + cursor: pointer; } + #colorlib-hero .flexslider .flex-control-nav li a.flex-active { + cursor: pointer; + background: transparent; + border: 2px solid #2c98f0; } + #colorlib-hero .flexslider .flex-direction-nav { + display: none; } + #colorlib-hero .flexslider .slider-text { + display: table; + opacity: 0; + min-height: 500px; + z-index: 9; } + #colorlib-hero .flexslider .slider-text > .slider-text-inner { + display: table-cell; + vertical-align: middle; + min-height: 700px; + padding: 2.5em; + position: relative; } + @media screen and (max-width: 768px) { + #colorlib-hero .flexslider .slider-text > .slider-text-inner { + text-align: center; } } + #colorlib-hero .flexslider .slider-text > .slider-text-inner h1, #colorlib-hero .flexslider .slider-text > .slider-text-inner h2 { + margin: 0; + padding: 0; + color: black; + font-family: "Playfair Display", Georgia, serif; } + #colorlib-hero .flexslider .slider-text > .slider-text-inner h1 { + margin-bottom: 20px; + font-size: 60px; + line-height: 1.3; + font-weight: 700; } + @media screen and (max-width: 768px) { + #colorlib-hero .flexslider .slider-text > .slider-text-inner h1 { + font-size: 28px; } } + #colorlib-hero .flexslider .slider-text > .slider-text-inner h2 { + font-size: 18px; + line-height: 1.5; + margin-bottom: 30px; + font-weight: 300; + font-family: "Quicksand", Arial, sans-serif; } + #colorlib-hero .flexslider .slider-text > .slider-text-inner h2 a { + color: rgba(44, 152, 240, 0.8); + border-bottom: 1px solid rgba(44, 152, 240, 0.7); } + #colorlib-hero .flexslider .slider-text > .slider-text-inner .heading-section { + font-size: 50px; } + @media screen and (max-width: 768px) { + #colorlib-hero .flexslider .slider-text > .slider-text-inner .heading-section { + font-size: 30px; } } + #colorlib-hero .flexslider .slider-text > .slider-text-inner s +.colorlib-lead { + font-size: 20px; + color: #fff; } + #colorlib-hero .flexslider .slider-text > .slider-text-inner p { + margin-bottom: 0; } + #colorlib-hero .flexslider .slider-text > .slider-text-inner .btn { + font-size: 12px; + text-transform: uppercase; + letter-spacing: 2px; + color: #000; + padding: 10px 15px !important; + border: none; + font-weight: 400; } + #colorlib-hero .flexslider .slider-text > .slider-text-inner .btn.btn-learn { + color: #000; + border: 1px solid #000; + background: transparent !important; } + #colorlib-hero .flexslider .slider-text > .slider-text-inner .btn.btn-learn:hover { + background: transparent !important; + border: 1px solid #000 !important; } + @media screen and (max-width: 768px) { + #colorlib-hero .flexslider .slider-text > .slider-text-inner .btn { + width: 100%; } } + +body.offcanvas { + overflow-x: hidden; } + body.offcanvas #colorlib-aside { + -moz-transform: translateX(0); + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); + width: 300px; + background: #f2f3f7; + z-index: 999; + position: fixed; } + body.offcanvas #colorlib-main, body.offcanvas .colorlib-nav-toggle { + top: 0; + -moz-transform: translateX(300px); + -webkit-transform: translateX(300px); + -ms-transform: translateX(300px); + -o-transform: translateX(300px); + transform: translateX(300px); } + +.colorlib-narrow-content { + padding: 0 2.5em; } + @media screen and (max-width: 768px) { + .colorlib-narrow-content { + padding: 0; } } + +.no-gutters { + margin: 0; + padding: 0; } + +.colorlib-experience, +.colorlib-skills, +.colorlib-education, +.colorlib-blog, +.colorlib-work, +.colorlib-about, +.colorlib-services, +.colorlib-contact { + padding-top: 4em; + padding-bottom: 9em; + clear: both; + width: 100%; + display: block; } + @media screen and (max-width: 768px) { + .colorlib-experience, + .colorlib-skills, + .colorlib-education, + .colorlib-blog, + .colorlib-work, + .colorlib-about, + .colorlib-services, + .colorlib-contact { + padding-top: 5em; + padding-bottom: 8em; } } + +.author-img { + background-size: cover; + background-position: center center; + background-repeat: no-repeat; + position: relative; } + +.colorlib-heading { + font-size: 18px; + margin-bottom: 4em; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 5px; + line-height: 1.8; + position: relative; } + .colorlib-heading span { + display: block; } + @media screen and (max-width: 768px) { + .colorlib-heading { + margin-bottom: 3em; } } + +.heading-meta { + margin-bottom: 15px; + display: block; + font-size: 10px; + text-transform: uppercase; + color: #999999; + font-weight: 500; + letter-spacing: 5px; } + +.about-img { + width: 100%; + height: 600px; + margin-bottom: 30px; } + +.about-desc h3 { + font-size: 18px; + text-transform: uppercase; + letter-spacing: 5px; + font-weight: 500; } + +.hire { + padding: 2em; + background: #f9bf3f; } + .hire h2 { + line-height: 1.5; } + .hire .btn-hire { + color: #000; + text-transform: uppercase; + letter-spacing: 1px; + bordeR: 1px solid #000; + padding: 2px 10px; } + +.fancy-collapse-panel .panel-default > .panel-heading { + padding: 0; } + +.panel-heading a { + padding: 20px 25px; + display: block; + width: 100%; + font-weight: 500; + font-size: 14px; + letter-spacing: 1px; + text-transform: uppercase; + font-family: "Quicksand", Arial, sans-serif; + background-color: #2c98f0; + color: #fff; + position: relative; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + -ms-box-shadow: none !important; + -o-box-shadow: none !important; + box-shadow: none !important; } + +.panel { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + -ms-box-shadow: none !important; + -o-box-shadow: none !important; + box-shadow: none !important; + border: none; } + +.panel-heading a:after { + font-family: "icomoon"; + content: "\e115"; + position: absolute; + right: 20px; + font-size: 14px; + font-weight: 400; + top: 50%; + line-height: 1; + margin-top: -7px; } + +.panel-heading a.collapsed:after { + content: "\e114"; } + +.panel-heading a.collapsed { + background: #f2f3f7; + border: 1px solid #e6e6e6 !important; + color: #333333; } + +.panel-body { + padding: 1.5em; + margin-top: 5px; + border: 1px solid #e6e6e6 !important; } + +.timeline-centered { + position: relative; + margin-bottom: 30px; } + +.timeline-centered:before, .timeline-centered:after { + content: " "; + display: table; } + +.timeline-centered:after { + clear: both; } + +.timeline-centered:before, .timeline-centered:after { + content: " "; + display: table; } + +.timeline-centered:after { + clear: both; } + +.timeline-centered:before { + content: ''; + position: absolute; + display: block; + width: 4px; + background: #f2f3f7; + top: 20px; + bottom: 20px; + margin-left: 29px; } + +.timeline-centered .timeline-entry { + position: relative; + margin-top: 5px; + margin-left: 30px; + margin-bottom: 10px; + clear: both; } + +.timeline-centered .timeline-entry .timeline-entry-inner { + position: relative; + margin-left: -20px; } + +.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon { + display: block; + width: 40px; + height: 40px; + background: #2c98f0; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + border-radius: 50%; + text-align: center; + -moz-box-shadow: 0 0 0 5px #f2f3f7; + -webkit-box-shadow: 0 0 0 5px #f2f3f7; + box-shadow: 0 0 0 5px #f2f3f7; + line-height: 40px; + float: left; } + .timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon i { + color: #fff; } + .timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-2 { + background: #ec5453; } + .timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-3 { + background: #f9bf3f; } + .timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-4 { + background: #a84cb8; } + .timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-5 { + background: #2fa499; } + .timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-none { + background: #fff; + width: 20px; + height: 20px; + margin-left: 10px; } + +.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label { + position: relative; + background: #f2f3f7; + padding: 1.5em; + margin-left: 60px; + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; } + +.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:after { + content: ''; + display: block; + position: absolute; + width: 0; + height: 0; + border-style: solid; + border-width: 9px 9px 9px 0; + border-color: transparent #f2f3f7 transparent transparent; + left: 0; + top: 10px; + margin-left: -9px; } + +.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label p + p { + margin-top: 15px; } + +.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h2 { + font-size: 20px; + font-family: "Quicksand", Arial, sans-serif; + font-weight: 500; } + +.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h2 a { + color: #000; } + +.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h2 span { + -webkit-opacity: .4; + -moz-opacity: .4; + opacity: .4; + -ms-filter: alpha(opacity=40); + filter: alpha(opacity=40); + font-size: 16px; } + +.services { + margin-bottom: 30px; + padding: 1.5em; + -webkit-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17); + -moz-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17); + -ms-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17); + -o-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17); + box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17); + border-bottom: 2px solid #2c98f0; } + .services .icon2 { + display: block; + margin-bottom: 20px; } + .services .icon2 i { + font-size: 30px; + color: #2c98f0; } + .services h3 { + font-family: "Quicksand", Arial, sans-serif; + font-size: 16px; + font-weight: 500; } + .services.color-2 { + border-bottom: 2px solid #ec5453; } + .services.color-2 .icon2 i { + color: #ec5453; } + .services.color-3 { + border-bottom: 2px solid #f9bf3f; } + .services.color-3 .icon2 i { + color: #f9bf3f; } + .services.color-4 { + border-bottom: 2px solid #a84cb8; } + .services.color-4 .icon2 i { + color: #a84cb8; } + .services.color-5 { + border-bottom: 2px solid #2fa499; } + .services.color-6 { + border-bottom: 2px solid #4054b2; } + +.services { + margin-bottom: 80px; + position: relative; + z-index: 0; } + @media screen and (max-width: 768px) { + .services { + margin-bottom: 4em; } } + .services .icon { + position: absolute; + top: -20px; + left: 0; + right: 0; + width: 100px; + height: 50px; + display: table; + margin: 0 auto; + background: #2c98f0; } + .services .icon:before, .services .icon:after { + position: absolute; + left: 0; + right: 0; + content: ''; } + .services .icon:before { + top: -30px; + width: 0; + height: 0; + border-style: solid; + border-width: 0 50px 30px 50px; + border-color: transparent transparent #2c98f0 transparent; } + .services .icon:after { + bottom: -30px; + width: 0; + height: 0; + border-style: solid; + border-width: 30px 50px 0 50px; + border-color: #2c98f0 transparent transparent transparent; } + .services .icon i { + font-size: 30px; + color: #fff; + z-index: 1; + display: table-cell; + vertical-align: middle; } + .services .desc { + margin-top: 60px; } + .services .desc h3 { + font-size: 16px; + font-weight: 700; + text-transform: uppercase; } + .services.color-2 .icon { + background: #ec5453; } + .services.color-2 .icon:before { + border-color: transparent transparent #ec5453 transparent; } + .services.color-2 .icon:after { + border-color: #ec5453 transparent transparent transparent; } + .services.color-3 .icon { + background: #f9bf3f; } + .services.color-3 .icon:before { + border-color: transparent transparent #f9bf3f transparent; } + .services.color-3 .icon:after { + border-color: #f9bf3f transparent transparent transparent; } + .services.color-4 .icon { + background: #a84cb8; } + .services.color-4 .icon:before { + border-color: transparent transparent #a84cb8 transparent; } + .services.color-4 .icon:after { + border-color: #a84cb8 transparent transparent transparent; } + .services.color-5 .icon { + background: #2fa499; } + .services.color-5 .icon:before { + border-color: transparent transparent #2fa499 transparent; } + .services.color-5 .icon:after { + border-color: #2fa499 transparent transparent transparent; } + .services.color-6 .icon { + background: #4054b2; } + .services.color-6 .icon:before { + border-color: transparent transparent #4054b2 transparent; } + .services.color-6 .icon:after { + border-color: #4054b2 transparent transparent transparent; } + +.progress-wrap h3 { + font-size: 16px; + font-family: "Quicksand", Arial, sans-serif; + margin-bottom: 10px; } + +.progress { + height: 6px; + -webkit-box-shadow: none; + box-shadow: none; + background: #f2f3f7; + overflow: visible; } + +.progress-bar { + background: #2c98f0; + -webkit-box-shadow: none; + box-shadow: none; + font-size: 12px; + line-height: 1.2; + color: #000; + font-weight: 600; + text-align: right; + position: relative; + overflow: visible; + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + -ms-border-radius: 8px; + border-radius: 8px; } + .progress-bar:after { + position: absolute; + top: -2px; + right: 0; + width: 10px; + height: 10px; + content: ''; + background: #2c98f0; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + border-radius: 50%; } + .progress-bar span { + position: absolute; + top: -22px; + right: 0; } + .progress-bar.color-1 { + background: #2c98f0; } + .progress-bar.color-1:after { + background: #2c98f0; } + .progress-bar.color-1 span { + color: #2c98f0; } + .progress-bar.color-2 { + background: #ec5453; } + .progress-bar.color-2:after { + background: #ec5453; } + .progress-bar.color-2 span { + color: #ec5453; } + .progress-bar.color-3 { + background: #f9bf3f; } + .progress-bar.color-3:after { + background: #f9bf3f; } + .progress-bar.color-3 span { + color: #f9bf3f; } + .progress-bar.color-4 { + background: #a84cb8; } + .progress-bar.color-4:after { + background: #a84cb8; } + .progress-bar.color-4 span { + color: #a84cb8; } + .progress-bar.color-5 { + background: #2fa499; } + .progress-bar.color-5:after { + background: #2fa499; } + .progress-bar.color-5 span { + color: #2fa499; } + .progress-bar.color-6 { + background: #4054b2; } + .progress-bar.color-6:after { + background: #4054b2; } + .progress-bar.color-6 span { + color: #4054b2; } + +.colorlib-feature { + text-align: left; + width: 100%; + float: left; + margin-bottom: 40px; + position: relative; } + .colorlib-feature .colorlib-icon { + position: absolute; + top: 0; + left: 0; + width: 100px; + height: 100px; + display: table; + text-align: center; + background: #f2f3f7; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + border-radius: 2px; } + .colorlib-feature .colorlib-icon i { + display: table-cell; + vertical-align: middle; + color: #2c98f0; + font-size: 60px; + height: 100px; } + @media screen and (max-width: 1200px) { + .colorlib-feature .colorlib-icon i { + font-size: 40px; } } + .colorlib-feature .colorlib-text { + padding-left: 120px; + width: 100%; } + .colorlib-feature .colorlib-text h2, .colorlib-feature .colorlib-text h3 { + margin: 0; + padding: 0; } + .colorlib-feature .colorlib-text h3 { + font-weight: 500; + margin-bottom: 20px; + color: rgba(0, 0, 0, 0.7); + font-size: 14px; + letter-spacing: 3px; + text-transform: uppercase; } + .colorlib-feature.colorlib-feature-sm .colorlib-text { + margin-top: 30px; } + .colorlib-feature.colorlib-feature-sm .colorlib-icon i { + color: #2c98f0; + font-size: 40px; } + @media screen and (max-width: 1200px) { + .colorlib-feature.colorlib-feature-sm .colorlib-icon i { + font-size: 28px; } } + +.blog-entry { + width: 100%; + float: left; + background: #fff; + margin-bottom: 3em; } + @media screen and (max-width: 768px) { + .blog-entry { + margin-bottom: 3em; } } + .blog-entry .blog-img { + width: 100%; + float: left; + overflow: hidden; + position: relative; + z-index: 1; + margin-bottom: 25px; } + .blog-entry .blog-img img { + position: relative; + max-width: 100%; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + -webkit-transition: 0.3s; + -o-transition: 0.3s; + transition: 0.3s; } + .blog-entry .desc h3 { + font-size: 16px; + margin-bottom: 25px; + line-height: auto; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 1px; + font-family: "Quicksand", Arial, sans-serif; } + .blog-entry .desc h3 a { + color: #000; + text-decoration: none; } + .blog-entry .desc span { + display: block; + margin-bottom: 20px; + font-size: 12px; + color: rgba(0, 0, 0, 0.4) !important; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 400; } + .blog-entry .desc span small i { + color: #999999; } + .blog-entry .desc .lead { + font-size: 12px; + text-transform: uppercase; + letter-spacing: 2px; + color: #000; } + .blog-entry:hover .blog-img img { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -ms-transform: scale(1.1); + -o-transform: scale(1.1); + transform: scale(1.1); } + +.work-menu span { + margin-left: 10px; } + .work-menu span:first-child { + margin-left: 0; } + .work-menu span a { + color: #000; } + .work-menu span a.active { + color: #2c98f0; } + +.project { + background-size: cover; + background-position: center center; + background-repeat: no-repeat; + position: relative; + height: 300px; + width: 100%; + display: block; + margin-bottom: 30px; } + .project .desc { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #2c98f0; + opacity: 0; + -webkit-transition: 0.3s; + -o-transition: 0.3s; + transition: 0.3s; } + .project .desc .con { + padding: 20px; + display: block; + position: relative; + height: 300px; } + .project .desc .con .icon { + position: absolute; + bottom: 20px; + left: 20px; + right: 20px; } + .project .desc .con .icon span { + display: inline; + padding-right: 5px; } + .project .desc .con .icon span a { + color: #333333; + padding: 5px; + background: rgba(255, 255, 255, 0.5); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + border-radius: 4px; } + .project .desc .con .icon i { + font-size: 16px; + color: #333333; } + .project .desc h3 { + font-family: "Quicksand", Arial, sans-serif; + font-size: 16px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 1px; + -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; + -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; + transition: opacity 0.3s, -webkit-transform 0.3s; + -o-transition: transform 0.3s, opacity 0.3s; + transition: transform 0.3s, opacity 0.3s; + transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + margin-bottom: 15px; } + .project .desc h3 a { + color: #fff; } + .project .desc span { + display: block; + color: rgba(255, 255, 255, 0.7); + font-size: 13px; + -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; + -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; + transition: opacity 0.3s, -webkit-transform 0.3s; + -o-transition: transform 0.3s, opacity 0.3s; + transition: transform 0.3s, opacity 0.3s; + transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; + -webkit-transform: translate3d(0, 15px, 0); + transform: translate3d(0, 15px, 0); } + .project .desc span a { + color: #000; } + @media screen and (max-width: 768px) { + .project .desc { + opacity: 1; + background: rgba(0, 0, 0, 0.4); } + .project .desc h3 { + font-style: 28px; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + color: #000; } + .project .desc span { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + .project:hover .desc { + opacity: 1; } + .project:hover .desc h3 { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + .project:hover .desc span { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.btn-load-more { + width: 100%; } + +#colorlib-counter { + position: relative; + clear: both; + margin-bottom: 5em; } + +.colorlib-counters { + padding: 3em 0; + background-size: cover; + background-attachment: fixed; + background-position: center center; } + .colorlib-counters .overlay { + z-index: 0; + position: absolute; + bottom: 0; + top: 0; + left: 0; + right: 0; + background: rgba(0, 0, 0, 0.4); } + .colorlib-counters .icon { + width: 100px; + height: 100px; + display: table; + margin: 0 auto; + margin-bottom: 20px; } + .colorlib-counters .icon i { + display: table-cell; + vertical-align: middle; + width: 100px; + height: 100px; + font-size: 50px; + color: #2c98f0; + background: #fff; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + border-radius: 50%; } + .colorlib-counters .counter-wrap { + border: 1px solid red !important; } + .colorlib-counters .colorlib-counter { + font-size: 40px; + display: block; + color: white; + font-family: "Quicksand", Arial, sans-serif; + width: 100%; + font-weight: 700; + margin-bottom: .3em; } + .colorlib-counters .colorlib-counter-label { + color: rgba(255, 255, 255, 0.7); + text-transform: uppercase; + font-size: 14px; + letter-spacing: 5px; + margin-bottom: 2em; + display: block; } + +.colorlib-social { + padding: 0; + margin: 0; + text-align: center; } + .colorlib-social li { + padding: 0; + margin: 0; + list-style: none; + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; } + .colorlib-social li a { + font-size: 22px; + color: #000; + padding: 10px; + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; + -webkit-border-radius: 7px; + -moz-border-radius: 7px; + -ms-border-radius: 7px; + border-radius: 7px; } + @media screen and (max-width: 768px) { + .colorlib-social li a { + padding: 10px 8px; } } + .colorlib-social li a:hover { + color: #2c98f0; } + .colorlib-social li a:hover, .colorlib-social li a:active, .colorlib-social li a:focus { + outline: none; + text-decoration: none; + color: #2c98f0; } + +#map { + width: 100%; + height: 700px; } + @media screen and (max-width: 768px) { + #map { + height: 200px; } } + +.colorlib-bg-color { + background: #fafafa; + position: relative; } + +.pagination { + padding: 0; } + .pagination li { + margin: 2px; } + .pagination li a { + color: #000; + background: transparent; + color: #000; + margin: 2px; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + border-radius: 0; } + .pagination li a:first-child { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + border-radius: 2px; } + .pagination li a:hover, .pagination li a:focus { + background: #2c98f0; + color: #fff; + border: 1px solid #2c98f0; } + @media screen and (max-width: 768px) { + .pagination li a { + padding: 7px 15px; } } + .pagination li.active a { + background: #2c98f0; + border: 1px solid #2c98f0 !important; } + .pagination li.active a:hover, .pagination li.active a:focus { + background: #2c98f0; + color: #fff; + border: 1px solid #2c98f0 !important; } + +.btn { + margin-right: 4px; + margin-bottom: 4px; + font-family: "Quicksand", Arial, sans-serif; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; + letter-spacing: 1px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + border-radius: 2px; + -webkit-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; + padding: 8px 15px !important; } + .btn.btn-sm { + padding: 4px 15px !important; } + .btn.btn-md { + padding: 8px 20px !important; } + .btn.btn-lg { + padding: 18px 36px !important; } + .btn:hover, .btn:active, .btn:focus { + -webkit-box-shadow: none !important; + box-shadow: none !important; + outline: none !important; } + +.btn-primary { + background: #2c98f0; + color: #fff; + border: 2px solid #2c98f0; } + .btn-primary:hover, .btn-primary:focus, .btn-primary:active { + background: #44a4f2 !important; + border-color: #44a4f2 !important; } + .btn-primary.btn-outline { + background: transparent; + color: #2c98f0; + border: 2px solid #2c98f0; } + .btn-primary.btn-outline:hover, .btn-primary.btn-outline:focus, .btn-primary.btn-outline:active { + background: #2c98f0; + color: #fff; } + +.btn-success { + background: #5cb85c; + color: #fff; + border: 2px solid #5cb85c; } + .btn-success:hover, .btn-success:focus, .btn-success:active { + background: #4cae4c !important; + border-color: #4cae4c !important; } + .btn-success.btn-outline { + background: transparent; + color: #5cb85c; + border: 2px solid #5cb85c; } + .btn-success.btn-outline:hover, .btn-success.btn-outline:focus, .btn-success.btn-outline:active { + background: #5cb85c; + color: #fff; } + +.btn-info { + background: #5bc0de; + color: #fff; + border: 2px solid #5bc0de; } + .btn-info:hover, .btn-info:focus, .btn-info:active { + background: #46b8da !important; + border-color: #46b8da !important; } + .btn-info.btn-outline { + background: transparent; + color: #5bc0de; + border: 2px solid #5bc0de; } + .btn-info.btn-outline:hover, .btn-info.btn-outline:focus, .btn-info.btn-outline:active { + background: #5bc0de; + color: #fff; } + +.btn-warning { + background: #f0ad4e; + color: #fff; + border: 2px solid #f0ad4e; } + .btn-warning:hover, .btn-warning:focus, .btn-warning:active { + background: #eea236 !important; + border-color: #eea236 !important; } + .btn-warning.btn-outline { + background: transparent; + color: #f0ad4e; + border: 2px solid #f0ad4e; } + .btn-warning.btn-outline:hover, .btn-warning.btn-outline:focus, .btn-warning.btn-outline:active { + background: #f0ad4e; + color: #fff; } + +.btn-danger { + background: #d9534f; + color: #fff; + border: 2px solid #d9534f; } + .btn-danger:hover, .btn-danger:focus, .btn-danger:active { + background: #d43f3a !important; + border-color: #d43f3a !important; } + .btn-danger.btn-outline { + background: transparent; + color: #d9534f; + border: 2px solid #d9534f; } + .btn-danger.btn-outline:hover, .btn-danger.btn-outline:focus, .btn-danger.btn-outline:active { + background: #d9534f; + color: #fff; } + +.btn-outline { + background: none; + border: 2px solid gray; + font-size: 16px; + -webkit-transition: 0.3s; + -o-transition: 0.3s; + transition: 0.3s; } + .btn-outline:hover, .btn-outline:focus, .btn-outline:active { + -webkit-box-shadow: none; + box-shadow: none; } + +.form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-box-shadow: none; + box-shadow: none; + background: transparent; + border: transparent; + background: #f2f3f7; + height: 54px; + font-size: 16px; + font-weight: 400; + -webkit-transition: 0.3s; + -o-transition: 0.3s; + transition: 0.3s; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + border-radius: 0; } + .form-control:active, .form-control:focus { + outline: none; + -webkit-box-shadow: none; + box-shadow: none; + border-color: transparent; + background: #f0f0f0; } + +#message { + height: 130px; } + +.colorlib-nav-toggle { + cursor: pointer; + text-decoration: none; } + .colorlib-nav-toggle.active i::before, .colorlib-nav-toggle.active i::after { + background: #000; } + .colorlib-nav-toggle.dark.active i::before, .colorlib-nav-toggle.dark.active i::after { + background: #000; } + .colorlib-nav-toggle:hover, .colorlib-nav-toggle:focus, .colorlib-nav-toggle:active { + outline: none; + border-bottom: none !important; } + .colorlib-nav-toggle i { + position: relative; + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; + width: 30px; + height: 2px; + color: #000; + font: bold 14px/.4 Helvetica; + text-transform: uppercase; + text-indent: -55px; + background: #000; + -webkit-transition: all .2s ease-out; + -o-transition: all .2s ease-out; + transition: all .2s ease-out; } + .colorlib-nav-toggle i::before, .colorlib-nav-toggle i::after { + content: ''; + width: 30px; + height: 2px; + background: #000; + position: absolute; + left: 0; + -webkit-transition: 0.2s; + -o-transition: 0.2s; + transition: 0.2s; } + .colorlib-nav-toggle.dark i { + position: relative; + color: #000; + background: #000; + -webkit-transition: all .2s ease-out; + -o-transition: all .2s ease-out; + transition: all .2s ease-out; } + .colorlib-nav-toggle.dark i::before, .colorlib-nav-toggle.dark i::after { + background: #000; + -webkit-transition: 0.2s; + -o-transition: 0.2s; + transition: 0.2s; } + +.colorlib-nav-toggle i::before { + top: -7px; } + +.colorlib-nav-toggle i::after { + bottom: -7px; } + +.colorlib-nav-toggle:hover i::before { + top: -10px; } + +.colorlib-nav-toggle:hover i::after { + bottom: -10px; } + +.colorlib-nav-toggle.active i { + background: transparent; } + +.colorlib-nav-toggle.active i::before { + top: 0; + -webkit-transform: rotateZ(45deg); + -moz-transform: rotateZ(45deg); + -ms-transform: rotateZ(45deg); + -o-transform: rotateZ(45deg); + transform: rotateZ(45deg); } + +.colorlib-nav-toggle.active i::after { + bottom: 0; + -webkit-transform: rotateZ(-45deg); + -moz-transform: rotateZ(-45deg); + -ms-transform: rotateZ(-45deg); + -o-transform: rotateZ(-45deg); + transform: rotateZ(-45deg); } + +.colorlib-nav-toggle { + position: fixed; + left: -5px; + top: 0px; + z-index: 9999; + cursor: pointer; + opacity: 1; + visibility: hidden; + padding: 20px; + -webkit-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; } + @media screen and (max-width: 768px) { + .colorlib-nav-toggle { + opacity: 1; + visibility: visible; } } + +@media screen and (max-width: 480px) { + .col-xxs-12 { + float: none; + width: 100%; } } + +.row-bottom-padded-lg { + padding-bottom: 7em; } + @media screen and (max-width: 768px) { + .row-bottom-padded-lg { + padding-bottom: 1em; } } + +.row-bottom-padded-md { + padding-bottom: 3em; } + @media screen and (max-width: 768px) { + .row-bottom-padded-md { + padding-bottom: 1em; } } + +.row-bottom-padded-sm { + padding-bottom: 1em; } + @media screen and (max-width: 768px) { + .row-bottom-padded-sm { + padding-bottom: 1em; } } + +.row-pt-md { + padding-top: 3em; } + +.col-padding { + padding: 10px !important; } + +.js .animate-box { + opacity: 0; } diff --git a/static/css/style.css.map b/static/css/style.css.map new file mode 100644 index 0000000..8de2a66 --- /dev/null +++ b/static/css/style.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/style.scss","../sass/bootstrap/_variables.scss","../sass/bootstrap/mixins/_vendor-prefixes.scss"], +"names": [], +"file": "style.css" +} \ No newline at end of file diff --git a/static/fonts/bootstrap/glyphicons-halflings-regular.eot b/static/fonts/bootstrap/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..b93a495 Binary files /dev/null and b/static/fonts/bootstrap/glyphicons-halflings-regular.eot differ diff --git a/static/fonts/bootstrap/glyphicons-halflings-regular.svg b/static/fonts/bootstrap/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..94fb549 --- /dev/null +++ b/static/fonts/bootstrap/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/fonts/bootstrap/glyphicons-halflings-regular.ttf b/static/fonts/bootstrap/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..1413fc6 Binary files /dev/null and b/static/fonts/bootstrap/glyphicons-halflings-regular.ttf differ diff --git a/static/fonts/bootstrap/glyphicons-halflings-regular.woff b/static/fonts/bootstrap/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..9e61285 Binary files /dev/null and b/static/fonts/bootstrap/glyphicons-halflings-regular.woff differ diff --git a/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 b/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000..64539b5 Binary files /dev/null and b/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 differ diff --git a/static/fonts/icomoon/icomoon.eot b/static/fonts/icomoon/icomoon.eot new file mode 100644 index 0000000..b09cf94 Binary files /dev/null and b/static/fonts/icomoon/icomoon.eot differ diff --git a/static/fonts/icomoon/icomoon.svg b/static/fonts/icomoon/icomoon.svg new file mode 100644 index 0000000..fc424d3 --- /dev/null +++ b/static/fonts/icomoon/icomoon.svg @@ -0,0 +1,598 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/fonts/icomoon/icomoon.ttf b/static/fonts/icomoon/icomoon.ttf new file mode 100644 index 0000000..9396251 Binary files /dev/null and b/static/fonts/icomoon/icomoon.ttf differ diff --git a/static/fonts/icomoon/icomoon.woff b/static/fonts/icomoon/icomoon.woff new file mode 100644 index 0000000..0019db9 Binary files /dev/null and b/static/fonts/icomoon/icomoon.woff differ diff --git a/static/images/about.jpg b/static/images/about.jpg new file mode 100644 index 0000000..dd10764 Binary files /dev/null and b/static/images/about.jpg differ diff --git a/static/images/img_bg_1.jpg b/static/images/img_bg_1.jpg new file mode 100644 index 0000000..335eb6d Binary files /dev/null and b/static/images/img_bg_1.jpg differ diff --git a/static/img/bg.jpg b/static/img/bg.jpg new file mode 100644 index 0000000..372f856 Binary files /dev/null and b/static/img/bg.jpg differ diff --git a/static/js/bootstrap.min.js b/static/js/bootstrap.min.js new file mode 100644 index 0000000..133aeec --- /dev/null +++ b/static/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/static/js/google_map.js b/static/js/google_map.js new file mode 100644 index 0000000..a040ede --- /dev/null +++ b/static/js/google_map.js @@ -0,0 +1,49 @@ + +var google; + +function init() { + // Basic options for a simple Google Map + // For more options see: https://developers.google.com/maps/documentation/javascript/reference#MapOptions + // var myLatlng = new google.maps.LatLng(40.71751, -73.990922); + var myLatlng = new google.maps.LatLng(40.69847032728747, -73.9514422416687); + // 39.399872 + // -8.224454 + + var mapOptions = { + // How zoomed in you want the map to start at (always required) + zoom: 7, + + // The latitude and longitude to center the map (always required) + center: myLatlng, + + // How you would like to style the map. + scrollwheel: false, + styles: [{"featureType":"administrative.land_parcel","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"landscape.man_made","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"poi","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"road","elementType":"labels","stylers":[{"visibility":"simplified"},{"lightness":20}]},{"featureType":"road.highway","elementType":"geometry","stylers":[{"hue":"#f49935"}]},{"featureType":"road.highway","elementType":"labels","stylers":[{"visibility":"simplified"}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"hue":"#fad959"}]},{"featureType":"road.arterial","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"visibility":"simplified"}]},{"featureType":"road.local","elementType":"labels","stylers":[{"visibility":"simplified"}]},{"featureType":"transit","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"water","elementType":"all","stylers":[{"hue":"#a1cdfc"},{"saturation":30},{"lightness":49}]}] + }; + + + + // Get the HTML DOM element that will contain your map + // We are using a div with id="map" seen below in the + var mapElement = document.getElementById('map'); + + // Create the Google Map using out element and options defined above + var map = new google.maps.Map(mapElement, mapOptions); + + var addresses = ['Brooklyn']; + + for (var x = 0; x < addresses.length; x++) { + $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+addresses[x]+'&sensor=false', null, function (data) { + var p = data.results[0].geometry.location + var latlng = new google.maps.LatLng(p.lat, p.lng); + new google.maps.Marker({ + position: latlng, + map: map, + icon: 'images/loc.png' + }); + + }); + } + +} +google.maps.event.addDomListener(window, 'load', init); \ No newline at end of file diff --git a/static/js/jquery.countTo.js b/static/js/jquery.countTo.js new file mode 100644 index 0000000..c7848e1 --- /dev/null +++ b/static/js/jquery.countTo.js @@ -0,0 +1,130 @@ +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // CommonJS + factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + var CountTo = function (element, options) { + this.$element = $(element); + this.options = $.extend({}, CountTo.DEFAULTS, this.dataOptions(), options); + this.init(); + }; + + CountTo.DEFAULTS = { + from: 0, // the number the element should start at + to: 0, // the number the element should end at + speed: 1000, // how long it should take to count between the target numbers + refreshInterval: 100, // how often the element should be updated + decimals: 0, // the number of decimal places to show + formatter: formatter, // handler for formatting the value before rendering + onUpdate: null, // callback method for every time the element is updated + onComplete: null // callback method for when the element finishes updating + }; + + CountTo.prototype.init = function () { + this.value = this.options.from; + this.loops = Math.ceil(this.options.speed / this.options.refreshInterval); + this.loopCount = 0; + this.increment = (this.options.to - this.options.from) / this.loops; + }; + + CountTo.prototype.dataOptions = function () { + var options = { + from: this.$element.data('from'), + to: this.$element.data('to'), + speed: this.$element.data('speed'), + refreshInterval: this.$element.data('refresh-interval'), + decimals: this.$element.data('decimals') + }; + + var keys = Object.keys(options); + + for (var i in keys) { + var key = keys[i]; + + if (typeof(options[key]) === 'undefined') { + delete options[key]; + } + } + + return options; + }; + + CountTo.prototype.update = function () { + this.value += this.increment; + this.loopCount++; + + this.render(); + + if (typeof(this.options.onUpdate) == 'function') { + this.options.onUpdate.call(this.$element, this.value); + } + + if (this.loopCount >= this.loops) { + clearInterval(this.interval); + this.value = this.options.to; + + if (typeof(this.options.onComplete) == 'function') { + this.options.onComplete.call(this.$element, this.value); + } + } + }; + + CountTo.prototype.render = function () { + var formattedValue = this.options.formatter.call(this.$element, this.value, this.options); + this.$element.text(formattedValue); + }; + + CountTo.prototype.restart = function () { + this.stop(); + this.init(); + this.start(); + }; + + CountTo.prototype.start = function () { + this.stop(); + this.render(); + this.interval = setInterval(this.update.bind(this), this.options.refreshInterval); + }; + + CountTo.prototype.stop = function () { + if (this.interval) { + clearInterval(this.interval); + } + }; + + CountTo.prototype.toggle = function () { + if (this.interval) { + this.stop(); + } else { + this.start(); + } + }; + + function formatter(value, options) { + return value.toFixed(options.decimals); + } + + $.fn.countTo = function (option) { + return this.each(function () { + var $this = $(this); + var data = $this.data('countTo'); + var init = !data || typeof(option) === 'object'; + var options = typeof(option) === 'object' ? option : {}; + var method = typeof(option) === 'string' ? option : 'start'; + + if (init) { + if (data) data.stop(); + $this.data('countTo', data = new CountTo(this, options)); + } + + data[method].call(data); + }); + }; +})); \ No newline at end of file diff --git a/static/js/jquery.easing.1.3.js b/static/js/jquery.easing.1.3.js new file mode 100644 index 0000000..2c8f71c --- /dev/null +++ b/static/js/jquery.easing.1.3.js @@ -0,0 +1,205 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +jQuery.easing['jswing'] = jQuery.easing['swing']; + +jQuery.extend( jQuery.easing, +{ + def: 'easeOutQuad', + swing: function (x, t, b, c, d) { + //alert(jQuery.easing.default); + return jQuery.easing[jQuery.easing.def](x, t, b, c, d); + }, + easeInQuad: function (x, t, b, c, d) { + return c*(t/=d)*t + b; + }, + easeOutQuad: function (x, t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + easeInOutQuad: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t + b; + return -c/2 * ((--t)*(t-2) - 1) + b; + }, + easeInCubic: function (x, t, b, c, d) { + return c*(t/=d)*t*t + b; + }, + easeOutCubic: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t + 1) + b; + }, + easeInOutCubic: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t + b; + return c/2*((t-=2)*t*t + 2) + b; + }, + easeInQuart: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + easeOutQuart: function (x, t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + easeInOutQuart: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; + return -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + easeInQuint: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t*t + b; + }, + easeOutQuint: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t*t*t + 1) + b; + }, + easeInOutQuint: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; + return c/2*((t-=2)*t*t*t*t + 2) + b; + }, + easeInSine: function (x, t, b, c, d) { + return -c * Math.cos(t/d * (Math.PI/2)) + c + b; + }, + easeOutSine: function (x, t, b, c, d) { + return c * Math.sin(t/d * (Math.PI/2)) + b; + }, + easeInOutSine: function (x, t, b, c, d) { + return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; + }, + easeInExpo: function (x, t, b, c, d) { + return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; + }, + easeOutExpo: function (x, t, b, c, d) { + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; + }, + easeInOutExpo: function (x, t, b, c, d) { + if (t==0) return b; + if (t==d) return b+c; + if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; + return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; + }, + easeInCirc: function (x, t, b, c, d) { + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + }, + easeOutCirc: function (x, t, b, c, d) { + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + }, + easeInOutCirc: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + }, + easeInElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + }, + easeOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; + }, + easeInOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + }, + easeInBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + easeOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + easeInOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + easeInBounce: function (x, t, b, c, d) { + return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; + }, + easeOutBounce: function (x, t, b, c, d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + }, + easeInOutBounce: function (x, t, b, c, d) { + if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; + return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; + } +}); + +/* + * + * TERMS OF USE - EASING EQUATIONS + * + * Open source under the BSD License. + * + * Copyright © 2001 Robert Penner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ \ No newline at end of file diff --git a/static/js/jquery.flexslider-min.js b/static/js/jquery.flexslider-min.js new file mode 100644 index 0000000..5ad6c37 --- /dev/null +++ b/static/js/jquery.flexslider-min.js @@ -0,0 +1,5 @@ +/* + * jQuery FlexSlider v2.6.0 + * Copyright 2012 WooThemes + * Contributing Author: Tyler Smith + */!function($){var e=!0;$.flexslider=function(t,a){var n=$(t);n.vars=$.extend({},$.flexslider.defaults,a);var i=n.vars.namespace,s=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,r=("ontouchstart"in window||s||window.DocumentTouch&&document instanceof DocumentTouch)&&n.vars.touch,o="click touchend MSPointerUp keyup",l="",c,d="vertical"===n.vars.direction,u=n.vars.reverse,v=n.vars.itemWidth>0,p="fade"===n.vars.animation,m=""!==n.vars.asNavFor,f={};$.data(t,"flexslider",n),f={init:function(){n.animating=!1,n.currentSlide=parseInt(n.vars.startAt?n.vars.startAt:0,10),isNaN(n.currentSlide)&&(n.currentSlide=0),n.animatingTo=n.currentSlide,n.atEnd=0===n.currentSlide||n.currentSlide===n.last,n.containerSelector=n.vars.selector.substr(0,n.vars.selector.search(" ")),n.slides=$(n.vars.selector,n),n.container=$(n.containerSelector,n),n.count=n.slides.length,n.syncExists=$(n.vars.sync).length>0,"slide"===n.vars.animation&&(n.vars.animation="swing"),n.prop=d?"top":"marginLeft",n.args={},n.manualPause=!1,n.stopped=!1,n.started=!1,n.startTimeout=null,n.transitions=!n.vars.video&&!p&&n.vars.useCSS&&function(){var e=document.createElement("div"),t=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var a in t)if(void 0!==e.style[t[a]])return n.pfx=t[a].replace("Perspective","").toLowerCase(),n.prop="-"+n.pfx+"-transform",!0;return!1}(),n.ensureAnimationEnd="",""!==n.vars.controlsContainer&&(n.controlsContainer=$(n.vars.controlsContainer).length>0&&$(n.vars.controlsContainer)),""!==n.vars.manualControls&&(n.manualControls=$(n.vars.manualControls).length>0&&$(n.vars.manualControls)),""!==n.vars.customDirectionNav&&(n.customDirectionNav=2===$(n.vars.customDirectionNav).length&&$(n.vars.customDirectionNav)),n.vars.randomize&&(n.slides.sort(function(){return Math.round(Math.random())-.5}),n.container.empty().append(n.slides)),n.doMath(),n.setup("init"),n.vars.controlNav&&f.controlNav.setup(),n.vars.directionNav&&f.directionNav.setup(),n.vars.keyboard&&(1===$(n.containerSelector).length||n.vars.multipleKeyboard)&&$(document).bind("keyup",function(e){var t=e.keyCode;if(!n.animating&&(39===t||37===t)){var a=39===t?n.getTarget("next"):37===t?n.getTarget("prev"):!1;n.flexAnimate(a,n.vars.pauseOnAction)}}),n.vars.mousewheel&&n.bind("mousewheel",function(e,t,a,i){e.preventDefault();var s=0>t?n.getTarget("next"):n.getTarget("prev");n.flexAnimate(s,n.vars.pauseOnAction)}),n.vars.pausePlay&&f.pausePlay.setup(),n.vars.slideshow&&n.vars.pauseInvisible&&f.pauseInvisible.init(),n.vars.slideshow&&(n.vars.pauseOnHover&&n.hover(function(){n.manualPlay||n.manualPause||n.pause()},function(){n.manualPause||n.manualPlay||n.stopped||n.play()}),n.vars.pauseInvisible&&f.pauseInvisible.isHidden()||(n.vars.initDelay>0?n.startTimeout=setTimeout(n.play,n.vars.initDelay):n.play())),m&&f.asNav.setup(),r&&n.vars.touch&&f.touch(),(!p||p&&n.vars.smoothHeight)&&$(window).bind("resize orientationchange focus",f.resize),n.find("img").attr("draggable","false"),setTimeout(function(){n.vars.start(n)},200)},asNav:{setup:function(){n.asNav=!0,n.animatingTo=Math.floor(n.currentSlide/n.move),n.currentItem=n.currentSlide,n.slides.removeClass(i+"active-slide").eq(n.currentItem).addClass(i+"active-slide"),s?(t._slider=n,n.slides.each(function(){var e=this;e._gesture=new MSGesture,e._gesture.target=e,e.addEventListener("MSPointerDown",function(e){e.preventDefault(),e.currentTarget._gesture&&e.currentTarget._gesture.addPointer(e.pointerId)},!1),e.addEventListener("MSGestureTap",function(e){e.preventDefault();var t=$(this),a=t.index();$(n.vars.asNavFor).data("flexslider").animating||t.hasClass("active")||(n.direction=n.currentItem=s&&t.hasClass(i+"active-slide")?n.flexAnimate(n.getTarget("prev"),!0):$(n.vars.asNavFor).data("flexslider").animating||t.hasClass(i+"active-slide")||(n.direction=n.currentItem'),n.pagingCount>1)for(var r=0;r":''+t+"","thumbnails"===n.vars.controlNav&&!0===n.vars.thumbCaptions){var c=s.attr("data-thumbcaption");""!==c&&void 0!==c&&(a+=''+c+"")}n.controlNavScaffold.append("
  • "+a+"
  • "),t++}n.controlsContainer?$(n.controlsContainer).append(n.controlNavScaffold):n.append(n.controlNavScaffold),f.controlNav.set(),f.controlNav.active(),n.controlNavScaffold.delegate("a, img",o,function(e){if(e.preventDefault(),""===l||l===e.type){var t=$(this),a=n.controlNav.index(t);t.hasClass(i+"active")||(n.direction=a>n.currentSlide?"next":"prev",n.flexAnimate(a,n.vars.pauseOnAction))}""===l&&(l=e.type),f.setToClearWatchedEvent()})},setupManual:function(){n.controlNav=n.manualControls,f.controlNav.active(),n.controlNav.bind(o,function(e){if(e.preventDefault(),""===l||l===e.type){var t=$(this),a=n.controlNav.index(t);t.hasClass(i+"active")||(a>n.currentSlide?n.direction="next":n.direction="prev",n.flexAnimate(a,n.vars.pauseOnAction))}""===l&&(l=e.type),f.setToClearWatchedEvent()})},set:function(){var e="thumbnails"===n.vars.controlNav?"img":"a";n.controlNav=$("."+i+"control-nav li "+e,n.controlsContainer?n.controlsContainer:n)},active:function(){n.controlNav.removeClass(i+"active").eq(n.animatingTo).addClass(i+"active")},update:function(e,t){n.pagingCount>1&&"add"===e?n.controlNavScaffold.append($('
  • '+n.count+"
  • ")):1===n.pagingCount?n.controlNavScaffold.find("li").remove():n.controlNav.eq(t).closest("li").remove(),f.controlNav.set(),n.pagingCount>1&&n.pagingCount!==n.controlNav.length?n.update(t,e):f.controlNav.active()}},directionNav:{setup:function(){var e=$('");n.customDirectionNav?n.directionNav=n.customDirectionNav:n.controlsContainer?($(n.controlsContainer).append(e),n.directionNav=$("."+i+"direction-nav li a",n.controlsContainer)):(n.append(e),n.directionNav=$("."+i+"direction-nav li a",n)),f.directionNav.update(),n.directionNav.bind(o,function(e){e.preventDefault();var t;(""===l||l===e.type)&&(t=$(this).hasClass(i+"next")?n.getTarget("next"):n.getTarget("prev"),n.flexAnimate(t,n.vars.pauseOnAction)),""===l&&(l=e.type),f.setToClearWatchedEvent()})},update:function(){var e=i+"disabled";1===n.pagingCount?n.directionNav.addClass(e).attr("tabindex","-1"):n.vars.animationLoop?n.directionNav.removeClass(e).removeAttr("tabindex"):0===n.animatingTo?n.directionNav.removeClass(e).filter("."+i+"prev").addClass(e).attr("tabindex","-1"):n.animatingTo===n.last?n.directionNav.removeClass(e).filter("."+i+"next").addClass(e).attr("tabindex","-1"):n.directionNav.removeClass(e).removeAttr("tabindex")}},pausePlay:{setup:function(){var e=$('
    ');n.controlsContainer?(n.controlsContainer.append(e),n.pausePlay=$("."+i+"pauseplay a",n.controlsContainer)):(n.append(e),n.pausePlay=$("."+i+"pauseplay a",n)),f.pausePlay.update(n.vars.slideshow?i+"pause":i+"play"),n.pausePlay.bind(o,function(e){e.preventDefault(),(""===l||l===e.type)&&($(this).hasClass(i+"pause")?(n.manualPause=!0,n.manualPlay=!1,n.pause()):(n.manualPause=!1,n.manualPlay=!0,n.play())),""===l&&(l=e.type),f.setToClearWatchedEvent()})},update:function(e){"play"===e?n.pausePlay.removeClass(i+"pause").addClass(i+"play").html(n.vars.playText):n.pausePlay.removeClass(i+"play").addClass(i+"pause").html(n.vars.pauseText)}},touch:function(){function e(e){e.stopPropagation(),n.animating?e.preventDefault():(n.pause(),t._gesture.addPointer(e.pointerId),T=0,c=d?n.h:n.w,f=Number(new Date),l=v&&u&&n.animatingTo===n.last?0:v&&u?n.limit-(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo:v&&n.currentSlide===n.last?n.limit:v?(n.itemW+n.vars.itemMargin)*n.move*n.currentSlide:u?(n.last-n.currentSlide+n.cloneOffset)*c:(n.currentSlide+n.cloneOffset)*c)}function a(e){e.stopPropagation();var a=e.target._slider;if(a){var n=-e.translationX,i=-e.translationY;return T+=d?i:n,m=T,x=d?Math.abs(T)500)&&(e.preventDefault(),!p&&a.transitions&&(a.vars.animationLoop||(m=T/(0===a.currentSlide&&0>T||a.currentSlide===a.last&&T>0?Math.abs(T)/c+2:1)),a.setProps(l+m,"setTouch"))))}}function i(e){e.stopPropagation();var t=e.target._slider;if(t){if(t.animatingTo===t.currentSlide&&!x&&null!==m){var a=u?-m:m,n=a>0?t.getTarget("next"):t.getTarget("prev");t.canAdvance(n)&&(Number(new Date)-f<550&&Math.abs(a)>50||Math.abs(a)>c/2)?t.flexAnimate(n,t.vars.pauseOnAction):p||t.flexAnimate(t.currentSlide,t.vars.pauseOnAction,!0)}r=null,o=null,m=null,l=null,T=0}}var r,o,l,c,m,f,g,h,S,x=!1,y=0,b=0,T=0;s?(t.style.msTouchAction="none",t._gesture=new MSGesture,t._gesture.target=t,t.addEventListener("MSPointerDown",e,!1),t._slider=n,t.addEventListener("MSGestureChange",a,!1),t.addEventListener("MSGestureEnd",i,!1)):(g=function(e){n.animating?e.preventDefault():(window.navigator.msPointerEnabled||1===e.touches.length)&&(n.pause(),c=d?n.h:n.w,f=Number(new Date),y=e.touches[0].pageX,b=e.touches[0].pageY,l=v&&u&&n.animatingTo===n.last?0:v&&u?n.limit-(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo:v&&n.currentSlide===n.last?n.limit:v?(n.itemW+n.vars.itemMargin)*n.move*n.currentSlide:u?(n.last-n.currentSlide+n.cloneOffset)*c:(n.currentSlide+n.cloneOffset)*c,r=d?b:y,o=d?y:b,t.addEventListener("touchmove",h,!1),t.addEventListener("touchend",S,!1))},h=function(e){y=e.touches[0].pageX,b=e.touches[0].pageY,m=d?r-b:r-y,x=d?Math.abs(m)t)&&(e.preventDefault(),!p&&n.transitions&&(n.vars.animationLoop||(m/=0===n.currentSlide&&0>m||n.currentSlide===n.last&&m>0?Math.abs(m)/c+2:1),n.setProps(l+m,"setTouch")))},S=function(e){if(t.removeEventListener("touchmove",h,!1),n.animatingTo===n.currentSlide&&!x&&null!==m){var a=u?-m:m,i=a>0?n.getTarget("next"):n.getTarget("prev");n.canAdvance(i)&&(Number(new Date)-f<550&&Math.abs(a)>50||Math.abs(a)>c/2)?n.flexAnimate(i,n.vars.pauseOnAction):p||n.flexAnimate(n.currentSlide,n.vars.pauseOnAction,!0)}t.removeEventListener("touchend",S,!1),r=null,o=null,m=null,l=null},t.addEventListener("touchstart",g,!1))},resize:function(){!n.animating&&n.is(":visible")&&(v||n.doMath(),p?f.smoothHeight():v?(n.slides.width(n.computedW),n.update(n.pagingCount),n.setProps()):d?(n.viewport.height(n.h),n.setProps(n.h,"setTotal")):(n.vars.smoothHeight&&f.smoothHeight(),n.newSlides.width(n.computedW),n.setProps(n.computedW,"setTotal")))},smoothHeight:function(e){if(!d||p){var t=p?n:n.viewport;e?t.animate({height:n.slides.eq(n.animatingTo).height()},e):t.height(n.slides.eq(n.animatingTo).height())}},sync:function(e){var t=$(n.vars.sync).data("flexslider"),a=n.animatingTo;switch(e){case"animate":t.flexAnimate(a,n.vars.pauseOnAction,!1,!0);break;case"play":t.playing||t.asNav||t.play();break;case"pause":t.pause()}},uniqueID:function(e){return e.filter("[id]").add(e.find("[id]")).each(function(){var e=$(this);e.attr("id",e.attr("id")+"_clone")}),e},pauseInvisible:{visProp:null,init:function(){var e=f.pauseInvisible.getHiddenProp();if(e){var t=e.replace(/[H|h]idden/,"")+"visibilitychange";document.addEventListener(t,function(){f.pauseInvisible.isHidden()?n.startTimeout?clearTimeout(n.startTimeout):n.pause():n.started?n.play():n.vars.initDelay>0?setTimeout(n.play,n.vars.initDelay):n.play()})}},isHidden:function(){var e=f.pauseInvisible.getHiddenProp();return e?document[e]:!1},getHiddenProp:function(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;tn.currentSlide?"next":"prev"),m&&1===n.pagingCount&&(n.direction=n.currentItemn.limit&&1!==n.visible?n.limit:S):h=0===n.currentSlide&&e===n.count-1&&n.vars.animationLoop&&"next"!==n.direction?u?(n.count+n.cloneOffset)*c:0:n.currentSlide===n.last&&0===e&&n.vars.animationLoop&&"prev"!==n.direction?u?0:(n.count+1)*c:u?(n.count-1-e+n.cloneOffset)*c:(e+n.cloneOffset)*c,n.setProps(h,"",n.vars.animationSpeed),n.transitions?(n.vars.animationLoop&&n.atEnd||(n.animating=!1,n.currentSlide=n.animatingTo),n.container.unbind("webkitTransitionEnd transitionend"),n.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(n.ensureAnimationEnd),n.wrapup(c)}),clearTimeout(n.ensureAnimationEnd),n.ensureAnimationEnd=setTimeout(function(){n.wrapup(c)},n.vars.animationSpeed+100)):n.container.animate(n.args,n.vars.animationSpeed,n.vars.easing,function(){n.wrapup(c)})}n.vars.smoothHeight&&f.smoothHeight(n.vars.animationSpeed)}},n.wrapup=function(e){p||v||(0===n.currentSlide&&n.animatingTo===n.last&&n.vars.animationLoop?n.setProps(e,"jumpEnd"):n.currentSlide===n.last&&0===n.animatingTo&&n.vars.animationLoop&&n.setProps(e,"jumpStart")),n.animating=!1,n.currentSlide=n.animatingTo,n.vars.after(n)},n.animateSlides=function(){!n.animating&&e&&n.flexAnimate(n.getTarget("next"))},n.pause=function(){clearInterval(n.animatedSlides),n.animatedSlides=null,n.playing=!1,n.vars.pausePlay&&f.pausePlay.update("play"),n.syncExists&&f.sync("pause")},n.play=function(){n.playing&&clearInterval(n.animatedSlides),n.animatedSlides=n.animatedSlides||setInterval(n.animateSlides,n.vars.slideshowSpeed),n.started=n.playing=!0,n.vars.pausePlay&&f.pausePlay.update("pause"),n.syncExists&&f.sync("play")},n.stop=function(){n.pause(),n.stopped=!0},n.canAdvance=function(e,t){var a=m?n.pagingCount-1:n.last;return t?!0:m&&n.currentItem===n.count-1&&0===e&&"prev"===n.direction?!0:m&&0===n.currentItem&&e===n.pagingCount-1&&"next"!==n.direction?!1:e!==n.currentSlide||m?n.vars.animationLoop?!0:n.atEnd&&0===n.currentSlide&&e===a&&"next"!==n.direction?!1:n.atEnd&&n.currentSlide===a&&0===e&&"next"===n.direction?!1:!0:!1},n.getTarget=function(e){return n.direction=e,"next"===e?n.currentSlide===n.last?0:n.currentSlide+1:0===n.currentSlide?n.last:n.currentSlide-1},n.setProps=function(e,t,a){var i=function(){var a=e?e:(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo,i=function(){if(v)return"setTouch"===t?e:u&&n.animatingTo===n.last?0:u?n.limit-(n.itemW+n.vars.itemMargin)*n.move*n.animatingTo:n.animatingTo===n.last?n.limit:a;switch(t){case"setTotal":return u?(n.count-1-n.currentSlide+n.cloneOffset)*e:(n.currentSlide+n.cloneOffset)*e;case"setTouch":return u?e:e;case"jumpEnd":return u?e:n.count*e;case"jumpStart":return u?n.count*e:e;default:return e}}();return-1*i+"px"}();n.transitions&&(i=d?"translate3d(0,"+i+",0)":"translate3d("+i+",0,0)",a=void 0!==a?a/1e3+"s":"0s",n.container.css("-"+n.pfx+"-transition-duration",a),n.container.css("transition-duration",a)),n.args[n.prop]=i,(n.transitions||void 0===a)&&n.container.css(n.args),n.container.css("transform",i)},n.setup=function(e){if(p)n.slides.css({width:"100%","float":"left",marginRight:"-100%",position:"relative"}),"init"===e&&(r?n.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+n.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(n.currentSlide).css({opacity:1,zIndex:2}):0==n.vars.fadeFirstSlide?n.slides.css({opacity:0,display:"block",zIndex:1}).eq(n.currentSlide).css({zIndex:2}).css({opacity:1}):n.slides.css({opacity:0,display:"block",zIndex:1}).eq(n.currentSlide).css({zIndex:2}).animate({opacity:1},n.vars.animationSpeed,n.vars.easing)),n.vars.smoothHeight&&f.smoothHeight();else{var t,a;"init"===e&&(n.viewport=$('
    ').css({overflow:"hidden",position:"relative"}).appendTo(n).append(n.container),n.cloneCount=0,n.cloneOffset=0,u&&(a=$.makeArray(n.slides).reverse(),n.slides=$(a),n.container.empty().append(n.slides))),n.vars.animationLoop&&!v&&(n.cloneCount=2,n.cloneOffset=1,"init"!==e&&n.container.find(".clone").remove(),n.container.append(f.uniqueID(n.slides.first().clone().addClass("clone")).attr("aria-hidden","true")).prepend(f.uniqueID(n.slides.last().clone().addClass("clone")).attr("aria-hidden","true"))),n.newSlides=$(n.vars.selector,n),t=u?n.count-1-n.currentSlide+n.cloneOffset:n.currentSlide+n.cloneOffset,d&&!v?(n.container.height(200*(n.count+n.cloneCount)+"%").css("position","absolute").width("100%"),setTimeout(function(){n.newSlides.css({display:"block"}),n.doMath(),n.viewport.height(n.h),n.setProps(t*n.h,"init")},"init"===e?100:0)):(n.container.width(200*(n.count+n.cloneCount)+"%"),n.setProps(t*n.computedW,"init"),setTimeout(function(){n.doMath(),n.newSlides.css({width:n.computedW,marginRight:n.computedM,"float":"left",display:"block"}),n.vars.smoothHeight&&f.smoothHeight()},"init"===e?100:0))}v||n.slides.removeClass(i+"active-slide").eq(n.currentSlide).addClass(i+"active-slide"),n.vars.init(n)},n.doMath=function(){var e=n.slides.first(),t=n.vars.itemMargin,a=n.vars.minItems,i=n.vars.maxItems;n.w=void 0===n.viewport?n.width():n.viewport.width(),n.h=e.height(),n.boxPadding=e.outerWidth()-e.width(),v?(n.itemT=n.vars.itemWidth+t,n.itemM=t,n.minW=a?a*n.itemT:n.w,n.maxW=i?i*n.itemT-t:n.w,n.itemW=n.minW>n.w?(n.w-t*(a-1))/a:n.maxWn.w?n.w:n.vars.itemWidth,n.visible=Math.floor(n.w/n.itemW),n.move=n.vars.move>0&&n.vars.moven.w?n.itemW*(n.count-1)+t*(n.count-1):(n.itemW+t)*n.count-n.w-t):(n.itemW=n.w,n.itemM=t,n.pagingCount=n.count,n.last=n.count-1),n.computedW=n.itemW-n.boxPadding,n.computedM=n.itemM},n.update=function(e,t){n.doMath(),v||(en.controlNav.length?f.controlNav.update("add"):("remove"===t&&!v||n.pagingCountn.last&&(n.currentSlide-=1,n.animatingTo-=1),f.controlNav.update("remove",n.last))),n.vars.directionNav&&f.directionNav.update()},n.addSlide=function(e,t){var a=$(e);n.count+=1,n.last=n.count-1,d&&u?void 0!==t?n.slides.eq(n.count-t).after(a):n.container.prepend(a):void 0!==t?n.slides.eq(t).before(a):n.container.append(a),n.update(t,"add"),n.slides=$(n.vars.selector+":not(.clone)",n),n.setup(),n.vars.added(n)},n.removeSlide=function(e){var t=isNaN(e)?n.slides.index($(e)):e;n.count-=1,n.last=n.count-1,isNaN(e)?$(e,n.slides).remove():d&&u?n.slides.eq(n.last).remove():n.slides.eq(e).remove(),n.doMath(),n.update(t,"remove"),n.slides=$(n.vars.selector+":not(.clone)",n),n.setup(),n.vars.removed(n)},f.init()},$(window).blur(function(t){e=!1}).focus(function(t){e=!0}),$.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,fadeFirstSlide:!0,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",customDirectionNav:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){}},$.fn.flexslider=function(e){if(void 0===e&&(e={}),"object"==typeof e)return this.each(function(){var t=$(this),a=e.selector?e.selector:".slides > li",n=t.find(a);1===n.length&&e.allowOneSlide===!0||0===n.length?(n.fadeIn(400),e.start&&e.start(t)):void 0===t.data("flexslider")&&new $.flexslider(this,e)});var t=$(this).data("flexslider");switch(e){case"play":t.play();break;case"pause":t.pause();break;case"stop":t.stop();break;case"next":t.flexAnimate(t.getTarget("next"),!0);break;case"prev":case"previous":t.flexAnimate(t.getTarget("prev"),!0);break;default:"number"==typeof e&&t.flexAnimate(e,!0)}}}(jQuery); \ No newline at end of file diff --git a/static/js/jquery.min.js b/static/js/jquery.min.js new file mode 100644 index 0000000..fad9ab1 --- /dev/null +++ b/static/js/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("':"vimeo"===g.type&&(c=''),f.addClass("owl-video-playing"),this._playing=f,d=a('
    '+c+"
    "),e.after(d)},d.prototype.isInFullScreen=function(){var d=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return d&&a(d).parent().hasClass("owl-video-frame")&&(this._core.speed(0),this._fullscreen=!0),d&&this._fullscreen&&this._playing?!1:this._fullscreen?(this._fullscreen=!1,!1):this._playing&&this._core.state.orientation!==b.orientation?(this._core.state.orientation=b.orientation,!1):!0},d.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=d}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){this.swapping="translated"==a.type},this),"translate.owl.carousel":a.proxy(function(){this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&this.core.support3d){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",c)),f&&e.addClass("animated owl-animated-in").addClass(f).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",c))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.transitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c){var d=function(b){this.core=b,this.core.options=a.extend({},d.Defaults,this.core.options),this.handlers={"translated.owl.carousel refreshed.owl.carousel":a.proxy(function(){this.autoplay() +},this),"play.owl.autoplay":a.proxy(function(a,b,c){this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(){this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this.core.settings.autoplayHoverPause&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this.core.settings.autoplayHoverPause&&this.autoplay()},this)},this.core.$element.on(this.handlers)};d.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},d.prototype.autoplay=function(){this.core.settings.autoplay&&!this.core.state.videoPlay?(b.clearInterval(this.interval),this.interval=b.setInterval(a.proxy(function(){this.play()},this),this.core.settings.autoplayTimeout)):b.clearInterval(this.interval)},d.prototype.play=function(){return c.hidden===!0||this.core.state.isTouch||this.core.state.isScrolling||this.core.state.isSwiping||this.core.state.inMotion?void 0:this.core.settings.autoplay===!1?void b.clearInterval(this.interval):void this.core.next(this.core.settings.autoplaySpeed)},d.prototype.stop=function(){b.clearInterval(this.interval)},d.prototype.pause=function(){b.clearInterval(this.interval)},d.prototype.destroy=function(){var a,c;b.clearInterval(this.interval);for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=d}(window.Zepto||window.jQuery,window,document),function(a){"use strict";var b=function(c){this._core=c,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){this._core.settings.dotsData&&this._templates.push(a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))},this),"add.owl.carousel":a.proxy(function(b){this._core.settings.dotsData&&this._templates.splice(b.position,0,a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))},this),"remove.owl.carousel prepared.owl.carousel":a.proxy(function(a){this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"change.owl.carousel":a.proxy(function(a){if("position"==a.property.name&&!this._core.state.revert&&!this._core.settings.loop&&this._core.settings.navRewind){var b=this._core.current(),c=this._core.maximum(),d=this._core.minimum();a.data=a.property.value>c?b>=c?d:c:a.property.value").addClass(d.dotClass).append(a("")).prop("outerHTML")]),d.navContainer&&d.dotsContainer||(this._controls.$container=a("
    ").addClass(d.controlsClass).appendTo(this.$element)),this._controls.$indicators=d.dotsContainer?a(d.dotsContainer):a("
    ").hide().addClass(d.dotsClass).appendTo(this._controls.$container),this._controls.$indicators.on("click","div",a.proxy(function(b){var c=a(b.target).parent().is(this._controls.$indicators)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(c,d.dotsSpeed)},this)),b=d.navContainer?a(d.navContainer):a("
    ").addClass(d.navContainerClass).prependTo(this._controls.$container),this._controls.$next=a("<"+d.navElement+">"),this._controls.$previous=this._controls.$next.clone(),this._controls.$previous.addClass(d.navClass[0]).html(d.navText[0]).hide().prependTo(b).on("click",a.proxy(function(){this.prev(d.navSpeed)},this)),this._controls.$next.addClass(d.navClass[1]).html(d.navText[1]).hide().appendTo(b).on("click",a.proxy(function(){this.next(d.navSpeed)},this));for(c in this._overrides)this._core[c]=a.proxy(this[c],this)},b.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},b.prototype.update=function(){var a,b,c,d=this._core.settings,e=this._core.clones().length/2,f=e+this._core.items().length,g=d.center||d.autoWidth||d.dotData?1:d.dotsEach||d.items;if("page"!==d.slideBy&&(d.slideBy=Math.min(d.slideBy,d.items)),d.dots||"page"==d.slideBy)for(this._pages=[],a=e,b=0,c=0;f>a;a++)(b>=g||0===b)&&(this._pages.push({start:a-e,end:a-e+g-1}),b=0,++c),b+=this._core.mergers(this._core.relative(a))},b.prototype.draw=function(){var b,c,d="",e=this._core.settings,f=(this._core.$stage.children(),this._core.relative(this._core.current()));if(!e.nav||e.loop||e.navRewind||(this._controls.$previous.toggleClass("disabled",0>=f),this._controls.$next.toggleClass("disabled",f>=this._core.maximum())),this._controls.$previous.toggle(e.nav),this._controls.$next.toggle(e.nav),e.dots){if(b=this._pages.length-this._controls.$indicators.children().length,e.dotData&&0!==b){for(c=0;c0?(d=new Array(b+1).join(this._templates[0]),this._controls.$indicators.append(d)):0>b&&this._controls.$indicators.children().slice(b).remove();this._controls.$indicators.find(".active").removeClass("active"),this._controls.$indicators.children().eq(a.inArray(this.current(),this._pages)).addClass("active")}this._controls.$indicators.toggle(e.dots)},b.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotData?1:c.dotsEach||c.items)}},b.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,function(a){return a.start<=b&&a.end>=b}).pop()},b.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},b.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},b.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},b.prototype.to=function(b,c,d){var e;d?a.proxy(this._overrides.to,this._core)(b,c):(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c))},a.fn.owlCarousel.Constructor.Plugins.Navigation=b}(window.Zepto||window.jQuery,window,document),function(a,b){"use strict";var c=function(d){this._core=d,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(){"URLHash"==this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){var c=a(b.content).find("[data-hash]").andSelf("[data-hash]").attr("data-hash");this._hashes[c]=b.content},this)},this._core.options=a.extend({},c.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(){var a=b.location.hash.substring(1),c=this._core.$stage.children(),d=this._hashes[a]&&c.index(this._hashes[a])||0;return a?void this._core.to(d,!1,!0):!1},this))};c.Defaults={URLhashListener:!1},c.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=c}(window.Zepto||window.jQuery,window,document); \ No newline at end of file diff --git a/static/js/respond.min.js b/static/js/respond.min.js new file mode 100644 index 0000000..d203a49 --- /dev/null +++ b/static/js/respond.min.js @@ -0,0 +1,6 @@ + +/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl + * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT + * */ + +!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b-interpolations will be parsed as strings by Sass, and evaluated by EJS after Sass compilation. + + +@function twbs-font-path($path) { + // do something like following + // from "path/to/font.ext#suffix" to "<%- asset_path(path/to/font.ext)) + #suffix %>" + // from "path/to/font.ext?#suffix" to "<%- asset_path(path/to/font.ext)) + ?#suffix %>" + // or from "path/to/font.ext" just "<%- asset_path(path/to/font.ext)) %>" + @return "<%- asset_path('#{$path}'.replace(/[#?].*$/, '')) + '#{$path}'.replace(/(^[^#?]*)([#?]?.*$)/, '$2') %>"; +} + +@function twbs-image-path($file) { + @return "<%- asset_path('#{$file}') %>"; +} + +$bootstrap-sass-asset-helper: true; diff --git a/static/sass/_bootstrap-sprockets.scss b/static/sass/_bootstrap-sprockets.scss new file mode 100644 index 0000000..9fffc1e --- /dev/null +++ b/static/sass/_bootstrap-sprockets.scss @@ -0,0 +1,9 @@ +@function twbs-font-path($path) { + @return font-path($path); +} + +@function twbs-image-path($path) { + @return image-path($path); +} + +$bootstrap-sass-asset-helper: true; diff --git a/static/sass/bootstrap.scss b/static/sass/bootstrap.scss new file mode 100644 index 0000000..d25be22 --- /dev/null +++ b/static/sass/bootstrap.scss @@ -0,0 +1,56 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// Core variables and mixins +@import "bootstrap/variables"; +@import "bootstrap/mixins"; + +// Reset and dependencies +@import "bootstrap/normalize"; +@import "bootstrap/print"; +//@import "bootstrap/glyphicons"; + +// Core CSS +@import "bootstrap/scaffolding"; +@import "bootstrap/type"; +@import "bootstrap/code"; +@import "bootstrap/grid"; +@import "bootstrap/tables"; +@import "bootstrap/forms"; +@import "bootstrap/buttons"; + +// Components +@import "bootstrap/component-animations"; +@import "bootstrap/dropdowns"; +@import "bootstrap/button-groups"; +@import "bootstrap/input-groups"; +@import "bootstrap/navs"; +@import "bootstrap/navbar"; +@import "bootstrap/breadcrumbs"; +@import "bootstrap/pagination"; +@import "bootstrap/pager"; +@import "bootstrap/labels"; +@import "bootstrap/badges"; +@import "bootstrap/jumbotron"; +@import "bootstrap/thumbnails"; +@import "bootstrap/alerts"; +@import "bootstrap/progress-bars"; +@import "bootstrap/media"; +@import "bootstrap/list-group"; +@import "bootstrap/panels"; +@import "bootstrap/responsive-embed"; +@import "bootstrap/wells"; +@import "bootstrap/close"; + +// Components w/ JavaScript +@import "bootstrap/modals"; +@import "bootstrap/tooltip"; +@import "bootstrap/popovers"; +@import "bootstrap/carousel"; + +// Utility classes +@import "bootstrap/utilities"; +@import "bootstrap/responsive-utilities"; diff --git a/static/sass/bootstrap/_alerts.scss b/static/sass/bootstrap/_alerts.scss new file mode 100644 index 0000000..7d1e1fd --- /dev/null +++ b/static/sass/bootstrap/_alerts.scss @@ -0,0 +1,73 @@ +// +// Alerts +// -------------------------------------------------- + + +// Base styles +// ------------------------- + +.alert { + padding: $alert-padding; + margin-bottom: $line-height-computed; + border: 1px solid transparent; + border-radius: $alert-border-radius; + + // Headings for larger alerts + h4 { + margin-top: 0; + // Specified for the h4 to prevent conflicts of changing $headings-color + color: inherit; + } + + // Provide class for links that match alerts + .alert-link { + font-weight: $alert-link-font-weight; + } + + // Improve alignment and spacing of inner content + > p, + > ul { + margin-bottom: 0; + } + + > p + p { + margin-top: 5px; + } +} + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. +.alert-dismissible { + padding-right: ($alert-padding + 20); + + // Adjust close link position + .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; + } +} + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +.alert-success { + @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); +} + +.alert-info { + @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); +} + +.alert-warning { + @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); +} + +.alert-danger { + @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); +} diff --git a/static/sass/bootstrap/_badges.scss b/static/sass/bootstrap/_badges.scss new file mode 100644 index 0000000..70002e0 --- /dev/null +++ b/static/sass/bootstrap/_badges.scss @@ -0,0 +1,68 @@ +// +// Badges +// -------------------------------------------------- + + +// Base class +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: $font-size-small; + font-weight: $badge-font-weight; + color: $badge-color; + line-height: $badge-line-height; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: $badge-bg; + border-radius: $badge-border-radius; + + // Empty badges collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for badges in buttons + .btn & { + position: relative; + top: -1px; + } + + .btn-xs &, + .btn-group-xs > .btn & { + top: 0; + padding: 1px 5px; + } + + // [converter] extracted a& to a.badge + + // Account for badges in navs + .list-group-item.active > &, + .nav-pills > .active > a > & { + color: $badge-active-color; + background-color: $badge-active-bg; + } + + .list-group-item > & { + float: right; + } + + .list-group-item > & + & { + margin-right: 5px; + } + + .nav-pills > li > a > & { + margin-left: 3px; + } +} + +// Hover state, but only for links +a.badge { + &:hover, + &:focus { + color: $badge-link-hover-color; + text-decoration: none; + cursor: pointer; + } +} diff --git a/static/sass/bootstrap/_breadcrumbs.scss b/static/sass/bootstrap/_breadcrumbs.scss new file mode 100644 index 0000000..3641e33 --- /dev/null +++ b/static/sass/bootstrap/_breadcrumbs.scss @@ -0,0 +1,26 @@ +// +// Breadcrumbs +// -------------------------------------------------- + + +.breadcrumb { + padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; + margin-bottom: $line-height-computed; + list-style: none; + background-color: $breadcrumb-bg; + border-radius: $border-radius-base; + + > li { + display: inline-block; + + + li:before { + content: "#{$breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space + padding: 0 5px; + color: $breadcrumb-color; + } + } + + > .active { + color: $breadcrumb-active-color; + } +} diff --git a/static/sass/bootstrap/_button-groups.scss b/static/sass/bootstrap/_button-groups.scss new file mode 100644 index 0000000..43d235c --- /dev/null +++ b/static/sass/bootstrap/_button-groups.scss @@ -0,0 +1,244 @@ +// +// Button groups +// -------------------------------------------------- + +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; // match .btn alignment given font-size hack above + > .btn { + position: relative; + float: left; + // Bring the "active" button to the front + &:hover, + &:focus, + &:active, + &.active { + z-index: 2; + } + } +} + +// Prevent double borders when buttons are next to each other +.btn-group { + .btn + .btn, + .btn + .btn-group, + .btn-group + .btn, + .btn-group + .btn-group { + margin-left: -1px; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-left: -5px; // Offset the first child's margin + @include clearfix; + + .btn, + .btn-group, + .input-group { + float: left; + } + > .btn, + > .btn-group, + > .input-group { + margin-left: 5px; + } +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +.btn-group > .btn:first-child { + margin-left: 0; + &:not(:last-child):not(.dropdown-toggle) { + @include border-right-radius(0); + } +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + @include border-left-radius(0); +} + +// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + @include border-right-radius(0); + } +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + @include border-left-radius(0); +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-xs > .btn { @extend .btn-xs; } +.btn-group-sm > .btn { @extend .btn-sm; } +.btn-group-lg > .btn { @extend .btn-lg; } + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +// The clickable button for toggling the menu +// Remove the gradient and set the same inset shadow as the :active state +.btn-group.open .dropdown-toggle { + @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + @include box-shadow(none); + } +} + + +// Reposition the caret +.btn .caret { + margin-left: 0; +} +// Carets in other button sizes +.btn-lg .caret { + border-width: $caret-width-large $caret-width-large 0; + border-bottom-width: 0; +} +// Upside down carets for .dropup +.dropup .btn-lg .caret { + border-width: 0 $caret-width-large $caret-width-large; +} + + +// Vertical button groups +// ---------------------- + +.btn-group-vertical { + > .btn, + > .btn-group, + > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + } + + // Clear floats so dropdown menus can be properly placed + > .btn-group { + @include clearfix; + > .btn { + float: none; + } + } + + > .btn + .btn, + > .btn + .btn-group, + > .btn-group + .btn, + > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; + } +} + +.btn-group-vertical > .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:first-child:not(:last-child) { + border-top-right-radius: $btn-border-radius-base; + @include border-bottom-radius(0); + } + &:last-child:not(:first-child) { + border-bottom-left-radius: $btn-border-radius-base; + @include border-top-radius(0); + } +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + @include border-bottom-radius(0); + } +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + @include border-top-radius(0); +} + + +// Justified button groups +// ---------------------- + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; + > .btn, + > .btn-group { + float: none; + display: table-cell; + width: 1%; + } + > .btn-group .btn { + width: 100%; + } + + > .btn-group .dropdown-menu { + left: auto; + } +} + + +// Checkbox and radio options +// +// In order to support the browser's form validation feedback, powered by the +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. +// This way, we ensure a DOM element is visible to position the popover from. +// +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. + +[data-toggle="buttons"] { + > .btn, + > .btn-group > .btn { + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none; + } + } +} diff --git a/static/sass/bootstrap/_buttons.scss b/static/sass/bootstrap/_buttons.scss new file mode 100644 index 0000000..6452b70 --- /dev/null +++ b/static/sass/bootstrap/_buttons.scss @@ -0,0 +1,168 @@ +// +// Buttons +// -------------------------------------------------- + + +// Base styles +// -------------------------------------------------- + +.btn { + display: inline-block; + margin-bottom: 0; // For input.btn + font-weight: $btn-font-weight; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + white-space: nowrap; + @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base); + @include user-select(none); + + &, + &:active, + &.active { + &:focus, + &.focus { + @include tab-focus; + } + } + + &:hover, + &:focus, + &.focus { + color: $btn-default-color; + text-decoration: none; + } + + &:active, + &.active { + outline: 0; + background-image: none; + @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + cursor: $cursor-disabled; + @include opacity(.65); + @include box-shadow(none); + } + + // [converter] extracted a& to a.btn +} + +a.btn { + &.disabled, + fieldset[disabled] & { + pointer-events: none; // Future-proof disabling of clicks on `` elements + } +} + + +// Alternate buttons +// -------------------------------------------------- + +.btn-default { + @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); +} +.btn-primary { + @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); +} +// Success appears as green +.btn-success { + @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); +} +// Info appears as blue-green +.btn-info { + @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); +} +// Warning appears as orange +.btn-warning { + @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); +} +// Danger and error appear as red +.btn-danger { + @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); +} + + +// Link buttons +// ------------------------- + +// Make a button look and behave like a link +.btn-link { + color: $link-color; + font-weight: normal; + border-radius: 0; + + &, + &:active, + &.active, + &[disabled], + fieldset[disabled] & { + background-color: transparent; + @include box-shadow(none); + } + &, + &:hover, + &:focus, + &:active { + border-color: transparent; + } + &:hover, + &:focus { + color: $link-hover-color; + text-decoration: $link-hover-decoration; + background-color: transparent; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: $btn-link-disabled-color; + text-decoration: none; + } + } +} + + +// Button Sizes +// -------------------------------------------------- + +.btn-lg { + // line-height: ensure even-numbered height of button next to large input + @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large); +} +.btn-sm { + // line-height: ensure proper height of button next to small input + @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); +} +.btn-xs { + @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); +} + + +// Block button +// -------------------------------------------------- + +.btn-block { + display: block; + width: 100%; +} + +// Vertically space out multiple block buttons +.btn-block + .btn-block { + margin-top: 5px; +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} diff --git a/static/sass/bootstrap/_carousel.scss b/static/sass/bootstrap/_carousel.scss new file mode 100644 index 0000000..f700678 --- /dev/null +++ b/static/sass/bootstrap/_carousel.scss @@ -0,0 +1,269 @@ +// +// Carousel +// -------------------------------------------------- + + +// Wrapper for the slide container and indicators +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; + + > .item { + display: none; + position: relative; + @include transition(.6s ease-in-out left); + + // Account for jankitude on images + > img, + > a > img { + @include img-responsive; + line-height: 1; + } + + // WebKit CSS3 transforms for supported devices + @media all and (transform-3d), (-webkit-transform-3d) { + @include transition-transform(0.6s ease-in-out); + @include backface-visibility(hidden); + @include perspective(1000px); + + &.next, + &.active.right { + @include translate3d(100%, 0, 0); + left: 0; + } + &.prev, + &.active.left { + @include translate3d(-100%, 0, 0); + left: 0; + } + &.next.left, + &.prev.right, + &.active { + @include translate3d(0, 0, 0); + left: 0; + } + } + } + + > .active, + > .next, + > .prev { + display: block; + } + + > .active { + left: 0; + } + + > .next, + > .prev { + position: absolute; + top: 0; + width: 100%; + } + + > .next { + left: 100%; + } + > .prev { + left: -100%; + } + > .next.left, + > .prev.right { + left: 0; + } + + > .active.left { + left: -100%; + } + > .active.right { + left: 100%; + } + +} + +// Left/right controls for nav +// --------------------------- + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: $carousel-control-width; + @include opacity($carousel-control-opacity); + font-size: $carousel-control-font-size; + color: $carousel-control-color; + text-align: center; + text-shadow: $carousel-text-shadow; + // We can't have this transition here because WebKit cancels the carousel + // animation if you trip this while in the middle of another animation. + + // Set gradients for backgrounds + &.left { + @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001)); + } + &.right { + left: auto; + right: 0; + @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5)); + } + + // Hover/focus state + &:hover, + &:focus { + outline: 0; + color: $carousel-control-color; + text-decoration: none; + @include opacity(.9); + } + + // Toggles + .icon-prev, + .icon-next, + .glyphicon-chevron-left, + .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; + } + .icon-prev, + .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; + } + .icon-next, + .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; + } + .icon-prev, + .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; + } + + + .icon-prev { + &:before { + content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) + } + } + .icon-next { + &:before { + content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) + } + } +} + +// Optional indicator pips +// +// Add an unordered list with the following class and add a list item for each +// slide your carousel holds. + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; + + li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid $carousel-indicator-border-color; + border-radius: 10px; + cursor: pointer; + + // IE8-9 hack for event handling + // + // Internet Explorer 8-9 does not support clicks on elements without a set + // `background-color`. We cannot use `filter` since that's not viewed as a + // background color by the browser. Thus, a hack is needed. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer + // + // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we + // set alpha transparency for the best results possible. + background-color: #000 \9; // IE8 + background-color: rgba(0,0,0,0); // IE9 + } + .active { + margin: 0; + width: 12px; + height: 12px; + background-color: $carousel-indicator-active-bg; + } +} + +// Optional captions +// ----------------------------- +// Hidden by default for smaller viewports +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: $carousel-caption-color; + text-align: center; + text-shadow: $carousel-text-shadow; + & .btn { + text-shadow: none; // No shadow for button elements in carousel-caption + } +} + + +// Scale up controls for tablets and up +@media screen and (min-width: $screen-sm-min) { + + // Scale up the controls a smidge + .carousel-control { + .glyphicon-chevron-left, + .glyphicon-chevron-right, + .icon-prev, + .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .glyphicon-chevron-left, + .icon-prev { + margin-left: -15px; + } + .glyphicon-chevron-right, + .icon-next { + margin-right: -15px; + } + } + + // Show and left align the captions + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + + // Move up the indicators + .carousel-indicators { + bottom: 20px; + } +} diff --git a/static/sass/bootstrap/_close.scss b/static/sass/bootstrap/_close.scss new file mode 100644 index 0000000..3b74d8a --- /dev/null +++ b/static/sass/bootstrap/_close.scss @@ -0,0 +1,36 @@ +// +// Close icons +// -------------------------------------------------- + + +.close { + float: right; + font-size: ($font-size-base * 1.5); + font-weight: $close-font-weight; + line-height: 1; + color: $close-color; + text-shadow: $close-text-shadow; + @include opacity(.2); + + &:hover, + &:focus { + color: $close-color; + text-decoration: none; + cursor: pointer; + @include opacity(.5); + } + + // [converter] extracted button& to button.close +} + +// Additional properties for button version +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} diff --git a/static/sass/bootstrap/_code.scss b/static/sass/bootstrap/_code.scss new file mode 100644 index 0000000..caa5f06 --- /dev/null +++ b/static/sass/bootstrap/_code.scss @@ -0,0 +1,69 @@ +// +// Code (inline and block) +// -------------------------------------------------- + + +// Inline and block code styles +code, +kbd, +pre, +samp { + font-family: $font-family-monospace; +} + +// Inline code +code { + padding: 2px 4px; + font-size: 90%; + color: $code-color; + background-color: $code-bg; + border-radius: $border-radius-base; +} + +// User input typically entered via keyboard +kbd { + padding: 2px 4px; + font-size: 90%; + color: $kbd-color; + background-color: $kbd-bg; + border-radius: $border-radius-small; + box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); + + kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; + } +} + +// Blocks of code +pre { + display: block; + padding: (($line-height-computed - 1) / 2); + margin: 0 0 ($line-height-computed / 2); + font-size: ($font-size-base - 1); // 14px to 13px + line-height: $line-height-base; + word-break: break-all; + word-wrap: break-word; + color: $pre-color; + background-color: $pre-bg; + border: 1px solid $pre-border-color; + border-radius: $border-radius-base; + + // Account for some code outputs that place code tags in pre tags + code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; + } +} + +// Enable scrollable blocks of code +.pre-scrollable { + max-height: $pre-scrollable-max-height; + overflow-y: scroll; +} diff --git a/static/sass/bootstrap/_component-animations.scss b/static/sass/bootstrap/_component-animations.scss new file mode 100644 index 0000000..ca3b43c --- /dev/null +++ b/static/sass/bootstrap/_component-animations.scss @@ -0,0 +1,37 @@ +// +// Component animations +// -------------------------------------------------- + +// Heads up! +// +// We don't use the `.opacity()` mixin here since it causes a bug with text +// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. + +.fade { + opacity: 0; + @include transition(opacity .15s linear); + &.in { + opacity: 1; + } +} + +.collapse { + display: none; + + &.in { display: block; } + // [converter] extracted tr&.in to tr.collapse.in + // [converter] extracted tbody&.in to tbody.collapse.in +} + +tr.collapse.in { display: table-row; } + +tbody.collapse.in { display: table-row-group; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + @include transition-property(height, visibility); + @include transition-duration(.35s); + @include transition-timing-function(ease); +} diff --git a/static/sass/bootstrap/_dropdowns.scss b/static/sass/bootstrap/_dropdowns.scss new file mode 100644 index 0000000..aac8459 --- /dev/null +++ b/static/sass/bootstrap/_dropdowns.scss @@ -0,0 +1,216 @@ +// +// Dropdown menus +// -------------------------------------------------- + + +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: $caret-width-base dashed; + border-top: $caret-width-base solid \9; // IE8 + border-right: $caret-width-base solid transparent; + border-left: $caret-width-base solid transparent; +} + +// The dropdown wrapper (div) +.dropup, +.dropdown { + position: relative; +} + +// Prevent the focus on the dropdown toggle when closing dropdowns +.dropdown-toggle:focus { + outline: 0; +} + +// The dropdown menu (ul) +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: $zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; // override default ul + list-style: none; + font-size: $font-size-base; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + background-color: $dropdown-bg; + border: 1px solid $dropdown-fallback-border; // IE8 fallback + border: 1px solid $dropdown-border; + border-radius: $border-radius-base; + @include box-shadow(0 6px 12px rgba(0,0,0,.175)); + background-clip: padding-box; + + // Aligns the dropdown menu to right + // + // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + @include nav-divider($dropdown-divider-bg); + } + + // Links within the dropdown menu + > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: $line-height-base; + color: $dropdown-link-color; + white-space: nowrap; // prevent links from randomly breaking onto new lines + } +} + +// Hover/Focus state +.dropdown-menu > li > a { + &:hover, + &:focus { + text-decoration: none; + color: $dropdown-link-hover-color; + background-color: $dropdown-link-hover-bg; + } +} + +// Active state +.dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: $dropdown-link-active-color; + text-decoration: none; + outline: 0; + background-color: $dropdown-link-active-bg; + } +} + +// Disabled state +// +// Gray out text and ensure the hover/focus state remains gray + +.dropdown-menu > .disabled > a { + &, + &:hover, + &:focus { + color: $dropdown-link-disabled-color; + } + + // Nuke hover/focus effects + &:hover, + &:focus { + text-decoration: none; + background-color: transparent; + background-image: none; // Remove CSS gradient + @include reset-filter; + cursor: $cursor-disabled; + } +} + +// Open state for the dropdown +.open { + // Show the menu + > .dropdown-menu { + display: block; + } + + // Remove the outline when :focus is triggered + > a { + outline: 0; + } +} + +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + left: auto; // Reset the default from `.dropdown-menu` + right: 0; +} +// With v3, we enabled auto-flipping if you have a dropdown within a right +// aligned nav component. To enable the undoing of that, we provide an override +// to restore the default dropdown menu alignment. +// +// This is only for left-aligning a dropdown menu within a `.navbar-right` or +// `.pull-right` nav component. +.dropdown-menu-left { + left: 0; + right: auto; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: $font-size-small; + line-height: $line-height-base; + color: $dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Backdrop to catch body clicks on mobile, etc. +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: ($zindex-dropdown - 10); +} + +// Right aligned dropdowns +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// +// Just add .dropup after the standard .dropdown class and you're set, bro. +// TODO: abstract this so that the navbar fixed styles are not placed here? + +.dropup, +.navbar-fixed-bottom .dropdown { + // Reverse the caret + .caret { + border-top: 0; + border-bottom: $caret-width-base dashed; + border-bottom: $caret-width-base solid \9; // IE8 + content: ""; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; + } +} + + +// Component alignment +// +// Reiterate per navbar.less and the modified component alignment there. + +@media (min-width: $grid-float-breakpoint) { + .navbar-right { + .dropdown-menu { + right: 0; left: auto; + } + // Necessary for overrides of the default right aligned menu. + // Will remove come v4 in all likelihood. + .dropdown-menu-left { + left: 0; right: auto; + } + } +} diff --git a/static/sass/bootstrap/_forms.scss b/static/sass/bootstrap/_forms.scss new file mode 100644 index 0000000..de4befd --- /dev/null +++ b/static/sass/bootstrap/_forms.scss @@ -0,0 +1,611 @@ +// +// Forms +// -------------------------------------------------- + + +// Normalize non-controls +// +// Restyle and baseline non-control form elements. + +fieldset { + padding: 0; + margin: 0; + border: 0; + // Chrome and Firefox set a `min-width: min-content;` on fieldsets, + // so we reset that to ensure it behaves more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359. + min-width: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: $line-height-computed; + font-size: ($font-size-base * 1.5); + line-height: inherit; + color: $legend-color; + border: 0; + border-bottom: 1px solid $legend-border-color; +} + +label { + display: inline-block; + max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) + margin-bottom: 5px; + font-weight: bold; +} + + +// Normalize form controls +// +// While most of our form styles require extra classes, some basic normalization +// is required to ensure optimum display with or without those classes to better +// address browser inconsistencies. + +// Override content-box in Normalize (* isn't specific enough) +input[type="search"] { + @include box-sizing(border-box); +} + +// Position radios and checkboxes better +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; // IE8-9 + line-height: normal; +} + +input[type="file"] { + display: block; +} + +// Make range inputs behave like textual form controls +input[type="range"] { + display: block; + width: 100%; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Focus for file, radio, and checkbox +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + @include tab-focus; +} + +// Adjust output element +output { + display: block; + padding-top: ($padding-base-vertical + 1); + font-size: $font-size-base; + line-height: $line-height-base; + color: $input-color; +} + + +// Common form controls +// +// Shared size and type resets for form controls. Apply `.form-control` to any +// of the following form controls: +// +// select +// textarea +// input[type="text"] +// input[type="password"] +// input[type="datetime"] +// input[type="datetime-local"] +// input[type="date"] +// input[type="month"] +// input[type="time"] +// input[type="week"] +// input[type="number"] +// input[type="email"] +// input[type="url"] +// input[type="search"] +// input[type="tel"] +// input[type="color"] + +.form-control { + display: block; + width: 100%; + height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) + padding: $padding-base-vertical $padding-base-horizontal; + font-size: $font-size-base; + line-height: $line-height-base; + color: $input-color; + background-color: $input-bg; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid $input-border; + border-radius: $input-border-radius; // Note: This has no effect on s in CSS. + @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s); + + // Customize the `:focus` state to imitate native WebKit styles. + @include form-control-focus; + + // Placeholder + @include placeholder; + + // Disabled and read-only inputs + // + // HTML5 says that controls under a fieldset > legend:first-child won't be + // disabled if the fieldset is disabled. Due to implementation difficulty, we + // don't honor that edge case; we style them as disabled anyway. + &[disabled], + &[readonly], + fieldset[disabled] & { + background-color: $input-bg-disabled; + opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655 + } + + &[disabled], + fieldset[disabled] & { + cursor: $cursor-disabled; + } + + // [converter] extracted textarea& to textarea.form-control +} + +// Reset height for `textarea`s +textarea.form-control { + height: auto; +} + + +// Search inputs in iOS +// +// This overrides the extra rounded corners on search inputs in iOS so that our +// `.form-control` class can properly style them. Note that this cannot simply +// be added to `.form-control` as it's not specific enough. For details, see +// https://github.com/twbs/bootstrap/issues/11586. + +input[type="search"] { + -webkit-appearance: none; +} + + +// Special styles for iOS temporal inputs +// +// In Mobile Safari, setting `display: block` on temporal inputs causes the +// text within the input to become vertically misaligned. As a workaround, we +// set a pixel line-height that matches the given height of the input, but only +// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848 +// +// Note that as of 8.3, iOS doesn't support `datetime` or `week`. + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + &.form-control { + line-height: $input-height-base; + } + + &.input-sm, + .input-group-sm & { + line-height: $input-height-small; + } + + &.input-lg, + .input-group-lg & { + line-height: $input-height-large; + } + } +} + + +// Form groups +// +// Designed to help with the organization and spacing of vertical forms. For +// horizontal forms, use the predefined grid classes. + +.form-group { + margin-bottom: $form-group-margin-bottom; +} + + +// Checkboxes and radios +// +// Indent the labels to position radios/checkboxes as hanging controls. + +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; + + label { + min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; + } +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing +} + +// Radios and checkboxes on same line +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; // space out consecutive inline controls +} + +// Apply same disabled cursor tweak as for inputs +// Some special care is needed because Star + +@at-root { + // Import the fonts + @font-face { + font-family: 'Glyphicons Halflings'; + src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot')); + src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'), + url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff2'), '#{$icon-font-path}#{$icon-font-name}.woff2')) format('woff2'), + url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'), + url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'), + url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg'); + } +} + +// Catchall baseclass +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +// Individual icons +.glyphicon-asterisk { &:before { content: "\2a"; } } +.glyphicon-plus { &:before { content: "\2b"; } } +.glyphicon-euro, +.glyphicon-eur { &:before { content: "\20ac"; } } +.glyphicon-minus { &:before { content: "\2212"; } } +.glyphicon-cloud { &:before { content: "\2601"; } } +.glyphicon-envelope { &:before { content: "\2709"; } } +.glyphicon-pencil { &:before { content: "\270f"; } } +.glyphicon-glass { &:before { content: "\e001"; } } +.glyphicon-music { &:before { content: "\e002"; } } +.glyphicon-search { &:before { content: "\e003"; } } +.glyphicon-heart { &:before { content: "\e005"; } } +.glyphicon-star { &:before { content: "\e006"; } } +.glyphicon-star-empty { &:before { content: "\e007"; } } +.glyphicon-user { &:before { content: "\e008"; } } +.glyphicon-film { &:before { content: "\e009"; } } +.glyphicon-th-large { &:before { content: "\e010"; } } +.glyphicon-th { &:before { content: "\e011"; } } +.glyphicon-th-list { &:before { content: "\e012"; } } +.glyphicon-ok { &:before { content: "\e013"; } } +.glyphicon-remove { &:before { content: "\e014"; } } +.glyphicon-zoom-in { &:before { content: "\e015"; } } +.glyphicon-zoom-out { &:before { content: "\e016"; } } +.glyphicon-off { &:before { content: "\e017"; } } +.glyphicon-signal { &:before { content: "\e018"; } } +.glyphicon-cog { &:before { content: "\e019"; } } +.glyphicon-trash { &:before { content: "\e020"; } } +.glyphicon-home { &:before { content: "\e021"; } } +.glyphicon-file { &:before { content: "\e022"; } } +.glyphicon-time { &:before { content: "\e023"; } } +.glyphicon-road { &:before { content: "\e024"; } } +.glyphicon-download-alt { &:before { content: "\e025"; } } +.glyphicon-download { &:before { content: "\e026"; } } +.glyphicon-upload { &:before { content: "\e027"; } } +.glyphicon-inbox { &:before { content: "\e028"; } } +.glyphicon-play-circle { &:before { content: "\e029"; } } +.glyphicon-repeat { &:before { content: "\e030"; } } +.glyphicon-refresh { &:before { content: "\e031"; } } +.glyphicon-list-alt { &:before { content: "\e032"; } } +.glyphicon-lock { &:before { content: "\e033"; } } +.glyphicon-flag { &:before { content: "\e034"; } } +.glyphicon-headphones { &:before { content: "\e035"; } } +.glyphicon-volume-off { &:before { content: "\e036"; } } +.glyphicon-volume-down { &:before { content: "\e037"; } } +.glyphicon-volume-up { &:before { content: "\e038"; } } +.glyphicon-qrcode { &:before { content: "\e039"; } } +.glyphicon-barcode { &:before { content: "\e040"; } } +.glyphicon-tag { &:before { content: "\e041"; } } +.glyphicon-tags { &:before { content: "\e042"; } } +.glyphicon-book { &:before { content: "\e043"; } } +.glyphicon-bookmark { &:before { content: "\e044"; } } +.glyphicon-print { &:before { content: "\e045"; } } +.glyphicon-camera { &:before { content: "\e046"; } } +.glyphicon-font { &:before { content: "\e047"; } } +.glyphicon-bold { &:before { content: "\e048"; } } +.glyphicon-italic { &:before { content: "\e049"; } } +.glyphicon-text-height { &:before { content: "\e050"; } } +.glyphicon-text-width { &:before { content: "\e051"; } } +.glyphicon-align-left { &:before { content: "\e052"; } } +.glyphicon-align-center { &:before { content: "\e053"; } } +.glyphicon-align-right { &:before { content: "\e054"; } } +.glyphicon-align-justify { &:before { content: "\e055"; } } +.glyphicon-list { &:before { content: "\e056"; } } +.glyphicon-indent-left { &:before { content: "\e057"; } } +.glyphicon-indent-right { &:before { content: "\e058"; } } +.glyphicon-facetime-video { &:before { content: "\e059"; } } +.glyphicon-picture { &:before { content: "\e060"; } } +.glyphicon-map-marker { &:before { content: "\e062"; } } +.glyphicon-adjust { &:before { content: "\e063"; } } +.glyphicon-tint { &:before { content: "\e064"; } } +.glyphicon-edit { &:before { content: "\e065"; } } +.glyphicon-share { &:before { content: "\e066"; } } +.glyphicon-check { &:before { content: "\e067"; } } +.glyphicon-move { &:before { content: "\e068"; } } +.glyphicon-step-backward { &:before { content: "\e069"; } } +.glyphicon-fast-backward { &:before { content: "\e070"; } } +.glyphicon-backward { &:before { content: "\e071"; } } +.glyphicon-play { &:before { content: "\e072"; } } +.glyphicon-pause { &:before { content: "\e073"; } } +.glyphicon-stop { &:before { content: "\e074"; } } +.glyphicon-forward { &:before { content: "\e075"; } } +.glyphicon-fast-forward { &:before { content: "\e076"; } } +.glyphicon-step-forward { &:before { content: "\e077"; } } +.glyphicon-eject { &:before { content: "\e078"; } } +.glyphicon-chevron-left { &:before { content: "\e079"; } } +.glyphicon-chevron-right { &:before { content: "\e080"; } } +.glyphicon-plus-sign { &:before { content: "\e081"; } } +.glyphicon-minus-sign { &:before { content: "\e082"; } } +.glyphicon-remove-sign { &:before { content: "\e083"; } } +.glyphicon-ok-sign { &:before { content: "\e084"; } } +.glyphicon-question-sign { &:before { content: "\e085"; } } +.glyphicon-info-sign { &:before { content: "\e086"; } } +.glyphicon-screenshot { &:before { content: "\e087"; } } +.glyphicon-remove-circle { &:before { content: "\e088"; } } +.glyphicon-ok-circle { &:before { content: "\e089"; } } +.glyphicon-ban-circle { &:before { content: "\e090"; } } +.glyphicon-arrow-left { &:before { content: "\e091"; } } +.glyphicon-arrow-right { &:before { content: "\e092"; } } +.glyphicon-arrow-up { &:before { content: "\e093"; } } +.glyphicon-arrow-down { &:before { content: "\e094"; } } +.glyphicon-share-alt { &:before { content: "\e095"; } } +.glyphicon-resize-full { &:before { content: "\e096"; } } +.glyphicon-resize-small { &:before { content: "\e097"; } } +.glyphicon-exclamation-sign { &:before { content: "\e101"; } } +.glyphicon-gift { &:before { content: "\e102"; } } +.glyphicon-leaf { &:before { content: "\e103"; } } +.glyphicon-fire { &:before { content: "\e104"; } } +.glyphicon-eye-open { &:before { content: "\e105"; } } +.glyphicon-eye-close { &:before { content: "\e106"; } } +.glyphicon-warning-sign { &:before { content: "\e107"; } } +.glyphicon-plane { &:before { content: "\e108"; } } +.glyphicon-calendar { &:before { content: "\e109"; } } +.glyphicon-random { &:before { content: "\e110"; } } +.glyphicon-comment { &:before { content: "\e111"; } } +.glyphicon-magnet { &:before { content: "\e112"; } } +.glyphicon-chevron-up { &:before { content: "\e113"; } } +.glyphicon-chevron-down { &:before { content: "\e114"; } } +.glyphicon-retweet { &:before { content: "\e115"; } } +.glyphicon-shopping-cart { &:before { content: "\e116"; } } +.glyphicon-folder-close { &:before { content: "\e117"; } } +.glyphicon-folder-open { &:before { content: "\e118"; } } +.glyphicon-resize-vertical { &:before { content: "\e119"; } } +.glyphicon-resize-horizontal { &:before { content: "\e120"; } } +.glyphicon-hdd { &:before { content: "\e121"; } } +.glyphicon-bullhorn { &:before { content: "\e122"; } } +.glyphicon-bell { &:before { content: "\e123"; } } +.glyphicon-certificate { &:before { content: "\e124"; } } +.glyphicon-thumbs-up { &:before { content: "\e125"; } } +.glyphicon-thumbs-down { &:before { content: "\e126"; } } +.glyphicon-hand-right { &:before { content: "\e127"; } } +.glyphicon-hand-left { &:before { content: "\e128"; } } +.glyphicon-hand-up { &:before { content: "\e129"; } } +.glyphicon-hand-down { &:before { content: "\e130"; } } +.glyphicon-circle-arrow-right { &:before { content: "\e131"; } } +.glyphicon-circle-arrow-left { &:before { content: "\e132"; } } +.glyphicon-circle-arrow-up { &:before { content: "\e133"; } } +.glyphicon-circle-arrow-down { &:before { content: "\e134"; } } +.glyphicon-globe { &:before { content: "\e135"; } } +.glyphicon-wrench { &:before { content: "\e136"; } } +.glyphicon-tasks { &:before { content: "\e137"; } } +.glyphicon-filter { &:before { content: "\e138"; } } +.glyphicon-briefcase { &:before { content: "\e139"; } } +.glyphicon-fullscreen { &:before { content: "\e140"; } } +.glyphicon-dashboard { &:before { content: "\e141"; } } +.glyphicon-paperclip { &:before { content: "\e142"; } } +.glyphicon-heart-empty { &:before { content: "\e143"; } } +.glyphicon-link { &:before { content: "\e144"; } } +.glyphicon-phone { &:before { content: "\e145"; } } +.glyphicon-pushpin { &:before { content: "\e146"; } } +.glyphicon-usd { &:before { content: "\e148"; } } +.glyphicon-gbp { &:before { content: "\e149"; } } +.glyphicon-sort { &:before { content: "\e150"; } } +.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } } +.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } } +.glyphicon-sort-by-order { &:before { content: "\e153"; } } +.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } } +.glyphicon-sort-by-attributes { &:before { content: "\e155"; } } +.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } +.glyphicon-unchecked { &:before { content: "\e157"; } } +.glyphicon-expand { &:before { content: "\e158"; } } +.glyphicon-collapse-down { &:before { content: "\e159"; } } +.glyphicon-collapse-up { &:before { content: "\e160"; } } +.glyphicon-log-in { &:before { content: "\e161"; } } +.glyphicon-flash { &:before { content: "\e162"; } } +.glyphicon-log-out { &:before { content: "\e163"; } } +.glyphicon-new-window { &:before { content: "\e164"; } } +.glyphicon-record { &:before { content: "\e165"; } } +.glyphicon-save { &:before { content: "\e166"; } } +.glyphicon-open { &:before { content: "\e167"; } } +.glyphicon-saved { &:before { content: "\e168"; } } +.glyphicon-import { &:before { content: "\e169"; } } +.glyphicon-export { &:before { content: "\e170"; } } +.glyphicon-send { &:before { content: "\e171"; } } +.glyphicon-floppy-disk { &:before { content: "\e172"; } } +.glyphicon-floppy-saved { &:before { content: "\e173"; } } +.glyphicon-floppy-remove { &:before { content: "\e174"; } } +.glyphicon-floppy-save { &:before { content: "\e175"; } } +.glyphicon-floppy-open { &:before { content: "\e176"; } } +.glyphicon-credit-card { &:before { content: "\e177"; } } +.glyphicon-transfer { &:before { content: "\e178"; } } +.glyphicon-cutlery { &:before { content: "\e179"; } } +.glyphicon-header { &:before { content: "\e180"; } } +.glyphicon-compressed { &:before { content: "\e181"; } } +.glyphicon-earphone { &:before { content: "\e182"; } } +.glyphicon-phone-alt { &:before { content: "\e183"; } } +.glyphicon-tower { &:before { content: "\e184"; } } +.glyphicon-stats { &:before { content: "\e185"; } } +.glyphicon-sd-video { &:before { content: "\e186"; } } +.glyphicon-hd-video { &:before { content: "\e187"; } } +.glyphicon-subtitles { &:before { content: "\e188"; } } +.glyphicon-sound-stereo { &:before { content: "\e189"; } } +.glyphicon-sound-dolby { &:before { content: "\e190"; } } +.glyphicon-sound-5-1 { &:before { content: "\e191"; } } +.glyphicon-sound-6-1 { &:before { content: "\e192"; } } +.glyphicon-sound-7-1 { &:before { content: "\e193"; } } +.glyphicon-copyright-mark { &:before { content: "\e194"; } } +.glyphicon-registration-mark { &:before { content: "\e195"; } } +.glyphicon-cloud-download { &:before { content: "\e197"; } } +.glyphicon-cloud-upload { &:before { content: "\e198"; } } +.glyphicon-tree-conifer { &:before { content: "\e199"; } } +.glyphicon-tree-deciduous { &:before { content: "\e200"; } } +.glyphicon-cd { &:before { content: "\e201"; } } +.glyphicon-save-file { &:before { content: "\e202"; } } +.glyphicon-open-file { &:before { content: "\e203"; } } +.glyphicon-level-up { &:before { content: "\e204"; } } +.glyphicon-copy { &:before { content: "\e205"; } } +.glyphicon-paste { &:before { content: "\e206"; } } +// The following 2 Glyphicons are omitted for the time being because +// they currently use Unicode codepoints that are outside the +// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle +// non-BMP codepoints in CSS string escapes, and thus can't display these two icons. +// Notably, the bug affects some older versions of the Android Browser. +// More info: https://github.com/twbs/bootstrap/issues/10106 +// .glyphicon-door { &:before { content: "\1f6aa"; } } +// .glyphicon-key { &:before { content: "\1f511"; } } +.glyphicon-alert { &:before { content: "\e209"; } } +.glyphicon-equalizer { &:before { content: "\e210"; } } +.glyphicon-king { &:before { content: "\e211"; } } +.glyphicon-queen { &:before { content: "\e212"; } } +.glyphicon-pawn { &:before { content: "\e213"; } } +.glyphicon-bishop { &:before { content: "\e214"; } } +.glyphicon-knight { &:before { content: "\e215"; } } +.glyphicon-baby-formula { &:before { content: "\e216"; } } +.glyphicon-tent { &:before { content: "\26fa"; } } +.glyphicon-blackboard { &:before { content: "\e218"; } } +.glyphicon-bed { &:before { content: "\e219"; } } +.glyphicon-apple { &:before { content: "\f8ff"; } } +.glyphicon-erase { &:before { content: "\e221"; } } +.glyphicon-hourglass { &:before { content: "\231b"; } } +.glyphicon-lamp { &:before { content: "\e223"; } } +.glyphicon-duplicate { &:before { content: "\e224"; } } +.glyphicon-piggy-bank { &:before { content: "\e225"; } } +.glyphicon-scissors { &:before { content: "\e226"; } } +.glyphicon-bitcoin { &:before { content: "\e227"; } } +.glyphicon-btc { &:before { content: "\e227"; } } +.glyphicon-xbt { &:before { content: "\e227"; } } +.glyphicon-yen { &:before { content: "\00a5"; } } +.glyphicon-jpy { &:before { content: "\00a5"; } } +.glyphicon-ruble { &:before { content: "\20bd"; } } +.glyphicon-rub { &:before { content: "\20bd"; } } +.glyphicon-scale { &:before { content: "\e230"; } } +.glyphicon-ice-lolly { &:before { content: "\e231"; } } +.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } } +.glyphicon-education { &:before { content: "\e233"; } } +.glyphicon-option-horizontal { &:before { content: "\e234"; } } +.glyphicon-option-vertical { &:before { content: "\e235"; } } +.glyphicon-menu-hamburger { &:before { content: "\e236"; } } +.glyphicon-modal-window { &:before { content: "\e237"; } } +.glyphicon-oil { &:before { content: "\e238"; } } +.glyphicon-grain { &:before { content: "\e239"; } } +.glyphicon-sunglasses { &:before { content: "\e240"; } } +.glyphicon-text-size { &:before { content: "\e241"; } } +.glyphicon-text-color { &:before { content: "\e242"; } } +.glyphicon-text-background { &:before { content: "\e243"; } } +.glyphicon-object-align-top { &:before { content: "\e244"; } } +.glyphicon-object-align-bottom { &:before { content: "\e245"; } } +.glyphicon-object-align-horizontal{ &:before { content: "\e246"; } } +.glyphicon-object-align-left { &:before { content: "\e247"; } } +.glyphicon-object-align-vertical { &:before { content: "\e248"; } } +.glyphicon-object-align-right { &:before { content: "\e249"; } } +.glyphicon-triangle-right { &:before { content: "\e250"; } } +.glyphicon-triangle-left { &:before { content: "\e251"; } } +.glyphicon-triangle-bottom { &:before { content: "\e252"; } } +.glyphicon-triangle-top { &:before { content: "\e253"; } } +.glyphicon-console { &:before { content: "\e254"; } } +.glyphicon-superscript { &:before { content: "\e255"; } } +.glyphicon-subscript { &:before { content: "\e256"; } } +.glyphicon-menu-left { &:before { content: "\e257"; } } +.glyphicon-menu-right { &:before { content: "\e258"; } } +.glyphicon-menu-down { &:before { content: "\e259"; } } +.glyphicon-menu-up { &:before { content: "\e260"; } } diff --git a/static/sass/bootstrap/_grid.scss b/static/sass/bootstrap/_grid.scss new file mode 100644 index 0000000..b15ca27 --- /dev/null +++ b/static/sass/bootstrap/_grid.scss @@ -0,0 +1,84 @@ +// +// Grid system +// -------------------------------------------------- + + +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + +.container { + @include container-fixed; + + @media (min-width: $screen-sm-min) { + width: $container-sm; + } + @media (min-width: $screen-md-min) { + width: $container-md; + } + @media (min-width: $screen-lg-min) { + width: $container-lg; + } +} + + +// Fluid container +// +// Utilizes the mixin meant for fixed width containers, but without any defined +// width for fluid, full width layouts. + +.container-fluid { + @include container-fixed; +} + + +// Row +// +// Rows contain and clear the floats of your columns. + +.row { + @include make-row; +} + + +// Columns +// +// Common styles for small and large grid columns + +@include make-grid-columns; + + +// Extra small grid +// +// Columns, offsets, pushes, and pulls for extra small devices like +// smartphones. + +@include make-grid(xs); + + +// Small grid +// +// Columns, offsets, pushes, and pulls for the small device range, from phones +// to tablets. + +@media (min-width: $screen-sm-min) { + @include make-grid(sm); +} + + +// Medium grid +// +// Columns, offsets, pushes, and pulls for the desktop device range. + +@media (min-width: $screen-md-min) { + @include make-grid(md); +} + + +// Large grid +// +// Columns, offsets, pushes, and pulls for the large desktop device range. + +@media (min-width: $screen-lg-min) { + @include make-grid(lg); +} diff --git a/static/sass/bootstrap/_input-groups.scss b/static/sass/bootstrap/_input-groups.scss new file mode 100644 index 0000000..12f0c42 --- /dev/null +++ b/static/sass/bootstrap/_input-groups.scss @@ -0,0 +1,167 @@ +// +// Input groups +// -------------------------------------------------- + +// Base styles +// ------------------------- +.input-group { + position: relative; // For dropdowns + display: table; + border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table + + // Undo padding and float of grid classes + &[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; + } + + .form-control { + // Ensure that the input is always above the *appended* addon button for + // proper border colors. + position: relative; + z-index: 2; + + // IE9 fubars the placeholder attribute in text inputs and the arrows on + // select elements in input groups. To fix it, we float the input. Details: + // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 + float: left; + + width: 100%; + margin-bottom: 0; + } +} + +// Sizing options +// +// Remix the default form control sizing classes into new ones for easier +// manipulation. + +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + @extend .input-lg; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + @extend .input-sm; +} + + +// Display as table-cell +// ------------------------- +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; + + &:not(:first-child):not(:last-child) { + border-radius: 0; + } +} +// Addon and addon wrapper for buttons +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; // Match the inputs +} + +// Text input groups +// ------------------------- +.input-group-addon { + padding: $padding-base-vertical $padding-base-horizontal; + font-size: $font-size-base; + font-weight: normal; + line-height: 1; + color: $input-color; + text-align: center; + background-color: $input-group-addon-bg; + border: 1px solid $input-group-addon-border-color; + border-radius: $border-radius-base; + + // Sizing + &.input-sm { + padding: $padding-small-vertical $padding-small-horizontal; + font-size: $font-size-small; + border-radius: $border-radius-small; + } + &.input-lg { + padding: $padding-large-vertical $padding-large-horizontal; + font-size: $font-size-large; + border-radius: $border-radius-large; + } + + // Nuke default margins from checkboxes and radios to vertically center within. + input[type="radio"], + input[type="checkbox"] { + margin-top: 0; + } +} + +// Reset rounded corners +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + @include border-right-radius(0); +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + @include border-left-radius(0); +} +.input-group-addon:last-child { + border-left: 0; +} + +// Button input groups +// ------------------------- +.input-group-btn { + position: relative; + // Jankily prevent input button groups from wrapping with `white-space` and + // `font-size` in combination with `inline-block` on buttons. + font-size: 0; + white-space: nowrap; + + // Negative margin for spacing, position for bringing hovered/focused/actived + // element above the siblings. + > .btn { + position: relative; + + .btn { + margin-left: -1px; + } + // Bring the "active" button to the front + &:hover, + &:focus, + &:active { + z-index: 2; + } + } + + // Negative margin to only have a 1px border between the two + &:first-child { + > .btn, + > .btn-group { + margin-right: -1px; + } + } + &:last-child { + > .btn, + > .btn-group { + z-index: 2; + margin-left: -1px; + } + } +} diff --git a/static/sass/bootstrap/_jumbotron.scss b/static/sass/bootstrap/_jumbotron.scss new file mode 100644 index 0000000..439d23d --- /dev/null +++ b/static/sass/bootstrap/_jumbotron.scss @@ -0,0 +1,52 @@ +// +// Jumbotron +// -------------------------------------------------- + + +.jumbotron { + padding-top: $jumbotron-padding; + padding-bottom: $jumbotron-padding; + margin-bottom: $jumbotron-padding; + color: $jumbotron-color; + background-color: $jumbotron-bg; + + h1, + .h1 { + color: $jumbotron-heading-color; + } + + p { + margin-bottom: ($jumbotron-padding / 2); + font-size: $jumbotron-font-size; + font-weight: 200; + } + + > hr { + border-top-color: darken($jumbotron-bg, 10%); + } + + .container &, + .container-fluid & { + border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container + } + + .container { + max-width: 100%; + } + + @media screen and (min-width: $screen-sm-min) { + padding-top: ($jumbotron-padding * 1.6); + padding-bottom: ($jumbotron-padding * 1.6); + + .container &, + .container-fluid & { + padding-left: ($jumbotron-padding * 2); + padding-right: ($jumbotron-padding * 2); + } + + h1, + .h1 { + font-size: $jumbotron-heading-font-size; + } + } +} diff --git a/static/sass/bootstrap/_labels.scss b/static/sass/bootstrap/_labels.scss new file mode 100644 index 0000000..42ed6ea --- /dev/null +++ b/static/sass/bootstrap/_labels.scss @@ -0,0 +1,66 @@ +// +// Labels +// -------------------------------------------------- + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: $label-color; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; + + // [converter] extracted a& to a.label + + // Empty labels collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for labels in buttons + .btn & { + position: relative; + top: -1px; + } +} + +// Add hover effects, but only for links +a.label { + &:hover, + &:focus { + color: $label-link-hover-color; + text-decoration: none; + cursor: pointer; + } +} + +// Colors +// Contextual variations (linked labels get darker on :hover) + +.label-default { + @include label-variant($label-default-bg); +} + +.label-primary { + @include label-variant($label-primary-bg); +} + +.label-success { + @include label-variant($label-success-bg); +} + +.label-info { + @include label-variant($label-info-bg); +} + +.label-warning { + @include label-variant($label-warning-bg); +} + +.label-danger { + @include label-variant($label-danger-bg); +} diff --git a/static/sass/bootstrap/_list-group.scss b/static/sass/bootstrap/_list-group.scss new file mode 100644 index 0000000..7cb83aa --- /dev/null +++ b/static/sass/bootstrap/_list-group.scss @@ -0,0 +1,130 @@ +// +// List groups +// -------------------------------------------------- + + +// Base class +// +// Easily usable on
      ,
        , or
        . + +.list-group { + // No need to set list-style: none; since .list-group-item is block level + margin-bottom: 20px; + padding-left: 0; // reset padding because ul and ol +} + + +// Individual list items +// +// Use on `li`s or `div`s within the `.list-group` parent. + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + // Place the border on the list items and negative margin up for better styling + margin-bottom: -1px; + background-color: $list-group-bg; + border: 1px solid $list-group-border; + + // Round the first and last items + &:first-child { + @include border-top-radius($list-group-border-radius); + } + &:last-child { + margin-bottom: 0; + @include border-bottom-radius($list-group-border-radius); + } +} + + +// Interactive list items +// +// Use anchor or button elements instead of `li`s or `div`s to create interactive items. +// Includes an extra `.active` modifier class for showing selected items. + +a.list-group-item, +button.list-group-item { + color: $list-group-link-color; + + .list-group-item-heading { + color: $list-group-link-heading-color; + } + + // Hover state + &:hover, + &:focus { + text-decoration: none; + color: $list-group-link-hover-color; + background-color: $list-group-hover-bg; + } +} + +button.list-group-item { + width: 100%; + text-align: left; +} + +.list-group-item { + // Disabled state + &.disabled, + &.disabled:hover, + &.disabled:focus { + background-color: $list-group-disabled-bg; + color: $list-group-disabled-color; + cursor: $cursor-disabled; + + // Force color to inherit for custom content + .list-group-item-heading { + color: inherit; + } + .list-group-item-text { + color: $list-group-disabled-text-color; + } + } + + // Active class on item itself, not parent + &.active, + &.active:hover, + &.active:focus { + z-index: 2; // Place active items above their siblings for proper border styling + color: $list-group-active-color; + background-color: $list-group-active-bg; + border-color: $list-group-active-border; + + // Force color to inherit for custom content + .list-group-item-heading, + .list-group-item-heading > small, + .list-group-item-heading > .small { + color: inherit; + } + .list-group-item-text { + color: $list-group-active-text-color; + } + } +} + + +// Contextual variants +// +// Add modifier classes to change text and background color on individual items. +// Organizationally, this must come after the `:hover` states. + +@include list-group-item-variant(success, $state-success-bg, $state-success-text); +@include list-group-item-variant(info, $state-info-bg, $state-info-text); +@include list-group-item-variant(warning, $state-warning-bg, $state-warning-text); +@include list-group-item-variant(danger, $state-danger-bg, $state-danger-text); + + +// Custom content options +// +// Extra classes for creating well-formatted content within `.list-group-item`s. + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} diff --git a/static/sass/bootstrap/_media.scss b/static/sass/bootstrap/_media.scss new file mode 100644 index 0000000..8c835e8 --- /dev/null +++ b/static/sass/bootstrap/_media.scss @@ -0,0 +1,66 @@ +.media { + // Proper spacing between instances of .media + margin-top: 15px; + + &:first-child { + margin-top: 0; + } +} + +.media, +.media-body { + zoom: 1; + overflow: hidden; +} + +.media-body { + width: 10000px; +} + +.media-object { + display: block; + + // Fix collapse in webkit from max-width: 100% and display: table-cell. + &.img-thumbnail { + max-width: none; + } +} + +.media-right, +.media > .pull-right { + padding-left: 10px; +} + +.media-left, +.media > .pull-left { + padding-right: 10px; +} + +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} + +.media-middle { + vertical-align: middle; +} + +.media-bottom { + vertical-align: bottom; +} + +// Reset margins on headings for tighter default spacing +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} + +// Media list variation +// +// Undo default ul/ol styles +.media-list { + padding-left: 0; + list-style: none; +} diff --git a/static/sass/bootstrap/_mixins.scss b/static/sass/bootstrap/_mixins.scss new file mode 100644 index 0000000..78cd5aa --- /dev/null +++ b/static/sass/bootstrap/_mixins.scss @@ -0,0 +1,40 @@ +// Mixins +// -------------------------------------------------- + +// Utilities +@import "mixins/hide-text"; +@import "mixins/opacity"; +@import "mixins/image"; +@import "mixins/labels"; +@import "mixins/reset-filter"; +@import "mixins/resize"; +@import "mixins/responsive-visibility"; +@import "mixins/size"; +@import "mixins/tab-focus"; +@import "mixins/reset-text"; +@import "mixins/text-emphasis"; +@import "mixins/text-overflow"; +@import "mixins/vendor-prefixes"; + +// Components +@import "mixins/alerts"; +@import "mixins/buttons"; +@import "mixins/panels"; +@import "mixins/pagination"; +@import "mixins/list-group"; +@import "mixins/nav-divider"; +@import "mixins/forms"; +@import "mixins/progress-bar"; +@import "mixins/table-row"; + +// Skins +@import "mixins/background-variant"; +@import "mixins/border-radius"; +@import "mixins/gradients"; + +// Layout +@import "mixins/clearfix"; +@import "mixins/center-block"; +@import "mixins/nav-vertical-align"; +@import "mixins/grid-framework"; +@import "mixins/grid"; diff --git a/static/sass/bootstrap/_modals.scss b/static/sass/bootstrap/_modals.scss new file mode 100644 index 0000000..837558e --- /dev/null +++ b/static/sass/bootstrap/_modals.scss @@ -0,0 +1,150 @@ +// +// Modals +// -------------------------------------------------- + +// .modal-open - body class for killing the scroll +// .modal - container to scroll within +// .modal-dialog - positioning shell for the actual modal +// .modal-content - actual modal w/ bg and corners and shit + +// Kill the scroll on the body +.modal-open { + overflow: hidden; +} + +// Container that the modal scrolls within +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $zindex-modal; + -webkit-overflow-scrolling: touch; + + // Prevent Chrome on Windows from adding a focus outline. For details, see + // https://github.com/twbs/bootstrap/pull/10951. + outline: 0; + + // When fading in the modal, animate it to slide down + &.fade .modal-dialog { + @include translate(0, -25%); + @include transition-transform(0.3s ease-out); + } + &.in .modal-dialog { @include translate(0, 0) } +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +// Shell div to position the modal with bottom padding +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} + +// Actual modal +.modal-content { + position: relative; + background-color: $modal-content-bg; + border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc) + border: 1px solid $modal-content-border-color; + border-radius: $border-radius-large; + @include box-shadow(0 3px 9px rgba(0,0,0,.5)); + background-clip: padding-box; + // Remove focus outline from opened modal + outline: 0; +} + +// Modal background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $zindex-modal-background; + background-color: $modal-backdrop-bg; + // Fade for backdrop + &.fade { @include opacity(0); } + &.in { @include opacity($modal-backdrop-opacity); } +} + +// Modal header +// Top section of the modal w/ title and dismiss +.modal-header { + padding: $modal-title-padding; + border-bottom: 1px solid $modal-header-border-color; + min-height: ($modal-title-padding + $modal-title-line-height); +} +// Close icon +.modal-header .close { + margin-top: -2px; +} + +// Title text within header +.modal-title { + margin: 0; + line-height: $modal-title-line-height; +} + +// Modal body +// Where all modal content resides (sibling of .modal-header and .modal-footer) +.modal-body { + position: relative; + padding: $modal-inner-padding; +} + +// Footer (for actions) +.modal-footer { + padding: $modal-inner-padding; + text-align: right; // right align buttons + border-top: 1px solid $modal-footer-border-color; + @include clearfix; // clear it in case folks use .pull-* classes on buttons + + // Properly space out buttons + .btn + .btn { + margin-left: 5px; + margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs + } + // but override that for button groups + .btn-group .btn + .btn { + margin-left: -1px; + } + // and override it for block buttons as well + .btn-block + .btn-block { + margin-left: 0; + } +} + +// Measure scrollbar width for padding body during modal show/hide +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +// Scale up the modal +@media (min-width: $screen-sm-min) { + // Automatically set modal's width for larger viewports + .modal-dialog { + width: $modal-md; + margin: 30px auto; + } + .modal-content { + @include box-shadow(0 5px 15px rgba(0,0,0,.5)); + } + + // Modal sizes + .modal-sm { width: $modal-sm; } +} + +@media (min-width: $screen-md-min) { + .modal-lg { width: $modal-lg; } +} diff --git a/static/sass/bootstrap/_navbar.scss b/static/sass/bootstrap/_navbar.scss new file mode 100644 index 0000000..11e5c01 --- /dev/null +++ b/static/sass/bootstrap/_navbar.scss @@ -0,0 +1,662 @@ +// +// Navbars +// -------------------------------------------------- + + +// Wrapper and base class +// +// Provide a static navbar from which we expand to create full-width, fixed, and +// other navbar variations. + +.navbar { + position: relative; + min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode) + margin-bottom: $navbar-margin-bottom; + border: 1px solid transparent; + + // Prevent floats from breaking the navbar + @include clearfix; + + @media (min-width: $grid-float-breakpoint) { + border-radius: $navbar-border-radius; + } +} + + +// Navbar heading +// +// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy +// styling of responsive aspects. + +.navbar-header { + @include clearfix; + + @media (min-width: $grid-float-breakpoint) { + float: left; + } +} + + +// Navbar collapse (body) +// +// Group your navbar content into this for easy collapsing and expanding across +// various device sizes. By default, this content is collapsed when <768px, but +// will expand past that for a horizontal display. +// +// To start (on mobile devices) the navbar links, forms, and buttons are stacked +// vertically and include a `max-height` to overflow in case you have too much +// content for the user's viewport. + +.navbar-collapse { + overflow-x: visible; + padding-right: $navbar-padding-horizontal; + padding-left: $navbar-padding-horizontal; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255,255,255,.1); + @include clearfix; + -webkit-overflow-scrolling: touch; + + &.in { + overflow-y: auto; + } + + @media (min-width: $grid-float-breakpoint) { + width: auto; + border-top: 0; + box-shadow: none; + + &.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; // Override default setting + overflow: visible !important; + } + + &.in { + overflow-y: visible; + } + + // Undo the collapse side padding for navbars with containers to ensure + // alignment of right-aligned contents. + .navbar-fixed-top &, + .navbar-static-top &, + .navbar-fixed-bottom & { + padding-left: 0; + padding-right: 0; + } + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + .navbar-collapse { + max-height: $navbar-collapse-max-height; + + @media (max-device-width: $screen-xs-min) and (orientation: landscape) { + max-height: 200px; + } + } +} + + +// Both navbar header and collapse +// +// When a container is present, change the behavior of the header and collapse. + +.container, +.container-fluid { + > .navbar-header, + > .navbar-collapse { + margin-right: -$navbar-padding-horizontal; + margin-left: -$navbar-padding-horizontal; + + @media (min-width: $grid-float-breakpoint) { + margin-right: 0; + margin-left: 0; + } + } +} + + +// +// Navbar alignment options +// +// Display the navbar across the entirety of the page or fixed it to the top or +// bottom of the page. + +// Static top (unfixed, but 100% wide) navbar +.navbar-static-top { + z-index: $zindex-navbar; + border-width: 0 0 1px; + + @media (min-width: $grid-float-breakpoint) { + border-radius: 0; + } +} + +// Fix the top/bottom navbars when screen real estate supports it +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: $zindex-navbar-fixed; + + // Undo the rounded corners + @media (min-width: $grid-float-breakpoint) { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; // override .navbar defaults + border-width: 1px 0 0; +} + + +// Brand/project name + +.navbar-brand { + float: left; + padding: $navbar-padding-vertical $navbar-padding-horizontal; + font-size: $font-size-large; + line-height: $line-height-computed; + height: $navbar-height; + + &:hover, + &:focus { + text-decoration: none; + } + + > img { + display: block; + } + + @media (min-width: $grid-float-breakpoint) { + .navbar > .container &, + .navbar > .container-fluid & { + margin-left: -$navbar-padding-horizontal; + } + } +} + + +// Navbar toggle +// +// Custom button for toggling the `.navbar-collapse`, powered by the collapse +// JavaScript plugin. + +.navbar-toggle { + position: relative; + float: right; + margin-right: $navbar-padding-horizontal; + padding: 9px 10px; + @include navbar-vertical-align(34px); + background-color: transparent; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + border-radius: $border-radius-base; + + // We remove the `outline` here, but later compensate by attaching `:hover` + // styles to `:focus`. + &:focus { + outline: 0; + } + + // Bars + .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; + } + .icon-bar + .icon-bar { + margin-top: 4px; + } + + @media (min-width: $grid-float-breakpoint) { + display: none; + } +} + + +// Navbar nav links +// +// Builds on top of the `.nav` components with its own modifier class to make +// the nav the full height of the horizontal nav (above 768px). + +.navbar-nav { + margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal); + + > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: $line-height-computed; + } + + @media (max-width: $grid-float-breakpoint-max) { + // Dropdowns get custom display when collapsed + .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + > li > a, + .dropdown-header { + padding: 5px 15px 5px 25px; + } + > li > a { + line-height: $line-height-computed; + &:hover, + &:focus { + background-image: none; + } + } + } + } + + // Uncollapse the nav + @media (min-width: $grid-float-breakpoint) { + float: left; + margin: 0; + + > li { + float: left; + > a { + padding-top: $navbar-padding-vertical; + padding-bottom: $navbar-padding-vertical; + } + } + } +} + + +// Navbar form +// +// Extension of the `.form-inline` with some extra flavor for optimum display in +// our navbars. + +.navbar-form { + margin-left: -$navbar-padding-horizontal; + margin-right: -$navbar-padding-horizontal; + padding: 10px $navbar-padding-horizontal; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + @include box-shadow($shadow); + + // Mixin behavior for optimum display + @include form-inline; + + .form-group { + @media (max-width: $grid-float-breakpoint-max) { + margin-bottom: 5px; + + &:last-child { + margin-bottom: 0; + } + } + } + + // Vertically center in expanded, horizontal navbar + @include navbar-vertical-align($input-height-base); + + // Undo 100% width for pull classes + @media (min-width: $grid-float-breakpoint) { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + @include box-shadow(none); + } +} + + +// Dropdown menus + +// Menu position and menu carets +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + @include border-top-radius(0); +} +// Menu position and menu caret support for dropups via extra dropup class +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + @include border-top-radius($navbar-border-radius); + @include border-bottom-radius(0); +} + + +// Buttons in navbars +// +// Vertically center a button within a navbar (when *not* in a form). + +.navbar-btn { + @include navbar-vertical-align($input-height-base); + + &.btn-sm { + @include navbar-vertical-align($input-height-small); + } + &.btn-xs { + @include navbar-vertical-align(22); + } +} + + +// Text in navbars +// +// Add a class to make any element properly align itself vertically within the navbars. + +.navbar-text { + @include navbar-vertical-align($line-height-computed); + + @media (min-width: $grid-float-breakpoint) { + float: left; + margin-left: $navbar-padding-horizontal; + margin-right: $navbar-padding-horizontal; + } +} + + +// Component alignment +// +// Repurpose the pull utilities as their own navbar utilities to avoid specificity +// issues with parents and chaining. Only do this when the navbar is uncollapsed +// though so that navbar contents properly stack and align in mobile. +// +// Declared after the navbar components to ensure more specificity on the margins. + +@media (min-width: $grid-float-breakpoint) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -$navbar-padding-horizontal; + + ~ .navbar-right { + margin-right: 0; + } + } +} + + +// Alternate navbars +// -------------------------------------------------- + +// Default navbar +.navbar-default { + background-color: $navbar-default-bg; + border-color: $navbar-default-border; + + .navbar-brand { + color: $navbar-default-brand-color; + &:hover, + &:focus { + color: $navbar-default-brand-hover-color; + background-color: $navbar-default-brand-hover-bg; + } + } + + .navbar-text { + color: $navbar-default-color; + } + + .navbar-nav { + > li > a { + color: $navbar-default-link-color; + + &:hover, + &:focus { + color: $navbar-default-link-hover-color; + background-color: $navbar-default-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: $navbar-default-link-active-color; + background-color: $navbar-default-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: $navbar-default-link-disabled-color; + background-color: $navbar-default-link-disabled-bg; + } + } + } + + .navbar-toggle { + border-color: $navbar-default-toggle-border-color; + &:hover, + &:focus { + background-color: $navbar-default-toggle-hover-bg; + } + .icon-bar { + background-color: $navbar-default-toggle-icon-bar-bg; + } + } + + .navbar-collapse, + .navbar-form { + border-color: $navbar-default-border; + } + + // Dropdown menu items + .navbar-nav { + // Remove background color from open dropdown + > .open > a { + &, + &:hover, + &:focus { + background-color: $navbar-default-link-active-bg; + color: $navbar-default-link-active-color; + } + } + + @media (max-width: $grid-float-breakpoint-max) { + // Dropdowns get custom display when collapsed + .open .dropdown-menu { + > li > a { + color: $navbar-default-link-color; + &:hover, + &:focus { + color: $navbar-default-link-hover-color; + background-color: $navbar-default-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: $navbar-default-link-active-color; + background-color: $navbar-default-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: $navbar-default-link-disabled-color; + background-color: $navbar-default-link-disabled-bg; + } + } + } + } + } + + + // Links in navbars + // + // Add a class to ensure links outside the navbar nav are colored correctly. + + .navbar-link { + color: $navbar-default-link-color; + &:hover { + color: $navbar-default-link-hover-color; + } + } + + .btn-link { + color: $navbar-default-link-color; + &:hover, + &:focus { + color: $navbar-default-link-hover-color; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: $navbar-default-link-disabled-color; + } + } + } +} + +// Inverse navbar + +.navbar-inverse { + background-color: $navbar-inverse-bg; + border-color: $navbar-inverse-border; + + .navbar-brand { + color: $navbar-inverse-brand-color; + &:hover, + &:focus { + color: $navbar-inverse-brand-hover-color; + background-color: $navbar-inverse-brand-hover-bg; + } + } + + .navbar-text { + color: $navbar-inverse-color; + } + + .navbar-nav { + > li > a { + color: $navbar-inverse-link-color; + + &:hover, + &:focus { + color: $navbar-inverse-link-hover-color; + background-color: $navbar-inverse-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: $navbar-inverse-link-active-color; + background-color: $navbar-inverse-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: $navbar-inverse-link-disabled-color; + background-color: $navbar-inverse-link-disabled-bg; + } + } + } + + // Darken the responsive nav toggle + .navbar-toggle { + border-color: $navbar-inverse-toggle-border-color; + &:hover, + &:focus { + background-color: $navbar-inverse-toggle-hover-bg; + } + .icon-bar { + background-color: $navbar-inverse-toggle-icon-bar-bg; + } + } + + .navbar-collapse, + .navbar-form { + border-color: darken($navbar-inverse-bg, 7%); + } + + // Dropdowns + .navbar-nav { + > .open > a { + &, + &:hover, + &:focus { + background-color: $navbar-inverse-link-active-bg; + color: $navbar-inverse-link-active-color; + } + } + + @media (max-width: $grid-float-breakpoint-max) { + // Dropdowns get custom display + .open .dropdown-menu { + > .dropdown-header { + border-color: $navbar-inverse-border; + } + .divider { + background-color: $navbar-inverse-border; + } + > li > a { + color: $navbar-inverse-link-color; + &:hover, + &:focus { + color: $navbar-inverse-link-hover-color; + background-color: $navbar-inverse-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: $navbar-inverse-link-active-color; + background-color: $navbar-inverse-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: $navbar-inverse-link-disabled-color; + background-color: $navbar-inverse-link-disabled-bg; + } + } + } + } + } + + .navbar-link { + color: $navbar-inverse-link-color; + &:hover { + color: $navbar-inverse-link-hover-color; + } + } + + .btn-link { + color: $navbar-inverse-link-color; + &:hover, + &:focus { + color: $navbar-inverse-link-hover-color; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: $navbar-inverse-link-disabled-color; + } + } + } +} diff --git a/static/sass/bootstrap/_navs.scss b/static/sass/bootstrap/_navs.scss new file mode 100644 index 0000000..9d369f3 --- /dev/null +++ b/static/sass/bootstrap/_navs.scss @@ -0,0 +1,242 @@ +// +// Navs +// -------------------------------------------------- + + +// Base class +// -------------------------------------------------- + +.nav { + margin-bottom: 0; + padding-left: 0; // Override default ul/ol + list-style: none; + @include clearfix; + + > li { + position: relative; + display: block; + + > a { + position: relative; + display: block; + padding: $nav-link-padding; + &:hover, + &:focus { + text-decoration: none; + background-color: $nav-link-hover-bg; + } + } + + // Disabled state sets text to gray and nukes hover/tab effects + &.disabled > a { + color: $nav-disabled-link-color; + + &:hover, + &:focus { + color: $nav-disabled-link-hover-color; + text-decoration: none; + background-color: transparent; + cursor: $cursor-disabled; + } + } + } + + // Open dropdowns + .open > a { + &, + &:hover, + &:focus { + background-color: $nav-link-hover-bg; + border-color: $link-color; + } + } + + // Nav dividers (deprecated with v3.0.1) + // + // This should have been removed in v3 with the dropping of `.nav-list`, but + // we missed it. We don't currently support this anywhere, but in the interest + // of maintaining backward compatibility in case you use it, it's deprecated. + .nav-divider { + @include nav-divider; + } + + // Prevent IE8 from misplacing imgs + // + // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 + > li > a > img { + max-width: none; + } +} + + +// Tabs +// ------------------------- + +// Give the tabs something to sit on +.nav-tabs { + border-bottom: 1px solid $nav-tabs-border-color; + > li { + float: left; + // Make the list-items overlay the bottom border + margin-bottom: -1px; + + // Actual tabs (as links) + > a { + margin-right: 2px; + line-height: $line-height-base; + border: 1px solid transparent; + border-radius: $border-radius-base $border-radius-base 0 0; + &:hover { + border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color; + } + } + + // Active state, and its :hover to override normal :hover + &.active > a { + &, + &:hover, + &:focus { + color: $nav-tabs-active-link-hover-color; + background-color: $nav-tabs-active-link-hover-bg; + border: 1px solid $nav-tabs-active-link-hover-border-color; + border-bottom-color: transparent; + cursor: default; + } + } + } + // pulling this in mainly for less shorthand + &.nav-justified { + @extend .nav-justified; + @extend .nav-tabs-justified; + } +} + + +// Pills +// ------------------------- +.nav-pills { + > li { + float: left; + + // Links rendered as pills + > a { + border-radius: $nav-pills-border-radius; + } + + li { + margin-left: 2px; + } + + // Active state + &.active > a { + &, + &:hover, + &:focus { + color: $nav-pills-active-link-hover-color; + background-color: $nav-pills-active-link-hover-bg; + } + } + } +} + + +// Stacked pills +.nav-stacked { + > li { + float: none; + + li { + margin-top: 2px; + margin-left: 0; // no need for this gap between nav items + } + } +} + + +// Nav variations +// -------------------------------------------------- + +// Justified nav links +// ------------------------- + +.nav-justified { + width: 100%; + + > li { + float: none; + > a { + text-align: center; + margin-bottom: 5px; + } + } + + > .dropdown .dropdown-menu { + top: auto; + left: auto; + } + + @media (min-width: $screen-sm-min) { + > li { + display: table-cell; + width: 1%; + > a { + margin-bottom: 0; + } + } + } +} + +// Move borders to anchors instead of bottom of list +// +// Mixin for adding on top the shared `.nav-justified` styles for our tabs +.nav-tabs-justified { + border-bottom: 0; + + > li > a { + // Override margin from .nav-tabs + margin-right: 0; + border-radius: $border-radius-base; + } + + > .active > a, + > .active > a:hover, + > .active > a:focus { + border: 1px solid $nav-tabs-justified-link-border-color; + } + + @media (min-width: $screen-sm-min) { + > li > a { + border-bottom: 1px solid $nav-tabs-justified-link-border-color; + border-radius: $border-radius-base $border-radius-base 0 0; + } + > .active > a, + > .active > a:hover, + > .active > a:focus { + border-bottom-color: $nav-tabs-justified-active-link-border-color; + } + } +} + + +// Tabbable tabs +// ------------------------- + +// Hide tabbable panes to start, show them when `.active` +.tab-content { + > .tab-pane { + display: none; + } + > .active { + display: block; + } +} + + +// Dropdowns +// ------------------------- + +// Specific dropdowns +.nav-tabs .dropdown-menu { + // make dropdown border overlap tab border + margin-top: -1px; + // Remove the top rounded corners here since there is a hard edge above the menu + @include border-top-radius(0); +} diff --git a/static/sass/bootstrap/_normalize.scss b/static/sass/bootstrap/_normalize.scss new file mode 100644 index 0000000..9dddf73 --- /dev/null +++ b/static/sass/bootstrap/_normalize.scss @@ -0,0 +1,424 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ + +// +// 1. Set default font family to sans-serif. +// 2. Prevent iOS and IE text size adjust after device orientation change, +// without disabling user zoom. +// + +html { + font-family: sans-serif; // 1 + -ms-text-size-adjust: 100%; // 2 + -webkit-text-size-adjust: 100%; // 2 +} + +// +// Remove default margin. +// + +body { + margin: 0; +} + +// HTML5 display definitions +// ========================================================================== + +// +// Correct `block` display not defined for any HTML5 element in IE 8/9. +// Correct `block` display not defined for `details` or `summary` in IE 10/11 +// and Firefox. +// Correct `block` display not defined for `main` in IE 11. +// + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +// +// 1. Correct `inline-block` display not defined in IE 8/9. +// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. +// + +audio, +canvas, +progress, +video { + display: inline-block; // 1 + vertical-align: baseline; // 2 +} + +// +// Prevent modern browsers from displaying `audio` without controls. +// Remove excess height in iOS 5 devices. +// + +audio:not([controls]) { + display: none; + height: 0; +} + +// +// Address `[hidden]` styling not present in IE 8/9/10. +// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. +// + +[hidden], +template { + display: none; +} + +// Links +// ========================================================================== + +// +// Remove the gray background color from active links in IE 10. +// + +a { + background-color: transparent; +} + +// +// Improve readability of focused elements when they are also in an +// active/hover state. +// + +a:active, +a:hover { + outline: 0; +} + +// Text-level semantics +// ========================================================================== + +// +// Address styling not present in IE 8/9/10/11, Safari, and Chrome. +// + +abbr[title] { + border-bottom: 1px dotted; +} + +// +// Address style set to `bolder` in Firefox 4+, Safari, and Chrome. +// + +b, +strong { + font-weight: bold; +} + +// +// Address styling not present in Safari and Chrome. +// + +dfn { + font-style: italic; +} + +// +// Address variable `h1` font-size and margin within `section` and `article` +// contexts in Firefox 4+, Safari, and Chrome. +// + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +// +// Address styling not present in IE 8/9. +// + +mark { + background: #ff0; + color: #000; +} + +// +// Address inconsistent and variable font size in all browsers. +// + +small { + font-size: 80%; +} + +// +// Prevent `sub` and `sup` affecting `line-height` in all browsers. +// + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +// Embedded content +// ========================================================================== + +// +// Remove border when inside `a` element in IE 8/9/10. +// + +img { + border: 0; +} + +// +// Correct overflow not hidden in IE 9/10/11. +// + +svg:not(:root) { + overflow: hidden; +} + +// Grouping content +// ========================================================================== + +// +// Address margin not present in IE 8/9 and Safari. +// + +figure { + margin: 1em 40px; +} + +// +// Address differences between Firefox and other browsers. +// + +hr { + box-sizing: content-box; + height: 0; +} + +// +// Contain overflow in all browsers. +// + +pre { + overflow: auto; +} + +// +// Address odd `em`-unit font size rendering in all browsers. +// + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +// Forms +// ========================================================================== + +// +// Known limitation: by default, Chrome and Safari on OS X allow very limited +// styling of `select`, unless a `border` property is set. +// + +// +// 1. Correct color not being inherited. +// Known issue: affects color of disabled elements. +// 2. Correct font properties not being inherited. +// 3. Address margins set differently in Firefox 4+, Safari, and Chrome. +// + +button, +input, +optgroup, +select, +textarea { + color: inherit; // 1 + font: inherit; // 2 + margin: 0; // 3 +} + +// +// Address `overflow` set to `hidden` in IE 8/9/10/11. +// + +button { + overflow: visible; +} + +// +// Address inconsistent `text-transform` inheritance for `button` and `select`. +// All other form control elements do not inherit `text-transform` values. +// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. +// Correct `select` style inheritance in Firefox. +// + +button, +select { + text-transform: none; +} + +// +// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` +// and `video` controls. +// 2. Correct inability to style clickable `input` types in iOS. +// 3. Improve usability and consistency of cursor style between image-type +// `input` and others. +// + +button, +html input[type="button"], // 1 +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; // 2 + cursor: pointer; // 3 +} + +// +// Re-set default cursor for disabled elements. +// + +button[disabled], +html input[disabled] { + cursor: default; +} + +// +// Remove inner padding and border in Firefox 4+. +// + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +// +// Address Firefox 4+ setting `line-height` on `input` using `!important` in +// the UA stylesheet. +// + +input { + line-height: normal; +} + +// +// It's recommended that you don't attempt to style these elements. +// Firefox's implementation doesn't respect box-sizing, padding, or width. +// +// 1. Address box sizing set to `content-box` in IE 8/9/10. +// 2. Remove excess padding in IE 8/9/10. +// + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; // 1 + padding: 0; // 2 +} + +// +// Fix the cursor style for Chrome's increment/decrement buttons. For certain +// `font-size` values of the `input`, it causes the cursor style of the +// decrement button to change from `default` to `text`. +// + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +// +// 1. Address `appearance` set to `searchfield` in Safari and Chrome. +// 2. Address `box-sizing` set to `border-box` in Safari and Chrome. +// + +input[type="search"] { + -webkit-appearance: textfield; // 1 + box-sizing: content-box; //2 +} + +// +// Remove inner padding and search cancel button in Safari and Chrome on OS X. +// Safari (but not Chrome) clips the cancel button when the search input has +// padding (and `textfield` appearance). +// + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +// +// Define consistent border, margin, and padding. +// + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +// +// 1. Correct `color` not being inherited in IE 8/9/10/11. +// 2. Remove padding so people aren't caught out if they zero out fieldsets. +// + +legend { + border: 0; // 1 + padding: 0; // 2 +} + +// +// Remove default vertical scrollbar in IE 8/9/10/11. +// + +textarea { + overflow: auto; +} + +// +// Don't inherit the `font-weight` (applied by a rule above). +// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. +// + +optgroup { + font-weight: bold; +} + +// Tables +// ========================================================================== + +// +// Remove most spacing between table cells. +// + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/static/sass/bootstrap/_pager.scss b/static/sass/bootstrap/_pager.scss new file mode 100644 index 0000000..c234217 --- /dev/null +++ b/static/sass/bootstrap/_pager.scss @@ -0,0 +1,54 @@ +// +// Pager pagination +// -------------------------------------------------- + + +.pager { + padding-left: 0; + margin: $line-height-computed 0; + list-style: none; + text-align: center; + @include clearfix; + li { + display: inline; + > a, + > span { + display: inline-block; + padding: 5px 14px; + background-color: $pager-bg; + border: 1px solid $pager-border; + border-radius: $pager-border-radius; + } + + > a:hover, + > a:focus { + text-decoration: none; + background-color: $pager-hover-bg; + } + } + + .next { + > a, + > span { + float: right; + } + } + + .previous { + > a, + > span { + float: left; + } + } + + .disabled { + > a, + > a:hover, + > a:focus, + > span { + color: $pager-disabled-color; + background-color: $pager-bg; + cursor: $cursor-disabled; + } + } +} diff --git a/static/sass/bootstrap/_pagination.scss b/static/sass/bootstrap/_pagination.scss new file mode 100644 index 0000000..fb23f91 --- /dev/null +++ b/static/sass/bootstrap/_pagination.scss @@ -0,0 +1,89 @@ +// +// Pagination (multiple pages) +// -------------------------------------------------- +.pagination { + display: inline-block; + padding-left: 0; + margin: $line-height-computed 0; + border-radius: $border-radius-base; + + > li { + display: inline; // Remove list-style and block-level defaults + > a, + > span { + position: relative; + float: left; // Collapse white-space + padding: $padding-base-vertical $padding-base-horizontal; + line-height: $line-height-base; + text-decoration: none; + color: $pagination-color; + background-color: $pagination-bg; + border: 1px solid $pagination-border; + margin-left: -1px; + } + &:first-child { + > a, + > span { + margin-left: 0; + @include border-left-radius($border-radius-base); + } + } + &:last-child { + > a, + > span { + @include border-right-radius($border-radius-base); + } + } + } + + > li > a, + > li > span { + &:hover, + &:focus { + z-index: 3; + color: $pagination-hover-color; + background-color: $pagination-hover-bg; + border-color: $pagination-hover-border; + } + } + + > .active > a, + > .active > span { + &, + &:hover, + &:focus { + z-index: 2; + color: $pagination-active-color; + background-color: $pagination-active-bg; + border-color: $pagination-active-border; + cursor: default; + } + } + + > .disabled { + > span, + > span:hover, + > span:focus, + > a, + > a:hover, + > a:focus { + color: $pagination-disabled-color; + background-color: $pagination-disabled-bg; + border-color: $pagination-disabled-border; + cursor: $cursor-disabled; + } + } +} + +// Sizing +// -------------------------------------------------- + +// Large +.pagination-lg { + @include pagination-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large); +} + +// Small +.pagination-sm { + @include pagination-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small); +} diff --git a/static/sass/bootstrap/_panels.scss b/static/sass/bootstrap/_panels.scss new file mode 100644 index 0000000..be9410f --- /dev/null +++ b/static/sass/bootstrap/_panels.scss @@ -0,0 +1,271 @@ +// +// Panels +// -------------------------------------------------- + + +// Base class +.panel { + margin-bottom: $line-height-computed; + background-color: $panel-bg; + border: 1px solid transparent; + border-radius: $panel-border-radius; + @include box-shadow(0 1px 1px rgba(0,0,0,.05)); +} + +// Panel contents +.panel-body { + padding: $panel-body-padding; + @include clearfix; +} + +// Optional heading +.panel-heading { + padding: $panel-heading-padding; + border-bottom: 1px solid transparent; + @include border-top-radius(($panel-border-radius - 1)); + + > .dropdown .dropdown-toggle { + color: inherit; + } +} + +// Within heading, strip any `h*` tag of its default margins for spacing. +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: ceil(($font-size-base * 1.125)); + color: inherit; + + > a, + > small, + > .small, + > small > a, + > .small > a { + color: inherit; + } +} + +// Optional footer (stays gray in every modifier class) +.panel-footer { + padding: $panel-footer-padding; + background-color: $panel-footer-bg; + border-top: 1px solid $panel-inner-border; + @include border-bottom-radius(($panel-border-radius - 1)); +} + + +// List groups in panels +// +// By default, space out list group content from panel headings to account for +// any kind of custom content between the two. + +.panel { + > .list-group, + > .panel-collapse > .list-group { + margin-bottom: 0; + + .list-group-item { + border-width: 1px 0; + border-radius: 0; + } + + // Add border top radius for first one + &:first-child { + .list-group-item:first-child { + border-top: 0; + @include border-top-radius(($panel-border-radius - 1)); + } + } + + // Add border bottom radius for last one + &:last-child { + .list-group-item:last-child { + border-bottom: 0; + @include border-bottom-radius(($panel-border-radius - 1)); + } + } + } + > .panel-heading + .panel-collapse > .list-group { + .list-group-item:first-child { + @include border-top-radius(0); + } + } +} +// Collapse space between when there's no additional content. +.panel-heading + .list-group { + .list-group-item:first-child { + border-top-width: 0; + } +} +.list-group + .panel-footer { + border-top-width: 0; +} + +// Tables in panels +// +// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and +// watch it go full width. + +.panel { + > .table, + > .table-responsive > .table, + > .panel-collapse > .table { + margin-bottom: 0; + + caption { + padding-left: $panel-body-padding; + padding-right: $panel-body-padding; + } + } + // Add border top radius for first one + > .table:first-child, + > .table-responsive:first-child > .table:first-child { + @include border-top-radius(($panel-border-radius - 1)); + + > thead:first-child, + > tbody:first-child { + > tr:first-child { + border-top-left-radius: ($panel-border-radius - 1); + border-top-right-radius: ($panel-border-radius - 1); + + td:first-child, + th:first-child { + border-top-left-radius: ($panel-border-radius - 1); + } + td:last-child, + th:last-child { + border-top-right-radius: ($panel-border-radius - 1); + } + } + } + } + // Add border bottom radius for last one + > .table:last-child, + > .table-responsive:last-child > .table:last-child { + @include border-bottom-radius(($panel-border-radius - 1)); + + > tbody:last-child, + > tfoot:last-child { + > tr:last-child { + border-bottom-left-radius: ($panel-border-radius - 1); + border-bottom-right-radius: ($panel-border-radius - 1); + + td:first-child, + th:first-child { + border-bottom-left-radius: ($panel-border-radius - 1); + } + td:last-child, + th:last-child { + border-bottom-right-radius: ($panel-border-radius - 1); + } + } + } + } + > .panel-body + .table, + > .panel-body + .table-responsive, + > .table + .panel-body, + > .table-responsive + .panel-body { + border-top: 1px solid $table-border-color; + } + > .table > tbody:first-child > tr:first-child th, + > .table > tbody:first-child > tr:first-child td { + border-top: 0; + } + > .table-bordered, + > .table-responsive > .table-bordered { + border: 0; + > thead, + > tbody, + > tfoot { + > tr { + > th:first-child, + > td:first-child { + border-left: 0; + } + > th:last-child, + > td:last-child { + border-right: 0; + } + } + } + > thead, + > tbody { + > tr:first-child { + > td, + > th { + border-bottom: 0; + } + } + } + > tbody, + > tfoot { + > tr:last-child { + > td, + > th { + border-bottom: 0; + } + } + } + } + > .table-responsive { + border: 0; + margin-bottom: 0; + } +} + + +// Collapsable panels (aka, accordion) +// +// Wrap a series of panels in `.panel-group` to turn them into an accordion with +// the help of our collapse JavaScript plugin. + +.panel-group { + margin-bottom: $line-height-computed; + + // Tighten up margin so it's only between panels + .panel { + margin-bottom: 0; + border-radius: $panel-border-radius; + + + .panel { + margin-top: 5px; + } + } + + .panel-heading { + border-bottom: 0; + + + .panel-collapse > .panel-body, + + .panel-collapse > .list-group { + border-top: 1px solid $panel-inner-border; + } + } + + .panel-footer { + border-top: 0; + + .panel-collapse .panel-body { + border-bottom: 1px solid $panel-inner-border; + } + } +} + + +// Contextual variations +.panel-default { + @include panel-variant($panel-default-border, $panel-default-text, $panel-default-heading-bg, $panel-default-border); +} +.panel-primary { + @include panel-variant($panel-primary-border, $panel-primary-text, $panel-primary-heading-bg, $panel-primary-border); +} +.panel-success { + @include panel-variant($panel-success-border, $panel-success-text, $panel-success-heading-bg, $panel-success-border); +} +.panel-info { + @include panel-variant($panel-info-border, $panel-info-text, $panel-info-heading-bg, $panel-info-border); +} +.panel-warning { + @include panel-variant($panel-warning-border, $panel-warning-text, $panel-warning-heading-bg, $panel-warning-border); +} +.panel-danger { + @include panel-variant($panel-danger-border, $panel-danger-text, $panel-danger-heading-bg, $panel-danger-border); +} diff --git a/static/sass/bootstrap/_popovers.scss b/static/sass/bootstrap/_popovers.scss new file mode 100644 index 0000000..9b90a2e --- /dev/null +++ b/static/sass/bootstrap/_popovers.scss @@ -0,0 +1,131 @@ +// +// Popovers +// -------------------------------------------------- + + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: $zindex-popover; + display: none; + max-width: $popover-max-width; + padding: 1px; + // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + @include reset-text; + font-size: $font-size-base; + + background-color: $popover-bg; + background-clip: padding-box; + border: 1px solid $popover-fallback-border-color; + border: 1px solid $popover-border-color; + border-radius: $border-radius-large; + @include box-shadow(0 5px 10px rgba(0,0,0,.2)); + + // Offset the popover to account for the popover arrow + &.top { margin-top: -$popover-arrow-width; } + &.right { margin-left: $popover-arrow-width; } + &.bottom { margin-top: $popover-arrow-width; } + &.left { margin-left: -$popover-arrow-width; } +} + +.popover-title { + margin: 0; // reset heading margin + padding: 8px 14px; + font-size: $font-size-base; + background-color: $popover-title-bg; + border-bottom: 1px solid darken($popover-title-bg, 5%); + border-radius: ($border-radius-large - 1) ($border-radius-large - 1) 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +// Arrows +// +// .arrow is outer, .arrow:after is inner + +.popover > .arrow { + &, + &:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } +} +.popover > .arrow { + border-width: $popover-arrow-outer-width; +} +.popover > .arrow:after { + border-width: $popover-arrow-width; + content: ""; +} + +.popover { + &.top > .arrow { + left: 50%; + margin-left: -$popover-arrow-outer-width; + border-bottom-width: 0; + border-top-color: $popover-arrow-outer-fallback-color; // IE8 fallback + border-top-color: $popover-arrow-outer-color; + bottom: -$popover-arrow-outer-width; + &:after { + content: " "; + bottom: 1px; + margin-left: -$popover-arrow-width; + border-bottom-width: 0; + border-top-color: $popover-arrow-color; + } + } + &.right > .arrow { + top: 50%; + left: -$popover-arrow-outer-width; + margin-top: -$popover-arrow-outer-width; + border-left-width: 0; + border-right-color: $popover-arrow-outer-fallback-color; // IE8 fallback + border-right-color: $popover-arrow-outer-color; + &:after { + content: " "; + left: 1px; + bottom: -$popover-arrow-width; + border-left-width: 0; + border-right-color: $popover-arrow-color; + } + } + &.bottom > .arrow { + left: 50%; + margin-left: -$popover-arrow-outer-width; + border-top-width: 0; + border-bottom-color: $popover-arrow-outer-fallback-color; // IE8 fallback + border-bottom-color: $popover-arrow-outer-color; + top: -$popover-arrow-outer-width; + &:after { + content: " "; + top: 1px; + margin-left: -$popover-arrow-width; + border-top-width: 0; + border-bottom-color: $popover-arrow-color; + } + } + + &.left > .arrow { + top: 50%; + right: -$popover-arrow-outer-width; + margin-top: -$popover-arrow-outer-width; + border-right-width: 0; + border-left-color: $popover-arrow-outer-fallback-color; // IE8 fallback + border-left-color: $popover-arrow-outer-color; + &:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: $popover-arrow-color; + bottom: -$popover-arrow-width; + } + } +} diff --git a/static/sass/bootstrap/_print.scss b/static/sass/bootstrap/_print.scss new file mode 100644 index 0000000..66e54ab --- /dev/null +++ b/static/sass/bootstrap/_print.scss @@ -0,0 +1,101 @@ +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ + +// ========================================================================== +// Print styles. +// Inlined to avoid the additional HTTP request: h5bp.com/r +// ========================================================================== + +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; // Black prints faster: h5bp.com/s + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + // Don't show links that are fragment identifiers, + // or use the `javascript:` pseudo protocol + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; // h5bp.com/t + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + // Bootstrap specific changes start + + // Bootstrap components + .navbar { + display: none; + } + .btn, + .dropup > .btn { + > .caret { + border-top-color: #000 !important; + } + } + .label { + border: 1px solid #000; + } + + .table { + border-collapse: collapse !important; + + td, + th { + background-color: #fff !important; + } + } + .table-bordered { + th, + td { + border: 1px solid #ddd !important; + } + } + + // Bootstrap specific changes end +} diff --git a/static/sass/bootstrap/_progress-bars.scss b/static/sass/bootstrap/_progress-bars.scss new file mode 100644 index 0000000..343df63 --- /dev/null +++ b/static/sass/bootstrap/_progress-bars.scss @@ -0,0 +1,87 @@ +// +// Progress bars +// -------------------------------------------------- + + +// Bar animations +// ------------------------- + +// WebKit +@-webkit-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// Spec and IE10+ +@keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + + +// Bar itself +// ------------------------- + +// Outer container +.progress { + overflow: hidden; + height: $line-height-computed; + margin-bottom: $line-height-computed; + background-color: $progress-bg; + border-radius: $progress-border-radius; + @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); +} + +// Bar of progress +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: $font-size-small; + line-height: $line-height-computed; + color: $progress-bar-color; + text-align: center; + background-color: $progress-bar-bg; + @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); + @include transition(width .6s ease); +} + +// Striped bars +// +// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the +// `.progress-bar-striped` class, which you just add to an existing +// `.progress-bar`. +.progress-striped .progress-bar, +.progress-bar-striped { + @include gradient-striped; + background-size: 40px 40px; +} + +// Call animation for the active one +// +// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the +// `.progress-bar.active` approach. +.progress.active .progress-bar, +.progress-bar.active { + @include animation(progress-bar-stripes 2s linear infinite); +} + + +// Variations +// ------------------------- + +.progress-bar-success { + @include progress-bar-variant($progress-bar-success-bg); +} + +.progress-bar-info { + @include progress-bar-variant($progress-bar-info-bg); +} + +.progress-bar-warning { + @include progress-bar-variant($progress-bar-warning-bg); +} + +.progress-bar-danger { + @include progress-bar-variant($progress-bar-danger-bg); +} diff --git a/static/sass/bootstrap/_responsive-embed.scss b/static/sass/bootstrap/_responsive-embed.scss new file mode 100644 index 0000000..080a511 --- /dev/null +++ b/static/sass/bootstrap/_responsive-embed.scss @@ -0,0 +1,35 @@ +// Embeds responsive +// +// Credit: Nicolas Gallagher and SUIT CSS. + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; + + .embed-responsive-item, + iframe, + embed, + object, + video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; + } +} + +// Modifier class for 16:9 aspect ratio +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} + +// Modifier class for 4:3 aspect ratio +.embed-responsive-4by3 { + padding-bottom: 75%; +} diff --git a/static/sass/bootstrap/_responsive-utilities.scss b/static/sass/bootstrap/_responsive-utilities.scss new file mode 100644 index 0000000..f3f0c83 --- /dev/null +++ b/static/sass/bootstrap/_responsive-utilities.scss @@ -0,0 +1,179 @@ +// +// Responsive: Utility classes +// -------------------------------------------------- + + +// IE10 in Windows (Phone) 8 +// +// Support for responsive views via media queries is kind of borked in IE10, for +// Surface/desktop in split view and for Windows Phone 8. This particular fix +// must be accompanied by a snippet of JavaScript to sniff the user agent and +// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at +// our Getting Started page for more information on this bug. +// +// For more information, see the following: +// +// Issue: https://github.com/twbs/bootstrap/issues/10497 +// Docs: http://getbootstrap.com/getting-started/#support-ie10-width +// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ +// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ + +@at-root { + @-ms-viewport { + width: device-width; + } +} + + +// Visibility utilities +// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0 + +@include responsive-invisibility('.visible-xs'); +@include responsive-invisibility('.visible-sm'); +@include responsive-invisibility('.visible-md'); +@include responsive-invisibility('.visible-lg'); + +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} + +@media (max-width: $screen-xs-max) { + @include responsive-visibility('.visible-xs'); +} +.visible-xs-block { + @media (max-width: $screen-xs-max) { + display: block !important; + } +} +.visible-xs-inline { + @media (max-width: $screen-xs-max) { + display: inline !important; + } +} +.visible-xs-inline-block { + @media (max-width: $screen-xs-max) { + display: inline-block !important; + } +} + +@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { + @include responsive-visibility('.visible-sm'); +} +.visible-sm-block { + @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { + display: block !important; + } +} +.visible-sm-inline { + @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { + display: inline !important; + } +} +.visible-sm-inline-block { + @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { + display: inline-block !important; + } +} + +@media (min-width: $screen-md-min) and (max-width: $screen-md-max) { + @include responsive-visibility('.visible-md'); +} +.visible-md-block { + @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { + display: block !important; + } +} +.visible-md-inline { + @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { + display: inline !important; + } +} +.visible-md-inline-block { + @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { + display: inline-block !important; + } +} + +@media (min-width: $screen-lg-min) { + @include responsive-visibility('.visible-lg'); +} +.visible-lg-block { + @media (min-width: $screen-lg-min) { + display: block !important; + } +} +.visible-lg-inline { + @media (min-width: $screen-lg-min) { + display: inline !important; + } +} +.visible-lg-inline-block { + @media (min-width: $screen-lg-min) { + display: inline-block !important; + } +} + +@media (max-width: $screen-xs-max) { + @include responsive-invisibility('.hidden-xs'); +} + +@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { + @include responsive-invisibility('.hidden-sm'); +} + +@media (min-width: $screen-md-min) and (max-width: $screen-md-max) { + @include responsive-invisibility('.hidden-md'); +} + +@media (min-width: $screen-lg-min) { + @include responsive-invisibility('.hidden-lg'); +} + + +// Print utilities +// +// Media queries are placed on the inside to be mixin-friendly. + +// Note: Deprecated .visible-print as of v3.2.0 + +@include responsive-invisibility('.visible-print'); + +@media print { + @include responsive-visibility('.visible-print'); +} +.visible-print-block { + display: none !important; + + @media print { + display: block !important; + } +} +.visible-print-inline { + display: none !important; + + @media print { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; + + @media print { + display: inline-block !important; + } +} + +@media print { + @include responsive-invisibility('.hidden-print'); +} diff --git a/static/sass/bootstrap/_scaffolding.scss b/static/sass/bootstrap/_scaffolding.scss new file mode 100644 index 0000000..83adb5d --- /dev/null +++ b/static/sass/bootstrap/_scaffolding.scss @@ -0,0 +1,161 @@ +// +// Scaffolding +// -------------------------------------------------- + + +// Reset the box-sizing +// +// Heads up! This reset may cause conflicts with some third-party widgets. +// For recommendations on resolving such conflicts, see +// http://getbootstrap.com/getting-started/#third-box-sizing +* { + @include box-sizing(border-box); +} +*:before, +*:after { + @include box-sizing(border-box); +} + + +// Body reset + +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +body { + font-family: $font-family-base; + font-size: $font-size-base; + line-height: $line-height-base; + color: $text-color; + background-color: $body-bg; +} + +// Reset fonts for relevant elements +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + + +// Links + +a { + color: $link-color; + text-decoration: none; + + &:hover, + &:focus { + color: $link-hover-color; + text-decoration: $link-hover-decoration; + } + + &:focus { + @include tab-focus; + } +} + + +// Figures +// +// We reset this here because previously Normalize had no `figure` margins. This +// ensures we don't break anyone's use of the element. + +figure { + margin: 0; +} + + +// Images + +img { + vertical-align: middle; +} + +// Responsive images (ensure images don't scale beyond their parents) +.img-responsive { + @include img-responsive; +} + +// Rounded corners +.img-rounded { + border-radius: $border-radius-large; +} + +// Image thumbnails +// +// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`. +.img-thumbnail { + padding: $thumbnail-padding; + line-height: $line-height-base; + background-color: $thumbnail-bg; + border: 1px solid $thumbnail-border; + border-radius: $thumbnail-border-radius; + @include transition(all .2s ease-in-out); + + // Keep them at most 100% wide + @include img-responsive(inline-block); +} + +// Perfect circle +.img-circle { + border-radius: 50%; // set radius in percents +} + + +// Horizontal rules + +hr { + margin-top: $line-height-computed; + margin-bottom: $line-height-computed; + border: 0; + border-top: 1px solid $hr-border; +} + + +// Only display content to screen readers +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// Credit: HTML5 Boilerplate + +.sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} + + +// iOS "clickable elements" fix for role="button" +// +// Fixes "clickability" issue (and more generally, the firing of events such as focus as well) +// for traditionally non-focusable elements with role="button" +// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +[role="button"] { + cursor: pointer; +} diff --git a/static/sass/bootstrap/_tables.scss b/static/sass/bootstrap/_tables.scss new file mode 100644 index 0000000..affcc58 --- /dev/null +++ b/static/sass/bootstrap/_tables.scss @@ -0,0 +1,234 @@ +// +// Tables +// -------------------------------------------------- + + +table { + background-color: $table-bg; +} +caption { + padding-top: $table-cell-padding; + padding-bottom: $table-cell-padding; + color: $text-muted; + text-align: left; +} +th { + text-align: left; +} + + +// Baseline styles + +.table { + width: 100%; + max-width: 100%; + margin-bottom: $line-height-computed; + // Cells + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + padding: $table-cell-padding; + line-height: $line-height-base; + vertical-align: top; + border-top: 1px solid $table-border-color; + } + } + } + // Bottom align for column headings + > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid $table-border-color; + } + // Remove top border from thead by default + > caption + thead, + > colgroup + thead, + > thead:first-child { + > tr:first-child { + > th, + > td { + border-top: 0; + } + } + } + // Account for multiple tbody instances + > tbody + tbody { + border-top: 2px solid $table-border-color; + } + + // Nesting + .table { + background-color: $body-bg; + } +} + + +// Condensed table w/ half padding + +.table-condensed { + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + padding: $table-condensed-cell-padding; + } + } + } +} + + +// Bordered version +// +// Add borders all around the table and between all the columns. + +.table-bordered { + border: 1px solid $table-border-color; + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + border: 1px solid $table-border-color; + } + } + } + > thead > tr { + > th, + > td { + border-bottom-width: 2px; + } + } +} + + +// Zebra-striping +// +// Default zebra-stripe styles (alternating gray and transparent backgrounds) + +.table-striped { + > tbody > tr:nth-of-type(odd) { + background-color: $table-bg-accent; + } +} + + +// Hover effect +// +// Placed here since it has to come after the potential zebra striping + +.table-hover { + > tbody > tr:hover { + background-color: $table-bg-hover; + } +} + + +// Table cell sizing +// +// Reset default table behavior + +table col[class*="col-"] { + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) + float: none; + display: table-column; +} +table { + td, + th { + &[class*="col-"] { + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) + float: none; + display: table-cell; + } + } +} + + +// Table backgrounds +// +// Exact selectors below required to override `.table-striped` and prevent +// inheritance to nested tables. + +// Generate the contextual variants +@include table-row-variant('active', $table-bg-active); +@include table-row-variant('success', $state-success-bg); +@include table-row-variant('info', $state-info-bg); +@include table-row-variant('warning', $state-warning-bg); +@include table-row-variant('danger', $state-danger-bg); + + +// Responsive tables +// +// Wrap your tables in `.table-responsive` and we'll make them mobile friendly +// by enabling horizontal scrolling. Only applies <768px. Everything above that +// will display normally. + +.table-responsive { + overflow-x: auto; + min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837) + + @media screen and (max-width: $screen-xs-max) { + width: 100%; + margin-bottom: ($line-height-computed * 0.75); + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid $table-border-color; + + // Tighten up spacing + > .table { + margin-bottom: 0; + + // Ensure the content doesn't wrap + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + white-space: nowrap; + } + } + } + } + + // Special overrides for the bordered tables + > .table-bordered { + border: 0; + + // Nuke the appropriate borders so that the parent can handle them + > thead, + > tbody, + > tfoot { + > tr { + > th:first-child, + > td:first-child { + border-left: 0; + } + > th:last-child, + > td:last-child { + border-right: 0; + } + } + } + + // Only nuke the last row's bottom-border in `tbody` and `tfoot` since + // chances are there will be only one `tr` in a `thead` and that would + // remove the border altogether. + > tbody, + > tfoot { + > tr:last-child { + > th, + > td { + border-bottom: 0; + } + } + } + + } + } +} diff --git a/static/sass/bootstrap/_theme.scss b/static/sass/bootstrap/_theme.scss new file mode 100644 index 0000000..df571ea --- /dev/null +++ b/static/sass/bootstrap/_theme.scss @@ -0,0 +1,291 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// +// Load core variables and mixins +// -------------------------------------------------- + +@import "variables"; +@import "mixins"; + + +// +// Buttons +// -------------------------------------------------- + +// Common styles +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0,0,0,.2); + $shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075); + @include box-shadow($shadow); + + // Reset the shadow + &:active, + &.active { + @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + @include box-shadow(none); + } + + .badge { + text-shadow: none; + } +} + +// Mixin for generating new styles +@mixin btn-styles($btn-color: #555) { + @include gradient-vertical($start-color: $btn-color, $end-color: darken($btn-color, 12%)); + @include reset-filter; // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620 + background-repeat: repeat-x; + border-color: darken($btn-color, 14%); + + &:hover, + &:focus { + background-color: darken($btn-color, 12%); + background-position: 0 -15px; + } + + &:active, + &.active { + background-color: darken($btn-color, 12%); + border-color: darken($btn-color, 14%); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &.focus, + &:active, + &.active { + background-color: darken($btn-color, 12%); + background-image: none; + } + } +} + +// Common styles +.btn { + // Remove the gradient for the pressed/active state + &:active, + &.active { + background-image: none; + } +} + +// Apply the mixin to the buttons +.btn-default { @include btn-styles($btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; } +.btn-primary { @include btn-styles($btn-primary-bg); } +.btn-success { @include btn-styles($btn-success-bg); } +.btn-info { @include btn-styles($btn-info-bg); } +.btn-warning { @include btn-styles($btn-warning-bg); } +.btn-danger { @include btn-styles($btn-danger-bg); } + + +// +// Images +// -------------------------------------------------- + +.thumbnail, +.img-thumbnail { + @include box-shadow(0 1px 2px rgba(0,0,0,.075)); +} + + +// +// Dropdowns +// -------------------------------------------------- + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + @include gradient-vertical($start-color: $dropdown-link-hover-bg, $end-color: darken($dropdown-link-hover-bg, 5%)); + background-color: darken($dropdown-link-hover-bg, 5%); +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + @include gradient-vertical($start-color: $dropdown-link-active-bg, $end-color: darken($dropdown-link-active-bg, 5%)); + background-color: darken($dropdown-link-active-bg, 5%); +} + + +// +// Navbar +// -------------------------------------------------- + +// Default navbar +.navbar-default { + @include gradient-vertical($start-color: lighten($navbar-default-bg, 10%), $end-color: $navbar-default-bg); + @include reset-filter; // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered + border-radius: $navbar-border-radius; + $shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); + @include box-shadow($shadow); + + .navbar-nav > .open > a, + .navbar-nav > .active > a { + @include gradient-vertical($start-color: darken($navbar-default-link-active-bg, 5%), $end-color: darken($navbar-default-link-active-bg, 2%)); + @include box-shadow(inset 0 3px 9px rgba(0,0,0,.075)); + } +} +.navbar-brand, +.navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255,255,255,.25); +} + +// Inverted navbar +.navbar-inverse { + @include gradient-vertical($start-color: lighten($navbar-inverse-bg, 10%), $end-color: $navbar-inverse-bg); + @include reset-filter; // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257 + border-radius: $navbar-border-radius; + .navbar-nav > .open > a, + .navbar-nav > .active > a { + @include gradient-vertical($start-color: $navbar-inverse-link-active-bg, $end-color: lighten($navbar-inverse-link-active-bg, 2.5%)); + @include box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); + } + + .navbar-brand, + .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } +} + +// Undo rounded corners in static and fixed navbars +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} + +// Fix active state of dropdown items in collapsed mode +@media (max-width: $grid-float-breakpoint-max) { + .navbar .navbar-nav .open .dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: #fff; + @include gradient-vertical($start-color: $dropdown-link-active-bg, $end-color: darken($dropdown-link-active-bg, 5%)); + } + } +} + + +// +// Alerts +// -------------------------------------------------- + +// Common styles +.alert { + text-shadow: 0 1px 0 rgba(255,255,255,.2); + $shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05); + @include box-shadow($shadow); +} + +// Mixin for generating new styles +@mixin alert-styles($color) { + @include gradient-vertical($start-color: $color, $end-color: darken($color, 7.5%)); + border-color: darken($color, 15%); +} + +// Apply the mixin to the alerts +.alert-success { @include alert-styles($alert-success-bg); } +.alert-info { @include alert-styles($alert-info-bg); } +.alert-warning { @include alert-styles($alert-warning-bg); } +.alert-danger { @include alert-styles($alert-danger-bg); } + + +// +// Progress bars +// -------------------------------------------------- + +// Give the progress background some depth +.progress { + @include gradient-vertical($start-color: darken($progress-bg, 4%), $end-color: $progress-bg) +} + +// Mixin for generating new styles +@mixin progress-bar-styles($color) { + @include gradient-vertical($start-color: $color, $end-color: darken($color, 10%)); +} + +// Apply the mixin to the progress bars +.progress-bar { @include progress-bar-styles($progress-bar-bg); } +.progress-bar-success { @include progress-bar-styles($progress-bar-success-bg); } +.progress-bar-info { @include progress-bar-styles($progress-bar-info-bg); } +.progress-bar-warning { @include progress-bar-styles($progress-bar-warning-bg); } +.progress-bar-danger { @include progress-bar-styles($progress-bar-danger-bg); } + +// Reset the striped class because our mixins don't do multiple gradients and +// the above custom styles override the new `.progress-bar-striped` in v3.2.0. +.progress-bar-striped { + @include gradient-striped; +} + + +// +// List groups +// -------------------------------------------------- + +.list-group { + border-radius: $border-radius-base; + @include box-shadow(0 1px 2px rgba(0,0,0,.075)); +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + text-shadow: 0 -1px 0 darken($list-group-active-bg, 10%); + @include gradient-vertical($start-color: $list-group-active-bg, $end-color: darken($list-group-active-bg, 7.5%)); + border-color: darken($list-group-active-border, 7.5%); + + .badge { + text-shadow: none; + } +} + + +// +// Panels +// -------------------------------------------------- + +// Common styles +.panel { + @include box-shadow(0 1px 2px rgba(0,0,0,.05)); +} + +// Mixin for generating new styles +@mixin panel-heading-styles($color) { + @include gradient-vertical($start-color: $color, $end-color: darken($color, 5%)); +} + +// Apply the mixin to the panel headings only +.panel-default > .panel-heading { @include panel-heading-styles($panel-default-heading-bg); } +.panel-primary > .panel-heading { @include panel-heading-styles($panel-primary-heading-bg); } +.panel-success > .panel-heading { @include panel-heading-styles($panel-success-heading-bg); } +.panel-info > .panel-heading { @include panel-heading-styles($panel-info-heading-bg); } +.panel-warning > .panel-heading { @include panel-heading-styles($panel-warning-heading-bg); } +.panel-danger > .panel-heading { @include panel-heading-styles($panel-danger-heading-bg); } + + +// +// Wells +// -------------------------------------------------- + +.well { + @include gradient-vertical($start-color: darken($well-bg, 5%), $end-color: $well-bg); + border-color: darken($well-bg, 10%); + $shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1); + @include box-shadow($shadow); +} diff --git a/static/sass/bootstrap/_thumbnails.scss b/static/sass/bootstrap/_thumbnails.scss new file mode 100644 index 0000000..da0e1e7 --- /dev/null +++ b/static/sass/bootstrap/_thumbnails.scss @@ -0,0 +1,38 @@ +// +// Thumbnails +// -------------------------------------------------- + + +// Mixin and adjust the regular image class +.thumbnail { + display: block; + padding: $thumbnail-padding; + margin-bottom: $line-height-computed; + line-height: $line-height-base; + background-color: $thumbnail-bg; + border: 1px solid $thumbnail-border; + border-radius: $thumbnail-border-radius; + @include transition(border .2s ease-in-out); + + > img, + a > img { + @include img-responsive; + margin-left: auto; + margin-right: auto; + } + + // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active + + // Image captions + .caption { + padding: $thumbnail-caption-padding; + color: $thumbnail-caption-color; + } +} + +// Add a hover state for linked versions only +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: $link-color; +} diff --git a/static/sass/bootstrap/_tooltip.scss b/static/sass/bootstrap/_tooltip.scss new file mode 100644 index 0000000..f0c1658 --- /dev/null +++ b/static/sass/bootstrap/_tooltip.scss @@ -0,0 +1,101 @@ +// +// Tooltips +// -------------------------------------------------- + + +// Base class +.tooltip { + position: absolute; + z-index: $zindex-tooltip; + display: block; + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + @include reset-text; + font-size: $font-size-small; + + @include opacity(0); + + &.in { @include opacity($tooltip-opacity); } + &.top { margin-top: -3px; padding: $tooltip-arrow-width 0; } + &.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; } + &.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; } + &.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; } +} + +// Wrapper for the tooltip content +.tooltip-inner { + max-width: $tooltip-max-width; + padding: 3px 8px; + color: $tooltip-color; + text-align: center; + background-color: $tooltip-bg; + border-radius: $border-radius-base; +} + +// Arrows +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1 +.tooltip { + &.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -$tooltip-arrow-width; + border-width: $tooltip-arrow-width $tooltip-arrow-width 0; + border-top-color: $tooltip-arrow-color; + } + &.top-left .tooltip-arrow { + bottom: 0; + right: $tooltip-arrow-width; + margin-bottom: -$tooltip-arrow-width; + border-width: $tooltip-arrow-width $tooltip-arrow-width 0; + border-top-color: $tooltip-arrow-color; + } + &.top-right .tooltip-arrow { + bottom: 0; + left: $tooltip-arrow-width; + margin-bottom: -$tooltip-arrow-width; + border-width: $tooltip-arrow-width $tooltip-arrow-width 0; + border-top-color: $tooltip-arrow-color; + } + &.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -$tooltip-arrow-width; + border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0; + border-right-color: $tooltip-arrow-color; + } + &.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -$tooltip-arrow-width; + border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width; + border-left-color: $tooltip-arrow-color; + } + &.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -$tooltip-arrow-width; + border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; + border-bottom-color: $tooltip-arrow-color; + } + &.bottom-left .tooltip-arrow { + top: 0; + right: $tooltip-arrow-width; + margin-top: -$tooltip-arrow-width; + border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; + border-bottom-color: $tooltip-arrow-color; + } + &.bottom-right .tooltip-arrow { + top: 0; + left: $tooltip-arrow-width; + margin-top: -$tooltip-arrow-width; + border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; + border-bottom-color: $tooltip-arrow-color; + } +} diff --git a/static/sass/bootstrap/_type.scss b/static/sass/bootstrap/_type.scss new file mode 100644 index 0000000..a39a615 --- /dev/null +++ b/static/sass/bootstrap/_type.scss @@ -0,0 +1,298 @@ +// +// Typography +// -------------------------------------------------- + + +// Headings +// ------------------------- + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-family: $headings-font-family; + font-weight: $headings-font-weight; + line-height: $headings-line-height; + color: $headings-color; + + small, + .small { + font-weight: normal; + line-height: 1; + color: $headings-small-color; + } +} + +h1, .h1, +h2, .h2, +h3, .h3 { + margin-top: $line-height-computed; + margin-bottom: ($line-height-computed / 2); + + small, + .small { + font-size: 65%; + } +} +h4, .h4, +h5, .h5, +h6, .h6 { + margin-top: ($line-height-computed / 2); + margin-bottom: ($line-height-computed / 2); + + small, + .small { + font-size: 75%; + } +} + +h1, .h1 { font-size: $font-size-h1; } +h2, .h2 { font-size: $font-size-h2; } +h3, .h3 { font-size: $font-size-h3; } +h4, .h4 { font-size: $font-size-h4; } +h5, .h5 { font-size: $font-size-h5; } +h6, .h6 { font-size: $font-size-h6; } + + +// Body text +// ------------------------- + +p { + margin: 0 0 ($line-height-computed / 2); +} + +.lead { + margin-bottom: $line-height-computed; + font-size: floor(($font-size-base * 1.15)); + font-weight: 300; + line-height: 1.4; + + @media (min-width: $screen-sm-min) { + font-size: ($font-size-base * 1.5); + } +} + + +// Emphasis & misc +// ------------------------- + +// Ex: (12px small font / 14px base font) * 100% = about 85% +small, +.small { + font-size: floor((100% * $font-size-small / $font-size-base)); +} + +mark, +.mark { + background-color: $state-warning-bg; + padding: .2em; +} + +// Alignment +.text-left { text-align: left; } +.text-right { text-align: right; } +.text-center { text-align: center; } +.text-justify { text-align: justify; } +.text-nowrap { white-space: nowrap; } + +// Transformation +.text-lowercase { text-transform: lowercase; } +.text-uppercase { text-transform: uppercase; } +.text-capitalize { text-transform: capitalize; } + +// Contextual colors +.text-muted { + color: $text-muted; +} + +@include text-emphasis-variant('.text-primary', $brand-primary); + +@include text-emphasis-variant('.text-success', $state-success-text); + +@include text-emphasis-variant('.text-info', $state-info-text); + +@include text-emphasis-variant('.text-warning', $state-warning-text); + +@include text-emphasis-variant('.text-danger', $state-danger-text); + +// Contextual backgrounds +// For now we'll leave these alongside the text classes until v4 when we can +// safely shift things around (per SemVer rules). +.bg-primary { + // Given the contrast here, this is the only class to have its color inverted + // automatically. + color: #fff; +} +@include bg-variant('.bg-primary', $brand-primary); + +@include bg-variant('.bg-success', $state-success-bg); + +@include bg-variant('.bg-info', $state-info-bg); + +@include bg-variant('.bg-warning', $state-warning-bg); + +@include bg-variant('.bg-danger', $state-danger-bg); + + +// Page header +// ------------------------- + +.page-header { + padding-bottom: (($line-height-computed / 2) - 1); + margin: ($line-height-computed * 2) 0 $line-height-computed; + border-bottom: 1px solid $page-header-border-color; +} + + +// Lists +// ------------------------- + +// Unordered and Ordered lists +ul, +ol { + margin-top: 0; + margin-bottom: ($line-height-computed / 2); + ul, + ol { + margin-bottom: 0; + } +} + +// List options + +// [converter] extracted from `.list-unstyled` for libsass compatibility +@mixin list-unstyled { + padding-left: 0; + list-style: none; +} +// [converter] extracted as `@mixin list-unstyled` for libsass compatibility +.list-unstyled { + @include list-unstyled; +} + + +// Inline turns list items into inline-block +.list-inline { + @include list-unstyled; + margin-left: -5px; + + > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; + } +} + +// Description Lists +dl { + margin-top: 0; // Remove browser default + margin-bottom: $line-height-computed; +} +dt, +dd { + line-height: $line-height-base; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; // Undo browser default +} + +// Horizontal description lists +// +// Defaults to being stacked without any of the below styles applied, until the +// grid breakpoint is reached (default of ~768px). + +.dl-horizontal { + dd { + @include clearfix; // Clear the floated `dt` if an empty `dd` is present + } + + @media (min-width: $grid-float-breakpoint) { + dt { + float: left; + width: ($dl-horizontal-offset - 20); + clear: left; + text-align: right; + @include text-overflow; + } + dd { + margin-left: $dl-horizontal-offset; + } + } +} + + +// Misc +// ------------------------- + +// Abbreviations and acronyms +abbr[title], +// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257 +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted $abbr-border-color; +} +.initialism { + font-size: 90%; + @extend .text-uppercase; +} + +// Blockquotes +blockquote { + padding: ($line-height-computed / 2) $line-height-computed; + margin: 0 0 $line-height-computed; + font-size: $blockquote-font-size; + border-left: 5px solid $blockquote-border-color; + + p, + ul, + ol { + &:last-child { + margin-bottom: 0; + } + } + + // Note: Deprecated small and .small as of v3.1.0 + // Context: https://github.com/twbs/bootstrap/issues/11660 + footer, + small, + .small { + display: block; + font-size: 80%; // back to default font-size + line-height: $line-height-base; + color: $blockquote-small-color; + + &:before { + content: '\2014 \00A0'; // em dash, nbsp + } + } +} + +// Opposite alignment of blockquote +// +// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0. +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid $blockquote-border-color; + border-left: 0; + text-align: right; + + // Account for citation + footer, + small, + .small { + &:before { content: ''; } + &:after { + content: '\00A0 \2014'; // nbsp, em dash + } + } +} + +// Addresses +address { + margin-bottom: $line-height-computed; + font-style: normal; + line-height: $line-height-base; +} diff --git a/static/sass/bootstrap/_utilities.scss b/static/sass/bootstrap/_utilities.scss new file mode 100644 index 0000000..8c99c71 --- /dev/null +++ b/static/sass/bootstrap/_utilities.scss @@ -0,0 +1,55 @@ +// +// Utility classes +// -------------------------------------------------- + + +// Floats +// ------------------------- + +.clearfix { + @include clearfix; +} +.center-block { + @include center-block; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} + + +// Toggling content +// ------------------------- + +// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + @include text-hide; +} + + +// Hide from screenreaders and browsers +// +// Credit: HTML5 Boilerplate + +.hidden { + display: none !important; +} + + +// For Affix plugin +// ------------------------- + +.affix { + position: fixed; +} diff --git a/static/sass/bootstrap/_variables.scss b/static/sass/bootstrap/_variables.scss new file mode 100644 index 0000000..98c09be --- /dev/null +++ b/static/sass/bootstrap/_variables.scss @@ -0,0 +1,872 @@ +$bootstrap-sass-asset-helper: false !default; +// +// Variables +// -------------------------------------------------- + + +//== Colors +// +//## Gray and brand colors for use across Bootstrap. + +$gray-base: #000 !default; +$gray-darker: lighten($gray-base, 13.5%) !default; // #222 +$gray-dark: lighten($gray-base, 20%) !default; // #333 +$gray: lighten($gray-base, 33.5%) !default; // #555 +$gray-light: lighten($gray-base, 46.7%) !default; // #777 +$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee + +$brand-primary: darken(#428bca, 6.5%) !default; // #337ab7 +$brand-success: #5cb85c !default; +$brand-info: #5bc0de !default; +$brand-warning: #f0ad4e !default; +$brand-danger: #d9534f !default; + + +//== Scaffolding +// +//## Settings for some of the most global styles. + +//** Background color for ``. +$body-bg: #fff !default; +//** Global text color on ``. +$text-color: $gray-dark !default; + +//** Global textual link color. +$link-color: $brand-primary !default; +//** Link hover color set via `darken()` function. +$link-hover-color: darken($link-color, 15%) !default; +//** Link hover decoration. +$link-hover-decoration: underline !default; + + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. + +$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$font-family-serif: Georgia, "Times New Roman", Times, serif !default; +//** Default monospace fonts for ``, ``, and `
        `.
        +$font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace !default;
        +$font-family-base:        $font-family-sans-serif !default;
        +
        +$font-size-base:          14px !default;
        +$font-size-large:         ceil(($font-size-base * 1.25)) !default; // ~18px
        +$font-size-small:         ceil(($font-size-base * 0.85)) !default; // ~12px
        +
        +$font-size-h1:            floor(($font-size-base * 2.6)) !default; // ~36px
        +$font-size-h2:            floor(($font-size-base * 2.15)) !default; // ~30px
        +$font-size-h3:            ceil(($font-size-base * 1.7)) !default; // ~24px
        +$font-size-h4:            ceil(($font-size-base * 1.25)) !default; // ~18px
        +$font-size-h5:            $font-size-base !default;
        +$font-size-h6:            ceil(($font-size-base * 0.85)) !default; // ~12px
        +
        +//** Unit-less `line-height` for use in components like buttons.
        +$line-height-base:        1.428571429 !default; // 20/14
        +//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
        +$line-height-computed:    floor(($font-size-base * $line-height-base)) !default; // ~20px
        +
        +//** By default, this inherits from the ``.
        +$headings-font-family:    inherit !default;
        +$headings-font-weight:    500 !default;
        +$headings-line-height:    1.1 !default;
        +$headings-color:          inherit !default;
        +
        +
        +//== Iconography
        +//
        +//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
        +
        +//** Load fonts from this directory.
        +
        +// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
        +// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
        +$icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "../fonts/bootstrap/") !default;
        +
        +//** File name for all font files.
        +$icon-font-name:          "glyphicons-halflings-regular" !default;
        +//** Element ID within SVG icon file.
        +$icon-font-svg-id:        "glyphicons_halflingsregular" !default;
        +
        +
        +//== Components
        +//
        +//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
        +
        +$padding-base-vertical:     10px !default;
        +$padding-base-horizontal:   20px !default;
        +
        +$padding-large-vertical:    10px !default;
        +$padding-large-horizontal:  20px !default;
        +
        +$padding-small-vertical:    5px !default;
        +$padding-small-horizontal:  20px !default;
        +
        +$padding-xs-vertical:       1px !default;
        +$padding-xs-horizontal:     5px !default;
        +
        +$line-height-large:         1.3333333 !default; // extra decimals for Win 8.1 Chrome
        +$line-height-small:         1.5 !default;
        +
        +$border-radius-base:        4px !default;
        +$border-radius-large:       6px !default;
        +$border-radius-small:       3px !default;
        +
        +//** Global color for active items (e.g., navs or dropdowns).
        +$component-active-color:    #fff !default;
        +//** Global background color for active items (e.g., navs or dropdowns).
        +$component-active-bg:       $brand-primary !default;
        +
        +//** Width of the `border` for generating carets that indicator dropdowns.
        +$caret-width-base:          4px !default;
        +//** Carets increase slightly in size for larger components.
        +$caret-width-large:         5px !default;
        +
        +
        +//== Tables
        +//
        +//## Customizes the `.table` component with basic values, each used across all table variations.
        +
        +//** Padding for ``s and ``s.
        +$table-cell-padding:            8px !default;
        +//** Padding for cells in `.table-condensed`.
        +$table-condensed-cell-padding:  5px !default;
        +
        +//** Default background color used for all tables.
        +$table-bg:                      transparent !default;
        +//** Background color used for `.table-striped`.
        +$table-bg-accent:               #f9f9f9 !default;
        +//** Background color used for `.table-hover`.
        +$table-bg-hover:                #f5f5f5 !default;
        +$table-bg-active:               $table-bg-hover !default;
        +
        +//** Border color for table and cell borders.
        +$table-border-color:            #ddd !default;
        +
        +
        +//== Buttons
        +//
        +//## For each of Bootstrap's buttons, define text, background and border color.
        +
        +$btn-font-weight:                normal !default;
        +
        +$btn-default-color:              #333 !default;
        +$btn-default-bg:                 #fff !default;
        +$btn-default-border:             #ccc !default;
        +
        +$btn-primary-color:              #fff !default;
        +$btn-primary-bg:                 $brand-primary !default;
        +$btn-primary-border:             darken($btn-primary-bg, 5%) !default;
        +
        +$btn-success-color:              #fff !default;
        +$btn-success-bg:                 $brand-success !default;
        +$btn-success-border:             darken($btn-success-bg, 5%) !default;
        +
        +$btn-info-color:                 #fff !default;
        +$btn-info-bg:                    $brand-info !default;
        +$btn-info-border:                darken($btn-info-bg, 5%) !default;
        +
        +$btn-warning-color:              #fff !default;
        +$btn-warning-bg:                 $brand-warning !default;
        +$btn-warning-border:             darken($btn-warning-bg, 5%) !default;
        +
        +$btn-danger-color:               #fff !default;
        +$btn-danger-bg:                  $brand-danger !default;
        +$btn-danger-border:              darken($btn-danger-bg, 5%) !default;
        +
        +$btn-link-disabled-color:        $gray-light !default;
        +
        +// Allows for customizing button radius independently from global border radius
        +$btn-border-radius-base:         $border-radius-base !default;
        +$btn-border-radius-large:        $border-radius-large !default;
        +$btn-border-radius-small:        $border-radius-small !default;
        +
        +
        +//== Forms
        +//
        +//##
        +
        +//** `` background color
        +$input-bg:                       #fff !default;
        +//** `` background color
        +$input-bg-disabled:              $gray-lighter !default;
        +
        +//** Text color for ``s
        +$input-color:                    $gray !default;
        +//** `` border color
        +$input-border:                   #ccc !default;
        +
        +// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
        +//** Default `.form-control` border radius
        +// This has no effect on ``s in CSS.
        +$input-border-radius:            $border-radius-base !default;
        +//** Large `.form-control` border radius
        +$input-border-radius-large:      $border-radius-large !default;
        +//** Small `.form-control` border radius
        +$input-border-radius-small:      $border-radius-small !default;
        +
        +//** Border color for inputs on focus
        +$input-border-focus:             #66afe9 !default;
        +
        +//** Placeholder text color
        +$input-color-placeholder:        #999 !default;
        +
        +//** Default `.form-control` height
        +$input-height-base:              ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
        +//** Large `.form-control` height
        +$input-height-large:             (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
        +//** Small `.form-control` height
        +$input-height-small:             (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
        +
        +//** `.form-group` margin
        +$form-group-margin-bottom:       15px !default;
        +
        +$legend-color:                   $gray-dark !default;
        +$legend-border-color:            #e5e5e5 !default;
        +
        +//** Background color for textual input addons
        +$input-group-addon-bg:           $gray-lighter !default;
        +//** Border color for textual input addons
        +$input-group-addon-border-color: $input-border !default;
        +
        +//** Disabled cursor for form controls and buttons.
        +$cursor-disabled:                not-allowed !default;
        +
        +
        +//== Dropdowns
        +//
        +//## Dropdown menu container and contents.
        +
        +//** Background for the dropdown menu.
        +$dropdown-bg:                    #fff !default;
        +//** Dropdown menu `border-color`.
        +$dropdown-border:                rgba(0,0,0,.15) !default;
        +//** Dropdown menu `border-color` **for IE8**.
        +$dropdown-fallback-border:       #ccc !default;
        +//** Divider color for between dropdown items.
        +$dropdown-divider-bg:            #e5e5e5 !default;
        +
        +//** Dropdown link text color.
        +$dropdown-link-color:            $gray-dark !default;
        +//** Hover color for dropdown links.
        +$dropdown-link-hover-color:      darken($gray-dark, 5%) !default;
        +//** Hover background for dropdown links.
        +$dropdown-link-hover-bg:         #f5f5f5 !default;
        +
        +//** Active dropdown menu item text color.
        +$dropdown-link-active-color:     $component-active-color !default;
        +//** Active dropdown menu item background color.
        +$dropdown-link-active-bg:        $component-active-bg !default;
        +
        +//** Disabled dropdown menu item background color.
        +$dropdown-link-disabled-color:   $gray-light !default;
        +
        +//** Text color for headers within dropdown menus.
        +$dropdown-header-color:          $gray-light !default;
        +
        +//** Deprecated `$dropdown-caret-color` as of v3.1.0
        +$dropdown-caret-color:           #000 !default;
        +
        +
        +//-- Z-index master list
        +//
        +// Warning: Avoid customizing these values. They're used for a bird's eye view
        +// of components dependent on the z-axis and are designed to all work together.
        +//
        +// Note: These variables are not generated into the Customizer.
        +
        +$zindex-navbar:            1000 !default;
        +$zindex-dropdown:          1000 !default;
        +$zindex-popover:           1060 !default;
        +$zindex-tooltip:           1070 !default;
        +$zindex-navbar-fixed:      1030 !default;
        +$zindex-modal-background:  1040 !default;
        +$zindex-modal:             1050 !default;
        +
        +
        +//== Media queries breakpoints
        +//
        +//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
        +
        +// Extra small screen / phone
        +//** Deprecated `$screen-xs` as of v3.0.1
        +$screen-xs:                  480px !default;
        +//** Deprecated `$screen-xs-min` as of v3.2.0
        +$screen-xs-min:              $screen-xs !default;
        +//** Deprecated `$screen-phone` as of v3.0.1
        +$screen-phone:               $screen-xs-min !default;
        +
        +// Small screen / tablet
        +//** Deprecated `$screen-sm` as of v3.0.1
        +$screen-sm:                  768px !default;
        +$screen-sm-min:              $screen-sm !default;
        +//** Deprecated `$screen-tablet` as of v3.0.1
        +$screen-tablet:              $screen-sm-min !default;
        +
        +// Medium screen / desktop
        +//** Deprecated `$screen-md` as of v3.0.1
        +$screen-md:                  992px !default;
        +$screen-md-min:              $screen-md !default;
        +//** Deprecated `$screen-desktop` as of v3.0.1
        +$screen-desktop:             $screen-md-min !default;
        +
        +// Large screen / wide desktop
        +//** Deprecated `$screen-lg` as of v3.0.1
        +$screen-lg:                  1200px !default;
        +$screen-lg-min:              $screen-lg !default;
        +//** Deprecated `$screen-lg-desktop` as of v3.0.1
        +$screen-lg-desktop:          $screen-lg-min !default;
        +
        +// So media queries don't overlap when required, provide a maximum
        +$screen-xs-max:              ($screen-sm-min - 1) !default;
        +$screen-sm-max:              ($screen-md-min - 1) !default;
        +$screen-md-max:              ($screen-lg-min - 1) !default;
        +
        +
        +//== Grid system
        +//
        +//## Define your custom responsive grid.
        +
        +//** Number of columns in the grid.
        +$grid-columns:              12 !default;
        +//** Padding between columns. Gets divided in half for the left and right.
        +$grid-gutter-width:         30px !default;
        +// Navbar collapse
        +//** Point at which the navbar becomes uncollapsed.
        +$grid-float-breakpoint:     $screen-sm-min !default;
        +//** Point at which the navbar begins collapsing.
        +$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
        +
        +
        +//== Container sizes
        +//
        +//## Define the maximum width of `.container` for different screen sizes.
        +
        +// Small screen / tablet
        +$container-tablet:             (720px + $grid-gutter-width) !default;
        +//** For `$screen-sm-min` and up.
        +$container-sm:                 $container-tablet !default;
        +
        +// Medium screen / desktop
        +$container-desktop:            (940px + $grid-gutter-width) !default;
        +//** For `$screen-md-min` and up.
        +$container-md:                 $container-desktop !default;
        +
        +// Large screen / wide desktop
        +$container-large-desktop:      (1140px + $grid-gutter-width) !default;
        +//** For `$screen-lg-min` and up.
        +$container-lg:                 $container-large-desktop !default;
        +
        +
        +//== Navbar
        +//
        +//##
        +
        +// Basics of a navbar
        +$navbar-height:                    55px !default;
        +$navbar-margin-bottom:             $line-height-computed !default;
        +$navbar-border-radius:             $border-radius-base !default;
        +$navbar-padding-horizontal:        floor(($grid-gutter-width / 2)) !default;
        +$navbar-padding-vertical:          (($navbar-height - $line-height-computed) / 2) !default;
        +$navbar-collapse-max-height:       340px !default;
        +
        +$navbar-default-color:             #777 !default;
        +$navbar-default-bg:                #f8f8f8 !default;
        +$navbar-default-border:            darken($navbar-default-bg, 6.5%) !default;
        +
        +// Navbar links
        +$navbar-default-link-color:                #777 !default;
        +$navbar-default-link-hover-color:          #333 !default;
        +$navbar-default-link-hover-bg:             transparent !default;
        +$navbar-default-link-active-color:         #555 !default;
        +$navbar-default-link-active-bg:            darken($navbar-default-bg, 6.5%) !default;
        +$navbar-default-link-disabled-color:       #ccc !default;
        +$navbar-default-link-disabled-bg:          transparent !default;
        +
        +// Navbar brand label
        +$navbar-default-brand-color:               $navbar-default-link-color !default;
        +$navbar-default-brand-hover-color:         darken($navbar-default-brand-color, 10%) !default;
        +$navbar-default-brand-hover-bg:            transparent !default;
        +
        +// Navbar toggle
        +$navbar-default-toggle-hover-bg:           #ddd !default;
        +$navbar-default-toggle-icon-bar-bg:        #888 !default;
        +$navbar-default-toggle-border-color:       #ddd !default;
        +
        +
        +//=== Inverted navbar
        +// Reset inverted navbar basics
        +$navbar-inverse-color:                      lighten($gray-light, 15%) !default;
        +$navbar-inverse-bg:                         #222 !default;
        +$navbar-inverse-border:                     darken($navbar-inverse-bg, 10%) !default;
        +
        +// Inverted navbar links
        +$navbar-inverse-link-color:                 lighten($gray-light, 15%) !default;
        +$navbar-inverse-link-hover-color:           #fff !default;
        +$navbar-inverse-link-hover-bg:              transparent !default;
        +$navbar-inverse-link-active-color:          $navbar-inverse-link-hover-color !default;
        +$navbar-inverse-link-active-bg:             darken($navbar-inverse-bg, 10%) !default;
        +$navbar-inverse-link-disabled-color:        #444 !default;
        +$navbar-inverse-link-disabled-bg:           transparent !default;
        +
        +// Inverted navbar brand label
        +$navbar-inverse-brand-color:                $navbar-inverse-link-color !default;
        +$navbar-inverse-brand-hover-color:          #fff !default;
        +$navbar-inverse-brand-hover-bg:             transparent !default;
        +
        +// Inverted navbar toggle
        +$navbar-inverse-toggle-hover-bg:            #333 !default;
        +$navbar-inverse-toggle-icon-bar-bg:         #fff !default;
        +$navbar-inverse-toggle-border-color:        #333 !default;
        +
        +
        +//== Navs
        +//
        +//##
        +
        +//=== Shared nav styles
        +$nav-link-padding:                          10px 15px !default;
        +$nav-link-hover-bg:                         $gray-lighter !default;
        +
        +$nav-disabled-link-color:                   $gray-light !default;
        +$nav-disabled-link-hover-color:             $gray-light !default;
        +
        +//== Tabs
        +$nav-tabs-border-color:                     #ddd !default;
        +
        +$nav-tabs-link-hover-border-color:          $gray-lighter !default;
        +
        +$nav-tabs-active-link-hover-bg:             $body-bg !default;
        +$nav-tabs-active-link-hover-color:          $gray !default;
        +$nav-tabs-active-link-hover-border-color:   #ddd !default;
        +
        +$nav-tabs-justified-link-border-color:            #ddd !default;
        +$nav-tabs-justified-active-link-border-color:     $body-bg !default;
        +
        +//== Pills
        +$nav-pills-border-radius:                   $border-radius-base !default;
        +$nav-pills-active-link-hover-bg:            $component-active-bg !default;
        +$nav-pills-active-link-hover-color:         $component-active-color !default;
        +
        +
        +//== Pagination
        +//
        +//##
        +
        +$pagination-color:                     $link-color !default;
        +$pagination-bg:                        #fff !default;
        +$pagination-border:                    #ddd !default;
        +
        +$pagination-hover-color:               $link-hover-color !default;
        +$pagination-hover-bg:                  $gray-lighter !default;
        +$pagination-hover-border:              #ddd !default;
        +
        +$pagination-active-color:              #fff !default;
        +$pagination-active-bg:                 $brand-primary !default;
        +$pagination-active-border:             $brand-primary !default;
        +
        +$pagination-disabled-color:            $gray-light !default;
        +$pagination-disabled-bg:               #fff !default;
        +$pagination-disabled-border:           #ddd !default;
        +
        +
        +//== Pager
        +//
        +//##
        +
        +$pager-bg:                             $pagination-bg !default;
        +$pager-border:                         $pagination-border !default;
        +$pager-border-radius:                  15px !default;
        +
        +$pager-hover-bg:                       $pagination-hover-bg !default;
        +
        +$pager-active-bg:                      $pagination-active-bg !default;
        +$pager-active-color:                   $pagination-active-color !default;
        +
        +$pager-disabled-color:                 $pagination-disabled-color !default;
        +
        +
        +//== Jumbotron
        +//
        +//##
        +
        +$jumbotron-padding:              30px !default;
        +$jumbotron-color:                inherit !default;
        +$jumbotron-bg:                   $gray-lighter !default;
        +$jumbotron-heading-color:        inherit !default;
        +$jumbotron-font-size:            ceil(($font-size-base * 1.5)) !default;
        +$jumbotron-heading-font-size:    ceil(($font-size-base * 4.5)) !default;
        +
        +
        +//== Form states and alerts
        +//
        +//## Define colors for form feedback states and, by default, alerts.
        +
        +$state-success-text:             #3c763d !default;
        +$state-success-bg:               #dff0d8 !default;
        +$state-success-border:           darken(adjust-hue($state-success-bg, -10), 5%) !default;
        +
        +$state-info-text:                #31708f !default;
        +$state-info-bg:                  #d9edf7 !default;
        +$state-info-border:              darken(adjust-hue($state-info-bg, -10), 7%) !default;
        +
        +$state-warning-text:             #8a6d3b !default;
        +$state-warning-bg:               #fcf8e3 !default;
        +$state-warning-border:           darken(adjust-hue($state-warning-bg, -10), 5%) !default;
        +
        +$state-danger-text:              #a94442 !default;
        +$state-danger-bg:                #f2dede !default;
        +$state-danger-border:            darken(adjust-hue($state-danger-bg, -10), 5%) !default;
        +
        +
        +//== Tooltips
        +//
        +//##
        +
        +//** Tooltip max width
        +$tooltip-max-width:           200px !default;
        +//** Tooltip text color
        +$tooltip-color:               #fff !default;
        +//** Tooltip background color
        +$tooltip-bg:                  #000 !default;
        +$tooltip-opacity:             .9 !default;
        +
        +//** Tooltip arrow width
        +$tooltip-arrow-width:         5px !default;
        +//** Tooltip arrow color
        +$tooltip-arrow-color:         $tooltip-bg !default;
        +
        +
        +//== Popovers
        +//
        +//##
        +
        +//** Popover body background color
        +$popover-bg:                          #fff !default;
        +//** Popover maximum width
        +$popover-max-width:                   276px !default;
        +//** Popover border color
        +$popover-border-color:                rgba(0,0,0,.2) !default;
        +//** Popover fallback border color
        +$popover-fallback-border-color:       #ccc !default;
        +
        +//** Popover title background color
        +$popover-title-bg:                    darken($popover-bg, 3%) !default;
        +
        +//** Popover arrow width
        +$popover-arrow-width:                 10px !default;
        +//** Popover arrow color
        +$popover-arrow-color:                 $popover-bg !default;
        +
        +//** Popover outer arrow width
        +$popover-arrow-outer-width:           ($popover-arrow-width + 1) !default;
        +//** Popover outer arrow color
        +$popover-arrow-outer-color:           fade_in($popover-border-color, 0.05) !default;
        +//** Popover outer arrow fallback color
        +$popover-arrow-outer-fallback-color:  darken($popover-fallback-border-color, 20%) !default;
        +
        +
        +//== Labels
        +//
        +//##
        +
        +//** Default label background color
        +$label-default-bg:            $gray-light !default;
        +//** Primary label background color
        +$label-primary-bg:            $brand-primary !default;
        +//** Success label background color
        +$label-success-bg:            $brand-success !default;
        +//** Info label background color
        +$label-info-bg:               $brand-info !default;
        +//** Warning label background color
        +$label-warning-bg:            $brand-warning !default;
        +//** Danger label background color
        +$label-danger-bg:             $brand-danger !default;
        +
        +//** Default label text color
        +$label-color:                 #fff !default;
        +//** Default text color of a linked label
        +$label-link-hover-color:      #fff !default;
        +
        +
        +//== Modals
        +//
        +//##
        +
        +//** Padding applied to the modal body
        +$modal-inner-padding:         15px !default;
        +
        +//** Padding applied to the modal title
        +$modal-title-padding:         15px !default;
        +//** Modal title line-height
        +$modal-title-line-height:     $line-height-base !default;
        +
        +//** Background color of modal content area
        +$modal-content-bg:                             #fff !default;
        +//** Modal content border color
        +$modal-content-border-color:                   rgba(0,0,0,.2) !default;
        +//** Modal content border color **for IE8**
        +$modal-content-fallback-border-color:          #999 !default;
        +
        +//** Modal backdrop background color
        +$modal-backdrop-bg:           #000 !default;
        +//** Modal backdrop opacity
        +$modal-backdrop-opacity:      .5 !default;
        +//** Modal header border color
        +$modal-header-border-color:   #e5e5e5 !default;
        +//** Modal footer border color
        +$modal-footer-border-color:   $modal-header-border-color !default;
        +
        +$modal-lg:                    900px !default;
        +$modal-md:                    600px !default;
        +$modal-sm:                    300px !default;
        +
        +
        +//== Alerts
        +//
        +//## Define alert colors, border radius, and padding.
        +
        +$alert-padding:               15px !default;
        +$alert-border-radius:         $border-radius-base !default;
        +$alert-link-font-weight:      bold !default;
        +
        +$alert-success-bg:            $state-success-bg !default;
        +$alert-success-text:          $state-success-text !default;
        +$alert-success-border:        $state-success-border !default;
        +
        +$alert-info-bg:               $state-info-bg !default;
        +$alert-info-text:             $state-info-text !default;
        +$alert-info-border:           $state-info-border !default;
        +
        +$alert-warning-bg:            $state-warning-bg !default;
        +$alert-warning-text:          $state-warning-text !default;
        +$alert-warning-border:        $state-warning-border !default;
        +
        +$alert-danger-bg:             $state-danger-bg !default;
        +$alert-danger-text:           $state-danger-text !default;
        +$alert-danger-border:         $state-danger-border !default;
        +
        +
        +//== Progress bars
        +//
        +//##
        +
        +//** Background color of the whole progress component
        +$progress-bg:                 #f5f5f5 !default;
        +//** Progress bar text color
        +$progress-bar-color:          #fff !default;
        +//** Variable for setting rounded corners on progress bar.
        +$progress-border-radius:      $border-radius-base !default;
        +
        +//** Default progress bar color
        +$progress-bar-bg:             $brand-primary !default;
        +//** Success progress bar color
        +$progress-bar-success-bg:     $brand-success !default;
        +//** Warning progress bar color
        +$progress-bar-warning-bg:     $brand-warning !default;
        +//** Danger progress bar color
        +$progress-bar-danger-bg:      $brand-danger !default;
        +//** Info progress bar color
        +$progress-bar-info-bg:        $brand-info !default;
        +
        +
        +//== List group
        +//
        +//##
        +
        +//** Background color on `.list-group-item`
        +$list-group-bg:                 #fff !default;
        +//** `.list-group-item` border color
        +$list-group-border:             #ddd !default;
        +//** List group border radius
        +$list-group-border-radius:      $border-radius-base !default;
        +
        +//** Background color of single list items on hover
        +$list-group-hover-bg:           #f5f5f5 !default;
        +//** Text color of active list items
        +$list-group-active-color:       $component-active-color !default;
        +//** Background color of active list items
        +$list-group-active-bg:          $component-active-bg !default;
        +//** Border color of active list elements
        +$list-group-active-border:      $list-group-active-bg !default;
        +//** Text color for content within active list items
        +$list-group-active-text-color:  lighten($list-group-active-bg, 40%) !default;
        +
        +//** Text color of disabled list items
        +$list-group-disabled-color:      $gray-light !default;
        +//** Background color of disabled list items
        +$list-group-disabled-bg:         $gray-lighter !default;
        +//** Text color for content within disabled list items
        +$list-group-disabled-text-color: $list-group-disabled-color !default;
        +
        +$list-group-link-color:         #555 !default;
        +$list-group-link-hover-color:   $list-group-link-color !default;
        +$list-group-link-heading-color: #333 !default;
        +
        +
        +//== Panels
        +//
        +//##
        +
        +$panel-bg:                    #fff !default;
        +$panel-body-padding:          15px !default;
        +$panel-heading-padding:       10px 15px !default;
        +$panel-footer-padding:        $panel-heading-padding !default;
        +$panel-border-radius:         $border-radius-base !default;
        +
        +//** Border color for elements within panels
        +$panel-inner-border:          #ddd !default;
        +$panel-footer-bg:             #f5f5f5 !default;
        +
        +$panel-default-text:          $gray-dark !default;
        +$panel-default-border:        #ddd !default;
        +$panel-default-heading-bg:    #f5f5f5 !default;
        +
        +$panel-primary-text:          #fff !default;
        +$panel-primary-border:        $brand-primary !default;
        +$panel-primary-heading-bg:    $brand-primary !default;
        +
        +$panel-success-text:          $state-success-text !default;
        +$panel-success-border:        $state-success-border !default;
        +$panel-success-heading-bg:    $state-success-bg !default;
        +
        +$panel-info-text:             $state-info-text !default;
        +$panel-info-border:           $state-info-border !default;
        +$panel-info-heading-bg:       $state-info-bg !default;
        +
        +$panel-warning-text:          $state-warning-text !default;
        +$panel-warning-border:        $state-warning-border !default;
        +$panel-warning-heading-bg:    $state-warning-bg !default;
        +
        +$panel-danger-text:           $state-danger-text !default;
        +$panel-danger-border:         $state-danger-border !default;
        +$panel-danger-heading-bg:     $state-danger-bg !default;
        +
        +
        +//== Thumbnails
        +//
        +//##
        +
        +//** Padding around the thumbnail image
        +$thumbnail-padding:           4px !default;
        +//** Thumbnail background color
        +$thumbnail-bg:                $body-bg !default;
        +//** Thumbnail border color
        +$thumbnail-border:            #ddd !default;
        +//** Thumbnail border radius
        +$thumbnail-border-radius:     $border-radius-base !default;
        +
        +//** Custom text color for thumbnail captions
        +$thumbnail-caption-color:     $text-color !default;
        +//** Padding around the thumbnail caption
        +$thumbnail-caption-padding:   9px !default;
        +
        +
        +//== Wells
        +//
        +//##
        +
        +$well-bg:                     #f5f5f5 !default;
        +$well-border:                 darken($well-bg, 7%) !default;
        +
        +
        +//== Badges
        +//
        +//##
        +
        +$badge-color:                 #fff !default;
        +//** Linked badge text color on hover
        +$badge-link-hover-color:      #fff !default;
        +$badge-bg:                    $gray-light !default;
        +
        +//** Badge text color in active nav link
        +$badge-active-color:          $link-color !default;
        +//** Badge background color in active nav link
        +$badge-active-bg:             #fff !default;
        +
        +$badge-font-weight:           bold !default;
        +$badge-line-height:           1 !default;
        +$badge-border-radius:         10px !default;
        +
        +
        +//== Breadcrumbs
        +//
        +//##
        +
        +$breadcrumb-padding-vertical:   8px !default;
        +$breadcrumb-padding-horizontal: 15px !default;
        +//** Breadcrumb background color
        +$breadcrumb-bg:                 #f5f5f5 !default;
        +//** Breadcrumb text color
        +$breadcrumb-color:              #ccc !default;
        +//** Text color of current page in the breadcrumb
        +$breadcrumb-active-color:       $gray-light !default;
        +//** Textual separator for between breadcrumb elements
        +$breadcrumb-separator:          "/" !default;
        +
        +
        +//== Carousel
        +//
        +//##
        +
        +$carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6) !default;
        +
        +$carousel-control-color:                      #fff !default;
        +$carousel-control-width:                      15% !default;
        +$carousel-control-opacity:                    .5 !default;
        +$carousel-control-font-size:                  20px !default;
        +
        +$carousel-indicator-active-bg:                #fff !default;
        +$carousel-indicator-border-color:             #fff !default;
        +
        +$carousel-caption-color:                      #fff !default;
        +
        +
        +//== Close
        +//
        +//##
        +
        +$close-font-weight:           bold !default;
        +$close-color:                 #000 !default;
        +$close-text-shadow:           0 1px 0 #fff !default;
        +
        +
        +//== Code
        +//
        +//##
        +
        +$code-color:                  #c7254e !default;
        +$code-bg:                     #f9f2f4 !default;
        +
        +$kbd-color:                   #fff !default;
        +$kbd-bg:                      #333 !default;
        +
        +$pre-bg:                      #f5f5f5 !default;
        +$pre-color:                   $gray-dark !default;
        +$pre-border-color:            #ccc !default;
        +$pre-scrollable-max-height:   340px !default;
        +
        +
        +//== Type
        +//
        +//##
        +
        +//** Horizontal offset for forms and lists.
        +$component-offset-horizontal: 180px !default;
        +//** Text muted color
        +$text-muted:                  $gray-light !default;
        +//** Abbreviations and acronyms border color
        +$abbr-border-color:           $gray-light !default;
        +//** Headings small color
        +$headings-small-color:        $gray-light !default;
        +//** Blockquote small color
        +$blockquote-small-color:      $gray-light !default;
        +//** Blockquote font size
        +$blockquote-font-size:        ($font-size-base * 1.25) !default;
        +//** Blockquote border color
        +$blockquote-border-color:     $gray-lighter !default;
        +//** Page header border color
        +$page-header-border-color:    $gray-lighter !default;
        +//** Width of horizontal description list titles
        +$dl-horizontal-offset:        $component-offset-horizontal !default;
        +//** Horizontal line color.
        +$hr-border:                   $gray-lighter !default;
        diff --git a/static/sass/bootstrap/_wells.scss b/static/sass/bootstrap/_wells.scss
        new file mode 100644
        index 0000000..b865711
        --- /dev/null
        +++ b/static/sass/bootstrap/_wells.scss
        @@ -0,0 +1,29 @@
        +//
        +// Wells
        +// --------------------------------------------------
        +
        +
        +// Base class
        +.well {
        +  min-height: 20px;
        +  padding: 19px;
        +  margin-bottom: 20px;
        +  background-color: $well-bg;
        +  border: 1px solid $well-border;
        +  border-radius: $border-radius-base;
        +  @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
        +  blockquote {
        +    border-color: #ddd;
        +    border-color: rgba(0,0,0,.15);
        +  }
        +}
        +
        +// Sizes
        +.well-lg {
        +  padding: 24px;
        +  border-radius: $border-radius-large;
        +}
        +.well-sm {
        +  padding: 9px;
        +  border-radius: $border-radius-small;
        +}
        diff --git a/static/sass/bootstrap/mixins/_alerts.scss b/static/sass/bootstrap/mixins/_alerts.scss
        new file mode 100644
        index 0000000..3faf0b5
        --- /dev/null
        +++ b/static/sass/bootstrap/mixins/_alerts.scss
        @@ -0,0 +1,14 @@
        +// Alerts
        +
        +@mixin alert-variant($background, $border, $text-color) {
        +  background-color: $background;
        +  border-color: $border;
        +  color: $text-color;
        +
        +  hr {
        +    border-top-color: darken($border, 5%);
        +  }
        +  .alert-link {
        +    color: darken($text-color, 10%);
        +  }
        +}
        diff --git a/static/sass/bootstrap/mixins/_background-variant.scss b/static/sass/bootstrap/mixins/_background-variant.scss
        new file mode 100644
        index 0000000..4c7769e
        --- /dev/null
        +++ b/static/sass/bootstrap/mixins/_background-variant.scss
        @@ -0,0 +1,12 @@
        +// Contextual backgrounds
        +
        +// [converter] $parent hack
        +@mixin bg-variant($parent, $color) {
        +  #{$parent} {
        +    background-color: $color;
        +  }
        +  a#{$parent}:hover,
        +  a#{$parent}:focus {
        +    background-color: darken($color, 10%);
        +  }
        +}
        diff --git a/static/sass/bootstrap/mixins/_border-radius.scss b/static/sass/bootstrap/mixins/_border-radius.scss
        new file mode 100644
        index 0000000..ce19499
        --- /dev/null
        +++ b/static/sass/bootstrap/mixins/_border-radius.scss
        @@ -0,0 +1,18 @@
        +// Single side border-radius
        +
        +@mixin border-top-radius($radius) {
        +  border-top-right-radius: $radius;
        +   border-top-left-radius: $radius;
        +}
        +@mixin border-right-radius($radius) {
        +  border-bottom-right-radius: $radius;
        +     border-top-right-radius: $radius;
        +}
        +@mixin border-bottom-radius($radius) {
        +  border-bottom-right-radius: $radius;
        +   border-bottom-left-radius: $radius;
        +}
        +@mixin border-left-radius($radius) {
        +  border-bottom-left-radius: $radius;
        +     border-top-left-radius: $radius;
        +}
        diff --git a/static/sass/bootstrap/mixins/_buttons.scss b/static/sass/bootstrap/mixins/_buttons.scss
        new file mode 100644
        index 0000000..ad31187
        --- /dev/null
        +++ b/static/sass/bootstrap/mixins/_buttons.scss
        @@ -0,0 +1,68 @@
        +// Button variants
        +//
        +// Easily pump out default styles, as well as :hover, :focus, :active,
        +// and disabled options for all buttons
        +
        +@mixin button-variant($color, $background, $border) {
        +  color: $color;
        +  background-color: $background;
        +  border-color: $border;
        +
        +  &:focus,
        +  &.focus {
        +    color: $color;
        +    background-color: darken($background, 10%);
        +        border-color: darken($border, 25%);
        +  }
        +  &:hover {
        +    color: $color;
        +    background-color: darken($background, 10%);
        +        border-color: darken($border, 12%);
        +  }
        +  &:active,
        +  &.active,
        +  .open > &.dropdown-toggle {
        +    color: $color;
        +    background-color: darken($background, 10%);
        +        border-color: darken($border, 12%);
        +
        +    &:hover,
        +    &:focus,
        +    &.focus {
        +      color: $color;
        +      background-color: darken($background, 17%);
        +          border-color: darken($border, 25%);
        +    }
        +  }
        +  &:active,
        +  &.active,
        +  .open > &.dropdown-toggle {
        +    background-image: none;
        +  }
        +  &.disabled,
        +  &[disabled],
        +  fieldset[disabled] & {
        +    &,
        +    &:hover,
        +    &:focus,
        +    &.focus,
        +    &:active,
        +    &.active {
        +      background-color: $background;
        +          border-color: $border;
        +    }
        +  }
        +
        +  .badge {
        +    color: $background;
        +    background-color: $color;
        +  }
        +}
        +
        +// Button sizes
        +@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
        +  padding: $padding-vertical $padding-horizontal;
        +  font-size: $font-size;
        +  line-height: $line-height;
        +  border-radius: $border-radius;
        +}
        diff --git a/static/sass/bootstrap/mixins/_center-block.scss b/static/sass/bootstrap/mixins/_center-block.scss
        new file mode 100644
        index 0000000..e06fb5e
        --- /dev/null
        +++ b/static/sass/bootstrap/mixins/_center-block.scss
        @@ -0,0 +1,7 @@
        +// Center-align a block level element
        +
        +@mixin center-block() {
        +  display: block;
        +  margin-left: auto;
        +  margin-right: auto;
        +}
        diff --git a/static/sass/bootstrap/mixins/_clearfix.scss b/static/sass/bootstrap/mixins/_clearfix.scss
        new file mode 100644
        index 0000000..dc3e2ab
        --- /dev/null
        +++ b/static/sass/bootstrap/mixins/_clearfix.scss
        @@ -0,0 +1,22 @@
        +// Clearfix
        +//
        +// For modern browsers
        +// 1. The space content is one way to avoid an Opera bug when the
        +//    contenteditable attribute is included anywhere else in the document.
        +//    Otherwise it causes space to appear at the top and bottom of elements
        +//    that are clearfixed.
        +// 2. The use of `table` rather than `block` is only necessary if using
        +//    `:before` to contain the top-margins of child elements.
        +//
        +// Source: http://nicolasgallagher.com/micro-clearfix-hack/
        +
        +@mixin clearfix() {
        +  &:before,
        +  &:after {
        +    content: " "; // 1
        +    display: table; // 2
        +  }
        +  &:after {
        +    clear: both;
        +  }
        +}
        diff --git a/static/sass/bootstrap/mixins/_forms.scss b/static/sass/bootstrap/mixins/_forms.scss
        new file mode 100644
        index 0000000..277aa5f
        --- /dev/null
        +++ b/static/sass/bootstrap/mixins/_forms.scss
        @@ -0,0 +1,88 @@
        +// Form validation states
        +//
        +// Used in forms.less to generate the form validation CSS for warnings, errors,
        +// and successes.
        +
        +@mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {
        +  // Color the label and help text
        +  .help-block,
        +  .control-label,
        +  .radio,
        +  .checkbox,
        +  .radio-inline,
        +  .checkbox-inline,
        +  &.radio label,
        +  &.checkbox label,
        +  &.radio-inline label,
        +  &.checkbox-inline label  {
        +    color: $text-color;
        +  }
        +  // Set the border and box shadow on specific inputs to match
        +  .form-control {
        +    border-color: $border-color;
        +    @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
        +    &:focus {
        +      border-color: darken($border-color, 10%);
        +      $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);
        +      @include box-shadow($shadow);
        +    }
        +  }
        +  // Set validation states also for addons
        +  .input-group-addon {
        +    color: $text-color;
        +    border-color: $border-color;
        +    background-color: $background-color;
        +  }
        +  // Optional feedback icon
        +  .form-control-feedback {
        +    color: $text-color;
        +  }
        +}
        +
        +
        +// Form control focus state
        +//
        +// Generate a customized focus state and for any input with the specified color,
        +// which defaults to the `$input-border-focus` variable.
        +//
        +// We highly encourage you to not customize the default value, but instead use
        +// this to tweak colors on an as-needed basis. This aesthetic change is based on
        +// WebKit's default styles, but applicable to a wider range of browsers. Its
        +// usability and accessibility should be taken into account with any change.
        +//
        +// Example usage: change the default blue border and shadow to white for better
        +// contrast against a dark gray background.
        +@mixin form-control-focus($color: $input-border-focus) {
        +  $color-rgba: rgba(red($color), green($color), blue($color), .6);
        +  &:focus {
        +    border-color: $color;
        +    outline: 0;
        +    @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba);
        +  }
        +}
        +
        +// Form control sizing
        +//
        +// Relative text size, padding, and border-radii changes for form controls. For
        +// horizontal sizing, wrap controls in the predefined grid classes. `