aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/cobrands/borsetshire/base.scss95
-rw-r--r--web/cobrands/borsetshire/images/site-logo-mobile@2x.pngbin4795 -> 0 bytes
-rw-r--r--web/cobrands/borsetshire/images/site-logo@2x.pngbin7489 -> 0 bytes
-rw-r--r--web/cobrands/borsetshire/js.js10
-rw-r--r--web/cobrands/borsetshire/layout.scss58
-rw-r--r--web/cobrands/bromley/base.scss11
-rw-r--r--web/cobrands/bromley/images/report-tools.pngbin0 -> 830 bytes
-rw-r--r--web/cobrands/bromley/images/report-tools.svg1
-rw-r--r--web/cobrands/fiksgatami/_colours.scss2
-rw-r--r--web/cobrands/fiksgatami/base.scss4
-rw-r--r--web/cobrands/fiksgatami/images/homepage-logo.pngbin0 -> 9039 bytes
-rw-r--r--web/cobrands/fiksgatami/images/site-logo.pngbin0 -> 4834 bytes
-rw-r--r--web/cobrands/fiksgatami/layout.scss2
-rw-r--r--web/cobrands/fiksgatami/sprite.pngbin30796 -> 0 bytes
-rw-r--r--web/cobrands/fixamingata/_colours.scss1
-rw-r--r--web/cobrands/fixamingata/base.scss2
-rw-r--r--web/cobrands/fixamingata/images/homepage-logo.pngbin0 -> 3973 bytes
-rw-r--r--web/cobrands/fixamingata/images/site-logo.png (renamed from web/cobrands/fixamingata/images/fms-logo.png)bin3176 -> 3176 bytes
-rw-r--r--web/cobrands/fixamingata/images/sprite.pngbin29246 -> 0 bytes
-rw-r--r--web/cobrands/fixamingata/layout.scss2
-rw-r--r--web/cobrands/fixmystreet-uk-councils/js.js3
-rw-r--r--web/cobrands/fixmystreet.com/base.scss47
-rw-r--r--web/cobrands/fixmystreet.com/fmsforcouncils.scss718
-rw-r--r--web/cobrands/fixmystreet.com/front.js38
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/all-yellow.jpgbin55211 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.pngbin2177 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.pngbin2246 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/barnet.jpgbin35681 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.pngbin3070 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/bristol.jpgbin33251 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.pngbin2640 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.pngbin267724 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/download-icon.pngbin1135 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.pngbin2892 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.pngbin2460 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/hart.pngbin105483 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/highway.jpgbin51113 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/iphone.pngbin96848 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.pngbin3194 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/responsive.pngbin65329 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpgbin48091 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.pngbin3058 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/street-crossing.jpgbin30623 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/street-scene.jpgbin69991 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/street-sunset.jpgbin35518 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/test-device-mockup.pngbin1387896 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.pngbin5303 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpgbin87063 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.pngbin2587 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/zurich.jpgbin42037 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/mysoc-footer/logo-fms-platform@2x.pngbin4787 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/site-logo-homepage.pngbin0 -> 4969 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/tile-y.jpgbin44538 -> 26539 bytes
-rw-r--r--web/cobrands/fixmystreet.com/js.js73
-rw-r--r--web/cobrands/fixmystreet.com/layout.scss28
-rw-r--r--web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js13
-rw-r--r--web/cobrands/fixmystreet/admin.js35
-rw-r--r--web/cobrands/fixmystreet/dashboard.scss33
-rw-r--r--web/cobrands/fixmystreet/fixmystreet.js273
-rw-r--r--web/cobrands/fixmystreet/front.js12
-rw-r--r--web/cobrands/fixmystreet/images/button-icons.pngbin0 -> 1021 bytes
-rw-r--r--web/cobrands/fixmystreet/images/button-icons.svg1
-rw-r--r--web/cobrands/fixmystreet/images/chevron-grey-left.svg1
-rw-r--r--web/cobrands/fixmystreet/images/chevron-grey-right.svg1
-rw-r--r--web/cobrands/fixmystreet/images/compress.pngbin762 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/compress.svg1
-rw-r--r--web/cobrands/fixmystreet/images/compress@2x.pngbin1227 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/cross-white.pngbin215 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/cross-white.svg1
-rw-r--r--web/cobrands/fixmystreet/images/crosshairs.pngbin248 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/crosshairs.svg1
-rw-r--r--web/cobrands/fixmystreet/images/crosshairs@2x.pngbin427 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/expand.pngbin726 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/expand.svg1
-rw-r--r--web/cobrands/fixmystreet/images/expand@2x.pngbin1112 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/fms-pan-zoom.pngbin0 -> 437 bytes
-rw-r--r--web/cobrands/fixmystreet/images/fms-pan-zoom.svg1
-rw-r--r--web/cobrands/fixmystreet/images/hide-pins-link.pngbin0 -> 351 bytes
-rw-r--r--web/cobrands/fixmystreet/images/hide-pins-link.svg1
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-active-hover@2x.pngbin717 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-active@2x.pngbin669 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-down-hover@2x.pngbin159 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-down@2x.pngbin138 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-inactive-hover@2x.pngbin1045 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-inactive@2x.pngbin649 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-mini.pngbin259 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-mini.svg1
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-mini@2x.pngbin557 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-taken-hover@2x.pngbin868 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-taken@2x.pngbin577 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-up-hover@2x.pngbin161 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlist-up@2x.pngbin139 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlisted-mini.pngbin262 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlisted-mini.svg1
-rw-r--r--web/cobrands/fixmystreet/images/icon-shortlisted-mini@2x.pngbin478 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/ie_key_tools_sprite.gifbin375 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/ie_sub_map_links_sprite.gifbin461 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/magnify.pngbin0 -> 222 bytes
-rw-r--r--web/cobrands/fixmystreet/images/magnify.svg1
-rw-r--r--web/cobrands/fixmystreet/images/map-marker.pngbin786 -> 0 bytes
-rwxr-xr-xweb/cobrands/fixmystreet/images/map-marker.svg6
-rw-r--r--web/cobrands/fixmystreet/images/map-marker@2x.pngbin925 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/map-tools.pngbin0 -> 846 bytes
-rw-r--r--web/cobrands/fixmystreet/images/map-tools.svg1
-rw-r--r--web/cobrands/fixmystreet/images/navigate.pngbin261 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/navigate.svg1
-rw-r--r--web/cobrands/fixmystreet/images/navigate@2x.pngbin489 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/padlock@2.pngbin243 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/phone-in-circle-100px.pngbin0 -> 2149 bytes
-rw-r--r--web/cobrands/fixmystreet/images/report-tools.pngbin0 -> 836 bytes
-rw-r--r--web/cobrands/fixmystreet/images/report-tools.svg1
-rw-r--r--web/cobrands/fixmystreet/images/share.pngbin435 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/shortlist@2.pngbin619 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/site-logo.pngbin0 -> 2805 bytes
-rw-r--r--web/cobrands/fixmystreet/images/site-logo.svg1
-rw-r--r--web/cobrands/fixmystreet/images/sprite.pngbin97274 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet/images/triangle-grey-left.svg3
-rw-r--r--web/cobrands/fixmystreet/images/triangle-grey-right.svg3
-rw-r--r--web/cobrands/fixmystreet/map.js2
-rw-r--r--web/cobrands/fixmystreet/prefetch-polyfill.js28
-rw-r--r--web/cobrands/fixmystreet/staff.js38
-rw-r--r--web/cobrands/oxfordshire/js.js8
-rw-r--r--web/cobrands/oxfordshire/layout.scss8
-rw-r--r--web/cobrands/sass/_base.scss713
-rw-r--r--web/cobrands/sass/_dashboard.scss163
-rw-r--r--web/cobrands/sass/_fixedthead.scss4
-rw-r--r--web/cobrands/sass/_layout.scss241
-rw-r--r--web/cobrands/sass/_mixins.scss11
-rw-r--r--web/cobrands/sass/_multiselect.scss8
-rw-r--r--web/cobrands/warwickshire/_colours.scss5
-rw-r--r--web/cobrands/warwickshire/base.scss134
-rw-r--r--web/cobrands/warwickshire/layout.scss51
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css44
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/homepage-slider-test.js27
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/image-navigation.css664
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/apple-touch-icon-WCC.pngbin0 -> 63921 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/favicon-WCC.pngbin0 -> 6042 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/favicon.icobin1406 -> 0 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/favicon_wcc.icobin0 -> 152126 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/glyphicons-halflings-white.pngbin0 -> 8777 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/jquery.cycle.js1538
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/jquery.tabSlideOut.v1.3.js215
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/jquery.zrssfeed.o.js139
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/print.css76
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/style.css2081
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/venues.css249
-rw-r--r--web/i/pin-flat-white-small.pngbin0 -> 751 bytes
-rw-r--r--web/js/dashboard.js194
-rw-r--r--web/js/front.js18
-rw-r--r--web/js/geolocation.js43
-rw-r--r--web/js/jquery.fixedthead.js81
-rw-r--r--web/js/jquery.multi-select.js334
-rw-r--r--web/js/map-OpenLayers.js149
-rw-r--r--web/js/map-bing-ol.js8
-rw-r--r--web/js/map-fms.js8
-rw-r--r--web/js/map-google.js47
-rw-r--r--web/js/map-wmts-bristol.js9
-rw-r--r--web/js/map-wmts-zurich.js8
-rw-r--r--web/vendor/chart.min.js90
-rw-r--r--web/vendor/geo.min.js85
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/animated-overlay.gifbin1738 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.pngbin212 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.pngbin208 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.pngbin335 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.pngbin207 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.pngbin262 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.pngbin262 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.pngbin332 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.pngbin280 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.pngbin6922 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.pngbin4549 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.pngbin6992 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.pngbin6999 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.pngbin4549 -> 0 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css7
-rwxr-xr-xweb/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js7
-rw-r--r--web/vendor/jquery.multi-select.min.js9
-rw-r--r--web/vendor/yepnope.js1
197 files changed, 6048 insertions, 3005 deletions
diff --git a/web/cobrands/borsetshire/base.scss b/web/cobrands/borsetshire/base.scss
index 813c0fc59..a92d54427 100644
--- a/web/cobrands/borsetshire/base.scss
+++ b/web/cobrands/borsetshire/base.scss
@@ -9,7 +9,7 @@
background-size: 120px 32px;
height: 32px;
width: 120px;
- @include high-dpi-background-image('images/site-logo-mobile');
+ @include svg-background-image('images/site-logo-mobile');
}
#site-header {
@@ -22,3 +22,96 @@
.site-header__fake-nav {
display: none;
}
+
+.homepage-login-hint {
+ padding: 1.5em 0;
+ background-color: rgb(0, 61, 101);
+ background-color: darken($color-borsetshire-blue, 20%);
+ color: #fff;
+
+ .container {
+ position: relative;
+
+ // Little arrow.
+ &:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ position: absolute;
+ border: 0.5em solid transparent;
+ border-top-width: 0;
+ border-bottom-color: darken($color-borsetshire-blue, 20%);
+ top: -1.5em;
+ right: 1em;
+ margin-top: -0.5em;
+ }
+ }
+
+ h2 {
+ margin: 0;
+ font-size: 1.3em;
+ }
+
+ p {
+ margin: 0.5em 0 0 0;
+ }
+
+ a {
+ font-weight: bold;
+ color: inherit;
+ text-decoration: underline;
+ }
+}
+
+body.authpage {
+ .content {
+ max-width: 27em;
+ margin-#{$left}: auto;
+ margin-#{$right}: auto;
+ }
+}
+
+#demo-user-list {
+ @include list-reset-soft();
+ border-bottom: 1px solid #eee;
+ margin-bottom: 2em;
+
+ li {
+ margin: 2em 0;
+ }
+
+ button {
+ width: 100%;
+ }
+
+ span {
+ color: #666;
+ font-size: (14em / 16);
+ display: block;
+ margin-top: 0.5em;
+ }
+}
+
+.fms-pro-promo {
+ margin: 2em -1em;
+ padding: 1em;
+ background: $primary;
+ color: $primary_text;
+
+ .lead {
+ font-weight: bold;
+ }
+
+ & > :first-child {
+ margin-top: 0;
+ }
+
+ & > :last-child {
+ margin-bottom: 0;
+ }
+}
+
+.btn--borsetshire {
+ @include button-reset($text: #000, $hover-text: #000);
+}
diff --git a/web/cobrands/borsetshire/images/site-logo-mobile@2x.png b/web/cobrands/borsetshire/images/site-logo-mobile@2x.png
deleted file mode 100644
index d19fdcebb..000000000
--- a/web/cobrands/borsetshire/images/site-logo-mobile@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/borsetshire/images/site-logo@2x.png b/web/cobrands/borsetshire/images/site-logo@2x.png
deleted file mode 100644
index 1840d6206..000000000
--- a/web/cobrands/borsetshire/images/site-logo@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/borsetshire/js.js b/web/cobrands/borsetshire/js.js
index eee78df43..2888a9548 100644
--- a/web/cobrands/borsetshire/js.js
+++ b/web/cobrands/borsetshire/js.js
@@ -1,7 +1,11 @@
(function(){
+ if (typeof jQuery === 'undefined') {
+ return;
+ }
+
function set_redirect(form) {
- var e = form.email.value;
+ var e = form.username.value;
if (e == 'inspector@example.org') {
form.r.value = 'my/planned';
} else if (e == 'cs@example.org') {
@@ -11,9 +15,9 @@
}
}
- $('#demo-user-list dt').click(function(){
+ $('#demo-user-list button').click(function(){
var form = document.forms.general_auth;
- form.email.value = $(this).text();
+ form.username.value = $(this).data('email');
form.password_sign_in.value = 'password';
set_redirect(form);
form.submit();
diff --git a/web/cobrands/borsetshire/layout.scss b/web/cobrands/borsetshire/layout.scss
index b6d411e1f..66d1bb692 100644
--- a/web/cobrands/borsetshire/layout.scss
+++ b/web/cobrands/borsetshire/layout.scss
@@ -9,7 +9,7 @@
background-size: 180px 48px;
height: 48px;
width: 180px;
- @include high-dpi-background-image('images/site-logo');
+ @include svg-background-image('images/site-logo');
}
#site-header {
@@ -46,3 +46,59 @@
margin: 0 0.5em 0 0;
}
}
+
+.homepage-login-hint {
+ .container {
+ &:before {
+ right: 16.4em;
+ }
+ }
+}
+
+body.authpage {
+ .content {
+ width: auto;
+ max-width: 30em;
+ }
+
+ input {
+ max-width: none;
+ }
+}
+
+#demo-user-list {
+ li {
+ @include clearfix();
+ }
+
+ button {
+ float: left;
+ width: 40%;
+ }
+
+ span {
+ float: right;
+ width: 55%;
+ margin-top: 0;
+ }
+}
+
+.fms-pro-promo {
+ margin: 1em 0 3em 0;
+ padding: 2em;
+
+ p {
+ font-size: 1.2em;
+ max-width: 26em;
+ }
+
+ h2 {
+ font-family: inherit;
+ font-weight: bold;
+ font-size: 2em;
+ }
+
+ @media (min-width: 60em) {
+ padding: 3em;
+ }
+}
diff --git a/web/cobrands/bromley/base.scss b/web/cobrands/bromley/base.scss
index e6c29bed2..768a3ec67 100644
--- a/web/cobrands/bromley/base.scss
+++ b/web/cobrands/bromley/base.scss
@@ -95,9 +95,14 @@ a:active {
// Darken the "key tools" links because we've darkened our background and as a
// result they have very little contrast
-.shadow-wrap ul#key-tools li a,
-.shadow-wrap ul#key-tools li input[type=submit] {
- background-color: darken(#f5f5f5, 10%);
+#key-tools {
+ a, button {
+ background-color: darken(#f5f5f5, 10%);
+
+ &:after {
+ @include svg-background-image("/cobrands/bromley/images/report-tools");
+ }
+ }
}
.item-list--reports__item a {
diff --git a/web/cobrands/bromley/images/report-tools.png b/web/cobrands/bromley/images/report-tools.png
new file mode 100644
index 000000000..4720d427f
--- /dev/null
+++ b/web/cobrands/bromley/images/report-tools.png
Binary files differ
diff --git a/web/cobrands/bromley/images/report-tools.svg b/web/cobrands/bromley/images/report-tools.svg
new file mode 100644
index 000000000..d812b350b
--- /dev/null
+++ b/web/cobrands/bromley/images/report-tools.svg
@@ -0,0 +1 @@
+<svg width="112" height="16" viewBox="0 0 112 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M104 1c.3 0 .6.2.8.4l7 12.3c.2.2.2.6 0 .9 0 .2-.4.4-.7.4H97a.9.9 0 0 1-.8-.4.9.9 0 0 1 0-1l7.1-12.2c.2-.2.5-.4.8-.4zm-1 10.2v2h2v-2h-2zm0-6.1v5h2v-5h-2z" fill="#999" fill-rule="nonzero"/><g transform="translate(81)"><path stroke="#999" stroke-width="2" d="M11 3L3 8l8 5"/><circle fill="#999" cx="11" cy="3" r="3"/><circle fill="#999" cx="3" cy="8" r="3"/><circle fill="#999" cx="11" cy="13" r="3"/></g><path d="M68.8 13.1a1.9 1.9 0 1 1-3.8 0 1.9 1.9 0 0 1 3.8 0zM65 5.8v2.8c3.5 0 6.4 2.9 6.4 6.4h2.8c0-5-4.1-9.2-9.2-9.2zm0-2c6.2 0 11.2 5 11.2 11.2H79A14 14 0 0 0 65 1v2.8zM18 0h6.5L31 8l-6.5 8H18l6.5-8M48 2v6.5L40 15l-8-6.5V2l8 6.5M48 14V7.5L56 1l8 6.5V14l-8-6.5M14 0H7.5L1 8l6.5 8H14L7.5 8" fill="#999" fill-rule="nonzero"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fiksgatami/_colours.scss b/web/cobrands/fiksgatami/_colours.scss
index 8924e577a..c7fb8b127 100644
--- a/web/cobrands/fiksgatami/_colours.scss
+++ b/web/cobrands/fiksgatami/_colours.scss
@@ -1,5 +1,3 @@
-$image-sprite: 'sprite.png';
-
/* COLOURS */
$header_darker: #0a3f6f;
diff --git a/web/cobrands/fiksgatami/base.scss b/web/cobrands/fiksgatami/base.scss
index b69a96152..d29ca8455 100644
--- a/web/cobrands/fiksgatami/base.scss
+++ b/web/cobrands/fiksgatami/base.scss
@@ -13,6 +13,10 @@
}
}
+#site-logo {
+ background: transparent url('images/site-logo.png') 0 50% no-repeat;
+}
+
.nav-menu--mysoc {
a {
color: $primary_text;
diff --git a/web/cobrands/fiksgatami/images/homepage-logo.png b/web/cobrands/fiksgatami/images/homepage-logo.png
new file mode 100644
index 000000000..01bf0e44a
--- /dev/null
+++ b/web/cobrands/fiksgatami/images/homepage-logo.png
Binary files differ
diff --git a/web/cobrands/fiksgatami/images/site-logo.png b/web/cobrands/fiksgatami/images/site-logo.png
new file mode 100644
index 000000000..4d65653db
--- /dev/null
+++ b/web/cobrands/fiksgatami/images/site-logo.png
Binary files differ
diff --git a/web/cobrands/fiksgatami/layout.scss b/web/cobrands/fiksgatami/layout.scss
index 02bceb04d..b0581ba92 100644
--- a/web/cobrands/fiksgatami/layout.scss
+++ b/web/cobrands/fiksgatami/layout.scss
@@ -37,6 +37,6 @@ body.frontpage {
margin: 2em 0;
width: 300px;
height: 60px;
- background: url($image-sprite) -2px -108px no-repeat;
+ background: transparent url('images/homepage-logo.png') 0 50% no-repeat;
}
}
diff --git a/web/cobrands/fiksgatami/sprite.png b/web/cobrands/fiksgatami/sprite.png
deleted file mode 100644
index c1c5e9d88..000000000
--- a/web/cobrands/fiksgatami/sprite.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixamingata/_colours.scss b/web/cobrands/fixamingata/_colours.scss
index 84132f804..555c2d7ae 100644
--- a/web/cobrands/fixamingata/_colours.scss
+++ b/web/cobrands/fixamingata/_colours.scss
@@ -1,6 +1,5 @@
/* COLOURS */
-$image-sprite: 'images/sprite.png';
$menu-image: 'menu-black';
$primary: #00b1da;
diff --git a/web/cobrands/fixamingata/base.scss b/web/cobrands/fixamingata/base.scss
index 52c4b50da..ceb90f878 100644
--- a/web/cobrands/fixamingata/base.scss
+++ b/web/cobrands/fixamingata/base.scss
@@ -18,7 +18,7 @@
#site-logo {
width: 185px;
height: 38px;
- background: url('images/fms-logo.png') 0 50% no-repeat;
+ background: transparent url('images/site-logo.png') 0 50% no-repeat;
}
#report-cta {
diff --git a/web/cobrands/fixamingata/images/homepage-logo.png b/web/cobrands/fixamingata/images/homepage-logo.png
new file mode 100644
index 000000000..fb51ef381
--- /dev/null
+++ b/web/cobrands/fixamingata/images/homepage-logo.png
Binary files differ
diff --git a/web/cobrands/fixamingata/images/fms-logo.png b/web/cobrands/fixamingata/images/site-logo.png
index 314c81843..314c81843 100644
--- a/web/cobrands/fixamingata/images/fms-logo.png
+++ b/web/cobrands/fixamingata/images/site-logo.png
Binary files differ
diff --git a/web/cobrands/fixamingata/images/sprite.png b/web/cobrands/fixamingata/images/sprite.png
deleted file mode 100644
index 5946c4bbc..000000000
--- a/web/cobrands/fixamingata/images/sprite.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixamingata/layout.scss b/web/cobrands/fixamingata/layout.scss
index 549d29540..2d82af1ad 100644
--- a/web/cobrands/fixamingata/layout.scss
+++ b/web/cobrands/fixamingata/layout.scss
@@ -76,7 +76,7 @@ body.frontpage {
#site-logo {
width: 300px;
height: 55px;
- background: url($image-sprite) -2px -115px no-repeat;
+ background: transparent url('images/homepage-logo.png') 0 50% no-repeat;
}
#main-nav {
diff --git a/web/cobrands/fixmystreet-uk-councils/js.js b/web/cobrands/fixmystreet-uk-councils/js.js
index 6066db9c5..5c550f56f 100644
--- a/web/cobrands/fixmystreet-uk-councils/js.js
+++ b/web/cobrands/fixmystreet-uk-councils/js.js
@@ -1,4 +1,7 @@
(function(){
+ if (typeof jQuery === 'undefined' || !jQuery.validator) {
+ return;
+ }
var validNamePat = /\ba\s*n+on+((y|o)mo?u?s)?(ly)?\b/i;
function valid_name(value, element) {
return this.optional(element) || value.length > 5 && value.match( /\S/ ) && value.match( /\s/ ) && !value.match( validNamePat );
diff --git a/web/cobrands/fixmystreet.com/base.scss b/web/cobrands/fixmystreet.com/base.scss
index 4f2a7b1de..d8f8f123e 100644
--- a/web/cobrands/fixmystreet.com/base.scss
+++ b/web/cobrands/fixmystreet.com/base.scss
@@ -4,16 +4,50 @@
* layout for browsers that can't handle media queries. Baseline grid of 1.5em.
*/
+@namespace svg "http://www.w3.org/2000/svg";
+
@import "../sass/h5bp";
@import "_colours";
@import "../sass/base";
@import "../sass/top-banner";
+// Don't need these styles from core any more,
+// as we do funky stuff with the FMS.com logo.
#site-logo {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAAoCAYAAACIJ6oVAAAACW9GRnMAAAADAAAAAwB3k5ejAAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAF5AAAQZgCwCYXlAAAABmJLR0QA/wD/AP+gvaeTAAAag0lEQVR42u1cB1RWx7YeBBW7YAOViL0bNSomdsWADVsQbEHFiAUUMYmiokEUWzQiiQ0VNSC2gFiJmthbiF1jwxaNGr0pKra8t1be3r/frLc99/zwo7nv3rzFWWuv/z9zZs6ZM/PtPd/eM3OUyj1yj9wj98g9co/cI/fIPXKP3MPaYQfJY6Po/LlH7vFvBa09ST6SIiROJM7ZiBPy5kPZXBDnHv8W0OYHGCuSeJB4kniReFsRL+TxQBkngDhPbpPmHv8XRx4AjoFXiaQFSUDXrl2XxMfHp585c+b2nyZHZmbmM742b968gx4eHvO5DElzkgokhXKtcO7xrz7sAbQKAF7AoEGDEk+ePPnznzk8tm3bdhUg7kFSE5QiJ1bY7jXkrxyB/pX5/4o2yD0EcKuQdHdzc5t14MCBm3++5rFy5cqjdL9AKMMbJAWzAbB0DLlODlmIPeSvdBrNnFNr97LmyL4OsOQ97bNoA/nuf1eA/yX1zCOA69uxY8eEhw8f/mEGxrt37z5OS0vLWLZs2QmS4yzr168/d/Xq1V+sAfjKlSu/kjLMpHv7AMD5TCprJ7h2XvDtAqgXS2EhOq0g8jgiv5Z8ooNtbRj5fAfcI5+VexkBlhf5XvXZRsXVz3fEOxrbQL+7I/LlNVFio2Lb/YeBNqt62uXkRvlAFboDuP9lQgOudenSZRmsqI+Js+bj6en58erVq/cT/31uLH/p0qUHAHALUAj7LJzEQuDcpUlcScqRlBfC52VJypCUElEOluIkRdG5OYl4GJ9fVNyrENKlpcsD0DgiulIczy+G/DmNtkjFLYj7lCRxsfL+Lnh3JwC6gEGBHYVS531FZfpXWVppoMzqabOy2aMBmjNHNVrcCxcuPPL29l4D0LYkqQzQlICUhJSB5W5ZtWrV4KNHj14xs8C4T010cB4rIbkycBbrkLyF6EVTIU1IGpHUJ6lFUg31qowoR3nUqbCNIJLALQqleQP3egPnRXHdwQAyZ4CpEp5fAfmLCMDb2QjcfKgzg9Id79YQ7/82yTv49UC71EWblxdALo46lUT/FLeifLZSjFelIXZZjFTaQBQX+HFGGxdA22YLYDvciBs+4NSpUy85ZhcvXnxUtmzZhXTNTzhdjrh5ATxMx3eLocNKIK9fbGzsXiOAU1JSTsKJqyDogx1AUQgdX33RRDX84EqV8G2cWrdzkfpqx0KVzML/dy5WX1H6+n3LVdKsUPUR5W/DFn3BeBV8ap2KS5hmUZBK6NBC2TSGUXHY0tc4s0EtObFWLW3R0HLvGkgvIqhBQbwrP6dB0gwVfixJLY+brIYivwuAmF1H2IkITxGU4/LvvPnmm73IZ1hAo9axe/fu3dBtyP8vX76cnpSUFPPWW291pbyNAXStwNXQBzWggC7oH0dh3ewNw7Y138HeRPKYgNnOCl+3N3B3R9TFBW3H9ayNOruhTQvZAmBtdVtOnz59i9HiAri+JFVFRxhjv+1I2nIHwmLqYZTL+JoBGFGI5riPvei8orB0jffHq9V/nlR/2iLV3dUQKtNrz1K1ls/TE9UKWGU3aLcjGi6PlUbOJxWHFUHfmxUEI051XC8M4DrBOjauV035PU9XmSJ/M1jEElByBxM+Z2diccsAhG0GDx4c/vTp0yfZOcTPnj17PGnSpEjE2LmeLVJTU2fytT/++OPR2rVrxwIc5dAWBcVQbSb5BdfXfkdBIVnxbAcDHSggRPP34qhL7QEDBrz3+PHju1xXUsY0KGEVWOKCot2scl0GYYDkqcx5GzZsuAoWVwL3pTAaNfCqmJiY/dOmTdtepUqVkRjGCgsrymX9jBSCoxiIA1cUw1l+vJgltuzdTI0a5quWaBD17ahS+3dWyQFd1PoAH7V2YFeV9Mte9RtfG9lbxVKZYUsi1PKbX6sf1sxU8zDEVhVDfgHhTDkYnKLCAFpF0BJf/dzf96t/QIGbAqzOqCdb4noknbZ+rjbr/Fti1Rb4BA0wnBcXzzZyZiNVYOvTysvLa/QTOnIS1RkzZswcKtufhQGt02/dunUOxqUOlLm0GKpL4rlaSor3K442KQUr6WrCsx0NQC8oRuNSUMYy4t6l0CZcl3a7du3aIN/Bx8cnCLSokhjlTWlXHjyo6cyZM1PlTRYvXnxWcFMJXEsYjfNLsGdkZPzm7u4+AR1WWHQM/6/JjpzRiYP19YCV1p1YHABi5ehHMlGDgv4vImFQstMXTTLtYqq6xtdG+CkeIUJJRpAMIunJIEAjVUCjlxDOV0HhlDmjgSvAWncK7afmScv+ebj6ktOhnOVxvyp6AufXfS+UiOXgCnUcINLWuhyeXUTwOQfh7GmOXVkrzqFDh743gvO77777nQzFtfnz51/ZvXv3P8Xdjx07dpHKch9EyHTqmwy0ZRu8n6YTtdA+daGEdZFWHe9WFXnrgXc3wm8dXC8HQBaDOKNdKkAJ6+J59fFfP/dNKFP/DRs27JJ1DQkJ+ZzxBT5fDm2W18z62kMTOh0+fPiatLrly5efi8Z3FhaKh/NuNCQdN/Dih+XKlfuCrnVFHkcxdORHx7XcsmXLd7Icz8RhKtlJOEBFAI5GAOAYAd5Z3DEkYSRs5UcBsKMgnBZM8gFGjHehHPXQcFVQP1eA1RXnVdBpDdDB/Yf0VMv5mZmH1XP+ZQtP6e8DrDVQhvN3mT/2Bb3ReS9sVDcofTjA7mHo7BIiMqCpRzncsyksdsiNGzfuybaaM2fObUrn9tpFso1kO1naMzIP9eF1Sud+WCTTf/jhBx7lPibpizq9O3r06BHdu3dn49SN/Y8uXboMjYyMjECaN/qlPeevXbt2/wkTJkSNHz9+6sSJE6d07dr1A1xvjHatiBGpGoDavH79+j2nTJkykekMCyxqJ1CbzlDu8BUrVqTLugYEBKxD27VHm5REW9mbOWqs7YPkDQhk12F1KyNPHoCqyZAhQ5YbeHEm8eI4QS+KoHNc8ELa4lRh6yvL8lQyGspZEPoCsEK1AL4PBHiZuzG37Q1g98RzuSEGX9umLl3dqi6nr1aH331bjYFT6H1vtzpJVOJAYrTFKjUBmGvDAniwk8V5yNFLpvP3GDxMS/iZqTHq1t1v1GP+/8lQtRwK2hSWgYH+/i+wultj1XX+/SFFMVj4+X1C+6pgvvf5FLUWHasjNU5oG1aeeuMDVeC5ZPXt9e2KrecUo1Ul0Nyi9H0kTEk2QFK++OKLi3rka9u27ba4uLhT1mjF7du3f2Jg7N279xudRqBMSEtLO2Ri/UIqVqw4jhTie7N7Xbt27RJhYSzA2Bwc35OBfvz48QNWYv0Z/v7+bIBC33777bnEdZ+Z5SO29DQiIiISylFeWN+XwMuJHrxmwVD5HdCSUoKjcWN7Hjly5KoB6GxlhsG6FMMQyB3Uvm7dur0BwqLoMJ+ff/75kVwLIcCrCb/kvdwofQV4QxgQJB0x7LSBBejC6XKY3xRjsU4DjenEoT/Eu/FzO++Gg8fCXBlKGx7zsdrPafR7Lay/Osv/iaKwUg+G5eBO8x3ZR8XytZ+/VY/oPJn/39+jHtD/8axo4YFqmr7/jkUW2uMhvGp3KJDn5c0qXbxnjNl0/DfffHM/Ojr6LLXrJsqTSLKahEOYrBjsJGY7jc90S57L/tDH8uXLvyfOvd4auCTIevfuPR2+S0CbNm0mZOdg8j3p3mup3Las8q2hg+7ZGlgqjpH/Jb5rAWTfvn1TDaQ5DtalqAAVA8ybAWcSt+0HE18WYPWdPXt2CvG2Y2JCgs1/B+OiHhPwaurgho7uJTo1FEO3D0DbCuIFCxw8O+wFgDZ8qr4BleCw1fBdi9VeTv9tv/oFvHhonw7UkZT29Kh60ruDmg6rzkNWRPwU9T3Ay4DdTdY3E+BfAgBzPYZf2vSCc48frA7R+TpR14mgMcNH9VHzOe3BQXUfitZU8MG27Jjy9SdH1dNypVUMpS0MDw8/klXn3r17N5PXjgwdOnQv5Wc+vpLF19f3W+K+L810Mg08ceLEPZ4JpTyLs7rvo0eP/qhVq9aeS5cuPZTp5PQ9Jyucyb8y/dy5czwicNtFG6kO5X1Gxu4R0ZYnxsmqUqVK7SJl/IfxfkxB2UBWqlTpI1CHqsBpfiN4LYAkLdhqANRwkHZHEX8tExwcHGpFm9nK9AJ/GkpcZ6fgWu2FV+vNDZgFePWzCoMHNpZeP1mnK0wN2ELe3qXOkLU7xUMy7sHgHTm4u1rFedfMVNypH4EDM4gnEhe1DOuJ09UBOp9B97nL53GTLVZ6NMDLYJ+wYor6jq9FjVAXmGdGh6gzfL47TrEjO4mt8wc91ApOozo8BHhWCfBGCD4+lhy6Xzn9owEW3t4FSsejhy+PEnxtzzJ1hs4/ZctLsiwxMTHDligDWc9MomSpXAZA3iyvp6en/waawbQn3lj+/Pnzj4lrniOjdYKu7xk1atRlQ2TomZOTE1M8ph03k5KSXrLWrVu33kUU4qBMO3v2LJfhUZkxcHP16tUvlSHacJrSj82aNeu+TO/Wrdt3lB6LfmiTleW1Bbw6YlCLONV4s8a7fPny79u3b88g/nRw+vTppw2TEZ5iFs57xIgRu3II3l7ZxXhxDw5lhQQCvEkzLPyQKUIQGiK8UW21+PER9Yyvpy1Qly38NNnSuJPxzv0wBH6Ynqgy+HqPdhagby7trLZoh6xBDZVAaZ+TNb/A58sjFY8wbJEXE2e9z2lvuKhpAC5TnbEzQ9VGTj+9wQLQQeDWrPBBGtidW6p4Op9KEgUQx/fo0eMQ04XsAMyRnPbt26dwGZL1higEh/o47LmAJM5YFqBlLr2RncHk5OS78vrmzZufR0VFPWGZOnXqk4SEhKfyOjlkNzZs2HDfUOYZ5X3M+Vm+/PLLpyYO6AkC70vWumfPnvvZsMCPaYoR+J84r1Xa4OHhEYuCxcRkgx87ZmZrHqwd48aNW4uhX8/RdyAivs8G8BYCBWkkLS/9j4Q11U6bDyy7J8Irwwf3UCuF5R2l4574P2POGHVU34/B2LCmZTIjHKDtBiUI5ogB5+n1rtoJbpm0eOIL7rv1c3WtbhW1Rd/DtaQFMBz2m8fOGqcHvWexgiOhOKPdXNT0J0fUU77WvIFlmGXqEhwx5IWy/UijADtqJOPwjmy5OeLD9UvhYXbAgAFn4uPjf6LDlIsePHjwBqxvgkwnHnwPwGWFiDUZOdkqL0UoMsFIO7I7ZsyY8Ss9O0cxaQIvW/H0Tz/99I5M79Wr1y5Qru5wrMsgKmNvk8M2cuTINPDI8rDAvjzTxjNutlbu9OnTd8ELK+LhFodt3bp1P2ThsJmBt6ch2sBg8IfT1RoTEc1wPuSDnjQsUt61s9QeWNNeiEow4KM8PdQmfT/msRiixiCfFxTiA81l+3VSKTr85FJCJT06pJ6T/EFD/U1QjpMY5hmQM86nqB85fUhPC6BDYGXZoR2/ef4Lpwy0hYE65ViSushp00daLN8ETTWaNWs2kxc4YaIoHg7aWljHHdWrVz9u5JIAIoN3hUw7deoU98VnHBdnhTApswD14RFoHoM9J0D8+OOPf2NqkZMykydPvkrP2j937txbMt3f3387RswOwF4JEfHKPlTGAINlY1D4M3B5jYOtFeOlke7u7hGYKXECeDnOGZiRkfG7lVCZGXg5IN5NgDcIw20bALsO4oz1YX0H6fgswDsM+bshijDl6lb1C19/SADk35VR6qgBvMxHA/VQjg7/BMP5fLrveWm5yeouxzUG3ifMW/nauEGWKEAwrD5b9dAmddQXfI2pCysD0w9xPgWdFtKiRYso2Z59+vTZzJQEws9bzzy8Y8eOF02A+E+8FuCdBwX7zKTMVCgajwafkOF5yRrSkK8pQCZ+Lf+jo6MfBgUFsRN6hSzvU0OZ56JM5rRp0zj/A+a4zKlpJGGHOi0mJua6LMdRCPSHF6IyzmbgtTpJwR4nhugxrq6uy2y1uBwGWbNmzV6yCkMBXBfEbS2TFLycMotJCiN4XTEJ4CPA2xtOTj1YdL1MsBomVAJouF4qwDsCjhxTgSCmEnzt+Br1j5qV1F62onze09NiOd8XtCFIPPMjPcTzcEY0I15f+2qOhb9OR2NbuO3qGS9CbKAtwXj+e1CeieeS1S2+Hh6ojiyJeAH01HmWGTkdnQg2zjoxn61fv34SLORCOGXbiGteN+aD5V1mQhsWA8ALTcA7DgrGijaGOO9LsWIC3iM4axxZuEWO2E9jx479NTw8nO/LjteJuLi4+4YyPKrdRpmbVOZHzk+08UcGLRRwQ2xsbIbB8qahPp0RuSopfC/bpod59oa0Ywd5opnWwMr8t1+/filhYWFzQkJCRoF/yo2XeoEOW8dAXg+cxfSwnQl4LVO1AkjdkF+vFtNz7+5Qlr5Dfckh+V/wcARhAIufl5oFa/msThW1lWOys0LVMU67tUPdAfgGIgw2WjxT0xRfXP+IhvjNidHqYNN6lqF4JIDPMlIriADve6A0DOLRYf1VKl/fu0zdvoPJD3YkoQD87KE8cWDmkPEGgKVLl57kqXuz6WFymq+Cty42hr849IaIRKIJeEdj5OFJnaCBAwcmGfOQI/5b48aNf/Lz87vLkQSdHhkZeZnK7CSak25WpnLlyjepzB1ZhrB2AkoWv3DhwvPGrWODBw9eWbNmzYGYCHIFHhyyXJjDIRd9kwcPHvy3fKAZcDt06JCITqklZo2KiEXFhbWzxyDPYmGO2bJIF1hYbwGkjrDG5eAE6kUgOjLhN9xPLcJs11FwZLaaI27vVD9x+vyxlijEIkQHFmlLuG62+panUJvVVzPIKiZx2u1dFqsRAP7VGjN+vrCiQbjWA9d55m3wp2HqK1j3C6P6Wix6Tyh1Z0xbR/OEhn6nQ6ssceRIMaXNEY8xHGbMCYdkgMI68+Kcz+7du2c6WrZq1Wq3CXiHgy55QVF5Zu26Lc/FGhgOE65OSEi4aksZcjq/Rz1jrM0IkqJuxCSVO/o4b46WRNoAXLlU0sGwLE4D1+LsGaMU7CQalkQqAd6CmCLmKdx2ArztkFZGLK4uhHOeqeqqJwREmbCNn6k0/n8pVV0Dt5wEbz6SeaiOAnRppZbqYZ+Fp5phkVpAkd6E5W+NurTCeSP89wv2f8FrxfN7gKO3BzAj5n6oDuvroX0tjloYLHR7WGm2Op8QfThrS3/cuXPncfv27ZOxWIlj7pM2btx43Cxvy5Yt93F+fX7z5s07GJ084fwygAe5ubnNJh77Y3a+TaNGjZYitMfPXrB169ZrWZUhpXrYpEmTzxHhmUQOabzZrhu6z2a0sekkhU2L0c2A6+XltQ4aWh2W1sGwQt5ZL0Y3c/asLEaXi8IdQQe44m8f+VKtYgE1qCrWyOYTnLo6+PD7q6aq5OS5ageDlukATwIQr9zu722ZIBgq+B0P06ETBqsEGub3MB0Y1E0lcoyYZ+j6d7YAvROsvd6dUQHOZzWxa6MygM0dP2DlVJWS8pn6evsXKhUWWYPdYtW83nkxJY3JjSkAT1sMk01gyblukQ0aNEhYsmTJaZ4h41k1uYpv//79t4hiHECYbiIc1AGIrIyLior6+tChQze4T3mkGzZsGFOZhHbt2m2h9Ovp6emXaUifjb7wELtWvDESRJGzuIWfw7F8rSh8v8mTJ+/mDbqgTYNQX6Y+M8jp2sIgNpYhH+cAlZmB0VDXM5wNIQcJOA878VT2KO/EQZtkCd5stwFJKsGai0o2Ewu9C8O0l0JHsvMUyFuHbt++/dTGbUByR0F+0AI3TKN6QOoirZjYjqMXsLshOuENkASAh/bDaqo+GCk6wRK2BA14D40fgvf6EJZwCIb8ZmJNcHE828mwZ64UQNwI1KYPnu2H83aoF9dlPCnVCQZv7DiLUxkm1v7qXRD1Ubf3cT0SK+rmCJmNSMh4gMEfz2gL8PfGO0UgX7SYAIkUDqI/Ro2aYtuTfP4YKNhsPHcWyoehjTujPdviPQaiDbMq0wWWXrfVSNQzCr8jhEJVQJvne60NmGvWrHmAEEckXlqvKHoLvwyMQBoWFhidMxs3YCpBOwrC03wD4KmK/3qFfV6xraQA7ueul+QBMJ5il0crWO76WIdRFZZGfwXIB0D2FTz2HXSq3v5j3KGcXyxkL4nRqyEsrTc6pyM6mOnHcDcXNVPP8vF/dHZLWHO9SLw8/Agdv9bKOAiKHwjL1QdOrCcsdm28W13UXc889jUosb9Q5OZil4Xek2jt+QOFUuqy9TAKVcPo0wLva61MC7HvsB7q2QH16YN8nZFeQ1BEh9fe+s7Wd9OmTTd5Kphn5tgzDQoKWsa/c+fOPbxv376fXmPru3E/WSGAsjTE2bArVy7mkRshK4NG1IBUB1h1eK0UOkkvQK8uFly/BStYB2B0Mdl4adzbpeuqlzjWBpjadG+rAu/vUdenBatFHMb7MU39LNYxhGEmqQHi2kXFAvnSOdiAWRWAKy12PbiLGHgjOLSN8V+/Y23xjsXENh+z5zcRG18bIr2iWORfAv8r2lCmrNgVbqxnQyttb/93+uiIvdhpIPdO5TX5foJxC7qTYVdzCbG1pbDYU6WBUkI0ptlWl+x23UoFchKWq/mCCS9WrklhAL/hahkiB8BKVzVsbM33Clvfi4hvWBRC2RJi0X1Zw/uVMXnHvIKKGZ9fVnxuwEXsoCgk9r4VsqFMcbEH0KyeLugLY9vbvA3+3/25JzvDxzekmH2Uwvjxj/xWNhbmEx1kb9jDVkA0aEHxDQRbvndgBLDeC8cWx4ccv8iv5qidHPudGWpx4sLh4HTEUOtq2GWc04+O5M/Be0kpYPKthOyeb/zYiYNhZ7AtZfKa7CEskEW9cvStif+UD+3l5NNFdla+wmKfxRdZrH1S6VW+NGPcvu6K4a8N+O4QTFoMA//sgOG7AqxRfisjyqt+7slaG2TXJsqG59v6XFvK2NJXr/Rlk7/rJ07tXhH4r/uNLxnqc9JbfOCQdRA7MHTcuAJGI7013i6Hdcuujn/FRwn/6ue+rpF6pQ7J/bi07dZXR0D05soqcI7qiA2LLmJLvIP6z/uW2P+7jsn9rL/tAJYOpLP4LoLx80u5wLXx+B+cTUKEm3GYQAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMi0wNS0wMlQxOTo0Njo1MSswMTowMBx1tHgAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTItMDUtMDJUMTk6NDY6NTErMDE6MDBtKAzEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==') -5px 8px no-repeat;
+ text-indent: 0;
+ background: none;
+
+ // Vertically centre the 35px SVG in the 60px mobile header.
+ svg {
+ margin-top: ((60px - 35px) / 2);
+ }
}
-.ie7 #site-logo {
- background: url($image-sprite) -8px 0px no-repeat;
+
+// Hide SVG logo (on homepage, see header_logo.html) by default.
+.site-logo__svg {
+ display: none;
+ visibility: hidden;
+}
+
+// Then show it again for browsers that support inline SVGs.
+// (https://codepen.io/tigt/post/inline-svg-fallback-without-javascript-take-2)
+svg|g.site-logo__svg {
+ display: inline;
+ visibility: visible;
+}
+
+// Fall back to SVG/PNG background-image on non-homepage pages,
+// and on the homepage when a browser doesn't support inline SVGs.
+.site-logo__fallback {
+ display: block;
+ width: 175px;
+ height: 0;
+ padding-top: 60px;
+ overflow: hidden;
+ background-position: 0 50%;
+ background-repeat: no-repeat;
+ background-size: 175px 35px;
+ @include svg-background-image("/cobrands/fixmystreet/images/site-logo");
}
.next-steps {
@@ -220,12 +254,9 @@ $grid-breakpoint-sm: $mysoc-footer-breakpoint-sm;
.mysoc-footer__org__logo--fms-platform {
width: 205px;
- background: transparent url('#{$mysoc-footer-image-path}logo-fms-platform.png') 0 0 no-repeat;
+ background-repeat: no-repeat;
background-size: 205px 32px;
- @media ($high-dpi-screen) {
- background-image: url('#{$mysoc-footer-image-path}logo-fms-platform@2x.png');
- }
- background-image: url('#{$mysoc-footer-image-path}logo-fms-platform.svg'), none;
+ @include svg-background-image('#{$mysoc-footer-image-path}logo-fms-platform');
}
.fms-app-badges {
diff --git a/web/cobrands/fixmystreet.com/fmsforcouncils.scss b/web/cobrands/fixmystreet.com/fmsforcouncils.scss
index ee166b8fd..ce4828416 100644
--- a/web/cobrands/fixmystreet.com/fmsforcouncils.scss
+++ b/web/cobrands/fixmystreet.com/fmsforcouncils.scss
@@ -60,16 +60,6 @@ $fms-pink: #E65376;
overflow: hidden;
}
- .councils-content-wrapper {
- max-width: 66em;
- margin: 0 auto;
- padding: 0 1.5em;
- @media (min-width: 60em) {
- padding: 0 3em;
- }
-
- }
-
.councils-logo {
background-image: url('images/fms-for-councils/fms-fc-logo.svg');
background-size: 260px 68px;
@@ -86,68 +76,12 @@ $fms-pink: #E65376;
padding-bottom: 2em;
}
- .councils-hero__presentation {
- background-color: #FED876;
- padding-top: 1em;
- padding-bottom: 3em;
- margin-bottom: 175px;
- }
-
- .councils-hero__title {
- text-align: center;
- font-weight: 500;
- margin-left: auto;
- margin-right: auto;
- font-size: 1.35em;
- margin-bottom: -150px;
- max-width: 23em;
- @media (min-width: 44em) {
- font-size: 2.5em
- }
- }
-
- .councils-hero__product {
- position: relative;
- bottom: -170px;
- max-width: 800px;
- margin: 0 auto;
- text-align: center;
- display: block;
- width: 100%;
- @media (min-width: 44em) {
- bottom: -200px;
- }
- }
-
- .councils-hero__subtitle {
- max-width: 40em;
- margin-left: auto;
- margin-right: auto;
- font-size: 1.125em;
- line-height: 1.5em;
- text-align: center;
- padding: 0 1em;
- @media (min-width: 44em) {
- font-size: 1.3125em;
- line-height: 1.5em;
- }
- }
-
- .councils-hero__subtitle__primary {
- font-size: 1.35em;
- line-height: 1.35em;
- }
-
- .councils-hero__subtitle__secondary {
- color: #777;
- }
-
.councils-hero__demo-access {
background-color: $fms-pink;
border-radius: 3px;
color: #fff;
padding: 2em;
- margin: 4em auto -4em auto;
+ margin: 4em auto 4em auto;
max-width: 26em;
position: relative;
z-index: 1;
@@ -205,580 +139,6 @@ $fms-pink: #E65376;
}
}
- .councils-sales {
- padding: 2em 0 5em;
- .councils-content-wrapper {
- max-width: 58em;
- }
- }
-
- .councils-sales__grid {
- .flex & {
- @include flex-container();
- @include flex-wrap(wrap);
- @include justify-content(space-between);
- }
- .no-js &,
- .no-flex & {
- @include clearfix();
- }
-
- }
-
- .councils-features__feature {
- width: 100%;
- .no-js &,
- .no-flex & {
- float: left;
- }
- @media (min-width: 44em) {
- width: 47%;
- .no-js &,
- .no-flex & {
- margin-right: 3%;
- }
- }
- h3 {
- font-weight: normal;
- margin-bottom: 0.25em;
- }
- p {
- color: #777;
- font-size: 0.875em;
- }
- }
-
- .councils-sales--benefits {
- background-color: #F7F6F5;
- border-bottom: 1px solid #e9e9e9;
- padding-top: 5em;
-
- h2 {
- font-size: 2.5em;
- text-align: center;
- color: $fms-pink;
- }
- p {
- color: #666;
- }
- }
-
- .councils-sales--features {
- border-top: 1px solid #e9e9e9;
- padding-top: 2em;
- h2 {
- font-size: 2.5em;
- text-align: center;
- color: $fms-pink;
- }
-}
-
- .councils-features__thumb {
- height: 63px;
- width: 63px;
- background-size: cover;
- background-color: transparent;
- background-repeat: no-repeat;
- float: left;
- margin-top: 18px;
- }
-
- .councils-features__thumb--authority {
- background-image: url('images/fms-for-councils/authority.svg');
- }
-
- .councils-features__thumb--automated-instruction {
- background-image: url('images/fms-for-councils/automated-instruction.svg');
- }
-
- .councils-features__thumb--brand {
- background-image: url('images/fms-for-councils/brand.svg');
- }
-
- .councils-features__thumb--customise {
- background-image: url('images/fms-for-councils/customise.svg');
- }
-
- .councils-features__thumb--dashboard {
- background-image: url('images/fms-for-councils/dashboard.svg');
- }
-
- .councils-features__thumb--end-to-end {
- background-image: url('images/fms-for-councils/end-to-end.svg');
- }
-
- .councils-features__thumb--inspection {
- background-image: url('images/fms-for-councils/inspection.svg');
- }
-
- .councils-features__thumb--integrated {
- background-image: url('images/fms-for-councils/integrated.svg');
- }
-
- .councils-features__thumb--intelligent-routing {
- background-image: url('images/fms-for-councils/intelligent-routing.svg');
- }
-
- .councils-features__thumb--open-standards {
- background-image: url('images/fms-for-councils/open-standards.svg');
- }
-
- .councils-features__thumb--map-centric {
- background-image: url('images/fms-for-councils/map-centric.svg');
- }
-
- .councils-features__thumb--mobile-app {
- background-image: url('images/fms-for-councils/mobile-app.svg');
- }
-
- .councils-features__thumb--responsive-web {
- background-image: url('images/fms-for-councils/responsive-web.svg');
- }
-
- .councils-features__thumb--syncronised {
- background-image: url('images/fms-for-councils/syncronised.svg');
- }
-
- .order-now-button {
- background-color: $fms-pink;
- color: #fff;
- border: 0;
- text-transform: none;
- padding: 0.6em 1.5em;
- text-align: center;
- display: block;
- margin: 2em auto 0;
- border-radius: 3px;
- max-width: 5em;
- &:hover,
- &:active,
- &:focus {
- background-color: desaturate(darken($fms-pink, 10%), 10%);
- text-decoration: none;
- }
- }
-
- .councils-clients {
- background-color: #FED876;
- padding: 1em 0 2.5em;
- h2 {
- font-size: 2.5em;
- text-align: center;
- color: #333;
- }
- }
-
- .councils-clients__grid {
- .flex & {
- @include flex-container();
- @include justify-content(space-around);
- @include flex-align(center);
- @include flex-wrap(wrap);
- }
- .no-js &,
- .no-flex & {
- @include clearfix();
- }
- margin: 0 2%;
- @media (min-width: 44em) {
- flex-wrap: nowrap;
- }
- }
-
- .councils-clients__client {
- text-align: left;
- .no-js &,
- .no-flex & {
- float: left;
- width: 50%;
- @media (min-width: 44em) {
- width: 20%;
- }
- }
- }
-
-
- .screenshot-of-themes {
- background-color: #FED876;
- }
-
- .councils-compatibility {
- background-color: $fms-pink;
- padding: 0.5em 0 2.5em;
- a {
- color: #fff;
- opacity: 0.8;
- }
- h2, h3 {
- color: #fff;
- }
- h2 {
- margin-top: 1em;
- margin-bottom: 0.25em;
- }
- h3 {
- font-size: 0.875em;
- }
- ul {
- list-style: none outside none;
- padding: 0;
- margin: 0;
- li {
- list-style: none outside none;
- font-size: 0.875em;
- }
- }
- }
-
- .councils-compatibility__grid {
- .flex & {
- @include flex-container();
- @include flex-wrap(wrap);
- @include justify-content(flex-start);
- }
-
- .no-js &,
- .no-flex & {
- @include clearfix();
- }
-
- @media (min-width: 44em) {
- flex-wrap: nowrap;
- }
- }
-
- .councils-compatibility__item {
- width: 100%;
- .no-js &,
- .no-flex & {
- float: left;
- }
- @media (min-width: 44em) {
- width: 25%;
- .no-js &,
- .no-flex & {
- margin-right: 3%;
- }
- }
- }
-
- .split-list {
- @include flex-container();
- @include justify-content(flex-start);
- @include flex-align(flex-start);
- @include flex-direction(row);
- @include flex-wrap(wrap);
-
- li {
- width: 50%;
- -webkit-flex-grow: 1;
- -ms-flex-grow: 1;
- flex-grow: 1;
- }
- }
-
- .councils-compatibility__item--wide {
- width: 100%;
- .no-js &,
- .no-flex & {
- float: left;
- }
- @media (min-width: 44em) {
- width: 50%;
- .no-js &,
- .no-flex & {
- margin-right: 3%;
- }
- }
- }
-
- .councils-pricing {
- padding: 2em 0;
- margin-bottom: 3em;
- h2 {
- font-size: 2.5em;
- text-align: center;
- color: #FEC32B;
- }
- }
-
- .pricing-table {
- th, td {
- text-align: left;
- font-weight: normal;
- vertical-align: middle;
- border: 1px solid #e9e9e9;
- }
-
- th {
- background-color: #F7F6F5;
-
- &.blank {
- background-color: transparent;
- border: none;
- }
- }
-
- th[scope="row"] {
- @media (min-width: 44em) {
- width: 30%;
- }
- }
-
- td {
- width: 15%;
- line-height: 1.5em;
- }
-
- span {
- display: inline-block;
- padding: 0.666em 1em;
- box-sizing: border-box;
- }
- }
-
- .pricing-table__tier-name {
- font-weight: 500;
- font-size: 1.25em;
- }
-
- .pricing-table__feature-name {
- text-align: left;
- font-size: 0.875em;
- }
-
- .pricing-table__feature-value {
- font-size: 0.875em;
- line-height: 1.4em;
- width: 100%;
- }
-
- .pricing-table__show-more {
- td {
- border: none;
- padding: 2em 1em;
- text-align: center;
- }
-
- .button {
- display: inline-block;
- padding: 0.6em 1.5em;
- text-align: center;
-
- border-radius: 3px;
- border: none;
- background-color: #F7F6F5;
- color: #333;
- font-size: 0.875em;
- line-height: 1.5em;
- font-weight: normal;
-
- &:hover,
- &:active,
- &:focus {
- text-decoration: none;
- background-color: #FED876;
- }
- }
- }
-
- .pricing-table__prices {
- td {
- background-color: $fms-pink;
- color: #fff;
- border-color: darken($fms-pink, 10%);
- }
- }
-
- .pricing-table__price {
- font-weight: 500;
- font-size: 1.25em;
- }
-
- .boolean-icon {
- margin: 0 auto;
- display: inline-block;
- font-style: normal;
- width: 24px;
- height: 24px;
- background-image: url('images/fms-for-councils/boolean-no.svg');
- background-repeat: no-repeat;
- background-position: center;
- text-indent: 100%;
- white-space: nowrap;
- overflow: hidden;
- }
-
- .boolean-icon--no {
- background-image: url('images/fms-for-councils/boolean-no.svg');
- }
-
- .boolean-icon--yes {
- background-image: url('images/fms-for-councils/boolean-yes.svg');
- }
-
- // Verticalise the table on narrow screens
- @media (max-width: 54em) {
- .pricing-table {
- &,
- tr,
- th,
- th[scope="row"],
- td,
- tbody,
- span {
- display: block;
- width: auto;
- }
-
- thead {
- display: none;
- }
-
- th,
- td {
- @include clearfix();
- border: none;
- }
-
- tr {
- border: 1px solid #e9e9e9;
- }
-
- .pricing-table__show-more tr {
- border: none;
- }
-
- tr + tr {
- border-top: none;
- }
-
- td[data-tier-name] {
- &:before {
- content: attr(data-tier-name);
- display: block;
- font-size: 0.875em;
- line-height: 1.4em;
- color: darken(#FEC32B, 15%);
- float: left;
- padding: 0.666em 1em;
- width: 5em;
- }
- }
-
- // Collapse padding between "rows" of a feature
- td + td .pricing-table__feature-value,
- td + td[data-tier-name]:before {
- padding-top: 0;
- }
-
- .boolean-icon {
- margin: -0.33em 0;
- }
- }
- }
-
- .council-case-studies {
- margin-bottom: 3em;
- border-top: 1px solid #e9e9e9;
- background-color: #60B6C7;
- padding: 2em 0;
- h2 {
- text-align: center;
- color: #fff;
- margin-bottom: 1.5em;
- }
- }
-
- .council-case-studies__grid {
- .flex & {
- @include flex-container();
- @include justify-content(space-around);
- @include flex-wrap(wrap);
- @include flex-align(center);
- }
- .no-js &,
- .no-flex & {
- @include clearfix();
- }
- @media (min-width: 44em) {
- @include flex-wrap(nowrap);
- @include justify-content(space-between);
- }
- margin: 0 3.3334%;
- }
-
- .council-case-studies__grid-item {
- width: 100%;
- max-width: 380px;
- .no-js &,
- .no-flex & {
- float: left;
- margin: 0 auto;
- }
- @media (min-width: 44em) {
- width: 31%;
- .no-js &,
- .no-flex & {
- margin-right: 2%;
- max-width: none;
- }
- }
- }
-
- .council-case-studies__case-study {
- background-repeat: no-repeat;
- background-size: cover;
- background-position: center;
- a {
- display: block;
- color: #fff;
- font-size: 1.25em;
- display: block;
- background-color: rgba(0,0,0,0.3);
- padding: 5em 2em;
- text-align: center;
- margin-bottom: 1em;
- @media (min-width: 30em) {
- margin-bottom: 4em;
- padding: 3em 2em;
- }
- @media (min-width: 48em) {
- padding: 5em 2em;
- }
- &:hover,
- &:active,
- &:focus {
- text-decoration: none;
- background-color: rgba(0,0,0,0.1);
- text-shadow: 0 2px 1px rgba(0,0,0,0.8);
- }
- }
- }
-
- .council-case-studies__case-study--bristol {
- background-image: url('images/fms-for-councils/bristol.jpg');
- }
-
- .council-case-studies__case-study--zurich {
- background-image: url('images/fms-for-councils/zurich.jpg');
- }
-
- .council-case-studies__case-study--barnet {
- background-image: url('images/fms-for-councils/barnet.jpg');
- }
-
- .radio-as-buttons {
- label {
- margin-right: 0.5em;
- margin-top: 0;
- font-size: 0.875em;
- }
- input {
- margin-right: 1em;
- }
- }
-
.checkbox-label {
margin-left: 25px;
}
@@ -794,60 +154,6 @@ $fms-pink: #E65376;
color: #777;
}
- .council-order {
- position: relative;
- background-color: #F7F6F5;
- border: 1px solid #e9e9e9;
- border-left: 0;
- border-right: 0;
- padding: 4em 0;
- h2 {
- color: $fms-pink;
- font-size: 2.5em;
- }
- }
-
- .council-order__form {
- max-width: 48em;
- padding-bottom: 3em;
- position: relative;
- z-index: 1;
- label {
- font-weight: normal;
- }
- textarea {
- height: 10em;
- }
- textarea,
- input[type="text"],
- input[type="tel"],
- input[type="email"] {
- border: 1px solid #ccc;
- width: 100%;
- padding: 0.5em;
- border-radius: 3px;
- font-size: 1em;
- box-sizing: border-box;
- @media (min-width: 44em) {
- max-width: 27em;
- }
- }
- input[type="submit"] {
- background-image: none;
- background-color: $fms-pink;
- color: #fff;
- border: 0;
- text-transform: none;
- padding: 0.6em 1.5em;
- font-family: 'Rubik', sans-serif;
- &:hover,
- &:active,
- &:focus {
- background-color: desaturate(darken($fms-pink, 10%), 10%);
- }
- }
- }
-
.form-group {
position: relative;
@media (min-width: 44em) {
@@ -874,28 +180,6 @@ $fms-pink: #E65376;
}
}
- .council-order__screenshot {
- display: none;
- @media (min-width: 44em) {
- display: block;
- background-image: url('images/fms-for-councils/window-mockup.jpg');
- background-repeat: no-repeat;
- background-position: top left;
- background-size: cover;
- height: 750px;
- position: absolute;
- z-index: 0;
- right: 0;
- width: 500px;
- bottom: 50px;
- }
- @media (min-width: 82em) {
- width: 748px;
- right: 46px;
- }
-
- }
-
.credits {
color: #777;
border-top: 1px solid #e9e9e9;
diff --git a/web/cobrands/fixmystreet.com/front.js b/web/cobrands/fixmystreet.com/front.js
new file mode 100644
index 000000000..f544fb657
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/front.js
@@ -0,0 +1,38 @@
+(function(){
+ if (!document.querySelector) { return; }
+ if ( -1 !== navigator.userAgent.indexOf('Google Page Speed')) { return; }
+ if (document.cookie.indexOf('has_seen_country_message') !== -1) { return; }
+
+ /* Front page banner for other countries */
+ var request = new XMLHttpRequest();
+ request.open('GET', 'https://gaze.mysociety.org/gaze-rest?f=get_country_from_ip', true);
+ request.onreadystatechange = function() {
+ if (this.readyState === 4) {
+ if (this.status >= 200 && this.status < 400) {
+ var data = this.responseText;
+ if ( data && data != 'GB\n' ) {
+ var banner = document.createElement('div');
+ banner.className = 'top_banner top_banner--country';
+ var close = document.createElement('a');
+ close.className = 'top_banner__close';
+ close.innerHTML = 'Close';
+ close.href = '#';
+ close.onclick = function(e) {
+ document.querySelector('.top_banner--country').style.display = 'none';
+ var t = new Date(); t.setFullYear(t.getFullYear() + 1);
+ document.cookie = 'has_seen_country_message=1; path=/; expires=' + t.toUTCString();
+ };
+ var p = document.createElement('p');
+ p.innerHTML = 'This site is for reporting <strong>problems in the UK</strong>. There are FixMyStreet sites <a href="http://fixmystreet.org/sites/">all over the world</a>, or you could set up your own using the <a href="http://fixmystreet.org/">FixMyStreet Platform</a>.';
+ banner.appendChild(close);
+ banner.appendChild(p);
+ document.body.insertBefore(banner, document.body.firstChild);
+ document.querySelector('.top_banner--country').style.display = 'block';
+ }
+ }
+ }
+ };
+ request.send();
+ request = null;
+
+})();
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/all-yellow.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/all-yellow.jpg
deleted file mode 100644
index e56ab32d2..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/all-yellow.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png
deleted file mode 100644
index 74b5c7345..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg
deleted file mode 100644
index 7d32cfb71..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>authority</title><g fill="#E65376" fill-rule="evenodd"><path d="M54.214 57.693h-4.29v-4.26h-3.06v4.26h-4.29v-25.74l11.64 2.62v23.12zm-36.892-37.67l21.928-3.41v41.08h-8.382v-8.32h-5.163v8.32h-8.383v-37.67zm39.487 9.6l-13.27-3.25c-.327-.08-.653-.09-.966-.05v-10.6c.713-.58 1.116-1.5.965-2.47-.227-1.45-1.59-2.45-3.038-2.22l-25.25 3.93c-1.453.22-2.445 1.58-2.22 3.03.107.69.466 1.26.966 1.66v39.7c0 .92.743 1.66 1.662 1.66h40.217c.917 0 1.66-.74 1.66-1.66v-24.87c.588-.35 1.045-.92 1.22-1.64.35-1.43-.522-2.87-1.948-3.22z"/><path d="M25.705 26.403h5.163v-5.03h-5.163M25.705 35.503h5.163v-5.03h-5.163M25.705 44.603h5.163v-5.03h-5.163M46.864 39.433h3.06v-2.98h-3.06M46.864 44.823h3.06v-2.98h-3.06M46.864 50.213h3.06v-2.98h-3.06"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg
deleted file mode 100644
index 3cc613005..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>automated-instruction</title><g fill="#E65376" fill-rule="evenodd"><path d="M47.666 27.09c-1.9 0-3.44-1.54-3.44-3.44s1.54-3.44 3.44-3.44 3.44 1.54 3.44 3.44-1.54 3.44-3.44 3.44zm10.816-5.19l-2.878-.76c-.152-.48-.348-.94-.58-1.38l1.504-2.58c.477-.88.683-1.79 0-2.47-.683-.69-1.646-.47-2.475 0l-2.62 1.52c-.422-.21-.863-.4-1.323-.54l-.775-2.94c-.29-.96-.785-1.75-1.75-1.75-.968 0-1.493.84-1.752 1.75l-.79 3c-.43.15-.84.32-1.234.53l-2.695-1.57c-.885-.48-1.792-.69-2.474 0-.684.68-.464 1.64 0 2.47l1.594 2.73c-.19.38-.358.77-.49 1.18l-3.058.81c-.963.29-1.75.78-1.75 1.75s.834 1.49 1.75 1.75l3.058.81c.132.4.298.8.49 1.18l-1.593 2.73c-.477.88-.684 1.79 0 2.47.683.69 1.645.47 2.475 0l2.694-1.57c.392.21.804.38 1.232.53l.79 3c.29.96.785 1.75 1.752 1.75.966 0 1.492-.84 1.75-1.75l.776-2.94c.46-.14.9-.33 1.323-.54l2.62 1.52c.886.48 1.792.69 2.475 0 .684-.68.464-1.64 0-2.47l-1.503-2.58c.232-.44.428-.9.58-1.38l2.877-.76c.963-.29 1.752-.78 1.752-1.75s-.836-1.49-1.752-1.75z"/><path d="M27.5 48.78c-2.76 0-4.998-2.24-4.998-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm14.752-6.75l-2.922-.77c-.087-.41-.197-.82-.326-1.21l2.146-2.13c.692-.73 1.127-1.56.642-2.39-.484-.84-1.47-.88-2.392-.64l-2.927.79c-.278-.3-.57-.6-.877-.87l.798-2.93c.23-.98.195-1.91-.643-2.39-.836-.49-1.707-.03-2.39.64l-2.128 2.14c-.395-.12-.798-.23-1.21-.32l-.77-2.92c-.29-.97-.784-1.75-1.75-1.75-.967 0-1.492.83-1.75 1.75l-.77 2.92c-.412.09-.815.2-1.21.32l-2.13-2.14c-.733-.69-1.553-1.13-2.39-.64-.84.48-.876 1.47-.642 2.39l.8 2.93c-.31.27-.602.56-.88.87l-2.927-.79c-.98-.24-1.908-.2-2.39.64-.485.83-.024 1.71.64 2.39l2.144 2.13c-.128.39-.238.8-.325 1.21l-2.92.77c-.964.29-1.752.78-1.752 1.75 0 .96.835 1.49 1.75 1.75l2.922.77c.087.41.197.81.325 1.21l-2.145 2.13c-.69.73-1.124 1.55-.64 2.39.483.84 1.468.87 2.39.64l2.928-.8c.278.31.57.6.878.88l-.798 2.93c-.23.98-.197 1.91.64 2.39.84.48 1.71.02 2.392-.64l2.13-2.15c.394.13.798.24 1.21.33l.77 2.92c.288.96.783 1.75 1.75 1.75.966 0 1.49-.84 1.75-1.75l.77-2.92c.412-.09.816-.2 1.21-.33l2.13 2.15c.73.69 1.553 1.12 2.39.64.838-.48.874-1.47.642-2.39l-.798-2.93c.307-.28.6-.57.877-.88l2.927.8c.98.23 1.908.2 2.392-.64.485-.84.023-1.71-.642-2.39l-2.146-2.13c.13-.4.24-.8.326-1.21l2.922-.77c.963-.29 1.75-.79 1.75-1.75 0-.97-.834-1.49-1.75-1.75z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png
deleted file mode 100644
index 1a2fc0f56..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet.jpg
deleted file mode 100644
index f25f0418d..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg
deleted file mode 100644
index 3e5743da8..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Artboard</title><path d="M5 10h14v4H5z" fill="#EFECEA" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg
deleted file mode 100644
index fa532daeb..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Artboard Copy</title><g fill="#FED876" fill-rule="evenodd"><path d="M7 16.763L18.764 5l2.828 2.828L9.83 19.592z"/><path d="M6.828 11l5.02 5.02-2.827 2.83L4 13.828z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg
deleted file mode 100644
index 92edb9b78..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>brand</title><g fill="#E65376" fill-rule="evenodd"><path d="M27.308 28.975c-.42-.42-1.097-.45-1.554-.07l-1.388 1.18c-9.047 7.56-12.396 8.32-12.4 8.32-.427.07-.78.37-.91.78-.133.41-.025.86.28 1.17l2.065 2.07c.358.35.903.43 1.346.2l3.55-1.85-2.267 2.83c-.37.45-.332 1.11.082 1.53l1.722 1.72c.347.34.874.43 1.315.22l2.786-1.35-1.36 2.77c-.218.44-.13.97.217 1.32l.888.88c.393.4 1.01.45 1.467.14l3.127-2.18-1.998 3.43c-.262.45-.187 1.02.182 1.39l.82.82c.42.42 1.09.45 1.545.08l4.002-3.31-2.515 5.17c-.213.44-.125.97.222 1.32l2.21 2.2c.298.3.737.4 1.144.28.403-.12.71-.47.797-.88.004-.02.488-2.18 4.54-7.64l5.1-6.04c.385-.45.358-1.13-.066-1.55l-14.95-14.95M51.68 17.025c.7-.7 1.83-.7 2.528 0 .696.7.696 1.83 0 2.53-.7.69-1.83.69-2.528 0-.7-.7-.7-1.83 0-2.53zm-5.478 13.9l11.9-7.48c2.844-2.84 2.844-7.47 0-10.32-2.844-2.84-7.473-2.84-10.353.04l-7.41 11.81s-1.575 2.13-2.882 1.82l-1.817-1.82c-2.115-2.11-4.145-1.33-4.965-.59l-1.236 1.23c-.45.45-.45 1.18 0 1.63l14.413 14.41c.45.45 1.175.45 1.624 0l1.276-1.27c.704-.78 1.478-2.82-.635-4.93l-1.69-1.69c-.275-1.19 1.456-2.59 1.774-2.84z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg
deleted file mode 100644
index 01cc7f83e..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>bringyourown</title><g fill="#E65376" fill-rule="evenodd"><path d="M58.325 56.036H54.18c-.957 0-1.728.773-1.728 1.727 0 .954.77 1.727 1.728 1.727h4.145c.952 0 1.725-.773 1.725-1.727 0-.954-.773-1.727-1.725-1.727M47.96 56.036H43.82c-.956 0-1.73.773-1.73 1.727 0 .954.774 1.727 1.73 1.727h4.143c.956 0 1.73-.773 1.73-1.727 0-.954-.774-1.727-1.73-1.727M27.236 56.036H23.09c-.952 0-1.725.773-1.725 1.727 0 .954.773 1.727 1.726 1.727h4.146c.955 0 1.727-.773 1.727-1.727 0-.954-.772-1.727-1.727-1.727M16.873 56.036H12.73c-.954 0-1.73.773-1.73 1.727 0 .954.776 1.727 1.73 1.727h4.143c.954 0 1.727-.773 1.727-1.727 0-.954-.773-1.727-1.727-1.727M25.127 41.04v-4.135c2.596 1.472 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.23v4.135c0 1.146-3.984 3.24-10.507 3.28-.127-.038-.642-.04-.76-.01-6.28-.12-10.108-2.147-10.108-3.27zm21.375-23.96c0 1.16-4.055 3.283-10.688 3.283-6.63 0-10.687-2.124-10.687-3.282 0-1.157 4.058-3.282 10.687-3.282 6.633 0 10.688 2.125 10.688 3.283zM25.127 28.92c2.596 1.47 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.232v4.135c0 1.158-4.055 3.283-10.688 3.283-6.63 0-10.687-2.125-10.687-3.283V28.92zm0-7.988c2.596 1.472 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.23v4.134c0 1.158-4.055 3.284-10.688 3.284-6.63 0-10.687-2.126-10.687-3.284v-4.134zM37 55.352v-8.254c6.294-.232 12.302-2.303 12.302-6.058V17.132l-.002-.018.002-.033c0-3.99-6.784-6.08-13.488-6.08-6.7 0-13.484 2.09-13.484 6.08v23.96c0 3.67 5.74 5.73 11.872 6.038v8.274c-.834.485-1.402 1.378-1.402 2.41 0 1.544 1.257 2.8 2.8 2.8 1.545 0 2.802-1.256 2.802-2.8 0-1.032-.568-1.925-1.4-2.41z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png
deleted file mode 100644
index 27c05d66f..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol.jpg
deleted file mode 100644
index 9db9ce8e0..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png
deleted file mode 100644
index 4cd1c60a4..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg
deleted file mode 100644
index 354ebb025..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>customise</title><g fill="#E65376" fill-rule="evenodd"><path d="M54.846 58.906l-5.28-7.96 3.102-2.06 5.282 7.95-3.104 2.07zm-23.733-35.75l-5.35-8.05 3.104-2.06 5.35 8.05-3.104 2.06zm28.808 33.37l-6.198-9.33-.002-.01-17.527-26.39h-.004-.002l-6.268-9.44c-.246-.38-.81-.47-1.218-.2l-4.614 3.06c-.422.28-.554.81-.297 1.2l6.265 9.43c.002 0 .004 0 .005.01h.002l17.536 26.41s.003 0 .005.01l6.19 9.32c.148.22.403.36.683.36.19 0 .375-.06.535-.17l4.614-3.06c.42-.28.553-.8.297-1.2zM24.984 33.536c.065 0 .13-.02.183-.06.106-.08.152-.21.113-.34l-.993-3.24 2.73-2.05c.106-.08.15-.22.11-.34-.04-.13-.157-.21-.288-.22l-3.43-.07-1.124-3.2c-.044-.12-.16-.21-.293-.21-.13 0-.247.09-.29.21l-1.126 3.2-3.428.07c-.133.01-.25.09-.29.22-.04.12.004.26.11.34l2.73 2.05-.993 3.24c-.038.13.007.26.113.34.107.08.25.08.358 0l2.815-1.93 2.816 1.93c.053.04.112.06.174.06M29.335 39.356l-2.295-.05-.754-2.14c-.028-.08-.107-.14-.194-.14-.088 0-.166.06-.195.14l-.753 2.14-2.296.05c-.087 0-.165.06-.192.14-.027.09.003.18.072.23l1.827 1.37-.664 2.17c-.024.09.007.18.078.23.07.05.168.05.24 0l1.884-1.29 1.884 1.29c.036.03.077.04.117.04.044 0 .086-.01.123-.04.07-.05.1-.14.076-.23l-.665-2.17 1.828-1.37c.07-.05.1-.14.073-.23-.028-.08-.105-.14-.193-.14M16.795 35.306l-1.645-.03-.54-1.54c-.02-.06-.078-.1-.14-.1-.063 0-.12.04-.14.1l-.54 1.54-1.645.03c-.063 0-.12.05-.138.1-.02.06.002.13.052.17l1.31.98-.478 1.56c-.018.06.003.12.055.16.05.04.12.04.17 0l1.353-.92 1.35.92c.027.02.056.03.085.03.03 0 .062-.01.088-.03.05-.04.072-.1.054-.16l-.477-1.56 1.31-.98c.052-.04.073-.11.054-.17-.02-.05-.076-.1-.14-.1"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg
deleted file mode 100644
index 84d98dd45..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>dashboard</title><path d="M13.844 23.23h-1.472c-.758 0-1.372-.61-1.372-1.37 0-.75.614-1.37 1.372-1.37h1.473C14.4 19.04 15.803 18 17.447 18c1.643 0 3.047 1.04 3.602 2.49h.913c.555-1.45 1.958-2.49 3.603-2.49 1.643 0 3.047 1.04 3.6 2.49h.917c.555-1.45 1.957-2.49 3.602-2.49 1.644 0 3.047 1.04 3.602 2.49h21.995c.757 0 1.37.62 1.37 1.37 0 .76-.613 1.37-1.37 1.37H37.287c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.048-1.04-3.602-2.49h-.915c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.914c-.556 1.45-1.96 2.49-3.603 2.49-1.644 0-3.05-1.04-3.603-2.49zM59.282 34.7c.757 0 1.37.61 1.37 1.37 0 .76-.613 1.37-1.37 1.37h-9.816c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.913c-.555 1.45-1.958 2.49-3.603 2.49-1.643 0-3.048-1.04-3.602-2.49H21.05c-.556 1.45-1.96 2.49-3.603 2.49-1.644 0-3.05-1.04-3.603-2.49h-1.472c-.758 0-1.372-.61-1.372-1.37 0-.76.614-1.37 1.372-1.37h1.473c.553-1.45 1.958-2.49 3.602-2.49 1.643 0 3.047 1.04 3.602 2.49H34.14c.555-1.45 1.96-2.49 3.602-2.49 1.645 0 3.048 1.04 3.602 2.49h.915c.555-1.45 1.96-2.49 3.604-2.49 1.644 0 3.047 1.04 3.6 2.49h9.818zm-1.697 14.21h1.697c.757 0 1.37.61 1.37 1.37 0 .76-.613 1.37-1.37 1.37h-1.697c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.914c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.913c-.555 1.45-1.958 2.49-3.603 2.49-1.643 0-3.048-1.04-3.602-2.49h-21.77c-.758 0-1.372-.61-1.372-1.37 0-.76.614-1.37 1.372-1.37h21.77c.555-1.45 1.96-2.49 3.602-2.49 1.645 0 3.048 1.04 3.602 2.49h.915c.555-1.45 1.96-2.49 3.604-2.49 1.644 0 3.047 1.04 3.6 2.49h.916c.554-1.45 1.958-2.49 3.603-2.49 1.644 0 3.047 1.04 3.602 2.49z" fill="#E65376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png
deleted file mode 100644
index f58fe121a..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/download-icon.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/download-icon.png
deleted file mode 100644
index 2bd373f70..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/download-icon.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg
deleted file mode 100644
index 85243faeb..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>end-to-end</title><g fill="#E65376" fill-rule="evenodd"><path d="M51.637 44.288l-11.567 1.84c-.382.06-.698.33-.818.7-.12.36-.022.77.252 1.04l2.712 2.71c-4.223 1.11-8.826.3-12.516-2.49-1.06-.8-2.565-.59-3.364.47-.8 1.06-.59 2.56.468 3.36 3.5 2.65 7.617 3.96 11.727 3.96 2.54 0 5.075-.52 7.463-1.52l3.244 3.25c.197.19.46.3.728.3.108 0 .215-.02.32-.05.367-.12.637-.44.698-.82l1.833-11.57c.052-.32-.056-.65-.29-.89-.232-.23-.562-.34-.89-.29M50.006 20.738l1.12-4.45c.097-.38-.028-.78-.32-1.03-.29-.26-.7-.33-1.06-.18l-10.87 4.35c-.307.13-.536.39-.616.71-.08.32-.004.66.208.91l7.505 8.99c.198.24.488.37.79.37.075 0 .154-.01.23-.03.377-.08.674-.37.768-.75l.938-3.71c3.074 3.03 4.74 7.33 4.294 11.86-.13 1.32.835 2.5 2.156 2.63.08.01.16.01.237.01 1.22 0 2.267-.93 2.39-2.17.684-6.97-2.384-13.53-7.77-17.51M29.044 31.778c-.264-.29-.665-.4-1.037-.3l-3.692 1.04c1.102-4.22 4.053-7.82 8.27-9.68 1.216-.53 1.77-1.95 1.235-3.16-.534-1.22-1.952-1.77-3.166-1.24-6.48 2.85-10.705 8.81-11.483 15.52l-4.417 1.24c-.374.1-.657.41-.733.79-.076.38.068.77.37 1.01l9.19 7.26c.182.15.407.23.636.23.093 0 .187-.02.28-.04.315-.09.572-.33.686-.64l4.07-10.98c.133-.36.053-.77-.208-1.05"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png
deleted file mode 100644
index 0f202c7e7..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png
deleted file mode 100644
index 376623469..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/hart.png
deleted file mode 100644
index 362df3dc8..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/highway.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/highway.jpg
deleted file mode 100644
index 98f53617b..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/highway.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg
deleted file mode 100644
index 6c9b6c0fa..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>inspection</title><g fill="#E65376" fill-rule="evenodd"><path d="M39.66 54.65l-2.232 2.2-4.06-4.01c-.323-.32-.742-.48-1.16-.48-.42 0-.84.16-1.16.48l-4.06 4.01-4.06-4.01c-.644-.63-1.677-.63-2.32 0l-3.904 3.86-2.4-2.38V15.3H39.66v1.6c1.168.42 2.276.96 3.3 1.63v-4.88c0-.91-.737-1.65-1.65-1.65H12.652c-.91 0-1.652.74-1.652 1.65v41.36c0 .45.178.87.492 1.18l4.05 4c.645.64 1.677.64 2.323 0l3.903-3.86 4.058 4.01c.645.64 1.678.64 2.322 0l4.06-4.01 4.06 4.01c.322.32.74.48 1.16.48.42 0 .838-.16 1.16-.48l3.884-3.83c.313-.31.49-.73.49-1.17v-9.95c-1.026.66-2.134 1.22-3.302 1.63v7.63"/><path d="M39.66 40.65c-1.558.97-3.39 1.53-5.36 1.54-3.436-.01-6.464-1.71-8.317-4.31h9.857c.91 0 1.65-.74 1.65-1.65 0-.91-.74-1.65-1.65-1.65H24.558c-.042 0-.082.01-.125.01-.225-.84-.358-1.72-.36-2.63.002-.93.138-1.82.37-2.68.04.01.075.02.115.02H35.84c.91 0 1.65-.74 1.65-1.65 0-.92-.74-1.66-1.65-1.66h-9.826c1.855-2.57 4.87-4.25 8.287-4.26 1.97.01 3.802.57 5.36 1.53 1.337.83 2.467 1.95 3.3 3.28.988 1.57 1.568 3.43 1.572 5.42-.004 1.99-.584 3.85-1.57 5.42-.835 1.33-1.965 2.45-3.302 3.27zm7.993-8.69c0-4.07-1.825-7.7-4.692-10.15-.985-.84-2.094-1.54-3.3-2.07-1.64-.72-3.452-1.13-5.36-1.13-3.378 0-6.455 1.27-8.806 3.34h-6.832c-.365 0-.66.29-.66.66 0 .36.295.66.66.66h5.522c-1.254 1.46-2.193 3.19-2.727 5.09h-2.795c-.365 0-.66.3-.66.66 0 .31.204.55.48.63.057.02.117.04.18.04h2.5c-.128.74-.208 1.49-.208 2.27 0 1.01.12 1.99.333 2.93h-2.625c-.025 0-.048.01-.074.01-.328.04-.586.31-.586.65 0 .36.295.66.66.66h2.994c.665 1.98 1.774 3.76 3.22 5.2h-6.214c-.365 0-.66.3-.66.66 0 .36.295.66.66.66h7.778c2.207 1.61 4.92 2.58 7.86 2.58 1.908 0 3.72-.41 5.36-1.13 1.206-.53 2.315-1.23 3.3-2.07 2.868-2.45 4.693-6.09 4.693-10.15zM59.687 51.88l-11.68-11.69-.04-.04c-1.236 2.06-2.916 3.82-4.92 5.14l.03.03L54.66 56.91c1.147 1.14 3.025 1.14 4.17-.01l.857-.85c1.148-1.15 1.148-3.03 0-4.17"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg
deleted file mode 100644
index 9fdf394a5..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>integrated</title><path d="M54.917 19.475c-1.983 0-3.59-1.598-3.59-3.587 0-1.977 1.607-3.587 3.59-3.587 1.983 0 3.59 1.61 3.59 3.588 0 1.99-1.607 3.587-3.59 3.587zm-18.91 0c-1.983 0-3.59-1.598-3.59-3.587 0-1.977 1.607-3.587 3.59-3.587 1.982 0 3.588 1.61 3.588 3.588 0 1.99-1.606 3.587-3.588 3.587zm-18.91 0c-1.98 0-3.59-1.598-3.59-3.587 0-1.977 1.61-3.587 3.59-3.587 1.984 0 3.588 1.61 3.588 3.588 0 1.99-1.604 3.587-3.59 3.587zm18.91 25.203c4.21 0 7.63 3.433 7.63 7.636 0 4.214-3.42 7.635-7.63 7.635s-7.63-3.422-7.63-7.636c0-4.203 3.42-7.636 7.63-7.636zm-16.86-16.704c0 .9.274 1.468.82 1.682.55.224 1.187.33 1.916.33 1.26 0 2.414-.13 3.457-.39 1.044-.272 2.098-.402 3.158-.402 2.355 0 4.094.343 5.22 1.018 1.13.675 1.857 1.49 2.19 2.462h.2c.33-.97 1.062-1.787 2.186-2.462 1.128-.675 2.87-1.018 5.222-1.018 1.093 0 2.12.13 3.085.402.96.26 1.954.39 2.984.39.86 0 1.624-.106 2.286-.33.664-.214.997-.782.997-1.682 0-.532.115-1.04.346-1.527.232-.473.78-.722 1.64-.722.5 0 .906.12 1.22.355.312.237.555.52.722.876.164.356.28.734.347 1.15.066.4.1.792.1 1.135 0 1.292-.325 2.357-.97 3.21-.647.852-1.486 1.503-2.513 1.953-1.028.46-2.172.722-3.43.793-1.26.07-2.504-.024-3.73-.284-2.52-.533-4.54-.52-6.07.023-1.523.533-2.283 1.54-2.283 3.007 0 .675-.22 1.208-.65 1.598-.427.403-.96.592-1.59.592-.63 0-1.16-.19-1.59-.592-.432-.39-.647-.923-.647-1.598 0-1.468-.763-2.474-2.287-3.007-1.525-.544-3.55-.556-6.067-.023-1.23.26-2.472.355-3.732.284-1.258-.07-2.404-.332-3.43-.793-1.027-.45-1.866-1.1-2.512-1.954-.647-.853-.968-1.918-.968-3.21 0-.342.032-.733.096-1.135.068-.415.184-.793.35-1.15.166-.354.397-.638.698-.875.298-.236.694-.355 1.19-.355.897 0 1.46.25 1.692.722.233.486.347.995.347 1.527z" fill="#E95376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg
deleted file mode 100644
index ce9a3dc5b..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>intelligent-routing</title><g fill="#E65376" fill-rule="evenodd"><path d="M31.97 61.13h7.047v-6.3H31.97M35.494 24.19c-2.43 0-4.397-1.91-4.397-4.26 0-2.35 1.968-4.25 4.397-4.25 2.43 0 4.397 1.9 4.397 4.25s-1.967 4.26-4.396 4.26zm0 11.89c-2.43 0-4.397-1.9-4.397-4.25s1.968-4.26 4.397-4.26c2.43 0 4.397 1.91 4.397 4.26 0 2.35-1.967 4.25-4.396 4.25zm0 11.9c-2.43 0-4.397-1.91-4.397-4.26 0-2.35 1.968-4.26 4.397-4.26 2.43 0 4.397 1.91 4.397 4.26 0 2.35-1.967 4.26-4.396 4.26zM54.23 25.19c0-.38-.31-.69-.693-.69-.045 0-.084.01-.126.02-.053-.01-.107-.02-.164-.02h-7.15l.237-5.63c4.694-1.22 7.898-3.94 7.898-7.17 0-.39-.31-.7-.693-.7-.045 0-.084.02-.126.03-.053-.02-.107-.03-.164-.03H17.694c-.086 0-.167.02-.244.05-.025.01-.046.02-.07.04-.05.02-.096.05-.138.09l-.06.06c-.038.04-.07.09-.097.14-.01.02-.026.04-.034.06 0 .01-.006.01-.008.02-.027.07-.038.15-.04.23 0 0-.002 0-.002.01 0 3.18 3.094 5.85 7.652 7.1l.24 5.7h-7.198c-.086 0-.167.02-.244.04-.025.01-.046.03-.07.04-.05.02-.096.05-.138.09l-.06.06c-.038.04-.07.09-.097.14-.01.02-.026.04-.034.06 0 .01-.006.02-.008.02-.027.08-.038.15-.04.23l-.002.01c0 3.31 3.35 6.09 8.228 7.26l.192 4.54h-7.032c-.085 0-.167.02-.244.05l-.07.03c-.05.03-.096.06-.14.1-.02.02-.04.03-.057.05-.04.05-.07.1-.098.15-.012.02-.026.04-.035.06-.003.01-.007.01-.01.02-.026.07-.038.15-.04.22v.01c0 3.28 3.275 6.03 8.06 7.22l.14 3.36c0 2.41 1.967 4.38 4.382 4.38H40.71c2.416 0 4.382-1.97 4.38-4.35l.14-3.33c4.92-1.16 8.307-3.94 8.307-7.28 0-.38-.31-.69-.695-.69-.044 0-.083.02-.126.03-.053-.02-.107-.03-.164-.03h-6.985l.19-4.49c5.007-1.14 8.474-3.94 8.474-7.31z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/iphone.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/iphone.png
deleted file mode 100644
index 68557a2a2..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/iphone.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg
deleted file mode 100644
index c4f39ac40..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>map-centric</title><g fill="#E65376" fill-rule="evenodd"><path d="M59.06 13.376l-10.12-2.333c-.363-.083-.745-.044-1.086.11L35.997 16.58l-10.91-4.55c-.406-.167-.86-.174-1.268-.015L12.08 16.59c-.652.253-1.08.88-1.08 1.58V50.38c0 .56.275 1.085.738 1.4.46.316 1.05.383 1.57.18l11.106-4.327 10.96 4.573c.21.085.432.13.654.13.24 0 .482-.052.706-.154l.88-.402-1.505-3.04-.113.05-10.91-4.55c-.208-.086-.43-.13-.653-.13-.208 0-.417.04-.615.115L14.39 47.9V19.33l10.024-3.908 10.96 4.572c.438.182.93.174 1.36-.023l12.007-5.493 8.244 1.9V45.11l-1.598-.367-.806 1.63c-.127.286-.266.567-.418.842l-.026.054-.295.596 4.46 1.027c.502.116 1.03-.004 1.435-.326.404-.32.64-.81.64-1.326V15.03c0-.79-.545-1.475-1.315-1.654"/><path d="M23.756 19.79v20.44c0 .376.304.68.678.68.374 0 .68-.304.68-.68V19.79c0-.375-.306-.68-.68-.68-.374 0-.678.305-.678.68M35.35 23.747v10.287c0 .375.304.678.678.678.374 0 .68-.303.68-.678V23.747c0-.375-.306-.68-.68-.68-.374 0-.68.305-.68.68M49.464 30.76V18.34c0-.375-.304-.68-.68-.68-.374 0-.677.305-.677.68V30.76c0 .375.303.68.678.68.375 0 .68-.305.68-.68M44.76 44.436c-1.862 0-3.372-1.51-3.372-3.37s1.51-3.37 3.37-3.37c1.863 0 3.37 1.51 3.37 3.37s-1.507 3.37-3.37 3.37zm0-10.402c-4.43 0-8.023 3.592-8.023 8.02 0 1.462.4 2.83 1.08 4.01h-.006l.767 1.548 6.18 12.49 6.366-12.863.582-1.175h-.008c.356-.615.63-1.283.816-1.984.17-.648.268-1.326.268-2.026 0-4.428-3.593-8.02-8.02-8.02z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg
deleted file mode 100644
index 5623cc577..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="36" height="36" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><title>Group 2 Copy</title><g fill="#333" fill-rule="evenodd"><path d="M32 18c0-7.732-6.268-14-14-14S4 10.268 4 18s6.268 14 14 14 14-6.268 14-14zM0 18C0 8.06 8.06 0 18 0s18 8.06 18 18-8.06 18-18 18S0 27.94 0 18z"/><path d="M10.5 16c-1.105 0-2 .895-2 2s.895 2 2 2h15c1.105 0 2-.895 2-2s-.895-2-2-2h-15z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg
deleted file mode 100644
index 31b4ade23..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>mobile-app</title><path d="M23.665 52.772H48.54V15.958H23.665v36.814zm12.438 8.418c-1.64 0-2.964-1.325-2.964-2.96 0-1.637 1.324-2.964 2.963-2.964 1.64 0 2.963 1.327 2.963 2.963 0 1.635-1.324 2.96-2.963 2.96zM25.243 8c-2.715 0-4.936 2.222-4.936 4.936v46.108c0 2.715 2.22 4.935 4.937 4.935H46.96c2.717 0 4.938-2.22 4.938-4.936V12.936c0-2.714-2.22-4.936-4.937-4.936H25.245zm5.585 36.968l6.928-7.077c.033-.03.056-.073.087-.106.563.14 1.142.236 1.747.236 2.03.006 3.87-.805 5.203-2.12 1.333-1.316 2.16-3.136 2.167-5.148.004-.642-.105-1.256-.262-1.855l-3.87 3.818-4.28-.918-.9-4.252 3.88-3.82c-.606-.168-1.234-.286-1.894-.287-4.057-.01-7.358 3.237-7.37 7.267-.003.855.17 1.663.44 2.426L25.68 40.3s5.148 4.675 5.148 4.668z" fill="#E65376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg
deleted file mode 100644
index 4960b48d4..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>open-standards</title><path d="M29.087 50.594c.156-.008.34-.035.495-.103l5.21-2.31c.57.305 1.084.7 1.518 1.16l-6.193 2.764H27.5c-1.33 0-2.322-.162-2.953-.482-.506-.256-.746-.586-.766-1.063l5.307.034zm-7.927-4.572c0-.163.05-.35.142-.55.99.415 2.285.616 3.938.616h1.783c.17 0 .337-.037.492-.105l5.112-2.295c.796.244 1.515.714 2.146 1.4L28.8 47.73h-3.746c-1.39 0-2.425-.165-3.073-.49-.56-.298-.82-.685-.82-1.218zm9.616 10.584c-1.065 0-1.856-.172-2.352-.512-.36-.248-.57-.6-.63-1.068h2.654c.17 0 .336-.037.49-.106l4.776-2.132c.564.46 1.015.933 1.373 1.445l.006.008-5.244 2.366h-1.074zm7.67.107l1.698-.76c.303-.134.537-.39.645-.704.108-.316.08-.662-.076-.956-.588-1.11-1.306-2.05-2.142-2.81l.82-.386c.31-.144.54-.418.64-.746.097-.328.05-.682-.132-.973-.656-1.06-1.36-1.91-2.105-2.547.274-.14.486-.38.59-.67.113-.318.087-.666-.07-.964-.677-1.28-1.543-2.283-2.583-2.995.172-.142.303-.33.376-.546.104-.312.077-.65-.075-.94-1.527-2.915-3.872-4.39-6.97-4.39-.626 0-1.317.092-2.046.272-.67.153-1.41.402-2.322.78l-1.34.02c-.476.005-.904.292-1.09.73-.186.437-.096.944.23 1.29l.468.502c.24.256.582.4.93.38l1.294-.06c.138-.005.273-.033.4-.087.93-.38 1.645-.64 2.237-.817.643-.173 1.157-.263 1.525-.263 1.292 0 2.34.493 3.18 1.504l-5.874 2.65-2.113-.024c-1.322 0-2.405-.428-3.315-1.308-.907-.87-1.348-1.91-1.348-3.17 0-.84.268-2.065 2.574-2.976 1.872-.734 4.73-1.104 8.495-1.104h.632c.682-.024 1.208-.536 1.208-1.202 0-.076-.007-.153-.022-.227l-.005-.13c0-2.95-.982-6.08-2.922-9.298-.002-.006-.005-.013-.01-.02l-.46-.79c-.77-1.274-1.16-2.474-1.16-3.564 0-1.013.268-1.87.797-2.548.444-.567 1.088-1.034 1.922-1.397l1.28 5.947c.045.213.15.41.3.57l7.154 7.614c1.314 1.645 2.197 2.78 2.77 3.563 2.42 3.403 3.396 3.852 3.71 3.996.31.142 1.23.573 5.582.595.72 2.112 1.084 4.29 1.084 6.477 0 1.855-.328 3.803-.978 5.795h-4.295c-.373 0-.723.172-.95.466-1.906 2.458-4.2 4.423-7.21 6.178l-.93.04zm15.46-21.27c-.192-.435-.623-.714-1.097-.714h-3.83c-.858 0-1.493-.136-1.85-.4-.272-.197-.872-.804-2.194-2.595l-1.01-1.334c-1.283-1.706-1.98-2.606-2.445-3.146l-6.617-7.043-1.643-7.274c-.07-.314-.265-.588-.54-.758-.274-.17-.604-.22-.918-.144l-.383.094c-4.068.955-6.13 3.408-6.13 7.29 0 1.4.634 3.297 1.964 5.838l.565.98c.915 1.794 1.537 3.66 1.852 5.554h-.283c-3.626 0-6.598.63-8.845 1.88C18.178 34.98 17 36.754 17 38.938c0 1.754.6 3.313 1.832 4.754-.446.8-.67 1.582-.67 2.33 0 1.055.293 1.94.867 2.623.48.594 1.165 1.05 2.032 1.358-.02.253-.03.464-.03.635 0 2.39 1.333 3.837 3.866 4.206-.006.07-.008.133-.008.192 0 1.987 1.022 4.355 5.886 4.355h1.402c.19 0 .375-.042.544-.128l.977-.495c1.55.415 2.95.624 4.16.624.44 0 1.08-.034 1.962-.104.14-.013.277-.05.406-.108 2.863-1.328 5.56-3.41 8.012-6.187h4.732c.496 0 .94-.304 1.12-.765 1.09-2.797 1.64-5.618 1.64-8.387 0-2.853-.614-5.677-1.825-8.396z" fill="#E65376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png
deleted file mode 100644
index 0b479791a..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg
deleted file mode 100644
index c1dba62f8..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="36" height="36" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><title>Group 2 Copy</title><g fill="#333" fill-rule="evenodd"><path d="M32 18c0-7.732-6.268-14-14-14S4 10.268 4 18s6.268 14 14 14 14-6.268 14-14zM0 18C0 8.06 8.06 0 18 0s18 8.06 18 18-8.06 18-18 18S0 27.94 0 18z"/><path d="M16 25.5c0 1.105.895 2 2 2s2-.895 2-2v-15c0-1.105-.895-2-2-2s-2 .895-2 2v15z"/><path d="M10.5 16c-1.105 0-2 .895-2 2s.895 2 2 2h15c1.105 0 2-.895 2-2s-.895-2-2-2h-15z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg
deleted file mode 100644
index ff685af03..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>responsive-web</title><g fill="#E65376" fill-rule="evenodd"><path d="M19.96 27.453c-.126-.12-.296-.18-.51-.18-.22 0-.402.06-.537.18-.133.118-.202.25-.202.4v3.115c0 .386.038.745.11 1.077.075.333.203.62.384.862.18.243.423.432.727.567.304.136.682.203 1.134.203.467 0 .85-.085 1.15-.252.3-.168.54-.396.722-.684.172.29.406.517.7.685.297.167.687.252 1.17.252.452 0 .828-.067 1.128-.203.3-.135.54-.324.72-.567.18-.24.308-.53.382-.862.075-.332.11-.69.11-1.077v-3.116c0-.148-.066-.28-.197-.4-.132-.12-.313-.178-.542-.178-.206 0-.373.06-.5.18-.128.117-.19.25-.19.398v3.165c0 .45-.082.784-.245.998-.165.215-.43.32-.79.32-.37 0-.632-.105-.788-.32-.155-.214-.235-.547-.235-.998V27.84c0-.18-.077-.32-.233-.42-.155-.096-.315-.146-.48-.146-.073 0-.153.014-.24.043-.087.03-.167.066-.24.11-.073.047-.136.1-.184.168-.05.064-.075.135-.075.208v3.214c0 .45-.078.784-.234.998-.156.215-.42.32-.787.32-.37 0-.637-.105-.795-.32-.16-.214-.24-.547-.24-.998v-3.165c0-.148-.065-.28-.19-.4M36.332 27.274c-.205 0-.372.06-.5.18-.125.117-.19.25-.19.398v3.165c0 .45-.08.784-.245.998-.164.215-.427.32-.788.32-.37 0-.633-.105-.79-.32-.155-.214-.234-.547-.234-.998V27.84c0-.18-.077-.32-.233-.42-.155-.096-.316-.146-.482-.146-.073 0-.15.014-.238.043-.086.03-.166.066-.24.11-.073.047-.135.1-.184.168-.05.064-.075.135-.075.208v3.214c0 .45-.077.784-.233.998-.156.215-.42.32-.787.32-.37 0-.635-.105-.796-.32-.16-.214-.24-.547-.24-.998v-3.165c0-.148-.064-.28-.19-.4-.13-.12-.298-.178-.512-.178-.222 0-.4.06-.535.18-.136.117-.204.25-.204.398v3.116c0 .386.037.745.11 1.077.074.333.202.62.382.862.182.243.424.432.727.567.304.136.68.203 1.134.203.466 0 .85-.085 1.15-.252.3-.168.54-.396.72-.684.173.29.408.517.702.685.295.167.686.252 1.17.252.45 0 .827-.067 1.127-.203.298-.135.538-.324.72-.567.18-.24.308-.53.382-.862.073-.332.11-.69.11-1.077v-3.116c0-.148-.067-.28-.2-.4-.128-.12-.31-.178-.54-.178M39.812 27.453c-.127-.12-.297-.18-.51-.18-.223 0-.4.06-.537.18-.135.118-.203.25-.203.4v3.115c0 .386.037.745.11 1.077.073.333.2.62.383.862.18.243.42.432.726.567.305.136.682.203 1.135.203.466 0 .85-.085 1.15-.252.3-.168.54-.396.72-.684.173.29.408.517.704.685.293.167.683.252 1.168.252.45 0 .827-.067 1.126-.203.3-.135.54-.324.72-.567.18-.24.31-.53.38-.862.077-.332.114-.69.114-1.077v-3.116c0-.148-.066-.28-.2-.4-.13-.12-.31-.178-.54-.178-.204 0-.372.06-.5.18-.126.117-.19.25-.19.398v3.165c0 .45-.08.784-.246.998-.164.215-.427.32-.788.32-.37 0-.63-.105-.788-.32-.155-.214-.233-.547-.233-.998V27.84c0-.18-.08-.32-.235-.42-.155-.096-.317-.146-.48-.146-.073 0-.153.014-.242.043-.085.03-.164.066-.237.11-.076.047-.137.1-.186.168-.05.064-.074.135-.074.208v3.214c0 .45-.08.784-.236.998-.154.215-.418.32-.786.32-.37 0-.634-.105-.794-.32-.16-.214-.242-.547-.242-.998v-3.165c0-.148-.06-.28-.19-.4M48.482 32.347c-.145.124-.216.264-.216.42v.307c0 .155.07.296.216.42.142.122.34.183.583.183.222 0 .406-.06.55-.184.14-.123.214-.264.214-.42v-.307c0-.155-.074-.295-.215-.42-.144-.122-.328-.183-.55-.183-.244 0-.44.06-.583.184M51.63 24.776v11.4c0 .276.225.5.5.5.278 0 .5-.224.5-.5v-11.4c0-.276-.222-.5-.5-.5-.275 0-.5.224-.5.5M46.248 48.754l2.656-.524c.185-.036.335-.175.385-.358.05-.182-.01-.377-.15-.504l-10.744-9.653c-.158-.143-.39-.168-.576-.065-.187.103-.287.313-.25.523l2.454 14.067c.03.184.163.334.34.39.174.056.374.01.505-.123l2.124-2.128 2.655 4.66c.068.122.183.208.32.24.037.01.075.013.113.013.1 0 .197-.03.28-.085l2.723-1.835c.114-.077.192-.197.214-.333.023-.135-.012-.274-.095-.383l-2.957-3.903M58.76 39.907H45.326l4.007 3.6h9.43c.993 0 1.8-.806 1.8-1.8s-.807-1.8-1.8-1.8"/><path d="M14.6 39.907V20.6h44.16c.995 0 1.8-.806 1.8-1.8s-.805-1.8-1.8-1.8H12.8c-.994 0-1.8.806-1.8 1.8v22.907c0 .994.806 1.8 1.8 1.8h22.655l-.628-3.6H14.6"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive.png
deleted file mode 100644
index dc7468397..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg
deleted file mode 100644
index 21744f3cd..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png
deleted file mode 100644
index 7b4d36a67..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-crossing.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/street-crossing.jpg
deleted file mode 100644
index 296db5f3b..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-crossing.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-scene.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/street-scene.jpg
deleted file mode 100644
index 9c13bbaa8..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-scene.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-sunset.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/street-sunset.jpg
deleted file mode 100644
index 0f0bb1800..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-sunset.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg
deleted file mode 100644
index f95a20865..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>syncronised</title><g fill="#E65376" fill-rule="evenodd"><path d="M58.505 43.558l-9.476-6.89c-.314-.22-.73-.26-1.074-.08-.345.18-.562.53-.562.92v4.48h-30.99c-1.328 0-2.404 1.07-2.404 2.4 0 1.33 1.076 2.4 2.403 2.4h30.99v4.48c0 .39.218.74.563.92.148.07.308.11.468.11.213 0 .426-.06.605-.19l9.475-6.89c.266-.19.423-.5.423-.83 0-.33-.157-.64-.423-.83M14.425 28.748l9.476 6.88c.18.13.392.2.607.2.158 0 .318-.04.466-.11.345-.18.562-.53.562-.92v-4.48h30.99c1.33 0 2.403-1.08 2.403-2.41 0-1.32-1.074-2.4-2.402-2.4h-30.99v-4.48c0-.38-.218-.74-.563-.92-.344-.17-.76-.14-1.072.09l-9.475 6.88c-.267.2-.425.51-.425.83 0 .33.158.64.425.84"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/test-device-mockup.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/test-device-mockup.png
deleted file mode 100644
index 55f1b156f..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/test-device-mockup.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png
deleted file mode 100644
index 69c189581..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg
deleted file mode 100644
index 86345b7e4..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png
deleted file mode 100644
index efdaf2fe8..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich.jpg
deleted file mode 100644
index 3f064d5d4..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/mysoc-footer/logo-fms-platform@2x.png b/web/cobrands/fixmystreet.com/images/mysoc-footer/logo-fms-platform@2x.png
deleted file mode 100644
index bdb8eb121..000000000
--- a/web/cobrands/fixmystreet.com/images/mysoc-footer/logo-fms-platform@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/site-logo-homepage.png b/web/cobrands/fixmystreet.com/images/site-logo-homepage.png
new file mode 100644
index 000000000..f987f8bb9
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/site-logo-homepage.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/tile-y.jpg b/web/cobrands/fixmystreet.com/images/tile-y.jpg
index 3c8383714..80243e0d9 100644
--- a/web/cobrands/fixmystreet.com/images/tile-y.jpg
+++ b/web/cobrands/fixmystreet.com/images/tile-y.jpg
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/js.js b/web/cobrands/fixmystreet.com/js.js
index 5aecd820e..9ecb8b8c2 100644
--- a/web/cobrands/fixmystreet.com/js.js
+++ b/web/cobrands/fixmystreet.com/js.js
@@ -1,4 +1,7 @@
(function(){
+ if (!jQuery.validator) {
+ return;
+ }
var validNamePat = /\ba\s*n+on+((y|o)mo?u?s)?(ly)?\b/i;
function valid_name_factory(single) {
return function(value, element) {
@@ -8,73 +11,3 @@
jQuery.validator.addMethod('validName', valid_name_factory(0), translation_strings.name.required);
jQuery.validator.addMethod('validNameU', valid_name_factory(1), translation_strings.name.required);
})();
-
-$(function(){
-
- /* Front page banner for other countries */
-
- $('.top_banner__close').live('click', function() {
- $('.top_banner--country').hide();
- $.cookie('has_seen_country_message', 1, {expires: 365, path: '/'});
- });
-
- if ( $('body.frontpage').length && -1 == navigator.userAgent.indexOf('Google Page Speed')) {
- if (!$.cookie('has_seen_country_message')) {
- $.ajax({
- url: 'https://gaze.mysociety.org/gaze-rest?f=get_country_from_ip',
- success: function(data) {
- if ( data && data != 'GB\n' ) {
- var banner = '<div class="top_banner top_banner--country"><a href="#" class="top_banner__close">Close</a> <p>This site is for reporting <strong>problems in the UK</strong>. There are FixMyStreet sites <a href="http://www.fixmystreet.org/sites/">all over the world</a>, or you could set up your own using the <a href="http://www.fixmystreet.org/">FixMyStreet Platform</a>.</p></div>';
- $('body').prepend(banner);
- $('.top_banner--country').slideDown('slow');
- }
- }
- });
- }
- }
-
-});
-
-$(function(){
- // "Fold out" additional rows in pricing grid
- $('.js-extra-features').each(function(){
- var $t3 = $(this);
- var $t2 = $('<tbody>');
- var cols = $t3.find('tr').eq(0).children().length;
-
- $t2.addClass('pricing-table__show-more');
- $t2.html('<tr><td colspan="' + cols + '"><button class="button">Compare more features</button></td></tr>');
- $t2.on('click', '.button', function(){
- $t3.toggle();
- });
-
- $t2.insertBefore($t3);
- $t3.hide();
- });
-
- // Add tier names to cells, to be displayed on narrow screens
- $('.pricing-table thead th').each(function(){
- var $table = $(this).parents('.pricing-table');
- var colIndex = $(this).prevAll().length;
-
- // Ignore first column
- if (colIndex > 0) {
- var tierName = $(this).text();
- $table.find('tbody tr').each(function(){
- $(this).children().eq(colIndex).attr('data-tier-name', tierName);
- });
- }
- });
-
- // Hide the demo access form behind a button, to save space on initial page load
- $('.js-fms-pro-demo-form').each(function(){
- var $form = $(this);
- var $revealBtn = $('<button>').addClass('btn').text('Request access').on('click', function(){
- $form.slideDown(250, function(){
- $form.find('input[type="text"], input[type="text"]').eq(0).focus();
- });
- $(this).remove();
- }).insertAfter($form);
- $form.hide();
- });
-});
diff --git a/web/cobrands/fixmystreet.com/layout.scss b/web/cobrands/fixmystreet.com/layout.scss
index 60b65569f..e42dbacf7 100644
--- a/web/cobrands/fixmystreet.com/layout.scss
+++ b/web/cobrands/fixmystreet.com/layout.scss
@@ -155,12 +155,14 @@ body.fullwidthpage {
height: 34px;
padding-#{$left}: 24px;
margin-top: 0.25em;
- @media only screen and (min-resolution: 320dpi),
- only screen and (-webkit-min-device-pixel-ratio: 2) {
+ @media ($high-dpi-screen) {
background-image: url(images/locate-me@2.png);
background-size: 22px 34px;
}
}
+ a#geolocate_link.loading {
+ background: url("/cobrands/fixmystreet/images/spinner-yellow.gif") 100% 33% no-repeat
+ }
}
}
@@ -169,7 +171,25 @@ body.frontpage {
margin: 2em 0;
width: 300px;
height: 60px;
- background: url($image-sprite) -2px -108px no-repeat;
+ background: none;
+
+ // Override the width="175" height="35" attributes on the svg element,
+ // forcing the SVG contents to stretch to the new, larger, size.
+ svg {
+ width: 300px;
+ height: 60px;
+ margin-top: 0; // no need for the vertical centering any more
+ }
+ }
+
+ .site-logo__fallback {
+ width: 300px;
+ padding-top: 60px;
+ // No need for svg-background-image() here because the
+ // logo on the homepage is an inline SVG, and the only browsers
+ // not to show it will be IE8 and below, which are @1x.
+ background-image: url("/cobrands/fixmystreet.com/images/site-logo-homepage.png");
+ background-size: 300px 60px;
}
.content {
@@ -254,7 +274,7 @@ body.unresponsive-council {
background-position: $right center;
background-repeat: no-repeat;
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
+ @media ($high-dpi-screen) {
background-image: url(images/unresponsive-council-cta-arrow@2.png);
background-size: 60px;
}
diff --git a/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js b/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js
deleted file mode 100644
index 3fa82b82b..000000000
--- a/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js
+++ /dev/null
@@ -1,13 +0,0 @@
-
-(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){factory(require('jquery'));}else{factory(jQuery);}}(function($){var pluses=/\+/g;function encode(s){return config.raw?s:encodeURIComponent(s);}
-function decode(s){return config.raw?s:decodeURIComponent(s);}
-function stringifyCookieValue(value){return encode(config.json?JSON.stringify(value):String(value));}
-function parseCookieValue(s){if(s.indexOf('"')===0){s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\');}
-try{s=decodeURIComponent(s.replace(pluses,' '));return config.json?JSON.parse(s):s;}catch(e){}}
-function read(s,converter){var value=config.raw?s:parseCookieValue(s);return $.isFunction(converter)?converter(value):value;}
-var config=$.cookie=function(key,value,options){if(value!==undefined&&!$.isFunction(value)){options=$.extend({},config.defaults,options);if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setTime(+t+days*864e+5);}
-return(document.cookie=[encode(key),'=',stringifyCookieValue(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));}
-var result=key?undefined:{};var cookies=document.cookie?document.cookie.split('; '):[];for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split('=');var name=decode(parts.shift());var cookie=parts.join('=');if(key&&key===name){result=read(cookie,value);break;}
-if(!key&&(cookie=read(cookie))!==undefined){result[name]=cookie;}}
-return result;};config.defaults={};$.removeCookie=function(key,options){if($.cookie(key)===undefined){return false;}
-$.cookie(key,'',$.extend({},options,{expires:-1}));return!$.cookie(key);};})); \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/admin.js b/web/cobrands/fixmystreet/admin.js
index 2af950b28..f5ae082c0 100644
--- a/web/cobrands/fixmystreet/admin.js
+++ b/web/cobrands/fixmystreet/admin.js
@@ -48,8 +48,6 @@ $(function(){
}
});
- $("select.js-multiple[multiple]").make_multi();
-
// on a body's page, hide/show deleted contact categories
var $table_with_deleted_contacts = $('table tr.is-deleted td.contact-category').closest('table');
if ($table_with_deleted_contacts.length == 1) {
@@ -68,36 +66,11 @@ $(function(){
});
}
- // On some cobrands the datepicker ends up beneath items in the header, e.g.
- // the logo.
- // This function sets an appropriate z-index when the datepicker is shown.
- // Sadly there's no way to set the z-index when creating the datepicker, so
- // we have to run this little helper using the datepicker beforeShow
- // handler.
- function fixZIndex() {
- setTimeout(function() {
- $('.ui-datepicker').css('z-index', 10);
- }, 0);
- }
-
- $( "#start_date" ).datepicker({
- defaultDate: "-1w",
- changeMonth: true,
- dateFormat: 'dd/mm/yy' ,
- // This sets the other fields minDate to our date
- onClose: function( selectedDate ) {
- $( "#end_date" ).datepicker( "option", "minDate", selectedDate );
- },
- beforeShow: fixZIndex
+ $("#start_date").change(function(){
+ $('#end_date').attr('min', $(this).val());
});
- $( "#end_date" ).datepicker({
- /// defaultDate: "+1w",
- changeMonth: true,
- dateFormat: 'dd/mm/yy' ,
- onClose: function( selectedDate ) {
- $( "#start_date" ).datepicker( "option", "maxDate", selectedDate );
- },
- beforeShow: fixZIndex
+ $("#end_date").change(function(){
+ $('#start_date').attr('max', $(this).val());
});
// On user edit page, hide the area/categories fields if body changes
diff --git a/web/cobrands/fixmystreet/dashboard.scss b/web/cobrands/fixmystreet/dashboard.scss
index fb4fd7a8a..302afbf80 100644
--- a/web/cobrands/fixmystreet/dashboard.scss
+++ b/web/cobrands/fixmystreet/dashboard.scss
@@ -5,15 +5,9 @@
}
#overview {
- margin-top: 1em;
-
th[scope=col] {
font-size:0.8em;
}
-
- tr:nth-child(2) {
- background-color:#fee;
- }
}
th {
@@ -66,40 +60,15 @@
}
}
- .filters{
- background-color:#ffec99;
- margin:0 -1em;
- border-top:#ffd000 solid 0.75em;
- padding:0 1em;
-
- p {
- float: $left;
- padding:0 1em;
- width:25%;
- font-size:0.75em;
- color:#333333;
- input {
- margin-top: 2.5em;
- }
- }
- select {
- width:100%;
- }
- }
-
hgroup {
h2 {
color:#737373;
font-size:1.25em;
margin-bottom:0.5em;
+ margin-top: 0;
}
h1 {
color:#333;
font-size:2.25em;
}
}
-
- .export_as_csv {
- font-size: 0.75em;
- font-weight: bold;
- }
diff --git a/web/cobrands/fixmystreet/fixmystreet.js b/web/cobrands/fixmystreet/fixmystreet.js
index 8673b6b76..d6ea9de18 100644
--- a/web/cobrands/fixmystreet/fixmystreet.js
+++ b/web/cobrands/fixmystreet/fixmystreet.js
@@ -112,17 +112,38 @@ function isR2L() {
},
make_multi: function() {
- var $this = $(this),
- all = $this.data('all');
- $this.multiSelect({
- allText: all,
- noneText: all,
- positionMenuWithin: $('#side'),
- presets: [{
- name: all,
- options: []
- }]
- });
+ // A convenience wrapper around $.multiSelect() that translates HTML
+ // data-* attributes into settings for the multiSelect constructor.
+ var $select = $(this);
+ var settings = {};
+
+ if ( $select.data('none') ) {
+ settings.noneText = $select.data('none');
+ }
+
+ if ( $select.data('all') ) {
+ settings.allText = $select.data('all');
+ settings.noneText = settings.noneText || settings.allText;
+ settings.presets = [];
+ settings.presets.push({
+ name: settings.allText,
+ options: $select.data('all-options') || []
+ });
+ }
+
+ if ( $select.data('extra') && $select.data('extra-options') ) {
+ settings.presets = settings.presets || [];
+ settings.presets.push({
+ name: $select.data('extra'),
+ options: $select.data('extra-options')
+ });
+ }
+
+ if ( document.querySelector('#side') && document.querySelector('#side').contains($select[0]) ) {
+ settings.positionMenuWithin = $('#side');
+ }
+
+ $select.multiSelect(settings);
}
});
@@ -161,12 +182,12 @@ fixmystreet.resize_to = {
if ($rapSidebar.length) {
$rapSidebar.hide();
$('<a>')
- .addClass('rap-notes-trigger button-fwd')
+ .addClass('rap-notes-trigger btn btn--block btn--forward')
.html(translation_strings.how_to_send)
.insertBefore($rapSidebar)
.on('click', function(){
$rapSidebar.slideToggle(100);
- $(this).toggleClass('clicked');
+ $(this).toggleClass('btn--forward btn--cancel');
});
}
@@ -195,40 +216,6 @@ fixmystreet.resize_to = {
}
};
-fixmystreet.geolocate = {
- setup: function(success_callback) {
- $('#geolocate_link').click(function(e) {
- var $link = $(this);
- e.preventDefault();
- // Spinny thing!
- if ($('.mobile').length) {
- $link.append(' <img src="/cobrands/fixmystreet/images/spinner-black.gif" alt="" align="bottom">');
- } else {
- var spincolor = $('<span>').css("color","white").css("color") === $('#front-main').css("background-color") ? 'white' : 'yellow';
- $link.append(' <img src="/cobrands/fixmystreet/images/spinner-' + spincolor + '.gif" alt="" align="bottom">');
- }
- geo_position_js.getCurrentPosition(function(pos) {
- $link.find('img').remove();
- success_callback(pos);
- }, function(err) {
- $link.find('img').remove();
- if (err.code === 1) { // User said no
- $link.html(translation_strings.geolocation_declined);
- } else if (err.code === 2) { // No position
- $link.html(translation_strings.geolocation_no_position);
- } else if (err.code === 3) { // Too long
- $link.html(translation_strings.geolocation_no_result);
- } else { // Unknown
- $link.html(translation_strings.geolocation_unknown);
- }
- }, {
- enableHighAccuracy: true,
- timeout: 10000
- });
- });
- }
-};
-
fixmystreet.update_list_item_buttons = function($list) {
if (!$list) {
return;
@@ -293,8 +280,10 @@ $.extend(fixmystreet.set_up, {
form_validation: function() {
// FIXME - needs to use translated string
- jQuery.validator.addMethod('validCategory', function(value, element) {
- return this.optional(element) || value != '-- Pick a category --'; }, translation_strings.category );
+ if (jQuery.validator) {
+ jQuery.validator.addMethod('validCategory', function(value, element) {
+ return this.optional(element) || value != '-- Pick a category --'; }, translation_strings.category );
+ }
var submitted = false;
@@ -343,9 +332,8 @@ $.extend(fixmystreet.set_up, {
} );
$('#facebook_sign_in, #twitter_sign_in').click(function(e){
- $('#form_email').removeClass();
- $('#form_rznvy').removeClass();
- $('#email').removeClass();
+ $('#form_username').removeClass();
+ $('#username').removeClass();
});
$('#planned_form').submit(function(e) {
@@ -399,27 +387,6 @@ $.extend(fixmystreet.set_up, {
});
},
- report_geolocation: function() {
- if (!geo_position_js.init()) {
- return;
- }
- if ($('.js-geolocate').length) {
- var link = $('.js-geolocate').attr('action');
- link = '<a href="' + link + '" id="geolocate_link">&hellip; ' + translation_strings.geolocate + '</a>';
- if ($('body.frontpage').length) {
- $('.js-geolocate').after(link);
- } else{
- $('.js-geolocate').append(link);
- }
- fixmystreet.geolocate.setup(function(pos) {
- var latitude = pos.coords.latitude;
- var longitude = pos.coords.longitude;
- var page = $('#geolocate_link').attr('href');
- location.href = page + '?latitude=' + latitude + ';longitude=' + longitude;
- });
- }
- },
-
category_change: function() {
// Deal with changes to report category.
@@ -427,12 +394,11 @@ $.extend(fixmystreet.set_up, {
// Delegation is necessary because #form_category may be replaced during the lifetime of the page
$("#problem_form").on("change.category", "select#form_category", function(){
var args = {
- category: $(this).val()
+ category: $(this).val(),
+ latitude: $('input[name="latitude"]').val(),
+ longitude: $('input[name="longitude"]').val()
};
- args.latitude = $('input[name="latitude"]').val();
- args.longitude = $('input[name="longitude"]').val();
-
$.getJSON('/report/new/category_extras', args, function(data) {
var $category_meta = $('#category_meta');
$('#js-councils_text').html(data.councils_text);
@@ -449,11 +415,84 @@ $.extend(fixmystreet.set_up, {
});
if (fixmystreet.hooks.update_problem_fields) {
- fixmystreet.hooks.update_problem_fields($(this).data('role'), $(this).data('body'), args);
+ args.prefill_reports = $(this).data('prefill');
+ args.role = $(this).data('role');
+ args.body = $(this).data('body');
+
+ fixmystreet.hooks.update_problem_fields(args);
}
});
},
+ category_groups: function() {
+ var $category_select = $("select#form_category.js-grouped-select");
+ if ($category_select.length === 0) {
+ return;
+ }
+ var $group_select = $("<select></select>").addClass("form-control");
+ var $subcategory_label = $("#form_subcategory_label");
+ var $empty_option = $category_select.find("option").first();
+
+ $group_select.change(function() {
+ var subcategory_id = $(this).find(":selected").data("subcategory_id");
+ $(".js-subcategory").hide();
+ if (subcategory_id === undefined) {
+ $subcategory_label.addClass("hidden");
+ $category_select.val($(this).val()).change();
+ } else {
+ $("#" + subcategory_id).show().change();
+ $("#form_subcategory_label").removeClass("hidden");
+ }
+ });
+
+ var subcategory_change = function() {
+ $category_select.val($(this).val()).change();
+ };
+
+ var add_optgroup = function(el) {
+ var $el = $(el);
+ var $options = $el.find("option");
+
+ if ($options.length == 1) {
+ add_option($options.get(0));
+ } else {
+ var label = $el.attr("label");
+ var subcategory_id = "subcategory_" + label.replace(/[^a-zA-Z]+/g, '');
+ var $opt = $("<option></option>").text(label).val(label);
+ $opt.data("subcategory_id", subcategory_id);
+ $group_select.append($opt);
+
+ var $sub_select = $("<select></select>").addClass("form-control js-subcategory");
+ $sub_select.attr("id", subcategory_id);
+ $sub_select.append($empty_option.clone());
+ $options.each(function() {
+ var $newopt = $(this).clone();
+ $sub_select.append($newopt);
+ // Make sure any preselected value is preserved in the new UI:
+ if ($newopt.attr('selected')) {
+ $group_select.val(label);
+ }
+ });
+ $sub_select.hide().insertAfter($subcategory_label).change(subcategory_change);
+ }
+ };
+
+ var add_option = function(el) {
+ $group_select.append($(el).clone());
+ };
+
+ $category_select.hide();
+ $group_select.insertAfter($category_select);
+ $category_select.find("optgroup, > option").each(function() {
+ if (this.tagName.toLowerCase() === 'optgroup') {
+ add_optgroup(this);
+ } else if (this.tagName.toLowerCase() === 'option') {
+ add_option(this);
+ }
+ });
+ $group_select.change();
+ },
+
hide_name: function() {
$('body').on('click', '.js-hide-name', function(e){
e.preventDefault();
@@ -592,31 +631,17 @@ $.extend(fixmystreet.set_up, {
}
},
- fixed_thead: function() {
- var thead = $('.nicetable thead');
- if (thead.fixedThead) {
- thead.fixedThead();
- }
- },
-
report_list_filters: function() {
// Hide the pin filter submit button. Not needed because we'll use JS
// to refresh the map when the filter inputs are changed.
$(".report-list-filters [type=submit]").hide();
- $('#statuses').make_multi();
- $('#filter_categories').make_multi();
+ $('.js-multiple').make_multi();
},
mobile_ui_tweaks: function() {
//move 'skip this step' link on mobile
$('.mobile #skip-this-step').addClass('chevron').wrap('<li>').parent().appendTo('#key-tools');
-
- // nicetable - on mobile shift 'name' col to be a row
- $('.mobile .nicetable th.title').remove();
- $('.mobile .nicetable td.title').each(function(i) {
- $(this).attr('colspan', 5).insertBefore($(this).parent('tr')).wrap('<tr class="heading" />');
- });
},
on_mobile_nav_click: function() {
@@ -660,7 +685,7 @@ $.extend(fixmystreet.set_up, {
}
$('#key-tools li:empty').remove();
$('#report-updates-data').insertAfter($('#map_box'));
- if (fixmystreet.page === 'report' || fixmystreet.page === 'reports') {
+ if (fixmystreet.page !== 'around' && !$('#toggle-fullscreen').length) {
$('#sub_map_links').append('<a href="#" id="toggle-fullscreen" class="expand" data-expand-text="'+ translation_strings.expand_map +'" data-compress-text="'+ translation_strings.collapse_map +'" >'+ translation_strings.expand_map +'</span>');
}
}
@@ -675,7 +700,6 @@ $.extend(fixmystreet.set_up, {
//add open/close toggle button (if its not there)
if ($('#map_links_toggle').length === 0) {
$('<span>')
- .html('&nbsp;')
.attr('id', 'map_links_toggle')
.on('click', function() {
var sub_map_links_css = {},
@@ -692,7 +716,7 @@ $.extend(fixmystreet.set_up, {
.prependTo('#sub_map_links');
}
- $('#toggle-fullscreen').click(function() {
+ $('#toggle-fullscreen').off('click').on('click', function() {
var btnClass = $('html').hasClass('map-fullscreen') ? 'expand' : 'compress';
var text = $(this).data(btnClass + '-text');
@@ -737,6 +761,19 @@ $.extend(fixmystreet.set_up, {
}
},
+ reporting_hide_phone_email: function() {
+ $('#form_username').on('keyup change', function() {
+ var username = $(this).val();
+ if (/^[^a-z]+$/i.test(username)) {
+ $('#js-hide-if-username-phone').hide();
+ $('#js-hide-if-username-email').show();
+ } else {
+ $('#js-hide-if-username-phone').show();
+ $('#js-hide-if-username-email').hide();
+ }
+ });
+ },
+
fancybox_images: function() {
// Fancybox fullscreen images
if (typeof $.fancybox == 'function') {
@@ -783,26 +820,6 @@ $.extend(fixmystreet.set_up, {
});
},
- promo_elements: function() {
- // Add close buttons for .promo's
- if ($('.promo').length) {
- $('.promo').append('<a href="#" class="close-promo">x</a>');
- }
- //only close its own parent
- $('.promo').on('click', '.close-promo', function(e) {
- e.preventDefault();
- $(this).parent('.promo').animate({
- 'height':0,
- 'margin-bottom':0,
- 'padding-top':0,
- 'padding-bottom':0
- },{
- duration:500,
- queue:false
- }).fadeOut(500);
- });
- },
-
ajax_history: function() {
$('#map_sidebar').on('click', '.item-list--reports a', function(e) {
if (e.metaKey || e.ctrlKey) {
@@ -914,6 +931,7 @@ fixmystreet.update_pin = function(lonlat, savePushState) {
if (category_select.val() != '-- Pick a category --') {
category_select.change();
}
+ fixmystreet.run(fixmystreet.set_up.category_groups);
if (data.contribute_as) {
var $select = $('.js-contribute-as');
@@ -930,6 +948,7 @@ fixmystreet.update_pin = function(lonlat, savePushState) {
if (!data.contribute_as.body) {
$select.find('option[value=body]').remove();
}
+ $select.change();
$('#js-contribute-as-wrapper').show();
} else {
$('#js-contribute-as-wrapper').hide();
@@ -993,6 +1012,7 @@ fixmystreet.display = {
}
$('#sub_map_links').hide();
+ $('.big-hide-pins-link').hide();
if ($('html').hasClass('mobile')) {
var $map_box = $('#map_box'),
width = $map_box.width(),
@@ -1072,6 +1092,8 @@ fixmystreet.display = {
fixmystreet.map.updateSize();
}
+ $('.big-hide-pins-link').hide();
+
// If this is the first individual report we've loaded, remove the
// "all reports" sub_map_links but store them in a global variable
// so we can reinsert them when the user returns to the all reports
@@ -1132,8 +1154,12 @@ fixmystreet.display = {
reports_list: function(reportListUrl, callback) {
// If the report list is already in the DOM,
// just reveal it, rather than loading new page.
- if ($('#side').length) {
- $('#side').show();
+ var side = document.getElementById('side');
+ if (side) {
+ if (side.style.display !== 'none') {
+ return;
+ }
+ side.style.display = '';
$('#side-form').hide();
// Report page may have been one or two columns, remove either
$('#side-report').remove();
@@ -1151,6 +1177,7 @@ fixmystreet.display = {
$('#sub_map_links').replaceWith(fixmystreet.original.sub_map_links);
delete fixmystreet.original.sub_map_links;
}
+ $('.big-hide-pins-link').show();
fixmystreet.set_up.map_controls();
window.selected_problem_id = undefined;
@@ -1216,17 +1243,27 @@ $(function() {
$('#filter_categories').add('#statuses').add('#sort').find('option')
.prop('selected', function() { return this.defaultSelected; })
.trigger('change.multiselect');
+ if (fixmystreet.utils && fixmystreet.utils.parse_query_string) {
+ var qs = fixmystreet.utils.parse_query_string();
+ var page = qs.p || 1;
+ $('.pagination').data('page', page)
+ .trigger('change.filters');
+ }
fixmystreet.display.reports_list(location.href);
} else if ('reportId' in e.state) {
fixmystreet.display.report(e.state.reportPageUrl, e.state.reportId);
} else if ('newReportAtLonlat' in e.state) {
fixmystreet.display.begin_report(e.state.newReportAtLonlat, false);
+ } else if ('page_change' in e.state) {
+ $('.pagination').data('page', e.state.page_change.page)
+ .trigger('change.filters');
} else if ('filter_change' in e.state) {
$('#filter_categories').val(e.state.filter_change.filter_categories);
$('#statuses').val(e.state.filter_change.statuses);
$('#sort').val(e.state.filter_change.sort);
$('#filter_categories').add('#statuses')
.trigger('change.filters').trigger('change.multiselect');
+ fixmystreet.display.reports_list(location.href);
} else if ('hashchange' in e.state) {
// This popstate was just here because the hash changed.
// (eg: mobile nav click.) We want to ignore it.
diff --git a/web/cobrands/fixmystreet/front.js b/web/cobrands/fixmystreet/front.js
deleted file mode 100644
index a5e3bac98..000000000
--- a/web/cobrands/fixmystreet/front.js
+++ /dev/null
@@ -1,12 +0,0 @@
-yepnope.addPrefix( 'preload', function ( resource ) {
- resource.noexec = true;
- return resource;
-});
-
-(function(){
- var scripts = document.getElementById('script_front').getAttribute('data-scripts').split(',');
- for (var i=0; i<scripts.length; i++) {
- scripts[i] = 'preload!' + scripts[i];
- }
- yepnope({ load: scripts });
-})();
diff --git a/web/cobrands/fixmystreet/images/button-icons.png b/web/cobrands/fixmystreet/images/button-icons.png
new file mode 100644
index 000000000..3808ba558
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/button-icons.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/button-icons.svg b/web/cobrands/fixmystreet/images/button-icons.svg
new file mode 100644
index 000000000..216d2e89a
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/button-icons.svg
@@ -0,0 +1 @@
+<svg width="112" height="16" viewBox="0 0 112 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path fill="#000" fill-rule="nonzero" d="M18 0h6.5L31 8l-6.5 8H18l6.5-8M14 0H7.5L1 8l6.5 8H14L7.5 8"/><path d="M109 8.5a5 5 0 0 1-4.5 4.4v-3h-1v3A5 5 0 0 1 99 8.5h3v-1h-3a5 5 0 0 1 4.5-4.5v3h1V3a5 5 0 0 1 4.5 4.5h-3v1h3zm1-1a6 6 0 0 0-5.5-5.5V0h-1v2A6 6 0 0 0 98 7.5h-2v1h2a6 6 0 0 0 5.5 5.4V16h1v-2a6 6 0 0 0 5.5-5.5h2v-1h-2zM95.3 0h-.2L80.3 7a.6.6 0 0 0 0 1.2l5.4 2 2.1 5.4c.1.2.3.4.6.4.2 0 .4-.1.5-.3L96 .9V.3a.6.6 0 0 0-.6-.3zm-2.8 2.6l-6.4 6.5-4-1.6 10.4-4.9zm.9.9l-5 10.4-1.5-4 6.5-6.4zM40 4.5L35.5 0 32 3.5 36.5 8 32 12.5l3.5 3.5 4.5-4.5 4.5 4.5 3.5-3.5L43.5 8 48 3.5 44.5 0 40 4.5" fill="#000"/><path d="M67.4 15.2l-.2-.4 4.8-2.6 4.8 2.6-.2.4-.3-.4a7.8 7.8 0 0 0 .5-.4l.4.4-.5.1-1-5.4 4-3.8.3.4-.5.1a7.7 7.7 0 0 0-.2-.6l.5-.2V6l-5.5-.8-2.3-5 .4-.2v.5a8 8 0 0 0-.6 0V0l.4.2-2.4 5-5.4.7v-.5l.4.2a7.7 7.7 0 0 0-.2.6l-.5-.1.3-.4 4 3.8-1 5.4h-.5l.4-.5a7.8 7.8 0 0 0 .5.4l-.3.4z" stroke="#000"/><path d="M51.4 15.2l4.6-2.4 4.6 2.4.6-.4-1-5.1L64 6.1l-.2-.7-5.2-.7L56.3 0a8.4 8.4 0 0 0-.6 0l-2.3 4.7-5.2.7-.2.7 3.7 3.6-.9 5.1.6.4z" fill="#00BD08"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/chevron-grey-left.svg b/web/cobrands/fixmystreet/images/chevron-grey-left.svg
deleted file mode 100644
index 522a6f920..000000000
--- a/web/cobrands/fixmystreet/images/chevron-grey-left.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="27" height="33"><path fill="#d1d1d1" d="M26 0H13L0 16l13 16h13L13 16"/></svg>
diff --git a/web/cobrands/fixmystreet/images/chevron-grey-right.svg b/web/cobrands/fixmystreet/images/chevron-grey-right.svg
deleted file mode 100644
index 4715a03f8..000000000
--- a/web/cobrands/fixmystreet/images/chevron-grey-right.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="27" height="33"><path fill="#d1d1d1" d="M0 0h13l13 16-13 16H0l13-16"/></svg>
diff --git a/web/cobrands/fixmystreet/images/compress.png b/web/cobrands/fixmystreet/images/compress.png
deleted file mode 100644
index 500673956..000000000
--- a/web/cobrands/fixmystreet/images/compress.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/compress.svg b/web/cobrands/fixmystreet/images/compress.svg
deleted file mode 100644
index 68efd6b31..000000000
--- a/web/cobrands/fixmystreet/images/compress.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="384" height="448" viewBox="0 0 384 448"><path fill="#fff" d="M192 240v112c0 8.75-7.25 16-16 16-4.25 0-8.25-1.75-11.25-4.75l-36-36-83 83c-1.5 1.5-3.75 2.5-5.75 2.5s-4.25-1-5.75-2.5l-28.5-28.5c-1.5-1.5-2.5-3.75-2.5-5.75s1-4.25 2.5-5.75l83-83-36-36c-3-3-4.75-7-4.75-11.25 0-8.75 7.25-16 16-16h112c8.75 0 16 7.25 16 16zM380.75 72c0 2-1 4.25-2.5 5.75l-83 83 36 36c3 3 4.75 7 4.75 11.25 0 8.75-7.25 16-16 16H208c-8.75 0-16-7.25-16-16V96c0-8.75 7.25-16 16-16 4.25 0 8.25 1.75 11.25 4.75l36 36 83-83c1.5-1.5 3.75-2.5 5.75-2.5s4.25 1 5.75 2.5l28.5 28.5c1.5 1.5 2.5 3.75 2.5 5.75z"/></svg>
diff --git a/web/cobrands/fixmystreet/images/compress@2x.png b/web/cobrands/fixmystreet/images/compress@2x.png
deleted file mode 100644
index 8acf34850..000000000
--- a/web/cobrands/fixmystreet/images/compress@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/cross-white.png b/web/cobrands/fixmystreet/images/cross-white.png
deleted file mode 100644
index eb21ae816..000000000
--- a/web/cobrands/fixmystreet/images/cross-white.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/cross-white.svg b/web/cobrands/fixmystreet/images/cross-white.svg
deleted file mode 100644
index 8b57e699a..000000000
--- a/web/cobrands/fixmystreet/images/cross-white.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="26" height="26" viewBox="0 0 26 26" xmlns="http://www.w3.org/2000/svg"><title>Artboard 1 Copy</title><path d="M12.993 7.336L5.657 0 0 5.657l7.336 7.336L0 20.33l5.657 5.656 7.336-7.336 7.336 7.336 5.656-5.657-7.336-7.337 7.336-7.336L20.33 0l-7.337 7.336" fill="#FFF" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/crosshairs.png b/web/cobrands/fixmystreet/images/crosshairs.png
deleted file mode 100644
index e3f216814..000000000
--- a/web/cobrands/fixmystreet/images/crosshairs.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/crosshairs.svg b/web/cobrands/fixmystreet/images/crosshairs.svg
deleted file mode 100644
index 80b5172c6..000000000
--- a/web/cobrands/fixmystreet/images/crosshairs.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><title>icon-crosshairs</title><path d="M13.013 8.48c-.242 2.344-2.117 4.204-4.475 4.445V9.977H7.534v2.953c-2.375-.225-4.268-2.095-4.512-4.45h3.005v-.997H3.02C3.246 5.113 5.146 3.227 7.533 3v2.986h1.004V3.003c2.37.243 4.25 2.12 4.478 4.48h-2.97v.998h2.967zm1.008-.997c-.232-2.91-2.558-5.232-5.482-5.48V0H7.534v2.002c-2.942.233-5.285 2.56-5.52 5.48H0v1h2.017c.25 2.904 2.587 5.214 5.517 5.446V16h1.004v-2.074c2.912-.247 5.232-2.55 5.48-5.445H16v-.997h-1.98z" fill="#000" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/crosshairs@2x.png b/web/cobrands/fixmystreet/images/crosshairs@2x.png
deleted file mode 100644
index c7caa518a..000000000
--- a/web/cobrands/fixmystreet/images/crosshairs@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/expand.png b/web/cobrands/fixmystreet/images/expand.png
deleted file mode 100644
index c0c129fb7..000000000
--- a/web/cobrands/fixmystreet/images/expand.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/expand.svg b/web/cobrands/fixmystreet/images/expand.svg
deleted file mode 100644
index 1f063b4b7..000000000
--- a/web/cobrands/fixmystreet/images/expand.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="384" height="448" viewBox="0 0 384 448"><path fill="#fff" d="M188.75 264c0 2-1 4.25-2.5 5.75l-83 83 36 36c3 3 4.75 7 4.75 11.25 0 8.75-7.25 16-16 16H16c-8.75 0-16-7.25-16-16V288c0-8.75 7.25-16 16-16 4.25 0 8.25 1.75 11.25 4.75l36 36 83-83c1.5-1.5 3.75-2.5 5.75-2.5s4.25 1 5.75 2.5l28.5 28.5c1.5 1.5 2.5 3.75 2.5 5.75zM384 48v112c0 8.75-7.25 16-16 16-4.25 0-8.25-1.75-11.25-4.75l-36-36-83 83c-1.5 1.5-3.75 2.5-5.75 2.5s-4.25-1-5.75-2.5l-28.5-28.5c-1.5-1.5-2.5-3.75-2.5-5.75s1-4.25 2.5-5.75l83-83-36-36c-3-3-4.75-7-4.75-11.25 0-8.75 7.25-16 16-16h112c8.75 0 16 7.25 16 16z"/></svg>
diff --git a/web/cobrands/fixmystreet/images/expand@2x.png b/web/cobrands/fixmystreet/images/expand@2x.png
deleted file mode 100644
index 6abc9c1a4..000000000
--- a/web/cobrands/fixmystreet/images/expand@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/fms-pan-zoom.png b/web/cobrands/fixmystreet/images/fms-pan-zoom.png
new file mode 100644
index 000000000..37fdc5335
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/fms-pan-zoom.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/fms-pan-zoom.svg b/web/cobrands/fixmystreet/images/fms-pan-zoom.svg
new file mode 100644
index 000000000..7ac54539f
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/fms-pan-zoom.svg
@@ -0,0 +1 @@
+<svg width="156" height="72" viewBox="0 0 156 72" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="#222" width="36" height="72" rx="4"/><path d="M120 68V4a4 4 0 0 0-4-4H88a4 4 0 0 0-4 4v68h36v-4zM156 4V0h-36v68a4 4 0 0 0 4 4h28a4 4 0 0 0 4-4V4zM80 0H40a4 4 0 0 0-4 4v28a4 4 0 0 0 4 4h44V0h-4zM40 36h40a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H36V36h4z" fill="#222"/><path fill="#FFF" d="M18 15l5 6H13zM51 18l6-5v10zM69 54l-6 5V49zM18 57l5-6H13zM94 19h16v4H94z"/><path fill="#FFF" d="M104 13v16h-4V13zM130 52h16v4h-16z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/hide-pins-link.png b/web/cobrands/fixmystreet/images/hide-pins-link.png
new file mode 100644
index 000000000..0171eef35
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/hide-pins-link.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/hide-pins-link.svg b/web/cobrands/fixmystreet/images/hide-pins-link.svg
new file mode 100644
index 000000000..5043fafa5
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/hide-pins-link.svg
@@ -0,0 +1 @@
+<svg width="36" height="36" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><g fill="#FFF" fill-rule="evenodd"><path d="M25.4 21.1l-3.7-3.6A4 4 0 0 0 18 12a4 4 0 0 0-1.5.3L13 8.6a9 9 0 0 1 12.5 12.5zm-4.5 4l-3 6-3.4-6.8a9 9 0 0 1-5.2-10.7L21 25.2zM7.4 6L30 28.6 28.6 30 6 7.4z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-active-hover@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-active-hover@2x.png
deleted file mode 100644
index b52123a4a..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-active-hover@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-active@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-active@2x.png
deleted file mode 100644
index bcd5d8c0d..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-active@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-down-hover@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-down-hover@2x.png
deleted file mode 100644
index 3deb4c1d1..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-down-hover@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-down@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-down@2x.png
deleted file mode 100644
index cfdadf2e4..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-down@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-inactive-hover@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-inactive-hover@2x.png
deleted file mode 100644
index b561473fd..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-inactive-hover@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-inactive@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-inactive@2x.png
deleted file mode 100644
index 47b86d144..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-inactive@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-mini.png b/web/cobrands/fixmystreet/images/icon-shortlist-mini.png
deleted file mode 100644
index 730dd49df..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-mini.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-mini.svg b/web/cobrands/fixmystreet/images/icon-shortlist-mini.svg
deleted file mode 100644
index 98b89ab2e..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-mini.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>icon-shortlist</title><defs><path d="M3.4 15.22L8 12.804l4.6 2.418c.19-.126.377-.262.557-.405l-.88-5.12L16 6.067c-.062-.222-.133-.44-.212-.654l-5.144-.747-2.3-4.66C8.232.003 8.117 0 8 0c-.116 0-.23.002-.345.007l-2.3 4.66-5.143.746c-.08.214-.15.432-.212.654l3.722 3.628-.88 5.12c.18.143.367.28.56.406z" id="a"/><mask id="b" x="0" y="0" width="16" height="15.221" fill="#fff"><use xlink:href="#a"/></mask></defs><use mask="url(#b)" xlink:href="#a" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-mini@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-mini@2x.png
deleted file mode 100644
index 5a332f431..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-mini@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-taken-hover@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-taken-hover@2x.png
deleted file mode 100644
index 3e8bbcd58..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-taken-hover@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-taken@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-taken@2x.png
deleted file mode 100644
index 1c5759701..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-taken@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-up-hover@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-up-hover@2x.png
deleted file mode 100644
index 233864de9..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-up-hover@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlist-up@2x.png b/web/cobrands/fixmystreet/images/icon-shortlist-up@2x.png
deleted file mode 100644
index 922cc0a94..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlist-up@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlisted-mini.png b/web/cobrands/fixmystreet/images/icon-shortlisted-mini.png
deleted file mode 100644
index 94cdd14fb..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlisted-mini.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/icon-shortlisted-mini.svg b/web/cobrands/fixmystreet/images/icon-shortlisted-mini.svg
deleted file mode 100644
index 1df25d7e7..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlisted-mini.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><title>icon-shortlisted</title><path d="M3.4 15.22L8 12.804l4.6 2.418c.19-.126.377-.262.557-.405l-.88-5.12L16 6.067c-.062-.222-.133-.44-.212-.654l-5.144-.747-2.3-4.66C8.232.003 8.117 0 8 0c-.116 0-.23.002-.345.007l-2.3 4.66-5.143.746c-.08.214-.15.432-.212.654l3.722 3.628-.88 5.12c.18.143.367.28.56.406z" fill="#00BD08" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/icon-shortlisted-mini@2x.png b/web/cobrands/fixmystreet/images/icon-shortlisted-mini@2x.png
deleted file mode 100644
index 8da64e9ec..000000000
--- a/web/cobrands/fixmystreet/images/icon-shortlisted-mini@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/ie_key_tools_sprite.gif b/web/cobrands/fixmystreet/images/ie_key_tools_sprite.gif
deleted file mode 100644
index aed0bafa3..000000000
--- a/web/cobrands/fixmystreet/images/ie_key_tools_sprite.gif
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/ie_sub_map_links_sprite.gif b/web/cobrands/fixmystreet/images/ie_sub_map_links_sprite.gif
deleted file mode 100644
index 1afd136e7..000000000
--- a/web/cobrands/fixmystreet/images/ie_sub_map_links_sprite.gif
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/magnify.png b/web/cobrands/fixmystreet/images/magnify.png
new file mode 100644
index 000000000..372818a04
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/magnify.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/magnify.svg b/web/cobrands/fixmystreet/images/magnify.svg
new file mode 100644
index 000000000..30f7e68ff
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/magnify.svg
@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M12.8 10.8L16 14l-2 2-3.2-3.2a7 7 0 1 1 2-2zM8 6h2v2H8v2H6V8H4V6h2V4h2v2zm-1 6A5 5 0 1 0 7 2a5 5 0 0 0 0 10z" fill="#000" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/map-marker.png b/web/cobrands/fixmystreet/images/map-marker.png
deleted file mode 100644
index 5f124dbc6..000000000
--- a/web/cobrands/fixmystreet/images/map-marker.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/map-marker.svg b/web/cobrands/fixmystreet/images/map-marker.svg
deleted file mode 100755
index a84a14526..000000000
--- a/web/cobrands/fixmystreet/images/map-marker.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="28" viewBox="0 0 16 28">
-<path fill="#fff" d="M12 10c0-2.203-1.797-4-4-4s-4 1.797-4 4 1.797 4 4 4 4-1.797 4-4zM16 10c0 0.953-0.109 1.937-0.516 2.797l-5.688 12.094c-0.328 0.688-1.047 1.109-1.797 1.109s-1.469-0.422-1.781-1.109l-5.703-12.094c-0.406-0.859-0.516-1.844-0.516-2.797 0-4.422 3.578-8 8-8s8 3.578 8 8z"></path>
-</svg>
diff --git a/web/cobrands/fixmystreet/images/map-marker@2x.png b/web/cobrands/fixmystreet/images/map-marker@2x.png
deleted file mode 100644
index dd2df39d3..000000000
--- a/web/cobrands/fixmystreet/images/map-marker@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/map-tools.png b/web/cobrands/fixmystreet/images/map-tools.png
new file mode 100644
index 000000000..037fb7af2
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/map-tools.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/map-tools.svg b/web/cobrands/fixmystreet/images/map-tools.svg
new file mode 100644
index 000000000..5be4d71d0
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/map-tools.svg
@@ -0,0 +1 @@
+<svg width="96" height="12" viewBox="0 0 96 12" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M15.7 9.6a1.4 1.4 0 1 1-2.7 0 1.4 1.4 0 0 1 2.7 0zM13 4.4v2c2.5 0 4.6 2 4.6 4.6h2c0-3.6-3-6.6-6.6-6.6zM13 3a8 8 0 0 1 8 8h2A10 10 0 0 0 13 1v2z" fill="#FFF" fill-rule="nonzero"/><path d="M26 4L31 9.2 29.7 12 28 8.7A3.9 3.9 0 0 1 26 4zm1.8-2.2A4 4 0 0 1 33.1 7l-5.3-5.3zM25.7 1L34 9.3l-.7.7L25 1.7l.7-.7zM42.5 12a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11zm0-1.5a4 4 0 1 0 0-8 4 4 0 0 0 0 8z" fill="#FFF"/><path stroke="#FFF" d="M42 3v3l2 2"/><path fill="#FFF" d="M5 2L1 6l4 4zM7 2l4 4-4 4z"/><g fill="#FFF"><path d="M54 5.4l1-1.1c.2 0 .3.2.4.3a3 3 0 0 1 0 4.2L54 10.2A3 3 0 1 1 49.8 6l1-1-.3.3.6 1.5-.3.3A1.5 1.5 0 0 0 53 9l1.5-1.3a1.5 1.5 0 0 0-.5-2.4z"/><path d="M54 6.6l-1 1.1a3 3 0 0 1-.4-4.6L54 1.9A3 3 0 1 1 58.2 6l-1 1 .3-.3-.6-1.5.3-.3A1.5 1.5 0 0 0 55 3l-1.5 1.3a1.5 1.5 0 0 0 .5 2.4z"/></g><path d="M62.6 12l3.4-1.7 3.4 1.7c.2 0 .3-.2.5-.3L69.2 8 72 5.4l-.2-.5-3.8-.5L66.3 1a6.6 6.6 0 0 0-.6 0L64 4.4l-3.8.5-.2.5L62.8 8l-.7 3.7.5.3zM88.6 6H90v5l-1.8-1.8-2.5 2.5-1.4-1.4 2.5-2.5L85 6h3.6zm3.2-3.2L94.3.3l1.4 1.4-2.5 2.5L95.1 6H90V1l1.8 1.8zM78 7.4l-2.8 2.8 1.9 1.8H72V7l1.8 1.8L76.6 6 78 7.4zM79.4 6l2.8-2.8L84.1 5 84 0h-5l1.8 1.8L78 4.6 79.4 6z" fill="#FFF"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/navigate.png b/web/cobrands/fixmystreet/images/navigate.png
deleted file mode 100644
index c37331e0d..000000000
--- a/web/cobrands/fixmystreet/images/navigate.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/navigate.svg b/web/cobrands/fixmystreet/images/navigate.svg
deleted file mode 100644
index a00b08825..000000000
--- a/web/cobrands/fixmystreet/images/navigate.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><title>icon-navigate</title><path d="M15.348.002c-.072.007-.142.026-.206.057L.342 7.057c-.216.103-.35.324-.342.562.008.24.158.45.38.538l5.356 2.106 2.106 5.356c.088.222.3.372.538.38.238.008.46-.126.562-.342l7-14.8c.092-.194.074-.423-.05-.6-.122-.177-.33-.274-.544-.256zm-2.82 2.62L6.055 9.095 2.11 7.546 12.53 2.62zm.857.836l-4.937 10.43-1.55-3.942 6.487-6.488z" fill="#000" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/navigate@2x.png b/web/cobrands/fixmystreet/images/navigate@2x.png
deleted file mode 100644
index 1ea3659eb..000000000
--- a/web/cobrands/fixmystreet/images/navigate@2x.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/padlock@2.png b/web/cobrands/fixmystreet/images/padlock@2.png
deleted file mode 100644
index 368d344e3..000000000
--- a/web/cobrands/fixmystreet/images/padlock@2.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/phone-in-circle-100px.png b/web/cobrands/fixmystreet/images/phone-in-circle-100px.png
new file mode 100644
index 000000000..0fab32f8a
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/phone-in-circle-100px.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/report-tools.png b/web/cobrands/fixmystreet/images/report-tools.png
new file mode 100644
index 000000000..5a6a2cdfc
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/report-tools.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/report-tools.svg b/web/cobrands/fixmystreet/images/report-tools.svg
new file mode 100644
index 000000000..6512fde8a
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/report-tools.svg
@@ -0,0 +1 @@
+<svg width="112" height="16" viewBox="0 0 112 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M104 1c.3 0 .6.2.8.4l7 12.3c.2.2.2.6 0 .9 0 .2-.4.4-.7.4H97a.9.9 0 0 1-.8-.4.9.9 0 0 1 0-1l7.1-12.2c.2-.2.5-.4.8-.4zm-1 10.2v2h2v-2h-2zm0-6.1v5h2v-5h-2z" fill="#D1D1D1" fill-rule="nonzero"/><g transform="translate(81)"><path stroke="#D1D1D1" stroke-width="2" d="M11 3L3 8l8 5"/><circle fill="#D1D1D1" cx="11" cy="3" r="3"/><circle fill="#D1D1D1" cx="3" cy="8" r="3"/><circle fill="#D1D1D1" cx="11" cy="13" r="3"/></g><path d="M68.8 13.1a1.9 1.9 0 1 1-3.8 0 1.9 1.9 0 0 1 3.8 0zM65 5.8v2.8c3.5 0 6.4 2.9 6.4 6.4h2.8c0-5-4.1-9.2-9.2-9.2zm0-2c6.2 0 11.2 5 11.2 11.2H79A14 14 0 0 0 65 1v2.8zM18 0h6.5L31 8l-6.5 8H18l6.5-8M48 2v6.5L40 15l-8-6.5V2l8 6.5m8 5.5V7.5L56 1l8 6.5V14l-8-6.5M14 0H7.5L1 8l6.5 8H14L7.5 8" fill="#D1D1D1" fill-rule="nonzero"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/share.png b/web/cobrands/fixmystreet/images/share.png
deleted file mode 100644
index 6eb1b6cdb..000000000
--- a/web/cobrands/fixmystreet/images/share.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/shortlist@2.png b/web/cobrands/fixmystreet/images/shortlist@2.png
deleted file mode 100644
index d786b33d3..000000000
--- a/web/cobrands/fixmystreet/images/shortlist@2.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/site-logo.png b/web/cobrands/fixmystreet/images/site-logo.png
new file mode 100644
index 000000000..95075b1f8
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/site-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/site-logo.svg b/web/cobrands/fixmystreet/images/site-logo.svg
new file mode 100644
index 000000000..b648646d2
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/site-logo.svg
@@ -0,0 +1 @@
+<svg width="175" height="35" viewBox="0 0 175 35" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M16.8 30c-2.2 0-4.3-.5-6.1-1.5l5.6-5.8 1.5.1a6 6 0 0 0 5.7-7.4l-3 3.1-3.6-.7-.7-3.4 3.2-3.1c-.5-.2-1-.3-1.6-.3a6 6 0 0 0-6 6c0 .6.2 1.3.4 1.9l-5.7 5.8c-1.4-2-2.2-4.4-2.2-7 0-6.8 5.6-12.4 12.5-12.4 6.8 0 12.4 5.6 12.4 12.4 0 6.8-5.6 12.4-12.4 12.4m0-28C8 2 1 9 1 17.7s7 15.6 15.8 15.6c8.7 0 15.7-7 15.7-15.6s-7-15.6-15.7-15.6" fill="#FFF"/><path d="M94.4 30.2c1.1 0 1.9-.9 2.3-2l.8-1.8L93 16c-.2-.4-.5-.5-1-.5H92V14h.8c1.1 0 1.5.2 2 1.4l3.2 7.8.4 1.3.5-1.3 3.1-7.8c.4-1.2.8-1.4 2-1.4h.7v1.5h-.2c-.5 0-.7 0-.9.5l-5.4 13.1c-.7 1.6-2 2.6-3.6 2.6-1.8 0-2.8-1.2-2.8-1.2l.8-1.2s.8.9 2 .9M70.8 25h1c.3 0 .5-.2.5-.6L73.6 9h1.8l4.7 10.2.8 2 1-2L86.4 9h1.8l1.2 15.4c0 .4.2.6.6.6h.9v1.5h-1.7c-1 0-1.5-.5-1.5-1.5l-.9-10.6v-2.5l-1 2.5-4.2 8.8h-1.5L76 14.4l-1-2.5v2.5L74 25c0 1-.4 1.5-1.5 1.5h-1.7V25zm-7.6-5l-2.8-4c-.3-.4-.6-.5-1.1-.5h-.5V14h.9c1.3 0 1.6.2 2.3 1.4L64 18l.5.8.4-.8 1.9-2.7c.7-1.2 1-1.4 2.3-1.4h1v1.5h-.6c-.5 0-.9 0-1.2.5l-2.7 4 4.4 6.5h-2l-3-4.7-.5-.6-.5.6-3 4.7h-2l4.4-6.5zm-9-11H56v2.2h-1.6V9zm.1 7c0-.3-.2-.5-.5-.5h-1V14h1.7c1 0 1.5.4 1.5 1.5v9c0 .4.2.5.6.5h1v1.5H56c-1.1 0-1.6-.5-1.6-1.5v-9zm-12.1-5.4h-1.6V9H50c1.1 0 1.5.5 1.5 1.5v1.8H50V11c0-.4-.2-.5-.5-.5H44V17h6.3v1.6h-6.3v7.8h-1.8v-16z" fill="#FDD008"/><path d="M170.4 13.6l1.6.1c.2.1.7.5.7 1.2l-.2.7c-.4.7-.9.7-2.1.7v6.2c0 1.1.4 1.2 1.3 1.2 1 0 1.2.8 1.2 1.3 0 1.5-1.7 1.6-2.7 1.6-3.4 0-3.5-2-3.5-3.4v-6.9l-1.2-.1c0-.1-.6-.4-.6-1.3v-.6c.4-.7 1.2-.7 1.8-.7v-1.8c0-.6 0-1.2.5-1.7 0-.1.5-.6 1.3-.6l.7.1c1.1.4 1.1 1.5 1.2 2.2v1.8zm-9.4 4.8c-.1-.4-.2-.8-.5-1.2-.4-.7-1.2-1-2-1-2 0-2.5 1.4-2.8 2.2h5.3zm-5.3 2.8c0 .6.2 1.3.8 2 .8.8 1.8.8 2 .8 1 0 1.6-.4 1.8-.7l.5-.4c.4-.3.7-.4 1-.4 1 0 1.7.7 1.7 1.6 0 .6-.3 1.1-1 1.6a7 7 0 0 1-4 1.1c-5 0-6.6-3.6-6.6-6.7 0-3.8 2.5-6.8 6.6-6.8 4.6 0 6 3.7 6 6.1 0 1.7-1 1.7-1.6 1.8h-7.2zm-8.3-2.8c-.1-.4-.2-.8-.5-1.2-.4-.7-1.2-1-2-1-2 0-2.5 1.4-2.8 2.2h5.3zm-5.3 2.8c.1.6.2 1.3.8 2 .8.8 1.8.8 2 .8 1 0 1.6-.4 1.9-.7l.4-.4c.4-.3.8-.4 1-.4 1 0 1.7.7 1.7 1.6 0 .6-.2 1.1-1 1.6a7 7 0 0 1-4 1.1c-5 0-6.6-3.6-6.6-6.7 0-3.8 2.5-6.8 6.6-6.8 4.6 0 6 3.7 6 6.1 0 1.7-1 1.7-1.6 1.8h-7.2zm-12.3-5.4c0-.6 0-1.3.6-1.9.2-.2.6-.4 1.2-.4l.8.1c1 .5 1 1.6 1 2v.4c0-.4.2-.8.5-1.2a3 3 0 0 1 2.6-1.4c1.3 0 1.8.8 1.8 1.6 0 .5-.1 1-.4 1.2-.4.4-.9.5-1.3.5h-1c-2 .4-2 2.3-2 3.7v4c0 .5 0 1.3-.5 1.7-.3.4-.8.6-1.3.6l-.7-.1c-1.2-.4-1.3-1.5-1.3-2.3v-8.5zm-3.6-2.2l1.6.1c.2.1.7.5.7 1.2 0 .3 0 .5-.2.7-.3.7-.8.7-2.1.7v6.2c0 1.1.4 1.2 1.3 1.2 1 0 1.2.8 1.2 1.3 0 1.5-1.7 1.6-2.7 1.6-3.4 0-3.5-2-3.5-3.4v-6.9l-1.1-.1c-.2-.1-.7-.4-.7-1.3l.1-.6c.4-.7 1.1-.7 1.7-.7v-1.8c0-.6 0-1.2.5-1.7.1-.1.5-.6 1.4-.6l.7.1c1 .4 1 1.5 1 2.2v1.8zm-6.3-1c0 1.1-1.1 1.8-2 1.8-.6 0-1-.2-1.5-.9l-.4-.5c-.6-.7-1.5-1.2-3-1.2-1.7 0-3 .6-3 1.8 0 .4.2.7.5 1 .4.3 1 .5 2.3.8 3.9 1 4.3 1.2 5.2 1.8 1 .7 2.2 2 2.2 4 0 1.8-.9 3.3-2 4.2a8.4 8.4 0 0 1-5.3 1.5c-1.8 0-3.4-.3-4.7-1-2.7-1.3-2.8-3-2.8-3.4 0-1.2 1-2 2-2 .7 0 1.3.5 1.8 1.4.6.8 1.2 1.7 3.8 1.7.6 0 1.2 0 1.7-.3.2 0 1.4-.5 1.4-1.8 0-.7-.3-1-.8-1.4-.5-.3-.8-.4-3.2-1-3-.8-6.2-1.6-6.2-5.3 0-3.1 2.5-5.3 7.1-5.3 4.4 0 6.9 2.3 6.9 4z" fill="#FFF"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet/images/sprite.png b/web/cobrands/fixmystreet/images/sprite.png
deleted file mode 100644
index 61c27b32a..000000000
--- a/web/cobrands/fixmystreet/images/sprite.png
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/triangle-grey-left.svg b/web/cobrands/fixmystreet/images/triangle-grey-left.svg
deleted file mode 100644
index 26ea59a23..000000000
--- a/web/cobrands/fixmystreet/images/triangle-grey-left.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="4" height="7">
- <polygon points="3,0 0,3 3,6" fill="#f1f1f1"/>
-</svg>
diff --git a/web/cobrands/fixmystreet/images/triangle-grey-right.svg b/web/cobrands/fixmystreet/images/triangle-grey-right.svg
deleted file mode 100644
index 8ea307b21..000000000
--- a/web/cobrands/fixmystreet/images/triangle-grey-right.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="4" height="7">
- <polygon points="0,0 3,3 0,6" fill="#f1f1f1"/>
-</svg>
diff --git a/web/cobrands/fixmystreet/map.js b/web/cobrands/fixmystreet/map.js
index f3bf1a19f..9303c22b7 100644
--- a/web/cobrands/fixmystreet/map.js
+++ b/web/cobrands/fixmystreet/map.js
@@ -3,7 +3,7 @@ var fixmystreet = fixmystreet || {};
(function(){
var map_data = document.getElementById('js-map-data'),
- map_keys = [ 'area', 'all_pins', 'latitude', 'longitude', 'zoomToBounds', 'zoom', 'pin_prefix', 'pin_new_report_colour', 'numZoomLevels', 'zoomOffset', 'map_type', 'key' ],
+ map_keys = [ 'area', 'latitude', 'longitude', 'zoomToBounds', 'zoom', 'pin_prefix', 'pin_new_report_colour', 'numZoomLevels', 'zoomOffset', 'map_type', 'key' ],
numeric = { zoom: 1, numZoomLevels: 1, zoomOffset: 1, id: 1 },
pin_keys = [ 'lat', 'lon', 'colour', 'id', 'title', 'type' ];
diff --git a/web/cobrands/fixmystreet/prefetch-polyfill.js b/web/cobrands/fixmystreet/prefetch-polyfill.js
new file mode 100644
index 000000000..a8b0f3dbf
--- /dev/null
+++ b/web/cobrands/fixmystreet/prefetch-polyfill.js
@@ -0,0 +1,28 @@
+(function(){
+ function has_prefetch() {
+ // IE11 + Edge support prefetch, but do not support relList.supports, sigh
+ var ua = navigator.userAgent;
+ if (ua.indexOf('Edge/') > -1 || ua.indexOf('Trident/7') > -1) {
+ return true;
+ }
+ // e.g. Firefox + Chrome will pass this test, and Safari will fail.
+ var l = document.createElement("link"),
+ rl = l.relList;
+ if (rl && rl.supports) {
+ return rl.supports('prefetch');
+ }
+ }
+
+ // If we don't support the <link rel="prefetch">s in the header, manually
+ // prefetch them by storing them in images.
+ if (!has_prefetch()) {
+ var links = document.getElementsByTagName('link'),
+ llen = links.length;
+ for (var x = 0; x < llen; x++) {
+ var link = links[x];
+ if (link.nodeName === "LINK" && link.rel && link.rel === 'prefetch') {
+ (new Image()).src = link.href;
+ }
+ }
+ }
+})();
diff --git a/web/cobrands/fixmystreet/staff.js b/web/cobrands/fixmystreet/staff.js
index 07a2729e2..2b7c5b010 100644
--- a/web/cobrands/fixmystreet/staff.js
+++ b/web/cobrands/fixmystreet/staff.js
@@ -171,7 +171,7 @@ $.extend(fixmystreet.set_up, {
var opt = this.options[this.selectedIndex],
val = opt.value,
txt = opt.text;
- var $emailInput = $('input[name=email]').add('input[name=rznvy]');
+ var $emailInput = $('input[name=username]');
var $nameInput = $('input[name=name]');
var $phoneInput = $('input[name=phone]');
var $showNameCheckbox = $('input[name=may_show_name]');
@@ -299,8 +299,23 @@ $.extend(fixmystreet.set_up, {
toggle_public_update();
});
- if (geo_position_js.init()) {
- fixmystreet.geolocate.setup(function(pos) {
+ if ($('#detailed_information').data('max-length')) {
+ $('#detailed_information').on('keyup', function() {
+ var $this = $(this),
+ counter = $('#detailed_information_length');
+ var chars_left = $this.data('max-length') - $this.val().length;
+ counter.html(chars_left);
+ if (chars_left < 0) {
+ counter.addClass('error');
+ } else {
+ counter.removeClass('error');
+ }
+ });
+ }
+
+ if ('geolocation' in navigator) {
+ var el = document.querySelector('.btn--geolocate');
+ fixmystreet.geolocate(el, function(pos) {
var latlon = new OpenLayers.LonLat(pos.coords.longitude, pos.coords.latitude);
var bng = latlon.clone().transform(
new OpenLayers.Projection("EPSG:4326"),
@@ -315,16 +330,11 @@ $.extend(fixmystreet.set_up, {
});
}
- // Make the "Provide an update" form toggleable, and hide it by default.
+ // Make the "Provide an update" form toggleable, hidden by default.
// (Inspectors will normally just use the #public_update box instead).
- var $updateFormH2 = $('.update-form-heading');
- var $updateFormBtn = $('<button>').insertBefore( $updateFormH2 );
- $updateFormH2.hide().nextAll().hide();
- $updateFormBtn.addClass('btn btn--provide-update');
- $updateFormBtn.text( $updateFormH2.text() );
- $updateFormBtn.on('click', function(e) {
+ $('.js-provide-update').on('click', function(e) {
e.preventDefault();
- $updateFormH2.nextAll().toggle();
+ $(this).next().toggleClass('hidden-js');
});
},
@@ -415,10 +425,10 @@ $.extend(fixmystreet.set_up, {
});
$.extend(fixmystreet.hooks, {
- update_problem_fields: function(role, body, args) {
- if (role == 'inspector') {
+ update_problem_fields: function(args) {
+ if (args.prefill_reports && args.role == 'inspector') {
var title = args.category + ' problem has been scheduled for fixing';
- var description = args.category + ' problem found - scheduled for fixing by ' + body;
+ var description = args.category + ' problem found - scheduled for fixing by ' + args.body;
var $title_field = $('#form_title');
var $description_field = $('#form_detail');
diff --git a/web/cobrands/oxfordshire/js.js b/web/cobrands/oxfordshire/js.js
index 17cb0dd8f..ad9639383 100644
--- a/web/cobrands/oxfordshire/js.js
+++ b/web/cobrands/oxfordshire/js.js
@@ -1,7 +1,5 @@
fixmystreet.utils = fixmystreet.utils || {};
-$.extend(fixmystreet.utils, {
- defect_type_format: function(data) {
- return data.extra.defect_code + ' - ' + data.extra.activity_code + ' (' + data.name + ')';
- }
-});
+fixmystreet.utils.defect_type_format = function(data) {
+ return data.extra.defect_code + ' - ' + data.extra.activity_code + ' (' + data.name + ')';
+};
diff --git a/web/cobrands/oxfordshire/layout.scss b/web/cobrands/oxfordshire/layout.scss
index fc89b854f..ff5a2c009 100644
--- a/web/cobrands/oxfordshire/layout.scss
+++ b/web/cobrands/oxfordshire/layout.scss
@@ -225,11 +225,9 @@ h4.static-with-rule {
}
}
-.shadow-wrap {
- ul#key-tools {
- @include box-shadow(0 0 1em 1em $oxfordshire_very_light_green);
- border-top-width: 2px;
- }
+#key-tools {
+ @include box-shadow(0 0 1em 1em $oxfordshire_very_light_green);
+ border-top-width: 2px;
}
#oxford-wrapper #front-main #postcodeForm div {
diff --git a/web/cobrands/sass/_base.scss b/web/cobrands/sass/_base.scss
index d02efe489..109a67d64 100644
--- a/web/cobrands/sass/_base.scss
+++ b/web/cobrands/sass/_base.scss
@@ -3,7 +3,6 @@
$body-font: MuseoSans, Helmet, Freesans, sans-serif !default;
$meta-font: Helmet, Freesans, sans-serif !default;
$heading-font: 'Museo300-display', MuseoSans, Helmet, Freesans, sans-serif !default;
-$image-sprite: '../fixmystreet/images/sprite.png' !default;
$menu-image: 'menu-white' !default;
$itemlist_item_background: #f6f6f6 !default;
@@ -228,9 +227,15 @@ input[type=file] {
width: 100%;
}
+input[type=tel],
+input[type=number],
input[type=text],
input[type=password],
input[type=email],
+input[type=date],
+input[type=time],
+input[type=datetime],
+input[type=url],
textarea {
@include box-sizing(border-box);
display: block;
@@ -289,6 +294,9 @@ select.form-control {
&[multiple] {
height: auto;
}
+
+ // Prevent a flash of tall select elements
+ // before $.multiSelect() has replaced them.
.js &.js-multiple[multiple] {
height: 2.2em;
}
@@ -322,17 +330,10 @@ select.form-control {
display: inline-block;
width: 16px;
height: 18px;
- background: transparent url(/cobrands/fixmystreet/images/padlock.png) 0 0 no-repeat;
+ background-repeat: no-repeat;
+ @include svg-background-image('/cobrands/fixmystreet/images/padlock');
background-size: 16px 18px;
margin-#{$right}: 0.5em;
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/padlock@2.png);
- }
-
- @media all {
- background-image: url(/cobrands/fixmystreet/images/padlock.svg), none;
- }
}
}
@@ -402,6 +403,8 @@ select.form-control {
.form-txt-submit-box {
@include clearfix();
input[type=password],
+ input[type=tel],
+ input[type=number],
input[type=text],
input[type=email] {
width: 65%;
@@ -499,7 +502,10 @@ ul.error {
display: block;
width: 175px;
height: 60px;
- background: url($image-sprite) -8px 5px no-repeat;
+ background-position: 0 50%;
+ background-repeat: no-repeat;
+ background-size: 175px 35px;
+ @include svg-background-image("/cobrands/fixmystreet/images/site-logo");
text-indent: -999999px;
}
@@ -564,71 +570,81 @@ ul.error {
}
}
-// #key-tools is the list that's pulled out an stick to the bottom of the page of desktop, below is mostly just aesthetic
.shadow-wrap {
margin: 0 -1em;
- ul#key-tools{
- @include list-reset-soft;
- margin-bottom: 1em;
- display: table;
- width:100%;
- li{
- display: table-cell;
- vertical-align: bottom;
- text-align: center;
- border-#{$right}: 0.25em solid #fff;
- &:last-child {
- border-#{$right}: none;
- }
- input[type=submit] {
- width: 100%;
- border: none;
- }
- a, input[type=submit] {
- display: block;
- background-color: #f5f5f5;
- background-repeat: no-repeat;
- color: #333 !important;
- padding:4em 2em 1em;
- text-transform:uppercase;
- font: {
- size:0.6875em;
- family: $meta-font;
- weight: normal;
- }
- line-height: 1.2em;
- white-space: normal;
- border-radius: 0;
- &:hover, &.hover {
- text-decoration:none;
- background-color:#333;
- color: #fff !important;
- }
- &.abuse {
- background-image: url($image-sprite);
- background-position: center -2424px;
- }
- &.feed {
- background-image: url($image-sprite);
- background-position: center -2563px;
- }
+}
- &.share {
- background-image: url('/cobrands/fixmystreet/images/share.png');
- background-position: center 25%;
- }
- &.chevron {
- background-image: inline-image("../fixmystreet/images/chevron-grey-#{$right}.svg");
- background-position: center 25%;
- background-size: 20px 25px;
- }
- &.chevron.hover {
- background-size: auto auto;
- }
- &.hover {
- background-image: url($image-sprite);
- background-position: center -2064px;
- }
+#key-tools {
+ @include list-reset-soft;
+ margin-bottom: 1em;
+ display: table;
+ width: 100%;
+
+ li {
+ display: table-cell;
+ vertical-align: bottom;
+ text-align: center;
+ border-#{$right}: 0.25em solid #fff;
+
+ &:last-child {
+ border-#{$right}: none;
+ }
+ }
+
+ button {
+ width: 100%;
+ border: none;
+ }
+
+ a, button {
+ display: block;
+ background-color: #f5f5f5;
+ background-repeat: no-repeat;
+ color: #333 !important;
+ padding: 1em;
+ text-transform: uppercase;
+ font-size: 0.6875em;
+ font-family: $meta-font;
+ font-weight: normal;
+ line-height: 1.2em;
+ white-space: normal;
+ border-radius: 0;
+
+ &:hover, &.hover {
+ text-decoration:none;
+ background-color:#333;
+ color: #fff !important;
+ }
+
+ &:after {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin-#{$left}: 0.5em;
+ vertical-align: -0.25em;
+ background-size: 112px 16px;
+ background-repeat: no-repeat;
+ @include svg-background-image('/cobrands/fixmystreet/images/report-tools');
+ }
+
+ &.abuse:after {
+ background-position: -96px 0;
+ }
+
+ &.feed:after {
+ background-position: -64px 0;
+ }
+
+ &.share:after {
+ background-position: -80px 0;
+ }
+
+ &.chevron:after {
+ @if ($right == 'right') {
+ background-position: -16px 0;
+ } @else {
+ background-position: 0 0;
}
}
}
@@ -636,23 +652,17 @@ ul.error {
//because display:table doesn't work we float
.ie7 {
- .shadow-wrap {
- ul#key-tools{
- background:#f5f5f5;
- li{
- float: $left;
- a {
- padding-#{$left}: 1.5em;
- padding-#{$right}: 3em;
- }
- }
+ #key-tools {
+ background: #f5f5f5;
+
+ li {
+ float: $left;
+ }
+
+ a {
+ padding-#{$left}: 1.5em;
+ padding-#{$right}: 3em;
}
- }
-}
-.iel8 {
- .shadow-wrap ul#key-tools li a.chevron {
- background-image:url('/cobrands/fixmystreet/images/ie_key_tools_sprite.gif');
- background-position: $right -116px;
}
}
@@ -758,6 +768,9 @@ input.final-submit {
}
}
+.btn--back,
+.btn--forward,
+.btn--cancel,
.btn--navigate,
.btn--geolocate,
.btn--shortlist,
@@ -767,60 +780,61 @@ input.final-submit {
display: inline-block;
width: 16px;
height: 16px;
- background: transparent url(/cobrands/fixmystreet/images/navigate.png) no-repeat 0 0;
- background-size: 16px 16px;
+ background-repeat: no-repeat;
+ background-size: 112px 16px;
+ @include svg-background-image('/cobrands/fixmystreet/images/button-icons');
margin-#{$right}: 0.5em;
vertical-align: -0.1em; // vertically centre icon in button
+ }
+}
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/navigate@2x.png);
+.btn--back {
+ &:before {
+ @if ($right == 'right') {
+ background-position: 0 0;
+ } @else {
+ background-position: -16px 0;
}
+ }
+}
- @media all {
- background-image: url(/cobrands/fixmystreet/images/navigate.svg), none;
+.btn--forward {
+ &:before {
+ @if ($right == 'right') {
+ background-position: -16px 0;
+ } @else {
+ background-position: 0 0;
}
}
}
-.btn--geolocate {
+.btn--cancel {
&:before {
- background-image: url(/cobrands/fixmystreet/images/crosshairs.png);
+ background-position: -32px 0;
+ }
+}
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/crosshairs@2x.png);
- }
+.btn--navigate {
+ &:before {
+ background-position: -80px 0;
+ }
+}
- @media all {
- background-image: url(/cobrands/fixmystreet/images/crosshairs.svg), none;
- }
+.btn--geolocate {
+ &:before {
+ background-position: -96px 0;
}
}
.btn--shortlist {
&:before {
- background-image: url(/cobrands/fixmystreet/images/icon-shortlist-mini.png);
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/icon-shortlist-mini@2x.png);
- }
-
- @media all {
- background-image: url(/cobrands/fixmystreet/images/icon-shortlist-mini.svg), none;
- }
+ background-position: -64px 0;
}
}
.btn--shortlisted {
&:before {
- background-image: url(/cobrands/fixmystreet/images/icon-shortlisted-mini.png);
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/icon-shortlisted-mini@2x.png);
- }
-
- @media all {
- background-image: url(/cobrands/fixmystreet/images/icon-shortlisted-mini.svg), none;
- }
+ background-position: -48px 0;
}
}
@@ -849,56 +863,6 @@ input.final-submit {
display: none;
}
-.button-fwd {
- padding: flip(1em 3em 1em 1em, 1em 1em 1em 3em);
- background: inline-image("../fixmystreet/images/chevron-grey-#{$right}.svg") $right 50% no-repeat;
-}
-.button-back {
- padding: flip(1em 1em 1em 3em, 1em 3em 1em 1em);
- background: inline-image("../fixmystreet/images/chevron-grey-#{$left}.svg") $left 50% no-repeat;
-}
-.button-fwd,
-.button-back {
- @include inline-block;
- cursor:pointer;
- font-size: 1em;
- line-height: 1;
- margin:0;
- border:1px solid #999;
- color:#333;
- background-color: #eee;
- background-size: 20px+16px 25px;
- @include border-radius(4px);
- &:hover{
- color:#fff;
- background-color: #777;
- text-decoration: none;
- border:1px solid #666;
- }
-}
-.iel8 {
- .button-fwd, .button-back {
- background-image: url($image-sprite);
- background-repeat: no-repeat;
- }
- .button-fwd {
- background-position: right -686px;
- }
- .button-back {
- background-position: -18px -802px;
- }
-}
-
-.rap-notes-trigger {
- &.clicked {
- background-image: inline-image("../fixmystreet/images/cross-grey.svg");
-
- .iel8 & {
- background-image: url("../fixmystreet/images/cross-grey.png");
- }
- }
-}
-
.banner {
position: relative;
p {
@@ -926,12 +890,14 @@ input.final-submit {
border-#{$left}: 0.5em solid transparent;
border-bottom: 0.5em solid #888;
}
- &#fixed {
- color:#fff;
- background: $col_fixed_label;
- &:before {
- border-bottom: 0.5em solid $col_fixed_label_dark;
- }
+ }
+
+ #fixed {
+ color:#fff;
+ background: $col_fixed_label;
+
+ &:before {
+ border-bottom: 0.5em solid $col_fixed_label_dark;
}
}
}
@@ -1120,31 +1086,31 @@ input.final-submit {
.item-list__item__shortlist-add {
@extend %list-item-action-button;
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-inactive');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-inactive');
&:hover,
&:focus {
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-inactive-hover');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-inactive-hover');
}
}
.item-list__item__shortlist-remove {
@extend %list-item-action-button;
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-active');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-active');
&:hover,
&:focus {
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-active-hover');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-active-hover');
}
}
.item-list__item__shortlist-take {
@extend %list-item-action-button;
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-taken');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-taken');
&:hover,
&:focus {
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-taken-hover');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-taken-hover');
}
}
@@ -1154,18 +1120,18 @@ input.final-submit {
padding-top: 24px; // half the normal height, because shorter icon
background-size: 24px 14px;
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-up');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-up');
&:hover,
&:focus {
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-up-hover');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-up-hover');
}
&[disabled] {
opacity: 0.5;
cursor: default;
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-up');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-up');
}
}
@@ -1176,18 +1142,18 @@ input.final-submit {
padding-top: 24px; // half the normal height, because shorter icon
background-size: 24px 14px;
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-down');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-down');
&:hover,
&:focus {
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-down-hover');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-down-hover');
}
&[disabled] {
opacity: 0.5;
cursor: default;
- @include high-dpi-background-image('/cobrands/fixmystreet/images/icon-shortlist-down');
+ @include svg-background-image('/cobrands/fixmystreet/images/icon-shortlist-down');
}
}
@@ -1291,19 +1257,24 @@ input.final-submit {
a {
display: block;
position: relative;
+
span {
- position:absolute;
- top:0;
+ position: absolute;
+ top: 0;
#{$right}: 0;
- display:block;
- width:20px;
- height:20px;
+ display: block;
+ width: 20px;
+ height: 0;
+ padding-top: 20px;
opacity: 0.5;
- background:#fff url($image-sprite) -16px -1098px no-repeat;
- //hide text - http://nicolasgallagher.com/another-css-image-replacement-technique/
- font: 0/0 a;
- color: transparent;
+ overflow: hidden;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: 50% 50%;
+ background-size: 16px 16px;
+ @include svg-background-image('/cobrands/fixmystreet/images/magnify');
}
+
&:hover span {
opacity: 1;
}
@@ -1316,14 +1287,28 @@ input.final-submit {
line-height: 1.2em;
margin-bottom: 1em;
padding-bottom: 0.8em;
- padding-#{$left}: 22px;
- background: transparent url(/cobrands/fixmystreet/images/chevron-grey-#{$left}.svg) #{$left} 0 no-repeat;
- background-size: 13px 16px;
border-bottom: 1px solid #eee;
&:link, &:visited, &:hover {
color: #666;
}
+
+ &:before {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin-#{$right}: 0.5em;
+ vertical-align: -0.15em;
+ background-size: 112px 16px;
+ background-repeat: no-repeat;
+ @include svg-background-image('/cobrands/fixmystreet/images/report-tools');
+ @if ($right == 'right') {
+ background-position: 0 0;
+ } @else {
+ background-position: -16px 0;
+ }
+ }
}
.problem-header {
@@ -1365,16 +1350,11 @@ input.final-submit {
padding: 1em 1em 1em 4em; // Icon is always displayed on left, even in RtL mode
border-radius: 0.25em;
border: 1px solid rgba(0, 0, 0, 0.1);
- background: rgba(255, 255, 255, 0.5) url(/cobrands/fixmystreet/images/shortlist.png) 1em 50% no-repeat;
+ background-color: rgba(255, 255, 255, 0.5);
+ background-position: 1em 50%;
+ background-repeat: no-repeat;
background-size: 2em 2em;
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/shortlist@2.png);
- }
-
- @media all {
- background-image: url(/cobrands/fixmystreet/images/shortlist.svg), none;
- }
+ @include svg-background-image('/cobrands/fixmystreet/images/shortlist');
h3 {
margin: 0;
@@ -1437,47 +1417,50 @@ html.js #map .noscript {
position: absolute;
cursor: pointer;
width: 36px;
- height: 36px;
- text-indent: flip(-999999px, 999999px); // text-align from OL style makes this necessary
- background: url($image-sprite) no-repeat;
+ height: 0;
+ padding-top: 36px;
+ overflow: hidden;
+ @include svg-background-image('/cobrands/fixmystreet/images/fms-pan-zoom');
+ background-size: 156px 72px;
+ background-repeat: no-repeat;
filter: none !important; // Override OpenLayers PNG handling of the navigation
}
#fms_pan_zoom_panup {
- background-position: -42px -222px;
+ background-position: 0 0;
#{$right}: 30px;
#{$left}: auto;
top: 0;
}
#fms_pan_zoom_pandown {
- background-position: -42px -282px;
+ background-position: 0 -36px;
#{$right}: 30px;
#{$left}: auto;
top: 72px;
}
#fms_pan_zoom_panleft {
- background-position: -12px -252px;
+ background-position: -36px 0;
width: 48px;
#{$right}: flip(48px, 0);
#{$left}: auto;
top: 36px;
}
#fms_pan_zoom_panright {
- background-position: -60px -252px;
+ background-position: -36px -36px;
width: 48px;
#{$right}: flip(0, 48px);
#{$left}: auto;
top: 36px;
}
#fms_pan_zoom_zoomin {
- background-position: -152px -223px;
- height: 44px;
+ background-position: -84px 0;
+ padding-top: 44px;
#{$left}: 0;
top: 0;
}
#fms_pan_zoom_zoomout {
- background-position: -152px -259px;
- height: 44px;
+ background-position: -120px 100%;
+ padding-top: 44px;
#{$left}: 0;
top: 44px;
}
@@ -1488,90 +1471,55 @@ html.js #map .noscript {
#{$left}: 0;
#{$right}: 0;
bottom: 0;
- background:#333;
- background:rgba(0, 0, 0, 0.7);
- margin:0;
+ background: #333;
+ background: rgba(0, 0, 0, 0.7);
+ margin: 0;
+
a {
- @include inline-block;
- font-size:0.6875em;
- color:#fff;
- padding: flip(0.6em 3em 0.5em 1em, 0.6em 1em 0.5em 3em);
- background-repeat:no-repeat;
- &#hide_pins_link {
- background-image:url($image-sprite);
- background-position: flip(right, -341px) -3976px;
- }
- &#all_pins_link {
- background-image:url($image-sprite);
- background-position: flip(right, -337px) -4022px;
- }
- &#map_permalink {
- background-image:url($image-sprite);
- background-position: flip(right, -341px) -4070px;
- }
- &#fms_shortlist_all {
- padding: 0.6em 1em 0.5em 1em;
- &:after {
- content: "";
- display: inline-block;
- width: 16px;
- height: 16px;
- background-image: url(/cobrands/fixmystreet/images/map-marker.png);
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/map-marker@2x.png);
- }
-
- @media all {
- background-image: url(/cobrands/fixmystreet/images/map-marker.svg), none;
- }
- background-size: 16px 16px;
- vertical-align: middle;
- margin: flip(0 0 0 8px, 0 8px 0 0);
- }
- }
- &.feed {
- background-image:url($image-sprite);
- background-position: flip(right, -341px) -3936px;
- }
- &#toggle-fullscreen {
- padding: 0.6em 1em 0.5em 1em;
- &:after {
- content: "";
- display: inline-block;
- width: 16px;
- height: 16px;
- background-size: 16px 16px;
- vertical-align: middle;
- margin-#{$left}: 8px;
- }
- &.expand:after {
- background-image: url(/cobrands/fixmystreet/images/expand.png);
+ display: inline-block;
+ font-size: 0.6875em;
+ color: #fff;
+ padding: 0.6em 1em 0.5em 1em;
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/expand@2x.png);
- }
+ &:hover {
+ background-color: #000;
+ text-decoration: none;
+ }
- @media all {
- background-image: url(/cobrands/fixmystreet/images/expand.svg), none;
- }
- }
- &.compress:after {
- background-image: url(/cobrands/fixmystreet/images/compress.png);
+ &:after {
+ content: "";
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ margin-#{left}: 8px;
+ vertical-align: -0.1em;
+ background-size: 96px 12px;
+ @include svg-background-image('/cobrands/fixmystreet/images/map-tools');
+ }
+ }
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/compress@2x.png);
- }
+ .feed:after {
+ background-position: -12px 0;
+ }
- @media all {
- background-image: url(/cobrands/fixmystreet/images/compress.svg), none;
- }
- }
- }
- &:hover {
- background-color:#000;
- text-decoration:none;
- }
+ #hide_pins_link:after {
+ background-position: -24px 0;
+ }
+
+ #map_permalink:after {
+ background-position: -48px 0;
+ }
+
+ #fms_shortlist_all:after {
+ background-position: -60px 0;
+ }
+
+ #toggle-fullscreen:after {
+ background-position: -72px 0;
+ }
+
+ #toggle-fullscreen.compress:after {
+ background-position: -84px 0;
}
}
@@ -1613,31 +1561,26 @@ html.js #map .noscript {
display: block;
#{$right}: 1em;
bottom: 0;
- height: 20px;
- padding-top: 30px;
width: 4em;
- background: #fff url($image-sprite) 12px -4140px no-repeat;
+ background: #fff;
color: #000;
+
+ &:before {
+ content: "";
+ display: block;
+ width: 16px;
+ height: 16px;
+ margin: 0 auto 2px auto;
+ background-size: 112px 16px;
+ @include svg-background-image('/cobrands/fixmystreet/images/report-tools');
+ background-position: -32px 0;
+ }
}
}
}
-// Loading indicator
-
-#loading-indicator {
- position: absolute;
- width: 100%;
- height: 100%;
- background-color: #000;
- opacity: 0.4;
- text-align: center;
-
- img {
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%, -50%);
- }
+.big-hide-pins-link {
+ display: none; // will become `block` in layout.scss
}
.big-green-banner {
@@ -1715,20 +1658,15 @@ html.js #map .noscript {
img {
cursor: move;
}
- img.pin {
- z-index: 100;
- background-color: inherit;
- }
- a img.pin {
- cursor: pointer;
- cursor: hand;
- }
}
-// only on mobile
-a.rap-notes-trigger,
-a:hover.rap-notes-trigger {
- display: block;
+/* For non-JS situations, as the image file is 2x pixel size */
+img.pin {
+ width: 48px;
+ height: 64px;
+}
+
+.rap-notes-trigger {
margin-bottom: 1em;
}
@@ -1782,6 +1720,23 @@ a:hover.rap-notes-trigger {
}
}
+#loading-indicator {
+ height: 32px;
+ width: 32px;
+ position: relative;
+ background-color: #333;
+ border-radius: 0.25em;
+ padding: 0.25em;
+ // Offset from top same as fms_pan_zoom, from left so as not
+ // to appear on top of zoom buttons (0.5em, 36px, 0.5em)
+ top: 0.5em;
+ left: 3.25em;
+ .map-reporting & {
+ // Same as fms_pan_zoom above, leaving space for the top bar when reporting
+ top: 2.75em;
+ }
+}
+
/* Reporting a problem bits */
label .muted {
@@ -1863,6 +1818,13 @@ label .muted {
padding: 1em;
margin: 0 -1em;
background-color: #E9F2FF;
+
+ #detailed_information_length {
+ float: right;
+ &.error {
+ color: red;
+ }
+ }
}
.inspect-form-heading {
@@ -1895,67 +1857,6 @@ label .muted {
}
-table.nicetable {
- width:100%;
- margin-bottom:2em;
- thead {
- border-bottom:0.25em solid #ccc;
- th {
- font-size:0.75em;
- }
- }
- tr {
- &.a {
- background:#f6f6f6;
- }
- &.gone {
- color: #666666;
- background-color: #cccccc;
- }
- &:hover {
- background:#FFF5CC;
- cursor:pointer;
- }
- td {
- padding:0.25em;
- a {
- &:hover {
- text-decoration:none;
- }
- }
- }
- }
- .title {
- text-align: $left;
- }
- .data {
- width:12%;
- }
-}
-
-.promo {
- margin: 0 -1em 1em;
- color: $primary_text;
- background: $primary;
- padding:1em;
- overflow:hidden;
- position: relative;
- .close-promo {
- position:absolute;
- top:0.5em;
- #{$right}: 0.5em;
- display:block;
- width:16px;
- height:16px;
- text-indent:-999999px;
- background:url($image-sprite) -341px -263px no-repeat;
- @include border-radius(4px);
- &:hover {
- background:#222 url($image-sprite) -341px -223px no-repeat;
- }
- }
-}
-
.alert {
margin: 0 -1em 1em;
background:#ff0000;
@@ -2081,6 +1982,19 @@ table.nicetable {
background:#2a2a2a;
}
}
+ a#geolocate_link.loading {
+ background: #1a1a1a url("/cobrands/fixmystreet/images/spinner-black.gif") 100% 50% no-repeat;
+ border-right: solid 0.5em #1a1a1a;
+ padding-right: 1.5em;
+ }
+}
+.no-js #geolocate_link {
+ display: none !important;
+}
+
+a#geolocate_link.loading, .btn--geolocate.loading {
+ background: url("/cobrands/fixmystreet/images/spinner-white.gif") 100% 50% no-repeat;
+ padding-right: 1.5em;
}
#front-howto {
@@ -2099,11 +2013,11 @@ table.nicetable {
size:0.8125em;
weight:bold;
}
- big {
- display:block;
- margin-bottom:0.5em;
- font-size:1.5385em;
- }
+ }
+ big {
+ display:block;
+ margin-bottom:0.5em;
+ font-size:1.5385em;
}
}
}
@@ -2193,6 +2107,10 @@ table.nicetable {
background-image: url(/cobrands/fixmystreet/images/inbox-in-circle-100px.png);
}
+ &.confirmation-header--phone {
+ background-image: url(/cobrands/fixmystreet/images/phone-in-circle-100px.png);
+ }
+
h1, h2 {
margin: 0;
line-height: 1.2em;
@@ -2467,7 +2385,6 @@ table.nicetable {
}
@import "_admin";
-@import "_fixedthead";
@import "_dropzone";
@import "_multiselect";
@import "_autocomplete";
diff --git a/web/cobrands/sass/_dashboard.scss b/web/cobrands/sass/_dashboard.scss
index aae8aa98b..1d3066e7c 100644
--- a/web/cobrands/sass/_dashboard.scss
+++ b/web/cobrands/sass/_dashboard.scss
@@ -25,7 +25,7 @@
padding: 1em;
@media (min-width: 48em) {
- float: left;
+ float: $left;
padding: 2em;
}
@@ -53,15 +53,20 @@
}
.labelled-line-chart,
-.labelled-sparkline {
+.labelled-sparkline,
+.responsive-bar-chart {
position: relative;
width: 100%;
- line-height: 1.2em;
canvas {
width: 100% !important;
height: auto !important;
}
+}
+
+.labelled-line-chart,
+.labelled-sparkline {
+ line-height: 1.2em;
.label {
strong {
@@ -78,19 +83,19 @@
@include box-sizing(border-box);
@media (min-width: 48em) {
- padding-right: 20%;
+ padding-#{$right}: 20%;
}
.label {
- float: left;
- margin-right: 2em;
+ float: $left;
+ margin-#{$right}: 2em;
}
}
.js .labelled-line-chart .label {
@media (min-width: 48em) {
position: absolute;
margin-top: -1em;
- margin-right: 0;
+ margin-#{$right}: 0;
}
}
@@ -150,13 +155,13 @@
.dashboard-search__input {
@include box-sizing(border-box);
width: 80%;
- float: left;
- padding-right: 1em;
+ float: $left;
+ padding-#{$right}: 1em;
}
.dashboard-search__submit {
width: 20%;
- float: right;
+ float: $right;
input {
width: 100%;
@@ -175,25 +180,19 @@
display: inline-block;
width: 16px;
height: 16px;
- background: transparent url(/cobrands/fixmystreet/images/crosshairs.png) no-repeat 0 0;
- background-size: 16px 16px;
+ background-repeat: no-repeat;
+ background-size: 112px 16px;
+ @include svg-background-image('/cobrands/fixmystreet/images/button-icons');
+ background-position: -96px 0;
margin-#{$right}: 0.5em;
vertical-align: -0.1em;
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url(/cobrands/fixmystreet/images/crosshairs@2x.png);
- }
-
- @media all {
- background-image: url(/cobrands/fixmystreet/images/crosshairs.svg), none;
- }
}
}
.dashboard-ranking-table {
width: 100%;
- td {
+ td, th {
padding: 0.4em 0.8em;
&:last-child {
@@ -201,13 +200,125 @@
}
}
- tbody tr:nth-child(odd) {
- td {
- background-color: mix($primary, #fff, 15%);
- }
+ th {
+ text-align: inherit;
}
- tfoot td {
+ tbody tr:nth-child(odd) > * {
+ background-color: mix($primary, #fff, 15%);
+ }
+
+ tfoot tr > * {
font-weight: bold;
}
}
+
+.filters {
+ @include clearfix();
+ background-color: mix(#fff, $primary, 60%);
+ margin: 0 -1em 1em -1em;
+ border-top: $primary solid 0.75em;
+ padding: 0 1em;
+
+ // No border-top when visually preceded by .dashboard-header
+ .dashboard-header + * & {
+ border-top: none;
+ }
+
+ // Quick fix for too much spacing when followed by .dashboard-item(s)
+ & + .dashboard-row {
+ margin-top: -1em;
+ }
+
+ p {
+ padding: 0 1em;
+ font-size: 0.75em;
+
+ @media (min-width: 48em) {
+ float: $left;
+ max-width: 25%;
+ }
+ }
+
+ .no-label {
+ margin-top: 1.25em + 1.5em + 0.5em; // label line-height + margin-top + margin-bottom
+ }
+
+ select {
+ width: 100%;
+ }
+
+ .pro-feature {
+ color: mix(#222, mix(#fff, $primary, 60%), 30%);
+ cursor: help;
+
+ label {
+ cursor: inherit;
+
+ &:after {
+ display: inline-block;
+ content: "PRO";
+ color: #fff;
+ background: mix(#222, mix(#fff, $primary, 60%), 30%);
+ border-radius: 0.3em;
+ padding: 0.2em 0.4em;
+ margin-#{$left}: 1em;
+ font-size: 0.8em;
+ line-height: 1em;
+ }
+ }
+ }
+
+ .form-control[disabled] {
+ border-color: #ccc;
+ color: #999;
+ box-shadow: none;
+ }
+
+ .btn {
+ padding: 0.5em 0.75em;
+ }
+}
+
+.dashboard-options-tabs {
+ @include clearfix();
+ @include list-reset-soft();
+ border-bottom: 1px solid #ddd;
+ margin-bottom: 2em;
+
+ li {
+ float: $left;
+ }
+
+ .pull-right {
+ float: $right;
+ }
+
+ a, span, strong {
+ display: inline-block;
+ padding: 0.4em 0.8em;
+ }
+
+ strong {
+ background: #fff;
+ border: 1px solid #ddd;
+ border-bottom-color: #fff;
+ border-radius: 0.3em 0.3em 0 0;
+ margin-bottom: -1px;
+ }
+}
+
+.dashboard-options-tabs--below {
+ margin-bottom: 0;
+ margin-top: 2em;
+ border-bottom: none;
+ border-top: 1px solid #ddd;
+
+ strong {
+ border-top-color: #fff;
+ border-bottom-color: #ddd;
+ border-radius: 0 0 0.3em 0.3em;
+ margin-bottom: 0;
+ margin-top: -1px;
+ }
+}
diff --git a/web/cobrands/sass/_fixedthead.scss b/web/cobrands/sass/_fixedthead.scss
deleted file mode 100644
index c1896e5d8..000000000
--- a/web/cobrands/sass/_fixedthead.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-.js-fixed-thead__clone {
- position: fixed;
- background: #fff;
-} \ No newline at end of file
diff --git a/web/cobrands/sass/_layout.scss b/web/cobrands/sass/_layout.scss
index a0c27863e..1d1ecf205 100644
--- a/web/cobrands/sass/_layout.scss
+++ b/web/cobrands/sass/_layout.scss
@@ -1,6 +1,5 @@
@import "_mixins";
-$image-sprite: '../fixmystreet/images/sprite.png' !default;
$layout_front_stats_color: $primary !default;
$mappage-header-height: 4em !default; // eg: might want this to equal outer height of #site-header on normal pages
$mappage-sidebar-width: 29em;
@@ -586,7 +585,8 @@ body.authpage {
#fms_pan_zoom_panleft,
#fms_pan_zoom_panright,
#fms_pan_zoom_zoomin,
-#fms_pan_zoom_zoomout {
+#fms_pan_zoom_zoomout,
+.big-hide-pins-link {
opacity: 0.85;
&:hover {
opacity: 1;
@@ -613,31 +613,95 @@ body.authpage {
#sub_map_links {
#{$left}: auto;
bottom: 2em;
- #map_links_toggle {
- display:block;
- cursor: pointer;
- position:absolute;
- #{$left}: -0.97em; /* 1em leaves a tiny gap, font issue */
- width: 1em;
- height:100%;
- background:#000 inline-image("../fixmystreet/images/triangle-grey-#{$right}.svg") 50% 50% no-repeat;
- @include border-radius(flip(0.25em 0 0 0.25em, 0 0.25em 0.25em 0));
+}
+
+// Show the extra button if there is vertical space.
+@media (min-height: 450px) {
+ .big-hide-pins-link {
+ $fms_pan_zoom_top: 8px;
+ $fms_pan_zoom_right: 8px;
+ $fms_pan_zoom_zoomout_top: 174px;
+ $fms_pan_zoom_zoomout_right: 30px;
+ $fms_pan_zoom_zoomout_height: 44px;
+ $gap: 22px;
+
+ display: block;
+ position: absolute;
+ top: $fms_pan_zoom_top + $fms_pan_zoom_zoomout_top + $fms_pan_zoom_zoomout_height + $gap;
+ right: $fms_pan_zoom_right + $fms_pan_zoom_zoomout_right;
+ border-radius: 5px;
+ color: #fff;
+ width: 36px;
+ height: 0;
+ padding-top: 36px;
+ overflow: hidden;
+
+ background: #222;
+ background-size: 36px 36px;
+ background-repeat: no-repeat;
+ background-position: 100% 0;
+ @include svg-background-image('/cobrands/fixmystreet/images/hide-pins-link');
+
&:hover {
- #{$left}: -1.5em;
- //use border so we don't have to redefine the background-position
- border-#{$right}: 0.5em solid #000;
- }
- &.closed {
- background-image: inline-image("../fixmystreet/images/triangle-grey-#{$left}.svg");
+ text-decoration: none;
+ color: #fff;
+ width: auto;
+ height: auto;
+ padding: 6px 40px 6px 10px;
+ overflow: visible;
}
}
}
-.iel8 #sub_map_links #map_links_toggle {
- height: 1.75em;
- background: #000 url('../fixmystreet/images/ie_sub_map_links_sprite.gif') center -143px no-repeat;
- &.closed {
- background-position: center -183px;
+
+#map_links_toggle {
+ display: block;
+ cursor: pointer;
+ position: absolute;
+ #{$left}: -1em;
+ width: 1em;
+ height: 100%;
+ border-radius: flip(0.25em 0 0 0.25em, 0 0.25em 0.25em 0);
+ background-color: #333;
+
+ &:hover {
+ #{$left}: -1.2em;
+ width: 1.2em;
+ background-color: #000;
+ }
+
+ &:after {
+ content: "";
+ display: inline-block;
+ vertical-align: middle;
+ width: 6px;
+ height: 12px;
+ margin-#{$left}: ((16px - 6px) / 2); // horizontally centre in 16px wide parent
+ background-size: 96px 12px;
+ @include svg-background-image('/cobrands/fixmystreet/images/map-tools');
+ }
+
+ // Expanded arrow points towards edge of window.
+ // Closed arrow points away from edge of window.
+ @if ($right == 'right') {
+
+ &:after {
+ background-position: -6px 0;
+ }
+
+ &.closed:after {
+ background-position: 0 0;
+ }
+
+ } @else {
+
+ &:after {
+ background-position: 0 0;
+ }
+
+ &.closed:after {
+ background-position: -6px 0;
}
+ }
}
@@ -652,58 +716,6 @@ body.authpage {
overflow: hidden;
padding-top: 2em;
- ul#key-tools {
- border-top: 0.25em solid $primary;
- margin: 0;
- @include box-shadow(0 0 1em 1em #fff);
- li {
- border:none;
- a, input[type=submit] {
- font-size: 0.75em;
- line-height: 18px; // match `body`
- color:#666;
- padding: flip(0.5em 1.5em 0.5em 0, 0.5em 0 0.5em 1.5em);
- text-transform:none;
- &.abuse {
- background-image:url($image-sprite);
- background-position: flip(right, -337px) -2935px;
- }
- &.feed {
- background-image:url($image-sprite);
- background-position: flip(right, -337px) -3074px;
- }
- &.share {
- min-width: 5em;
- background-image: url(/cobrands/fixmystreet/images/share.png);
- background-position: flip(80%, 20%) 50%;
- }
- &.chevron {
- border-#{$right}: solid 1em transparent;
- padding-#{$right}: 0.5em;
- background-position: $right 50%;
- background-size: 12px 15px;
- }
- &.chevron.hover {
- // Reset things that changed
- border-#{$right}: none;
- padding-#{$right}: 1.5em;
- background-size: auto auto;
- }
- &.hover {
- background-image: url($image-sprite);
- background-position: flip(right, -337px) -1876px;
- }
- }
- }
- &.singleton {
- li {
- text-align: $right;
- a {
- padding-#{$right}: 3em;
- }
- }
- }
- }
&.static {
padding: 0 0 1em;
position: static;
@@ -711,6 +723,29 @@ body.authpage {
}
}
+#key-tools {
+ border-top: 0.25em solid $primary;
+ margin: 0;
+ @include box-shadow(0 0 1em 1em #fff);
+
+ li {
+ border-#{$right}: none; // undo border-right/left from _base.scss
+
+ // Cancel centre alignment, if the *only child* in list.
+ &:first-child:last-child {
+ text-align: $right;
+ }
+ }
+
+ a, button {
+ font-size: 0.75em;
+ line-height: 18px; // match `body`
+ color: #666;
+ padding: 0.5em;
+ text-transform: none; // undo uppercase from _base.scss
+ }
+}
+
// If JS is disabled, these are still CSS positioned, so don't want behind shining through.
#report-share, #report-updates-data {
background-color: #fff;
@@ -720,6 +755,14 @@ body.authpage {
margin-bottom: 0;
}
+#loading-indicator {
+ height: 64px;
+ width: 64px;
+ background-color: rgba(0, 0, 0, 0.7);
+ // Reset the base left, as zoom buttons now elsewhere
+ left: 0.5em;
+}
+
.big-green-banner {
top: auto;
margin: (-1em/1.375) (-1em/1.375) 0 (-1em/1.375);
@@ -750,23 +793,24 @@ body.authpage {
border-#{$left}: 0.75em solid transparent;
border-bottom: 0.75em solid #888;
}
- &#fixed {
- padding-top:5em;
- background-image:url($image-sprite);
- background-position:-324px -326px;
- background-repeat:no-repeat;
- &:before {
- border-bottom: 0.75em solid $col_fixed_label_dark;
- }
+ }
+
+ #fixed,
+ #closed {
+ padding-top: 48px;
+ padding-top: calc(1.5em + 32px);
+ background-image: url('/i/pin-flat-white-small.png');
+ background-size: 24px 32px;
+ background-position: 50% 1em;
+ background-repeat:no-repeat;
+ &:before {
+ border-bottom: 0.75em solid $col_fixed_label_dark;
}
- &#closed {
- padding-top:5em;
- background-image:url($image-sprite);
- background-position:-318px -326px;
- background-repeat:no-repeat;
- &:before {
- border-bottom: 0.75em solid #666;
- }
+ }
+
+ #closed {
+ &:before {
+ border-bottom-color: #666;
}
}
}
@@ -904,6 +948,9 @@ textarea.form-error {
background:none;
}
}
+ a#geolocate_link.loading {
+ border-right: none;
+ }
}
.ie7 #front-main {
#postcodeForm {
@@ -923,10 +970,16 @@ textarea.form-error {
color: #222;
border-top:0.25em solid $primary;
padding-top:1em;
- div {
- big {
- color: $layout_front_stats_color;
- font-size: 3.2308em;
+ big {
+ color: $layout_front_stats_color;
+ font-size: 2em;
+ @media (min-width: 54em) {
+ // 54em roughly halfway between 48em and 62em
+ font-size: 2.5em;
+ }
+ @media (min-width: 62em) {
+ // container max-width 60em + 2em side padding
+ font-size: 3em;
}
}
}
diff --git a/web/cobrands/sass/_mixins.scss b/web/cobrands/sass/_mixins.scss
index 08e36e86a..392739db8 100644
--- a/web/cobrands/sass/_mixins.scss
+++ b/web/cobrands/sass/_mixins.scss
@@ -206,14 +206,7 @@ $right: right;
order: $order;
}
-@mixin high-dpi-background-image($path) {
+@mixin svg-background-image($path) {
background-image: url("#{$path}.png");
-
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- background-image: url("#{$path}@2x.png");
- }
-
- @media screen {
- background-image: url("#{$path}.svg"), none;
- }
+ background-image: url("#{$path}.svg"), none;
}
diff --git a/web/cobrands/sass/_multiselect.scss b/web/cobrands/sass/_multiselect.scss
index 9dda17fea..ba90c0d89 100644
--- a/web/cobrands/sass/_multiselect.scss
+++ b/web/cobrands/sass/_multiselect.scss
@@ -1,14 +1,15 @@
.multi-select-container {
position: relative;
+ display: inline-block; // shrink to width of .multi-select-button
}
.multi-select-menu {
position: absolute;
left: 0;
top: 0.8em;
- z-index: 1;
- float: left;
- min-width: 100%;
+ z-index: 2; // stack above mysoc-footer
+ float: left; // shrink to width of child elements
+ min-width: 100%; // always at least as wide as its .multi-select-button sibling
background: #fff;
margin: 1em 0;
border: 1px solid #aaa;
@@ -20,6 +21,7 @@
display: block;
font-size: 0.875em;
padding: 0.6em 1em 0.6em 30px;
+ margin: 0;
white-space: nowrap;
& + & {
diff --git a/web/cobrands/warwickshire/_colours.scss b/web/cobrands/warwickshire/_colours.scss
index 8c2c41406..154cf1bef 100644
--- a/web/cobrands/warwickshire/_colours.scss
+++ b/web/cobrands/warwickshire/_colours.scss
@@ -1,6 +1,7 @@
/* COLOURS */
$green: #006d3c;
+$purple: #90428C;
$primary: $green;
$primary_b: #000000;
@@ -13,7 +14,9 @@ $map_nav_bg: #fff;
$nav_fg: #000;
$nav_fg_hover: $primary;
-$col_click_map: $green;
+$col_click_map: $purple;
$col_fixed_label: #00BD08;
$col_fixed_label_dark: #4B8304;
+
+$header-top-border: false;
diff --git a/web/cobrands/warwickshire/base.scss b/web/cobrands/warwickshire/base.scss
index eeefc0d80..bb4b3d08a 100644
--- a/web/cobrands/warwickshire/base.scss
+++ b/web/cobrands/warwickshire/base.scss
@@ -18,30 +18,13 @@
color: white;
}
-#mega-menu-navbar {
- margin-bottom: 0;
- margin-top: 5px;
-}
-
-#site-search input[type=text] {
- display: inline-block;
-}
-
-
-.navbar-fixed-top {
- position: static;
-}
-
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 20px;
-}
-#site-header {
- nav ul li, ul.nav li {
- list-style: none;
- margin-bottom: 0;
+ @media (max-width: 767px) {
+ min-width: 0; // why does Warwickshire even set a min-width on the body!?
}
}
@@ -49,67 +32,100 @@ body.mappage > div.container {
padding-top: 0;
}
-.footer-container {
- font-size: 16px;
-}
+body > .navbar {
+ font-size: 15px; // match body {font-size: 15px } from the live site
-@media (max-width: 767px) {
- body {
- padding-left: 0;
- padding-right: 0;
+ .nav li {
+ list-style: none; // override our default list styles from _base.scss
+ margin-bottom: 0; // override our default list styles from _base.scss
}
+}
- .navbar-fixed-top {
- margin-left: 0;
- margin-right: 0;
+body.style-1 > footer {
+ @media (max-width: 767px) {
+ margin: 0 -20px; // fix a bug in Warwickshire's CSS that leaves a gap either side of footer
}
+}
- .style-1-gradient {
- margin-left: 0 !important;
- margin-right: 0 !important;
+body > div.container {
+ @media (max-width: 380px) {
+ margin: 0 -20px; // fix a bug in Warwickshire's CSS that leaves a gap either side of .container elements
}
+}
- body.frontpage #wrapper {
- padding: 5px 0;
- }
+// Quick way to fix search not fitting on a single line with nav bar!
+#site-search {
+ display: none;
+}
- body.mappage #wrapper {
- padding-top: 0;
- }
+// The custom FMS nav links just below the masthead
+#main-nav {
+ background-color: $green;
+ color: #fff;
+ padding: 10px 0;
+ margin: 0 -20px; // overlap 20px padding either side of body
+ text-align: center;
- #front-howto, #front-recently {
- padding-left: 15px;
+ li {
+ display: inline-block;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ }
- section.full-width {
- margin: 0 0 0 -15px;
- }
+ a,
+ span {
+ display: inline-block;
+ padding: 5px 10px;
}
- #top-header .container {
- padding: 0 1em;
+ span {
+ color: mix(#fff, $green, 70%);
}
- #mega-menu-navbar .navbar-inner {
- padding: 0;
+ a {
+ color: #fff;
- #mega-menu li a {
- padding: 4px 8px;
+ &:hover,
+ &:focus {
+ color: #fff;
+ text-decoration: none;
}
}
+}
- .navbar .nav {
- margin: 0;
+// Bootstrap messes up our inputs!
+select,
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+ height: auto;
+
+ &.form-control {
+ border: 1px solid #aaa;
+ box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
}
-
}
-#mega-menu-navbar .navbar-inner {
- display: block;
+// Bootstrap adds underlines to all our sidebar links!
+.item-list a {
+ text-decoration: none !important;
}
-@media (max-width: 979px) {
- .navbar-fixed-top .navbar-inner {
- padding-top: 0;
- padding-bottom: 0;
- }
+// Bootstrap messes up our map tiles if we don't disable the max-width.
+#map_box img {
+ max-width: none !important;
}
diff --git a/web/cobrands/warwickshire/layout.scss b/web/cobrands/warwickshire/layout.scss
index 0415d1f2a..53ec9e4b7 100644
--- a/web/cobrands/warwickshire/layout.scss
+++ b/web/cobrands/warwickshire/layout.scss
@@ -1,4 +1,4 @@
-$mappage-header-height: 41px + 100px + 37px; // .navbar-inverse + #top-header + #mega-menu-navbar
+$mappage-header-height: 49px + 50px; // .navbar + #main-nav
@import "_colours";
@import "../sass/layout";
@@ -10,25 +10,6 @@ $mappage-header-height: 41px + 100px + 37px; // .navbar-inverse + #top-header +
}
}
-body.mappage {
- footer, .footer-container, #footer-container, #footer-logos-bottom {
- display: none;
- }
-
- #wrapper.container:before, #wrapper.container:after {
- display: none;
- }
-
- #site-header .navbar {
- margin-top: 0; // remove space between FMS nav links and green header
- }
-
- #mega-menu-navbar .navbar-inner {
- border-width: 0 0 1px 0;
- border-radius: 0;
- }
-}
-
body.twothirdswidthpage .content .sticky-sidebar {
z-index: 0;
@@ -37,28 +18,16 @@ body.twothirdswidthpage .content .sticky-sidebar {
}
}
-#footer-logos-bottom .container {
- background: $base_bg;
+#main-nav {
+ text-align: inherit;
+ min-height: 0;
+ display: block; // undo flex-container()
+ float: none;
}
-#top-header {
- [class*="span"] {
- margin-left: 2%;
- }
-
- .span12 {
- width: 98%;
- }
-
- .span3 {
- width: 23%;
- }
-
- .span9 {
- width: 73%;
+body.mappage {
+ & > .navbar .container,
+ & > #main-nav .container {
+ width: auto !important; // override bootstrap media queries
}
}
-
-#site-search.navbar-form input {
- width: 16em;
-} \ No newline at end of file
diff --git a/web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css b/web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css
index 2dbc61a6e..0e566eca6 100644
--- a/web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css
+++ b/web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css
@@ -790,8 +790,13 @@
body {
padding-right: 20px;
padding-left: 20px;
- min-width:320px; /*PL edit*/
+ min-width:320px; /*PL edit*/
}
+
+ .show-search .mobile-search{
+ display:block;
+ }
+
.navbar-fixed-top,
.navbar-fixed-bottom,
.navbar-static-top {
@@ -800,6 +805,8 @@
}
.container-fluid {
padding: 0;
+ padding-left: 10%; /*added 05-09-2016 - DJ */
+ padding-right: 10%;
}
.dl-horizontal dt {
float: none;
@@ -889,6 +896,9 @@
.nav-collapse {
-webkit-transform: translate3d(0, 0, 0);
}
+
+
+
.page-header h1 small {
display: block;
line-height: 20px;
@@ -941,6 +951,15 @@
body {
padding-top: 0;
}
+
+ .show-search .mobile-search{
+ display:block;
+ }
+
+nav #site-search{
+ display: none;
+}
+
.navbar-fixed-top,
.navbar-fixed-bottom {
position: static;
@@ -989,8 +1008,9 @@
.nav-collapse .nav > li > a,
.nav-collapse .dropdown-menu a {
padding: 9px 15px;
- font-weight: bold;
+ font-weight: normal; /*bold;*/
color: #777777;
+ text-decoration: none;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
@@ -1079,8 +1099,10 @@
height: 0;
overflow: hidden;
}
- .navbar .btn-navbar {
+ /*added margin top to icons */
+ .navbar .btn-navbar, .navbar .btn-search {
display: block;
+ margin-top: 10px;
}
.navbar-static .navbar-inner {
padding-right: 10px;
@@ -1093,4 +1115,20 @@
height: auto !important;
overflow: visible !important;
}
+ .show-search{
+ height: 10px !important;
+ }
+
+ .sign-in::before {
+ content: "| ";
+}
+
+ .sign-in::after {
+ content: " |";
+}
+
+
+
+
+
}
diff --git a/web/cobrands/warwickshire/vendor/gamma/homepage-slider-test.js b/web/cobrands/warwickshire/vendor/gamma/homepage-slider-test.js
new file mode 100644
index 000000000..d02a1e3f6
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/homepage-slider-test.js
@@ -0,0 +1,27 @@
+function GetContent(url) {
+ var api = "//query.yahooapis.com/v1/public/yql?q=" + encodeURIComponent("select * from xml where url = '" + url + "'") + "&format=json";
+
+ $.getJSON(api, function(data){
+ if (data.query.count > 0) {
+ for (var i = 0; i < data.query.results.rss.channel.item.length; i++) {
+ // get item and thumbnail from feed item
+ item = data.query.results.rss.channel.item[i];
+ itemThumb = item.content.thumbnail;
+ //build up item to insert
+ rssLink = '<a href="' + item.link + '"><img class="featured-news-image" src="' + itemThumb.url + '" alt="' + item.title + '" height>' + '</a>';
+ rssCapt = '<div class="carousel-caption"><h3><a href="' + item.link + '">' + item.title + '</a></h3></div>';
+ rssSpan = '<span class="wrap" style="height:300px;">' + rssLink + rssCapt + '</span>';
+ rssItem = '<div class="item slide pane-' + (i + 1) + '">' + rssSpan + '</div>';
+ jQuery('#latest-news').append(rssItem);
+ }
+ // after our JSON has loaded successfully, then we begin to slide
+ jQuery('#latest-news .slide').first().addClass('active');
+ jQuery('#featured-slider').carousel('pause');
+ }
+ else {
+ // no content from the feed, log data for analysis and show message
+ console.log( data );
+ jQuery('#latest-news').append('<div class="item slide"><span class="wrap" style="height:300px;"></span><div class="carousel-caption"><h3>Sorry, something went wrong when we tried to get those stories for you.</h3></div></div>');
+ }
+ });
+} \ No newline at end of file
diff --git a/web/cobrands/warwickshire/vendor/gamma/image-navigation.css b/web/cobrands/warwickshire/vendor/gamma/image-navigation.css
new file mode 100644
index 000000000..67e316385
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/image-navigation.css
@@ -0,0 +1,664 @@
+/* formerly wedding style css
+stylesheet created by Dave Jennings, e-services, WCC on 25/01/2016 */
+/* latest version 13-01--2017 - DJ */
+
+.redtext {
+color:red;
+}
+
+#spanDate {
+ font-weight: bold;
+color:transparent;
+}
+
+div.page-intro {
+margin-bottom:0px;
+}
+
+.promo-box img {
+padding:5px;
+}
+
+.promo-box {
+/*background-color:rgb(200,225,200);*/
+background-color:rgba(208,208,208,.41);
+margin-left:0;
+}
+
+.promo-title-text a {
+color:black;
+background-color:#2b4d42;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.promo-text {
+color:black;
+margin:7px;
+}
+
+.promo-link {
+margin:10px;
+}
+
+.title-text {
+font-size:15px;
+color:white;
+background-color:rgba(15, 15, 15, 0.70); /* changed from #2b4d42 - DJ - 25-01-2016 */
+
+position:absolute;
+}
+
+.image-nav-large img {
+width:auto;
+margin:auto;
+display:block;
+}
+
+div.image-nav-large:hover {
+/*ckground-color:#C8E1C8;*/
+background-color:rgba(208, 208, 208, 0.27)
+}
+
+.image-nav-large a:hover {
+text-decoration:none;
+color:black;
+background-color:rgba(208, 208, 208, 0.27)
+}
+
+.desc-text {
+padding-bottom:10px;
+margin-bottom:0px;
+text-decoration: none;
+font-weight: lighter;
+}
+
+
+
+@media (min-width: 1200px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+.title-text {
+margin-left:32px; /* changed from 25px - DJ - 25-01-2016 */
+margin-top:-211px; /* changed from -70px - DJ - 25-01-2016 */
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:25px;
+margin-right:25px;
+padding-bottom:25px;
+}
+
+#image-a {
+ text-decoration: none; /* created as id as could not get class to work - DJ - 25-01-2016 */
+}
+
+.navigation-photo {
+padding-top:20px;
+}
+
+}
+
+@media (min-width: 981px) and (max-width: 1199px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+.image-nav-large img {
+width:90%;
+}
+
+.title-text {
+margin-left:15px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:15px;
+margin-right:15px;
+padding-bottom:15px;
+}
+
+#image-a {
+ text-decoration: none; /* created as id as could not get class to work - DJ - 25-01-2016 */
+}
+
+.navigation-photo {
+padding-top:15px;
+}
+
+}
+
+@media (min-width: 768px) and (max-width: 980px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+div.page-intro-intro {
+margin-bottom:0px !important;
+}
+
+.image-nav-large img {
+width:90%;
+}
+
+.title-text {
+margin-left:11px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:10px;
+margin-right:10px;
+padding-bottom:10px;
+}
+
+#image-a {
+ text-decoration: none; /* created as id as could not get class to work - DJ - 25-01-2016 */
+}
+
+.navigation-photo {
+padding-top:13px;
+}
+
+.promo-box a {
+padding-bottom:5px;
+}
+
+}
+
+@media (max-width: 767px) {
+
+.photo-mobile {
+display:block !important;
+padding:5px;
+background-color: transparent;
+}
+
+.photo-mobile img {
+height:60px;
+margin-left:0px;
+}
+
+div.image-nav-large {
+/*background-color:#C8E1C8;*/
+background-color:rgb(208,208,208);
+border-radius:10px;
+margin-top:5px;
+min-height:60px;
+}
+
+.title-text {
+/*background-color:#C8E1C8;*/
+background-color:rgb(208,208,208);
+font-size:20px;
+color:#006D3C;
+position:absolute;
+margin-left:80px;
+margin-top:-56px;
+padding-left:0px;
+padding-right:0px;
+padding-top:0px;
+padding-bottom:0px;
+}
+
+.desc-text {
+display:none;
+}
+
+.desc-text a:hover{
+color:black;
+}
+
+.promo-box img {
+width:97%;
+}
+
+.image-nav-large img {
+display:none;
+margin:0px;
+}
+
+.navigation-page-row {
+margin-top:-5px;
+}
+
+.promo-box h2 {
+padding-left:5px;
+}
+
+.promo-box a {
+margin-left:5px;
+padding-bottom:5px;
+}
+}
+
+/* venue styling */
+
+.venue-title {
+font-size:20px; /* changed from 16px DJ - 27-01-2016 */
+font-weight: normal; /* changed from bold - DJ - 27-01-2016 */
+margin:10px;
+line-height:20px;
+color: black;
+padding-top: 0px;
+}
+
+.venue-title-med {
+font-size:20px; /* changed from 16px DJ - 27-01-2016 */
+font-weight: normal; /* changed from bold - DJ - 27-01-2016 */
+margin:10px;
+line-height:20px;
+color: black;
+margin-left: 25px;
+}
+
+/*div.weddings-intro {
+margin-bottom:0px;
+}
+*/
+
+/*.title-text {
+font-size:15px;
+color:white;
+background-color:#2b4d42;
+position:absolute;
+}
+*/
+
+/*.wedding-nav-large img {
+width:auto;
+margin:auto;
+display:block;
+}
+*/
+
+.nav-small img {
+width:auto;
+margin:auto;
+display:block;
+}
+
+/*div.wedding-nav-large:hover {
+background-color:rgb(200,225,200);
+}
+*/
+
+div.nav-small:hover {
+/*background-color:rgb(200,225,200);*/
+background-color:rgba(208, 208, 208, 0.27)
+}
+
+.wedding-nav-large a:hover {
+text-decoration:none;
+color:black;
+}
+
+.nav-small a:hover {
+text-decoration:none;
+color:black;
+}
+
+#venue-description {
+ padding-left: 10px;
+ margin-bottom: 20px;
+}
+
+
+#venue-description-med {
+ padding-left: 25px;
+ margin-bottom: 20px;
+}
+
+.desc-text {
+padding-bottom:0px;
+margin-bottom:0px;
+text-decoration: none;
+font-weight: lighter;
+}
+
+.venue-text {
+padding:10px 10px 10px 10px;
+margin:10px;
+text-decoration: none;
+font-weight: lighter;
+}
+
+@media (min-width: 1200px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+/*.title-text {
+margin-left:25px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+*/
+
+.desc-text {
+margin-left:25px;
+margin-right:25px;
+padding-bottom:25px;
+}
+
+.nav-photo-small {
+padding-top:15px;
+}
+
+.alt-nav-photo-small {
+padding-top:20px;
+}
+
+}
+
+@media (min-width: 981px) and (max-width: 1199px) {
+
+
+
+.photo-mobile {
+display:none !important;
+}
+
+.wedding-nav-large img {
+width:90%;
+}
+
+.nav-small img {
+width:90%;
+}
+
+.title-text {
+margin-left:15px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:15px;
+margin-right:15px;
+padding-bottom:15px;
+}
+
+.nav-photo-small {
+padding-top:15px;
+}
+
+.alt-nav-photo-small {
+padding-top:15px;
+}
+
+}
+
+@media (min-width: 768px) and (max-width: 980px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+.wedding-nav-large img {
+width:90%;
+}
+
+.nav-small img {
+width:90%;
+}
+
+.title-text {
+margin-left:11px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:10px;
+margin-right:10px;
+padding-bottom:10px;
+}
+
+.venue-photo {
+padding-top:10px;
+}
+
+.alt-nav-photo-small {
+padding-top:10px;
+}
+}
+
+@media (max-width: 767px) {
+
+.venue-title /*h3*/ {
+line-height:20px !important;
+/*font-size: 14px;*/
+font-size:20px; /* changed from 14px DJ - 27-01-2016 */
+font-weight: normal; /* changed from bold - DJ - 27-01-2016 */
+}
+
+.nav-photo-small img {
+padding-top:5px;
+display:inline;
+max-width:75%;
+}
+
+#image-a {
+ text-decoration: none; /* created as id as could not get class to work - DJ - 25-01-2016 */
+}
+
+#venue-description a{
+ text-decoration: none;
+}
+
+.photo-mobile {
+display:block !important;
+padding:5px;
+margin-left:0px !important;
+}
+
+.photo-mobile img {
+height:60px;
+margin-left:0px;
+}
+
+/*div.wedding-nav-large {
+background-color:#C8E1C8;
+border-radius:10px;
+margin-top:5px;
+min-height:60px;
+}
+*/
+
+div.nav-small {
+min-height:110px;
+}
+
+.nav-small img {
+height:100px;
+display:block;
+float:left;
+padding:5px;
+text-decoration: none;
+}
+
+
+/*.title-text {
+background-color:#C8E1C8;
+font-size:20px;
+color:#006D3C;
+position:absolute;
+margin-left:80px;
+margin-top:-56px;
+padding-left:0px;
+padding-right:0px;
+padding-top:0px;
+padding-bottom:0px;
+}
+*/
+.desc-text {
+display:none;
+}
+
+.venue-text {
+font-size:14px;
+}
+
+.desc-text a:hover{
+color:black;
+}
+
+.alt-nav-photo-small {
+display:none !important;
+}
+
+.navigation-page-row {
+margin-top:-5px;
+}
+
+}
+
+.goog-te-gadget {
+ font-family: arial;
+ /* font-size: 11px; */
+ color: white!important;
+ white-space: nowrap;
+}
+
+#skiptomain {
+color:white!important;
+}
+
+
+div#multiColumn {
+ -moz-column-count: 2;
+ -moz-column-gap: 20px;
+ -webkit-column-count: 2;
+ -webkit-column-gap: 20px;
+ column-count: 2;
+ column-gap: 20px;
+}
+
+/* print */
+@media print {
+body {background:white;
+ font-size:10pt;
+ margin:0 }
+#sidebar { display:none }
+#header { height:75px }
+#content{ margin-left:0;
+ float:none;
+ width:auto }
+.demo .red { color:black;
+ font-weight:bold }
+#content a { font-weight:bold;
+ color:#000066;
+ text-decoration:underline }
+#content{ margin-left:0;
+ float:none;
+ width:auto }
+#footer, .ad { display:none }
+h1, h2, h3, h4, h5, h6 { page-break-after:avoid;
+ page-break-inside:avoid }
+h3 { margin-left:10px;
+ margin-bottom:0px;
+ padding-bottom:0px }
+blockquote, table, pre { page-break-inside:avoid }
+ul, ol, dl { page-break-before:avoid }
+img.centered { display: block;
+ margin-left: auto;
+ margin-right: auto; }
+img.right { padding: 4px;
+ margin: 0 0 2px 7px;
+ display: inline; }
+img.left { padding: 4px;
+ margin: 0 7px 2px 0;
+ display: inline; }
+.right { float: right; }
+.left { float: left }
+img { page-break-inside:avoid;
+ page-break-after:avoid; }
+}
+
+.rss-list-item-first {
+padding-bottom:0px;
+border-bottom: solid;
+border-width: 1px;
+border-color: #ddd;
+}
+
+.rss-list-item-sub {
+padding-bottom:0px!important;
+border-bottom: solid;
+border-width: 1px;
+border-color: #ddd;
+}
+.snippet {
+margin-bottom: 0px;
+}
+
+.rss-list-item-first h4 {
+font-size:16px;
+font-weight:bold;
+margin-bottom:5px;
+}
+
+.rss-list-item-first h5 {
+ font-size: 12px;
+ font-weight: bold;
+padding-top:0px;
+margin-top:5px;
+margin-bottom:5px;
+}
+
+
+.rss-list-item-sub {
+padding-bottom:0px!important;
+}
+.rss-list-item-sub h4 {
+ font-size: 16px;
+ font-weight: bold;
+padding-top:0px;
+margin-bottom:5px;
+}
+
+.rss-list-item-sub h5 {
+ font-size: 12px;
+ font-weight: bold;
+ padding-top: 0px;
+margin-top:5px;
+margin-bottom:5px
+}
+
+#rss-box-1 h4 {
+ margin-bottom: -5px;
+}
+.rss2html-note {
+display:none;
+}
diff --git a/web/cobrands/warwickshire/vendor/gamma/images/apple-touch-icon-WCC.png b/web/cobrands/warwickshire/vendor/gamma/images/apple-touch-icon-WCC.png
new file mode 100644
index 000000000..3390358fb
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/images/apple-touch-icon-WCC.png
Binary files differ
diff --git a/web/cobrands/warwickshire/vendor/gamma/images/favicon-WCC.png b/web/cobrands/warwickshire/vendor/gamma/images/favicon-WCC.png
new file mode 100644
index 000000000..f216b2e1d
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/images/favicon-WCC.png
Binary files differ
diff --git a/web/cobrands/warwickshire/vendor/gamma/images/favicon.ico b/web/cobrands/warwickshire/vendor/gamma/images/favicon.ico
deleted file mode 100644
index 53e51b914..000000000
--- a/web/cobrands/warwickshire/vendor/gamma/images/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/warwickshire/vendor/gamma/images/favicon_wcc.ico b/web/cobrands/warwickshire/vendor/gamma/images/favicon_wcc.ico
new file mode 100644
index 000000000..1c9b0b4b9
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/images/favicon_wcc.ico
Binary files differ
diff --git a/web/cobrands/warwickshire/vendor/gamma/images/glyphicons-halflings-white.png b/web/cobrands/warwickshire/vendor/gamma/images/glyphicons-halflings-white.png
new file mode 100644
index 000000000..3bf6484a2
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/images/glyphicons-halflings-white.png
Binary files differ
diff --git a/web/cobrands/warwickshire/vendor/gamma/jquery.cycle.js b/web/cobrands/warwickshire/vendor/gamma/jquery.cycle.js
new file mode 100644
index 000000000..666afdaf9
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/jquery.cycle.js
@@ -0,0 +1,1538 @@
+/*!
+ * jQuery Cycle Plugin (with Transition Definitions)
+ * Examples and documentation at: http://jquery.malsup.com/cycle/
+ * Copyright (c) 2007-2012 M. Alsup
+ * Version: 2.9999.81 (15-JAN-2013)
+ * Dual licensed under the MIT and GPL licenses.
+ * http://jquery.malsup.com/license.html
+ * Requires: jQuery v1.7.1 or later
+ */
+;(function($, undefined) {
+"use strict";
+
+var ver = '2.9999.81';
+
+function debug(s) {
+ if ($.fn.cycle.debug)
+ log(s);
+}
+function log() {
+ if (window.console && console.log)
+ console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
+}
+$.expr[':'].paused = function(el) {
+ return el.cyclePause;
+};
+
+
+// the options arg can be...
+// a number - indicates an immediate transition should occur to the given slide index
+// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc)
+// an object - properties to control the slideshow
+//
+// the arg2 arg can be...
+// the name of an fx (only used in conjunction with a numeric value for 'options')
+// the value true (only used in first arg == 'resume') and indicates
+// that the resume should occur immediately (not wait for next timeout)
+
+$.fn.cycle = function(options, arg2) {
+ var o = { s: this.selector, c: this.context };
+
+ // in 1.3+ we can fix mistakes with the ready state
+ if (this.length === 0 && options != 'stop') {
+ if (!$.isReady && o.s) {
+ log('DOM not ready, queuing slideshow');
+ $(function() {
+ $(o.s,o.c).cycle(options,arg2);
+ });
+ return this;
+ }
+ // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
+ log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
+ return this;
+ }
+
+ // iterate the matched nodeset
+ return this.each(function() {
+ var opts = handleArguments(this, options, arg2);
+ if (opts === false)
+ return;
+
+ opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink;
+
+ // stop existing slideshow for this container (if there is one)
+ if (this.cycleTimeout)
+ clearTimeout(this.cycleTimeout);
+ this.cycleTimeout = this.cyclePause = 0;
+ this.cycleStop = 0; // issue #108
+
+ var $cont = $(this);
+ var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children();
+ var els = $slides.get();
+
+ if (els.length < 2) {
+ log('terminating; too few slides: ' + els.length);
+ return;
+ }
+
+ var opts2 = buildOptions($cont, $slides, els, opts, o);
+ if (opts2 === false)
+ return;
+
+ var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.backwards);
+
+ // if it's an auto slideshow, kick it off
+ if (startTime) {
+ startTime += (opts2.delay || 0);
+ if (startTime < 10)
+ startTime = 10;
+ debug('first timeout: ' + startTime);
+ this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts.backwards);}, startTime);
+ }
+ });
+};
+
+function triggerPause(cont, byHover, onPager) {
+ var opts = $(cont).data('cycle.opts');
+ if (!opts)
+ return;
+ var paused = !!cont.cyclePause;
+ if (paused && opts.paused)
+ opts.paused(cont, opts, byHover, onPager);
+ else if (!paused && opts.resumed)
+ opts.resumed(cont, opts, byHover, onPager);
+}
+
+// process the args that were passed to the plugin fn
+function handleArguments(cont, options, arg2) {
+ if (cont.cycleStop === undefined)
+ cont.cycleStop = 0;
+ if (options === undefined || options === null)
+ options = {};
+ if (options.constructor == String) {
+ switch(options) {
+ case 'destroy':
+ case 'stop':
+ var opts = $(cont).data('cycle.opts');
+ if (!opts)
+ return false;
+ cont.cycleStop++; // callbacks look for change
+ if (cont.cycleTimeout)
+ clearTimeout(cont.cycleTimeout);
+ cont.cycleTimeout = 0;
+ if (opts.elements)
+ $(opts.elements).stop();
+ $(cont).removeData('cycle.opts');
+ if (options == 'destroy')
+ destroy(cont, opts);
+ return false;
+ case 'toggle':
+ cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
+ checkInstantResume(cont.cyclePause, arg2, cont);
+ triggerPause(cont);
+ return false;
+ case 'pause':
+ cont.cyclePause = 1;
+ triggerPause(cont);
+ return false;
+ case 'resume':
+ cont.cyclePause = 0;
+ checkInstantResume(false, arg2, cont);
+ triggerPause(cont);
+ return false;
+ case 'prev':
+ case 'next':
+ opts = $(cont).data('cycle.opts');
+ if (!opts) {
+ log('options not found, "prev/next" ignored');
+ return false;
+ }
+ $.fn.cycle[options](opts);
+ return false;
+ default:
+ options = { fx: options };
+ }
+ return options;
+ }
+ else if (options.constructor == Number) {
+ // go to the requested slide
+ var num = options;
+ options = $(cont).data('cycle.opts');
+ if (!options) {
+ log('options not found, can not advance slide');
+ return false;
+ }
+ if (num < 0 || num >= options.elements.length) {
+ log('invalid slide index: ' + num);
+ return false;
+ }
+ options.nextSlide = num;
+ if (cont.cycleTimeout) {
+ clearTimeout(cont.cycleTimeout);
+ cont.cycleTimeout = 0;
+ }
+ if (typeof arg2 == 'string')
+ options.oneTimeFx = arg2;
+ go(options.elements, options, 1, num >= options.currSlide);
+ return false;
+ }
+ return options;
+
+ function checkInstantResume(isPaused, arg2, cont) {
+ if (!isPaused && arg2 === true) { // resume now!
+ var options = $(cont).data('cycle.opts');
+ if (!options) {
+ log('options not found, can not resume');
+ return false;
+ }
+ if (cont.cycleTimeout) {
+ clearTimeout(cont.cycleTimeout);
+ cont.cycleTimeout = 0;
+ }
+ go(options.elements, options, 1, !options.backwards);
+ }
+ }
+}
+
+function removeFilter(el, opts) {
+ if (!$.support.opacity && opts.cleartype && el.style.filter) {
+ try { el.style.removeAttribute('filter'); }
+ catch(smother) {} // handle old opera versions
+ }
+}
+
+// unbind event handlers
+function destroy(cont, opts) {
+ if (opts.next)
+ $(opts.next).unbind(opts.prevNextEvent);
+ if (opts.prev)
+ $(opts.prev).unbind(opts.prevNextEvent);
+
+ if (opts.pager || opts.pagerAnchorBuilder)
+ $.each(opts.pagerAnchors || [], function() {
+ this.unbind().remove();
+ });
+ opts.pagerAnchors = null;
+ $(cont).unbind('mouseenter.cycle mouseleave.cycle');
+ if (opts.destroy) // callback
+ opts.destroy(opts);
+}
+
+// one-time initialization
+function buildOptions($cont, $slides, els, options, o) {
+ var startingSlideSpecified;
+ // support metadata plugin (v1.0 and v2.0)
+ var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
+ var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null;
+ if (meta)
+ opts = $.extend(opts, meta);
+ if (opts.autostop)
+ opts.countdown = opts.autostopCount || els.length;
+
+ var cont = $cont[0];
+ $cont.data('cycle.opts', opts);
+ opts.$cont = $cont;
+ opts.stopCount = cont.cycleStop;
+ opts.elements = els;
+ opts.before = opts.before ? [opts.before] : [];
+ opts.after = opts.after ? [opts.after] : [];
+
+ // push some after callbacks
+ if (!$.support.opacity && opts.cleartype)
+ opts.after.push(function() { removeFilter(this, opts); });
+ if (opts.continuous)
+ opts.after.push(function() { go(els,opts,0,!opts.backwards); });
+
+ saveOriginalOpts(opts);
+
+ // clearType corrections
+ if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
+ clearTypeFix($slides);
+
+ // container requires non-static position so that slides can be position within
+ if ($cont.css('position') == 'static')
+ $cont.css('position', 'relative');
+ if (opts.width)
+ $cont.width(opts.width);
+ if (opts.height && opts.height != 'auto')
+ $cont.height(opts.height);
+
+ if (opts.startingSlide !== undefined) {
+ opts.startingSlide = parseInt(opts.startingSlide,10);
+ if (opts.startingSlide >= els.length || opts.startSlide < 0)
+ opts.startingSlide = 0; // catch bogus input
+ else
+ startingSlideSpecified = true;
+ }
+ else if (opts.backwards)
+ opts.startingSlide = els.length - 1;
+ else
+ opts.startingSlide = 0;
+
+ // if random, mix up the slide array
+ if (opts.random) {
+ opts.randomMap = [];
+ for (var i = 0; i < els.length; i++)
+ opts.randomMap.push(i);
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
+ if (startingSlideSpecified) {
+ // try to find the specified starting slide and if found set start slide index in the map accordingly
+ for ( var cnt = 0; cnt < els.length; cnt++ ) {
+ if ( opts.startingSlide == opts.randomMap[cnt] ) {
+ opts.randomIndex = cnt;
+ }
+ }
+ }
+ else {
+ opts.randomIndex = 1;
+ opts.startingSlide = opts.randomMap[1];
+ }
+ }
+ else if (opts.startingSlide >= els.length)
+ opts.startingSlide = 0; // catch bogus input
+ opts.currSlide = opts.startingSlide || 0;
+ var first = opts.startingSlide;
+
+ // set position and zIndex on all the slides
+ $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
+ var z;
+ if (opts.backwards)
+ z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i;
+ else
+ z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
+ $(this).css('z-index', z);
+ });
+
+ // make sure first slide is visible
+ $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
+ removeFilter(els[first], opts);
+
+ // stretch slides
+ if (opts.fit) {
+ if (!opts.aspect) {
+ if (opts.width)
+ $slides.width(opts.width);
+ if (opts.height && opts.height != 'auto')
+ $slides.height(opts.height);
+ } else {
+ $slides.each(function(){
+ var $slide = $(this);
+ var ratio = (opts.aspect === true) ? $slide.width()/$slide.height() : opts.aspect;
+ if( opts.width && $slide.width() != opts.width ) {
+ $slide.width( opts.width );
+ $slide.height( opts.width / ratio );
+ }
+
+ if( opts.height && $slide.height() < opts.height ) {
+ $slide.height( opts.height );
+ $slide.width( opts.height * ratio );
+ }
+ });
+ }
+ }
+
+ if (opts.center && ((!opts.fit) || opts.aspect)) {
+ $slides.each(function(){
+ var $slide = $(this);
+ $slide.css({
+ "margin-left": opts.width ?
+ ((opts.width - $slide.width()) / 2) + "px" :
+ 0,
+ "margin-top": opts.height ?
+ ((opts.height - $slide.height()) / 2) + "px" :
+ 0
+ });
+ });
+ }
+
+ if (opts.center && !opts.fit && !opts.slideResize) {
+ $slides.each(function(){
+ var $slide = $(this);
+ $slide.css({
+ "margin-left": opts.width ? ((opts.width - $slide.width()) / 2) + "px" : 0,
+ "margin-top": opts.height ? ((opts.height - $slide.height()) / 2) + "px" : 0
+ });
+ });
+ }
+
+ // stretch container
+ var reshape = (opts.containerResize || opts.containerResizeHeight) && !$cont.innerHeight();
+ if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
+ var maxw = 0, maxh = 0;
+ for(var j=0; j < els.length; j++) {
+ var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
+ if (!w) w = e.offsetWidth || e.width || $e.attr('width');
+ if (!h) h = e.offsetHeight || e.height || $e.attr('height');
+ maxw = w > maxw ? w : maxw;
+ maxh = h > maxh ? h : maxh;
+ }
+ if (opts.containerResize && maxw > 0 && maxh > 0)
+ $cont.css({width:maxw+'px',height:maxh+'px'});
+ if (opts.containerResizeHeight && maxh > 0)
+ $cont.css({height:maxh+'px'});
+ }
+
+ var pauseFlag = false; // https://github.com/malsup/cycle/issues/44
+ if (opts.pause)
+ $cont.bind('mouseenter.cycle', function(){
+ pauseFlag = true;
+ this.cyclePause++;
+ triggerPause(cont, true);
+ }).bind('mouseleave.cycle', function(){
+ if (pauseFlag)
+ this.cyclePause--;
+ triggerPause(cont, true);
+ });
+
+ if (supportMultiTransitions(opts) === false)
+ return false;
+
+ // apparently a lot of people use image slideshows without height/width attributes on the images.
+ // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
+ var requeue = false;
+ options.requeueAttempts = options.requeueAttempts || 0;
+ $slides.each(function() {
+ // try to get height/width of each slide
+ var $el = $(this);
+ this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0);
+ this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0);
+
+ if ( $el.is('img') ) {
+ var loading = (this.cycleH === 0 && this.cycleW === 0 && !this.complete);
+ // don't requeue for images that are still loading but have a valid size
+ if (loading) {
+ if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
+ log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
+ setTimeout(function() {$(o.s,o.c).cycle(options);}, opts.requeueTimeout);
+ requeue = true;
+ return false; // break each loop
+ }
+ else {
+ log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
+ }
+ }
+ }
+ return true;
+ });
+
+ if (requeue)
+ return false;
+
+ opts.cssBefore = opts.cssBefore || {};
+ opts.cssAfter = opts.cssAfter || {};
+ opts.cssFirst = opts.cssFirst || {};
+ opts.animIn = opts.animIn || {};
+ opts.animOut = opts.animOut || {};
+
+ $slides.not(':eq('+first+')').css(opts.cssBefore);
+ $($slides[first]).css(opts.cssFirst);
+
+ if (opts.timeout) {
+ opts.timeout = parseInt(opts.timeout,10);
+ // ensure that timeout and speed settings are sane
+ if (opts.speed.constructor == String)
+ opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed,10);
+ if (!opts.sync)
+ opts.speed = opts.speed / 2;
+
+ var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250;
+ while((opts.timeout - opts.speed) < buffer) // sanitize timeout
+ opts.timeout += opts.speed;
+ }
+ if (opts.easing)
+ opts.easeIn = opts.easeOut = opts.easing;
+ if (!opts.speedIn)
+ opts.speedIn = opts.speed;
+ if (!opts.speedOut)
+ opts.speedOut = opts.speed;
+
+ opts.slideCount = els.length;
+ opts.currSlide = opts.lastSlide = first;
+ if (opts.random) {
+ if (++opts.randomIndex == els.length)
+ opts.randomIndex = 0;
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ }
+ else if (opts.backwards)
+ opts.nextSlide = opts.startingSlide === 0 ? (els.length-1) : opts.startingSlide-1;
+ else
+ opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;
+
+ // run transition init fn
+ if (!opts.multiFx) {
+ var init = $.fn.cycle.transitions[opts.fx];
+ if ($.isFunction(init))
+ init($cont, $slides, opts);
+ else if (opts.fx != 'custom' && !opts.multiFx) {
+ log('unknown transition: ' + opts.fx,'; slideshow terminating');
+ return false;
+ }
+ }
+
+ // fire artificial events
+ var e0 = $slides[first];
+ if (!opts.skipInitializationCallbacks) {
+ if (opts.before.length)
+ opts.before[0].apply(e0, [e0, e0, opts, true]);
+ if (opts.after.length)
+ opts.after[0].apply(e0, [e0, e0, opts, true]);
+ }
+ if (opts.next)
+ $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);});
+ if (opts.prev)
+ $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);});
+ if (opts.pager || opts.pagerAnchorBuilder)
+ buildPager(els,opts);
+
+ exposeAddSlide(opts, els);
+
+ return opts;
+}
+
+// save off original opts so we can restore after clearing state
+function saveOriginalOpts(opts) {
+ opts.original = { before: [], after: [] };
+ opts.original.cssBefore = $.extend({}, opts.cssBefore);
+ opts.original.cssAfter = $.extend({}, opts.cssAfter);
+ opts.original.animIn = $.extend({}, opts.animIn);
+ opts.original.animOut = $.extend({}, opts.animOut);
+ $.each(opts.before, function() { opts.original.before.push(this); });
+ $.each(opts.after, function() { opts.original.after.push(this); });
+}
+
+function supportMultiTransitions(opts) {
+ var i, tx, txs = $.fn.cycle.transitions;
+ // look for multiple effects
+ if (opts.fx.indexOf(',') > 0) {
+ opts.multiFx = true;
+ opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
+ // discard any bogus effect names
+ for (i=0; i < opts.fxs.length; i++) {
+ var fx = opts.fxs[i];
+ tx = txs[fx];
+ if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
+ log('discarding unknown transition: ',fx);
+ opts.fxs.splice(i,1);
+ i--;
+ }
+ }
+ // if we have an empty list then we threw everything away!
+ if (!opts.fxs.length) {
+ log('No valid transitions named; slideshow terminating.');
+ return false;
+ }
+ }
+ else if (opts.fx == 'all') { // auto-gen the list of transitions
+ opts.multiFx = true;
+ opts.fxs = [];
+ for (var p in txs) {
+ if (txs.hasOwnProperty(p)) {
+ tx = txs[p];
+ if (txs.hasOwnProperty(p) && $.isFunction(tx))
+ opts.fxs.push(p);
+ }
+ }
+ }
+ if (opts.multiFx && opts.randomizeEffects) {
+ // munge the fxs array to make effect selection random
+ var r1 = Math.floor(Math.random() * 20) + 30;
+ for (i = 0; i < r1; i++) {
+ var r2 = Math.floor(Math.random() * opts.fxs.length);
+ opts.fxs.push(opts.fxs.splice(r2,1)[0]);
+ }
+ debug('randomized fx sequence: ',opts.fxs);
+ }
+ return true;
+}
+
+// provide a mechanism for adding slides after the slideshow has started
+function exposeAddSlide(opts, els) {
+ opts.addSlide = function(newSlide, prepend) {
+ var $s = $(newSlide), s = $s[0];
+ if (!opts.autostopCount)
+ opts.countdown++;
+ els[prepend?'unshift':'push'](s);
+ if (opts.els)
+ opts.els[prepend?'unshift':'push'](s); // shuffle needs this
+ opts.slideCount = els.length;
+
+ // add the slide to the random map and resort
+ if (opts.random) {
+ opts.randomMap.push(opts.slideCount-1);
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
+ }
+
+ $s.css('position','absolute');
+ $s[prepend?'prependTo':'appendTo'](opts.$cont);
+
+ if (prepend) {
+ opts.currSlide++;
+ opts.nextSlide++;
+ }
+
+ if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
+ clearTypeFix($s);
+
+ if (opts.fit && opts.width)
+ $s.width(opts.width);
+ if (opts.fit && opts.height && opts.height != 'auto')
+ $s.height(opts.height);
+ s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
+ s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();
+
+ $s.css(opts.cssBefore);
+
+ if (opts.pager || opts.pagerAnchorBuilder)
+ $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);
+
+ if ($.isFunction(opts.onAddSlide))
+ opts.onAddSlide($s);
+ else
+ $s.hide(); // default behavior
+ };
+}
+
+// reset internal state; we do this on every pass in order to support multiple effects
+$.fn.cycle.resetState = function(opts, fx) {
+ fx = fx || opts.fx;
+ opts.before = []; opts.after = [];
+ opts.cssBefore = $.extend({}, opts.original.cssBefore);
+ opts.cssAfter = $.extend({}, opts.original.cssAfter);
+ opts.animIn = $.extend({}, opts.original.animIn);
+ opts.animOut = $.extend({}, opts.original.animOut);
+ opts.fxFn = null;
+ $.each(opts.original.before, function() { opts.before.push(this); });
+ $.each(opts.original.after, function() { opts.after.push(this); });
+
+ // re-init
+ var init = $.fn.cycle.transitions[fx];
+ if ($.isFunction(init))
+ init(opts.$cont, $(opts.elements), opts);
+};
+
+// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
+function go(els, opts, manual, fwd) {
+ var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];
+
+ // opts.busy is true if we're in the middle of an animation
+ if (manual && opts.busy && opts.manualTrump) {
+ // let manual transitions requests trump active ones
+ debug('manualTrump in go(), stopping active transition');
+ $(els).stop(true,true);
+ opts.busy = 0;
+ clearTimeout(p.cycleTimeout);
+ }
+
+ // don't begin another timeout-based transition if there is one active
+ if (opts.busy) {
+ debug('transition active, ignoring new tx request');
+ return;
+ }
+
+
+ // stop cycling if we have an outstanding stop request
+ if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
+ return;
+
+ // check to see if we should stop cycling based on autostop options
+ if (!manual && !p.cyclePause && !opts.bounce &&
+ ((opts.autostop && (--opts.countdown <= 0)) ||
+ (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
+ if (opts.end)
+ opts.end(opts);
+ return;
+ }
+
+ // if slideshow is paused, only transition on a manual trigger
+ var changed = false;
+ if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) {
+ changed = true;
+ var fx = opts.fx;
+ // keep trying to get the slide size if we don't have it yet
+ curr.cycleH = curr.cycleH || $(curr).height();
+ curr.cycleW = curr.cycleW || $(curr).width();
+ next.cycleH = next.cycleH || $(next).height();
+ next.cycleW = next.cycleW || $(next).width();
+
+ // support multiple transition types
+ if (opts.multiFx) {
+ if (fwd && (opts.lastFx === undefined || ++opts.lastFx >= opts.fxs.length))
+ opts.lastFx = 0;
+ else if (!fwd && (opts.lastFx === undefined || --opts.lastFx < 0))
+ opts.lastFx = opts.fxs.length - 1;
+ fx = opts.fxs[opts.lastFx];
+ }
+
+ // one-time fx overrides apply to: $('div').cycle(3,'zoom');
+ if (opts.oneTimeFx) {
+ fx = opts.oneTimeFx;
+ opts.oneTimeFx = null;
+ }
+
+ $.fn.cycle.resetState(opts, fx);
+
+ // run the before callbacks
+ if (opts.before.length)
+ $.each(opts.before, function(i,o) {
+ if (p.cycleStop != opts.stopCount) return;
+ o.apply(next, [curr, next, opts, fwd]);
+ });
+
+ // stage the after callacks
+ var after = function() {
+ opts.busy = 0;
+ $.each(opts.after, function(i,o) {
+ if (p.cycleStop != opts.stopCount) return;
+ o.apply(next, [curr, next, opts, fwd]);
+ });
+ if (!p.cycleStop) {
+ // queue next transition
+ queueNext();
+ }
+ };
+
+ debug('tx firing('+fx+'); currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide);
+
+ // get ready to perform the transition
+ opts.busy = 1;
+ if (opts.fxFn) // fx function provided?
+ opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
+ else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
+ $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent);
+ else
+ $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent);
+ }
+ else {
+ queueNext();
+ }
+
+ if (changed || opts.nextSlide == opts.currSlide) {
+ // calculate the next slide
+ var roll;
+ opts.lastSlide = opts.currSlide;
+ if (opts.random) {
+ opts.currSlide = opts.nextSlide;
+ if (++opts.randomIndex == els.length) {
+ opts.randomIndex = 0;
+ opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
+ }
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ if (opts.nextSlide == opts.currSlide)
+ opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1;
+ }
+ else if (opts.backwards) {
+ roll = (opts.nextSlide - 1) < 0;
+ if (roll && opts.bounce) {
+ opts.backwards = !opts.backwards;
+ opts.nextSlide = 1;
+ opts.currSlide = 0;
+ }
+ else {
+ opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1;
+ opts.currSlide = roll ? 0 : opts.nextSlide+1;
+ }
+ }
+ else { // sequence
+ roll = (opts.nextSlide + 1) == els.length;
+ if (roll && opts.bounce) {
+ opts.backwards = !opts.backwards;
+ opts.nextSlide = els.length-2;
+ opts.currSlide = els.length-1;
+ }
+ else {
+ opts.nextSlide = roll ? 0 : opts.nextSlide+1;
+ opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
+ }
+ }
+ }
+ if (changed && opts.pager)
+ opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass);
+
+ function queueNext() {
+ // stage the next transition
+ var ms = 0, timeout = opts.timeout;
+ if (opts.timeout && !opts.continuous) {
+ ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd);
+ if (opts.fx == 'shuffle')
+ ms -= opts.speedOut;
+ }
+ else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
+ ms = 10;
+ if (ms > 0)
+ p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.backwards); }, ms);
+ }
+}
+
+// invoked after transition
+$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) {
+ $(pager).each(function() {
+ $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);
+ });
+};
+
+// calculate timeout value for current transition
+function getTimeout(curr, next, opts, fwd) {
+ if (opts.timeoutFn) {
+ // call user provided calc fn
+ var t = opts.timeoutFn.call(curr,curr,next,opts,fwd);
+ while (opts.fx != 'none' && (t - opts.speed) < 250) // sanitize timeout
+ t += opts.speed;
+ debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
+ if (t !== false)
+ return t;
+ }
+ return opts.timeout;
+}
+
+// expose next/prev function, caller must pass in state
+$.fn.cycle.next = function(opts) { advance(opts,1); };
+$.fn.cycle.prev = function(opts) { advance(opts,0);};
+
+// advance slide forward or back
+function advance(opts, moveForward) {
+ var val = moveForward ? 1 : -1;
+ var els = opts.elements;
+ var p = opts.$cont[0], timeout = p.cycleTimeout;
+ if (timeout) {
+ clearTimeout(timeout);
+ p.cycleTimeout = 0;
+ }
+ if (opts.random && val < 0) {
+ // move back to the previously display slide
+ opts.randomIndex--;
+ if (--opts.randomIndex == -2)
+ opts.randomIndex = els.length-2;
+ else if (opts.randomIndex == -1)
+ opts.randomIndex = els.length-1;
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ }
+ else if (opts.random) {
+ opts.nextSlide = opts.randomMap[opts.randomIndex];
+ }
+ else {
+ opts.nextSlide = opts.currSlide + val;
+ if (opts.nextSlide < 0) {
+ if (opts.nowrap) return false;
+ opts.nextSlide = els.length - 1;
+ }
+ else if (opts.nextSlide >= els.length) {
+ if (opts.nowrap) return false;
+ opts.nextSlide = 0;
+ }
+ }
+
+ var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated
+ if ($.isFunction(cb))
+ cb(val > 0, opts.nextSlide, els[opts.nextSlide]);
+ go(els, opts, 1, moveForward);
+ return false;
+}
+
+function buildPager(els, opts) {
+ var $p = $(opts.pager);
+ $.each(els, function(i,o) {
+ $.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
+ });
+ opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass);
+}
+
+$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
+ var a;
+ if ($.isFunction(opts.pagerAnchorBuilder)) {
+ a = opts.pagerAnchorBuilder(i,el);
+ debug('pagerAnchorBuilder('+i+', el) returned: ' + a);
+ }
+ else
+ a = '<a href="#">'+(i+1)+'</a>';
+
+ if (!a)
+ return;
+ var $a = $(a);
+ // don't reparent if anchor is in the dom
+ if ($a.parents('body').length === 0) {
+ var arr = [];
+ if ($p.length > 1) {
+ $p.each(function() {
+ var $clone = $a.clone(true);
+ $(this).append($clone);
+ arr.push($clone[0]);
+ });
+ $a = $(arr);
+ }
+ else {
+ $a.appendTo($p);
+ }
+ }
+
+ opts.pagerAnchors = opts.pagerAnchors || [];
+ opts.pagerAnchors.push($a);
+
+ var pagerFn = function(e) {
+ e.preventDefault();
+ opts.nextSlide = i;
+ var p = opts.$cont[0], timeout = p.cycleTimeout;
+ if (timeout) {
+ clearTimeout(timeout);
+ p.cycleTimeout = 0;
+ }
+ var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated
+ if ($.isFunction(cb))
+ cb(opts.nextSlide, els[opts.nextSlide]);
+ go(els,opts,1,opts.currSlide < i); // trigger the trans
+// return false; // <== allow bubble
+ };
+
+ if ( /mouseenter|mouseover/i.test(opts.pagerEvent) ) {
+ $a.hover(pagerFn, function(){/* no-op */} );
+ }
+ else {
+ $a.bind(opts.pagerEvent, pagerFn);
+ }
+
+ if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble)
+ $a.bind('click.cycle', function(){return false;}); // suppress click
+
+ var cont = opts.$cont[0];
+ var pauseFlag = false; // https://github.com/malsup/cycle/issues/44
+ if (opts.pauseOnPagerHover) {
+ $a.hover(
+ function() {
+ pauseFlag = true;
+ cont.cyclePause++;
+ triggerPause(cont,true,true);
+ }, function() {
+ if (pauseFlag)
+ cont.cyclePause--;
+ triggerPause(cont,true,true);
+ }
+ );
+ }
+};
+
+// helper fn to calculate the number of slides between the current and the next
+$.fn.cycle.hopsFromLast = function(opts, fwd) {
+ var hops, l = opts.lastSlide, c = opts.currSlide;
+ if (fwd)
+ hops = c > l ? c - l : opts.slideCount - l;
+ else
+ hops = c < l ? l - c : l + opts.slideCount - c;
+ return hops;
+};
+
+// fix clearType problems in ie6 by setting an explicit bg color
+// (otherwise text slides look horrible during a fade transition)
+function clearTypeFix($slides) {
+ debug('applying clearType background-color hack');
+ function hex(s) {
+ s = parseInt(s,10).toString(16);
+ return s.length < 2 ? '0'+s : s;
+ }
+ function getBg(e) {
+ for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
+ var v = $.css(e,'background-color');
+ if (v && v.indexOf('rgb') >= 0 ) {
+ var rgb = v.match(/\d+/g);
+ return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
+ }
+ if (v && v != 'transparent')
+ return v;
+ }
+ return '#ffffff';
+ }
+ $slides.each(function() { $(this).css('background-color', getBg(this)); });
+}
+
+// reset common props before the next transition
+$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
+ $(opts.elements).not(curr).hide();
+ if (typeof opts.cssBefore.opacity == 'undefined')
+ opts.cssBefore.opacity = 1;
+ opts.cssBefore.display = 'block';
+ if (opts.slideResize && w !== false && next.cycleW > 0)
+ opts.cssBefore.width = next.cycleW;
+ if (opts.slideResize && h !== false && next.cycleH > 0)
+ opts.cssBefore.height = next.cycleH;
+ opts.cssAfter = opts.cssAfter || {};
+ opts.cssAfter.display = 'none';
+ $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
+ $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
+};
+
+// the actual fn for effecting a transition
+$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) {
+ var $l = $(curr), $n = $(next);
+ var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
+ $n.css(opts.cssBefore);
+ if (speedOverride) {
+ if (typeof speedOverride == 'number')
+ speedIn = speedOut = speedOverride;
+ else
+ speedIn = speedOut = 1;
+ easeIn = easeOut = null;
+ }
+ var fn = function() {
+ $n.animate(opts.animIn, speedIn, easeIn, function() {
+ cb();
+ });
+ };
+ $l.animate(opts.animOut, speedOut, easeOut, function() {
+ $l.css(opts.cssAfter);
+ if (!opts.sync)
+ fn();
+ });
+ if (opts.sync) fn();
+};
+
+// transition definitions - only fade is defined here, transition pack defines the rest
+$.fn.cycle.transitions = {
+ fade: function($cont, $slides, opts) {
+ $slides.not(':eq('+opts.currSlide+')').css('opacity',0);
+ opts.before.push(function(curr,next,opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.cssBefore.opacity = 0;
+ });
+ opts.animIn = { opacity: 1 };
+ opts.animOut = { opacity: 0 };
+ opts.cssBefore = { top: 0, left: 0 };
+ }
+};
+
+$.fn.cycle.ver = function() { return ver; };
+
+// override these globally if you like (they are all optional)
+$.fn.cycle.defaults = {
+ activePagerClass: 'activeSlide', // class name used for the active pager link
+ after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
+ allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling
+ animIn: null, // properties that define how the slide animates in
+ animOut: null, // properties that define how the slide animates out
+ aspect: false, // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option)
+ autostop: 0, // true to end slideshow after X transitions (where X == slide count)
+ autostopCount: 0, // number of transitions (optionally used with autostop to define X)
+ backwards: false, // true to start slideshow at last slide and move backwards through the stack
+ before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
+ center: null, // set to true to have cycle add top/left margin to each slide (use with width and height options)
+ cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE)
+ cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
+ containerResize: 1, // resize container to fit largest slide
+ containerResizeHeight: 0, // resize containers height to fit the largest slide but leave the width dynamic
+ continuous: 0, // true to start next transition immediately after current one completes
+ cssAfter: null, // properties that defined the state of the slide after transitioning out
+ cssBefore: null, // properties that define the initial state of the slide before transitioning in
+ delay: 0, // additional delay (in ms) for first transition (hint: can be negative)
+ easeIn: null, // easing for "in" transition
+ easeOut: null, // easing for "out" transition
+ easing: null, // easing method for both in and out transitions
+ end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
+ fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
+ fit: 0, // force slides to fit container
+ fx: 'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle')
+ fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
+ height: 'auto', // container height (if the 'fit' option is true, the slides will be set to this height as well)
+ manualTrump: true, // causes manual transition to stop an active transition instead of being ignored
+ metaAttr: 'cycle', // data- attribute that holds the option data for the slideshow
+ next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide
+ nowrap: 0, // true to prevent slideshow from wrapping
+ onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement)
+ onPrevNextEvent: null, // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement)
+ pager: null, // element, jQuery object, or jQuery selector string for the element to use as pager container
+ pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement)
+ pagerEvent: 'click.cycle', // name of event which drives the pager navigation
+ pause: 0, // true to enable "pause on hover"
+ pauseOnPagerHover: 0, // true to pause when hovering over pager link
+ prev: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide
+ prevNextEvent: 'click.cycle',// event which drives the manual transition to the previous or next slide
+ random: 0, // true for random, false for sequence (not applicable to shuffle fx)
+ randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random
+ requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
+ requeueTimeout: 250, // ms delay for requeue
+ rev: 0, // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle)
+ shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 }
+ skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition
+ slideExpr: null, // expression for selecting slides (if something other than all children is required)
+ slideResize: 1, // force slide width/height to fixed size before every transition
+ speed: 1000, // speed of the transition (any valid fx speed value)
+ speedIn: null, // speed of the 'in' transition
+ speedOut: null, // speed of the 'out' transition
+ startingSlide: undefined,// zero-based index of the first slide to be displayed
+ sync: 1, // true if in/out transitions should occur simultaneously
+ timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance)
+ timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag)
+ updateActivePagerLink: null,// callback fn invoked to update the active pager link (adds/removes activePagerClass style)
+ width: null // container width (if the 'fit' option is true, the slides will be set to this width as well)
+};
+
+})(jQuery);
+
+
+/*!
+ * jQuery Cycle Plugin Transition Definitions
+ * This script is a plugin for the jQuery Cycle Plugin
+ * Examples and documentation at: http://malsup.com/jquery/cycle/
+ * Copyright (c) 2007-2010 M. Alsup
+ * Version: 2.73
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ */
+(function($) {
+"use strict";
+
+//
+// These functions define slide initialization and properties for the named
+// transitions. To save file size feel free to remove any of these that you
+// don't need.
+//
+$.fn.cycle.transitions.none = function($cont, $slides, opts) {
+ opts.fxFn = function(curr,next,opts,after){
+ $(next).show();
+ $(curr).hide();
+ after();
+ };
+};
+
+// not a cross-fade, fadeout only fades out the top slide
+$.fn.cycle.transitions.fadeout = function($cont, $slides, opts) {
+ $slides.not(':eq('+opts.currSlide+')').css({ display: 'block', 'opacity': 1 });
+ opts.before.push(function(curr,next,opts,w,h,rev) {
+ $(curr).css('zIndex',opts.slideCount + (rev !== true ? 1 : 0));
+ $(next).css('zIndex',opts.slideCount + (rev !== true ? 0 : 1));
+ });
+ opts.animIn.opacity = 1;
+ opts.animOut.opacity = 0;
+ opts.cssBefore.opacity = 1;
+ opts.cssBefore.display = 'block';
+ opts.cssAfter.zIndex = 0;
+};
+
+// scrollUp/Down/Left/Right
+$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var h = $cont.height();
+ opts.cssBefore.top = h;
+ opts.cssBefore.left = 0;
+ opts.cssFirst.top = 0;
+ opts.animIn.top = 0;
+ opts.animOut.top = -h;
+};
+$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var h = $cont.height();
+ opts.cssFirst.top = 0;
+ opts.cssBefore.top = -h;
+ opts.cssBefore.left = 0;
+ opts.animIn.top = 0;
+ opts.animOut.top = h;
+};
+$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var w = $cont.width();
+ opts.cssFirst.left = 0;
+ opts.cssBefore.left = w;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.left = 0-w;
+};
+$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push($.fn.cycle.commonReset);
+ var w = $cont.width();
+ opts.cssFirst.left = 0;
+ opts.cssBefore.left = -w;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.left = w;
+};
+$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden').width();
+ opts.before.push(function(curr, next, opts, fwd) {
+ if (opts.rev)
+ fwd = !fwd;
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
+ opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
+ });
+ opts.cssFirst.left = 0;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.top = 0;
+};
+$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
+ $cont.css('overflow','hidden');
+ opts.before.push(function(curr, next, opts, fwd) {
+ if (opts.rev)
+ fwd = !fwd;
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
+ opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
+ });
+ opts.cssFirst.top = 0;
+ opts.cssBefore.left = 0;
+ opts.animIn.top = 0;
+ opts.animOut.left = 0;
+};
+
+// slideX/slideY
+$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $(opts.elements).not(curr).hide();
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.animIn.width = next.cycleW;
+ });
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+ opts.animIn.width = 'show';
+ opts.animOut.width = 0;
+};
+$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $(opts.elements).not(curr).hide();
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.animIn.height = next.cycleH;
+ });
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.height = 0;
+ opts.animIn.height = 'show';
+ opts.animOut.height = 0;
+};
+
+// shuffle
+$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
+ var i, w = $cont.css('overflow', 'visible').width();
+ $slides.css({left: 0, top: 0});
+ opts.before.push(function(curr,next,opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
+ });
+ // only adjust speed once!
+ if (!opts.speedAdjusted) {
+ opts.speed = opts.speed / 2; // shuffle has 2 transitions
+ opts.speedAdjusted = true;
+ }
+ opts.random = 0;
+ opts.shuffle = opts.shuffle || {left:-w, top:15};
+ opts.els = [];
+ for (i=0; i < $slides.length; i++)
+ opts.els.push($slides[i]);
+
+ for (i=0; i < opts.currSlide; i++)
+ opts.els.push(opts.els.shift());
+
+ // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
+ opts.fxFn = function(curr, next, opts, cb, fwd) {
+ if (opts.rev)
+ fwd = !fwd;
+ var $el = fwd ? $(curr) : $(next);
+ $(next).css(opts.cssBefore);
+ var count = opts.slideCount;
+ $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
+ var hops = $.fn.cycle.hopsFromLast(opts, fwd);
+ for (var k=0; k < hops; k++) {
+ if (fwd)
+ opts.els.push(opts.els.shift());
+ else
+ opts.els.unshift(opts.els.pop());
+ }
+ if (fwd) {
+ for (var i=0, len=opts.els.length; i < len; i++)
+ $(opts.els[i]).css('z-index', len-i+count);
+ }
+ else {
+ var z = $(curr).css('z-index');
+ $el.css('z-index', parseInt(z,10)+1+count);
+ }
+ $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
+ $(fwd ? this : curr).hide();
+ if (cb) cb();
+ });
+ });
+ };
+ $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
+};
+
+// turnUp/Down/Left/Right
+$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.cssBefore.top = next.cycleH;
+ opts.animIn.height = next.cycleH;
+ opts.animOut.width = next.cycleW;
+ });
+ opts.cssFirst.top = 0;
+ opts.cssBefore.left = 0;
+ opts.cssBefore.height = 0;
+ opts.animIn.top = 0;
+ opts.animOut.height = 0;
+};
+$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH;
+ });
+ opts.cssFirst.top = 0;
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.height = 0;
+ opts.animOut.height = 0;
+};
+$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.cssBefore.left = next.cycleW;
+ opts.animIn.width = next.cycleW;
+ });
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+ opts.animIn.left = 0;
+ opts.animOut.width = 0;
+};
+$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.animIn.width = next.cycleW;
+ opts.animOut.left = curr.cycleW;
+ });
+ $.extend(opts.cssBefore, { top: 0, left: 0, width: 0 });
+ opts.animIn.left = 0;
+ opts.animOut.width = 0;
+};
+
+// zoom
+$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,false,true);
+ opts.cssBefore.top = next.cycleH/2;
+ opts.cssBefore.left = next.cycleW/2;
+ $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
+ $.extend(opts.animOut, { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 });
+ });
+ opts.cssFirst.top = 0;
+ opts.cssFirst.left = 0;
+ opts.cssBefore.width = 0;
+ opts.cssBefore.height = 0;
+};
+
+// fadeZoom
+$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,false);
+ opts.cssBefore.left = next.cycleW/2;
+ opts.cssBefore.top = next.cycleH/2;
+ $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH });
+ });
+ opts.cssBefore.width = 0;
+ opts.cssBefore.height = 0;
+ opts.animOut.opacity = 0;
+};
+
+// blindX
+$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
+ var w = $cont.css('overflow','hidden').width();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.animIn.width = next.cycleW;
+ opts.animOut.left = curr.cycleW;
+ });
+ opts.cssBefore.left = w;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.left = w;
+};
+// blindY
+$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
+ var h = $cont.css('overflow','hidden').height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH;
+ });
+ opts.cssBefore.top = h;
+ opts.cssBefore.left = 0;
+ opts.animIn.top = 0;
+ opts.animOut.top = h;
+};
+// blindZ
+$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
+ var h = $cont.css('overflow','hidden').height();
+ var w = $cont.width();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH;
+ });
+ opts.cssBefore.top = h;
+ opts.cssBefore.left = w;
+ opts.animIn.top = 0;
+ opts.animIn.left = 0;
+ opts.animOut.top = h;
+ opts.animOut.left = w;
+};
+
+// growX - grow horizontally from centered 0 width
+$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true);
+ opts.cssBefore.left = this.cycleW/2;
+ opts.animIn.left = 0;
+ opts.animIn.width = this.cycleW;
+ opts.animOut.left = 0;
+ });
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+};
+// growY - grow vertically from centered 0 height
+$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false);
+ opts.cssBefore.top = this.cycleH/2;
+ opts.animIn.top = 0;
+ opts.animIn.height = this.cycleH;
+ opts.animOut.top = 0;
+ });
+ opts.cssBefore.height = 0;
+ opts.cssBefore.left = 0;
+};
+
+// curtainX - squeeze in both edges horizontally
+$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,false,true,true);
+ opts.cssBefore.left = next.cycleW/2;
+ opts.animIn.left = 0;
+ opts.animIn.width = this.cycleW;
+ opts.animOut.left = curr.cycleW/2;
+ opts.animOut.width = 0;
+ });
+ opts.cssBefore.top = 0;
+ opts.cssBefore.width = 0;
+};
+// curtainY - squeeze in both edges vertically
+$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,false,true);
+ opts.cssBefore.top = next.cycleH/2;
+ opts.animIn.top = 0;
+ opts.animIn.height = next.cycleH;
+ opts.animOut.top = curr.cycleH/2;
+ opts.animOut.height = 0;
+ });
+ opts.cssBefore.height = 0;
+ opts.cssBefore.left = 0;
+};
+
+// cover - curr slide covered by next slide
+$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
+ var d = opts.direction || 'left';
+ var w = $cont.css('overflow','hidden').width();
+ var h = $cont.height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts);
+ opts.cssAfter.display = '';
+ if (d == 'right')
+ opts.cssBefore.left = -w;
+ else if (d == 'up')
+ opts.cssBefore.top = h;
+ else if (d == 'down')
+ opts.cssBefore.top = -h;
+ else
+ opts.cssBefore.left = w;
+ });
+ opts.animIn.left = 0;
+ opts.animIn.top = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.left = 0;
+};
+
+// uncover - curr slide moves off next slide
+$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
+ var d = opts.direction || 'left';
+ var w = $cont.css('overflow','hidden').width();
+ var h = $cont.height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
+ if (d == 'right')
+ opts.animOut.left = w;
+ else if (d == 'up')
+ opts.animOut.top = -h;
+ else if (d == 'down')
+ opts.animOut.top = h;
+ else
+ opts.animOut.left = -w;
+ });
+ opts.animIn.left = 0;
+ opts.animIn.top = 0;
+ opts.cssBefore.top = 0;
+ opts.cssBefore.left = 0;
+};
+
+// toss - move top slide and fade away
+$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
+ var w = $cont.css('overflow','visible').width();
+ var h = $cont.height();
+ opts.before.push(function(curr, next, opts) {
+ $.fn.cycle.commonReset(curr,next,opts,true,true,true);
+ // provide default toss settings if animOut not provided
+ if (!opts.animOut.left && !opts.animOut.top)
+ $.extend(opts.animOut, { left: w*2, top: -h/2, opacity: 0 });
+ else
+ opts.animOut.opacity = 0;
+ });
+ opts.cssBefore.left = 0;
+ opts.cssBefore.top = 0;
+ opts.animIn.left = 0;
+};
+
+// wipe - clip animation
+$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
+ var w = $cont.css('overflow','hidden').width();
+ var h = $cont.height();
+ opts.cssBefore = opts.cssBefore || {};
+ var clip;
+ if (opts.clip) {
+ if (/l2r/.test(opts.clip))
+ clip = 'rect(0px 0px '+h+'px 0px)';
+ else if (/r2l/.test(opts.clip))
+ clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
+ else if (/t2b/.test(opts.clip))
+ clip = 'rect(0px '+w+'px 0px 0px)';
+ else if (/b2t/.test(opts.clip))
+ clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
+ else if (/zoom/.test(opts.clip)) {
+ var top = parseInt(h/2,10);
+ var left = parseInt(w/2,10);
+ clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
+ }
+ }
+
+ opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';
+
+ var d = opts.cssBefore.clip.match(/(\d+)/g);
+ var t = parseInt(d[0],10), r = parseInt(d[1],10), b = parseInt(d[2],10), l = parseInt(d[3],10);
+
+ opts.before.push(function(curr, next, opts) {
+ if (curr == next) return;
+ var $curr = $(curr), $next = $(next);
+ $.fn.cycle.commonReset(curr,next,opts,true,true,false);
+ opts.cssAfter.display = 'block';
+
+ var step = 1, count = parseInt((opts.speedIn / 13),10) - 1;
+ (function f() {
+ var tt = t ? t - parseInt(step * (t/count),10) : 0;
+ var ll = l ? l - parseInt(step * (l/count),10) : 0;
+ var bb = b < h ? b + parseInt(step * ((h-b)/count || 1),10) : h;
+ var rr = r < w ? r + parseInt(step * ((w-r)/count || 1),10) : w;
+ $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
+ (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
+ })();
+ });
+ $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 });
+ opts.animIn = { left: 0 };
+ opts.animOut = { left: 0 };
+};
+
+})(jQuery);
diff --git a/web/cobrands/warwickshire/vendor/gamma/jquery.tabSlideOut.v1.3.js b/web/cobrands/warwickshire/vendor/gamma/jquery.tabSlideOut.v1.3.js
new file mode 100644
index 000000000..98ca3af4d
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/jquery.tabSlideOut.v1.3.js
@@ -0,0 +1,215 @@
+/*
+ tabSlideOUt v1.3
+
+ By William Paoli: http://wpaoli.building58.com
+
+ To use you must have an image ready to go as your tab
+ Make sure to pass in at minimum the path to the image and its dimensions:
+
+ example:
+
+ $('.slide-out-div').tabSlideOut({
+ tabHandle: '.handle', //class of the element that will be your tab -doesnt have to be an anchor
+ pathToTabImage: 'images/contact_tab.gif', //relative path to the image for the tab *required*
+ imageHeight: '133px', //height of tab image *required*
+ imageWidth: '44px', //width of tab image *required*
+ });
+
+ last updated 06-01-2016 DJ
+*/
+
+
+(function($){
+ $.fn.tabSlideOut = function(callerSettings) {
+ var settings = $.extend({
+ tabHandle: '.handle',
+ speed: 300,
+ action: 'click',
+ tabLocation: 'left',
+ topPos: '200px',
+ leftPos: '20px',
+ fixedPosition: false,
+ positioning: 'absolute',
+ pathToTabImage: null,
+ imageHeight: null,
+ imageWidth: null,
+ onLoadSlideOut: false
+ }, callerSettings||{});
+
+ settings.tabHandle = $(settings.tabHandle);
+ var obj = this;
+ if (settings.fixedPosition === true) {
+ settings.positioning = 'fixed';
+ } else {
+ settings.positioning = 'absolute';
+ }
+
+ //ie6 doesn't do well with the fixed option
+ if (document.all && !window.opera && !window.XMLHttpRequest) {
+ settings.positioning = 'absolute';
+ }
+
+
+
+ //set initial tabHandle css
+
+ if (settings.pathToTabImage != null) {
+ settings.tabHandle.css({
+ 'background' : 'url('+settings.pathToTabImage+') no-repeat',
+ 'width' : settings.imageWidth,
+ 'height': settings.imageHeight
+ });
+ }
+
+ settings.tabHandle.css({
+ 'display': 'block',
+ 'textIndent' : '-99999px',
+ //'outline' : 'none',
+ 'position' : 'absolute'
+ });
+
+ obj.css({
+ 'line-height' : '1',
+ 'position' : settings.positioning
+ });
+
+
+ var properties = {
+ containerWidth: parseInt(obj.outerWidth(), 10) + 'px',
+ containerHeight: parseInt(obj.outerHeight(), 10) + 'px',
+ tabWidth: parseInt(settings.tabHandle.outerWidth(), 10) + 'px',
+ tabHeight: parseInt(settings.tabHandle.outerHeight(), 10) + 'px'
+ };
+
+ //set calculated css
+ if(settings.tabLocation === 'top' || settings.tabLocation === 'bottom') {
+ obj.css({'left' : settings.leftPos});
+ settings.tabHandle.css({'right' : 0});
+ }
+
+ if(settings.tabLocation === 'top') {
+ obj.css({'top' : '-' + properties.containerHeight});
+ settings.tabHandle.css({'bottom' : '-' + properties.tabHeight});
+ }
+
+ if(settings.tabLocation === 'bottom') {
+ obj.css({'bottom' : '-' + properties.containerHeight, 'position' : 'fixed'});
+ settings.tabHandle.css({'top' : '-' + properties.tabHeight});
+
+ }
+
+ if(settings.tabLocation === 'left' || settings.tabLocation === 'right') {
+ obj.css({
+ 'height' : properties.containerHeight,
+ 'top' : settings.topPos
+ });
+
+ settings.tabHandle.css({'top' : 0});
+ }
+
+ if(settings.tabLocation === 'left') {
+ obj.css({ 'left': '-' + properties.containerWidth});
+ settings.tabHandle.css({'right' : '-' + properties.tabWidth});
+ }
+
+ if(settings.tabLocation === 'right') {
+ obj.css({ 'right': '-' + properties.containerWidth});
+ settings.tabHandle.css({'left' : '-' + properties.tabWidth});
+
+ $('html').css('overflow-x', 'hidden');
+ }
+
+ //functions for animation events
+
+ settings.tabHandle.click(function(event){
+ event.preventDefault();
+ });
+
+ var slideIn = function() {
+
+ if (settings.tabLocation === 'top') {
+ obj.animate({top:'-' + properties.containerHeight}, settings.speed).removeClass('open');
+ } else if (settings.tabLocation === 'left') {
+ obj.animate({left: '-' + properties.containerWidth}, settings.speed).removeClass('open');
+ } else if (settings.tabLocation === 'right') {
+ obj.animate({right: '-' + properties.containerWidth}, settings.speed).removeClass('open');
+ } else if (settings.tabLocation === 'bottom') {
+ obj.animate({bottom: '-' + properties.containerHeight}, settings.speed).removeClass('open');
+ }
+
+ };
+
+ var slideOut = function() {
+
+ if (settings.tabLocation == 'top') {
+ obj.animate({top:'-3px'}, settings.speed).addClass('open');
+ } else if (settings.tabLocation == 'left') {
+ obj.animate({left:'-3px'}, settings.speed).addClass('open');
+ } else if (settings.tabLocation == 'right') {
+ obj.animate({right:'-3px'}, settings.speed).addClass('open');
+ } else if (settings.tabLocation == 'bottom') {
+ obj.animate({bottom:'-3px'}, settings.speed).addClass('open');
+ }
+ };
+
+ var clickScreenToClose = function() {
+ obj.click(function(event){
+ event.stopPropagation();
+ });
+
+ $(document).click(function(){
+ slideIn();
+ });
+ };
+
+ var clickAction = function(){
+ settings.tabHandle.click(function(event){
+ if (obj.hasClass('open')) {
+ slideIn();
+ } else {
+ slideOut();
+ }
+ });
+
+ clickScreenToClose();
+ };
+
+ var hoverAction = function(){
+ obj.hover(
+ function(){
+ slideOut();
+ },
+
+ function(){
+ slideIn();
+ });
+
+ settings.tabHandle.click(function(event){
+ if (obj.hasClass('open')) {
+ slideIn();
+ }
+ });
+ clickScreenToClose();
+
+ };
+
+ var slideOutOnLoad = function(){
+ slideIn();
+ setTimeout(slideOut, 500);
+ };
+
+ //choose which type of action to bind
+ if (settings.action === 'click') {
+ clickAction();
+ }
+
+ if (settings.action === 'hover') {
+ hoverAction();
+ }
+
+ if (settings.onLoadSlideOut) {
+ slideOutOnLoad();
+ };
+
+ };
+})(jQuery);
diff --git a/web/cobrands/warwickshire/vendor/gamma/jquery.zrssfeed.o.js b/web/cobrands/warwickshire/vendor/gamma/jquery.zrssfeed.o.js
new file mode 100644
index 000000000..60d5eb33a
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/jquery.zrssfeed.o.js
@@ -0,0 +1,139 @@
+/**
+ * Plugin: jquery.zRSSFeed
+ *
+ * Version: 1.0.1m
+ * (c) Copyright 2010, Zazar Ltd
+ *
+ * Description: jQuery plugin for display of RSS feeds via Google Feed API
+ * (Based on original plugin jGFeed by jQuery HowTo)
+ *
+ * History:
+ * 1.0.1 - Corrected issue with multiple instances
+ * 1.0.1m - fixed content showing issue - PL
+ *
+ **/
+
+(function($){
+
+ var current = null;
+
+ $.fn.rssfeed = function(url, options) {
+
+ // Set pluign defaults
+ var defaults = {
+ limit: 10,
+ header: false,
+ titletag: 'h4',
+ date: true,
+ content: true,
+ snippet: true,
+ showerror: true,
+ errormsg: '',
+ key: null
+ };
+ var options = $.extend(defaults, options);
+
+ // Functions
+ return this.each(function(i, e) {
+ var $e = $(e);
+
+ // Add feed class to user div
+ if (!$e.hasClass('rssFeed')) $e.addClass('rssFeed');
+
+ // Check for valid url
+ if(url == null) return false;
+
+ // Create Google Feed API address
+ var api = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=" + url;
+ if (options.limit != null) api += "&num=" + options.limit;
+ if (options.key != null) api += "&key=" + options.key;
+
+ // Send request
+ $.getJSON(api, function(data){
+
+ // Check for error
+ if (data.responseStatus == 200) {
+
+ // Process the feeds
+ _callback(e, data.responseData.feed, options);
+ } else {
+
+ // Handle error if required
+ if (options.showerror)
+ if (options.errormsg != '') {
+ var msg = options.errormsg;
+ } else {
+ var msg = data.responseDetails;
+ };
+ $(e).html('<div class="rssError"><p>'+ msg +'</p></div>');
+ };
+ });
+ });
+ };
+
+ // Callback function to create HTML result
+ var _callback = function(e, feeds, options) {
+ if (!feeds) {
+ return false;
+ }
+ var html = '';
+ var row = 'first';
+
+ // Add header if required
+ if (options.header)
+ html += '<h3 class="news-feed-header">' +
+ '<a href="'+ feeds.link +'" title="'+ feeds.description +'">'+ feeds.title +'</a>' +
+ '</h3>';
+
+ // Add body
+ html += '<ul class="rss-list">';
+
+ // Add feeds
+ for (var i=0; i<feeds.entries.length; i++) {
+
+ // Get individual feed
+ var entry = feeds.entries[i];
+
+ // Format published date
+ var entryDate = new Date(entry.publishedDate);
+ var pubDate = entryDate.toLocaleDateString() + ' ' + entryDate.toLocaleTimeString();
+
+ // Add feed row
+ html += '<li class="rss-list-item-'+ row +'">' +
+ '<'+ options.titletag +'><a href="'+ entry.link +'" title="View this feed at '+ feeds.title +'">'+ entry.title +'</a></'+ options.titletag +'>'
+ if (options.date) html += '<h5>'+ pubDate +'</h5>'
+ if (options.content) {
+
+ // Use feed snippet if available and optioned
+ if (options.snippet != '') {
+ var content = entry.contentSnippet;
+ } else if (entry.contentSnippet != '') {
+ var content = '';
+ }
+ else {
+ var content = '';
+ }
+
+ html += '<p class="snippet">'+ content +'</p>'
+ }
+
+ html += '</li>';
+
+ // Alternate row classes
+ if (row = 'first') {
+ row = 'sub';
+ } else {
+ if (row == 'first') {
+ row = 'even';
+ } else {
+ row = 'first';
+ }
+
+ }
+ }
+
+ html += '</ul>'
+
+ $(e).html(html);
+ };
+})(jQuery);
diff --git a/web/cobrands/warwickshire/vendor/gamma/print.css b/web/cobrands/warwickshire/vendor/gamma/print.css
new file mode 100644
index 000000000..ac40d74d3
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/print.css
@@ -0,0 +1,76 @@
+/* Latest version 15/02/2016 - DJ the Great */
+
+/* Print Style Sheet */
+
+
+@media print {
+ * {
+ color: #000 !important;
+ text-shadow: none !important;
+ background: transparent !important;
+ box-shadow: none !important;
+ }
+/* header image added DJ - 17-02-2016 */
+header:before {
+ content: url(http://www.warwickshire.gov.uk/wp-content/uploads/2016/02/WCC-Logo.gif);
+
+}
+ /*header.entry-header {left:none;}*/
+
+ a[href]:after { content: " (" attr(href) ")"; }
+ .slide-out-div {display: none;}
+ .slide-out-div-open {display: none;}
+ #multiColumn {display: none;}
+ #hero-header-button {display: none!important;}
+ .accordion-slide-content {display: block!important}
+ .pager li {display: none;}
+ .post-edit-link {display: none;}
+ .btn-danger {display: none;}
+ .btn-big {display: none;}
+ .navbar-inverse .navbar-inner {display: none;}
+ .handle {display: none;}
+ .section-header {display: none;}
+ .entry-header-hero img {display: none;}
+ #secondary {display: none;}
+ #footer {display: none;}
+ #footer-logos-bottom {display: none;}
+ .textwidget {display: none;}
+ /*.brand {display: block;}*/
+ .entry-hero-button {display: none;}
+ .print-page {display: none;}
+ #brand {display: block!important;}
+ h1, h2, h3, h4, h5, h6 {
+ page-break-after:avoid;
+ page-break-inside:avoid;
+ page-break-inside: avoid; }
+ h1 {font-size: 25px;}
+ h2 {font-size: 20px;}
+ h3 {font-size: 18px;}
+ h4 {font-size: 15px;}
+ .breadcrumb {display: none;}
+ .widget {display: none;}
+#printfooter {display: block!important;}
+ }
+ #printfooter
+{
+ page-break-after:avoid;
+ page-break-inside:avoid;
+ page-break-inside: avoid; }
+
+ /*header.print {display: block;}*/
+
+ body:after {
+ content: "If you have any comments or complaints about our services, please let us know. Phone: 01926 410410 Email: customerrelations@warwickshire.gov.uk. We will aim to provide this information in a format suitable for your needs. Please contact us so we can discuss your requirements.";
+
+}
+
+}
+/*footer {
+ content: url(http://www.warwickshire.gov.uk/wp-content/uploads/2016/02/footer-text.jpg);
+
+ }
+ */
+
+
+
+
diff --git a/web/cobrands/warwickshire/vendor/gamma/style.css b/web/cobrands/warwickshire/vendor/gamma/style.css
index 99e4d47e5..a558d761f 100644
--- a/web/cobrands/warwickshire/vendor/gamma/style.css
+++ b/web/cobrands/warwickshire/vendor/gamma/style.css
@@ -1,4 +1,4 @@
-delicious/*
+/*
Theme Name: Gamma
Description: A theme for Warwickshire, based on RELSUB and Bootstrap.
Author: Pete Lancaster, Matt Pearce, Guy Eastwood, Nivi Morales, Tom Rudge, Rebecca Francis, Dave Jennings and Adam Firth
@@ -6,7 +6,14 @@ Version: 1.0.15
Template: relsub
Licence: Bootstrap is Copyright 2013 Twitter, Inc. Licensed under the Apache License v2.0.
License URI: http://www.apache.org/licenses/LICENSE-2.0
-*/
+
+
+
+
+//latest version - 11-08-2016 - DJ
+
+
+
article,
aside,
@@ -22,7 +29,7 @@ section {
}
a {
- font-weight:bold;
+ font-weight:normal; /* changed from bold to bring site closer to gov.uk - 12-01-2016 -DJ */
}
audio,
canvas,
@@ -141,6 +148,8 @@ textarea {
vertical-align: top;
}
+
+/*
@media print {
* {
color: #000 !important;
@@ -148,7 +157,7 @@ textarea {
background: transparent !important;
box-shadow: none !important;
}
- a,
+ /*a,
a:visited {
text-decoration: underline;
}
@@ -157,12 +166,38 @@ textarea {
}
abbr[title]:after {
content: " (" attr(title) ")";
- }
- .ir a:after,
+ }*/
+ /* Enables hiding some elements from printing layout */
+ /*.visible-print { display: inherit !important; }
+ .hidden-print { display: none !important; }
+ .slide-out-div {display: none;}
+ .slide-out-div-open {display: none;}
+ #multiColumn {display: none;}
+ .hero-header-button {display: none;}
+ .accordion-slide {display: block;}
+ .accordion-slide-content {display: block;}
+ .navbar-inverse .navbar-inner {display: none;}
+ .handle {display: none;}
+ .section-header {display: none;}
+ .entry-header-hero img {display: none;}
+ #secondary {display: none;}
+ #footer {display: none;}
+ #footer-logos-bottom {display: none;}
+ .textwidget {display: none;}
+ .brand {display: block;}
+ .entry-hero-button {display: none;}
+ .print-page {display: none;}
+
+
+ }
+ */
+
+
+ /*.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
- }
+ }*/
pre,
blockquote {
border: 1px solid #999;
@@ -193,6 +228,22 @@ textarea {
}
}
+/*@media print {
+
+body { background:black; color:black; margin:0 }
+#header {disply:block; }
+#content {disply:none;}
+#comments {disply:none;}
+#sidebar {disply:none;}
+#footer {disply:none;}
+#secondary {display: none;}
+#handle {display: none;}
+#slide-out-div {display: none;}
+}
+*/
+
+
+
.clearfix {
*zoom: 1;
}
@@ -228,36 +279,55 @@ textarea {
body {
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 14px;
- line-height: 20px;
+ font-size: 15px; /* changed from 14px to bring site closer to gov.uk - 08-06-2016 -DJ */
+ line-height: 20px; /* changed from 20px to bring it closer to gov.uk - 08-06-2016 - DJ*/
color: #333333;
background-color: #ffffff;
}
-.style-1 a, .style-2 a, .style-3 a {
+.style-2 a, .style-3 a {
color: #006d3c;
- text-decoration: none;
+ text-decoration: underline;.body /*changed from text-decoration : none; to bring site closer to gov.uk - 12-01-2016 -DJ */
+
+}
+
+.style-1 a {
+ color: #006d3c;
+ text-decoration: underline; /* changed from text-decoration: none; - DJ - 20-01-2016 */
}
+.style-1 li a {
+ color: #006d3c;
+ text-decoration: underline;.body
+ } /* created so as to underline links in list items - DJ - 14-01-2016 */
+
+.style-2 li a, .style-5 li a {
+ color: #0055A1;
+ text-decoration: underline;.body
+ } /* created so as to underline links in list items - DJ - 14-01-2016 */
.style-4 a {
color: #004aac;
/* color: #48555E; */
- text-decoration: none;
+ text-decoration: underline; /* changed from text-decoration: none; - DJ - 20-01-2016 */
}
+.style-4 li a {
+ color: #004aac;
+ text-decoration: underline;
+ } /* created so as to underline links in list items - DJ - 14-01-2016 */
.style-5 a {
color: #444444;
- text-decoration: none;
+ text-decoration: underline; /* changed from text-decoration: none; - DJ - 20-01-2016 */
}
-
-.style-4 p a, .style-4 li a, .style-5 p a, .style-5 li a { /*Change colours of links in paragraphs/lists to blue for coporporate/spp style. AF - 08.07.14 */
+
+.style-4 p a, .style-5 p a { /*Change colours of links in paragraphs/lists to blue for coporporate/spp style. AF - 08.07.14 */
color: #004aac;
- text-decoration: none;
+text-decoration: underline; /* changed from text-decoration: none; - DJ - 20-01-2016 */
}
.style-1 a:hover, .style-2 a:hover , .style-3 a:hover {
@@ -272,9 +342,26 @@ body {
.style-5 a:hover {
color: #005580;
- text-decoration: underline;
+ }
+
+.style-1 h4 a {text-decoration: none;
+ margin:-5px 0;
}
+.style-2 h4 a {text-decoration: none;
+}
+
+
+.style-3 h4 a {text-decoration: none;
+}
+
+.style-4 h4 a {text-decoration: none;
+}
+
+.style-5 h4 a {text-decoration: none;
+}
+
+
.img-rounded {
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
@@ -366,6 +453,18 @@ body {
width: 300px;
}
+/* added black bar to top of right-hand column in 2 column pages - DJ - 22-02-2016 */
+div#secondary {
+border-top-color: rgb(0, 0, 0);
+border-width: 10px;
+border-style: solid;
+border-bottom: none;
+border-left: none;
+border-right: none;
+/* border-top: none; */
+border-bottom: 5px;
+margin-top: 25px;
+}
.span3 {
width: 220px;
@@ -845,6 +944,14 @@ h4 small {
font-size: 14px;
}
+.site-list-title {
+
+ padding-top: 0px;
+ margin-top: -20px;
+
+}
+
+
.page-header {
padding-bottom: 9px;
margin: 20px 0 30px;
@@ -865,7 +972,8 @@ ol ul {
}
li {
- line-height: 20px;
+ line-height: 20px; /*Line height originally changed from 20px to 26px for accessibility on mobile devices. Changed back to 20px as long bullet points have large spacing - DJ 09/11/2015 */
+ padding-bottom: 10px; /* Added padding-bottom to increase spacing between bullet points without increasing line spacing on long bullet ponts - DJ - 09/11/2015 */
}
ul.unstyled,
@@ -953,6 +1061,47 @@ abbr.initialism {
text-transform: uppercase;
}
+.blockquote {
+ background: #f9f9f9;
+ border-left: 10px solid #ccc;
+ font-style: italic;
+border-top:none;
+border-right:none;
+border-bottom:none;
+ margin: 1.5em 10px;
+ padding: 0.5em 10px;
+ quotes: "\201C""\201D""\2018""\2019";
+}
+.blockquote:before {
+ color: #ccc;
+ content: open-quote;
+ font-size: 4em;
+ line-height: 0.1em;
+ margin-right: 0.25em;
+ vertical-align: -0.4em;
+}
+.blockquote p {
+ display: inline;
+margin-bottom: 0;
+font-size: 15px;
+font-weight: 300;
+line-height: 25px;
+font-style: italic;
+}
+
+
+
+.blockquote:after
+{color:#ccc;
+content:close-quote;
+font-size:4em;
+line-height:.1em;
+margin-right:.25em;
+vertical-align:-.48em;
+padding-left: 10px;
+}
+
+/*
blockquote {
padding: 0 0 0 15px;
margin: 0 0 20px;
@@ -1004,7 +1153,7 @@ blockquote:before,
blockquote:after {
content: "";
}
-
+*/
address {
display: block;
margin-bottom: 20px;
@@ -1106,7 +1255,7 @@ textarea {
font-weight: normal;
line-height: 20px;
}
-
+label, /* added by DJ 04-12-2015 */
input,
button,
select,
@@ -1140,9 +1289,7 @@ input[type="tel"],
input[type="color"],
.uneditable-input {
display: inline-block;
- /*
- height: 20px; // override for FMS as this breaks FireFox and our local styling
- */
+ height: 20px;
padding: 4px 6px;
margin-bottom: 10px;
font-size: 14px;
@@ -1163,7 +1310,7 @@ textarea,
textarea {
height: auto;
}
-
+label [postcode]
textarea,
input[type
="text"],
@@ -1694,6 +1841,20 @@ select:focus:invalid:focus {
box-shadow: 0 0 6px #f8b9b7;
}
+
+.handle{ margin-top: -2px;}
+
+.slide-out-div {
+ padding: 20px;
+ width: 200px;
+ background: #f2f2f2;
+ border: #29216d 1px solid;
+ height: 62px;
+ /* start of shadow */ -webkit-box-shadow: -1px 16px 12px 0px rgba(0,0,0,0.67);
+-moz-box-shadow: -4px 5px 17px 0px rgba(0,0,0,0.67);
+box-shadow: -4px 5px 17px 0px rgba(0,0,0,0.67); /* endo of shadow - DJ - 05-02-2016 */
+ }
+
.form-actions {
padding: 19px 20px 20px;
margin-top: 20px;
@@ -2987,7 +3148,7 @@ table th[class*="span"],
position: absolute;
top: 100%;
left: 0;
- z-index: 1000;
+ z-index: 1001; /* changed from 1000 to stop dropdown menu going behing header - DJ 15/12/2015 */
display: none;
float: left;
min-width: 160px;
@@ -3033,6 +3194,7 @@ table th[class*="span"],
line-height: 20px;
color: #333333;
white-space: nowrap;
+ text-decoration: none; /*added 08-06-2015 - DJ */
}
@@ -3223,6 +3385,107 @@ table th[class*="span"],
border-radius: 3px;
}
+/* Plain boxes - used mainly on contact pages */
+.well-large-plain-box {
+ background-color: #F9FFF8 !important;
+ border: 1px solid #999 !important;
+ padding-top: 10px;
+padding-bottom: 10px;
+padding-right: 24px;
+padding-left: 24px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+
+ }
+
+ .well-large-plain-box h1 {
+ padding-top: 0px!important;
+}
+
+.well-large-plain-box h2 {
+ padding-top: 0px!important;
+}
+
+.well-large-plain-box h3 {
+ padding-top: 0px!important;
+}
+
+.well-large-plain-box h4 {
+ padding-top: 0px!important;
+}
+
+.well-large-plain-box h5 {
+ padding-top: 0px!important;
+}
+
+/*added red box for JW 17-02-2016 - DJ */
+.well-large-red-box {
+ background-color: #F9FFF8 !important;
+ border: 2px solid #FC0A0A !important;
+ padding-top: 10px;
+padding-bottom: 10px;
+padding-right: 24px;
+padding-left: 24px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ }
+.well-large-red-box h1 {
+ padding-top: 0px!important;
+}
+
+.well-large-red-box h2 {
+ padding-top: 0px!important;
+}
+
+.well-large-red-box h3 {
+ padding-top: 0px!important;
+}
+
+.well-large-red-box h4 {
+ padding-top: 0px!important;
+}
+
+.well-large-red-box h5 {
+ padding-top: 0px!important;
+}
+
+/*added green box for JW 17-02-2016 - DJ */
+.well-large-green-box {
+ background-color: #F9FFF8 !important;
+ border: 2px solid #34F09B !important;
+ padding-top: 10px;
+padding-bottom: 10px;
+padding-right: 24px;
+padding-left: 24px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ }
+
+.well-large-green-box h1 {
+ padding-top: 0px!important;
+}
+
+.well-large-green-box h2 {
+ padding-top: 0px!important;
+}
+
+.well-large-green-box h3 {
+ padding-top: 0px!important;
+}
+
+.well-large-green-box h4 {
+ padding-top: 0px!important;
+}
+
+.well-large-green-box h5 {
+ padding-top: 0px!important;
+}
+
+
+
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
@@ -3974,11 +4237,16 @@ input[type="submit"].btn.btn-mini {
.alert,
.alert h4 {
- color: #c09853;
+ /*color: #c09853;*/
+ color: #0000000;
+ size: 16px;
}
+
.alert h4 {
margin: 0;
+ font-size: 18px;
+ padding-bottom: 25px; /*added to avoind h4 overlapping with text - DJ - 22-02-2016 */
}
.alert .close {
@@ -4007,7 +4275,25 @@ input[type="submit"].btn.btn-mini {
.alert-danger h4,
.alert-error h4 {
- color: #b94a48;
+ /*color: #b94a48; changed by DJ - 07-03-2016 */
+ color: black ;
+}
+
+.alert-warning h3 {
+ font-size: 20px;
+ font-weight: bold;
+ padding-top: 5px;
+ margin-top: 5px;
+margin-bottom: 5px;
+}
+
+.alert-warning h4 {
+ font-size: 20px;
+ font-weight: bold;
+ padding-top: 5px;
+ padding-bottom: 5px;
+margin-top: 5px;
+margin-bottom: 5px;
}
.alert-info {
@@ -4157,9 +4443,10 @@ input[type="submit"].btn.btn-mini {
.nav-tabs > li > a {
padding-top: 8px;
+ text-decoration: none;
padding-bottom: 8px;
line-height: 20px;
- border: 1px solid #999;
+ border: 1px solid #999;
-webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
@@ -4516,6 +4803,155 @@ input[type="submit"].btn.btn-mini {
text-decoration: none;
}
+.govdelmobile{
+ padding-top: 3px;
+ padding-right: 10px;
+ padding-left: 10px;
+ margin-top: 10px;
+}
+
+.govdelmobile2{
+ padding-top: 6px;
+ padding-right: 10px;
+ padding-left: 10px;
+ margin-top: 10px;
+}
+
+
+/*.gds added 22-04-2016*/
+ a.gdslogo {
+ display: block;
+ float: left;
+ padding: 5px 0px;
+ padding-left: 10px;
+ /*margin-left: 5px;*/
+ margin-top: 8px;
+ /* font-size: 20px; */
+ font-weight: 200;
+ color: #d9d9d9!important;
+ /* text-shadow: 0 1px 0 #ffffff; */
+ text-decoration: none;
+ }
+
+
+a.gdslogo2 {
+ display: block;
+ float: left;
+ padding: 5px 0px;
+ padding-left: 11px;
+ /*margin-left: 5px;*/
+ margin-top: 10px;
+ /* font-size: 20px; */
+ font-weight: 200;
+ color: #d9d9d9!important;
+ /* text-shadow: 0 1px 0 #ffffff; */
+ text-decoration: none;
+ }
+
+
+
+ a.gds:hover {
+ color:#ffffff!important;
+ text-decoration: none!important;
+ }
+
+
+ a.gdstext {
+ display: block;
+ float: left;
+ padding: 5px 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ /* margin-left: 5px; */
+ margin-top: 10px;
+ /* font-size: 20px; */
+ font-weight: 200;
+ color: #d9d9d9!important;
+ /* text-shadow: 0 1px 0 #ffffff; */
+ text-decoration: none!important;
+}
+
+a.gdstext2 {
+ display: block;
+ float: left;
+ padding: 5px 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ /* margin-left: 5px; */
+ margin-top: 9px;
+ /* font-size: 20px; */
+ font-weight: 200;
+ color: #d9d9d9!important;
+ /* text-shadow: 0 1px 0 #ffffff; */
+ text-decoration: none!important;
+}
+
+
+ a.gdstext:hover {
+ color:#ffffff!important;
+ text-decoration: none!important;
+ }
+
+
+@media (max-width: 480px) {
+a.gdslogo{
+ padding-left: 45%!important;/*160px!important;}*/
+ margin-bottom: 5px}
+a.gdstext {
+ display: none;
+}
+a.gdstext2 {
+ display: none;
+}
+}
+
+
+
+@media (max-width: 767px) {
+a.gdslogo{
+ padding-left: 68%;
+ margin-bottom: 5px
+}
+a.gdstext {
+ display: none;
+}
+a.gdstext2 {
+ display: none;
+}
+}
+
+
+@media (max-width: 979px) {
+a.gdslogo{
+ display: none!important;
+}
+a.gdslogo2{
+ display: none!important;
+}
+a.gdstext {
+ display: none;
+}
+a.gdstext2 {
+ display: none;
+}
+}
+
+@media (min-width: 979px) {
+.govdelmobile {
+display:none!important;
+}
+.govdelmobile2 {
+display:none!important;
+}
+}
+
+/*end of gds*/
+
+ /*.style-1 .gds a:hover {
+ color:#ffffff!important;
+ text-decoration: none!important;
+ }*/
+
.navbar-text {
margin-bottom: 0;
line-height: 40px;
@@ -4539,7 +4975,7 @@ input[type="submit"].btn.btn-mini {
.navbar .btn,
.navbar .btn-group {
- margin-top: 5px;
+ /* margin-top: 5px;*/
}
.navbar .btn-group .btn,
@@ -4631,7 +5067,7 @@ input[type="submit"].btn.btn-mini {
.navbar-fixed-top,
.navbar-fixed-bottom {
- position: fixed;
+ position: static; /*changed from Fixed so as not to interfere with recycling a-z DJ 17/11/2015*/
right: 0;
left: 0;
z-index: 1030;
@@ -4702,7 +5138,7 @@ input[type="submit"].btn.btn-mini {
.navbar .nav > li > a {
float: none;
- padding: 10px 15px 10px;
+ padding: 12px 15px 10px;
color: #777777;
text-decoration: none;
text-shadow: 0 1px 0 #ffffff;
@@ -4731,6 +5167,44 @@ input[type="submit"].btn.btn-mini {
box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
}
+
+.btn-search{
+ display: none;
+ padding: 5px;
+}
+
+.show-search{
+ height: 50px !important;
+}
+
+
+#top-header #site-search{
+ margin:10px;
+
+ float: right;
+
+}
+
+
+#top-header #site-search input{
+ display: inline-block;
+ width:200px;
+
+}
+
+
+#top-header #site-search button{
+ height: 30px;
+ margin-top: -10px;
+ margin-left: 10px;
+
+ width: 60px;
+}
+
+
+
+
+
.navbar .btn-navbar {
display: none;
float: right;
@@ -4788,6 +5262,11 @@ input[type="submit"].btn.btn-mini {
margin-top: 3px;
}
+
+/*.sign-in{ border-left: 1px solid #FFFFFF; border-right: solid 1px #FFFFFF;}*/
+
+
+
.navbar .nav > li > .dropdown-menu:before {
position: absolute;
top: -7px;
@@ -5053,7 +5532,9 @@ input[type="submit"].btn.btn-mini {
.breadcrumb > li > .divider {
padding: 0 5px;
- color: #999999;
+ /*color: #999999;*/ /* changed to black to improve contrast - 13-04-2016 - DJ */
+ color: #000000;
+ font-weight: 600;
}
.breadcrumb > .active {
@@ -6277,7 +6758,7 @@ font-weight:bold;
* By E-Services
*
*
- *
+ *
***************************************************/
/*Site wide styles
@@ -6290,28 +6771,36 @@ body{
}
body > div.container{
- background-color: #F9FFF8;
+ background-color: #F9FFF8;
/*box-shadow: 0px 2px 6px rgba(100, 100, 100, .3);
-webkit-box-shadow: 0px 2px 6px rgba(100, 100, 100, .3);
-moz-box-shadow: 0px 2px 6px rgba(100, 100, 100, .3); shadow hidden for redesign AF-06.06.14*/
-
padding:15px;
margin-top: 0px!important;
}
+/* Fixes issue with wide margins on mobile devices - NM 17.2.15*/
+@media (max-width: 480px) {
body > div.container{
- background-color: #F9FFF8;
- /*box-shadow: 0px 2px 6px rgba(100, 100, 100, .3);
- -webkit-box-shadow: 0px 2px 6px rgba(100, 100, 100, .3);
- -moz-box-shadow: 0px 2px 6px rgba(100, 100, 100, .3); shadow hidden for redesign AF-06.06.14*/
+ background-color: #F9FFF8;
+ padding:15px;
+ margin-left: -15px;
+ margin-right: -15px;
+ margin-top: 0px!important;}
+}
+/* Fixes issue with wide margins on mobile devices - NM 17.2.15*/
+@media (max-width: 380px) {
+body > div.container{
+ background-color: #F9FFF8;
padding:15px;
- margin-top: 0px!important;
+ margin-left: -25px;
+ margin-right: -25px;
+ margin-top: 0px!important;}
}
.entry-content{
background-color: #F9FFF8;
-
}
h1, h2, h3,
@@ -6325,36 +6814,48 @@ h4, h5, h6
line-height: 20px;
font-weight: lighter;
+
}
h1 {
- font-size: 32px;
- font-weight: lighter;
+ font-size: 43px; /* changed from 33px to bring site closer to gov.uk - 12-01-2016 - DJ */
+ font-weight: bold; /* changed from font-weight:lighter, to bring site sloser to GovUK - DJ - 21-01-2016 */
+ padding-top: 20px; /* added by DJ - 04-02-2016 */
}
h2 {
- font-size: 24px;
+ font-size: 33px; /* changed from 24 px to look more like gov uk - DJ - 12-01-2016 */
font-weight: lighter;
+ line-height: 1.4; /* Adding line height to target large gap on h2 longer than a single line - NM - 18.2.15 */
+ padding-top: 20px; /* added by DJ - 04-02-2016 */
}
h3 {
- font-size: 19px;
- font-weight: lighter;
+ font-size: 25px; /* changed from 20 px to bring site closer to gov.uk - 12-01-2016 - DJ */
+ font-weight: lighter;
+ padding-top: 20px; /* added by DJ - 04-02-2016 */
}
h4 {
- font-size: 16px;
- font-weight: bold;
+ font-size: 20px; /* changed from 18px to bring site closer to gov.uk - 12-01-2016 - DJ */
+ font-weight: normal; /* changed from bold - DJ 12-01-2016 */
+ padding-top: 20px; /* added by DJ - 04-02-2016 */
}
h5 {
- font-size: 13px;
- font-weight: lighter;
+ font-size: 16px;
+ font-weight: bold;
+ padding-top: 20px; /* added by DJ - 04-02-2016 */
+ /* font-size: 13px;
+ font-weight: lighter;*/
}
h6 {
- font-size: 11px;
- font-weight: lighter;
+ font-size: 14px;
+ font-weight: bold;
+ padding-top: 20px; /* added by DJ - 04-02-2016 */
+ /*font-size: 11px;
+ font-weight: lighter;*/
}
h1 small {
@@ -6374,7 +6875,7 @@ h4 small {
}
.breadcrumb {
- margin: -5px 0 -5px;
+ margin: -20px 0 -5px; /* changed from margin: -5px 0 -5px; to prevent breadcrumb overlappingtest - DJ - 02-02-2016 */
}
@@ -6398,6 +6899,25 @@ hr {
border-bottom: 1px solid white;
}
+/*
+.hrt {
+ margin: 15px 0;
+ border: 0;
+ border-top: 5px solid #000000;
+
+ border-bottom: 1px solid white;
+}
+*/
+
+.section-header {
+margin: 15px 0;
+margin-top: auto;
+ border: 0;
+ border-top: 5px solid #000000;
+ border-bottom: 1px solid white;
+}
+
+
.cleaner {
clear:both;
font-size:10%;
@@ -6407,7 +6927,7 @@ hr {
/*Gradients for headers etc*/
.style-1-gradient, .style-2-gradient, .style-3-gradient {
-background:rgb(0,109,60);
+background:rgb(0,109,60);
/* background:rgb(16,149,45); Changed colour to actual wcc green DJ */
/* Removed gradients for redesign DJ 13/06/2014
background:-moz-linear-gradient(top, rgb(16,149,45) 0%, rgb(0,109,60) 100%);
@@ -6433,13 +6953,13 @@ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#708799', endC
}
.style-5-gradient {
-background:rgb(68,68,68);
+background:rgb(68,68,68);
/* Removed gradients for redesign DJ 13/06/2014
-background:-moz-linear-gradient(top, rgb(102,102,102) 0%, rgb(68,68,68) 100%);
-background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(102,102,102)), color-stop(100%,rgb(68,68,68)));
-background:-webkit-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
-background:-o-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
-background:-ms-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
+background:-moz-linear-gradient(top, rgb(102,102,102) 0%, rgb(68,68,68) 100%);
+background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(102,102,102)), color-stop(100%,rgb(68,68,68)));
+background:-webkit-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
+background:-o-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
+background:-ms-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
background:linear-gradient(to bottom, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
filter:progid:DXImageTransform.Microsoft.gradient( startColorstr
@@ -6647,112 +7167,137 @@ background: url(images/icon-email.png) no-repeat center left;
display:inline-block;
}
+/*Adds print icon to print page link across theme */
+a[href*="window.print()"] {
+padding-left: 1.563em;
+background: url(images/icon-print.png) no-repeat center left;
+display:inline-block;
+}
+
+/* Removig webmail.nsf icon in preparation for new feedback system roll out
a[href*="webmailf.nsf"] {
padding-left: 1.563em;
background: url(images/icon-email.png) no-repeat center left;
display:inline-block;
-}
+} */
a.exclude-link-img {
padding-left:0;
background-image:none;
}
-/*Floats on wp image align class*/
+/*Floats on wp image align class*/
-img.alignright {
- float: right;
- margin-left:1em;
- margin-bottom:1em;
-}
+img.alignright {
+ float: right;
+ margin-left:1em;
+ margin-bottom:1em;
+}
-img.alignleft {
- float: left;
- margin-right:1em;
- margin-bottom:1em;
+img.alignleft {
+ float: left;
+ margin-right:1em;
+ margin-bottom:1em;
}
/* Hiding when a page was last updated */
-p.modified {display: none;}
+p.modified {display: none;}
+
+
+p.print-page {
+color: white;
+text-align: left;
+}
+
+
+/*Skip to main navigation link for accesibility */
+
+#skiptomain {
+ height: 1px;
+ width: 1px;
+ position: absolute;
+ overflow: hidden;
+ top: -10px;
+}
/*site Themes*/
-.style-1 h1.entry-title, .style-1 .span4 h3.widget-title{
- background: rgb(249,255,248);
- /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
- background: -moz-linear-gradient(top, #10952D 0%, #006D3C 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#10952D), color-stop(100%,#006D3C));
- background: -webkit-linear-gradient(top, #10952D 0%,#006D3C 100%);
- background: -o-linear-gradient(top, #10952D 0%,#006D3C 100%);
- background: -ms-linear-gradient(top, #10952D 0%,#006D3C 100%);
- background: linear-gradient(to bottom, #10952D 0%,#006D3C 100%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#10952d', endColorstr='#006d3c',GradientType=0 );
+.style-1 h1.entry-title, .style-1 .span4 h3.widget-title{
+ background: rgb(249,255,248);
+ /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
+ background: -moz-linear-gradient(top, #10952D 0%, #006D3C 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#10952D), color-stop(100%,#006D3C));
+ background: -webkit-linear-gradient(top, #10952D 0%,#006D3C 100%);
+ background: -o-linear-gradient(top, #10952D 0%,#006D3C 100%);
+ background: -ms-linear-gradient(top, #10952D 0%,#006D3C 100%);
+ background: linear-gradient(to bottom, #10952D 0%,#006D3C 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#10952d', endColorstr='#006d3c',GradientType=0 );
color: white; */
- border: solid; border-color: #006D3C; border-width: 2px; border-top: none; border-left: none; border-right: none;
-}
-
-.style-2 h1.entry-title, .style-2 .span4 h3.widget-title{
- background: #10952D;
- /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
- background: -moz-linear-gradient(top, #10952D 0%, #006D3C 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#10952D), color-stop(100%,#006D3C));
- background: -webkit-linear-gradient(top, #10952D 0%,#006D3C 100%);
- background: -o-linear-gradient(top, #10952D 0%,#006D3C 100%);
- background: -ms-linear-gradient(top, #10952D 0%,#006D3C 100%);
- background: linear-gradient(to bottom, #10952D 0%,#006D3C 100%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#10952d', endColorstr='#006d3c',GradientType=0 );
+ border: none; /* changed from solid DJ - 14-01-2016 */ border-color: #006D3C; border-width: 2px; border-top: none; border-left: none; border-right: none;
+}
+
+.style-2 h1.entry-title, .style-2 .span4 h3.widget-title{
+ background: #10952D;
+ /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
+ background: -moz-linear-gradient(top, #10952D 0%, #006D3C 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#10952D), color-stop(100%,#006D3C));
+ background: -webkit-linear-gradient(top, #10952D 0%,#006D3C 100%);
+ background: -o-linear-gradient(top, #10952D 0%,#006D3C 100%);
+ background: -ms-linear-gradient(top, #10952D 0%,#006D3C 100%);
+ background: linear-gradient(to bottom, #10952D 0%,#006D3C 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#10952d', endColorstr='#006d3c',GradientType=0 );
color: white; */
- border: solid; border-color: #0055A1; border-width: 2px; border-top: none; border-left: none; border-right: none;
-}
-
-.style-3 h1.entry-title, .style-3 .span4 h3.widget-title{
- background: rgb(249,255,248);
- /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
- background:-moz-linear-gradient(top, rgb(112,135,153) 0%, rgb(72,85,94) 100%);
- background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(112,135,153)), color-stop(100%,rgb(72,85,94)));
- background:-webkit-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
- background:-o-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
- background:-ms-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
-
- background:linear-gradient(to bottom, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
- filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#708799', endColorstr='#48555e',GradientType=0 );
+ border: none; border-color: #0055A1; border-width: 2px; border-top: none; border-left: none; border-right: none;
+}
+
+.style-3 h1.entry-title, .style-3 .span4 h3.widget-title{
+ background: rgb(249,255,248);
+ /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
+ background:-moz-linear-gradient(top, rgb(112,135,153) 0%, rgb(72,85,94) 100%);
+ background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(112,135,153)), color-stop(100%,rgb(72,85,94)));
+ background:-webkit-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+ background:-o-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+ background:-ms-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+
+ background:linear-gradient(to bottom, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#708799', endColorstr='#48555e',GradientType=0 );
color: white; */
- border: solid; border-color: #0055A1; border-width: 2px; border-top: none; border-left: none; border-right: none;
-}
-
-.style-4 h1.entry-title, .style-4 .span4 h3.widget-title{
- background: rgb(249,255,248);
- /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
- background:-moz-linear-gradient(top, rgb(112,135,153) 0%, rgb(72,85,94) 100%);
- background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(112,135,153)), color-stop(100%,rgb(72,85,94)));
- background:-webkit-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
- background:-o-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
- background:-ms-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
-
- background:linear-gradient(to bottom, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
- filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#708799', endColorstr='#48555e',GradientType=0 );
+ border: none; /* changed from solid DJ - 14-01-2016 */ border-color: #0055A1; border-width: 2px; border-top: none; border-left: none; border-right: none;
+}
+
+.style-4 h1.entry-title, .style-4 .span4 h3.widget-title{
+ background: rgb(249,255,248);
+ /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
+ background:-moz-linear-gradient(top, rgb(112,135,153) 0%, rgb(72,85,94) 100%);
+ background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(112,135,153)), color-stop(100%,rgb(72,85,94)));
+ background:-webkit-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+ background:-o-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+ background:-ms-linear-gradient(top, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+
+ background:linear-gradient(to bottom, rgb(112,135,153) 0%,rgb(72,85,94) 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#708799', endColorstr='#48555e',GradientType=0 );
color: white; */
- border: solid; border-color: rgb(112, 135, 153); border-width: 2px; border-top: none; border-left: none; border-right: none;
-}
-
-
-.style-5 h1.entry-title, .style-5 .span4 h3.widget-title{
- background: rgb(249,255,248);
- /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
- background:-moz-linear-gradient(top, rgb(102,102,102) 0%, rgb(68,68,68) 100%);
- background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(102,102,102)), color-stop(100%,rgb(68,68,68)));
- background:-webkit-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
- background:-o-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
- background:-ms-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
- background:linear-gradient(to bottom, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
- filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#444444',GradientType=0 );
+ border: none; /* changed from solid DJ - 14-01-2016 */ border-color: rgb(112, 135, 153); border-width: 2px; border-top: none; border-left: none; border-right: none;
+}
+
+
+.style-5 h1.entry-title, .style-5 .span4 h3.widget-title{
+ background: rgb(249,255,248);
+ /* Removed chunky headers for flat design. Changed font colour to black and thined borders below page and widget titles - DJ 16/03/2014/
+ background:-moz-linear-gradient(top, rgb(102,102,102) 0%, rgb(68,68,68) 100%);
+ background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(102,102,102)), color-stop(100%,rgb(68,68,68)));
+ background:-webkit-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
+ background:-o-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
+ background:-ms-linear-gradient(top, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
+ background:linear-gradient(to bottom, rgb(102,102,102) 0%,rgb(68,68,68) 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#666666', endColorstr='#444444',GradientType=0 );
color: white; */
- border: solid; border-color: rgb(68, 68, 68); border-width: 2px; border-top: none; border-left: none; border-right: none;
-}
+ border: none; /* changed from solid DJ - 14-01-2016 */ border-color: rgb(68, 68, 68); border-width: 2px; border-top: none; border-left: none; border-right: none;
+}
-.style-1 .span4 h3.widget-title, .style-2 .span4 h3.widget-title, .style-3 .span4 h3.widget-title, .style-4 .span4 h3.widget-title, .style-5 .span4 h3.widget-title {
- font-size:16px;
+.style-1 .span4 h2.widget-title, .style-2 .span4 h2.widget-title, .style-3 .span4 h2.widget-title, .style-4 .span4 h2.widget-title, .style-5 .span4 h2.widget-title {
+ font-size:20px; /* changed from 16px 12-01-2016 - DJ */
line-height:2.1em;
}
@@ -6760,26 +7305,30 @@ p.modified {display: none;}
****************/
.attachment-portal-summary-image {
width: 100%;
-top: -16px;
-/*top: -21px;*/
+top: -25px; /* changed from -15px DJ - 04-01-2016 */
+/*top: -16px;
+top: -21px;*/
position: relative;
display: inline;
}
#portal-page-breadcrumbs {
- margin-top: 467px;
+ margin-top: -50px; /*-32px*/
+/* margin-top: 375px;
+ margin-top: 467px; */
/* margin-top: 433px; */
- position: absolute;
+ margin-bottom: 10px; /*27-06-2016 - DJ */
+ position: relative; /*absolute*/
z-index: 1000;
}
#portal-header-wrap {
- margin-bottom: 30px;
+ margin-bottom: -15px;
}
h1.entry-title-portal {
padding: 10px 10px;
-top: 180px;
+top: -355px; /* changed to reposition header after navbar changes - DJ 16-12-2015 */
font-size: 3.5em;
margin-left: 15px;
font-weight: lighter;
@@ -6787,7 +7336,7 @@ background-color: #000; /* IE 8 */
background-color: rgba(0,0,0,0.65);
color: white;
margin-bottom: -20px;
-position: absolute;
+position: relative; /* changed to reposition header after navbar changes - DJ 16-12-2015 */
z-index: 1000;
display: inline;
}
@@ -6795,27 +7344,35 @@ display: inline;
@media (min-width: 1024px) and (max-width: 1200px) {
#portal-page-breadcrumbs {
- margin-top: 374px;
+ margin-top: 10px; /*-32px */
+ /* margin-top: 300px;
+ margin-top: 374px; */
/*margin-top: 346px;*/
}
h1.entry-title-portal {
- font-size: 3em;
+ font-size: 2.8em;
+ margin-left: 20px;
+ /* font-size: 3em; */
padding: 5px 10px;
- top:180px;
+ top:100px;
position: absolute;}
}
@media (min-width: 979px) and (max-width: 1024px) {
#portal-page-breadcrumbs {
- margin-top: 374px;
+ margin-top: -32px;
+ /* margin-top: 300px;
+ margin-top: 374px; */
/*margin-top: 346px;*/
}
h1.entry-title-portal {
- font-size: 3em;
+ font-size: 2.8em;
+ margin-left: 20px;
+/* font-size: 3em; */
padding: 5px 10px;
- top:180px;
+ top:100px;
position: absolute;}
#portal-header-wrap {
@@ -6829,16 +7386,18 @@ position: relative;}
@media (min-width: 768px) and (max-width: 979px) {
#portal-page-breadcrumbs {
- margin-top: 287px;
+ margin-top: -32px;
+ /* margin-top: 230px;
+ margin-top: 287px; */
/*margin-top: 261px;*/
}
h1.entry-title-portal {
padding: 0px 10px;;
font-size: 2em;
- top: 170px;
+ top: 80px;
position: absolute;
- margin-left: 5px;}
+ margin-left: 20px;}
#portal-header-wrap {
margin-bottom: 30px;
@@ -6856,8 +7415,8 @@ display: none;}
h1.entry-title-portal {
padding: 0px 10px;
-margin-left: 5px;
-top: 120px;
+margin-left: 20px;
+top: 80px;
/* top: 205px; */
font-size: 1.8em;
position: absolute;}
@@ -6872,7 +7431,7 @@ position: relative;}
@media (min-width: 513px) and (max-width: 620px) {
#portal-header-wrap {
- top: -55px;
+ top: -65px;
/*top: -60px;*/
margin-bottom: -60px;
padding: 0;
@@ -6898,7 +7457,7 @@ display: none;}
@media (min-width: 420px) and (max-width: 513px) {
#portal-header-wrap {
- top: -55px;
+ top: -65px;
/*top: -60px;*/
margin-bottom: -60px;
padding: 0;
@@ -6925,7 +7484,7 @@ display: none;}
@media (max-width: 420px) {
#portal-header-wrap {
- top: -55px;
+ top: -65px; /* changed from -55px DJ 05-01-2016 */
/*top: -60px;*/
margin-bottom: -60px;
padding: 0;
@@ -6934,7 +7493,7 @@ display: none;}
position: relative;
background-color: rgba(0, 0, 0, 0.65);}
-
+
h1.entry-title-portal {
padding: 0px 10px;
margin-left: 0;
@@ -6955,7 +7514,7 @@ display: none;}
h1.entry-title-hero-header {
padding: 10px 10px;
- top: 180px;
+ top: -355px; /* changed from 180px when header text changed to realitive - DJ 15/12/2015*/
font-size: 3.5em;
margin-left: 15px;
font-weight: lighter;
@@ -6963,30 +7522,39 @@ h1.entry-title-hero-header {
background-color: rgba(0,0,0,0.65);
color: white;
margin-bottom: -20px;
- position: absolute;
+ position: relative; /* changed from fixed to relative so as to not intefere with cookie message and burger menu */
z-index: 1000;
display: inline;
}
#hero-header-button {
- top: -115px;
- margin-left: 55px;
+ top: -130px; /*-115*/
+ margin-left: 20px;
+/* margin-left: 55px; */
margin-bottom: -60px;
padding: 0;
position: relative;
}
- #hero-header-button a {
- width: auto;}
+ /* #hero-header-button a {
+ width: auto;} */
- #hero-header-breadcrumbs {
- margin-top: 463px;
+ /*#hero-header-breadcrumbs {
+ /* margin-top: -42px; /*changed from -2px to reduce gap between image and breadcrumb caused by new black bar */
+ /*margin-top: -60px;
position: absolute;
- z-index: 1000;}
+ z-index: 1000;}*/
+
+ #hero-header-breadcrumbs {
+ margin-top: -60px;
+ /* margin-top: 365px; */
+ /* position: absolute; */
+ z-index: 1000;
+}
.attachment-hero-summary-image {
width: 100%;
- top: -16px;
+ top: -25px; /* changed from -15, DJ - 05-01-2016 */
/* top: -21px; */
position: relative;
display: inline;
@@ -6994,80 +7562,94 @@ h1.entry-title-hero-header {
@media (min-width: 1024px) and (max-width: 1200px) {
#hero-header-breadcrumbs {
- margin-top: 370px;}
+ margin-top: -2px;
+ /* margin-top: 290px; */}
h1.entry-title-hero-header {
- padding: 0px 15px;;
+ /* padding: 0px 15px; */
+ padding: 5px 5px;
font-size: 2.8em;
- top: 170px;
+ top: 100px; /*170px*/
position: absolute;
- margin-left: 5px;}
+ margin-left: 20px;
+/* margin-left: 5px; */}
#hero-header-button {
- top: -125px;
+ top: -85px; /*-105*/
margin-bottom: -80px;
- margin-left: 40px;}
+ margin-left: 20px;
+/* margin-left: 40px;*/}
#hero-header-button a {
- /*top: 20px;*/
position: relative;
- padding: 13px;
+ padding: 10px;
line-height: 1;}
+ /* top: 20px; */
}
@media (min-width: 979px) and (max-width: 1024px) {
#hero-header-button a {
top: 20px;
position: relative;
- padding: 13px;
+ padding: 10px;;
+ margin-left: 20px;
+/* padding: 13px; */
line-height: 1;}
h1.entry-title-hero-header {
- padding: 0px 10px;;
- font-size: 2em;
- top: 170px;
+ padding: 5px 10px;
+ font-size: 2.6em;
+/* padding: 0px 10px;
+ font-size: 2em; */
+ top: 100px; /*170*/
position: absolute;
- margin-left: 5px;}
+ margin-left: 20px;}
#hero-header-button {
- top: -145px;
- margin-left: 40px;
+ top: -100px; /*120px*/
+/* top: -145px; */
+ margin-left: 10px;
+/* margin-left: 40px;*/
margin-bottom: -80px;}
#hero-header-button a {
width: auto;}
#hero-header-breadcrumbs {
- margin-top: 370px;}
+ margin-top: -2px;
+ /* margin-top: 290px; */}
}
@media (min-width: 768px) and (max-width: 979px) {
h1.entry-title-hero-header {
padding: 0px 10px;;
font-size: 2em;
- top: 170px;
+ top: 70px; /*170*/
position: absolute;
- margin-left: 5px;}
+ margin-left: 15px;}
- #hero-header-button {
- top: -80px;
- margin-bottom: -20px;
+ #hero-header-button {
+ top: -90px;
+ margin-bottom: -45px;
+ /* margin-bottom: -20px; */
position: relative;
- margin-left: 40px;}
+ margin-left: 15px;
+/* margin-left: 40px; */}
- #hero-header-button a {
- width: 130%;}
+ /* #hero-header-button a {
+ width: 130%;} */
#hero-header-breadcrumbs {
- margin-top: 285px;}
+ margin-top: -2px;
+ /* margin-top: 222px; */}
}
@media (min-width: 620px) and (max-width: 767px) {
h1.entry-title-hero-header {
padding: 0px 10px;
- margin-left: 5px;
- top: 125px;
+ margin-left: 20px;
+ top: 70px; /*125px*/
/* top: 205px; */
font-size: 1.8em;
position: absolute;}
@@ -7075,13 +7657,17 @@ h1.entry-title-hero-header {
#hero-header-button {
top: -85px;
- margin-bottom: -75px;
+ /*margin-bottom: -75px;*/
position: relative;
margin-left: 20px;}
#hero-header-button a {
width: auto;}
+ #hero-header-wrap {
+/* margin-bottom: 10px; */
+ margin-bottom: -15px;} /* changed from 30px DJ 05-01-2016 */
+
#hero-header-breadcrumbs {
display: none;}
}
@@ -7100,9 +7686,10 @@ h1.entry-title-hero-header {
background-color: none;}
#hero-header-wrap {
- top: -55px;
- /* top: -60px; */
- margin-bottom: -60px;
+ top: -65px; /* changed from -55px - DJ - 16-02-2016 */
+ /* top: -60px;
+ margin-bottom: -10px;*/
+ margin-bottom: 10px;
padding: 0;
height: 40px;
z-index: 10064;
@@ -7114,11 +7701,11 @@ h1.entry-title-hero-header {
margin-bottom: 15px;
/* margin-bottom: -10px; */
margin-left: 0;
- position: relative;}
+ position: relative;}
#hero-header-button a {
- width: 92%;}
-
+ margin-top: 5px; /*35*/
+ width: 92.5%;}
#hero-header-breadcrumbs {
display: none;}
@@ -7139,9 +7726,10 @@ h1.entry-title-hero-header {
background-color: none;}
#hero-header-wrap {
- top: -55px;
- /*top: -60px;*/
- margin-bottom: -60px;
+ top: -65px; /*-55*/
+ /*top: -60px;
+ margin-bottom: -10px;*/
+ margin-bottom: 10px;
padding: 0;
height: 40px;
z-index: 10064;
@@ -7153,21 +7741,29 @@ h1.entry-title-hero-header {
margin-bottom: 15px;
/* margin-bottom: -10px; */
margin-left: 0;
- position: relative;}
+ position: relative;}
#hero-header-button a {
- width: 90%;}
+ width: 91%;
+ margin-top: 5px; /*35px*/
+ }
#hero-header-breadcrumbs {
display: none;}
}
+ @media (max-width: 470px) {
+ #hero-header-button a {
+ width: 89%; }
+ }
+
@media (max-width: 420px) {
#hero-header-wrap {
- top: -55px;
- /*top: -60px;*/
- margin-bottom: -60px;
+ top: -65px; /* changed from -55px DJ - 05-01-2016 */
+ /*top: -60px;
+ margin-bottom:10px;*/
+ margin-bottom:20px;
padding: 0;
height: 40px;
z-index: 10064;
@@ -7186,14 +7782,16 @@ h1.entry-title-hero-header {
background-color: none;}
#hero-header-button {
- top: 7px;
+ top: -25px; /* changed from 7px to align correctly - DJ - 02-02-2016 */
margin-bottom: 15px;
/* margin-bottom: -10px; */
margin-left: 0;
- position: relative;}
+ position: relative;}
#hero-header-button a {
- width: 88%;
+ /* width: 88%;*/
+ width: 86.5%;
+ margin-top: 36px;
overflow: hidden;}
#hero-header-breadcrumbs {
@@ -7299,7 +7897,7 @@ position: relative;}
@media (min-width: 768px) and (max-width: 979px) {
.span4-header-button-mobile {
top: -55px;
- margin-bottom: -35px;
+ margin-bottom: -35px;
margin-left: 10px !important;
position: relative;}
}
@@ -7348,20 +7946,25 @@ position: relative;}
#fostering-11 { background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/03/11-how-do-I-become-foster-carer.png); background-repeat: no-repeat; padding: 10px 0 7px 60px;}
#fostering-12 { background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/03/12-foster-carer-training-.png); background-repeat: no-repeat; padding: 10px 0 7px 60px;}
-/*Header
-****************/
+/*************Header****************/
+
+#top-header {
+ height:10px;
+ overflow: hidden;
+ margin-bottom: 10px;
+}
#top-header .container .span12 .row > .span9{
- height:50px;
+ height:10px;
}
/*Navigation bar*/
.navbar {
-margin-bottom: 5px;}
+margin-bottom: 0px;} /* changed from 5px to 0px when black bar changed to static - DJ 17/11/2015*/
.navbar .nav > li > a {
font-weight:normal;
-padding:10px 10px 10px;
+padding:14px 10px 4px;
}
.nav-header {
@@ -7369,7 +7972,7 @@ color: #6B6B6B;
}
-.navbar .nav > li > .dropdown-menu:before, .navbar .nav > li > .dropdown-menu:after {
+.navbar .nav > li > .dropdown-menu:before, .navbar .nav > li > .dropdown-menu:after {
display:none;
}
@@ -7418,20 +8021,50 @@ margin-right:0px;
/**search box*/
+
+.navbar #site-search input{ width: 250px; }
+.search{display:none;}
+
#site-search{
- margin: 0;
- margin-top:30px;
+ margin: 0;
+ margin-top:10px;
+
+}
+
+.mobile-search{
+ margin-top:15px;
+ display: none;
+
}
+
#site-search.navbar-form input{
font-size: 16px !important; /*Increase text size on search bar - NM 11.06.14 */
- margin-top:0;
+ margin-top:0;
padding: 0 6px;
- height:35px; /*height changed for redesign - af 100614*/
- width:350px; /*width changed for redesign - af 100614*/
+ height:26px; /*height changed for redesign - af 100614*/
+ width:175px; /*width changed for redesign - af 100614*/
/* height:22px; */
}
+#site-search.navbar-form .searchbutton {
+ /* Specific style for search button on the nav bar */
+ padding: 0px 4px;
+ /* padding: 0 6px */
+ font-size: 16px; /*button text increased - af 100614*/
+ height: 28px; /*button height increased to match bar - af 100614*/
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px; /*border radius increased - af 100614*/
+ background-image: none;
+ background-image: none;
+ background-image: none;
+ background-image: none;
+ background-image: none; /*gradient removed - af 100614*/
+}
+
+
+
.searchbutton {
/* Specific style for search button on the nav bar */
padding: 0px 4px;
@@ -7459,6 +8092,38 @@ margin-right:0px;
}
}
+
+/* search box 404 page*/
+
+#site-search.site-search-404 input {
+ font-size: 16px !important; /*Increase text size on search bar - NM 11.06.14 */
+ margin-top:0;
+ margin-right: 5px;
+ padding: 0 6px;
+ height:35px;
+ width: 450px; /* specific size for 404 error page - NM 17.11.14*/
+ /* height:22px; */
+}
+
+.searchbutton-404 {
+ /* Specific style for search button for 404 error page */
+
+ padding: 0px 4px;
+ /* padding: 0 6px */
+ font-size: 16px; /*button text increased - af 100614*/
+ height: 35px; /*button height increased to match bar - af 100614*/
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px; /*border radius increased - af 100614*/
+ background-image: none;
+ background-image: none;
+ background-image: none;
+ background-image: none;
+ background-image: none; /*gradient removed - af 100614*/
+}
+
+
+
/*Can't find class in HTML
#header-search {
@@ -7473,17 +8138,17 @@ margin-top:0px;
/*Mobile header*/
-@media (max-width: 767px) {
-#site-tabs ul.nav{
- margin-top:0!important;
- margin-left:10px;
- margin-right:10px;
- margin-bottom:1px;
- }
+@media (max-width: 767px) {
+#site-tabs ul.nav{
+ margin-top:0!important;
+ margin-left:10px;
+ margin-right:10px;
+ margin-bottom:1px;
+ }
#logo-wrap{
- padding-top: 5px !important;
- padding-bottom: 5px !important;
+ padding-top: 5px !important;
+ padding-bottom: 5px !important;
}
#logo-wrap img {
@@ -7526,6 +8191,14 @@ height:auto!important;
/*Side bar
**********/
+#rss-libraries h4 {
+ margin-bottom: -22px;
+}
+
+#rss-box-1 h4 {
+ margin-bottom: -22px;
+}
+
.span4 h3.widget-title {
padding-top: 22px; /* Added top padding in to widget area so both page title and widget title bottom border are alighned - NM 16.06.2014 */
padding-left:0; /* Removed right padding from widget title. No longer needed after removing chunky headers - NM 16.06.14 */
@@ -7567,6 +8240,17 @@ padding-right:9px;
margin-bottom:20px;
}
+#contact-details .team-name .hidden-title {
+ display: none;
+}
+
+
+.feedback-details {
+ margin-top: 0px; /* changed from 110px when contact us heading was removed - DJ - 08-04-2016 */
+ margin-bottom: 10px;
+ text-align: left; /* changed from text-align: center to bring button in line with surrounding content in side widgets - DJ - 20-01-2016 */
+}
+
#contact-details .tab-content {
padding-left:9px;
padding-right:9px;
@@ -7594,6 +8278,13 @@ line-height:1em;
padding:5px;
}
+
+.style-1 .span4 h2.widget-title-contact, .style-2 .span4 h2.widget-title-contact, .style-3 .span4 h2.widget-title-contact, .style-4 .span4 h2.widget-title-contact, .style-5 .span4 h2.widget-title-contact {
+ /* font-size:20px; /* changed from 16px 12-04-2016 - DJ */
+ display: none;
+ line-height:2.1em;
+}
+
.website-link, .email-link {
width: 90%;
word-wrap: break-word;
@@ -7606,12 +8297,12 @@ width:100%;
display:inline;
}
-/*Break for long words in sidebar addresses*/
-#contact-details div.tab-pain > p {
- -ms-word-break: break-all;
- word-break: break-all;
- word-break: break-word;
-}
+/*Break for long words in sidebar addresses*/
+#contact-details div.tab-pain > p {
+ -ms-word-break: break-all;
+ word-break: break-all;
+ word-break: break-word;
+}
/*Footer
@@ -7630,13 +8321,13 @@ footer .widget{
footer .widget a {
text-decoration: none;
- color: white !important;
- font-weight: bold;
+ color: white !important;
+ font-weight: normal; /* changed from bold to look more like gov uk - DJ - 12-01-2015 */
}
-footer .widget a:hover {
+footer .widget a:hover {
color:white !important;
- text-decoration: underline;
+ text-decoration: underline;
}
.style-1 > footer {
@@ -7659,7 +8350,7 @@ footer .widget a:hover {
color: white;
/* margin: 0 -15px -15px -15px; */
padding-top: 15px;
-/* Removed gradients from footer - NM 13.06.14
+/* Removed gradients from footer - NM 13.06.14
background: -webkit-gradient(linear, left top, left bottom, from(#0B8931), to(#006D3C));
background: -moz-linear-gradient(top, #0B8931, #006D3C);
-webkit-box-shadow: 0em 0em 0.188em #7997A1;
@@ -7725,7 +8416,7 @@ margin:5px 0;
footer p {
color:white;
- text-align: center;
+ text-align: left; /* changed from text-align: center - DJ - 20-01-2016 */
}
#footer-logos-bottom .container {
@@ -7772,7 +8463,7 @@ footer p {
background-image: none;
background-image: none;
background-image: none;
- background-image: none;
+ background-image: none;
background-repeat: no-repeat;
display: none; /*Hiding mega menus on desktop for redesign - NM 5.8.2014 */
}
@@ -7886,7 +8577,7 @@ padding-bottom:3px;
width:50%;
margin:0;
}
-
+
#mega-menu .dropdown-menu .top-tasks-top-left ul{
height:150px;
}
@@ -8088,9 +8779,9 @@ border-radius:5px;
@media (max-width: 978px){
/* mega-menu removed on mobile devices af - 100614*/
- #mega-menu-navbar .navbar-inner
+ #mega-menu-navbar .navbar-inner
{display: none;}
-}
+}
.top-tasks-custom-box ul li {
font-size:12px;
@@ -8168,7 +8859,7 @@ border-radius:5px;
.style-1 #super-box, .style-2 #super-box, .style-3 #super-box {
height:300px;
- margin-bottom:0;
+ margin-bottom:0;
/* Made drop shadow more stubtle to enhance flat design - NM 10.06.14 */
-moz-box-shadow: inset 0px 0px 0px -2px rgba(50, 50, 50, 0.3);
-webkit-box-shadow: inset 0px 0px 0px -2px rgba(100, 100, 100, 0.3);
@@ -8178,9 +8869,6 @@ border-radius:5px;
box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3);
-moz-box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3);
=webkit-box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3); */
-
-
-
}
.style-1 ul#super-menu, .style-3 ul#super-menu{
@@ -8202,19 +8890,20 @@ border-radius:5px;
/* border-top: solid 1px #FFFFFF !important; */
}
-
+
.style-1 ul#super-menu li, .style-3 ul#super-menu li, .style-3 ul#super-menu li {
padding: 0px;
height: 50px;
margin-bottom:0;
- background: #006D3C;
+ background: rgb(0, 109, 60);
+ /* background: #006D3C;
background: -moz-linear-gradient(left, #006D3C 39%, #007F41 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(39%,#006D3C), color-stop(100%,#007F41));
background: -webkit-linear-gradient(left, #006D3C 39%,#007F41 100%);
background: -o-linear-gradient(left, #006D3C 39%,#007F41 100%);
background: -ms-linear-gradient(left, #006D3C 39%,#007F41 100%);
background: linear-gradient(to right, #006D3C 39%,#007F41 100%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#006d3c', endColorstr='#007f41',GradientType=1 );
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#006d3c', endColorstr='#007f41',GradientType=1 ); */
}
.style-1 ul#super-menu li a, .style-3 ul#super-menu li a {
@@ -8224,7 +8913,7 @@ border-radius:5px;
font-weight:500;
color:white;
text-decoration:none;
- background-image: url(https://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow.png);
+ /* background-image: url(http://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow.png);*/
background-size:25px 20px;
background-repeat:no-repeat;
background-position: 130px 15px;
@@ -8232,6 +8921,10 @@ border-radius:5px;
-webkit-border-radius:0;
-moz-border-radius:0;
border-radius:0;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
}
.style-2 ul#super-menu li a {
@@ -8243,7 +8936,7 @@ border-radius:5px;
font-weight:500;
color:white;
text-decoration:none;
- background-image: url(https://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);
+ background-image: url(http://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);
background-size:25px 20px;
background-repeat:no-repeat;
background-position: 155px 15px;
@@ -8254,32 +8947,33 @@ border-radius:5px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
}
.style-1 ul#super-menu li a:hover, .style-3 ul#super-menu li a:hover{
- background: -moz-linear-gradient(left, #0F7C4B 39%, #0F8E50 100%); /* FF3.6+ */
- background: -moz-linear-gradient(left, #0F7C4B 39%, #0F8E50 100%); /* FF3.6+ */
- background: -webkit-gradient(linear, left top, right top, color-stop(39%,#0F7C4B), color-stop(100%,#0F8E50)); /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(left, #0F7C4B 39%,#0F8E50 100%); /* Chrome10+,Safari5.1+ */
- background: -o-linear-gradient(left, #0F7C4B 39%,#0F8E50 100%); /* Opera 11.10+ */
- background: -ms-linear-gradient(left, #0F7C4B 39%,#0F8E50 100%); /* IE10+ */
- background: linear-gradient(to right, #0F7C4B 39%,#0F8E50 100%); /* W3C */
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0F7C4B', endColorstr='#0F8E50',GradientType=1 );
- background-image: url(https://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow.png);
+ background: rgb(0, 109, 60);
+/* background: -moz-linear-gradient(left, #0F7C4B 39%, #0F8E50 100%); /* FF3.6+ */
+/* background: -moz-linear-gradient(left, #0F7C4B 39%, #0F8E50 100%); /* FF3.6+ */
+/* background: -webkit-gradient(linear, left top, right top, color-stop(39%,#0F7C4B), color-stop(100%,#0F8E50)); /* Chrome,Safari4+ */
+/* background: -webkit-linear-gradient(left, #0F7C4B 39%,#0F8E50 100%); /* Chrome10+,Safari5.1+ */
+/* background: -o-linear-gradient(left, #0F7C4B 39%,#0F8E50 100%); /* Opera 11.10+ */
+/* background: -ms-linear-gradient(left, #0F7C4B 39%,#0F8E50 100%); /* IE10+ */
+/* background: linear-gradient(to right, #0F7C4B 39%,#0F8E50 100%); /* W3C */
+/* filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0F7C4B', endColorstr='#0F8E50',GradientType=1 );
+/* background-image: url(http://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow.png);
background-size:25px 20px;
- background-repeat:no-repeat;
- background-position: 130px 15px;
+ background-position: 130px 15px;*/
+ /* background-repeat:no-repeat; */
+
}
.style-2 ul#super-menu li a:hover {
background: rgb(0, 85, 161);
- background-image: url(https://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);
+ /* background-image: url(http://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);*/
background-repeat: no-repeat;
background-size:25px 20px;
background-position: 155px 15px;
/* border-bottom: solid 1px #FFFFFF; */
-
}
@@ -8287,7 +8981,8 @@ border-radius:5px;
color:#006D3C;
background-color: #F2F5F2;
background: #F2F5F2;
- background-image: url(https://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);
+ background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/menu-arrow1.png);
+ /* background-image: url(http://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png); */
background-size: 25px 20px;
background-repeat: no-repeat;
background-position: 130px 15px;
@@ -8296,7 +8991,7 @@ border-radius:5px;
.style-2 ul#super-menu li.active a {
color:#0055A1;
background-color: #F2F5F2;
- background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/menu-arrow4.png);
+ background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/menu-arrow2.png);
background-size: 25px 20px;
background-repeat: no-repeat;
background-position: 155px 15px;
@@ -8318,30 +9013,29 @@ color:#fff;
height:300px;
}
-@media (min-width: 1200px) {
+
.style-1 ul#super-menu, .style-2 ul#super-menu, .style-3 ul#super-menu, .style-5 ul#super-menu{
- width:190px;
+ width:190px;
}
+
.style-1 ul#super-menu li.active a, .style-3 ul#super-menu li.active a,
-.style-1 ul#super-menu li a, .style-2 ul#super-menu li a,
+.style-1 ul#super-menu li a, .style-2 ul#super-menu li a,
.style-3 ul#super-menu li a, .style-1 ul#super-menu li a:hover, .style-2 ul#super-menu li a:hover, .style-3 ul#super-menu li a:hover{
background-position: 155px 15px;}
-}
-@media (min-width: 768px) and (max-width: 979px) {
+@media (min-width: 979px) and (max-width: 1200px) {}
+@media (min-width: 768px) and (max-width: 979px) {
.style-1 ul#super-menu, .style-2 ul#super-menu, .style-3 ul#super-menu, .style-5 ul#super-menu{
width:160px;}
}
-
+
@media (max-width: 767px) {
.style-1 ul#super-menu, .style-2 ul#super-menu, .style-3 ul#super-menu, .style-5 ul#super-menu{
width:125px;}
.style-1 #super-box, .style-2 #super-box, .style-3 #super-box{
-
- margin-bottom: 15px;
+ margin-bottom: 15px;}
}
-}
-
+
@media (max-width: 480px) {
.style-1 ul#super-menu, .style-2 ul#super-menu, .style-3 ul#super-menu, .style-5 ul#super-menu{
width:190px;}
@@ -8350,10 +9044,10 @@ color:#fff;
/*Super box slide content*/
#super-box a {
-font-size: 16px;
-}
+font-size: 16px;}
-.style-1 #super-box .tab-content,.style-2 #super-box .tab-content, .style-3 #super-box .tab-content, .style-5 #super-box .tab-content{
+.style-1 #super-box .tab-content,.style-2 #super-box .tab-content, .style-3 #super-box .tab-content, .style-4 #super-box .tab-content, .style-5 #super-box .tab-content{
+/* .style-1 #super-box .tab-content,.style-2 #super-box .tab-content, .style-3 #super-box .tab-content, .style-5 #super-box .tab-content{ */
overflow: hidden;
height: 100%;
margin: 0;
@@ -8368,24 +9062,24 @@ font-size: 16px;
box-shadow: inset 10px 0px 20px -5px rgba(50, 50, 50, 0.4); */
}
-.style-1 .tab-content h4, .style-3 .tab-content h4, .style-3 .tab-content h4, .style-5 .tab-content h4 {
+.style-1 .tab-content h4, .style-3 .tab-content h4, .style-3 .tab-content h4, .style-4 .tab-content h4, .style-5 .tab-content h4 {
margin:0;
margin-bottom:0.75em;
+ font-size: 18px
}
-.style-1 .tab-content p, .style-2 .tab-content p, .style-3 .tab-content p, .style-5 .tab-content p{
+.style-1 .tab-content p, .style-2 .tab-content p, .style-3 .tab-content p, .style-4 .tab-content p, .style-5 .tab-content p{
margin:0;
margin-bottom:0.75em;
}
-.style-1 .tab-content ul, .style-2 .tab-content ul, .style-3 .tab-content ul, .style-5 .tab-content ul {
+.style-1 .tab-content ul, .style-2 .tab-content ul, .style-3 .tab-content ul, .style-4 .tab-content ul, .style-5 .tab-content ul {
padding-left:0;
padding-bottom:0;
margin:0;
- list-style:none;
- }
+ list-style:none;}
-.style-1 .tab-content ul li, .style-2 .tab-content ul li, .style-3 .tab-content ul li, .style-5 .tab-content ul li {
+.style-1 .tab-content ul li, .style-2 .tab-content ul li, .style-3 .tab-content ul li, .style-4 .tab-content ul li, .style-5 .tab-content ul li {
line-height:1.2;
margin-bottom:0.6em;
}
@@ -8396,10 +9090,10 @@ font-size: 16px;
.style-1 .tab-content a, .style-3 .tab-content a {
color: #006D3C;
- text-decoration:none;
+ text-decoration:underline; /*changed fron none - DJ - 22-02-2016 */
}
-
-.style-1 .tab-content a:hover, .style-2 .tab-content a:hover, .style-3 .tab-content a:hover{
+
+.style-1 .tab-content a:hover, .style-2 .tab-content a:hover, .style-3 .tab-content a:hover, .style-4 .tab-content a:hover{
text-decoration: underline;
}
@@ -8413,7 +9107,7 @@ font-size: 16px;
height:auto;
}
-.style-1 .tab-content #libraries-nav-search-button, .style-2 .tab-content #libraries-nav-search-button,
+.style-1 .tab-content #libraries-nav-search-button, .style-2 .tab-content #libraries-nav-search-button,
.style-3 .tab-content #libraries-nav-search-button, .style-5 .tab-content #libraries-nav-search-button {
margin:0;
}
@@ -8421,18 +9115,15 @@ font-size: 16px;
/*Super box RSS feeds*/
#super-box li.rssRow > div, #super-box .rss-feed li.rssRow > p {
- display:none;
-}
+ display:none;}
#super-box .rss-feed h4, #super-box .rss-feed p{
margin-bottom: 0!important;
- line-height: 1.1!important;
-
-}
+ line-height: 1.1!important;}
-/*Super box Style 5*/
+/*Super box Style 4 and Style 5*/
-.style-5 #super-box {
+.style-5 #super-box, .style-4 #super-box {
height:300px;
margin-bottom:0;
/* Made drop shadow more stubtle to enhance flat design - NM 10.06.14 */
@@ -8445,7 +9136,7 @@ font-size: 16px;
=webkit-box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3); */
}
-.style-5 ul#super-menu{
+.style-5 ul#super-menu {
width:160px;
height:100%;
margin:0;
@@ -8453,18 +9144,34 @@ font-size: 16px;
background-color: rgb(68, 68, 68);
border-right: 0;
}
-
-.style-5 ul#super-menu li{
+
+.style-4 ul#super-menu{
+ width:160px;
+ height:100%;
+ margin:0;
+ padding:0;
+ background: rgb(71, 101, 127);
+ border-right: 0;
+}
+
+ .style-5 ul#super-menu li{
padding: 0px;
height: 50px;
margin-bottom:0;
background: rgb(68, 68, 68);
}
-.style-5 ul#super-menu li a {
+.style-4 ul#super-menu li{
+ padding: 0px;
+ height: 50px;
+ margin-bottom:0;
+ background: rgb(71, 101, 127);
+ }
+
+.style-5 ul#super-menu li a, .style-4 ul#super-menu li a {
padding:15px 15px 14px 15px;
border:0;
- border-bottom: solid 1px #80B280;
+ border-bottom: solid 1px #FFFFFF;
font-weight:500;
color:white;
text-decoration:none;
@@ -8474,19 +9181,23 @@ font-size: 16px;
margin:0;
-webkit-border-radius:0;
-moz-border-radius:0;
- border-radius:0;
-}
+ border-radius:0;}
-.style-5 ul#super-menu li a:hover{
+.style-5 ul#super-menu li a:hover {
background: rgb(68, 68, 68);
background-size:25px 20px;
background-repeat:no-repeat;
- background-position: 130px 15px;
-}
+ background-position: 130px 15px;}
-.style-5 ul#super-menu li.active a{
- color:#006D3C;
- background-color: #F2F5F2;
+.style-4 ul#super-menu li a:hover{
+ background: rgb(71, 101, 127);
+ background-size:25px 20px;
+ background-repeat:no-repeat;
+ background-position: 130px 15px;}
+
+
+.style-5 ul#super-menu li.active a, .style-4 ul#super-menu li.active a{
+ color:#FFFFFF;
background: #F2F5F2;
background-size: 25px 20px;
background-repeat: no-repeat;
@@ -8494,17 +9205,18 @@ font-size: 16px;
}
@media (min-width: 1200px) {
-.style-5 ul#super-menu{
- width:190px;
-}
-.style-5 ul#super-menu li.active a, .style-5 ul#super-menu li a, .style-5 ul#super-menu li a:hover{
+.style-5 ul#super-menu, .style-4 ul#super-menu{
+ width:190px;}
+
+.style-5 ul#super-menu li.active a, .style-5 ul#super-menu li a, .style-5 ul#super-menu li a:hover,
+.style-4 ul#super-menu li.active a, .style-4 ul#super-menu li a, .style-4 ul#super-menu li a:hover{
background-position: 155px 15px;}
}
/*Super box slide content*/
-.style-5 #super-box .tab-content{
+.style-5 #super-box .tab-content, .style-4 #super-box .tab-content{
overflow: hidden;
height: 100%;
@@ -8518,55 +9230,64 @@ font-size: 16px;
box-shadow: inset 10px 0px 20px -5px rgba(50, 50, 50, 0.4);*/
}
-.style-5 .tab-content h4 {
+.style-5 .tab-content h4, .style-4 .tab-content h4 {
margin:0;
margin-bottom:0.75em;
}
-.style-5 .tab-content p{
+.style-5 .tab-content p, .style-4 .tab-content p{
margin:0;
margin-bottom:0.75em;
}
-.style-5 .tab-content ul {
+.style-5 .tab-content ul, .style-4 .tab-content ul {
padding-left:0;
padding-bottom:0;
margin:0;
list-style:none;
}
-.style-5 .tab-content ul li {
+.style-5 .tab-content ul li, .style-4 .tab-content ul li {
line-height:1.2;
margin-bottom:0.6em;
}
-
-.style-5 .tab-content a {
- text-decoration:none;
+.style-5 .tab-content a, .style-4 .tab-content a {
+ text-decoration:underline; /* changed from none - DJ - 23-02-2016 */
}
-.style-5 .tab-content a:hover{
+.style-5 .tab-content a:hover, style-4 .tab-content a:hover{
text-decoration: underline;
}
-.style-5 .tab-content form {
+.style-5 .tab-content form, .style-4 .tab-content form {
height:auto !important;
margin:0 0 10px 0;
}
-.style-5 ul#super-menu li a {
+.style-5 ul#super-menu li a:hover, .style-4 ul#super-menu li a:hover {
border-bottom: solid 1px #FFFFFF;
-background-image: url(https://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);
+/*background-image: url(//www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);*/
}
-.style-5 ul#super-menu li a:hover {
-background-image: url(https://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);
+
+/*.style-5 ul#super-menu li a:hover, .style-4 ul#super-menu li a:hover {
+ .style-5 ul#super-menu li a:hover {
+background-image: url(http://www.warwickshire.gov.uk/Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/menu-arrow2.png);
+}*/
+.style-4 ul#super-menu li.active a{
+background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2014/10/menu-arrow4.png);
+color:#666666;
}
-.style-5 ul#super-menu li.active a {
-background-image: url(http://www-int.warwickshire.gov.uk/wp-content/uploads/2013/06/menu-arrow5.png);
+
+.style-5 ul#super-menu li.active a{
+background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/06/menu-arrow5.png);
color:#666666;
}
-.style-5 .carousel-caption a {
+
+
+
+.style-5 .carousel-caption a, .style-4 .carousel-caption a {
color:white;
}
@@ -8602,7 +9323,6 @@ color:white;
#super-box .small-text, #super-box .small-text a{
font-size: 12px;
line-height: 1.2;
-
}
.style-1 .date-box p, .style-2 .date-box p, .style-3 .date-box p {
@@ -8612,7 +9332,7 @@ color:white;
}
/*report it slide*/
-
+ #super-box a {font-size: 14px;} #super-box a {font-size: 14px;}
#super-box .sb-icon-button a{
font-size: 14px;
line-height: 1.2;
@@ -8631,7 +9351,7 @@ color:white;
.style-1 .sb-icon-button:hover, .style-2 .sb-icon-button:hover, .style-3 .sb-icon-button:hover, .style-1 .sb-icon-button a:hover, .style-2 .sb-icon-button a:hover, .style-3 .sb-icon-button a:hover{
background-color:rgb(200,225,200);
}
-
+
.style-1 .sb-icon-button:hover, .style-2 .sb-icon-button:hover, .style-3 .sb-icon-button:hover{
-moz-box-shadow:1px 1px 3px rgba(0,0,0,0.3);
-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.3);
@@ -8646,9 +9366,11 @@ color:white;
.style-1 .sb-icon-button img, .style-2 .sb-icon-button img, .style-3 .sb-icon-button img {
height:auto;
- width:100%;
+/* width:100%; */
+ width: auto;
max-height:70px;
- max-width:80px;
+ max-width:70px;
+/* max-width:80px; */
}
.slide-image {
@@ -8657,14 +9379,14 @@ color:white;
}
.sb-row .form-input{
- height:auto;
+ height:auto;
width:70%;
margin-bottom: 10px;
}
.sb-row .form-label {
- width:15%;
- display:inline-block;
+ width:15%;
+ display:inline-block;
}
#efaForm p{
@@ -8675,7 +9397,8 @@ color:white;
padding:15px 0 0;
}
-@media (min-width: 768px) and (max-width: 979px) {
+
+@media (min-width: 768px) and (max-width: 979px) {
#super-box a {font-size: 14px;}
#sb-twitter-accounts {width:100%!important;}
#sb-twitter-list {display:none;}
@@ -8683,7 +9406,6 @@ color:white;
@media (max-width: 767px) {
#sb-twitter-accounts {width:100%!important;}
-
#sb-twitter-list {display:none;}
#super-box a {font-size: 14px;}
}
@@ -8711,8 +9433,7 @@ ul#super-menu {display:none!important;}
/* box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3);
-moz-box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3);
- =webkit-box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3); */
-}
+ =webkit-box-shadow: 0px 2px 8px rgba(100, 100, 100, 0.3); */}
#nb h2 {
position:absolute;
@@ -8743,13 +9464,13 @@ line-height:1.2em;
color:white;
}
-.style-1 .carousel-caption h3 a,
-.style-3 .carousel-caption h3 a, .style-3 .carousel-caption h3 a,
-.style-1 a.carousel-control, .style-1 a.carousel-control:hover,
-.style-1 a.carousel-control,.style-1 a.carousel-control:hover,
-.style-2 a.carousel-control, .style-2 a.carousel-control:hover,
-.style-3 a.carousel-control, .style-3 a.carousel-control:hover,
-.style-4 a.carousel-control, .style-4 a.carousel-control:hover,
+.style-1 .carousel-caption h3 a,
+.style-3 .carousel-caption h3 a, .style-3 .carousel-caption h3 a,
+.style-1 a.carousel-control, .style-1 a.carousel-control:hover,
+.style-1 a.carousel-control,.style-1 a.carousel-control:hover,
+.style-2 a.carousel-control, .style-2 a.carousel-control:hover,
+.style-3 a.carousel-control, .style-3 a.carousel-control:hover,
+.style-4 a.carousel-control, .style-4 a.carousel-control:hover,
.style-5 a.carousel-control, .style-5 a.carousel-control:hover {
color:white;
text-decoration:none;
@@ -8774,11 +9495,10 @@ height: 300px;
@media (max-width: 480px){
.carousel-caption {
-position: absolute !important;
-}
+position: absolute !important;}
}
-/*Feature box style-4*/
+/*Feature box style-4
.style-4 #feature {
margin-bottom: 20px;
@@ -8793,9 +9513,9 @@ position: absolute !important;
.style-4 #super-box {
background-color: rgb(71, 101, 127);
-/* background-color: #47555E; */
-}
-
+/* background-color: #47555E;
+}*/
+ /*
.style-4 #super-box .tab-content img {
width:100%;
}
@@ -8807,7 +9527,7 @@ position: absolute !important;
.style-4 #super-box .tab-content .feature-links {
padding:0;
- background-color: black;
+ background-color: black;
bottom: 0;
width:100%;
}
@@ -8848,16 +9568,16 @@ position: absolute !important;
}
.style-4 #super-box .tab-content ul li {
- padding-left: 10px;
+ padding-left: 10px;
padding-right: 10px;
}
.style-4 #super-box #super-menu {
margin-right: 0;
margin-bottom: 0;
-}
+}*/
-/* Style-4 feature box Nav tabs*/
+/* Style-4 feature box Nav tabs
.style-4 #super-box .nav-tabs {
height: auto;
@@ -8866,10 +9586,10 @@ margin-bottom: 0;
/* background: #48555E;
background: -webkit-gradient(linear, left top, left bottom, from(#708799), to(#48555E));
background: -moz-linear-gradient(top, #708799, #48555E);
- background-repeat: repeat-x; */
-
-}
+ background-repeat: repeat-x;
+}*/
+/*
.style-4 #super-box .nav-tabs li {
margin-bottom: 0;
width: 275px;
@@ -8892,25 +9612,17 @@ margin-bottom: 0;
.style-4 #super-box .nav-tabs li a:hover{
background: rgb(65, 93, 117);
- /* background: #95A5B0; */
-}
+ /* background: #95A5B0;
+}*/
+
-.style-4 #super-box .nav-tabs li.active a{
- background:rgb(84, 121, 150);
- /* background: #48555E; */
- border:0;
-}
.style-4 #super-box .nav-tabs li.active a:hover {
- color:white;
- border:0;
+ color: rgb(71, 101, 127);
+
}
-@media (min-width: 1200px) {}
-@media (min-width: 979px) and (max-width: 1200px) {}
-@media (min-width: 768px) and (max-width: 979px) {}
-@media (max-width: 767px) {}
/*End of feature box Nav tabs*/
@@ -8931,29 +9643,35 @@ box-shadow: -1px 2px 8px rgba(100, 100, 100, 0.3);
}
p.job-slide-content {
- font-size:16px;
+ font-size:16px !important;
}
@media (min-width: 979px) and (max-width: 1200px) {
- p.job-slide-content, p.job-slide-content a {
- font-size:14px !important;
+ p.job-slide-content, p.job-slide-content a {
+ font-size:14px;
}
img.alignright-slide {
- display:none;
- }
+ display:none;}
}
@media (min-width: 768px) and (max-width: 979px) {
- p.job-slide-content, p.job-slide-content a {
- font-size:12px !important;
-}
+.style-1 ul#super-menu li.active a, .style-2 ul#super-menu li.active a, .style-3 ul#super-menu li.active a,
+ .style-4 ul#super-menu li.active a, .style-5 ul#super-menu li.active a{
+background-image: none;}
+
+ p.job-slide-content, p.job-slide-content a {
+ font-size:12px !important;}
}
+
@media (max-width: 767px) {
- p.job-slide-content, p.job-slide-content a {
- font-size:12px !important;
-}
+.style-1 ul#super-menu li.active a, .style-2 ul#super-menu li.active a, .style-3 ul#super-menu li.active a,
+ .style-4 ul#super-menu li.active a, .style-5 ul#super-menu li.active a{
+background-image: none;}
+
+ p.job-slide-content, p.job-slide-content a {
+ font-size:12px !important;}
}
@@ -8961,9 +9679,9 @@ img.alignright-slide {
/*General page content
**********************/
.homepage-box p a {
- -ms-word-break: break-all;
- word-break: break-all;
- word-break: break-word;
+ -ms-word-break: break-all;
+ word-break: break-all;
+ word-break: break-word;
}
.entry-content .tabbable {
@@ -8996,23 +9714,30 @@ color:white !important;
}
article .alert {
- margin-top:20px;
- margin-bottom:20px;
+ /* margin-top:-25px;*/ /*changed from margin-top: 20px as the alerts box was too far down teh page - DJ - 17-02-2016 */;
+ margin-bottom:20px;
}
-.alert-block{
- color: #0D0D00;
+.alert-block {
+ /*color: #0D0D00;
background-color: #FDEFA6;
- border-color: #F5DC63;
+ border-color: #F5DC63;*/
+ color: #0D0D00;
+background-color: lightgrey; /* changed from #E3D4E7 - DJ - 23-02-2016 */
+border-color: #000000;
}
.alert-danger, .alert-error {
- color: #260102;
+ /*color: #260102;
background-color: #FFD1D1;
- border-color: #D95D59;
+ border-color: #D95D59;*/
+color: #260102;
+background-color: #E7E7E7; /* changed DJ - 22-02-2016 */
+border-color: #000000;
}
+
.highlight-style-1{
min-height: 20px;
padding: 19px;
@@ -9051,7 +9776,7 @@ article .alert {
}
.style-4 .table th {
- background-color: #47657F;
+ background-color: #47657F;
/* background-color: #48565F; */
color:white;
}
@@ -9066,36 +9791,36 @@ article .alert {
}
/*Accordions*/
-.accordion-slide-header {
- font-size:20px;
- margin:0;
- background-color: #fafafa;
- background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
- background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
- background-repeat: repeat-x;
- border: 1px solid #d4d4d4;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
- cursor:pointer;
- background-image:url('//www.warwickshire.gov.uk/wp-content/uploads/2014/02/down.png');
- background-position:98% 50%;
- background-repeat:no-repeat;
- margin-left:0;
- margin-right:0;
+.accordion-slide-header {
+ font-size:20px;
+ margin:0;
+ background-color: #fafafa;
+ background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
+ background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
+ background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
+ background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
+ background-repeat: repeat-x;
+ border: 1px solid #d4d4d4;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
+ cursor:pointer;
+ background-image:url('//www.warwickshire.gov.uk/wp-content/uploads/2014/02/down.png');
+ background-position:98% 50%;
+ background-repeat:no-repeat;
+ margin-left:0;
+ margin-right:0;
padding-top:20px;
padding-bottom:20px;
-/* padding-top:5px;
- padding-bottom:5px; */
- margin-top:0;
- margin-bottom:0;
- padding-left:10px;
- padding-right: 50px;
- border-bottom:solid 1px #C3C3C3;
+/* padding-top:5px;
+ padding-bottom:5px; */
+ margin-top:0;
+ margin-bottom:0;
+ padding-left:10px;
+ padding-right: 50px;
+ border-bottom:solid 1px #C3C3C3;
width:auto;
}
@@ -9145,17 +9870,18 @@ article .alert {
-moz-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.5);
}
.google-form {
- height:auto !important;
+ height:auto !important;
}
/*RSS*/
-.style-1 #secondary .rss-feed, .style-2 #secondary .rss-feed, .style-3 #secondary .rss-feed,
+
+.style-1 #secondary .rss-feed, .style-2 #secondary .rss-feed, .style-3 #secondary .rss-feed,
.style-4 #secondary .rss-feed, .style-5 #secondary .rss-feed {
margin-left:0;
}
-.style-1 #secondary .rss-feed p, .style-2 #secondary .rss-feed p, .style-3 #secondary .rss-feed p,
+.style-1 #secondary .rss-feed p, .style-2 #secondary .rss-feed p, .style-3 #secondary .rss-feed p,
.style-4 #secondary .rss-feed p, .style-5 #secondary .rss-feed p {
margin: 0 0 0 0.5em;
padding: 0;
@@ -9179,16 +9905,19 @@ article .alert {
#secondary .rss-feed .rss-sub {
padding-left:9px;
padding-right:9px;
+
}
-.style-1 #secondary .rss-feed h4, .style-2 #secondary .rss-feed h4, .style-3 #secondary .rss-feed h4,
+.style-1 #secondary .rss-feed h4, .style-2 #secondary .rss-feed h4, .style-3 #secondary .rss-feed h4,
.style-4 #secondary .rss-feed h4, .style-5 #secondary .rss-feed h4 {
margin-left: 0;
+
}
+
.style-1 #secondary .rss-feed h3 {
background: #F9FFF8;
-/* Removing background and changing font colour on RSS feed boxes on the widget areas for flat design - NM 18.06.14
+/* Removing background and changing font colour on RSS feed boxes on the widget areas for flat design - NM 18.06.14
background: -moz-linear-gradient(top, #10952D 0%, #006D3C 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#10952D), color-stop(100%,#006D3C));
background: -webkit-linear-gradient(top, #10952D 0%,#006D3C 100%);
@@ -9204,11 +9933,12 @@ padding-right:9px;
border-top: none;
border-left: none;
border-right: none;
+
}
.style-5 #secondary .rss-feed h3 {
background: #F9FFF8;
-/* Removing background and changing font colour on RSS feed boxes on the widget areas for flat design - NM 18.06.14
+/* Removing background and changing font colour on RSS feed boxes on the widget areas for flat design - NM 18.06.14
background: -moz-linear-gradient(top, #666 0%, #444 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#666), color-stop(100%,#444));
background: -webkit-linear-gradient(top, #666 0%,#444 100%);
@@ -9246,10 +9976,19 @@ padding-right:9px;
/*Buttons
*********/
+
+/*Contact button for contact details area*/
+
+.smallbutton a {
+/* .contactbutton a { */
+ color: white !important;
+text-decoration: none!important;
+}
+
/*Big buttons*/
.big-button {
- color:#333;
+ color:#333;
}
.style-1 .big-button-wrap, .style-2 .big-button-wrap, .style-3 .big-button-wrap {
@@ -9280,7 +10019,7 @@ text-align:center;
.btn-big {
font-size:200%;
- padding:21px 29px;
+ padding:11px 29px; /*changed from 21 and 29pxto reduce white space- DJ - 20-01-2016 */
margin-bottom: 20px;
}
@@ -9288,12 +10027,14 @@ text-align:center;
margin-bottom:14px;
}
-.style-1 .btn-big, .style-2 .btn-big, .style-3 .btn-big, .style-4 .btn-big, .style-5 .btn-big,
+.style-1 .btn-big, .style-2 .btn-big, .style-3 .btn-big, .style-4 .btn-big, .style-5 .btn-big,
.style-1 .btn-large, .style-2 .btn-large, .style-3 .btn-large, .style-4 .btn-large, .style-5 .btn-large {
color:white;
+ text-decoration: none; /* added to remove underline from button - DJ - 20-01-2016 */
+ font-size: medium; /* added to reduce size of button font - DJ - 20-01-2016 */
}
-.style-1 .btn-big:hover, .style-2 .btn-big:hover, .style-3 .btn-big:hover, .style-4 .btn-big:hover, .style-5 .btn-big:hover,
+.style-1 .btn-big:hover, .style-2 .btn-big:hover, .style-3 .btn-big:hover, .style-4 .btn-big:hover, .style-5 .btn-big:hover,
.style-1 .btn-large:hover, .style-2 .btn-large:hover, .style-3 .btn-large:hover, .style-4 .btn-large:hover, .style-5 .btn-large:hover {
color:white;
}
@@ -9302,7 +10043,7 @@ text-align:center;
text-align: center;
margin: 0 auto;
display: block;
- width: 100%;
+ width: 100%;
}
/*Horizontal large buttons*/
@@ -9392,20 +10133,19 @@ text-align:center;
/*Button 3 (BLUE)*/
.btn-3 {
- color: #FFFFFF;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #2D81D6;
- *background-color: #0055A1;
- background-image: -moz-linear-gradient(top, #2D91ED, #0055A1);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2D91ED), to(#0055A1));
- background-image: -webkit-linear-gradient(top, #2D91ED, #0055A1);
- background-image: -o-linear-gradient(top, #2D91ED, #0055A1);
- background-image: linear-gradient(to bottom, #2D91ED, #0055A1);
- background-repeat: repeat-x;
- border-color: #0055A1 #0055A1 #003E69;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff308FFF', endColorstr='#ff0055A1', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+ color: #FFFFFF;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #0055A1!important;
+ background-image: -moz-linear-gradient(top, #2D91ED, #0055A1);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0055A1!important), to(#0055A1!important));
+ background-image: -webkit-linear-gradient(top, #2D91ED, #0055A1);
+ background-image: -o-linear-gradient(top, #2D91ED, #0055A1);
+ background-image: linear-gradient(to bottom, #2D91ED, #0055A1);
+ background-repeat: repeat-x;
+ border-color: #0055A1 #0055A1 #003E69;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff308FFF', endColorstr='#ff0055A1', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-3:hover, .btn-3:active, .btn-3.active, .btn-3.disabled, .btn-3[disabled] {
@@ -9559,10 +10299,65 @@ text-align:center;
}
-/*Home page specific code
+/* New SPP homepage - DJ I'm good at this :)- 21/07/2014*/
+#spphome-staffmembers {
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/spp-staff.png);}
+#spphome-jobs{
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/spp-jobs.png);}
+#spphome-partnerships {
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/spp-partnerships.png);}
+#spphome-hr {
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/spp-hr.png);}
+#spphome-professionals {
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/spp-professionals.png);}
+#spphome-schools {
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/spp-schools.png);}
+
+.style-1 .span6, .style-2 .span6, .style-3 .span6, .style-5 .span6, .style-4 .span6{
+ margin-bottom:1.7em;
+}
+
+.style-1 ul.homepage-links a, .style-5 ul.homepage-links a, .home-header a, #super-box .tab-content a, .style-4 ul.homepage-links a{
+ font-weight: 500;
+ text-decoration: none;
+}
+
+.style-1 ul.homepage-links a:hover, .style-2 ul.homepage-links a:hover, .style-3 ul.homepage-links a:hover, .style-4 ul.homepage-links a:hover, .style-5 ul.homepage-links a:hover {
+ text-decoration: underline;
+}
+
+.style-1 ul.homepage-links a.strong{
+ font-weight: 600;
+}
+
+.style-1 ul.homepage-links a img, .style-5 ul.homepage-links a img, .style-4 ul.homepage-links a img {
+ display: none;
+}
+
+.style-1 ul.homepage-links a.strong, .style-5 ul.homepage-links a.strong, .style-4 ul.homepage-links a.strong{
+ font-weight: 600;
+}
+
+@media (max-width: 979px) and (min-width: 768px) {
+.style-1 ul.homepage-links, .style-2 ul.homepage-links, .style-3 ul.homepage-links, .style-4 ul.homepage-links {
+ font-size: 16px;
+ height: 70px;
+}
+
+.style-4 ul#super-menu{
+ width:190px;
+}
+
+.style-4 ul#super-menu li.active a, .style-5 ul#super-menu li a, .style-5 ul#super-menu li a:hover{
+ background-position: 155px 15px;}
+}
+
+
+/* Generic style for old homepages
+Home page specific code
*************************/
-/*Home pages*/
+/*Home pages
.span3.homepage-box {
-webkit-box-shadow: 0px 0px 1px #444444;
-moz-box-shadow: 0px 0px 1px #444444;
@@ -9575,7 +10370,7 @@ text-align:center;
.style-4 .span6.homepage-box ul {background-color:#F9FFF8;}
.style-5 .span6.homepage-box ul {background-color:#F9FFF8;}
-.span3.homepage-box{
+.span3.homepage-box{
height: 24em;
position: relative;
display: block;
@@ -9626,8 +10421,10 @@ text-align:center;
background-position:center right;
background-repeat:no-repeat;
}
+*/
-/*--style-4 Homepage--*/
+/* OLD SPP Homepage
+--style-4 Homepage--
.style-4 .span6.homepage-box {
-webkit-box-shadow: 0px 0px 1px #444444;
@@ -9647,7 +10444,7 @@ text-align:center;
-webkit-box-shadow: 0em 0em 0.188em #7997A1;
-moz-box-shadow: 0em 0em 0.188em #7997A1;
box-shadow: 0em 0em 0.188em #7997A1; */
- background-position: top left;
+/* background-position: top left;
font-size: 1.3em;
margin: 0;
padding: 0.7em;
@@ -9715,8 +10512,9 @@ text-align:center;
}
}
-
-/*--style-5 Homepage--*/
+*/
+/* Old About the Council / Jobs Homepage style /
+--style-5 Homepage--
.style-5 .span3.homepage-box, .style-5 .span6.homepage-box-govmetric {
-webkit-box-shadow: 0px 0px 1px #444444;
@@ -9758,14 +10556,13 @@ text-align:center;
border: solid;
border-color: #C3C3C3;
border-width: 3px;
-
border-top: none;
border-left: none;
border-right: none;
text-decoration:none;
}
-.style-5 .span6.homepage-box-govmetric{
+.style-5 .span6.homepage-box-govmetric{
height: 24em;
position: relative;
display: block;
@@ -9775,12 +10572,12 @@ text-align:center;
margin-bottom:1em;
}
-.style-5 .span6.homepage-box-govmetric ul{
+.style-5 .span6.homepage-box-govmetric ul{
margin:0;
text-align: center;
}
-.style-5 .span6.homepage-box-govmetric li{
+.style-5 .span6.homepage-box-govmetric li{
margin-left: 0.5em;
margin-right: 0.5em;
line-height: 45px;
@@ -9871,12 +10668,13 @@ text-align:center;
.style-5 .homepage-box > h4 {
margin-left: 1em;
}
+*/
/*--Politician Search form--*/
#my-warwickshire input:focus {
box-shadow: 0 0 5px rgba(0,128,0, 1);
- -webkit-box-shadow: 0 0 5px rgba(0,128,0, 1);
+ -webkit-box-shadow: 0 0 5px rgba(0,128,0, 1);
-moz-box-shadow: 0 0 5px rgba(0,128,0, 1);
}
@@ -9919,8 +10717,8 @@ text-align:center;
}
#politician-search textarea, #politician-search input {
- width: 100%;
- height: auto;
+ width: 100%;
+ height: auto;
}
@media (min-width: 979px) and (max-width: 1200px) {
@@ -9933,7 +10731,7 @@ text-align:center;
.homepage-box h4 a:hover {background-image:none;}
}
-@media (min-width: 768px) and (max-width: 979px) {
+@media (min-width: 768px) and (max-width: 979px) {
.style-4 .span6.homepage-box, .style-5 .span6.homepage-box,.style-5 .span6.homepage-box-govmetric{height: 32.5em;}
.style-4 .span3.homepage-box, .style-5 .span3.homepage-box {height: 35em; font-size: 13px;}
.style-4 .span3.homepage-box h5, .style-5 .span3.homepage-box h5 {font-size: 13px;}
@@ -9962,28 +10760,31 @@ h3.home-header {
font-size: 22px;
margin: 0 0 0.3em;
padding-left:35px;
+ padding-top: 0px; /* added to prevent text dropping below icon on home pages - DJ - 05-02-2016 */
background-size:25px 25px;
background-repeat:no-repeat;
background-position:relative;
}
-#home-business {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-business-25.png);}
-#home-environment {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-environment-25.png);}
-#home-health {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-health-25.png);}
-#home-libraries {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-libraries-25.png);}
-#home-registrations {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-registrations-25.png);}
-#home-roads {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-roads-25.png);}
-#home-safety {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-safety-25.png);}
-#home-schools {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-schools-25.png);}
-#home-social {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-social-25.png);}
-#home-events {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-events-25.png);}
-#home-council {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-council-25.png);}
-#home-audience {background-image:url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-accounts-25.png);}
+#home-business {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-business.png);}
+#home-environment {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-environment.png);}
+#home-health {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-health.png);}
+#home-libraries {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-libraries.png);}
+#home-registrations {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-registrations.png);}
+#home-roads {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-roads.png);}
+#home-safety {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-safetyandcrime.png);}
+#home-schools {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-schools.png);}
+#home-social {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-socialcare.png);}
+#home-events {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-events.png);}
+#home-council {background-image:url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-council.png);}
+#home-audience {background-image:url(http://www.warwickshire.gov.uk/wp-content/uploads/2014/10/wd-volunteering.png);}
+#home-a-z {background-image:none; margin-left: -1.5em;}
.style-1 h3.home-header a, .style-2 h3.home-header a, .style-3 h3.home-header a {
color:black;
+ text-decoration: none; /* added to prevent titles underlining on business homepage 28-01-2016 - DJ */
}
ul.homepage-links {
@@ -10025,35 +10826,35 @@ ul.homepage-links li, ul.homepage-links li a.strong {
/* New corporate homepage image icons */
#corporatehome-democracy {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/democracy.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-democracy.png);}
#corporatehome-finance{
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/finace-suppliers.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-finance.png);}
#corporatehome-jobs {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/OtherBusinessServices.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-jobs.png);}
#corporatehome-listsanddata {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/list-and-data2.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-lists.png);}
#corporatehome-organisation {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/organisation2.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-organisation.png);}
#corporatehome-performance {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/performance2.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-performance.png);}
#corporatehome-policies {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/policies.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-policies.png);}
#corporatehome-projects {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/projects.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-projects.png);}
#corporatehome-strategies {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/strategies.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-strategies.png);}
#corporatehome-partnerships {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/partnerships4.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/council-partnerships.png);}
/* New jobs homepage image icons */
#jobshome-guidance {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/BusinessAdvice.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/jobs-guidance.png);}
#jobshome-firerescue{
-background-image: url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-safety-25.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/jobs-firerescue.png);}
#jobshome-careers {
-background-image: url(http://www.warwickshire.gov.uk//Web/corporate/wccweb.nsf/Links/B6876CFE9798941F80257855005D6E89/$file/hp-icon-business-25.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/jobs-careers.png);}
#jobshome-contact {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/jobs-contact.png);}
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/jobs-contact.png);}
/*Bespoke page code
@@ -10086,12 +10887,13 @@ background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/08/
}
p.atoz {
- text-align:center;
+ text-align:left;
+/* text-align:center;*/
color:#ccc;
}
p.atoz a {
- margin:4px 2px;
+ margin:4px 2px;
display:inline-block;
width:1.25em;
height:1.15em;
@@ -10120,7 +10922,7 @@ p.atoz a {
display:block;
}
-.style-1 #sb-leftarrow, .style-1 #sb-rightarrow,
+.style-1 #sb-leftarrow, .style-1 #sb-rightarrow,
.style-3 #sb-leftarrow, .style-3 #sb-rightarrow {
display:block;
position:absolute;
@@ -10155,19 +10957,30 @@ p.atoz a {
.style-4 #sb-leftarrow, .style-4 #sb-rightarrow {
display:block;
position:absolute;
+ width:20px;
+ height:20px;
+ background-color: #c4c9ce;
+ z-index:200;
+ padding:140px 0.1em;
+}
+
+
+/*.style-4 #sb-leftarrow, .style-4 #sb-rightarrow {
+ display:block;
+ position:absolute;
z-index:200;
padding:5px;
background:#ffffff;
top: 15px;
-}
+}*/
#sb-rightarrow {
- right:0;
+ right:0;
}
#sb-leftarrow {
left:0;
-}
+}
.style-1 #super-box, .style-2 #super-box, .style-3 #super-box, .style-4 #super-box, .style-5 #super-box{
position:relative;
@@ -10243,28 +11056,28 @@ box-shadow: 0em 0em 0.188em #7997A1 !important;
}
/* New image icons */
#businesshome-organisations {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/BusinessOrganisations.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-support.png);
}
#businesshome-advice {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/BusinessAdvice.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-advice.png);
}
#businesshome-health {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/BusinessSafety.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-healthsafety.png);
}
#businesshome-other {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/OtherBusinessServices.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-other.png);
}
#businesshome-events {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/businessEvents.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-events.png);
}
#businesshome-grow {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/Growingyourbusiness.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-growing.png);
}
#businesshome-locating {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/Locatingyourbusiness.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-locating.png);
}
#businesshome-start {
-background-image: url(http://www.warwickshire.gov.uk/wp-content/uploads/2013/03/StartABusiness.png);
+background-image: url(//www.warwickshire.gov.uk/wp-content/uploads/2014/10/business-start.png);
}
/* business homepage media queries specific for business makes it more flexible and ready for A-Z at later date*/
@media (max-width: 979px) and (min-width: 768px) {
@@ -10276,10 +11089,10 @@ width: 95% !important;
}
}
@media (max-width: 1200px) and (min-width:979px) {
- .style-1 .span6, .style-2 .span6, .style-3 .span6{
+ .style-1 .span6, .style-2 .span6, .style-3 .span6{
margin-bottom:1.7em;
-}
-
+}
+
.businessspan6 {
width: 45% !important;
}
@@ -10295,7 +11108,8 @@ font-weight: 600;
}
.style-2 ul.homepage-links a {
font-weight: normal;
-}
+text-decoration: none
+} /* changed as part of redesign 14-01-2016*/
.style-2 h1.entry-title, .style-2 .span4 h3.widget-title {
background:#F9FFF8; /* changed background colour* as part of redesign 13/06/2014/
@@ -10315,7 +11129,7 @@ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#2D91ED', endC
background:#0055A1;
/* Removed gradient for redesign 13/06/2014 DJ/
background:-moz-linear-gradient(bottom, rgba(0, 85, 161, 1) 0%, rgba(45, 145, 237, 1) 100%);
-background:-webkit-gradient(linear, left bottom, left top, color-stop(0%,rgba(0, 85, 161, 1)),
+background:-webkit-gradient(linear, left bottom, left top, color-stop(0%,rgba(0, 85, 161, 1)),
color-stop(100%,rgba(45, 145, 237, 1)));
background: -webkit-linear-gradient(bottom, rgba(0, 85, 161, 1) 0%,rgba(45, 145, 237, 1) 100%);
background:-o-linear-gradient(bottom, rgba(0, 85, 161, 1) 0%,rgba(45, 145, 237, 1) 100%);
@@ -10326,8 +11140,13 @@ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#2D91ED', endC
-.style-2 a, .style-2 .tab-content a {
+.style-2 a {
color:#0055A1;
+text-decoration: underline; /* changed from text-decoration: none; - DJ - 20-01-2016 */
+}
+.style-2 .tab-content a {
+color:#0055A1;
+text-decoration: underline; /* changed from none - DJ - 23-02-2016 */
}
.style-2 .container > footer {
@@ -10363,6 +11182,29 @@ display:none;
/*Style for new navigation pages*/
+/*New style for navigation page mobile and tabled view */
+
+.navigation-page-column{
+float: left;
+display: block;
+margin: 0px;
+width: 31%;
+padding: 0 1%;
+}
+
+.navigation-more-links {
+margin-left:10px;
+}
+
+.navigation-row-three {
+margin-left:-30px;
+margin-right:0px;
+display: block;
+height:130px;
+}
+
+/*New styling ends */
+
.navigation-page-row
/* .nav-row */ {
margin-top:10px;
@@ -10406,7 +11248,8 @@ padding-left:5px;
font-weight:lighter;
margin:-60px 30px 5px 70px;
padding-top:2px;
-line-height:22px;
+line-height:25px; /* changed from 22px to prevent overlapping when title goes onto 2 lines - DJ - 01-02-2016 */
+font-size: 25px;
}
.navigation-page-description
@@ -10434,10 +11277,15 @@ div.clickable a {
height:100%;
top:0;
left:0;
+ text-decoration: none !important; /* text decoration added to prevent underlining on nav boxes - DJ - 20-01-2016 */
}
@media (max-width: 979px) {
+.navigation-page-title {
+ font-size: 20px;
+}
+
.navigation-page-description {
/*text-overflow: ellipsis;
height:150px;
@@ -10457,12 +11305,63 @@ margin-left: 20px;
}
+
+/*New mobile styling for navigation page on mobile and tablet */
+@media (max-width: 750px) {
+
+.navigation-page-icon {
+display:block;
+margin-left: auto;
+margin-right: auto;
+padding-top:5px;
+padding-left:0px;
+}
+
+.navigation-row-three h3 {
+font-size:15px;
+padding-top:5px;
+padding-bottom:10px;
+line-height: 16px;
+text-align: center;
+}
+
+.navigation-page-title {
+font-size:15px;
+padding-bottom:5px;
+line-height: 16px;
+display:block;
+margin-left: auto;
+margin-right: auto;
+margin-top:5px;
+}
+
+.navigation-row-three {
+padding-top:20px;
+margin-bottom:50px;
+margin-left:0px !important;
+margin-right:0px;
+height: 70px;
+}
+
+
+/*End of new styling */
+
@media (max-width: 767px) {
.navigation-page-title {
margin-right:0px;
padding-top:20px;
-font-size:20px;
+font-size:15px; /* changed from20px to prevent overlapping - DJ - 03-02-2016 */
+text-align: center;
+}
+
+/* Addded to prevent section header overlapping nav icon text */
+.section-header {
+margin: 15px 0;
+margin-top: 80px;
+ border: 0;
+ border-top: 5px solid #000000;
+ border-bottom: 1px solid white;
}
.navigation-page-description {
@@ -10498,6 +11397,22 @@ margin-left:0px;
font-size:20px;}
}
+/*media query added to reduce heading size on mobil devices - DJ 04-02-2016 */
+@media (max-width: 480px) {
+h1.entry-title {
+font-size:34px;
+font-weight: bold;
+}
+h2 {
+ font-size: 32px;
+}
+h1 {
+ font-size: 34px;
+ font-weight:bold;
+}
+}
+
+
/* @media (max-width: 767px) {
.navigation-page-title {
padding-top:5px;
@@ -10516,4 +11431,116 @@ font-size:20px;}
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
+
+
*/
+
+/* CSS for sliders */
+
+.accordion-slide-header {
+padding-top:10px;
+padding-bottom:10px;
+}
+
+.accordion-icon {
+height:60px;
+width:60px;
+padding-right:10px;
+}
+
+.tab-image {
+width:80px;
+height:80px;
+}
+
+.slider-image {
+height:auto;
+width:100%;
+}
+
+.carousel-caption {
+top: 0;
+bottom: auto;
+margin-top:15px;
+margin-left:10px;
+max-width:250px;
+font-family:impact;
+font-size:40px;
+font-weight:normal!important;
+}
+
+.intro {
+top: 0;
+bottom: auto;
+margin-top:15px;
+margin-left:10px;
+max-width:500px;
+font-family:helvetica!important;
+font-size:14px;
+}
+
+@media (min-width: 1200px) {
+
+.right-text {
+float: right;
+width: 300px;
+margin-right: 10px;
+margin-left: auto;
+padding: 20px;
+}
+
+.left-text {
+float: right;
+width: 300px;
+margin-left: 10px;
+margin-right: auto;
+padding: 20px;
+}
+
+}
+
+@media (min-width: 981px) and (max-width: 1199px) {}
+
+@media (min-width: 768px) and (max-width: 980px) {}
+
+@media (max-width: 767px) {
+
+.carousel-caption {
+position: relative;
+background-color: #F9FFF8;
+color:#333333;
+font-size:24px;
+}
+
+.intro {
+top: 0;
+bottom: auto;
+margin-top:15px;
+margin-left:10px;
+max-width:500px;
+font-family:helvetica!important;
+font-size:14px;
+}
+
+}
+
+@media (max-width: 480px) {
+
+.carousel-caption {
+position: relative!important;
+background-color: #F9FFF8;
+color:#333333;
+font-size:24px;
+}
+
+.intro {
+top: 0;
+bottom: auto;
+margin-top:15px;
+margin-left:10px;
+max-width:500px;
+font-family:helvetica!important;
+font-size:14px;
+}
+
+} \ No newline at end of file
diff --git a/web/cobrands/warwickshire/vendor/gamma/venues.css b/web/cobrands/warwickshire/vendor/gamma/venues.css
new file mode 100644
index 000000000..ed47a8424
--- /dev/null
+++ b/web/cobrands/warwickshire/vendor/gamma/venues.css
@@ -0,0 +1,249 @@
+/*
+
+.venue-title {
+font-size:16px;
+font-weight: bold;
+margin:10px;
+line-height:20px;
+}
+
+div.weddings-intro {
+margin-bottom:0px;
+}
+
+.title-text {
+font-size:15px;
+color:white;
+background-color:#2b4d42;
+position:absolute;
+}
+
+.wedding-nav-large img {
+width:auto;
+margin:auto;
+display:block;
+}
+
+.wedding-nav-small img {
+width:auto;
+margin:auto;
+display:block;
+}
+
+div.wedding-nav-large:hover {
+background-color:rgb(200,225,200);
+}
+
+div.wedding-nav-small:hover {
+background-color:rgb(200,225,200);
+}
+
+.wedding-nav-large a:hover {
+text-decoration:none;
+color:black;
+}
+
+.wedding-nav-small a:hover {
+text-decoration:none;
+color:black;
+}
+
+.desc-text {
+padding-bottom:0px;
+margin-bottom:0px;
+text-decoration: none;
+font-weight: lighter;
+}
+
+.venue-text {
+padding:10px 10px 10px 10px;
+margin:10px;
+text-decoration: none;
+font-weight: lighter;
+}
+
+@media (min-width: 1200px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+.title-text {
+margin-left:25px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:25px;
+margin-right:25px;
+padding-bottom:25px;
+}
+
+.venue-photo {
+padding-top:15px;
+}
+
+.alt-venue-photo {
+padding-top:20px;
+}
+
+}
+
+@media (min-width: 981px) and (max-width: 1199px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+.wedding-nav-large img {
+width:90%;
+}
+
+.wedding-nav-small img {
+width:90%;
+}
+
+.title-text {
+margin-left:15px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:15px;
+margin-right:15px;
+padding-bottom:15px;
+}
+
+.venue-photo {
+padding-top:15px;
+}
+
+.alt-venue-photo {
+padding-top:15px;
+}
+
+}
+
+@media (min-width: 768px) and (max-width: 980px) {
+
+.photo-mobile {
+display:none !important;
+}
+
+.wedding-nav-large img {
+width:90%;
+}
+
+.wedding-nav-small img {
+width:90%;
+}
+
+.title-text {
+margin-left:11px;
+margin-top:-70px;
+padding-left:10px;
+padding-right:10px;
+padding-top:5px;
+padding-bottom:5px;
+}
+
+.desc-text {
+margin-left:10px;
+margin-right:10px;
+padding-bottom:10px;
+}
+
+.venue-photo {
+padding-top:10px;
+}
+
+.alt-venue-photo {
+padding-top:10px;
+}
+}
+
+@media (max-width: 767px) {
+
+.venue-title h3 {
+line-height:20px !important;
+}
+
+.venue-photo img {
+padding-top:5px;
+display:inline;
+max-width:75%;
+}
+
+.photo-mobile {
+display:block !important;
+padding:5px;
+margin-left:0px !important;
+}
+
+.photo-mobile img {
+height:60px;
+margin-left:0px;
+}
+
+div.wedding-nav-large {
+background-color:#C8E1C8;
+border-radius:10px;
+margin-top:5px;
+min-height:60px;
+}
+
+div.wedding-nav-small {
+min-height:110px;
+}
+
+.wedding-nav-small img {
+height:100px;
+display:block;
+float:left;
+padding:5px;
+}
+
+.title-text {
+background-color:#C8E1C8;
+font-size:20px;
+color:#006D3C;
+position:absolute;
+margin-left:80px;
+margin-top:-56px;
+padding-left:0px;
+padding-right:0px;
+padding-top:0px;
+padding-bottom:0px;
+}
+
+.desc-text {
+display:none;
+}
+
+.venue-text {
+font-size:14px;
+}
+
+.desc-text a:hover{
+color:black;
+}
+
+.alt-venue-photo {
+display:none !important;
+}
+
+.navigation-page-row {
+margin-top:-5px;
+}
+
+}
+
+*/ \ No newline at end of file
diff --git a/web/i/pin-flat-white-small.png b/web/i/pin-flat-white-small.png
new file mode 100644
index 000000000..f01a4e6b9
--- /dev/null
+++ b/web/i/pin-flat-white-small.png
Binary files differ
diff --git a/web/js/dashboard.js b/web/js/dashboard.js
index f436b8d18..a6e06e048 100644
--- a/web/js/dashboard.js
+++ b/web/js/dashboard.js
@@ -1,6 +1,26 @@
$(function(){
Chart.defaults.global.defaultFontSize = 16;
+ Chart.defaults.global.defaultFontFamily = $('body').css('font-family');
+
+ var colours = [
+ '#FF4343', // red
+ '#F4A140', // orange
+ '#FFD000', // yellow
+ '#62B356', // green
+ '#4D96E5', // blue
+ '#B446CA', // purple
+ '#7B8B98', // gunmetal
+ '#BCB590', // taupe
+ '#9C0101', // dark red
+ '#CA6D00', // dark orange
+ '#C2A526', // dark yellow
+ '#1D7710', // dark green
+ '#1D64B1', // dark blue
+ '#7A108F', // dark purple
+ '#3B576E', // dark gunmetal
+ '#655F3A' // dark taupe
+ ];
var setUpLabelsForChart = function(chart){
var $parent = $(chart.chart.canvas).parent();
@@ -89,54 +109,142 @@ $(function(){
);
});
- var $allReports = $('#chart-all-reports'),
- labels = $allReports.data('labels'),
- data0 = $allReports.data('values-reports'),
- data1 = $allReports.data('values-fixed');
- window.chartAllReports = new Chart($allReports, {
- type: 'line',
- data: {
- labels: labels,
- datasets: [{
- data: data0,
- pointRadius: pointRadiusFinalDot(data0.length, 4),
- pointBackgroundColor: '#F4A140',
- borderColor: '#F4A140'
- }, {
- data: data1,
- pointRadius: pointRadiusFinalDot(data1.length, 4),
- pointBackgroundColor: '#62B356',
- borderColor: '#62B356'
- }]
- },
- options: {
- animation: {
- onComplete: function(){
- setUpLabelsForChart(this);
- }
- },
- layout: {
- padding: {
- top: 4
- }
+ $('#chart-all-reports').each(function(){
+ var $allReports = $(this),
+ labels = $allReports.data('labels'),
+ data0 = $allReports.data('values-reports'),
+ data1 = $allReports.data('values-fixed');
+
+ window.chartAllReports = new Chart($allReports, {
+ type: 'line',
+ data: {
+ labels: labels,
+ datasets: [{
+ data: data0,
+ pointRadius: pointRadiusFinalDot(data0.length, 4),
+ pointBackgroundColor: colours[1],
+ borderColor: colours[1]
+ }, {
+ data: data1,
+ pointRadius: pointRadiusFinalDot(data1.length, 4),
+ pointBackgroundColor: colours[3],
+ borderColor: colours[3]
+ }]
},
- scales: {
- xAxes: [{
- type: 'category',
- gridLines: {
- display: false
+ options: {
+ animation: {
+ onComplete: function(){
+ setUpLabelsForChart(this);
}
- }],
- yAxes: [{
- type: "linear",
- ticks: {
- display: false
+ },
+ layout: {
+ padding: {
+ top: 4
}
+ },
+ scales: {
+ xAxes: [{
+ type: 'category',
+ gridLines: {
+ display: false
+ }
+ }],
+ yAxes: [{
+ type: "linear",
+ ticks: {
+ display: false
+ }
+ }]
+ },
+ onResize: function(chart, size){
+ setUpLabelsForChart(chart);
+ }
+ }
+ });
+ });
+
+ $('.js-make-bar-chart').each(function(){
+ var $table = $(this);
+ var $trs = $table.find('tr');
+ var $wrapper = $('<div>').addClass('responsive-bar-chart').insertBefore($table);
+ var $canvas = $('<canvas>').attr({
+ 'width': 600,
+ 'height': 30 * $trs.length
+ }).appendTo($wrapper);
+ var rowLabels = [];
+ var rowValues = [];
+
+ $trs.each(function(){
+ rowLabels.push( $(this).find('th').text() );
+ rowValues.push( parseInt($(this).find('td').text(), 10) );
+ });
+
+ for (var i=colours.length; i<rowLabels.length; i++) {
+ colours[i] = colours[i % colours.length];
+ }
+
+ var barChart = new Chart($canvas, {
+ type: 'horizontalBar',
+ data: {
+ labels: rowLabels,
+ datasets: [{
+ label: "",
+ data: rowValues,
+ backgroundColor: colours
}]
},
- onResize: function(chart, size){
- setUpLabelsForChart(chart);
+ options: {
+ animation: {
+ onComplete: function(){
+ // Label each bar with the numerical value.
+ var chartInstance = this.chart,
+ ctx = chartInstance.ctx;
+
+ ctx.font = Chart.helpers.fontString( Chart.defaults.global.defaultFontSize * 0.8, 'bold', Chart.defaults.global.defaultFontFamily);
+ ctx.textAlign = 'right';
+ ctx.textBaseline = 'middle';
+
+ this.data.datasets.forEach(function (dataset, i) {
+ var meta = chartInstance.controller.getDatasetMeta(i);
+ meta.data.forEach(function (bar, index) {
+ var dataValue = dataset.data[index];
+ var width_text = ctx.measureText(dataValue).width;
+ var width_bar = bar._model.x - bar._model.base;
+ var gutter = (bar._model.height - (Chart.defaults.global.defaultFontSize * 0.8)) / 2;
+ var textX;
+ if (width_text + 2 * gutter > width_bar) {
+ textX = bar._model.x + 2 * gutter;
+ ctx.fillStyle = bar._model.backgroundColor;
+ } else {
+ textX = bar._model.x - gutter;
+ ctx.fillStyle = '#fff';
+ }
+ ctx.fillText( dataValue, textX, bar._model.y );
+ });
+ });
+ }
+ },
+ scales: {
+ xAxes: [{
+ gridLines: {
+ drawBorder: false,
+ drawTicks: false
+ },
+ ticks: {
+ beginAtZero: true,
+ maxTicksLimit: 11,
+ display: false
+ }
+ }],
+ yAxes: [{
+ gridLines: {
+ display: false
+ }
+ }]
+ }
}
- }
+ });
+
+ $table.hide();
});
});
diff --git a/web/js/front.js b/web/js/front.js
new file mode 100644
index 000000000..8471972d4
--- /dev/null
+++ b/web/js/front.js
@@ -0,0 +1,18 @@
+document.getElementById('pc').focus();
+
+(function(){
+ var around_forms = document.querySelectorAll('form[action*="around"]');
+ for (var i=0; i<around_forms.length; i++) {
+ var form = around_forms[i];
+ var el = document.createElement('input');
+ el.type = 'hidden';
+ el.name = 'js';
+ el.value = 1;
+ form.insertBefore(el, form.firstChild);
+ }
+ var around_links = document.querySelectorAll('a[href*="around"]');
+ for (i=0; i<around_links.length; i++) {
+ var link = around_links[i];
+ link.href = link.href + (link.href.indexOf('?') > -1 ? '&js=1' : '?js=1');
+ }
+})();
diff --git a/web/js/geolocation.js b/web/js/geolocation.js
new file mode 100644
index 000000000..3c2cf04df
--- /dev/null
+++ b/web/js/geolocation.js
@@ -0,0 +1,43 @@
+var fixmystreet = fixmystreet || {};
+
+fixmystreet.geolocate = function(element, success_callback) {
+ element.addEventListener('click', function(e) {
+ var link = this;
+ e.preventDefault();
+ link.className += ' loading';
+ navigator.geolocation.getCurrentPosition(function(pos) {
+ link.className = link.className.replace(/loading/, ' ');
+ success_callback(pos);
+ }, function(err) {
+ link.className = link.className.replace(/loading/, ' ');
+ if (err.code === 1) { // User said no
+ link.innerHTML = translation_strings.geolocation_declined;
+ } else if (err.code === 2) { // No position
+ link.innerHTML = translation_strings.geolocation_no_position;
+ } else if (err.code === 3) { // Too long
+ link.innerHTML = translation_strings.geolocation_no_result;
+ } else { // Unknown
+ link.innerHTML = translation_strings.geolocation_unknown;
+ }
+ }, {
+ enableHighAccuracy: true,
+ timeout: 10000
+ });
+ });
+};
+
+(function(){
+ var link = document.getElementById('geolocate_link');
+ if (!link) { return; }
+ var https = window.location.protocol.toLowerCase() === 'https:';
+ if ('geolocation' in navigator && https) {
+ fixmystreet.geolocate(link, function(pos) {
+ var latitude = pos.coords.latitude.toFixed(6);
+ var longitude = pos.coords.longitude.toFixed(6);
+ var coords = 'latitude=' + latitude + ';longitude=' + longitude;
+ location.href = link.href + (link.href.indexOf('?') > -1 ? ';' : '?') + coords;
+ });
+ } else {
+ link.style.display = 'none';
+ }
+})();
diff --git a/web/js/jquery.fixedthead.js b/web/js/jquery.fixedthead.js
deleted file mode 100644
index 33e60f721..000000000
--- a/web/js/jquery.fixedthead.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * jQuery.fixedThead.js
- * By Zarino at mySociety
- */
-
-(function ($) {
-
- // Call this on a <thead> element and it'll be given a class
- // of '.js-fixed-thead__clone' when you scroll down. eg:
- // $('#my-table thead').fixedThead()
- //
- // You'll probably want to specify some CSS styles like:
- // .js-fixed-thead__clone { position: fixed; background: #fff; }
-
- $.fn.fixedThead = function() {
-
- var calculateCloneDimensions = function calculateCloneDimensions($originalThead, $cloneThead){
- $cloneThead.css({
- width: $originalThead.width()
- });
-
- $('tr', $originalThead).each(function(tr_index, tr){
- $('th', tr).each(function(th_index, th){
- $cloneThead.find('tr:eq(' + tr_index + ') th:eq(' + th_index + ')').css({
- width: $(th).width()
- });
- });
- });
- }
-
- var showOrHideClone = function showOrHideClone($table, $originalThead, $cloneThead){
- var bounds = $table[0].getBoundingClientRect();
-
- // First we detect whether *any* of the table is visible,
- // then, if it is, we position the fixed thead so that it
- // never extends outside of the table bounds even when the
- // visible portion of the table is shorter than the thead.
-
- if(bounds.top <= 0 && bounds.bottom >= 0){
- $cloneThead.css('display', $originalThead.css('display'));
-
- var rowHeight = $cloneThead.outerHeight();
- if(bounds.bottom < rowHeight){
- $cloneThead.css({
- top: (rowHeight - bounds.bottom) * -1
- });
- } else {
- $cloneThead.css({
- top: 0
- });
- }
-
- } else {
- $cloneThead.css('display', 'none');
- }
- }
-
- return this.each(function() {
- var $originalThead = $(this);
- var $table = $originalThead.parent('table');
- var $cloneThead = $originalThead.clone().addClass('js-fixed-thead__clone');
-
- $cloneThead.insertAfter($originalThead);
- $cloneThead.css('display', 'none');
-
- calculateCloneDimensions($originalThead, $cloneThead);
- showOrHideClone($table, $originalThead, $cloneThead);
-
- $(window).resize(function(){
- calculateCloneDimensions($originalThead, $cloneThead);
- showOrHideClone($table, $originalThead, $cloneThead);
- });
-
- $(window).scroll(function(){
- showOrHideClone($table, $originalThead, $cloneThead);
- });
- });
-
- };
-
-}(jQuery));
diff --git a/web/js/jquery.multi-select.js b/web/js/jquery.multi-select.js
deleted file mode 100644
index 38921b147..000000000
--- a/web/js/jquery.multi-select.js
+++ /dev/null
@@ -1,334 +0,0 @@
-// jquery.multi-select.js
-// by mySociety
-// https://github.com/mysociety/jquery-multi-select
-
-(function($) {
-
- var pluginName = "multiSelect",
- defaults = {
- containerHTML: '<div class="multi-select-container">',
- menuHTML: '<div class="multi-select-menu">',
- buttonHTML: '<span class="multi-select-button">',
- menuItemsHTML: '<div class="multi-select-menuitems">',
- menuItemHTML: '<label class="multi-select-menuitem">',
- presetsHTML: '<div class="multi-select-presets">',
- activeClass: 'multi-select-container--open',
- noneText: '-- Select --',
- allText: undefined,
- presets: undefined,
- positionedMenuClass: 'multi-select-container--positioned',
- positionMenuWithin: undefined
- };
-
- function Plugin(element, options) {
- this.element = element;
- this.$element = $(element);
- this.settings = $.extend( {}, defaults, options );
- this._defaults = defaults;
- this._name = pluginName;
- this.init();
- }
-
- function arraysAreEqual(array1, array2) {
- if ( array1.length != array2.length ){
- return false;
- }
-
- array1.sort();
- array2.sort();
-
- for ( var i = 0; i < array1.length; i++ ){
- if ( array1[i] !== array2[i] ){
- return false;
- }
- }
-
- return true;
- }
-
- $.extend(Plugin.prototype, {
-
- init: function() {
- this.checkSuitableInput();
- this.findLabels();
- this.constructContainer();
- this.constructButton();
- this.constructMenu();
-
- this.setUpBodyClickListener();
- this.setUpLabelsClickListener();
-
- this.$element.hide();
- },
-
- checkSuitableInput: function(text) {
- if ( this.$element.is('select[multiple]') === false ) {
- throw new Error('$.multiSelect only works on <select multiple> elements');
- }
- },
-
- findLabels: function() {
- this.$labels = $('label[for="' + this.$element.attr('id') + '"]');
- },
-
- constructContainer: function() {
- this.$container = $(this.settings.containerHTML);
- this.$element.data('multi-select-container', this.$container);
- this.$container.insertAfter(this.$element);
- },
-
- constructButton: function() {
- var _this = this;
- this.$button = $(this.settings.buttonHTML);
- this.$button.attr({
- 'role': 'button',
- 'aria-haspopup': 'true',
- 'tabindex': 0,
- 'aria-label': this.$labels.eq(0).text()
- })
- .on('keydown.multiselect', function(e) {
- var key = e.which;
- var returnKey = 13;
- var spaceKey = 32;
- if ((key === returnKey) || (key === spaceKey)) {
- _this.$button.click();
- }
- }).on('click.multiselect', function(e) {
- _this.menuToggle();
- })
- .appendTo(this.$container);
-
- this.$element.on('change.multiselect', function() {
- _this.updateButtonContents();
- });
-
- this.updateButtonContents();
- },
-
- updateButtonContents: function() {
- var _this = this;
- var options = [];
- var selected = [];
-
- this.$element.children('option').each(function() {
- var text = $(this).text();
- options.push(text);
- if ($(this).is(':selected')) {
- selected.push( $.trim(text) );
- }
- });
-
- this.$button.empty();
-
- if (selected.length === 0) {
- this.$button.text( this.settings.noneText );
- } else if ( (selected.length === options.length) && this.settings.allText) {
- this.$button.text( this.settings.allText );
- } else {
- this.$button.text( selected.join(', ') );
- }
- },
-
- constructMenu: function() {
- var _this = this;
-
- this.$menu = $(this.settings.menuHTML);
- this.$menu.attr({
- 'role': 'menu'
- }).on('keyup.multiselect', function(e){
- var key = e.which;
- var escapeKey = 27;
- if (key === escapeKey) {
- _this.menuHide();
- }
- })
- .appendTo(this.$container);
-
- this.constructMenuItems();
-
- if ( this.settings.presets ) {
- this.constructPresets();
- }
- },
-
- constructMenuItems: function() {
- var _this = this;
-
- this.$menuItems = $(this.settings.menuItemsHTML);
- this.$menu.append(this.$menuItems);
-
- this.$element.on('change.multiselect', function(e, internal) {
- // Don't need to update the menu items if this
- // change event was fired by our tickbox handler.
- if(internal !== true){
- _this.updateMenuItems();
- }
- });
-
- this.updateMenuItems();
- },
-
- updateMenuItems: function() {
- var _this = this;
- this.$menuItems.empty();
-
- this.$element.children('option').each(function(option_index, option) {
- var $item = _this.constructMenuItem($(option), option_index);
- _this.$menuItems.append($item);
- });
- },
-
- constructPresets: function() {
- var _this = this;
- this.$presets = $(this.settings.presetsHTML);
- this.$menu.prepend(this.$presets);
-
- $.each(this.settings.presets, function(i, preset){
- var unique_id = _this.$element.attr('name') + '_preset_' + i;
- var $item = $(_this.settings.menuItemHTML)
- .attr({
- 'for': unique_id,
- 'role': 'menuitem'
- })
- .text(' ' + preset.name)
- .appendTo(_this.$presets);
-
- var $input = $('<input>')
- .attr({
- 'type': 'radio',
- 'name': _this.$element.attr('name') + '_presets',
- 'id': unique_id
- })
- .prependTo($item);
-
- $input.on('change.multiselect', function(){
- _this.$element.val(preset.options);
- _this.$element.trigger('change');
- });
- });
-
- this.$element.on('change.multiselect', function() {
- _this.updatePresets();
- });
-
- this.updatePresets();
- },
-
- updatePresets: function() {
- var _this = this;
-
- $.each(this.settings.presets, function(i, preset){
- var unique_id = _this.$element.attr('name') + '_preset_' + i;
- var $input = _this.$presets.find('#' + unique_id);
-
- if ( arraysAreEqual(preset.options || [], _this.$element.val() || []) ){
- $input.prop('checked', true);
- } else {
- $input.prop('checked', false);
- }
- });
- },
-
- constructMenuItem: function($option, option_index) {
- var unique_id = this.$element.attr('name') + '_' + option_index;
- var $item = $(this.settings.menuItemHTML)
- .attr({
- 'for': unique_id,
- 'role': 'menuitem'
- })
- .text(' ' + $option.text());
-
- var $input = $('<input>')
- .attr({
- 'type': 'checkbox',
- 'id': unique_id,
- 'value': $option.val()
- })
- .prependTo($item);
-
- if ( $option.is(':disabled') ) {
- $input.attr('disabled', 'disabled');
- }
- if ( $option.is(':selected') ) {
- $input.prop('checked', 'checked');
- }
-
- $input.on('change.multiselect', function() {
- if ($(this).prop('checked')) {
- $option.prop('selected', true);
- } else {
- $option.prop('selected', false);
- }
-
- // .prop() on its own doesn't generate a change event.
- // Other plugins might want to do stuff onChange.
- $option.trigger('change', [true]);
- });
-
- return $item;
- },
-
- setUpBodyClickListener: function() {
- var _this = this;
-
- // Hide the $menu when you click outside of it.
- $('html').on('click.multiselect', function(){
- _this.menuHide();
- });
-
- // Stop click events from inside the $button or $menu from
- // bubbling up to the body and closing the menu!
- this.$container.on('click.multiselect', function(e){
- e.stopPropagation();
- });
- },
-
- setUpLabelsClickListener: function() {
- var _this = this;
- this.$labels.on('click.multiselect', function(e) {
- e.preventDefault();
- e.stopPropagation();
- _this.menuToggle();
- });
- },
-
- menuShow: function() {
- this.$container.addClass(this.settings.activeClass);
- if (this.settings.positionMenuWithin && this.settings.positionMenuWithin instanceof $) {
- var menuLeftEdge = this.$menu.offset().left + this.$menu.outerWidth();
- var withinLeftEdge = this.settings.positionMenuWithin.offset().left +
- this.settings.positionMenuWithin.outerWidth();
-
- if( menuLeftEdge > withinLeftEdge ) {
- this.$menu.css( 'width', (withinLeftEdge - this.$menu.offset().left) );
- this.$container.addClass(this.settings.positionedMenuClass);
- }
- }
- },
-
- menuHide: function() {
- this.$container.removeClass(this.settings.activeClass);
- this.$container.removeClass(this.settings.positionedMenuClass);
- this.$menu.css('width', 'auto');
- },
-
- menuToggle: function() {
- if ( this.$container.hasClass(this.settings.activeClass) ) {
- this.menuHide();
- } else {
- this.menuShow();
- }
- }
-
- });
-
- $.fn[ pluginName ] = function(options) {
- return this.each(function() {
- if ( !$.data(this, "plugin_" + pluginName) ) {
- $.data(this, "plugin_" + pluginName,
- new Plugin(this, options) );
- }
- });
- };
-
-})(jQuery);
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js
index 8cc2e8e2c..31f5f49d8 100644
--- a/web/js/map-OpenLayers.js
+++ b/web/js/map-OpenLayers.js
@@ -1,5 +1,23 @@
var fixmystreet = fixmystreet || {};
+fixmystreet.utils = fixmystreet.utils || {};
+
+$.extend(fixmystreet.utils, {
+ parse_query_string: function() {
+ var qs = {};
+ if (!location.search) {
+ return qs;
+ }
+ location.search.substring(1).split(/[;&]/).forEach(function(i) {
+ var s = i.split('='),
+ k = s[0],
+ v = s[1] && decodeURIComponent(s[1].replace(/\+/g, ' '));
+ qs[k] = v;
+ });
+ return qs;
+ }
+});
+
(function() {
fixmystreet.maps = fixmystreet.maps || {};
@@ -282,7 +300,7 @@ var fixmystreet = fixmystreet || {};
if (!location.search) {
return qs;
}
- location.search.substring(1).split('&').forEach(function(i) {
+ location.search.substring(1).split(/[&;]/).forEach(function(i) {
var s = i.split('='),
k = s[0],
v = s[1] && decodeURIComponent(s[1].replace(/\+/g, ' '));
@@ -301,15 +319,7 @@ var fixmystreet = fixmystreet || {};
return value;
}
- function categories_or_status_changed_history() {
- if (!('pushState' in history)) {
- return;
- }
- var qs = parse_query_string();
- var filter_categories = replace_query_parameter(qs, 'filter_categories', 'filter_category');
- var filter_statuses = replace_query_parameter(qs, 'statuses', 'status');
- var sort_key = replace_query_parameter(qs, 'sort', 'sort');
- delete qs.p;
+ function update_url(qs) {
var new_url;
if ($.isEmptyObject(qs)) {
new_url = location.href.replace(location.search, "");
@@ -318,6 +328,37 @@ var fixmystreet = fixmystreet || {};
} else {
new_url = location.href + '?' + $.param(qs);
}
+ return new_url;
+ }
+
+ function page_changed_history() {
+ if (!('pushState' in history)) {
+ return;
+ }
+ var qs = fixmystreet.utils.parse_query_string();
+
+ var page = $('.pagination').data('page');
+ if (page > 1) {
+ qs.p = page;
+ } else {
+ delete qs.p;
+ }
+ var new_url = update_url(qs);
+ history.pushState({
+ page_change: { 'page': page }
+ }, null, new_url);
+ }
+
+ function categories_or_status_changed_history() {
+ if (!('pushState' in history)) {
+ return;
+ }
+ var qs = fixmystreet.utils.parse_query_string();
+ var filter_categories = replace_query_parameter(qs, 'filter_categories', 'filter_category');
+ var filter_statuses = replace_query_parameter(qs, 'statuses', 'status');
+ var sort_key = replace_query_parameter(qs, 'sort', 'sort');
+ delete qs.p;
+ var new_url = update_url(qs);
history.pushState({
filter_change: { 'filter_categories': filter_categories, 'statuses': filter_statuses, 'sort': sort_key }
}, null, new_url);
@@ -387,7 +428,7 @@ var fixmystreet = fixmystreet || {};
f.geometry = new_geometry;
this.removeAllFeatures();
this.addFeatures([f]);
- var qs = parse_query_string();
+ var qs = fixmystreet.utils.parse_query_string();
if (!qs.bbox) {
zoomToBounds(extent);
}
@@ -482,19 +523,14 @@ var fixmystreet = fixmystreet || {};
if (fixmystreet.page == 'around') {
fixmystreet.bbox_strategy = fixmystreet.bbox_strategy || new OpenLayers.Strategy.FixMyStreet();
pin_layer_options.strategies = [ fixmystreet.bbox_strategy ];
- pin_layer_options.protocol = new OpenLayers.Protocol.FixMyStreet({
- url: '/ajax',
- params: fixmystreet.all_pins ? { all_pins: 1 } : { },
- format: new OpenLayers.Format.FixMyStreet()
- });
}
if (fixmystreet.page == 'reports') {
- pin_layer_options.strategies = [ new OpenLayers.Strategy.FixMyStreetRefreshOnZoom() ];
+ pin_layer_options.strategies = [ new OpenLayers.Strategy.FixMyStreetNoLoad() ];
}
if (fixmystreet.page == 'my') {
pin_layer_options.strategies = [ new OpenLayers.Strategy.FixMyStreetFixed() ];
}
- if (fixmystreet.page == 'reports' || fixmystreet.page == 'my') {
+ if (fixmystreet.page == 'around' || fixmystreet.page == 'reports' || fixmystreet.page == 'my') {
pin_layer_options.protocol = new OpenLayers.Protocol.FixMyStreet({
url: fixmystreet.original.href.split('?')[0] + '?ajax=1',
format: new OpenLayers.Format.FixMyStreet()
@@ -549,9 +585,22 @@ var fixmystreet = fixmystreet || {};
$("#filter_categories").on("change.filters", categories_or_status_changed);
$("#statuses").on("change.filters", categories_or_status_changed);
$("#sort").on("change.filters", categories_or_status_changed);
+ $('.js-pagination').on('change.filters', categories_or_status_changed);
+ $('.js-pagination').on('click', 'a', function(e) {
+ e.preventDefault();
+ var page = $('.pagination').data('page');
+ if ($(this).hasClass('next')) {
+ $('.pagination').data('page', page + 1);
+ } else {
+ $('.pagination').data('page', page - 1);
+ }
+ fixmystreet.markers.protocol.use_page = true;
+ $(this).trigger('change');
+ });
$("#filter_categories").on("change.user", categories_or_status_changed_history);
$("#statuses").on("change.user", categories_or_status_changed_history);
$("#sort").on("change.user", categories_or_status_changed_history);
+ $('.js-pagination').on('click', 'a', page_changed_history);
} else if (fixmystreet.page == 'new') {
drag.activate();
}
@@ -565,49 +614,21 @@ var fixmystreet = fixmystreet || {};
zoomToBounds( fixmystreet.markers.getDataExtent() );
}
- $('#hide_pins_link').click(function(e) {
+ $('#hide_pins_link, .big-hide-pins-link').click(function(e) {
e.preventDefault();
if (this.innerHTML == translation_strings.show_pins) {
fixmystreet.markers.setVisibility(true);
fixmystreet.select_feature.activate();
- this.innerHTML = translation_strings.hide_pins;
+ $('#hide_pins_link, .big-hide-pins-link').html(translation_strings.hide_pins);
} else if (this.innerHTML == translation_strings.hide_pins) {
fixmystreet.markers.setVisibility(false);
fixmystreet.select_feature.deactivate();
- this.innerHTML = translation_strings.show_pins;
+ $('#hide_pins_link, .big-hide-pins-link').html(translation_strings.show_pins);
}
- });
-
- $('#all_pins_link').click(function(e) {
- e.preventDefault();
- fixmystreet.markers.setVisibility(true);
- var texts = [
- 'en', 'Show old', 'Hide old',
- 'nb', 'Vis gamle', 'Skjul gamle',
- 'cy', 'Cynnwys hen adroddiadau', 'Cuddio hen adroddiadau'
- ];
- for (var i=0; i<texts.length; i+=3) {
- if (this.innerHTML == texts[i+1]) {
- this.innerHTML = texts[i+2];
- fixmystreet.markers.protocol.options.params = { all_pins: 1 };
- fixmystreet.markers.refresh( { force: true } );
- lang = texts[i];
- } else if (this.innerHTML == texts[i+2]) {
- this.innerHTML = texts[i+1];
- fixmystreet.markers.protocol.options.params = { };
- fixmystreet.markers.refresh( { force: true } );
- lang = texts[i];
- }
- }
- if (lang == 'cy') {
- document.getElementById('hide_pins_link').innerHTML = 'Cuddio pinnau';
- } else if (lang == 'nb') {
- document.getElementById('hide_pins_link').innerHTML = 'Skjul nåler';
- } else {
- document.getElementById('hide_pins_link').innerHTML = 'Hide pins';
+ if (typeof ga !== 'undefined') {
+ ga('send', 'event', 'toggle-pins-on-map', 'click');
}
});
-
}
$(function(){
@@ -761,6 +782,8 @@ OpenLayers.Control.PermalinkFMSz = OpenLayers.Class(OpenLayers.Control.Permalink
});
OpenLayers.Strategy.FixMyStreet = OpenLayers.Class(OpenLayers.Strategy.BBOX, {
+ // Update when the zoom changes, pagination means there might be new things
+ resFactor: 1.5,
ratio: 1,
// The transform in Strategy.BBOX's getMapBounds could mean you end up with
// co-ordinates too precise, which could then cause the Strategy to think
@@ -787,11 +810,8 @@ OpenLayers.Strategy.FixMyStreet = OpenLayers.Class(OpenLayers.Strategy.BBOX, {
}
});
-/* This strategy will call for updates whenever the zoom changes,
- * unlike the parent which only will if new area is included. It
- * also does not update on load, as we already have the data. */
-OpenLayers.Strategy.FixMyStreetRefreshOnZoom = OpenLayers.Class(OpenLayers.Strategy.FixMyStreet, {
- resFactor: 1.5,
+/* This strategy additionally does not update on load, as we already have the data. */
+OpenLayers.Strategy.FixMyStreetNoLoad = OpenLayers.Class(OpenLayers.Strategy.FixMyStreet, {
activate: function() {
var activated = OpenLayers.Strategy.prototype.activate.call(this);
if (activated) {
@@ -821,12 +841,15 @@ OpenLayers.Strategy.FixMyStreetFixed = OpenLayers.Class(OpenLayers.Strategy.Fixe
});
/* Pan data request handler */
-// This class is used to get a JSON object from /ajax that contains
+// This class is used to get a JSON object from /around?ajax that contains
// pins for the map and HTML for the sidebar. It does a fetch whenever the map
// is dragged (modulo a buffer extending outside the viewport).
// This subclass is required so we can pass the 'filter_category' and 'status' query
-// params to /ajax if the user has filtered the map.
+// params to /around?ajax if the user has filtered the map.
OpenLayers.Protocol.FixMyStreet = OpenLayers.Class(OpenLayers.Protocol.HTTP, {
+ initial_page: null,
+ use_page: false,
+
read: function(options) {
// Show the loading indicator over the map
$('#loading-indicator').removeClass('hidden');
@@ -839,6 +862,16 @@ OpenLayers.Protocol.FixMyStreet = OpenLayers.Class(OpenLayers.Protocol.HTTP, {
options.params[key] = val;
}
});
+ if (this.use_page) {
+ var page = $('.pagination').data('page');
+ this.use_page = false;
+ } else if (this.initial_page) {
+ page = 1;
+ } else {
+ var qs = fixmystreet.utils.parse_query_string();
+ this.initial_page = page = qs.p || 1;
+ }
+ options.params.p = page;
return OpenLayers.Protocol.HTTP.prototype.read.apply(this, [options]);
},
CLASS_NAME: "OpenLayers.Protocol.FixMyStreet"
diff --git a/web/js/map-bing-ol.js b/web/js/map-bing-ol.js
index 3ad92b27e..6662bf91a 100644
--- a/web/js/map-bing-ol.js
+++ b/web/js/map-bing-ol.js
@@ -95,10 +95,10 @@ OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, {
get_urls: function(bounds, z) {
return [
- "//ecn.t0.tiles.virtualearth.net/tiles/r${id}.png?g=3467",
- "//ecn.t1.tiles.virtualearth.net/tiles/r${id}.png?g=3467",
- "//ecn.t2.tiles.virtualearth.net/tiles/r${id}.png?g=3467",
- "//ecn.t3.tiles.virtualearth.net/tiles/r${id}.png?g=3467"
+ "//ecn.t0.tiles.virtualearth.net/tiles/r${id}.png?g=5941",
+ "//ecn.t1.tiles.virtualearth.net/tiles/r${id}.png?g=5941",
+ "//ecn.t2.tiles.virtualearth.net/tiles/r${id}.png?g=5941",
+ "//ecn.t3.tiles.virtualearth.net/tiles/r${id}.png?g=5941"
];
},
diff --git a/web/js/map-fms.js b/web/js/map-fms.js
index 61206a90a..014bd58bb 100644
--- a/web/js/map-fms.js
+++ b/web/js/map-fms.js
@@ -61,10 +61,10 @@ OpenLayers.Layer.BingUK = OpenLayers.Class(OpenLayers.Layer.Bing, {
type = '&productSet=mmOS&key=' + fixmystreet.key;
}
urls = [
- "//ecn.t0.tiles.virtualearth.net/tiles/r${id}.png?g=3467" + type,
- "//ecn.t1.tiles.virtualearth.net/tiles/r${id}.png?g=3467" + type,
- "//ecn.t2.tiles.virtualearth.net/tiles/r${id}.png?g=3467" + type,
- "//ecn.t3.tiles.virtualearth.net/tiles/r${id}.png?g=3467" + type
+ "//ecn.t0.tiles.virtualearth.net/tiles/r${id}.png?g=5941" + type,
+ "//ecn.t1.tiles.virtualearth.net/tiles/r${id}.png?g=5941" + type,
+ "//ecn.t2.tiles.virtualearth.net/tiles/r${id}.png?g=5941" + type,
+ "//ecn.t3.tiles.virtualearth.net/tiles/r${id}.png?g=5941" + type
];
}
return urls;
diff --git a/web/js/map-google.js b/web/js/map-google.js
index 596e4f8ee..75a1b25a1 100644
--- a/web/js/map-google.js
+++ b/web/js/map-google.js
@@ -127,12 +127,10 @@ fixmystreet.maps = {};
b_ne = b.getNorthEast(),
bbox = b_sw.lng() + ',' + b_sw.lat() + ',' + b_ne.lng() + ',' + b_ne.lat(),
params = {
+ ajax: 1,
bbox: bbox
};
- if (fixmystreet.all_pins) {
- params.all_pins = 1;
- }
- $.getJSON('/ajax', params, read_pin_json);
+ $.getJSON('/around', params, read_pin_json);
}
function map_initialize() {
@@ -208,55 +206,24 @@ fixmystreet.maps = {};
}
*/
- $('#hide_pins_link').click(function(e) {
+ $('#hide_pins_link, .big-hide-pins-link').click(function(e) {
var i, m;
e.preventDefault();
if (this.innerHTML == translation_strings.show_pins) {
for (m=0; m<fixmystreet.markers.length; m++) {
fixmystreet.markers[m].setMap(fixmystreet.map);
}
- this.innerHTML = translation_strings.hide_pins;
+ $('#hide_pins_link, .big-hide-pins-link').html(translation_strings.hide_pins);
} else if (this.innerHTML == translation_strings.hide_pins) {
for (m=0; m<fixmystreet.markers.length; m++) {
fixmystreet.markers[m].setMap(null);
}
- this.innerHTML = translation_strings.show_pins;
- }
- });
-
- $('#all_pins_link').click(function(e) {
- var i;
- e.preventDefault();
- for (i=0; i<fixmystreet.markers.length; i++) {
- fixmystreet.markers[i].setMap(fixmystreet.map);
- }
- var texts = [
- 'en', 'Show old', 'Hide old',
- 'nb', 'Inkluder utdaterte problemer', 'Skjul utdaterte rapporter',
- 'cy', 'Cynnwys hen adroddiadau', 'Cuddio hen adroddiadau'
- ];
- for (i=0; i<texts.length; i+=3) {
- if (this.innerHTML == texts[i+1]) {
- this.innerHTML = texts[i+2];
- fixmystreet.markers.protocol.options.params = { all_pins: 1 };
- fixmystreet.markers.refresh( { force: true } );
- lang = texts[i];
- } else if (this.innerHTML == texts[i+2]) {
- this.innerHTML = texts[i+1];
- fixmystreet.markers.protocol.options.params = { };
- fixmystreet.markers.refresh( { force: true } );
- lang = texts[i];
- }
+ $('#hide_pins_link, .big-hide-pins-link').html(translation_strings.show_pins);
}
- if (lang == 'cy') {
- document.getElementById('hide_pins_link').innerHTML = 'Cuddio pinnau';
- } else if (lang == 'nb') {
- document.getElementById('hide_pins_link').innerHTML = 'Gjem nåler';
- } else {
- document.getElementById('hide_pins_link').innerHTML = 'Hide pins';
+ if (typeof ga !== 'undefined') {
+ ga('send', 'event', 'toggle-pins-on-map', 'click');
}
});
-
}
google.maps.visualRefresh = true;
diff --git a/web/js/map-wmts-bristol.js b/web/js/map-wmts-bristol.js
index 4a48da27f..35f5ed0d6 100644
--- a/web/js/map-wmts-bristol.js
+++ b/web/js/map-wmts-bristol.js
@@ -14,7 +14,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "0",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 181428.9342864172,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 432,
@@ -24,7 +23,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "1",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 90714.4671432086,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 863,
@@ -34,7 +32,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "2",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 45357.2335716043,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 1725,
@@ -44,7 +41,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "3",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 22678.61678580215,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 3449,
@@ -54,7 +50,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "4",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 11339.308392901075,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 6898,
@@ -64,7 +59,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "5",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 5669.654196450538,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 13795,
@@ -74,7 +68,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "6",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 2834.827098225269,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 27590,
@@ -84,7 +77,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "7",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 1181.177957593862,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 66215,
@@ -94,7 +86,6 @@ fixmystreet.maps.matrix_ids = [
"identifier": "8",
"supportedCRS": "urn:ogc:def:crs:EPSG::27700",
"scaleDenominator": 708.7067745563172,
- "topLeftCorner": { "lat": 4470200, "lon": -5220400 },
"tileWidth": 256,
"tileHeight": 256,
"matrixWidth": 110359,
diff --git a/web/js/map-wmts-zurich.js b/web/js/map-wmts-zurich.js
index 6bc1c5e14..0a753e831 100644
--- a/web/js/map-wmts-zurich.js
+++ b/web/js/map-wmts-zurich.js
@@ -4,10 +4,10 @@
// From 'fullExtent' from http://www.gis.stadt-zuerich.ch/maps/rest/services/tiled95/LuftbildHybrid/MapServer?f=pjson
fixmystreet.maps.layer_bounds = new OpenLayers.Bounds(
- 2676000.9069999997, // W
- 1241399.842, // S
- 2689900.9069999997, // E
- 1254599.842); // N
+ 2674687.5, // W
+ 1240500, // S
+ 2690000, // E
+ 1255500); // N
fixmystreet.maps.matrix_ids = [
// The two highest zoom levels are pretty much useless so they're disabled.
diff --git a/web/vendor/chart.min.js b/web/vendor/chart.min.js
index 899fbaf48..a92f536e6 100644
--- a/web/vendor/chart.min.js
+++ b/web/vendor/chart.min.js
@@ -1,79 +1,11 @@
-Chart=function(){return function p(m,n,g){function l(a,c){if(!n[a]){if(!m[a]){var e="function"==typeof require&&require;if(!c&&e)return e(a,!0);if(f)return f(a,!0);e=Error("Cannot find module '"+a+"'");throw e.code="MODULE_NOT_FOUND",e;}e=n[a]={exports:{}};m[a][0].call(e.exports,function(e){var c=m[a][1][e];return l(c?c:e)},e,e.exports,p,m,n,g)}return n[a].exports}for(var f="function"==typeof require&&require,b=0;b<g.length;b++)l(g[b]);return l}({7:[function(p,m,n){n=p(28)();p(26)(n);p(40)(n);p(22)(n);
-p(25)(n);p(23)(n);p(24)(n);p(29)(n);p(32)(n);p(33)(n);p(31)(n);p(36)(n);p(37)(n);p(46)(n);p(44)(n);p(45)(n);p(18)(n);m.exports=n;window.Chart=n},{18:18,22:22,23:23,24:24,25:25,26:26,28:28,29:29,31:31,32:32,33:33,36:36,37:37,40:40,44:44,45:45,46:46}],18:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.defaults.line={showLines:!0,spanGaps:!1,scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}};g.controllers.line=g.DatasetController.extend({datasetElementType:g.elements.Line,
-dataElementType:g.elements.Point,update:function(f){var b=this.getMeta(),a=b.dataset,c=b.data||[],e=this.chart.options,d=e.elements.line,k=this.getScaleForId(b.yAxisID),h=this.getDataset();if(b=l.getValueOrDefault(h.showLine,e.showLines))a._scale=k,a._datasetIndex=this.index,a._children=c,a._model={spanGaps:h.spanGaps?h.spanGaps:e.spanGaps,tension:l.getValueOrDefault(h.lineTension,d.tension),backgroundColor:h.backgroundColor||d.backgroundColor,borderWidth:h.borderWidth||d.borderWidth,borderColor:h.borderColor||
-d.borderColor,borderCapStyle:h.borderCapStyle||d.borderCapStyle,borderDash:h.borderDash||d.borderDash,borderDashOffset:h.borderDashOffset||d.borderDashOffset,borderJoinStyle:h.borderJoinStyle||d.borderJoinStyle,steppedLine:l.getValueOrDefault(h.steppedLine,d.stepped)},a.pivot();e=0;for(d=c.length;e<d;++e)this.updateElement(c[e],e,f);b&&0!==a._model.tension&&this.updateBezierControlPoints();e=0;for(d=c.length;e<d;++e)c[e].pivot()},updateElement:function(f,b,a){var c=this.getMeta(),e=this.getDataset(),
-d=this.index,k=e.data[b],h=this.getScaleForId(c.yAxisID),V=this.getScaleForId(c.xAxisID),g=this.chart.options.elements.point,q;q=V.getPixelForValue("object"===typeof k?k:NaN,b,d,1===(this.chart.data.labels||[]).length||1===e.data.length||this.chart.isCombo);a=a?h.getBasePixel():this.calculatePointY(k,b,d);f._xScale=V;f._yScale=h;f._datasetIndex=d;f._index=b;f._model={x:q,y:a,skip:isNaN(q)||isNaN(a),radius:l.getValueAtIndexOrDefault(e.pointRadius,b,g.radius),pointStyle:l.getValueAtIndexOrDefault(e.pointStyle,
-b,g.pointStyle),backgroundColor:e.pointBackgroundColor,borderColor:e.borderColor,borderWidth:e.pointBorderWidth,tension:c.dataset._model?c.dataset._model.tension:0,steppedLine:c.dataset._model?c.dataset._model.steppedLine:!1}},calculatePointY:function(f,b,a){b=this.getMeta();return this.getScaleForId(b.yAxisID).getPixelForValue(f)},updateBezierControlPoints:function(){var f=this.getMeta(),b=this.chart.chartArea,a=f.data||[],c,e,d,k;f.dataset._model.spanGaps&&(a=a.filter(function(a){return!a._model.skip}));
-c=0;for(e=a.length;c<e;++c)d=a[c],d=d._model,k=l.splineCurve(l.previousItem(a,c)._model,d,l.nextItem(a,c)._model,f.dataset._model.tension),d.controlPointPreviousX=k.previous.x,d.controlPointPreviousY=k.previous.y,d.controlPointNextX=k.next.x,d.controlPointNextY=k.next.y;if(this.chart.options.elements.line.capBezierPoints)for(c=0,e=a.length;c<e;++c)d=a[c]._model,d.controlPointPreviousX=Math.max(Math.min(d.controlPointPreviousX,b.right),b.left),d.controlPointPreviousY=Math.max(Math.min(d.controlPointPreviousY,
-b.bottom),b.top),d.controlPointNextX=Math.max(Math.min(d.controlPointNextX,b.right),b.left),d.controlPointNextY=Math.max(Math.min(d.controlPointNextY,b.bottom),b.top)},draw:function(){var f=this.chart,b=this.getMeta(),a=b.data||[],c=f.chartArea,e=a.length,d=0;g.canvasHelpers.clipArea(f.ctx,c);var k=this.getDataset();l.getValueOrDefault(k.showLine,f.options.showLines)&&b.dataset.draw();for(g.canvasHelpers.unclipArea(f.ctx);d<e;++d)a[d].draw(c)}})}},{}],22:[function(p,m,n){m.exports=function(g){var l=
-g.canvasHelpers={};l.drawPoint=function(f,b,a,c,e){isNaN(a)||0>=a||(f.beginPath(),f.arc(c,e,a,0,2*Math.PI),f.closePath(),f.fill(),f.stroke())};l.clipArea=function(f,b){f.save();f.beginPath();f.rect(b.left,b.top,b.right-b.left,b.bottom-b.top);f.clip()};l.unclipArea=function(f){f.restore()};l.lineTo=function(f,b,a,c){a.steppedLine?("after"===a.steppedLine?f.lineTo(b.x,a.y):f.lineTo(a.x,b.y),f.lineTo(a.x,a.y)):a.tension?f.bezierCurveTo(c?b.controlPointPreviousX:b.controlPointNextX,c?b.controlPointPreviousY:
-b.controlPointNextY,c?a.controlPointNextX:a.controlPointPreviousX,c?a.controlPointNextY:a.controlPointPreviousY,a.x,a.y):f.lineTo(a.x,a.y)};g.helpers.canvas=l}},{}],23:[function(p,m,n){m.exports=function(g){function l(e){e=e||{};var c=e.data=e.data||{};c.datasets=c.datasets||[];c.labels=c.labels||[];e.options=a.configMerge(g.defaults.global,g.defaults[e.type],e.options||{});return e}function f(a){var c=a.options;c.scale?a.scale.options=c.scale:c.scales&&c.scales.xAxes.concat(c.scales.yAxes).forEach(function(c){a.scales[c.id].options=
-c})}function b(a){return"top"===a||"bottom"===a}var a=g.helpers,c=g.platform;g.types={};g.instances={};g.controllers={};a.extend(g.prototype,{construct:function(e,d){var b=this;d=l(d);var h=c.acquireContext(e,d),f=h&&h.canvas,N=f&&f.height,q=f&&f.width;b.id=a.uid();b.ctx=h;b.canvas=f;b.config=d;b.width=q;b.height=N;b.aspectRatio=N?q/N:null;b.options=d.options;b._bufferedRender=!1;b.chart=b;b.controller=b;g.instances[b.id]=b;Object.defineProperty(b,"data",{get:function(){return b.config.data},set:function(a){b.config.data=
-a}});h&&f?(b.initialize(),b.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){a.retinaScale(this);this.bindEvents();this.resize(!0);this.ensureScalesHaveIDs();this.buildScales();return this},clear:function(){a.clear(this);return this},resize:function(c){var b=this.canvas,k=this.options.maintainAspectRatio&&this.aspectRatio||null,h=Math.floor(a.getMaximumWidth(b)),k=Math.floor(k?h/k:a.getMaximumHeight(b));if(this.width!==h||this.height!==
-k)if(b.width=this.width=h,b.height=this.height=k,b.style.width=h+"px",b.style.height=k+"px",a.retinaScale(this),!c){c={width:h,height:k};if(this.options.onResize)this.options.onResize(this,c);this.update(0)}},ensureScalesHaveIDs:function(){var c=this.options,b=c.scales||{},c=c.scale;a.each(b.xAxes,function(a,c){a.id=a.id||"x-axis-"+c});a.each(b.yAxes,function(a,c){a.id=a.id||"y-axis-"+c});c&&(c.id=c.id||"scale")},buildScales:function(){var c=this,d=c.options,k=c.scales={},h=[];d.scales&&(h=h.concat((d.scales.xAxes||
-[]).map(function(a){return{options:a,dtype:"category",dposition:"bottom"}}),(d.scales.yAxes||[]).map(function(a){return{options:a,dtype:"linear",dposition:"left"}})));d.scale&&h.push({options:d.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"});a.each(h,function(d){var h=d.options,f=a.getValueOrDefault(h.type,d.dtype);if(f=g.scaleService.getScaleConstructor(f))b(h.position)!==b(d.dposition)&&(h.position=d.dposition),h=new f({id:h.id,options:h,ctx:c.ctx,chart:c}),k[h.id]=h,d.isDefault&&
-(c.scale=h)});g.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var c=this,b=[],k=[];a.each(c.data.datasets,function(a,h){var f=c.getDatasetMeta(h);f.type||(f.type=a.type||c.config.type);b.push(f.type);if(f.controller)f.controller.updateIndex(h);else{var l=g.controllers[f.type];if(void 0===l)throw Error('"'+f.type+'" is not a chart type.');f.controller=new l(c,h);k.push(f.controller)}},c);if(1<b.length)for(var h=1;h<b.length;h++)if(b[h]!==b[h-1]){c.isCombo=!0;break}return k},
-update:function(c,b){var k=this;f(k);var h=k.buildOrUpdateControllers();a.each(k.data.datasets,function(a,c){k.getDatasetMeta(c).controller.buildOrUpdateElements()},k);k.updateLayout();a.each(h,function(a){a.reset()});k.updateDatasets();k._bufferedRender?k._bufferedRequest={lazy:b,duration:c}:k.render(c,b)},updateLayout:function(){g.layoutService.update(this,this.width,this.height)},updateDatasets:function(){for(var a=0,c=this.data.datasets.length;a<c;++a)this.updateDataset(a)},updateDataset:function(a){this.getDatasetMeta(a).controller.update()},
-render:function(c,b){var k=this.options.animation;this.draw();a.callback(k&&k.onComplete,[void 0],this);return this},draw:function(){var c=this;c.clear();c.transition();a.each(c.boxes,function(a){a.draw(c.chartArea)},c);c.scale&&c.scale.draw();c.drawDatasets()},transition:function(){for(var a=0,c=(this.data.datasets||[]).length;a<c;++a)this.isDatasetVisible(a)&&this.getDatasetMeta(a).controller.transition()},drawDatasets:function(){for(var a=(this.data.datasets||[]).length-1;0<=a;--a)this.isDatasetVisible(a)&&
-this.drawDataset(a)},drawDataset:function(a){this.getDatasetMeta(a).controller.draw()},getDatasetMeta:function(a){a=this.data.datasets[a];a._meta||(a._meta={});var c=a._meta[this.id];c||(c=a._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null});return c},getVisibleDatasetCount:function(){for(var a=0,c=0,b=this.data.datasets.length;c<b;++c)this.isDatasetVisible(c)&&a++;return a},isDatasetVisible:function(a){var c=this.getDatasetMeta(a);return"boolean"===
-typeof c.hidden?!c.hidden:!this.data.datasets[a].hidden},bindEvents:function(){var a=this,b=a._listeners={},k=function(){a.resize()};c.addEventListener(a,"resize",k);b.resize=k}});g.Controller=g}},{}],24:[function(p,m,n){m.exports=function(g){function l(c,e){c._chartjs?c._chartjs.listeners.push(e):(Object.defineProperty(c,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),a.forEach(function(a){var e="onData"+a.charAt(0).toUpperCase()+a.slice(1),h=c[a];Object.defineProperty(c,a,{configurable:!0,
-enumerable:!1,value:function(){var a=Array.prototype.slice.call(arguments),d=h.apply(this,a);b.each(c._chartjs.listeners,function(c){"function"===typeof c[e]&&c[e].apply(c,a)});return d}})}))}function f(c,b){var d=c._chartjs;if(d){var d=d.listeners,k=d.indexOf(b);-1!==k&&d.splice(k,1);0<d.length||(a.forEach(function(a){delete c[a]}),delete c._chartjs)}}var b=g.helpers,a=["push","pop","shift","splice","unshift"];g.DatasetController=function(a,b){this.initialize(a,b)};b.extend(g.DatasetController.prototype,
-{datasetElementType:null,dataElementType:null,initialize:function(a,b){this.chart=a;this.index=b;this.linkScales();this.addElements()},updateIndex:function(a){this.index=a},linkScales:function(){var a=this.getMeta(),b=this.getDataset();null===a.xAxisID&&(a.xAxisID=b.xAxisID||this.chart.options.scales.xAxes[0].id);null===a.yAxisID&&(a.yAxisID=b.yAxisID||this.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},
-getScaleForId:function(a){return this.chart.scales[a]},reset:function(){this.update(!0)},createMetaDataset:function(){var a=this.datasetElementType;return a&&new a({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(a){var b=this.dataElementType;return b&&new b({_chart:this.chart,_datasetIndex:this.index,_index:a})},addElements:function(){var a=this.getMeta(),b=this.getDataset().data||[],d=a.data,k;k=0;for(b=b.length;k<b;++k)d[k]=d[k]||this.createMetaData(k);a.dataset=a.dataset||
-this.createMetaDataset()},addElementAndReset:function(a){var b=this.createMetaData(a);this.getMeta().data.splice(a,0,b);this.updateElement(b,a,!0)},buildOrUpdateElements:function(){var a=this.getDataset(),a=a.data||(a.data=[]);this._data!==a&&(this._data&&f(this._data,this),l(a,this),this._data=a);this.resyncElements()},update:b.noop,transition:function(){for(var a=this.getMeta(),b=a.data||[],d=b.length,k=0;k<d;++k)b[k].transition();a.dataset&&a.dataset.transition()},draw:function(){var a=this.getMeta(),
-b=a.data||[],d=b.length,k=0;for(a.dataset&&a.dataset.draw();k<d;++k)b[k].draw()},resyncElements:function(){var a=this.getMeta(),b=this.getDataset().data,d=a.data.length,b=b.length;b<d?a.data.splice(b,d-b):b>d&&this.insertElements(d,b-d)},insertElements:function(a,b){for(var d=0;d<b;++d)this.addElementAndReset(a+d)},onDataPush:function(){this.insertElements(this.getDataset().data.length-1,arguments.length)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},
-onDataSplice:function(a,b){this.getMeta().data.splice(a,b);this.insertElements(a,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}});g.DatasetController.extend=b.inherits}},{}],25:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.elements={};g.Element=function(f){l.extend(this,f);this.initialize.apply(this,arguments)};l.extend(g.Element.prototype,{initialize:function(){this.hidden=!1},pivot:function(){this._view||(this._view=l.clone(this._model));this._start=
-{};return this},transition:function(){this._view=this._model;this._start=null;return this},hasValue:function(){return l.isNumber(this._model.x)&&l.isNumber(this._model.y)}});g.Element.extend=l.inherits}},{}],26:[function(p,m,n){m.exports=function(g){function l(a,c,b){var d;"string"===typeof a?(d=parseInt(a,10),-1!==a.indexOf("%")&&(d=d/100*c.parentNode[b])):d=a;return d}function f(a,c,b){var d=document.defaultView,k=a.parentNode,h=d.getComputedStyle(a)[c];c=d.getComputedStyle(k)[c];var d=void 0!==
-h&&null!==h&&"none"!==h,f=void 0!==c&&null!==c&&"none"!==c,g=Number.POSITIVE_INFINITY;return d||f?Math.min(d?l(h,a,b):g,f?l(c,k,b):g):"none"}var b=g.helpers={};b.each=function(a,c,e,d){var k;if(b.isArray(a))if(k=a.length,d)for(d=k-1;0<=d;d--)c.call(e,a[d],d);else for(d=0;d<k;d++)c.call(e,a[d],d);else if("object"===typeof a){var h=Object.keys(a);k=h.length;for(d=0;d<k;d++)c.call(e,a[h[d]],h[d])}};b.clone=function(a){var c={};b.each(a,function(a,d){b.isArray(a)?c[d]=a.slice(0):c[d]="object"===typeof a&&
-null!==a?b.clone(a):a});return c};b.extend=function(a){for(var c=function(c,b){a[b]=c},e=1,d=arguments.length;e<d;e++)b.each(arguments[e],c);return a};b.configMerge=function(a){var c=b.clone(a);b.each(Array.prototype.slice.call(arguments,1),function(a){b.each(a,function(a,e){var h=c.hasOwnProperty(e),f=h?c[e]:{};"scales"===e?c[e]=b.scaleMerge(f,a):"scale"===e?c[e]=b.configMerge(f,g.scaleService.getScaleDefaults(a.type),a):!h||"object"!==typeof f||b.isArray(f)||null===f||"object"!==typeof a||b.isArray(a)?
-c[e]=a:c[e]=b.configMerge(f,a)})});return c};b.scaleMerge=function(a,c){var e=b.clone(a);b.each(c,function(a,c){"xAxes"===c||"yAxes"===c?e.hasOwnProperty(c)?b.each(a,function(a,d){var f=b.getValueOrDefault(a.type,"xAxes"===c?"category":"linear"),f=g.scaleService.getScaleDefaults(f);d>=e[c].length||!e[c][d].type?e[c].push(b.configMerge(f,a)):e[c][d]=a.type&&a.type!==e[c][d].type?b.configMerge(e[c][d],f,a):b.configMerge(e[c][d],a)}):(e[c]=[],b.each(a,function(a){var d=b.getValueOrDefault(a.type,"xAxes"===
-c?"category":"linear");e[c].push(b.configMerge(g.scaleService.getScaleDefaults(d),a))})):e.hasOwnProperty(c)&&"object"===typeof e[c]&&null!==e[c]&&"object"===typeof a?e[c]=b.configMerge(e[c],a):e[c]=a});return e};b.getValueAtIndexOrDefault=function(a,c,e){return void 0===a||null===a?e:b.isArray(a)?c<a.length?a[c]:e:a};b.getValueOrDefault=function(a,c){return void 0===a?c:a};b.indexOf=Array.prototype.indexOf?function(a,c){return a.indexOf(c)}:function(a,c){for(var b=0,d=a.length;b<d;++b)if(a[b]===
-c)return b;return-1};b.where=function(a,c){if(b.isArray(a)&&Array.prototype.filter)return a.filter(c);var e=[];b.each(a,function(a){c(a)&&e.push(a)});return e};b.findIndex=Array.prototype.findIndex?function(a,c,b){return a.findIndex(c,b)}:function(a,c,b){b=void 0===b?a:b;for(var d=0,k=a.length;d<k;++d)if(c.call(b,a[d],d,a))return d;return-1};b.findNextWhere=function(a,c,b){if(void 0===b||null===b)b=-1;for(b+=1;b<a.length;b++){var d=a[b];if(c(d))return d}};b.findPreviousWhere=function(a,c,b){if(void 0===
-b||null===b)b=a.length;for(--b;0<=b;b--){var d=a[b];if(c(d))return d}};b.inherits=function(a){var c=this,e=a&&a.hasOwnProperty("constructor")?a.constructor:function(){return c.apply(this,arguments)},d=function(){this.constructor=e};d.prototype=c.prototype;e.prototype=new d;e.extend=b.inherits;a&&b.extend(e.prototype,a);e.__super__=c.prototype;return e};b.noop=function(){};b.uid=function(){var a=0;return function(){return a++}}();b.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)};b.almostEquals=
-function(a,c,b){return Math.abs(a-c)<b};b.almostWhole=function(a,c){var b=Math.round(a);return b-c<a&&b+c>a};b.max=function(a){return a.reduce(function(a,b){return isNaN(b)?a:Math.max(a,b)},Number.NEGATIVE_INFINITY)};b.min=function(a){return a.reduce(function(a,b){return isNaN(b)?a:Math.min(a,b)},Number.POSITIVE_INFINITY)};b.sign=Math.sign?function(a){return Math.sign(a)}:function(a){a=+a;return 0===a||isNaN(a)?a:0<a?1:-1};b.log10=Math.log10?function(a){return Math.log10(a)}:function(a){return Math.log(a)/
-Math.LN10};b.toRadians=function(a){return Math.PI/180*a};b.aliasPixel=function(a){return 0===a%2?0:.5};b.splineCurve=function(a,c,b,d){a=a.skip?c:a;b=b.skip?c:b;var k=Math.sqrt(Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2)),f=Math.sqrt(Math.pow(b.x-c.x,2)+Math.pow(b.y-c.y,2)),g=k/(k+f),k=f/(k+f),g=isNaN(g)?0:g,k=isNaN(k)?0:k,g=d*g;d*=k;return{previous:{x:c.x-g*(b.x-a.x),y:c.y-g*(b.y-a.y)},next:{x:c.x+d*(b.x-a.x),y:c.y+d*(b.y-a.y)}}};b.nextItem=function(a,c,b){return b?c>=a.length-1?a[0]:a[c+1]:c>=a.length-
-1?a[a.length-1]:a[c+1]};b.previousItem=function(a,b,e){return e?0>=b?a[a.length-1]:a[b-1]:0>=b?a[0]:a[b-1]};b.niceNum=function(a,c){var e=Math.floor(b.log10(a)),d=a/Math.pow(10,e);return(c?1.5>d?1:3>d?2:7>d?5:10:1>=d?1:2>=d?2:5>=d?5:10)*Math.pow(10,e)};b.requestAnimFrame=function(){return"undefined"===typeof window?function(a){a()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,
-1E3/60)}}();b.addEvent=function(a,b,e){a.addEventListener?a.addEventListener(b,e):a.attachEvent?a.attachEvent("on"+b,e):a["on"+b]=e};b.getConstraintWidth=function(a){return f(a,"max-width","clientWidth")};b.getConstraintHeight=function(a){return f(a,"max-height","clientHeight")};b.getMaximumWidth=function(a){var c=a.parentNode,e=parseInt(b.getStyle(c,"padding-left"),10),d=parseInt(b.getStyle(c,"padding-right"),10),c=c.clientWidth-e-d;a=b.getConstraintWidth(a);return isNaN(a)?c:Math.min(c,a)};b.getMaximumHeight=
-function(a){var c=a.parentNode,e=parseInt(b.getStyle(c,"padding-top"),10),d=parseInt(b.getStyle(c,"padding-bottom"),10),c=c.clientHeight-e-d;a=b.getConstraintHeight(a);return isNaN(a)?c:Math.min(c,a)};b.getStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:document.defaultView.getComputedStyle(a,null).getPropertyValue(b)};b.retinaScale=function(a){var b=a.currentDevicePixelRatio=window.devicePixelRatio||1;if(1!==b){var e=a.canvas,d=a.height,f=a.width;e.height=d*b;e.width=f*b;a.ctx.scale(b,
-b);e.style.height=d+"px";e.style.width=f+"px"}};b.clear=function(a){a.ctx.clearRect(0,0,a.width,a.height)};b.fontString=function(a,b,e){return b+" "+a+"px "+e};b.longestText=function(a,c,e,d){d=d||{};var f=d.data=d.data||{},h=d.garbageCollect=d.garbageCollect||[];d.font!==c&&(f=d.data={},h=d.garbageCollect=[],d.font=c);a.font=c;var g=0;b.each(e,function(c){void 0!==c&&null!==c&&!0!==b.isArray(c)?g=b.measureText(a,f,h,g,c):b.isArray(c)&&b.each(c,function(c){void 0===c||null===c||b.isArray(c)||(g=b.measureText(a,
-f,h,g,c))})});c=h.length/2;if(c>e.length){for(e=0;e<c;e++)delete f[h[e]];h.splice(0,c)}return g};b.measureText=function(a,b,e,d,f){var h=b[f];h||(h=b[f]=a.measureText(f).width,e.push(f));h>d&&(d=h);return d};b.numberOfLabelLines=function(a){var c=1;b.each(a,function(a){b.isArray(a)&&a.length>c&&(c=a.length)});return c};b.isArray=Array.isArray?function(a){return Array.isArray(a)}:function(a){return"[object Array]"===Object.prototype.toString.call(a)};b.arrayEquals=function(a,c){var e,d,f,h;if(!a||
-!c||a.length!==c.length)return!1;e=0;for(d=a.length;e<d;++e)if(f=a[e],h=c[e],f instanceof Array&&h instanceof Array){if(!b.arrayEquals(f,h))return!1}else if(f!==h)return!1;return!0};b.callback=function(a,b,e){a&&"function"===typeof a.call&&a.apply(e,b)};b.callCallback=b.callback}},{}],28:[function(p,m,n){m.exports=function(){var g=function(g,f){this.construct(g,f);return this};g.defaults={global:{maintainAspectRatio:!0,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
-defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{}}};return g.Chart=g}},{}],29:[function(p,m,n){m.exports=function(g){function l(a,c){return b.where(a,function(a){return a.position===c})}function f(a,b){a.forEach(function(a,b){a._tmpIndex_=b;return a});a.sort(function(a,d){var f=b?d:a,h=b?a:d;return f.weight===h.weight?f._tmpIndex_-h._tmpIndex_:f.weight-h.weight});a.forEach(function(a){delete a._tmpIndex_})}var b=g.helpers;g.layoutService={defaults:{},addBox:function(a,b){a.boxes||
-(a.boxes=[]);b.fullWidth=b.fullWidth||!1;b.position=b.position||"top";b.weight=b.weight||0;a.boxes.push(b)},removeBox:function(a,b){var e=a.boxes?a.boxes.indexOf(b):-1;-1!==e&&a.boxes.splice(e,1)},configure:function(a,b,e){a=["fullWidth","position","weight"];for(var d=a.length,f=0,h;f<d;++f)h=a[f],e.hasOwnProperty(h)&&(b[h]=e[h])},update:function(a,c,e){function d(a){var b,c=a.isHorizontal();c?(b=a.update(a.fullWidth?z:B,Q),D-=b.height):(b=a.update(R,J),B-=b.width);S.push({horizontal:c,minSize:b,
-box:a})}function k(a){var c=b.findNextWhere(S,function(b){return b.box===a});c&&(a.isHorizontal()?a.update(a.fullWidth?z:B,I/2,{left:Math.max(r,K),right:Math.max(y,L),top:0,bottom:0}):a.update(c.minSize.width,D))}function h(a){var c=b.findNextWhere(S,function(b){return b.box===a}),d={left:0,right:0,top:v,bottom:E};c&&a.update(c.minSize.width,D,d)}function g(a){a.isHorizontal()?(a.left=a.fullWidth?n:r,a.right=a.fullWidth?c-p:r+B,a.top=A,a.bottom=A+a.height,A=a.bottom):(a.left=F,a.right=F+a.width,a.top=
-v,a.bottom=v+D,F=a.right)}if(a){var m=a.options.layout,q=m?m.padding:null,n=0,p=0,t=m=0;isNaN(q)?(n=q.left||0,p=q.right||0,m=q.top||0,t=q.bottom||0):t=m=p=n=q;var q=l(a.boxes,"left"),w=l(a.boxes,"right"),x=l(a.boxes,"top"),u=l(a.boxes,"bottom"),M=l(a.boxes,"chartArea");f(q,!0);f(w,!1);f(x,!0);f(u,!1);var z=c-n-p,I=e-m-t,J=I/2,R=(c-z/2)/(q.length+w.length),Q=(e-J)/(x.length+u.length),B=z,D=I,S=[];b.each(q.concat(w,x,u),d);var K=0,L=0,T=0,U=0;b.each(x.concat(u),function(a){a.getPadding&&(a=a.getPadding(),
-K=Math.max(K,a.left),L=Math.max(L,a.right))});b.each(q.concat(w),function(a){a.getPadding&&(a=a.getPadding(),T=Math.max(T,a.top),U=Math.max(U,a.bottom))});var r=n,y=p,v=m,E=t;b.each(q.concat(w),k);b.each(q,function(a){r+=a.width});b.each(w,function(a){y+=a.width});b.each(x.concat(u),k);b.each(x,function(a){v+=a.height});b.each(u,function(a){E+=a.height});b.each(q.concat(w),h);r=n;y=p;v=m;E=t;b.each(q,function(a){r+=a.width});b.each(w,function(a){y+=a.width});b.each(x,function(a){v+=a.height});b.each(u,
-function(a){E+=a.height});var t=Math.max(K-r,0),r=r+t,y=y+Math.max(L-y,0),X=Math.max(T-v,0),v=v+X,E=E+Math.max(U-E,0),G=e-v-E,H=c-r-y;if(H!==B||G!==D)b.each(q,function(a){a.height=G}),b.each(w,function(a){a.height=G}),b.each(x,function(a){a.fullWidth||(a.width=H)}),b.each(u,function(a){a.fullWidth||(a.width=H)}),D=G,B=H;var F=n+t,A=m+X;b.each(q.concat(x),g);F+=B;A+=D;b.each(w,g);b.each(u,g);a.chartArea={left:r,top:v,right:r+B,bottom:v+D};b.each(M,function(b){b.left=a.chartArea.left;b.top=a.chartArea.top;
-b.right=a.chartArea.right;b.bottom=a.chartArea.bottom;b.update(B,D)})}}}}},{}],31:[function(p,m,n){m.exports=function(g){function l(a,c,e){return b.isArray(c)?b.longestText(a,e,c):a.measureText(c).width}function f(a){var c=g.defaults.global;a=c.defaultFontSize;var e=c.defaultFontStyle,c=c.defaultFontFamily;return{size:a,style:e,family:c,font:b.fontString(a,e,c)}}var b=g.helpers;g.defaults.scale={display:!0,position:"left",gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawOnChartArea:!0,
-drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},ticks:{minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:g.Ticks.formatters.values}};g.Scale=g.Element.extend({getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},
-update:function(a,c,e){this.maxWidth=a;this.maxHeight=c;this.margins=b.extend({left:0,right:0,top:0,bottom:0},e);this.longestTextCache=this.longestTextCache||{};this.setDimensions();this.determineDataLimits();this.buildTicks();this.convertTicksToLabels();this.calculateTickRotation();this.fit();return this.minSize},setDimensions:function(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height);this.paddingBottom=
-this.paddingRight=this.paddingTop=this.paddingLeft=0},determineDataLimits:b.noop,buildTicks:b.noop,convertTicksToLabels:function(){var a=this.options.ticks;this.ticks=this.ticks.map(a.userCallback||a.callback)},calculateTickRotation:function(){var a=this.ctx,c=this.options.ticks,e=f(c);a.font=e.font;var d=c.minRotation||0;if(this.options.display&&this.isHorizontal())for(var k=a=b.longestText(a,e.font,this.ticks,this.longestTextCache),h,e=this.getPixelForTick(1)-this.getPixelForTick(0)-6;k>e&&d<c.maxRotation;){h=
-b.toRadians(d);k=Math.cos(h);h=Math.sin(h);if(h*a>this.maxHeight){d--;break}d++;k*=a}this.labelRotation=d},fit:function(){var a=this.minSize={width:0,height:0},c=this.options,e=c.ticks,d=c.gridLines,k=c.display,h=this.isHorizontal(),g=f(e),m=c.gridLines.tickMarkLength;a.width=h?this.isFullWidth()?this.maxWidth-this.margins.left-this.margins.right:this.maxWidth:k&&d.drawTicks?m:0;a.height=h?k&&d.drawTicks?m:0:this.maxHeight;e.display&&k&&(k=b.longestText(this.ctx,g.font,this.ticks,this.longestTextCache),
-m=b.numberOfLabelLines(this.ticks),d=.5*g.size,h?(this.longestLabelWidth=k,h=b.toRadians(this.labelRotation),e=Math.cos(h),a.height=Math.min(this.maxHeight,a.height+(Math.sin(h)*k+g.size*m+d*m)),this.ctx.font=g.font,h=l(this.ctx,this.ticks[0],g.font),g=l(this.ctx,this.ticks[this.ticks.length-1],g.font),0!==this.labelRotation?(this.paddingLeft="bottom"===c.position?e*h+3:e*d+3,this.paddingRight="bottom"===c.position?e*d+3:e*g+3):(this.paddingLeft=h/2+3,this.paddingRight=g/2+3)):(k=e.mirror?0:k+this.options.ticks.padding,
-a.width=Math.min(this.maxWidth,a.width+k),this.paddingTop=g.size/2,this.paddingBottom=g.size/2));this.handleMargins();this.width=a.width;this.height=a.height},handleMargins:function(){this.margins&&(this.paddingLeft=Math.max(this.paddingLeft-this.margins.left,0),this.paddingTop=Math.max(this.paddingTop-this.margins.top,0),this.paddingRight=Math.max(this.paddingRight-this.margins.right,0),this.paddingBottom=Math.max(this.paddingBottom-this.margins.bottom,0))},isHorizontal:function(){return"top"===
-this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(a){return null===a||"undefined"===typeof a||"number"===typeof a&&!isFinite(a)?NaN:"object"===typeof a?a instanceof Date||a.isValid?a:this.getRightValue(this.isHorizontal()?a.x:a.y):a},getPixelForValue:b.noop,getValueForPixel:b.noop,getPixelForTick:function(a,b){if(this.isHorizontal()){var e=(this.width-(this.paddingLeft+this.paddingRight))/Math.max(this.ticks.length-
-(this.options.gridLines.offsetGridLines?0:1),1),d=e*a+this.paddingLeft;b&&(d+=e/2);e=this.left+Math.round(d);return e+=this.isFullWidth()?this.margins.left:0}return this.top+(this.height-(this.paddingTop+this.paddingBottom))/(this.ticks.length-1)*a},getPixelForDecimal:function(a){return this.isHorizontal()?(a=this.left+Math.round((this.width-(this.paddingLeft+this.paddingRight))*a+this.paddingLeft),a+=this.isFullWidth()?this.margins.left:0):this.top+a*this.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},
-getBaseValue:function(){var a=this.min,b=this.max;return 0>a&&0>b?b:0<a&&0<b?a:0},draw:function(a){var c=this,e=c.options;if(e.display){var d=c.ctx,k=g.defaults.global,h=e.ticks,l=e.gridLines,m=0!==c.labelRotation,n,p=h.autoSkip,W=c.isHorizontal(),t;h.maxTicksLimit&&(t=h.maxTicksLimit);var w=b.getValueOrDefault(h.fontColor,k.defaultFontColor),x=f(h),u=l.drawTicks?l.tickMarkLength:0,M=b.toRadians(c.labelRotation),z=c.longestLabelWidth*Math.cos(M);d.fillStyle=w;var I=[];if(W){n=!1;(z+h.autoSkipPadding)*
-c.ticks.length>c.width-(c.paddingLeft+c.paddingRight)&&(n=1+Math.floor((z+h.autoSkipPadding)*c.ticks.length/(c.width-(c.paddingLeft+c.paddingRight))));if(t&&c.ticks.length>t)for(;!n||c.ticks.length/(n||1)>t;)n||(n=1),n+=1;p||(n=!1)}var J="right"===e.position?c.left:c.right-u,R="right"===e.position?c.left+u:c.right,Q="bottom"===e.position?c.top:c.bottom-u,B="bottom"===e.position?c.top+u:c.bottom;b.each(c.ticks,function(d,f){if(void 0!==d&&null!==d){var g=c.ticks.length===f+1;if((!(1<n&&0<f%n||0===
-f%n&&f+n>=c.ticks.length)||g)&&void 0!==d&&null!==d){var p,t,w;f===("undefined"!==typeof c.zeroLineIndex?c.zeroLineIndex:0)?(g=l.zeroLineWidth,p=l.zeroLineColor,t=l.zeroLineBorderDash,w=l.zeroLineBorderDashOffset):(g=b.getValueAtIndexOrDefault(l.lineWidth,f),p=b.getValueAtIndexOrDefault(l.color,f),t=b.getValueOrDefault(l.borderDash,k.borderDash),w=b.getValueOrDefault(l.borderDashOffset,k.borderDashOffset));var r,y,v,x,O,G,H,F,A,C,z,P="middle";W?("bottom"===e.position?(P=m?"middle":"top",z=m?"right":
-"center",C=c.top+u):(P=m?"middle":"bottom",z=m?"left":"center",C=c.bottom-u),r=c.getPixelForTick(f)+b.aliasPixel(g),A=c.getPixelForTick(f,l.offsetGridLines)+h.labelOffset,r=v=O=H=r,y=Q,x=B,G=a.top,F=a.bottom):(A="left"===e.position,C=h.padding,h.mirror?z=A?"left":"right":(z=A?"right":"left",C=u+C),A=A?c.right-C:c.left+C,y=c.getPixelForTick(f),y+=b.aliasPixel(g),C=c.getPixelForTick(f,l.offsetGridLines),r=J,v=R,O=a.left,H=a.right,y=x=G=F=y);I.push({tx1:r,ty1:y,tx2:v,ty2:x,x1:O,y1:G,x2:H,y2:F,labelX:A,
-labelY:C,glWidth:g,glColor:p,glBorderDash:t,glBorderDashOffset:w,rotation:-1*M,label:d,textBaseline:P,textAlign:z})}}});b.each(I,function(a){l.display&&(d.save(),d.lineWidth=a.glWidth,d.strokeStyle=a.glColor,d.setLineDash&&(d.setLineDash(a.glBorderDash),d.lineDashOffset=a.glBorderDashOffset),d.beginPath(),l.drawTicks&&(d.moveTo(a.tx1,a.ty1),d.lineTo(a.tx2,a.ty2)),l.drawOnChartArea&&(d.moveTo(a.x1,a.y1),d.lineTo(a.x2,a.y2)),d.stroke(),d.restore());if(h.display){d.save();d.translate(a.labelX,a.labelY);
-d.rotate(a.rotation);d.font=x.font;d.textBaseline=a.textBaseline;d.textAlign=a.textAlign;a=a.label;if(b.isArray(a))for(var c=0,e=0;c<a.length;++c)d.fillText(""+a[c],0,e),e+=1.5*x.size;else d.fillText(a,0,0);d.restore()}})}}})}},{}],32:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.scaleService={constructors:{},defaults:{},registerScaleType:function(f,b,a){this.constructors[f]=b;this.defaults[f]=l.clone(a)},getScaleConstructor:function(f){return this.constructors.hasOwnProperty(f)?this.constructors[f]:
-void 0},getScaleDefaults:function(f){return this.defaults.hasOwnProperty(f)?l.scaleMerge(g.defaults.scale,this.defaults[f]):{}},updateScaleDefaults:function(f,b){var a=this.defaults;a.hasOwnProperty(f)&&(a[f]=l.extend(a[f],b))},addScalesToLayout:function(f){l.each(f.scales,function(b){b.fullWidth=b.options.fullWidth;b.position=b.options.position;b.weight=b.options.weight;g.layoutService.addBox(f,b)})}}}},{}],33:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.Ticks={generators:{linear:function(f,
-b){var a=[],c;f.stepSize&&0<f.stepSize?c=f.stepSize:(c=l.niceNum(b.max-b.min,!1),c=l.niceNum(c/(f.maxTicks-1),!0));var e=Math.floor(b.min/c)*c,d=Math.ceil(b.max/c)*c;f.min&&f.max&&f.stepSize&&l.almostWhole((f.max-f.min)/f.stepSize,c/1E3)&&(e=f.min,d=f.max);var g=(d-e)/c,g=l.almostEquals(g,Math.round(g),c/1E3)?Math.round(g):Math.ceil(g);a.push(void 0!==f.min?f.min:e);for(var h=1;h<g;++h)a.push(e+h*c);a.push(void 0!==f.max?f.max:d);return a}},formatters:{values:function(f){return l.isArray(f)?f:""+
-f},linear:function(f,b,a){b=3<a.length?a[2]-a[1]:a[1]-a[0];1<Math.abs(b)&&f!==Math.floor(f)&&(b=f-Math.floor(f));b=l.log10(Math.abs(b));0!==f?(b=-1*Math.floor(b),b=Math.max(Math.min(b,20),0),f=f.toFixed(b)):f="0";return f}}}}},{}],36:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=g.defaults.global;g.defaults.global.elements.line={tension:.4,backgroundColor:f.defaultColor,borderWidth:3,borderColor:f.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",
-capBezierPoints:!0};g.elements.Line=g.Element.extend({draw:function(){var b=this._view,a=this._chart.ctx,c=b.spanGaps,e=this._children.slice(),d=f.elements.line,g,h,m;this._loop&&e.length&&e.push(e[0]);a.save();a.lineCap=b.borderCapStyle||d.borderCapStyle;a.setLineDash&&a.setLineDash(b.borderDash||d.borderDash);a.lineDashOffset=b.borderDashOffset||d.borderDashOffset;a.lineJoin=b.borderJoinStyle||d.borderJoinStyle;a.lineWidth=b.borderWidth||d.borderWidth;a.strokeStyle=b.borderColor||f.defaultColor;
-a.beginPath();b=-1;for(d=0;d<e.length;++d)g=e[d],h=l.previousItem(e,d),m=g._view,0===d?m.skip||(a.moveTo(m.x,m.y),b=d):(h=-1===b?h:e[b],m.skip||(b!==d-1&&!c||-1===b?a.moveTo(m.x,m.y):l.canvas.lineTo(a,h._view,g._view),b=d));a.stroke();a.restore()}})}},{}],37:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=g.defaults.global,b=f.defaultColor;f.elements.point={radius:3,pointStyle:"circle",backgroundColor:b,borderWidth:0,borderColor:b};g.elements.Point=g.Element.extend({getCenterPoint:function(){var a=
-this._view;return{x:a.x,y:a.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},draw:function(a){a=this._view;var c=this._chart.ctx,e=a.pointStyle,d=a.radius,k=a.x,h=a.y;a.skip||(c.strokeStyle=a.borderColor||b,c.lineWidth=l.getValueOrDefault(a.borderWidth,f.elements.point.borderWidth),c.fillStyle=a.backgroundColor||b,g.canvasHelpers.drawPoint(c,e,d,k,h))}})}},{}],39:[function(p,m,n){m.exports=function(g){function l(b,e){var d=a.getStyle(b,e);return(d=d&&d.match(/^(\d+)(\.\d+)?px$/))?
-Number(d[1]):void 0}function f(b){var e=document.createElement("iframe");e.className="chartjs-hidden-iframe";e.style.cssText="display:block;overflow:hidden;border:0;margin:0;top:0;left:0;bottom:0;right:0;height:100%;width:100%;position:absolute;pointer-events:none;z-index:-1;";e.tabIndex=-1;a.addEvent(e,"load",function(){a.addEvent(e.contentWindow||e,"resize",b);b()});return e}function b(b,e,d){var g=b._chartjs={ticking:!1};g.resizer=f(function(){g.ticking||(g.ticking=!0,a.requestAnimFrame.call(window,
-function(){if(g.resizer)return g.ticking=!1,e({type:"resize",chart:d,"native":null,x:null,y:null})}))});b.insertBefore(g.resizer,b.firstChild)}var a=g.helpers;return{acquireContext:function(a,b){"string"===typeof a?a=document.getElementById(a):a.length&&(a=a[0]);a&&a.canvas&&(a=a.canvas);var d=a&&a.getContext&&a.getContext("2d");if(d&&d.canvas===a){var f=a,g=f.style,m=f.getAttribute("height"),n=f.getAttribute("width");f._chartjs={initial:{height:m,width:n,style:{display:g.display,height:g.height,
-width:g.width}}};g.display=g.display||"block";if(null===n||""===n){var p=l(f,"width");void 0!==p&&(f.width=p)}if(null===m||""===m)""===f.style.height?f.height=f.width/(b.options.aspectRatio||2):(g=l(f,"height"),void 0!==p&&(f.height=g));return d}return null},addEventListener:function(a,e,d){var f=a.canvas;"resize"===e&&b(f.parentNode,d,a)}}}},{}],40:[function(p,m,n){var g=p(39);m.exports=function(l){l.platform=g(l)}},{39:39}],44:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=g.Scale.extend({getLabels:function(){var b=
-this.chart.data;return(this.isHorizontal()?b.xLabels:b.yLabels)||b.labels},determineDataLimits:function(){var b=this.getLabels();this.minIndex=0;this.maxIndex=b.length-1;var a;void 0!==this.options.ticks.min&&(a=l.indexOf(b,this.options.ticks.min),this.minIndex=-1!==a?a:this.minIndex);void 0!==this.options.ticks.max&&(a=l.indexOf(b,this.options.ticks.max),this.maxIndex=-1!==a?a:this.maxIndex);this.min=b[this.minIndex];this.max=b[this.maxIndex]},buildTicks:function(){var b=this.getLabels();this.ticks=
-0===this.minIndex&&this.maxIndex===b.length-1?b:b.slice(this.minIndex,this.maxIndex+1)},getPixelForValue:function(b,a,c,e){c=Math.max(this.maxIndex+1-this.minIndex-(this.options.gridLines.offsetGridLines?0:1),1);var d;void 0!==b&&null!==b&&(d=this.isHorizontal()?b.x:b.y);if(void 0!==d||void 0!==b&&isNaN(a))b=this.getLabels().indexOf(d||b),a=-1!==b?b:a;if(this.isHorizontal()){b=this.width/c;a=b*(a-this.minIndex);if(this.options.gridLines.offsetGridLines&&e||this.maxIndex===this.minIndex&&e)a+=b/2;
-return this.left+Math.round(a)}b=this.height/c;a=b*(a-this.minIndex);this.options.gridLines.offsetGridLines&&e&&(a+=b/2);return this.top+Math.round(a)},getPixelForTick:function(b,a){return this.getPixelForValue(this.ticks[b],b+this.minIndex,null,a)},getValueForPixel:function(b){var a=Math.max(this.ticks.length-(this.options.gridLines.offsetGridLines?0:1),1),c=this.isHorizontal(),a=(c?this.width:this.height)/a;b-=c?this.left:this.top;this.options.gridLines.offsetGridLines&&(b-=a/2);return 0>=b?0:Math.round(b/
-a)},getBasePixel:function(){return this.bottom}});g.scaleService.registerScaleType("category",f,{position:"bottom"})}},{}],45:[function(p,m,n){m.exports=function(g){var l=g.helpers,f={position:"left",ticks:{callback:g.Ticks.formatters.linear}},b=g.LinearScaleBase.extend({determineDataLimits:function(){var a=this,b=a.chart,e=b.data.datasets,d=a.isHorizontal();a.min=null;a.max=null;l.each(e,function(e,f){var g=b.getDatasetMeta(f);b.isDatasetVisible(f)&&(d?g.xAxisID===a.id:g.yAxisID===a.id)&&l.each(e.data,
-function(b,c){var d=+a.getRightValue(b);isNaN(d)||g.data[c].hidden||(null===a.min?a.min=d:d<a.min&&(a.min=d),null===a.max?a.max=d:d>a.max&&(a.max=d))})});a.min=isFinite(a.min)?a.min:0;a.max=isFinite(a.max)?a.max:1;this.handleTickRangeOptions()},getTickLimit:function(){var a;a=this.options.ticks;if(this.isHorizontal())a=Math.min(a.maxTicksLimit?a.maxTicksLimit:11,Math.ceil(this.width/50));else{var b=l.getValueOrDefault(a.fontSize,g.defaults.global.defaultFontSize);a=Math.min(a.maxTicksLimit?a.maxTicksLimit:
-11,Math.ceil(this.height/(2*b)))}return a},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getPixelForValue:function(a){var b=this.start;a=+this.getRightValue(a);var e=this.end-b;if(this.isHorizontal())return b=this.left+this.width/e*(a-b),Math.round(b);b=this.bottom-this.height/e*(a-b);return Math.round(b)},getValueForPixel:function(a){var b=this.isHorizontal();return this.start+(b?a-this.left:this.bottom-a)/(b?this.width:this.height)*(this.end-this.start)},getPixelForTick:function(a){return this.getPixelForValue(this.ticksAsNumbers[a])}});
-g.scaleService.registerScaleType("linear",b,f)}},{}],46:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=l.noop;g.LinearScaleBase=g.Scale.extend({handleTickRangeOptions:function(){var b=this.options.ticks;void 0!==b.min?this.min=b.min:void 0!==b.suggestedMin&&(this.min=null===this.min?b.suggestedMin:Math.min(this.min,b.suggestedMin));void 0!==b.max?this.max=b.max:void 0!==b.suggestedMax&&(this.max=null===this.max?b.suggestedMax:Math.max(this.max,b.suggestedMax));this.min===this.max&&(this.max++,
-this.min--)},getTickLimit:f,handleDirectionalChanges:f,buildTicks:function(){var b=this.options.ticks,a=this.getTickLimit(),a=Math.max(2,a),a={maxTicks:a,min:b.min,max:b.max,stepSize:l.getValueOrDefault(b.fixedStepSize,b.stepSize)},a=this.ticks=g.Ticks.generators.linear(a,this);this.handleDirectionalChanges();this.max=l.max(a);this.min=l.min(a);b.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max)},convertTicksToLabels:function(){this.ticksAsNumbers=
-this.ticks.slice();this.zeroLineIndex=this.ticks.indexOf(0);g.Scale.prototype.convertTicksToLabels.call(this)}})}},{}]},{},[7])(7)}();
+/*!
+ * Chart.js
+ * http://chartjs.org/
+ * Version: 2.7.1
+ *
+ * Copyright 2017 Nick Downie
+ * Released under the MIT license
+ * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md
+ */
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Chart=t()}}(function(){return function t(e,i,n){function a(r,s){if(!i[r]){if(!e[r]){var l="function"==typeof require&&require;if(!s&&l)return l(r,!0);if(o)return o(r,!0);var c=new Error("Cannot find module '"+r+"'");throw c.code="MODULE_NOT_FOUND",c}var d=i[r]={exports:{}};e[r][0].call(d.exports,function(t){var i=e[r][1][t];return a(i?i:t)},d,d.exports,t,e,i,n)}return i[r].exports}for(var o="function"==typeof require&&require,r=0;r<n.length;r++)a(n[r]);return a}({1:[function(t,e,i){var n=t(9)();n.helpers=t(22),t(8)(n),n.defaults=t(6),n.Element=t(7),n.elements=t(17),n.platform=t(24),t(4)(n),t(5)(n),t(10)(n),t(12)(n),t(11)(n),t(27)(n),t(25)(n),t(26)(n),t(2)(n),t(3)(n),n.platform.initialize(),e.exports=n,"undefined"!=typeof window&&(window.Chart=n),n.canvasHelpers=n.helpers.canvas},{10:10,11:11,12:12,17:17,2:2,22:22,24:24,25:25,26:26,27:27,3:3,4:4,5:5,6:6,7:7,8:8,9:9}],2:[function(t,e,i){"use strict";function n(t,e){var i,n,a,o,r=t.isHorizontal()?t.width:t.height,s=t.getTicks();for(a=1,o=e.length;a<o;++a)r=Math.min(r,e[a]-e[a-1]);for(a=0,o=s.length;a<o;++a)n=t.getPixelForTick(a),r=a>0?Math.min(r,n-i):r,i=n;return r}function a(t,e,i){var n,a,o=i.barThickness,r=e.stackCount,s=e.pixels[t];return l.isNullOrUndef(o)?(n=e.min*i.categoryPercentage,a=i.barPercentage):(n=o*r,a=1),{chunk:n/r,ratio:a,start:s-n/2}}function o(t,e,i){var n,a,o=e.pixels,r=o[t],s=t>0?o[t-1]:null,l=t<o.length-1?o[t+1]:null,c=i.categoryPercentage;return null===s&&(s=r-(null===l?e.end-r:l-r)),null===l&&(l=r+r-s),n=r-(r-s)/2*c,a=(l-s)/2*c,{chunk:a/e.stackCount,ratio:i.barPercentage,start:n}}var r=t(6),s=t(17),l=t(22);r._set("bar",{scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),r._set("horizontalBar",{scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{position:"left",type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}}}),e.exports=function(t){t.controllers.bar=t.DatasetController.extend({dataElementType:s.Rectangle,initialize:function(){var e,i=this;t.DatasetController.prototype.initialize.apply(i,arguments),e=i.getMeta(),e.stack=i.getDataset().stack,e.bar=!0},update:function(t){var e,i,n=this,a=n.getMeta().data;for(n._ruler=n.getRuler(),e=0,i=a.length;e<i;++e)n.updateElement(a[e],e,t)},updateElement:function(t,e,i){var n=this,a=n.chart,o=n.getMeta(),r=n.getDataset(),s=a.options.elements.rectangle;t._xScale=n.getScaleForId(o.xAxisID),t._yScale=n.getScaleForId(o.yAxisID),t._datasetIndex=n.index,t._index=e,t._model={datasetLabel:r.label,label:a.data.labels[e],borderSkipped:s.borderSkipped,backgroundColor:l.valueAtIndexOrDefault(r.backgroundColor,e,s.backgroundColor),borderColor:l.valueAtIndexOrDefault(r.borderColor,e,s.borderColor),borderWidth:l.valueAtIndexOrDefault(r.borderWidth,e,s.borderWidth)},n.updateElementGeometry(t,e,i),t.pivot()},updateElementGeometry:function(t,e,i){var n=this,a=t._model,o=n.getValueScale(),r=o.getBasePixel(),s=o.isHorizontal(),l=n._ruler||n.getRuler(),c=n.calculateBarValuePixels(n.index,e),d=n.calculateBarIndexPixels(n.index,e,l);a.horizontal=s,a.base=i?r:c.base,a.x=s?i?r:c.head:d.center,a.y=s?d.center:i?r:c.head,a.height=s?d.size:void 0,a.width=s?void 0:d.size},getValueScaleId:function(){return this.getMeta().yAxisID},getIndexScaleId:function(){return this.getMeta().xAxisID},getValueScale:function(){return this.getScaleForId(this.getValueScaleId())},getIndexScale:function(){return this.getScaleForId(this.getIndexScaleId())},getRuler:function(){var t,e,i,a=this,o=a.getIndexScale(),r=1,s=a.index,c=o.isHorizontal(),d=c?o.left:o.top,u=d+(c?o.width:o.height),h=[];for(t=0,e=a.getMeta().data.length;t<e;++t)h.push(o.getPixelForValue(null,t,s));return i=l.isNullOrUndef(o.options.barThickness)?n(o,h):-1,{min:i,pixels:h,start:d,end:u,stackCount:r,scale:o}},calculateBarValuePixels:function(t,e){var i,n,a,o=this,r=o.chart,s=o.getMeta(),l=o.getValueScale(),c=r.data.datasets,d=l.getRightValue(c[t].data[e]),u=(l.options.stacked,s.stack,0);return i=l.getPixelForValue(u),n=l.getPixelForValue(u+d),a=(n-i)/2,{size:a,base:i,head:n,center:n+a/2}},calculateBarIndexPixels:function(t,e,i){var n=i.scale.options,r="flex"===n.barThickness?o(e,i,n):a(e,i,n),s=0,c=r.start+r.chunk*s+r.chunk/2,d=Math.min(l.valueOrDefault(n.maxBarThickness,1/0),r.chunk*r.ratio);return{base:c-d/2,head:c+d/2,center:c,size:d}},draw:function(){var t=this,e=t.chart,i=t.getValueScale(),n=t.getMeta().data,a=t.getDataset(),o=n.length,r=0;for(l.canvas.clipArea(e.ctx,e.chartArea);r<o;++r)isNaN(i.getRightValue(a.data[r]))||n[r].draw();l.canvas.unclipArea(e.ctx)}}),t.controllers.horizontalBar=t.controllers.bar.extend({getValueScaleId:function(){return this.getMeta().xAxisID},getIndexScaleId:function(){return this.getMeta().yAxisID}})}},{17:17,22:22,6:6}],3:[function(t,e,i){"use strict";var n=t(6),a=t(17),o=t(22);n._set("line",{showLines:!0,spanGaps:!1,scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),e.exports=function(t){function e(t,e){return o.valueOrDefault(t.showLine,e.showLines)}t.controllers.line=t.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,update:function(t){var i,n,a=this,r=a.getMeta(),s=r.dataset,l=r.data||[],c=a.chart.options,d=c.elements.line,u=a.getScaleForId(r.yAxisID),h=a.getDataset(),f=e(h,c);for(f&&(void 0!==h.tension&&void 0===h.lineTension&&(h.lineTension=h.tension),s._scale=u,s._datasetIndex=a.index,s._children=l,s._model={spanGaps:h.spanGaps?h.spanGaps:c.spanGaps,tension:o.valueOrDefault(h.lineTension,d.tension),backgroundColor:h.backgroundColor||d.backgroundColor,borderWidth:h.borderWidth||d.borderWidth,borderColor:h.borderColor||d.borderColor,borderCapStyle:h.borderCapStyle||d.borderCapStyle,borderDash:h.borderDash||d.borderDash,borderDashOffset:h.borderDashOffset||d.borderDashOffset,borderJoinStyle:h.borderJoinStyle||d.borderJoinStyle,fill:void 0!==h.fill?h.fill:d.fill,steppedLine:o.valueOrDefault(h.steppedLine,d.stepped),cubicInterpolationMode:o.valueOrDefault(h.cubicInterpolationMode,d.cubicInterpolationMode)},s.pivot()),i=0,n=l.length;i<n;++i)a.updateElement(l[i],i,t);for(f&&0!==s._model.tension&&a.updateBezierControlPoints(),i=0,n=l.length;i<n;++i)l[i].pivot()},updateElement:function(t,e,i){var n,a,r=this,s=r.getMeta(),l=t.custom||{},c=r.getDataset(),d=r.index,u=c.data[e],h=r.getScaleForId(s.yAxisID),f=r.getScaleForId(s.xAxisID),p=r.chart.options.elements.point;void 0!==c.radius&&void 0===c.pointRadius&&(c.pointRadius=c.radius),void 0!==c.hitRadius&&void 0===c.pointHitRadius&&(c.pointHitRadius=c.hitRadius),n=f.getPixelForValue("object"==typeof u?u:NaN,e,d),a=i?h.getBasePixel():r.calculatePointY(u,e,d),t._xScale=f,t._yScale=h,t._datasetIndex=d,t._index=e,t._model={x:n,y:a,skip:l.skip||isNaN(n)||isNaN(a),radius:l.radius||o.valueAtIndexOrDefault(c.pointRadius,e,p.radius),pointStyle:l.pointStyle||o.valueAtIndexOrDefault(c.pointStyle,e,p.pointStyle),backgroundColor:c.pointBackgroundColor,borderColor:c.borderColor,borderWidth:c.borderWidth,tension:s.dataset._model?s.dataset._model.tension:0,steppedLine:!!s.dataset._model&&s.dataset._model.steppedLine,hitRadius:l.hitRadius||o.valueAtIndexOrDefault(c.pointHitRadius,e,p.hitRadius)}},calculatePointY:function(t,e,i){var n=this,a=(n.chart,n.getMeta()),o=n.getScaleForId(a.yAxisID);return o.getPixelForValue(t)},updateBezierControlPoints:function(){function t(t,e,i){return Math.max(Math.min(t,i),e)}var e,i,n,a,r,s=this,l=s.getMeta(),c=s.chart.chartArea,d=l.data||[];for(l.dataset._model.spanGaps&&(d=d.filter(function(t){return!t._model.skip})),e=0,i=d.length;e<i;++e)n=d[e],a=n._model,r=o.splineCurve(o.previousItem(d,e)._model,a,o.nextItem(d,e)._model,l.dataset._model.tension),a.controlPointPreviousX=r.previous.x,a.controlPointPreviousY=r.previous.y,a.controlPointNextX=r.next.x,a.controlPointNextY=r.next.y;if(s.chart.options.elements.line.capBezierPoints)for(e=0,i=d.length;e<i;++e)a=d[e]._model,a.controlPointPreviousX=t(a.controlPointPreviousX,c.left,c.right),a.controlPointPreviousY=t(a.controlPointPreviousY,c.top,c.bottom),a.controlPointNextX=t(a.controlPointNextX,c.left,c.right),a.controlPointNextY=t(a.controlPointNextY,c.top,c.bottom)},draw:function(){var t=this,i=t.chart,n=t.getMeta(),a=n.data||[],r=i.chartArea,s=a.length,l=0;for(o.canvas.clipArea(i.ctx,r),e(t.getDataset(),i.options)&&n.dataset.draw(),o.canvas.unclipArea(i.ctx);l<s;++l)a[l].draw(r)}})}},{17:17,22:22,6:6}],4:[function(t,e,i){"use strict";var n=t(6),a=t(22),o=t(24);e.exports=function(t){function e(t){t=t||{};var e=t.data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=a.configMerge(n.global,n[t.type],t.options||{}),t}function i(e){var i=e.options;a.each(e.scales,function(i){t.layoutService.removeBox(e,i)}),i=a.configMerge(t.defaults.global,t.defaults[e.config.type],i),e.options=e.config.options=i,e.ensureScalesHaveIDs(),e.buildOrUpdateScales()}function r(t){return"top"===t||"bottom"===t}t.types={},t.instances={},t.controllers={},a.extend(t.prototype,{construct:function(i,n){var r=this;n=e(n);var s=o.acquireContext(i,n),l=s&&s.canvas,c=l&&l.height,d=l&&l.width;return r.id=a.uid(),r.ctx=s,r.canvas=l,r.config=n,r.width=d,r.height=c,r.aspectRatio=c?d/c:null,r.options=n.options,r._bufferedRender=!1,r.chart=r,r.controller=r,t.instances[r.id]=r,Object.defineProperty(r,"data",{get:function(){return r.config.data},set:function(t){r.config.data=t}}),s&&l?(r.initialize(),void r.update()):void console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return a.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t},clear:function(){return a.canvas.clear(this),this},stop:function(){return this},resize:function(t){var e=this,i=e.options,n=e.canvas,o=i.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(a.getMaximumWidth(n))),s=Math.max(0,Math.floor(o?r/o:a.getMaximumHeight(n)));if((e.width!==r||e.height!==s)&&(n.width=e.width=r,n.height=e.height=s,n.style.width=r+"px",n.style.height=s+"px",a.retinaScale(e,i.devicePixelRatio),!t)){var l={width:r,height:s};e.options.onResize&&e.options.onResize(e,l),e.stop(),e.update(0)}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},i=t.scale;a.each(e.xAxes,function(t,e){t.id=t.id||"x-axis-"+e}),a.each(e.yAxes,function(t,e){t.id=t.id||"y-axis-"+e}),i&&(i.id=i.id||"scale")},buildOrUpdateScales:function(){var e=this,i=e.options,n=e.scales||{},o=[],s=Object.keys(n).reduce(function(t,e){return t[e]=!1,t},{});i.scales&&(o=o.concat((i.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category",dposition:"bottom"}}),(i.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear",dposition:"left"}}))),a.each(o,function(i){var o=i.options,l=o.id,c=a.valueOrDefault(o.type,i.dtype);r(o.position)!==r(i.dposition)&&(o.position=i.dposition),s[l]=!0;var d=null;if(l in n&&n[l].type===c)d=n[l],d.options=o,d.ctx=e.ctx,d.chart=e;else{var u=t.scaleService.getScaleConstructor(c);if(!u)return;d=new u({id:l,type:c,options:o,ctx:e.ctx,chart:e}),n[d.id]=d}d.mergeTicksOptions(),i.isDefault&&(e.scale=d)}),a.each(s,function(t,e){t||delete n[e]}),e.scales=n,t.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e=this,i=[],n=[];return a.each(e.data.datasets,function(a,o){var r=e.getDatasetMeta(o),s=a.type||e.config.type;if(r.type&&r.type!==s&&(e.destroyDatasetMeta(o),r=e.getDatasetMeta(o)),r.type=s,i.push(r.type),r.controller)r.controller.updateIndex(o),r.controller.linkScales();else{var l=t.controllers[r.type];if(void 0===l)throw new Error('"'+r.type+'" is not a chart type.');r.controller=new l(e,o),n.push(r.controller)}},e),n},resetElements:function(){var t=this;a.each(t.data.datasets,function(e,i){t.getDatasetMeta(i).controller.reset()},t)},reset:function(){this.resetElements()},update:function(t){var e=this;t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),i(e);var n=e.buildOrUpdateControllers();a.each(e.data.datasets,function(t,i){e.getDatasetMeta(i).controller.buildOrUpdateElements()},e),e.updateLayout(),e.options.animation&&e.options.animation.duration&&a.each(n,function(t){t.reset()}),e.updateDatasets(),e.lastActive=[],e._bufferedRender?e._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:e.render(t)},updateLayout:function(){t.layoutService.update(this,this.width,this.height)},updateDatasets:function(){for(var t=this,e=0,i=t.data.datasets.length;e<i;++e)t.updateDataset(e)},updateDataset:function(t){var e=this,i=e.getDatasetMeta(t);i.controller.update()},render:function(t){var e=this,i=e.options.animation;return e.draw(),a.callback(i&&i.onComplete,[],e),e},draw:function(t){var e=this;e.clear(),a.isNullOrUndef(t)&&(t=1),e.transition(t),a.each(e.boxes,function(t){t.draw(e.chartArea)},e),e.scale&&e.scale.draw(),e.drawDatasets(t)},transition:function(t){for(var e=this,i=0,n=(e.data.datasets||[]).length;i<n;++i)e.isDatasetVisible(i)&&e.getDatasetMeta(i).controller.transition(t)},drawDatasets:function(t){for(var e=this,i=(e.data.datasets||[]).length-1;i>=0;--i)e.isDatasetVisible(i)&&e.drawDataset(i,t)},drawDataset:function(t,e){var i=this,n=i.getDatasetMeta(t);n.controller.draw(e)},getDatasetMeta:function(t){var e=this,i=e.data.datasets[t];i._meta||(i._meta={});var n=i._meta[e.id];return n||(n=i._meta[e.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,i=this.data.datasets.length;e<i;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(t){var e=this.id,i=this.data.datasets[t],n=i._meta&&i._meta[e];n&&(n.controller.destroy(),delete i._meta[e])},destroy:function(){var e,i,n=this,r=n.canvas;for(n.stop(),e=0,i=n.data.datasets.length;e<i;++e)n.destroyDatasetMeta(e);r&&(a.canvas.clear(n),o.releaseContext(n.ctx),n.canvas=null,n.ctx=null),delete t.instances[n.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},bindEvents:function(){var t=this,e=t._listeners={},i=function(){t.eventHandler.apply(t,arguments)};t.options.responsive&&(i=function(){t.resize()},o.addEventListener(t,"resize",i),e.resize=i)}}),t.Controller=t}},{22:22,24:24,6:6}],5:[function(t,e,i){"use strict";var n=t(22);e.exports=function(t){t.DatasetController=function(t,e){this.initialize(t,e)},n.extend(t.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){var i=this;i.chart=t,i.index=e,i.linkScales(),i.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),i=t.getDataset();null!==e.xAxisID&&e.xAxisID in t.chart.scales||(e.xAxisID=i.xAxisID||t.chart.options.scales.xAxes[0].id),null!==e.yAxisID&&e.yAxisID in t.chart.scales||(e.yAxisID=i.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},reset:function(){this.update(!0)},createMetaDataset:function(){var t=this,e=t.datasetElementType;return e&&new e({_chart:t.chart,_datasetIndex:t.index})},createMetaData:function(t){var e=this,i=e.dataElementType;return i&&new i({_chart:e.chart,_datasetIndex:e.index,_index:t})},addElements:function(){var t,e,i=this,n=i.getMeta(),a=i.getDataset().data||[],o=n.data;for(t=0,e=a.length;t<e;++t)o[t]=o[t]||i.createMetaData(t);n.dataset=n.dataset||i.createMetaDataset()},buildOrUpdateElements:function(){var t=this,e=t.getDataset();e.data||(e.data=[])},update:n.noop,transition:function(t){for(var e=this.getMeta(),i=e.data||[],n=i.length,a=0;a<n;++a)i[a].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],i=e.length,n=0;for(t.dataset&&t.dataset.draw();n<i;++n)e[n].draw()}}),t.DatasetController.extend=n.inherits}},{22:22}],6:[function(t,e,i){"use strict";var n=t(22);e.exports={_set:function(t,e){return n.merge(this[t]||(this[t]={}),e)}}},{22:22}],7:[function(t,e,i){"use strict";var n=t(22),a=function(t){n.extend(this,t),this.initialize.apply(this,arguments)};n.extend(a.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=n.clone(t._model)),t._start={},t},transition:function(t){var e=this,i=e._model;e._start,e._view;return e._view=i,e._start=null,e},hasValue:function(){return n.isNumber(this._model.x)&&n.isNumber(this._model.y)}}),a.extend=n.inherits,e.exports=a},{22:22}],8:[function(t,e,i){"use strict";var n=(t(6),t(22));e.exports=function(t){function e(t,e,i){var n;return"string"==typeof t?(n=parseInt(t,10),t.indexOf("%")!==-1&&(n=n/100*e.parentNode[i])):n=t,n}function i(t){return void 0!==t&&null!==t&&"none"!==t}function a(t,n,a){var o=document.defaultView,r=t.parentNode,s=o.getComputedStyle(t)[n],l=o.getComputedStyle(r)[n],c=i(s),d=i(l),u=Number.POSITIVE_INFINITY;return c||d?Math.min(c?e(s,t,a):u,d?e(l,r,a):u):"none"}n.configMerge=function(){return n.merge(n.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(e,i,a,o){var r=i[e]||{},s=a[e];"scales"===e?i[e]=n.scaleMerge(r,s):"scale"===e?i[e]=n.merge(r,[t.scaleService.getScaleDefaults(s.type),s]):n._merger(e,i,a,o)}})},n.scaleMerge=function(){return n.merge(n.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(e,i,a,o){if("xAxes"===e||"yAxes"===e){var r,s,l,c=a[e].length;for(i[e]||(i[e]=[]),r=0;r<c;++r)l=a[e][r],s=n.valueOrDefault(l.type,"xAxes"===e?"category":"linear"),r>=i[e].length&&i[e].push({}),!i[e][r].type||l.type&&l.type!==i[e][r].type?n.merge(i[e][r],[t.scaleService.getScaleDefaults(s),l]):n.merge(i[e][r],l)}else n._merger(e,i,a,o)}})},n.where=function(t,e){if(n.isArray(t)&&Array.prototype.filter)return t.filter(e);var i=[];return n.each(t,function(t){e(t)&&i.push(t)}),i},n.findIndex=Array.prototype.findIndex?function(t,e,i){return t.findIndex(e,i)}:function(t,e,i){i=void 0===i?t:i;for(var n=0,a=t.length;n<a;++n)if(e.call(i,t[n],n,t))return n;return-1},n.findNextWhere=function(t,e,i){n.isNullOrUndef(i)&&(i=-1);for(var a=i+1;a<t.length;a++){var o=t[a];if(e(o))return o}},n.findPreviousWhere=function(t,e,i){n.isNullOrUndef(i)&&(i=t.length);for(var a=i-1;a>=0;a--){var o=t[a];if(e(o))return o}},n.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},n.almostEquals=function(t,e,i){return Math.abs(t-e)<i},n.almostWhole=function(t,e){var i=Math.round(t);return i-e<t&&i+e>t},n.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},n.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},n.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return t=+t,0===t||isNaN(t)?t:t>0?1:-1},n.log10=Math.log10?function(t){return Math.log10(t)}:function(t){return Math.log(t)/Math.LN10},n.toRadians=function(t){return t*(Math.PI/180)},n.aliasPixel=function(t){return t%2===0?0:.5},n.splineCurve=function(t,e,i,n){var a=t.skip?e:t,o=e,r=i.skip?e:i,s=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2)),l=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2)),c=s/(s+l),d=l/(s+l);c=isNaN(c)?0:c,d=isNaN(d)?0:d;var u=n*c,h=n*d;return{previous:{x:o.x-u*(r.x-a.x),y:o.y-u*(r.y-a.y)},next:{x:o.x+h*(r.x-a.x),y:o.y+h*(r.y-a.y)}}},n.nextItem=function(t,e,i){return i?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},n.previousItem=function(t,e,i){return i?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},n.niceNum=function(t,e){var i,a=Math.floor(n.log10(t)),o=t/Math.pow(10,a);return i=e?o<1.5?1:o<3?2:o<7?5:10:o<=1?1:o<=2?2:o<=5?5:10,i*Math.pow(10,a)},n.requestAnimFrame=function(){return"undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)}}(),n.getConstraintWidth=function(t){return a(t,"max-width","clientWidth")},n.getConstraintHeight=function(t){return a(t,"max-height","clientHeight")},n.getMaximumWidth=function(t){var e=t.parentNode;if(!e)return t.clientWidth;var i=parseInt(n.getStyle(e,"padding-left"),10),a=parseInt(n.getStyle(e,"padding-right"),10),o=e.clientWidth-i-a,r=n.getConstraintWidth(t);return isNaN(r)?o:Math.min(o,r)},n.getMaximumHeight=function(t){var e=t.parentNode;if(!e)return t.clientHeight;var i=parseInt(n.getStyle(e,"padding-top"),10),a=parseInt(n.getStyle(e,"padding-bottom"),10),o=e.clientHeight-i-a,r=n.getConstraintHeight(t);return isNaN(r)?o:Math.min(o,r)},n.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},n.retinaScale=function(t,e){var i=t.currentDevicePixelRatio=e||window.devicePixelRatio||1;if(1!==i){var n=t.canvas,a=t.height,o=t.width;n.height=a*i,n.width=o*i,t.ctx.scale(i,i),n.style.height||n.style.width||(n.style.height=a+"px",n.style.width=o+"px")}},n.fontString=function(t,e,i){return e+" "+t+"px "+i},n.longestText=function(t,e,i,a){a=a||{};var o=a.data=a.data||{},r=a.garbageCollect=a.garbageCollect||[];a.font!==e&&(o=a.data={},r=a.garbageCollect=[],a.font=e),t.font=e;var s=0;n.each(i,function(e){void 0!==e&&null!==e&&n.isArray(e)!==!0?s=n.measureText(t,o,r,s,e):n.isArray(e)&&n.each(e,function(e){void 0===e||null===e||n.isArray(e)||(s=n.measureText(t,o,r,s,e))})});var l=r.length/2;if(l>i.length){for(var c=0;c<l;c++)delete o[r[c]];r.splice(0,l)}return s},n.measureText=function(t,e,i,n,a){var o=e[a];return o||(o=e[a]=t.measureText(a).width,i.push(a)),o>n&&(n=o),n},n.numberOfLabelLines=function(t){var e=1;return n.each(t,function(t){n.isArray(t)&&t.length>e&&(e=t.length)}),e}}},{22:22,6:6}],9:[function(t,e,i){"use strict";var n=t(6);n._set("global",{responsive:!0,maintainAspectRatio:!0,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),e.exports=function(){var t=function(t,e){return this.construct(t,e),this};return t.Chart=t,t}},{6:6}],10:[function(t,e,i){"use strict";var n=t(22);e.exports=function(t){function e(t,e){return n.where(t,function(t){return t.position===e})}function i(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,i){var n=e?i:t,a=e?t:i;return n.weight===a.weight?n._tmpIndex_-a._tmpIndex_:n.weight-a.weight}),t.forEach(function(t){delete t._tmpIndex_})}t.layoutService={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var i=t.boxes?t.boxes.indexOf(e):-1;i!==-1&&t.boxes.splice(i,1)},configure:function(t,e,i){for(var n,a=["fullWidth","position","weight"],o=a.length,r=0;r<o;++r)n=a[r],i.hasOwnProperty(n)&&(e[n]=i[n])},update:function(t,a,o){function r(t){var e,i=t.isHorizontal();i?(e=t.update(t.fullWidth?w:P,I),T-=e.height):(e=t.update(S,T),P-=e.width),_.push({horizontal:i,minSize:e,box:t})}function s(t){var e=n.findNextWhere(_,function(e){return e.box===t});if(e)if(t.isHorizontal()){var i={left:Math.max(L,A),right:Math.max(N,O),top:0,bottom:0};t.update(t.fullWidth?w:P,k/2,i)}else t.update(e.minSize.width,T)}function l(t){var e=n.findNextWhere(_,function(e){return e.box===t}),i={left:0,right:0,top:F,bottom:R};e&&t.update(e.minSize.width,T,i)}function c(t){t.isHorizontal()?(t.left=t.fullWidth?h:L,t.right=t.fullWidth?a-f:L+P,t.top=j,t.bottom=j+t.height,j=t.bottom):(t.left=E,t.right=E+t.width,t.top=F,t.bottom=F+T,E=t.right)}if(t){var d=t.options.layout||{},u=n.options.toPadding(d.padding),h=u.left,f=u.right,p=u.top,g=u.bottom,x=e(t.boxes,"left"),m=e(t.boxes,"right"),v=e(t.boxes,"top"),b=e(t.boxes,"bottom"),y=e(t.boxes,"chartArea");i(x,!0),i(m,!1),i(v,!0),i(b,!1);var w=a-h-f,k=o-p-g,D=w/2,M=k/2,S=(a-D)/(x.length+m.length),I=(o-M)/(v.length+b.length),P=w,T=k,_=[];n.each(x.concat(m,v,b),r);var A=0,O=0,C=0,z=0;n.each(v.concat(b),function(t){if(t.getPadding){var e=t.getPadding();A=Math.max(A,e.left),O=Math.max(O,e.right)}}),n.each(x.concat(m),function(t){if(t.getPadding){var e=t.getPadding();C=Math.max(C,e.top),z=Math.max(z,e.bottom)}});var L=h,N=f,F=p,R=g;n.each(x.concat(m),s),n.each(x,function(t){L+=t.width}),n.each(m,function(t){N+=t.width}),n.each(v.concat(b),s),n.each(v,function(t){F+=t.height}),n.each(b,function(t){R+=t.height}),n.each(x.concat(m),l),L=h,N=f,F=p,R=g,n.each(x,function(t){L+=t.width}),n.each(m,function(t){N+=t.width}),n.each(v,function(t){F+=t.height}),n.each(b,function(t){R+=t.height});var W=Math.max(A-L,0);L+=W,N+=Math.max(O-N,0);var V=Math.max(C-F,0);F+=V,R+=Math.max(z-R,0);var H=o-F-R,B=a-L-N;B===P&&H===T||(n.each(x,function(t){t.height=H}),n.each(m,function(t){t.height=H}),n.each(v,function(t){t.fullWidth||(t.width=B)}),n.each(b,function(t){t.fullWidth||(t.width=B)}),T=H,P=B);var E=h+W,j=p+V;n.each(x.concat(v),c),E+=P,j+=T,n.each(m,c),n.each(b,c),t.chartArea={left:L,top:F,right:L+P,bottom:F+T},n.each(y,function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(P,T)})}}}}},{22:22}],11:[function(t,e,i){"use strict";function n(t){var e,i,n=[];for(e=0,i=t.length;e<i;++e)n.push(t[e].label);return n}function a(t,e,i){var n=t.getPixelForTick(e);return i&&(n-=0===e?(t.getPixelForTick(1)-n)/2:(n-t.getPixelForTick(e-1))/2),n}var o=t(6),r=t(7),s=t(22),l=t(13);o._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,labelOffset:0,callback:l.formatters.values,minor:{},major:{}}}),e.exports=function(t){function e(t,e,i){return s.isArray(e)?s.longestText(t,i,e):t.measureText(e).width}function i(t){var e=s.valueOrDefault,i=o.global,n=e(t.fontSize,i.defaultFontSize),a=e(t.fontStyle,i.defaultFontStyle),r=e(t.fontFamily,i.defaultFontFamily);return{size:n,style:a,family:r,font:s.fontString(n,a,r)}}t.Scale=r.extend({getPadding:function(){var t=this;return{left:t.paddingLeft||0,top:t.paddingTop||0,right:t.paddingRight||0,bottom:t.paddingBottom||0}},getTicks:function(){return this._ticks},mergeTicksOptions:function(){var t=this.options.ticks;t.minor===!1&&(t.minor={display:!1}),t.major===!1&&(t.major={display:!1});for(var e in t)"major"!==e&&"minor"!==e&&("undefined"==typeof t.minor[e]&&(t.minor[e]=t[e]),"undefined"==typeof t.major[e]&&(t.major[e]=t[e]))},update:function(t,e,i){var n,a,o,r,l,c,d=this;for(d.maxWidth=t,d.maxHeight=e,d.margins=s.extend({left:0,right:0,top:0,bottom:0},i),d.longestTextCache=d.longestTextCache||{},d.setDimensions(),d.determineDataLimits(),l=d.buildTicks()||[],o=d.convertTicksToLabels(l)||d.ticks,d.ticks=o,n=0,a=o.length;n<a;++n)r=o[n],c=l[n],c?c.label=r:l.push(c={label:r,major:!1});return d._ticks=l,d.calculateTickRotation(),d.fit(),d.minSize},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},determineDataLimits:s.noop,buildTicks:s.noop,convertTicksToLabels:function(){var t=this,e=t.options.ticks;t.ticks=t.ticks.map(e.userCallback||e.callback,this)},calculateTickRotation:function(){var t=this,e=t.ctx,a=t.options.ticks,o=n(t._ticks),r=i(a);e.font=r.font;var l=a.minRotation||0;if(o.length&&t.options.display&&t.isHorizontal())for(var c,d,u=s.longestText(e,r.font,o,t.longestTextCache),h=u,f=t.getPixelForTick(1)-t.getPixelForTick(0)-6;h>f&&l<a.maxRotation;){var p=s.toRadians(l);if(c=Math.cos(p),d=Math.sin(p),d*u>t.maxHeight){l--;break}l++,h=c*u}t.labelRotation=l},fit:function(){var t=this,a=t.minSize={width:0,height:0},o=n(t._ticks),r=t.options,l=r.ticks,c=r.gridLines,d=r.display,u=t.isHorizontal(),h=i(l),f=r.gridLines.tickMarkLength;if(u?a.width=t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:a.width=d&&c.drawTicks?f:0,u?a.height=d&&c.drawTicks?f:0:a.height=t.maxHeight,l.display&&d){var p=s.longestText(t.ctx,h.font,o,t.longestTextCache),g=s.numberOfLabelLines(o),x=.5*h.size,m=t.options.ticks.padding;if(u){t.longestLabelWidth=p;var v=s.toRadians(t.labelRotation),b=Math.cos(v),y=Math.sin(v),w=y*p+h.size*g+x*(g-1)+x;a.height=Math.min(t.maxHeight,a.height+w+m),t.ctx.font=h.font;var k=e(t.ctx,o[0],h.font),D=e(t.ctx,o[o.length-1],h.font);0!==t.labelRotation?(t.paddingLeft="bottom"===r.position?b*k+3:b*x+3,t.paddingRight="bottom"===r.position?b*x+3:b*D+3):(t.paddingLeft=k/2+3,t.paddingRight=D/2+3)}else l.mirror?p=0:p+=m+x,a.width=Math.min(t.maxWidth,a.width+p),t.paddingTop=h.size/2,t.paddingBottom=h.size/2}t.handleMargins(),t.width=a.width,t.height=a.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(s.isNullOrUndef(t))return NaN;if("number"==typeof t&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:s.noop,getPixelForValue:s.noop,getValueForPixel:s.noop,getPixelForTick:function(t){var e=this,i=e.options.offset;if(e.isHorizontal()){var n=e.width-(e.paddingLeft+e.paddingRight),a=n/Math.max(e._ticks.length-(i?0:1),1),o=a*t+e.paddingLeft;i&&(o+=a/2);var r=e.left+Math.round(o);return r+=e.isFullWidth()?e.margins.left:0}var s=e.height-(e.paddingTop+e.paddingBottom);return e.top+t*(s/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var i=e.width-(e.paddingLeft+e.paddingRight),n=i*t+e.paddingLeft,a=e.left+Math.round(n);return a+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this,e=t.min,i=t.max;return t.beginAtZero?0:e<0&&i<0?i:e>0&&i>0?e:0},draw:function(t){var e=this,n=e.options;if(n.display){var r=e.ctx,l=o.global,c=n.ticks.minor,d=n.ticks.major||c,u=n.gridLines,h=0!==e.labelRotation,f=e.isHorizontal(),p=e.getTicks(),g=s.valueOrDefault(c.fontColor,l.defaultFontColor),x=i(c),m=s.valueOrDefault(d.fontColor,l.defaultFontColor),v=i(d),b=u.drawTicks?u.tickMarkLength:0,y=s.toRadians(e.labelRotation),w=[],k="right"===n.position?e.left:e.right-b,D="right"===n.position?e.left+b:e.right,M="bottom"===n.position?e.top:e.bottom-b,S="bottom"===n.position?e.top+b:e.bottom;s.each(p,function(i,o){if(!s.isNullOrUndef(i.label)){var r,d,g,x,m=i.label;o===e.zeroLineIndex&&n.offset===u.offsetGridLines?(r=u.zeroLineWidth,d=u.zeroLineColor,g=u.zeroLineBorderDash,x=u.zeroLineBorderDashOffset):(r=s.valueAtIndexOrDefault(u.lineWidth,o),d=s.valueAtIndexOrDefault(u.color,o),g=s.valueOrDefault(u.borderDash,l.borderDash),x=s.valueOrDefault(u.borderDashOffset,l.borderDashOffset));var v,I,P,T,_,A,O,C,z,L,N="middle",F="middle",R=c.padding;if(f){var W=b+R;"bottom"===n.position?(F=h?"middle":"top",
+N=h?"right":"center",L=e.top+W):(F=h?"middle":"bottom",N=h?"left":"center",L=e.bottom-W);var V=a(e,o,u.offsetGridLines&&p.length>1);V<e.left&&(d="rgba(0,0,0,0)"),V+=s.aliasPixel(r),z=e.getPixelForTick(o)+c.labelOffset,v=P=_=O=V,I=M,T=S,A=t.top,C=t.bottom}else{var H,B="left"===n.position;c.mirror?(N=B?"left":"right",H=R):(N=B?"right":"left",H=b+R),z=B?e.right-H:e.left+H;var E=a(e,o,u.offsetGridLines&&p.length>1);E<e.top&&(d="rgba(0,0,0,0)"),E+=s.aliasPixel(r),L=e.getPixelForTick(o)+c.labelOffset,v=k,P=D,_=t.left,O=t.right,I=T=A=C=E}w.push({tx1:v,ty1:I,tx2:P,ty2:T,x1:_,y1:A,x2:O,y2:C,labelX:z,labelY:L,glWidth:r,glColor:d,glBorderDash:g,glBorderDashOffset:x,rotation:-1*y,label:m,major:i.major,textBaseline:F,textAlign:N})}}),s.each(w,function(t){if(u.display&&(r.save(),r.lineWidth=t.glWidth,r.strokeStyle=t.glColor,r.setLineDash&&(r.setLineDash(t.glBorderDash),r.lineDashOffset=t.glBorderDashOffset),r.beginPath(),u.drawTicks&&(r.moveTo(t.tx1,t.ty1),r.lineTo(t.tx2,t.ty2)),u.drawOnChartArea&&(r.moveTo(t.x1,t.y1),r.lineTo(t.x2,t.y2)),r.stroke(),r.restore()),c.display){r.save(),r.translate(t.labelX,t.labelY),r.rotate(t.rotation),r.font=t.major?v.font:x.font,r.fillStyle=t.major?m:g,r.textBaseline=t.textBaseline,r.textAlign=t.textAlign;var e=t.label;if(s.isArray(e))for(var i=0,n=0;i<e.length;++i)r.fillText(""+e[i],0,n),n+=1.5*x.size;else r.fillText(e,0,0);r.restore()}})}}})}},{13:13,22:22,6:6,7:7}],12:[function(t,e,i){"use strict";var n=t(6),a=t(22);e.exports=function(t){t.scaleService={constructors:{},defaults:{},registerScaleType:function(t,e,i){this.constructors[t]=e,this.defaults[t]=a.clone(i)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(t){return this.defaults.hasOwnProperty(t)?a.merge({},[n.scale,this.defaults[t]]):{}},updateScaleDefaults:function(t,e){var i=this;i.defaults.hasOwnProperty(t)&&(i.defaults[t]=a.extend(i.defaults[t],e))},addScalesToLayout:function(e){a.each(e.scales,function(i){i.fullWidth=i.options.fullWidth,i.position=i.options.position,i.weight=i.options.weight,t.layoutService.addBox(e,i)})}}}},{22:22,6:6}],13:[function(t,e,i){"use strict";var n=t(22);e.exports={generators:{linear:function(t,e){var i,a=[];if(t.stepSize&&t.stepSize>0)i=t.stepSize;else{var o=n.niceNum(e.max-e.min,!1);i=n.niceNum(o/(t.maxTicks-1),!0)}var r=Math.floor(e.min/i)*i,s=Math.ceil(e.max/i)*i;t.min&&t.max&&t.stepSize&&n.almostWhole((t.max-t.min)/t.stepSize,i/1e3)&&(r=t.min,s=t.max);var l=(s-r)/i;l=n.almostEquals(l,Math.round(l),i/1e3)?Math.round(l):Math.ceil(l);var c=1;i<1&&(c=Math.pow(10,i.toString().length-2),r=Math.round(r*c)/c,s=Math.round(s*c)/c),a.push(void 0!==t.min?t.min:r);for(var d=1;d<l;++d)a.push(Math.round((r+d*i)*c)/c);return a.push(void 0!==t.max?t.max:s),a}},formatters:{values:function(t){return n.isArray(t)?t:""+t},linear:function(t,e,i){var a=i.length>3?i[2]-i[1]:i[1]-i[0];Math.abs(a)>1&&t!==Math.floor(t)&&(a=t-Math.floor(t));var o=n.log10(Math.abs(a)),r="";if(0!==t){var s=-1*Math.floor(o);s=Math.max(Math.min(s,20),0),r=t.toFixed(s)}else r="0";return r}}}},{22:22}],14:[function(t,e,i){"use strict";var n=t(6),a=t(7),o=t(22),r=n.global;n._set("global",{elements:{line:{tension:.4,backgroundColor:r.defaultColor,borderWidth:3,borderColor:r.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0}}}),e.exports=a.extend({draw:function(){var t,e,i,n,a=this,s=a._view,l=a._chart.ctx,c=s.spanGaps,d=a._children.slice(),u=r.elements.line,h=-1;for(a._loop&&d.length&&d.push(d[0]),l.save(),l.lineCap=s.borderCapStyle||u.borderCapStyle,l.setLineDash&&l.setLineDash(s.borderDash||u.borderDash),l.lineDashOffset=s.borderDashOffset||u.borderDashOffset,l.lineJoin=s.borderJoinStyle||u.borderJoinStyle,l.lineWidth=s.borderWidth||u.borderWidth,l.strokeStyle=s.borderColor||r.defaultColor,l.beginPath(),h=-1,t=0;t<d.length;++t)e=d[t],i=o.previousItem(d,t),n=e._view,0===t?n.skip||(l.moveTo(n.x,n.y),h=t):(i=h===-1?i:d[h],n.skip||(h!==t-1&&!c||h===-1?l.moveTo(n.x,n.y):o.canvas.lineTo(l,i._view,e._view),h=t));l.stroke(),l.restore()}})},{22:22,6:6,7:7}],15:[function(t,e,i){"use strict";var n=t(6),a=t(7),o=t(22),r=n.global.defaultColor;n._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:r,borderColor:r,borderWidth:1}}}),e.exports=a.extend({draw:function(t){var e=this._view,i=(this._model,this._chart.ctx),a=e.pointStyle,s=e.radius,l=e.x,c=e.y;o.color;e.skip||(i.strokeStyle=e.borderColor||r,i.lineWidth=o.valueOrDefault(e.borderWidth,n.global.elements.point.borderWidth),i.fillStyle=e.backgroundColor||r,o.canvas.drawPoint(i,a,s,l,c))}})},{22:22,6:6,7:7}],16:[function(t,e,i){"use strict";var n=t(6),a=t(7);n._set("global",{elements:{rectangle:{backgroundColor:n.global.defaultColor,borderColor:n.global.defaultColor,borderSkipped:"bottom",borderWidth:0}}}),e.exports=a.extend({draw:function(){function t(t){return m[(b+t)%4]}var e,i,n,a,o,r,s,l=this._chart.ctx,c=this._view,d=c.borderWidth;if(c.horizontal?(e=c.base,i=c.x,n=c.y-c.height/2,a=c.y+c.height/2,o=i>e?1:-1,r=1,s=c.borderSkipped||"left"):(e=c.x-c.width/2,i=c.x+c.width/2,n=c.y,a=c.base,o=1,r=a>n?1:-1,s=c.borderSkipped||"bottom"),d){var u=Math.min(Math.abs(e-i),Math.abs(n-a));d=d>u?u:d;var h=d/2,f=e+("left"!==s?h*o:0),p=i+("right"!==s?-h*o:0),g=n+("top"!==s?h*r:0),x=a+("bottom"!==s?-h*r:0);f!==p&&(n=g,a=x),g!==x&&(e=f,i=p)}l.beginPath(),l.fillStyle=c.backgroundColor,l.strokeStyle=c.borderColor,l.lineWidth=d;var m=[[e,a],[e,n],[i,n],[i,a]],v=["bottom","left","top","right"],b=v.indexOf(s,0);b===-1&&(b=0);var y=t(0);l.moveTo(y[0],y[1]);for(var w=1;w<4;w++)y=t(w),l.lineTo(y[0],y[1]);l.fill(),d&&l.stroke()},height:function(){var t=this._view;return t.base-t.y}})},{6:6,7:7}],17:[function(t,e,i){"use strict";e.exports={},e.exports.Line=t(14),e.exports.Point=t(15),e.exports.Rectangle=t(16)},{14:14,15:15,16:16}],18:[function(t,e,i){"use strict";var n=t(19),i=e.exports={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},drawPoint:function(t,e,i,n,a){isNaN(i)||i<=0||(t.beginPath(),t.arc(n,a,i,0,2*Math.PI),t.closePath(),t.fill(),t.stroke())},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,i,n){return i.steppedLine?("after"===i.steppedLine&&!n||"after"!==i.steppedLine&&n?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y),void t.lineTo(i.x,i.y)):i.tension?void t.bezierCurveTo(n?e.controlPointPreviousX:e.controlPointNextX,n?e.controlPointPreviousY:e.controlPointNextY,n?i.controlPointNextX:i.controlPointPreviousX,n?i.controlPointNextY:i.controlPointPreviousY,i.x,i.y):void t.lineTo(i.x,i.y)}};n.clear=i.clear},{19:19}],19:[function(t,e,i){"use strict";var n={noop:function(){},uid:function(){var t=0;return function(){return t++}}(),isNullOrUndef:function(t){return null===t||"undefined"==typeof t},isArray:Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},isObject:function(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)},valueOrDefault:function(t,e){return"undefined"==typeof t?e:t},valueAtIndexOrDefault:function(t,e,i){return n.valueOrDefault(n.isArray(t)?t[e]:t,i)},callback:function(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)},each:function(t,e,i,a){var o,r,s;if(n.isArray(t))if(r=t.length,a)for(o=r-1;o>=0;o--)e.call(i,t[o],o);else for(o=0;o<r;o++)e.call(i,t[o],o);else if(n.isObject(t))for(s=Object.keys(t),r=s.length,o=0;o<r;o++)e.call(i,t[s[o]],s[o])},clone:function(t){if(n.isArray(t))return t.map(n.clone);if(n.isObject(t)){for(var e={},i=Object.keys(t),a=i.length,o=0;o<a;++o)e[i[o]]=n.clone(t[i[o]]);return e}return t},_merger:function(t,e,i,a){var o=e[t],r=i[t];n.isObject(o)&&n.isObject(r)?n.merge(o,r,a):e[t]=n.clone(r)},_mergerIf:function(t,e,i){var a=e[t],o=i[t];n.isObject(a)&&n.isObject(o)?n.mergeIf(a,o):e.hasOwnProperty(t)||(e[t]=n.clone(o))},merge:function(t,e,i){var a,o,r,s,l,c=n.isArray(e)?e:[e],d=c.length;if(!n.isObject(t))return t;for(i=i||{},a=i.merger||n._merger,o=0;o<d;++o)if(e=c[o],n.isObject(e))for(r=Object.keys(e),l=0,s=r.length;l<s;++l)a(r[l],t,e,i);return t},mergeIf:function(t,e){return n.merge(t,e,{merger:n._mergerIf})},extend:function(t){for(var e=function(e,i){t[i]=e},i=1,a=arguments.length;i<a;++i)n.each(arguments[i],e);return t},inherits:function(t){var e=this,i=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},a=function(){this.constructor=i};return a.prototype=e.prototype,i.prototype=new a,i.extend=n.inherits,t&&n.extend(i.prototype,t),i.__super__=e.prototype,i}};e.exports=n,n.callCallback=n.callback,n.indexOf=function(t,e,i){return Array.prototype.indexOf.call(t,e,i)},n.getValueOrDefault=n.valueOrDefault,n.getValueAtIndexOrDefault=n.valueAtIndexOrDefault},{}],20:[function(t,e,i){"use strict";t(19);e.exports={}},{19:19}],21:[function(t,e,i){"use strict";var n=t(19);e.exports={toLineHeight:function(t,e){var i=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,i,a,o;return n.isObject(t)?(e=+t.top||0,i=+t.right||0,a=+t.bottom||0,o=+t.left||0):e=i=a=o=+t||0,{top:e,right:i,bottom:a,left:o,height:e+a,width:o+i}}}},{19:19}],22:[function(t,e,i){"use strict";e.exports=t(19),e.exports.easing=t(20),e.exports.canvas=t(18),e.exports.options=t(21)},{18:18,19:19,20:20,21:21}],23:[function(t,e,i){"use strict";function n(t,e){var i=h.getStyle(t,e),n=i&&i.match(/^(\d+)(\.\d+)?px$/);return n?Number(n[1]):void 0}function a(t,e){var i=t.style,a=t.getAttribute("height"),o=t.getAttribute("width");if(t[f]={initial:{height:a,width:o,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",null===o||""===o){var r=n(t,"width");void 0!==r&&(t.width=r)}if(null===a||""===a)if(""===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var s=n(t,"height");void 0!==r&&(t.height=s)}return t}function o(t,e,i){t.addEventListener(e,i,b)}function r(t,e,i,n,a){return{type:t,chart:e,"native":a||null,x:void 0!==i?i:null,y:void 0!==n?n:null}}function s(t,e){var i=!1,n=[];return function(){n=Array.prototype.slice.call(arguments),e=e||this,i||(i=!0,h.requestAnimFrame.call(window,function(){i=!1,t.apply(e,n)}))}}function l(t){var e=document.createElement("div"),i=p+"size-monitor",n=1e6,a="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;";e.style.cssText=a,e.className=i,e.innerHTML='<div class="'+i+'-expand" style="'+a+'"><div style="position:absolute;width:'+n+"px;height:"+n+'px;left:0;top:0"></div></div><div class="'+i+'-shrink" style="'+a+'"><div style="position:absolute;width:200%;height:200%;left:0; top:0"></div></div>';var r=e.childNodes[0],s=e.childNodes[1];e._reset=function(){r.scrollLeft=n,r.scrollTop=n,s.scrollLeft=n,s.scrollTop=n};var l=function(){e._reset(),t()};return o(r,"scroll",l.bind(r,"expand")),o(s,"scroll",l.bind(s,"shrink")),e}function c(t,e){var i=t[f]||(t[f]={}),n=i.renderProxy=function(t){t.animationName===x&&e()};h.each(m,function(e){o(t,e,n)}),i.reflow=!!t.offsetParent,t.classList.add(g)}function d(t,e,i){var n=t[f]||(t[f]={}),a=n.resizer=l(s(function(){if(n.resizer)return e(r("resize",i))}));c(t,function(){if(n.resizer){var e=t.parentNode;e&&e!==a.parentNode&&e.insertBefore(a,e.firstChild),a._reset()}})}function u(t,e){var i=t._style||document.createElement("style");t._style||(t._style=i,e="/* Chart.js */\n"+e,i.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(i)),i.appendChild(document.createTextNode(e))}var h=t(22),f="$chartjs",p="chartjs-",g=p+"render-monitor",x=p+"render-animation",m=["animationstart","webkitAnimationStart"],v=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(i){}return t}(),b=!!v&&{passive:!0};e.exports={initialize:function(){var t="from{opacity:0.99}to{opacity:1}";u(this,"@-webkit-keyframes "+x+"{"+t+"}@keyframes "+x+"{"+t+"}."+g+"{-webkit-animation:"+x+" 0.001s;animation:"+x+" 0.001s;}")},acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(a(t,e),i):null},addEventListener:function(t,e,i){var n=t.canvas;if("resize"===e)return void d(n,i,t)}}},{22:22}],24:[function(t,e,i){"use strict";var n=(t(22),t(23));e.exports=n},{22:22,23:23}],25:[function(t,e,i){"use strict";e.exports=function(t){var e={position:"bottom"},i=t.Scale.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t=this,e=t.getLabels();t.minIndex=0,t.maxIndex=e.length-1;var i;void 0!==t.options.ticks.min&&(i=e.indexOf(t.options.ticks.min),t.minIndex=i!==-1?i:t.minIndex),void 0!==t.options.ticks.max&&(i=e.indexOf(t.options.ticks.max),t.maxIndex=i!==-1?i:t.maxIndex),t.min=e[t.minIndex],t.max=e[t.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getPixelForValue:function(t,e){var i,n=this,a=n.options.offset,o=Math.max(n.maxIndex+1-n.minIndex-(a?0:1),1);if(void 0!==t&&null!==t&&(i=n.isHorizontal()?t.x:t.y),void 0!==i||void 0!==t&&isNaN(e)){var r=n.getLabels();t=i||t;var s=r.indexOf(t);e=s!==-1?s:e}if(n.isHorizontal()){var l=n.width/o,c=l*(e-n.minIndex);return a&&(c+=l/2),n.left+Math.round(c)}var d=n.height/o,u=d*(e-n.minIndex);return a&&(u+=d/2),n.top+Math.round(u)},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e,i=this,n=i.options.offset,a=Math.max(i._ticks.length-(n?0:1),1),o=i.isHorizontal(),r=(o?i.width:i.height)/a;return t-=o?i.left:i.top,n&&(t-=r/2),e=t<=0?0:Math.round(t/r),e+i.minIndex},getBasePixel:function(){return this.bottom}});t.scaleService.registerScaleType("category",i,e)}},{}],26:[function(t,e,i){"use strict";var n=t(6),a=t(22),o=t(13);e.exports=function(t){var e={position:"left",ticks:{callback:o.formatters.linear}},i=t.LinearScaleBase.extend({determineDataLimits:function(){function t(t){return r?t.xAxisID===e.id:t.yAxisID===e.id}var e=this,i=(e.options,e.chart),n=i.data,o=n.datasets,r=e.isHorizontal(),s=0,l=1;e.min=null,e.max=null,a.each(o,function(n,o){var r=i.getDatasetMeta(o);i.isDatasetVisible(o)&&t(r)&&a.each(n.data,function(t,i){var n=+e.getRightValue(t);isNaN(n)||r.data[i].hidden||(null===e.min?e.min=n:n<e.min&&(e.min=n),null===e.max?e.max=n:n>e.max&&(e.max=n))})}),e.min=isFinite(e.min)&&!isNaN(e.min)?e.min:s,e.max=isFinite(e.max)&&!isNaN(e.max)?e.max:l,this.handleTickRangeOptions()},getTickLimit:function(){var t,e=this,i=e.options.ticks;if(e.isHorizontal())t=Math.min(i.maxTicksLimit?i.maxTicksLimit:11,Math.ceil(e.width/50));else{var o=a.valueOrDefault(i.fontSize,n.global.defaultFontSize);t=Math.min(i.maxTicksLimit?i.maxTicksLimit:11,Math.ceil(e.height/(2*o)))}return t},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getPixelForValue:function(t){var e,i=this,n=i.start,a=+i.getRightValue(t),o=i.end-n;return e=i.isHorizontal()?i.left+i.width/o*(a-n):i.bottom-i.height/o*(a-n)},getValueForPixel:function(t){var e=this,i=e.isHorizontal(),n=i?e.width:e.height,a=(i?t-e.left:e.bottom-t)/n;return e.start+(e.end-e.start)*a},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});t.scaleService.registerScaleType("linear",i,e)}},{13:13,22:22,6:6}],27:[function(t,e,i){"use strict";var n=t(22),a=t(13);e.exports=function(t){var e=n.noop;t.LinearScaleBase=t.Scale.extend({getRightValue:function(e){return"string"==typeof e?+e:t.Scale.prototype.getRightValue.call(this,e)},handleTickRangeOptions:function(){var t=this,e=t.options,i=e.ticks;if(i.beginAtZero){var a=n.sign(t.min),o=n.sign(t.max);a<0&&o<0?t.max=0:a>0&&o>0&&(t.min=0)}var r=void 0!==i.min||void 0!==i.suggestedMin,s=void 0!==i.max||void 0!==i.suggestedMax;void 0!==i.min?t.min=i.min:void 0!==i.suggestedMin&&(null===t.min?t.min=i.suggestedMin:t.min=Math.min(t.min,i.suggestedMin)),void 0!==i.max?t.max=i.max:void 0!==i.suggestedMax&&(null===t.max?t.max=i.suggestedMax:t.max=Math.max(t.max,i.suggestedMax)),r!==s&&t.min>=t.max&&(r?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,i.beginAtZero||t.min--)},getTickLimit:e,handleDirectionalChanges:e,buildTicks:function(){var t=this,e=t.options,i=e.ticks,o=t.getTickLimit();o=Math.max(2,o);var r={maxTicks:o,min:i.min,max:i.max,stepSize:n.valueOrDefault(i.fixedStepSize,i.stepSize)},s=t.ticks=a.generators.linear(r,t);t.handleDirectionalChanges(),t.max=n.max(s),t.min=n.min(s),i.reverse?(s.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),t.Scale.prototype.convertTicksToLabels.call(e)}})}},{13:13,22:22}]},{},[1])(1)}); \ No newline at end of file
diff --git a/web/vendor/geo.min.js b/web/vendor/geo.min.js
deleted file mode 100644
index 4f44b30ca..000000000
--- a/web/vendor/geo.min.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// geo-location-javascript v0.4.8 http://code.google.com/p/geo-location-javascript/ Copyright (c) 2009 Stan Wiechers. Licensed under the MIT licenses.
-
-var bb_success;var bb_error;var bb_blackberryTimeout_id=-1;function handleBlackBerryLocationTimeout()
-{if(bb_blackberryTimeout_id!=-1)
-{bb_error({message:"Timeout error",code:3});}}
-function handleBlackBerryLocation()
-{clearTimeout(bb_blackberryTimeout_id);bb_blackberryTimeout_id=-1;if(bb_success&&bb_error)
-{if(blackberry.location.latitude==0&&blackberry.location.longitude==0)
-{bb_error({message:"Position unavailable",code:2});}
-else
-{var timestamp=null;if(blackberry.location.timestamp)
-{timestamp=new Date(blackberry.location.timestamp);}
-bb_success({timestamp:timestamp,coords:{latitude:blackberry.location.latitude,longitude:blackberry.location.longitude}});}
-bb_success=null;bb_error=null;}}
-var geo_position_js=function(){var pub={};var provider=null;var u="undefined";pub.showMap=function(latitude,longitude)
-{if(typeof(blackberry)!=u)
-{blackberry.launch.newMap({"latitude":latitude*100000,"longitude":-longitude*100000});}
-else
-{window.location="http://maps.google.com/maps?q=loc:"+latitude+","+longitude;}}
-pub.getCurrentPosition=function(success,error,opts)
-{provider.getCurrentPosition(success,error,opts);}
-pub.init=function()
-{try
-{if(typeof(geo_position_js_simulator)!=u)
-{provider=geo_position_js_simulator;}
-else if(typeof(bondi)!=u&&typeof(bondi.geolocation)!=u)
-{provider=bondi.geolocation;}
-else if(typeof(navigator.geolocation)!=u)
-{provider=navigator.geolocation;pub.getCurrentPosition=function(success,error,opts)
-{function _success(p)
-{if(typeof(p.latitude)!=u)
-{success({timestamp:p.timestamp,coords:{latitude:p.latitude,longitude:p.longitude}});}
-else
-{success(p);}}
-provider.getCurrentPosition(_success,error,opts);}}
-else if(typeof(window.blackberry)!=u&&blackberry.location.GPSSupported)
-{if(typeof(blackberry.location.setAidMode)==u)
-{return false;}
-blackberry.location.setAidMode(2);pub.getCurrentPosition=function(success,error,opts)
-{bb_success=success;bb_error=error;if(opts['timeout'])
-{bb_blackberryTimeout_id=setTimeout("handleBlackBerryLocationTimeout()",opts['timeout']);}
-else
-{bb_blackberryTimeout_id=setTimeout("handleBlackBerryLocationTimeout()",60000);}
-blackberry.location.onLocationUpdate("handleBlackBerryLocation()");blackberry.location.refreshLocation();}
-provider=blackberry.location;}
-else if(typeof(window.google)!="undefined"&&typeof(google.gears)!="undefined")
-{provider=google.gears.factory.create('beta.geolocation');pub.getCurrentPosition=function(successCallback,errorCallback,options)
-{function _successCallback(p)
-{if(typeof(p.latitude)!="undefined")
-{successCallback({timestamp:p.timestamp,coords:{latitude:p.latitude,longitude:p.longitude}});}
-else
-{successCallback(p);}}
-provider.getCurrentPosition(_successCallback,errorCallback,options);}}
-else if(typeof(Mojo)!=u&&typeof(Mojo.Service.Request)!="Mojo.Service.Request")
-{provider=true;pub.getCurrentPosition=function(success,error,opts)
-{parameters={};if(opts)
-{if(opts.enableHighAccuracy&&opts.enableHighAccuracy==true)
-{parameters.accuracy=1;}
-if(opts.maximumAge)
-{parameters.maximumAge=opts.maximumAge;}
-if(opts.responseTime)
-{if(opts.responseTime<5)
-{parameters.responseTime=1;}
-else if(opts.responseTime<20)
-{parameters.responseTime=2;}
-else
-{parameters.timeout=3;}}}
-r=new Mojo.Service.Request('palm://com.palm.location',{method:"getCurrentPosition",parameters:parameters,onSuccess:function(p){success({timestamp:p.timestamp,coords:{latitude:p.latitude,longitude:p.longitude,heading:p.heading}});},onFailure:function(e){if(e.errorCode==1)
-{error({code:3,message:"Timeout"});}
-else if(e.errorCode==2)
-{error({code:2,message:"Position unavailable"});}
-else
-{error({code:0,message:"Unknown Error: webOS-code"+errorCode});}}});}}
-else if(typeof(device)!=u&&typeof(device.getServiceObject)!=u)
-{provider=device.getServiceObject("Service.Location","ILocation");pub.getCurrentPosition=function(success,error,opts)
-{function callback(transId,eventCode,result){if(eventCode==4)
-{error({message:"Position unavailable",code:2});}
-else
-{success({timestamp:null,coords:{latitude:result.ReturnValue.Latitude,longitude:result.ReturnValue.Longitude,altitude:result.ReturnValue.Altitude,heading:result.ReturnValue.Heading}});}}
-var criteria=new Object();criteria.LocationInformationClass="BasicLocationInformation";provider.ILocation.GetLocation(criteria,callback);}}}
-catch(e){if(typeof(console)!=u)
-{console.log(e);}
-return false;}
-return provider!=null;}
-return pub;}(); \ No newline at end of file
diff --git a/web/vendor/jquery-ui/css/smoothness/images/animated-overlay.gif b/web/vendor/jquery-ui/css/smoothness/images/animated-overlay.gif
deleted file mode 100755
index d441f75eb..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/animated-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
deleted file mode 100755
index c09235f60..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
deleted file mode 100755
index d29011d2a..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
deleted file mode 100755
index 1558bea51..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
deleted file mode 100755
index 0359b121f..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
deleted file mode 100755
index 4fce6c462..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
deleted file mode 100755
index 5299b5a0b..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
deleted file mode 100755
index 398c56a9c..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
deleted file mode 100755
index d819aa58a..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png
deleted file mode 100755
index c1cb1170c..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png
deleted file mode 100755
index 84b601bf0..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png
deleted file mode 100755
index b6db1acdd..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png
deleted file mode 100755
index feea0e202..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png
deleted file mode 100755
index ed5b6b093..000000000
--- a/web/vendor/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png
+++ /dev/null
Binary files differ
diff --git a/web/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css b/web/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css
deleted file mode 100755
index 604cd558d..000000000
--- a/web/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! jQuery UI - v1.10.3 - 2013-11-06
-* http://jqueryui.com
-* Includes: jquery.ui.core.css, jquery.ui.datepicker.css, jquery.ui.theme.css
-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file
diff --git a/web/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js b/web/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js
deleted file mode 100755
index 774c48050..000000000
--- a/web/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! jQuery UI - v1.10.3 - 2013-11-06
-* http://jqueryui.com
-* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.datepicker.js
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-
-(function(e,t){function i(t,i){var s,n,r,o=t.nodeName.toLowerCase();return"area"===o?(s=t.parentNode,n=s.name,t.href&&n&&"map"===s.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&a(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&a(t)}function a(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,a){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),a&&a.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var a,s,n=e(this[0]);n.length&&n[0]!==document;){if(a=n.css("position"),("absolute"===a||"relative"===a||"fixed"===a)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,a){return!!e.data(t,a[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var a=e.attr(t,"tabindex"),s=isNaN(a);return(s||a>=0)&&i(t,!s)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,a){function s(t,i,a,s){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,a&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===a?["Left","Right"]:["Top","Bottom"],r=a.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+a]=function(i){return i===t?o["inner"+a].call(this):this.each(function(){e(this).css(r,s(this,i)+"px")})},e.fn["outer"+a]=function(t,i){return"number"!=typeof t?o["outer"+a].call(this,t):this.each(function(){e(this).css(r,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,a){var s,n=e.ui[t].prototype;for(s in a)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([i,a[s]])},call:function(e,t,i){var a,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(a=0;s.length>a;a++)e.options[s[a][0]]&&s[a][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var a=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[a]>0?!0:(t[a]=1,s=t[a]>0,t[a]=0,s)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,a=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(n){}a(t)},e.widget=function(i,s,a){var n,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],n=u+"-"+i,a||(a=s,s=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:a.version,_proto:e.extend({},a),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(a,function(i,a){return e.isFunction(a)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,n=this._superApply;return this._super=e,this._superApply=t,i=a.apply(this,arguments),this._super=s,this._superApply=n,i}}(),t):(l[i]=a,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:n}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var a,n,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(a in r[o])n=r[o][a],r[o].hasOwnProperty(a)&&n!==t&&(i[a]=e.isPlainObject(n)?e.isPlainObject(i[a])?e.widget.extend({},i[a],n):e.widget.extend({},n):n);return i},e.widget.bridge=function(i,a){var n=a.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,a=e.data(this,n);return a?e.isFunction(a[r])&&"_"!==r.charAt(0)?(s=a[r].apply(a,h),s!==a&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,n);t?t.option(r||{})._init():e.data(this,n,new a(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var a,n,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},a=i.split("."),i=a.shift(),a.length){for(n=o[i]=e.widget.extend({},this.options[i]),r=0;a.length-1>r;r++)n[a[r]]=n[a[r]]||{},n=n[a[r]];if(i=a.pop(),s===t)return n[i]===t?null:n[i];n[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,a){var n,r=this;"boolean"!=typeof i&&(a=s,s=i,i=!1),a?(s=n=e(s),this.bindings=this.bindings.add(s)):(a=s,s=this.element,n=this.widget()),e.each(a,function(a,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=a.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?n.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var a,n,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],n=i.originalEvent)for(a in n)a in i||(i[a]=n[a]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,a,n){"string"==typeof a&&(a={effect:a});var r,o=a?a===!0||"number"==typeof a?i:a.effect||i:t;a=a||{},"number"==typeof a&&(a={duration:a}),r=!e.isEmptyObject(a),a.complete=n,a.delay&&s.delay(a.delay),r&&e.effects&&e.effects.effect[o]?s[t](a):o!==t&&s[o]?s[o](a.duration,a.easing,n):s.queue(function(i){e(this)[t](),n&&n.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,a=1===i.which,n="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return a&&!n&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e,t){function i(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function s(t,i){return parseInt(e.css(t,i),10)||0}function a(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,r=Math.max,o=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(n!==t)return n;var i,s,a=e("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),r=a.children()[0];return e("body").append(a),i=r.offsetWidth,a.css("overflow","scroll"),s=r.offsetWidth,i===s&&(s=a[0].clientWidth),a.remove(),n=i-s},getScrollInfo:function(t){var i=t.isWindow?"":t.element.css("overflow-x"),s=t.isWindow?"":t.element.css("overflow-y"),a="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,n="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:n?e.position.scrollbarWidth():0,height:a?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]);return{element:i,isWindow:s,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},e.fn.position=function(t){if(!t||!t.of)return f.apply(this,arguments);t=e.extend({},t);var n,p,m,g,v,y,b=e(t.of),_=e.position.getWithinInfo(t.within),x=e.position.getScrollInfo(_),k=(t.collision||"flip").split(" "),w={};return y=a(b),b[0].preventDefault&&(t.at="left top"),p=y.width,m=y.height,g=y.offset,v=e.extend({},g),e.each(["my","at"],function(){var e,i,s=(t[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):u.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=u.test(s[1])?s[1]:"center",e=c.exec(s[0]),i=c.exec(s[1]),w[this]=[e?e[0]:0,i?i[0]:0],t[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===t.at[0]?v.left+=p:"center"===t.at[0]&&(v.left+=p/2),"bottom"===t.at[1]?v.top+=m:"center"===t.at[1]&&(v.top+=m/2),n=i(w.at,p,m),v.left+=n[0],v.top+=n[1],this.each(function(){var a,l,u=e(this),c=u.outerWidth(),d=u.outerHeight(),f=s(this,"marginLeft"),y=s(this,"marginTop"),D=c+f+s(this,"marginRight")+x.width,T=d+y+s(this,"marginBottom")+x.height,M=e.extend({},v),S=i(w.my,u.outerWidth(),u.outerHeight());"right"===t.my[0]?M.left-=c:"center"===t.my[0]&&(M.left-=c/2),"bottom"===t.my[1]?M.top-=d:"center"===t.my[1]&&(M.top-=d/2),M.left+=S[0],M.top+=S[1],e.support.offsetFractions||(M.left=h(M.left),M.top=h(M.top)),a={marginLeft:f,marginTop:y},e.each(["left","top"],function(i,s){e.ui.position[k[i]]&&e.ui.position[k[i]][s](M,{targetWidth:p,targetHeight:m,elemWidth:c,elemHeight:d,collisionPosition:a,collisionWidth:D,collisionHeight:T,offset:[n[0]+S[0],n[1]+S[1]],my:t.my,at:t.at,within:_,elem:u})}),t.using&&(l=function(e){var i=g.left-M.left,s=i+p-c,a=g.top-M.top,n=a+m-d,h={target:{element:b,left:g.left,top:g.top,width:p,height:m},element:{element:u,left:M.left,top:M.top,width:c,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>n?"top":a>0?"bottom":"middle"};c>p&&p>o(i+s)&&(h.horizontal="center"),d>m&&m>o(a+n)&&(h.vertical="middle"),h.important=r(o(i),o(s))>r(o(a),o(n))?"horizontal":"vertical",t.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollLeft:s.offset.left,n=s.width,o=e.left-t.collisionPosition.marginLeft,h=a-o,l=o+t.collisionWidth-n-a;t.collisionWidth>n?h>0&&0>=l?(i=e.left+h+t.collisionWidth-n-a,e.left+=h-i):e.left=l>0&&0>=h?a:h>l?a+n-t.collisionWidth:a:h>0?e.left+=h:l>0?e.left-=l:e.left=r(e.left-o,e.left)},top:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollTop:s.offset.top,n=t.within.height,o=e.top-t.collisionPosition.marginTop,h=a-o,l=o+t.collisionHeight-n-a;t.collisionHeight>n?h>0&&0>=l?(i=e.top+h+t.collisionHeight-n-a,e.top+=h-i):e.top=l>0&&0>=h?a:h>l?a+n-t.collisionHeight:a:h>0?e.top+=h:l>0?e.top-=l:e.top=r(e.top-o,e.top)}},flip:{left:function(e,t){var i,s,a=t.within,n=a.offset.left+a.scrollLeft,r=a.width,h=a.isWindow?a.scrollLeft:a.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,c=l+t.collisionWidth-r-h,d="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+d+p+f+t.collisionWidth-r-n,(0>i||o(u)>i)&&(e.left+=d+p+f)):c>0&&(s=e.left-t.collisionPosition.marginLeft+d+p+f-h,(s>0||c>o(s))&&(e.left+=d+p+f))},top:function(e,t){var i,s,a=t.within,n=a.offset.top+a.scrollTop,r=a.height,h=a.isWindow?a.scrollTop:a.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,c=l+t.collisionHeight-r-h,d="top"===t.my[1],p=d?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-r-n,e.top+p+f+m>u&&(0>s||o(u)>s)&&(e.top+=p+f+m)):c>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,e.top+p+f+m>c&&(i>0||c>o(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,a,n,r=document.getElementsByTagName("body")[0],o=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(n in s)t.style[n]=s[n];t.appendChild(o),i=r||document.documentElement,i.insertBefore(t,i.firstChild),o.style.cssText="position: absolute; left: 10.7432222px;",a=e(o).offset().left,e.support.offsetFractions=a>10&&11>a,t.innerHTML="",i.removeChild(t)}()})(jQuery);(function(e,t){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){e.datepicker._isDisabledDatepicker(n.inline?t.parent()[0]:n.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))})}function s(t,i){e.extend(t,i);for(var a in i)null==i[a]&&(t[a]=i[a]);return t}e.extend(e.ui,{datepicker:{version:"1.10.3"}});var n,r="datepicker";e.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return s(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var a,s,n;a=t.nodeName.toLowerCase(),s="div"===a||"span"===a,t.id||(this.uuid+=1,t.id="dp"+this.uuid),n=this._newInst(e(t),s),n.settings=e.extend({},i||{}),"input"===a?this._connectDatepicker(t,n):s&&this._inlineDatepicker(t,n)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var a=e(t);i.append=e([]),i.trigger=e([]),a.hasClass(this.markerClassName)||(this._attachments(a,i),a.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,r,i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var a,s,n,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=e("<span class='"+this._appendClass+"'>"+r+"</span>"),t[o?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),a=this._get(i,"showOn"),("focus"===a||"both"===a)&&t.focus(this._showDatepicker),("button"===a||"both"===a)&&(s=this._get(i,"buttonText"),n=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:n,alt:s,title:s}):e("<button type='button'></button>").addClass(this._triggerClass).html(n?e("<img/>").attr({src:n,alt:s,title:s}):s)),t[o?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,a,s,n=new Date(2009,11,20),r=this._get(e,"dateFormat");r.match(/[DM]/)&&(t=function(e){for(i=0,a=0,s=0;e.length>s;s++)e[s].length>i&&(i=e[s].length,a=s);return a},n.setMonth(t(this._get(e,r.match(/MM/)?"monthNames":"monthNamesShort"))),n.setDate(t(this._get(e,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-n.getDay())),e.input.attr("size",this._formatDate(e,n).length)}},_inlineDatepicker:function(t,i){var a=e(t);a.hasClass(this.markerClassName)||(a.addClass(this.markerClassName).append(i.dpDiv),e.data(t,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,a,n,o){var h,l,u,d,c,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},e.data(this._dialogInput[0],r,p)),s(p.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,u=document.documentElement.clientHeight,d=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+d,u/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=a,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(t){var i,a=e(t),s=e.data(t,r);a.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,r),"input"===i?(s.append.remove(),s.trigger.remove(),a.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&a.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,n.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().removeClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,n.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().addClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,a,n){var r,o,h,l,u=this._getInst(i);return 2===arguments.length&&"string"==typeof a?"defaults"===a?e.extend({},e.datepicker._defaults):u?"all"===a?e.extend({},u.settings):this._get(u,a):null:(r=a||{},"string"==typeof a&&(r={},r[a]=n),u&&(this._curInst===u&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(u,"min"),l=this._getMinMaxDate(u,"max"),s(u.settings,r),null!==h&&r.dateFormat!==t&&r.minDate===t&&(u.settings.minDate=this._formatDate(u,h)),null!==l&&r.dateFormat!==t&&r.maxDate===t&&(u.settings.maxDate=this._formatDate(u,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(e(i),u),this._autoSize(u),this._setDate(u,o),this._updateAlternate(u),this._updateDatepicker(u)),t)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,a,s,n=e.datepicker._getInst(t.target),r=!0,o=n.dpDiv.is(".ui-datepicker-rtl");if(n._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),r=!1;break;case 13:return s=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",n.dpDiv),s[0]&&e.datepicker._selectDay(t.target,n.selectedMonth,n.selectedYear,s[0]),i=e.datepicker._get(n,"onSelect"),i?(a=e.datepicker._formatDate(n),i.apply(n.input?n.input[0]:null,[a,n])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),r=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),r=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?1:-1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),r=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?-1:1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),r=t.ctrlKey||t.metaKey;break;default:r=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):r=!1;r&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(i){var a,s,n=e.datepicker._getInst(i.target);return e.datepicker._get(n,"constrainInput")?(a=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">s||!a||a.indexOf(s)>-1):t},_doKeyUp:function(t){var i,a=e.datepicker._getInst(t.target);if(a.input.val()!==a.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,e.datepicker._getFormatConfig(a)),i&&(e.datepicker._setDateFromField(a),e.datepicker._updateAlternate(a),e.datepicker._updateDatepicker(a))}catch(s){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,a,n,r,o,h,l;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),a=e.datepicker._get(i,"beforeShow"),n=a?a.apply(t,[t,i]):{},n!==!1&&(s(i.settings,n),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),r=!1,e(t).parents().each(function(){return r|="fixed"===e(this).css("position"),!r}),o={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),o=e.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=e.datepicker._get(i,"showAnim"),l=e.datepicker._get(i,"duration"),i.dpDiv.zIndex(e(t).zIndex()+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[h]?i.dpDiv.show(h,e.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,n=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t),t.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,a=this._getNumberOfMonths(t),s=a[1],r=17;t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),s>1&&t.dpDiv.addClass("ui-datepicker-multi-"+s).css("width",r*s+"em"),t.dpDiv[(1!==a[0]||1!==a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,a){var s=t.dpDiv.outerWidth(),n=t.dpDiv.outerHeight(),r=t.input?t.input.outerWidth():0,o=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(a?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(a?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?s-r:0,i.left-=a&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=a&&i.top===t.input.offset().top+o?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+s>h&&h>s?Math.abs(i.left+s-h):0),i.top-=Math.min(i.top,i.top+n>l&&l>n?Math.abs(n+o):0),i},_findPos:function(t){for(var i,a=this._getInst(t),s=this._get(a,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[s?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,a,s,n,o=this._curInst;!o||t&&o!==e.data(t,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),a=this._get(o,"duration"),s=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),a,s):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?a:null,s),i||s(),this._datepickerShowing=!1,n=this._get(o,"onClose"),n&&n.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),a=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==a)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,a){var s=e(t),n=this._getInst(s[0]);this._isDisabledDatepicker(s[0])||(this._adjustInstDate(n,i+("M"===a?this._get(n,"showCurrentAtPos"):0),a),this._updateDatepicker(n))},_gotoToday:function(t){var i,a=e(t),s=this._getInst(a[0]);this._get(s,"gotoCurrent")&&s.currentDay?(s.selectedDay=s.currentDay,s.drawMonth=s.selectedMonth=s.currentMonth,s.drawYear=s.selectedYear=s.currentYear):(i=new Date,s.selectedDay=i.getDate(),s.drawMonth=s.selectedMonth=i.getMonth(),s.drawYear=s.selectedYear=i.getFullYear()),this._notifyChange(s),this._adjustDate(a)},_selectMonthYear:function(t,i,a){var s=e(t),n=this._getInst(s[0]);n["selected"+("M"===a?"Month":"Year")]=n["draw"+("M"===a?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(n),this._adjustDate(s)},_selectDay:function(t,i,a,s){var n,r=e(t);e(s).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(n=this._getInst(r[0]),n.selectedDay=n.currentDay=e("a",s).html(),n.selectedMonth=n.currentMonth=i,n.selectedYear=n.currentYear=a,this._selectDate(t,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var a,s=e(t),n=this._getInst(s[0]);i=null!=i?i:this._formatDate(n),n.input&&n.input.val(i),this._updateAlternate(n),a=this._get(n,"onSelect"),a?a.apply(n.input?n.input[0]:null,[i,n]):n.input&&n.input.trigger("change"),n.inline?this._updateDatepicker(n):(this._hideDatepicker(),this._lastInput=n.input[0],"object"!=typeof n.input[0]&&n.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,a,s,n=this._get(t,"altField");n&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),a=this._getDate(t),s=this.formatDate(i,a,this._getFormatConfig(t)),e(n).each(function(){e(this).val(s)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(i,a,s){if(null==i||null==a)throw"Invalid arguments";if(a="object"==typeof a?""+a:a+"",""===a)return null;var n,r,o,h,l=0,u=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,d="string"!=typeof u?u:(new Date).getFullYear()%100+parseInt(u,10),c=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,p=(s?s.dayNames:null)||this._defaults.dayNames,m=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,y=-1,b=-1,_=!1,k=function(e){var t=i.length>n+1&&i.charAt(n+1)===e;return t&&n++,t},x=function(e){var t=k(e),i="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,s=RegExp("^\\d{1,"+i+"}"),n=a.substring(l).match(s);if(!n)throw"Missing number at position "+l;return l+=n[0].length,parseInt(n[0],10)},D=function(i,s,n){var r=-1,o=e.map(k(i)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,i){var s=i[1];return a.substr(l,s.length).toLowerCase()===s.toLowerCase()?(r=i[0],l+=s.length,!1):t}),-1!==r)return r+1;throw"Unknown name at position "+l},w=function(){if(a.charAt(l)!==i.charAt(n))throw"Unexpected literal at position "+l;l++};for(n=0;i.length>n;n++)if(_)"'"!==i.charAt(n)||k("'")?w():_=!1;else switch(i.charAt(n)){case"d":y=x("d");break;case"D":D("D",c,p);break;case"o":b=x("o");break;case"m":v=x("m");break;case"M":v=D("M",m,f);break;case"y":g=x("y");break;case"@":h=new Date(x("@")),g=h.getFullYear(),v=h.getMonth()+1,y=h.getDate();break;case"!":h=new Date((x("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,y=h.getDate();break;case"'":k("'")?w():_=!0;break;default:w()}if(a.length>l&&(o=a.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(d>=g?0:-100)),b>-1)for(v=1,y=b;;){if(r=this._getDaysInMonth(g,v-1),r>=y)break;v++,y-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,y)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==y)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var a,s=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,n=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>a+1&&e.charAt(a+1)===t;return i&&a++,i},l=function(e,t,i){var a=""+t;if(h(e))for(;i>a.length;)a="0"+a;return a},u=function(e,t,i,a){return h(e)?a[t]:i[t]},d="",c=!1;if(t)for(a=0;e.length>a;a++)if(c)"'"!==e.charAt(a)||h("'")?d+=e.charAt(a):c=!1;else switch(e.charAt(a)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),s,n);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),r,o);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(a)}return d},_possibleChars:function(e){var t,i="",a=!1,s=function(i){var a=e.length>t+1&&e.charAt(t+1)===i;return a&&t++,a};for(t=0;e.length>t;t++)if(a)"'"!==e.charAt(t)||s("'")?i+=e.charAt(t):a=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":s("'")?i+="'":a=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,i){return e.settings[i]!==t?e.settings[i]:this._defaults[i]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),a=e.lastVal=e.input?e.input.val():null,s=this._getDefaultDate(e),n=s,r=this._getFormatConfig(e);try{n=this.parseDate(i,a,r)||s}catch(o){a=t?"":a}e.selectedDay=n.getDate(),e.drawMonth=e.selectedMonth=n.getMonth(),e.drawYear=e.selectedYear=n.getFullYear(),e.currentDay=a?n.getDate():0,e.currentMonth=a?n.getMonth():0,e.currentYear=a?n.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,a){var s=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},n=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(a){}for(var s=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,n=s.getFullYear(),r=s.getMonth(),o=s.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r));break;case"y":case"Y":n+=parseInt(l[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r))}l=h.exec(i)}return new Date(n,r,o)},r=null==i||""===i?a:"string"==typeof i?n(i):"number"==typeof i?isNaN(i)?a:s(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?a:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var a=!t,s=e.selectedMonth,n=e.selectedYear,r=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=r.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=r.getMonth(),e.drawYear=e.selectedYear=e.currentYear=r.getFullYear(),s===e.selectedMonth&&n===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(a?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),a="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(a,-i,"M")},next:function(){e.datepicker._adjustDate(a,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(a)},selectDay:function(){return e.datepicker._selectDay(a,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(a,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(a,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,a,s,n,r,o,h,l,u,d,c,p,m,f,g,v,y,b,_,k,x,D,w,T,M,S,N,C,A,P,I,F,j,H,E,z,L,O,R=new Date,W=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(e,"isRTL"),J=this._get(e,"showButtonPanel"),$=this._get(e,"hideIfNoPrevNext"),Q=this._get(e,"navigationAsDateFormat"),B=this._getNumberOfMonths(e),K=this._get(e,"showCurrentAtPos"),V=this._get(e,"stepMonths"),U=1!==B[0]||1!==B[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),q=this._getMinMaxDate(e,"min"),X=this._getMinMaxDate(e,"max"),Z=e.drawMonth-K,et=e.drawYear;if(0>Z&&(Z+=12,et--),X)for(t=this._daylightSavingAdjust(new Date(X.getFullYear(),X.getMonth()-B[0]*B[1]+1,X.getDate())),t=q&&q>t?q:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=Q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-V,1)),this._getFormatConfig(e)):i,a=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":$?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",s=this._get(e,"nextText"),s=Q?this.formatDate(s,this._daylightSavingAdjust(new Date(et,Z+V,1)),this._getFormatConfig(e)):s,n=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+s+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+s+"</span></a>":$?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+s+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+s+"</span></a>",r=this._get(e,"currentText"),o=this._get(e,"gotoCurrent")&&e.currentDay?G:W,r=Q?this.formatDate(r,o,this._getFormatConfig(e)):r,h=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",l=J?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),m=this._get(e,"monthNames"),f=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",x=0;B[0]>x;x++){for(D="",this.maxRows=4,w=0;B[1]>w;w++){if(T=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),M=" ui-corner-all",S="",U){if(S+="<div class='ui-datepicker-group",B[1]>1)switch(w){case 0:S+=" ui-datepicker-group-first",M=" ui-corner-"+(Y?"right":"left");break;case B[1]-1:S+=" ui-datepicker-group-last",M=" ui-corner-"+(Y?"left":"right");break;default:S+=" ui-datepicker-group-middle",M=""}S+="'>"}for(S+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+M+"'>"+(/all|left/.test(M)&&0===x?Y?n:a:"")+(/all|right/.test(M)&&0===x?Y?a:n:"")+this._generateMonthYearHeader(e,Z,et,q,X,x>0||w>0,m,f)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",N=d?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",k=0;7>k;k++)C=(k+u)%7,N+="<th"+((k+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+c[C]+"'>"+p[C]+"</span></th>";for(S+=N+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),P=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((P+A)/7),F=U?this.maxRows>I?this.maxRows:I:I,this.maxRows=F,j=this._daylightSavingAdjust(new Date(et,Z,1-P)),H=0;F>H;H++){for(S+="<tr>",E=d?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(j)+"</td>":"",k=0;7>k;k++)z=g?g.apply(e.input?e.input[0]:null,[j]):[!0,""],L=j.getMonth()!==Z,O=L&&!y||!z[0]||q&&q>j||X&&j>X,E+="<td class='"+((k+u+6)%7>=5?" ui-datepicker-week-end":"")+(L?" ui-datepicker-other-month":"")+(j.getTime()===T.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===j.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(O?" "+this._unselectableClass+" ui-state-disabled":"")+(L&&!v?"":" "+z[1]+(j.getTime()===G.getTime()?" "+this._currentClass:"")+(j.getTime()===W.getTime()?" ui-datepicker-today":""))+"'"+(L&&!v||!z[2]?"":" title='"+z[2].replace(/'/g,"&#39;")+"'")+(O?"":" data-handler='selectDay' data-event='click' data-month='"+j.getMonth()+"' data-year='"+j.getFullYear()+"'")+">"+(L&&!v?"&#xa0;":O?"<span class='ui-state-default'>"+j.getDate()+"</span>":"<a class='ui-state-default"+(j.getTime()===W.getTime()?" ui-state-highlight":"")+(j.getTime()===G.getTime()?" ui-state-active":"")+(L?" ui-priority-secondary":"")+"' href='#'>"+j.getDate()+"</a>")+"</td>",j.setDate(j.getDate()+1),j=this._daylightSavingAdjust(j);S+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),S+="</tbody></table>"+(U?"</div>"+(B[0]>0&&w===B[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),D+=S}_+=D}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,a,s,n,r,o){var h,l,u,d,c,p,m,f,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",_="";if(n||!g)_+="<span class='ui-datepicker-month'>"+r[t]+"</span>";else{for(h=a&&a.getFullYear()===i,l=s&&s.getFullYear()===i,_+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=a.getMonth())&&(!l||s.getMonth()>=u)&&(_+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+o[u]+"</option>");_+="</select>"}if(y||(b+=_+(!n&&g&&v?"":"&#xa0;")),!e.yearshtml)if(e.yearshtml="",n||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);
-return isNaN(t)?c:t},m=p(d[0]),f=Math.max(m,p(d[1]||"")),m=a?Math.max(m,a.getFullYear()):m,f=s?Math.min(f,s.getFullYear()):f,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";f>=m;m++)e.yearshtml+="<option value='"+m+"'"+(m===i?" selected='selected'":"")+">"+m+"</option>";e.yearshtml+="</select>",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!n&&g&&v?"":"&#xa0;")+_),b+="</div>"},_adjustInstDate:function(e,t,i){var a=e.drawYear+("Y"===i?t:0),s=e.drawMonth+("M"===i?t:0),n=Math.min(e.selectedDay,this._getDaysInMonth(a,s))+("D"===i?t:0),r=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(a,s,n)));e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),s=i&&i>t?i:t;return a&&s>a?a:s},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,a){var s=this._getNumberOfMonths(e),n=this._daylightSavingAdjust(new Date(i,a+(0>t?t:s[0]*s[1]),1));return 0>t&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(e,n)},_isInRange:function(e,t){var i,a,s=this._getMinMaxDate(e,"min"),n=this._getMinMaxDate(e,"max"),r=null,o=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),a=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=a),i[1].match(/[+\-].*/)&&(o+=a)),(!s||t.getTime()>=s.getTime())&&(!n||t.getTime()<=n.getTime())&&(!r||t.getFullYear()>=r)&&(!o||o>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,a){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var s=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(a,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),s,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new i,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.10.3"})(jQuery); \ No newline at end of file
diff --git a/web/vendor/jquery.multi-select.min.js b/web/vendor/jquery.multi-select.min.js
new file mode 100644
index 000000000..015aee226
--- /dev/null
+++ b/web/vendor/jquery.multi-select.min.js
@@ -0,0 +1,9 @@
+(function(c){function f(b,a){this.b=c(b);this.a=c.extend({},g,a);this.H()}var g={containerHTML:'<div class="multi-select-container">',menuHTML:'<div class="multi-select-menu">',buttonHTML:'<span class="multi-select-button">',menuItemsHTML:'<div class="multi-select-menuitems">',menuItemHTML:'<label class="multi-select-menuitem">',presetsHTML:'<div class="multi-select-presets">',activeClass:"multi-select-container--open",noneText:"-- Select --",allText:void 0,presets:void 0,positionedMenuClass:"multi-select-container--positioned",
+positionMenuWithin:void 0,viewportBottomGutter:20,menuMinHeight:200};c.extend(f.prototype,{H:function(){this.v();this.G();this.A();this.w();this.B();this.J();this.K();this.b.hide()},v:function(){if(!1===this.b.is("select[multiple]"))throw Error("$.multiSelect only works on <select multiple> elements");},G:function(){this.l=c('label[for="'+this.b.attr("id")+'"]')},A:function(){this.f=c(this.a.containerHTML);this.b.data("multi-select-container",this.f);this.f.insertAfter(this.b)},w:function(){var b=
+this;this.g=c(this.a.buttonHTML);this.g.attr({role:"button","aria-haspopup":"true",tabindex:0,"aria-label":this.l.eq(0).text()}).on("keydown.multiselect",function(a){a=a.which;13!==a&&32!==a||b.g.click()}).on("click.multiselect",function(){b.m()}).appendTo(this.f);this.b.on("change.multiselect",function(){b.o()});this.o()},o:function(){var b=[],a=[];this.b.children("option").each(function(){var d=c(this).text();b.push(d);c(this).is(":selected")&&a.push(c.trim(d))});this.g.empty();0==a.length?this.g.text(this.a.noneText):
+a.length===b.length&&this.a.allText?this.g.text(this.a.allText):this.g.text(a.join(", "))},B:function(){var b=this;this.c=c(this.a.menuHTML);this.c.attr({role:"menu"}).on("keyup.multiselect",function(a){27===a.which&&b.j()}).appendTo(this.f);this.D();this.a.presets&&this.F()},D:function(){var b=this;this.h=c(this.a.menuItemsHTML);this.c.append(this.h);this.b.on("change.multiselect",function(a,c){!0!==c&&b.s()});this.s()},s:function(){var b=this;this.h.empty();this.b.children("option").each(function(a,
+d){a=b.C(c(d),a);b.h.append(a)})},F:function(){var b=this;this.i=c(this.a.presetsHTML);this.c.prepend(this.i);c.each(this.a.presets,function(a,d){a=b.b.attr("name")+"_preset_"+a;var h=c(b.a.menuItemHTML).attr({"for":a,role:"menuitem"}).text(" "+d.name).appendTo(b.i);c("<input>").attr({type:"radio",name:b.b.attr("name")+"_presets",id:a}).prependTo(h).on("change.multiselect",function(){b.b.val(d.options);b.b.trigger("change")})});this.b.on("change.multiselect",function(){b.u()});this.u()},u:function(){var b=
+this;c.each(this.a.presets,function(a,c){a=b.b.attr("name")+"_preset_"+a;a=b.i.find("#"+a);a:{c=c.options||[];var d=b.b.val()||[];if(c.length!=d.length)c=!1;else{c.sort();d.sort();for(var e=0;e<c.length;e++)if(c[e]!==d[e]){c=!1;break a}c=!0}}c?a.prop("checked",!0):a.prop("checked",!1)})},C:function(b,a){var d=this.b.attr("name")+"_"+a;a=c(this.a.menuItemHTML).attr({"for":d,role:"menuitem"}).text(" "+b.text());d=c("<input>").attr({type:"checkbox",id:d,value:b.val()}).prependTo(a);b.is(":disabled")&&
+d.attr("disabled","disabled");b.is(":selected")&&d.prop("checked","checked");d.on("change.multiselect",function(){c(this).prop("checked")?b.prop("selected",!0):b.prop("selected",!1);b.trigger("change",[!0])});return a},J:function(){var b=this;c("html").on("click.multiselect",function(){b.j()});this.f.on("click.multiselect",function(a){a.stopPropagation()})},K:function(){var b=this;this.l.on("click.multiselect",function(a){a.preventDefault();a.stopPropagation();b.m()})},I:function(){c("html").trigger("click.multiselect");
+this.f.addClass(this.a.activeClass);if(this.a.positionMenuWithin&&this.a.positionMenuWithin instanceof c){var b=this.c.offset().left+this.c.outerWidth(),a=this.a.positionMenuWithin.offset().left+this.a.positionMenuWithin.outerWidth();b>a&&(this.c.css("width",a-this.c.offset().left),this.f.addClass(this.a.positionedMenuClass))}b=this.c.offset().top+this.c.outerHeight();a=c(window).scrollTop()+c(window).height();b>a-this.a.viewportBottomGutter?this.c.css({maxHeight:Math.max(a-this.a.viewportBottomGutter-
+this.c.offset().top,this.a.menuMinHeight),overflow:"scroll"}):this.c.css({maxHeight:"",overflow:""})},j:function(){this.f.removeClass(this.a.activeClass);this.f.removeClass(this.a.positionedMenuClass);this.c.css("width","auto")},m:function(){this.f.hasClass(this.a.activeClass)?this.j():this.I()}});c.fn.multiSelect=function(b){return this.each(function(){c.data(this,"plugin_multiSelect")||c.data(this,"plugin_multiSelect",new f(this,b))})}})(jQuery);
diff --git a/web/vendor/yepnope.js b/web/vendor/yepnope.js
deleted file mode 100644
index d48d17427..000000000
--- a/web/vendor/yepnope.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(e,t,n){function r(e){return"[object Function]"==y.call(e)}function o(e){return"string"==typeof e}function a(){}function i(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function c(){var e=v.shift();g=1,e?e.t?m(function(){("c"==e.t?f.injectCss:f.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),c()):g=0}function l(e,n,r,o,a,l,s){function u(t){if(!p&&i(d.readyState)&&(b.r=p=1,!g&&c(),d.onload=d.onreadystatechange=null,t)){"img"!=e&&m(function(){C.removeChild(d)},50);for(var r in M[n])M[n].hasOwnProperty(r)&&M[n][r].onload()}}var s=s||f.errorTimeout,d=t.createElement(e),p=0,y=0,b={t:r,s:n,e:a,a:l,x:s};1===M[n]&&(y=1,M[n]=[]),"object"==e?d.data=n:(d.src=n,d.type=e),d.width=d.height="0",d.onerror=d.onload=d.onreadystatechange=function(){u.call(this,y)},v.splice(o,0,b),"img"!=e&&(y||2===M[n]?(C.insertBefore(d,E?null:h),m(u,s)):M[n].push(d))}function s(e,t,n,r,a){return g=0,t=t||"j",o(e)?l("c"==t?w:S,e,t,this.i++,n,r,a):(v.splice(this.i++,0,e),1==v.length&&c()),this}function u(){var e=f;return e.loader={load:s,i:0},e}var d,f,p=t.documentElement,m=e.setTimeout,h=t.getElementsByTagName("script")[0],y={}.toString,v=[],g=0,b="MozAppearance"in p.style,E=b&&!!t.createRange().compareNode,C=E?p:h.parentNode,p=e.opera&&"[object Opera]"==y.call(e.opera),p=!!t.attachEvent&&!p,S=b?"object":p?"script":"img",w=p?"script":S,j=Array.isArray||function(e){return"[object Array]"==y.call(e)},F=[],M={},N={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}};f=function(e){function t(e){var t,n,r,e=e.split("!"),o=F.length,a=e.pop(),i=e.length,a={url:a,origUrl:a,prefixes:e};for(n=0;i>n;n++)r=e[n].split("="),(t=N[r.shift()])&&(a=t(a,r));for(n=0;o>n;n++)a=F[n](a);return a}function i(e,o,a,i,c){var l=t(e),s=l.autoCallback;l.url.split(".").pop().split("?").shift(),l.bypass||(o&&(o=r(o)?o:o[e]||o[i]||o[e.split("/").pop().split("?")[0]]),l.instead?l.instead(e,o,a,i,c):(M[l.url]?l.noexec=!0:M[l.url]=1,a.load(l.url,l.forceCSS||!l.forceJS&&"css"==l.url.split(".").pop().split("?").shift()?"c":n,l.noexec,l.attrs,l.timeout),(r(o)||r(s))&&a.load(function(){u(),o&&o(l.origUrl,c,i),s&&s(l.origUrl,c,i),M[l.url]=2})))}function c(e,t){function n(e,n){if(e){if(o(e))n||(d=function(){var e=[].slice.call(arguments);f.apply(this,e),p()}),i(e,d,t,0,s);else if(Object(e)===e)for(l in c=function(){var t,n=0;for(t in e)e.hasOwnProperty(t)&&n++;return n}(),e)e.hasOwnProperty(l)&&(!n&&!--c&&(r(d)?d=function(){var e=[].slice.call(arguments);f.apply(this,e),p()}:d[l]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),p()}}(f[l])),i(e[l],d,t,l,s))}else!n&&p()}var c,l,s=!!e.test,u=e.load||e.both,d=e.callback||a,f=d,p=e.complete||a;n(s?e.yep:e.nope,!!u),u&&n(u)}var l,s,d=this.yepnope.loader;if(o(e))i(e,0,d,0);else if(j(e))for(l=0;l<e.length;l++)s=e[l],o(s)?i(s,0,d,0):j(s)?f(s):Object(s)===s&&c(s,d);else Object(e)===e&&c(e,d)},f.addPrefix=function(e,t){N[e]=t},f.addFilter=function(e){F.push(e)},f.errorTimeout=1e4,null==t.readyState&&t.addEventListener&&(t.readyState="loading",t.addEventListener("DOMContentLoaded",d=function(){t.removeEventListener("DOMContentLoaded",d,0),t.readyState="complete"},0)),e.yepnope=u(),e.yepnope.executeStack=c,e.yepnope.injectJs=function(e,n,r,o,l,s){var u,d,p=t.createElement("script"),o=o||f.errorTimeout;p.src=e;for(d in r)p.setAttribute(d,r[d]);n=s?c:n||a,p.onreadystatechange=p.onload=function(){!u&&i(p.readyState)&&(u=1,n(),p.onload=p.onreadystatechange=null)},m(function(){u||(u=1,n(1))},o),l?p.onload():h.parentNode.insertBefore(p,h)},e.yepnope.injectCss=function(e,n,r,o,i,l){var s,o=t.createElement("link"),n=l?c:n||a;o.href=e,o.rel="stylesheet",o.type="text/css";for(s in r)o.setAttribute(s,r[s]);i||(h.parentNode.insertBefore(o,h),m(n,0))}})(this,document);