summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios/www
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-05-06 15:21:54 +0200
committerJules Laplace <julescarbon@gmail.com>2020-05-06 15:21:54 +0200
commit9c18073017b5cc2334bf1867c004bfc74ba5a92a (patch)
tree6e0d18d602babd4532499f25224c36aed9af61a5 /StoneIsland/platforms/ios/www
parent91eff5910a8a7d55159bdeb0f5b8d4945be0da48 (diff)
update build
Diffstat (limited to 'StoneIsland/platforms/ios/www')
-rwxr-xr-xStoneIsland/platforms/ios/www/css/account.css3
-rwxr-xr-xStoneIsland/platforms/ios/www/css/cart.css13
-rwxr-xr-xStoneIsland/platforms/ios/www/css/fonts/ionicons.css15
-rwxr-xr-xStoneIsland/platforms/ios/www/css/nav.css22
-rwxr-xr-xStoneIsland/platforms/ios/www/index.html201
-rwxr-xr-xStoneIsland/platforms/ios/www/js/index.js4
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/auth/SignupView.js31
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/blogs/HubView.js8
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js4
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js8
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js17
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js11
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js12
-rw-r--r--StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/nav/NavView.js8
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/products/CollectionView.js3
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/products/GalleryView.js53
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/products/ProductView.js4
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/view/Serializable.js2
19 files changed, 272 insertions, 149 deletions
diff --git a/StoneIsland/platforms/ios/www/css/account.css b/StoneIsland/platforms/ios/www/css/account.css
index 998b6eac..6ea72423 100755
--- a/StoneIsland/platforms/ios/www/css/account.css
+++ b/StoneIsland/platforms/ios/www/css/account.css
@@ -139,6 +139,9 @@ label {
text-transform:uppercase;
height: 48px;
}
+.error_hilite label {
+ color: #f00;
+}
input[type=text], input[type=password], input[type=number], input[type=date], input[type=email] {
font-family:pfd, sans-serif;
font-size: 0.875rem;
diff --git a/StoneIsland/platforms/ios/www/css/cart.css b/StoneIsland/platforms/ios/www/css/cart.css
index 36a446a7..eda4cc82 100755
--- a/StoneIsland/platforms/ios/www/css/cart.css
+++ b/StoneIsland/platforms/ios/www/css/cart.css
@@ -11,7 +11,7 @@
display: flex;
flex-direction: row;
}
-#cart .steps span {
+#cart .steps div {
display: flex;
font-size: 1rem;
text-align: center;
@@ -22,6 +22,9 @@
justify-content: center;
align-items: center;
}
+#cart .steps div span {
+ pointer-events: none;
+}
.summary_step, .shipping_step {
border-right: 1px solid #666;
}
@@ -42,6 +45,14 @@
overflow: hidden;
position: relative;
}
+.vscroll #cart_summary,
+.vscroll #cart_shipping,
+.vscroll #cart_payment,
+.vscroll #cart_confirm,
+.vscroll #cart_thanks,
+.vscroll #cart_error {
+ overflow: auto;
+}
#cart.summary #cart_summary { display: block }
#cart_summary {
diff --git a/StoneIsland/platforms/ios/www/css/fonts/ionicons.css b/StoneIsland/platforms/ios/www/css/fonts/ionicons.css
index 885aa6bd..974a91f7 100755
--- a/StoneIsland/platforms/ios/www/css/fonts/ionicons.css
+++ b/StoneIsland/platforms/ios/www/css/fonts/ionicons.css
@@ -11,7 +11,20 @@
Modified icons to fit ionicon’s grid from original.
*/
@font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.eot?v=2.0.0"); src: url("../fonts/ionicons.eot?v=2.0.0#iefix") format("embedded-opentype"), url("../fonts/ionicons.ttf?v=2.0.0") format("truetype"), url("../fonts/ionicons.woff?v=2.0.0") format("woff"), url("../fonts/ionicons.svg?v=2.0.0#Ionicons") format("svg"); font-weight: normal; font-style: normal; }
-.ion, .ionicons, .ion-alert:before, .ion-alert-circled:before, .ion-android-add:before, .ion-android-add-circle:before, .ion-android-alarm-clock:before, .ion-android-alert:before, .ion-android-apps:before, .ion-android-archive:before, .ion-android-arrow-back:before, .ion-android-arrow-down:before, .ion-android-arrow-dropdown:before, .ion-android-arrow-dropdown-circle:before, .ion-android-arrow-dropleft:before, .ion-android-arrow-dropleft-circle:before, .ion-android-arrow-dropright:before, .ion-android-arrow-dropright-circle:before, .ion-android-arrow-dropup:before, .ion-android-arrow-dropup-circle:before, .ion-android-arrow-forward:before, .ion-android-arrow-up:before, .ion-android-attach:before, .ion-android-bar:before, .ion-android-bicycle:before, .ion-android-boat:before, .ion-android-bookmark:before, .ion-android-bulb:before, .ion-android-bus:before, .ion-android-calendar:before, .ion-android-call:before, .ion-android-camera:before, .ion-android-cancel:before, .ion-android-car:before, .ion-android-cart:before, .ion-android-chat:before, .ion-android-checkbox:before, .ion-android-checkbox-blank:before, .ion-android-checkbox-outline:before, .ion-android-checkbox-outline-blank:before, .ion-android-checkmark-circle:before, .ion-android-clipboard:before, .ion-android-close:before, .ion-android-cloud:before, .ion-android-cloud-circle:before, .ion-android-cloud-done:before, .ion-android-cloud-outline:before, .ion-android-color-palette:before, .ion-android-compass:before, .ion-android-contact:before, .ion-android-contacts:before, .ion-android-contract:before, .ion-android-create:before, .ion-android-delete:before, .ion-android-desktop:before, .ion-android-document:before, .ion-android-done:before, .ion-android-done-all:before, .ion-android-download:before, .ion-android-drafts:before, .ion-android-exit:before, .ion-android-expand:before, .ion-android-favorite:before, .ion-android-favorite-outline:before, .ion-android-film:before, .ion-android-folder:before, .ion-android-folder-open:before, .ion-android-funnel:before, .ion-android-globe:before, .ion-android-hand:before, .ion-android-hangout:before, .ion-android-happy:before, .ion-android-home:before, .ion-android-image:before, .ion-android-laptop:before, .ion-android-list:before, .ion-android-locate:before, .ion-android-lock:before, .ion-android-mail:before, .ion-android-map:before, .ion-android-menu:before, .ion-android-microphone:before, .ion-android-microphone-off:before, .ion-android-more-horizontal:before, .ion-android-more-vertical:before, .ion-android-navigate:before, .ion-android-notifications:before, .ion-android-notifications-none:before, .ion-android-notifications-off:before, .ion-android-open:before, .ion-android-options:before, .ion-android-people:before, .ion-android-person:before, .ion-android-person-add:before, .ion-android-phone-landscape:before, .ion-android-phone-portrait:before, .ion-android-pin:before, .ion-android-plane:before, .ion-android-playstore:before, .ion-android-print:before, .ion-android-radio-button-off:before, .ion-android-radio-button-on:before, .ion-android-refresh:before, .ion-android-remove:before, .ion-android-remove-circle:before, .ion-android-restaurant:before, .ion-android-sad:before, .ion-android-search:before, .ion-android-send:before, .ion-android-settings:before, .ion-android-share:before, .ion-android-share-alt:before, .ion-android-star:before, .ion-android-star-half:before, .ion-android-star-outline:before, .ion-android-stopwatch:before, .ion-android-subway:before, .ion-android-sunny:before, .ion-android-sync:before, .ion-android-textsms:before, .ion-android-time:before, .ion-android-train:before, .ion-android-unlock:before, .ion-android-upload:before, .ion-android-volume-down:before, .ion-android-volume-mute:before, .ion-android-volume-off:before, .ion-android-volume-up:before, .ion-android-walk:before, .ion-android-warning:before, .ion-android-watch:before, .ion-android-wifi:before, .ion-aperture:before, .ion-archive:before, .ion-arrow-down-a:before, .ion-arrow-down-b:before, .ion-arrow-down-c:before, .ion-arrow-expand:before, .ion-arrow-graph-down-left:before, .ion-arrow-graph-down-right:before, .ion-arrow-graph-up-left:before, .ion-arrow-graph-up-right:before, .ion-arrow-left-a:before, .ion-arrow-left-b:before, .ion-arrow-left-c:before, .ion-arrow-move:before, .ion-arrow-resize:before, .ion-arrow-return-left:before, .ion-arrow-return-right:before, .ion-arrow-right-a:before, .ion-arrow-right-b:before, .ion-arrow-right-c:before, .ion-arrow-shrink:before, .ion-arrow-swap:before, .ion-arrow-up-a:before, .ion-arrow-up-b:before, .ion-arrow-up-c:before, .ion-asterisk:before, .ion-at:before, .ion-backspace:before, .ion-backspace-outline:before, .ion-bag:before, .ion-battery-charging:before, .ion-battery-empty:before, .ion-battery-full:before, .ion-battery-half:before, .ion-battery-low:before, .ion-beaker:before, .ion-beer:before, .ion-bluetooth:before, .ion-bonfire:before, .ion-bookmark:before, .ion-bowtie:before, .ion-briefcase:before, .ion-bug:before, .ion-calculator:before, .ion-calendar:before, .ion-camera:before, .ion-card:before, .ion-cash:before, .ion-chatbox:before, .ion-chatbox-working:before, .ion-chatboxes:before, .ion-chatbubble:before, .ion-chatbubble-working:before, .ion-chatbubbles:before, .ion-checkmark:before, .ion-checkmark-circled:before, .ion-checkmark-round:before, .ion-chevron-down:before, .ion-chevron-left:before, .ion-chevron-right:before, .ion-chevron-up:before, .ion-clipboard:before, .ion-clock:before, .ion-close:before, .ion-close-circled:before, .ion-close-round:before, .ion-closed-captioning:before, .ion-cloud:before, .ion-code:before, .ion-code-download:before, .ion-code-working:before, .ion-coffee:before, .ion-compass:before, .ion-compose:before, .ion-connection-bars:before, .ion-contrast:before, .ion-crop:before, .ion-cube:before, .ion-disc:before, .ion-document:before, .ion-document-text:before, .ion-drag:before, .ion-earth:before, .ion-easel:before, .ion-edit:before, .ion-egg:before, .ion-eject:before, .ion-email:before, .ion-email-unread:before, .ion-erlenmeyer-flask:before, .ion-erlenmeyer-flask-bubbles:before, .ion-eye:before, .ion-eye-disabled:before, .ion-female:before, .ion-filing:before, .ion-film-marker:before, .ion-fireball:before, .ion-flag:before, .ion-flame:before, .ion-flash:before, .ion-flash-off:before, .ion-folder:before, .ion-fork:before, .ion-fork-repo:before, .ion-forward:before, .ion-funnel:before, .ion-gear-a:before, .ion-gear-b:before, .ion-grid:before, .ion-hammer:before, .ion-happy:before, .ion-happy-outline:before, .ion-headphone:before, .ion-heart:before, .ion-heart-broken:before, .ion-help:before, .ion-help-buoy:before, .ion-help-circled:before, .ion-home:before, .ion-icecream:before, .ion-image:before, .ion-images:before, .ion-information:before, .ion-information-circled:before, .ion-ionic:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-americanfootball:before, .ion-ios-americanfootball-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-left:before, .ion-ios-arrow-right:before, .ion-ios-arrow-thin-down:before, .ion-ios-arrow-thin-left:before, .ion-ios-arrow-thin-right:before, .ion-ios-arrow-thin-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-bell:before, .ion-ios-bell-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bolt:before, .ion-ios-bolt-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-box:before, .ion-ios-box-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubble:before, .ion-ios-chatbubble-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-empty:before, .ion-ios-checkmark-outline:before, .ion-ios-circle-filled:before, .ion-ios-circle-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-empty:before, .ion-ios-close-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compose:before, .ion-ios-compose-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-crop:before, .ion-ios-crop-strong:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-drag:before, .ion-ios-email:before, .ion-ios-email-outline:before, .ion-ios-eye:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-gear:before, .ion-ios-gear-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-grid-view:before, .ion-ios-grid-view-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-empty:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-empty:before, .ion-ios-information-outline:before, .ion-ios-ionic-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-lightbulb:before, .ion-ios-lightbulb-outline:before, .ion-ios-list:before, .ion-ios-list-outline:before, .ion-ios-location:before, .ion-ios-location-outline:before, .ion-ios-locked:before, .ion-ios-locked-outline:before, .ion-ios-loop:before, .ion-ios-loop-strong:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-outline:before, .ion-ios-minus:before, .ion-ios-minus-empty:before, .ion-ios-minus-outline:before, .ion-ios-monitor:before, .ion-ios-monitor-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paperplane:before, .ion-ios-paperplane-outline:before, .ion-ios-partlysunny:before, .ion-ios-partlysunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-outline:before, .ion-ios-personadd:before, .ion-ios-personadd-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-plus:before, .ion-ios-plus-empty:before, .ion-ios-plus-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-printer:before, .ion-ios-printer-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-strong:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-empty:before, .ion-ios-refresh-outline:before, .ion-ios-reload:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-search:before, .ion-ios-search-strong:before, .ion-ios-settings:before, .ion-ios-settings-strong:before, .ion-ios-shuffle:before, .ion-ios-shuffle-strong:before, .ion-ios-skipbackward:before, .ion-ios-skipbackward-outline:before, .ion-ios-skipforward:before, .ion-ios-skipforward-outline:before, .ion-ios-snowy:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-telephone:before, .ion-ios-telephone-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-toggle:before, .ion-ios-toggle-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlocked:before, .ion-ios-unlocked-outline:before, .ion-ios-upload:before, .ion-ios-upload-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-wineglass:before, .ion-ios-wineglass-outline:before, .ion-ios-world:before, .ion-ios-world-outline:before, .ion-ipad:before, .ion-iphone:before, .ion-ipod:before, .ion-jet:before, .ion-key:before, .ion-knife:before, .ion-laptop:before, .ion-leaf:before, .ion-levels:before, .ion-lightbulb:before, .ion-link:before, .ion-load-a:before, .ion-load-b:before, .ion-load-c:before, .ion-load-d:before, .ion-location:before, .ion-lock-combination:before, .ion-locked:before, .ion-log-in:before, .ion-log-out:before, .ion-loop:before, .ion-magnet:before, .ion-male:before, .ion-man:before, .ion-map:before, .ion-medkit:before, .ion-merge:before, .ion-mic-a:before, .ion-mic-b:before, .ion-mic-c:before, .ion-minus:before, .ion-minus-circled:before, .ion-minus-round:before, .ion-model-s:before, .ion-monitor:before, .ion-more:before, .ion-mouse:before, .ion-music-note:before, .ion-navicon:before, .ion-navicon-round:before, .ion-navigate:before, .ion-network:before, .ion-no-smoking:before, .ion-nuclear:before, .ion-outlet:before, .ion-paintbrush:before, .ion-paintbucket:before, .ion-paper-airplane:before, .ion-paperclip:before, .ion-pause:before, .ion-person:before, .ion-person-add:before, .ion-person-stalker:before, .ion-pie-graph:before, .ion-pin:before, .ion-pinpoint:before, .ion-pizza:before, .ion-plane:before, .ion-planet:before, .ion-play:before, .ion-playstation:before, .ion-plus:before, .ion-plus-circled:before, .ion-plus-round:before, .ion-podium:before, .ion-pound:before, .ion-power:before, .ion-pricetag:before, .ion-pricetags:before, .ion-printer:before, .ion-pull-request:before, .ion-qr-scanner:before, .ion-quote:before, .ion-radio-waves:before, .ion-record:before, .ion-refresh:before, .ion-reply:before, .ion-reply-all:before, .ion-ribbon-a:before, .ion-ribbon-b:before, .ion-sad:before, .ion-sad-outline:before, .ion-scissors:before, .ion-search:before, .ion-settings:before, .ion-share:before, .ion-shuffle:before, .ion-skip-backward:before, .ion-skip-forward:before, .ion-social-android:before, .ion-social-android-outline:before, .ion-social-angular:before, .ion-social-angular-outline:before, .ion-social-apple:before, .ion-social-apple-outline:before, .ion-social-bitcoin:before, .ion-social-bitcoin-outline:before, .ion-social-buffer:before, .ion-social-buffer-outline:before, .ion-social-chrome:before, .ion-social-chrome-outline:before, .ion-social-codepen:before, .ion-social-codepen-outline:before, .ion-social-css3:before, .ion-social-css3-outline:before, .ion-social-designernews:before, .ion-social-designernews-outline:before, .ion-social-dribbble:before, .ion-social-dribbble-outline:before, .ion-social-dropbox:before, .ion-social-dropbox-outline:before, .ion-social-euro:before, .ion-social-euro-outline:before, .ion-social-facebook:before, .ion-social-facebook-outline:before, .ion-social-foursquare:before, .ion-social-foursquare-outline:before, .ion-social-freebsd-devil:before, .ion-social-github:before, .ion-social-github-outline:before, .ion-social-google:before, .ion-social-google-outline:before, .ion-social-googleplus:before, .ion-social-googleplus-outline:before, .ion-social-hackernews:before, .ion-social-hackernews-outline:before, .ion-social-html5:before, .ion-social-html5-outline:before, .ion-social-instagram:before, .ion-social-instagram-outline:before, .ion-social-javascript:before, .ion-social-javascript-outline:before, .ion-social-linkedin:before, .ion-social-linkedin-outline:before, .ion-social-markdown:before, .ion-social-nodejs:before, .ion-social-octocat:before, .ion-social-pinterest:before, .ion-social-pinterest-outline:before, .ion-social-python:before, .ion-social-reddit:before, .ion-social-reddit-outline:before, .ion-social-rss:before, .ion-social-rss-outline:before, .ion-social-sass:before, .ion-social-skype:before, .ion-social-skype-outline:before, .ion-social-snapchat:before, .ion-social-snapchat-outline:before, .ion-social-tumblr:before, .ion-social-tumblr-outline:before, .ion-social-tux:before, .ion-social-twitch:before, .ion-social-twitch-outline:before, .ion-social-twitter:before, .ion-social-twitter-outline:before, .ion-social-usd:before, .ion-social-usd-outline:before, .ion-social-vimeo:before, .ion-social-vimeo-outline:before, .ion-social-whatsapp:before, .ion-social-whatsapp-outline:before, .ion-social-windows:before, .ion-social-windows-outline:before, .ion-social-wordpress:before, .ion-social-wordpress-outline:before, .ion-social-yahoo:before, .ion-social-yahoo-outline:before, .ion-social-yen:before, .ion-social-yen-outline:before, .ion-social-youtube:before, .ion-social-youtube-outline:before, .ion-soup-can:before, .ion-soup-can-outline:before, .ion-speakerphone:before, .ion-speedometer:before, .ion-spoon:before, .ion-star:before, .ion-stats-bars:before, .ion-steam:before, .ion-stop:before, .ion-thermometer:before, .ion-thumbsdown:before, .ion-thumbsup:before, .ion-toggle:before, .ion-toggle-filled:before, .ion-transgender:before, .ion-trash-a:before, .ion-trash-b:before, .ion-trophy:before, .ion-tshirt:before, .ion-tshirt-outline:before, .ion-umbrella:before, .ion-university:before, .ion-unlocked:before, .ion-upload:before, .ion-usb:before, .ion-videocamera:before, .ion-volume-high:before, .ion-volume-low:before, .ion-volume-medium:before, .ion-volume-mute:before, .ion-wand:before, .ion-waterdrop:before, .ion-wifi:before, .ion-wineglass:before, .ion-woman:before, .ion-wrench:before, .ion-xbox:before { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
+.ion, .ionicons, .ion-alert:before, .ion-alert-circled:before, .ion-android-add:before, .ion-android-add-circle:before, .ion-android-alarm-clock:before, .ion-android-alert:before, .ion-android-apps:before, .ion-android-archive:before, .ion-android-arrow-back:before, .ion-android-arrow-down:before, .ion-android-arrow-dropdown:before, .ion-android-arrow-dropdown-circle:before, .ion-android-arrow-dropleft:before, .ion-android-arrow-dropleft-circle:before, .ion-android-arrow-dropright:before, .ion-android-arrow-dropright-circle:before, .ion-android-arrow-dropup:before, .ion-android-arrow-dropup-circle:before, .ion-android-arrow-forward:before, .ion-android-arrow-up:before, .ion-android-attach:before, .ion-android-bar:before, .ion-android-bicycle:before, .ion-android-boat:before, .ion-android-bookmark:before, .ion-android-bulb:before, .ion-android-bus:before, .ion-android-calendar:before, .ion-android-call:before, .ion-android-camera:before, .ion-android-cancel:before, .ion-android-car:before, .ion-android-cart:before, .ion-android-chat:before, .ion-android-checkbox:before, .ion-android-checkbox-blank:before, .ion-android-checkbox-outline:before, .ion-android-checkbox-outline-blank:before, .ion-android-checkmark-circle:before, .ion-android-clipboard:before, .ion-android-close:before, .ion-android-cloud:before, .ion-android-cloud-circle:before, .ion-android-cloud-done:before, .ion-android-cloud-outline:before, .ion-android-color-palette:before, .ion-android-compass:before, .ion-android-contact:before, .ion-android-contacts:before, .ion-android-contract:before, .ion-android-create:before, .ion-android-delete:before, .ion-android-desktop:before, .ion-android-document:before, .ion-android-done:before, .ion-android-done-all:before, .ion-android-download:before, .ion-android-drafts:before, .ion-android-exit:before, .ion-android-expand:before, .ion-android-favorite:before, .ion-android-favorite-outline:before, .ion-android-film:before, .ion-android-folder:before, .ion-android-folder-open:before, .ion-android-funnel:before, .ion-android-globe:before, .ion-android-hand:before, .ion-android-hangout:before, .ion-android-happy:before, .ion-android-home:before, .ion-android-image:before, .ion-android-laptop:before, .ion-android-list:before, .ion-android-locate:before, .ion-android-lock:before, .ion-android-mail:before, .ion-android-map:before, .ion-android-menu:before, .ion-android-microphone:before, .ion-android-microphone-off:before, .ion-android-more-horizontal:before, .ion-android-more-vertical:before, .ion-android-navigate:before, .ion-android-notifications:before, .ion-android-notifications-none:before, .ion-android-notifications-off:before, .ion-android-open:before, .ion-android-options:before, .ion-android-people:before, .ion-android-person:before, .ion-android-person-add:before, .ion-android-phone-landscape:before, .ion-android-phone-portrait:before, .ion-android-pin:before, .ion-android-plane:before, .ion-android-playstore:before, .ion-android-print:before, .ion-android-radio-button-off:before, .ion-android-radio-button-on:before, .ion-android-refresh:before, .ion-android-remove:before, .ion-android-remove-circle:before, .ion-android-restaurant:before, .ion-android-sad:before, .ion-android-search:before, .ion-android-send:before, .ion-android-settings:before, .ion-android-share:before, .ion-android-share-alt:before, .ion-android-star:before, .ion-android-star-half:before, .ion-android-star-outline:before, .ion-android-stopwatch:before, .ion-android-subway:before, .ion-android-sunny:before, .ion-android-sync:before, .ion-android-textsms:before, .ion-android-time:before, .ion-android-train:before, .ion-android-unlock:before, .ion-android-upload:before, .ion-android-volume-down:before, .ion-android-volume-mute:before, .ion-android-volume-off:before, .ion-android-volume-up:before, .ion-android-walk:before, .ion-android-warning:before, .ion-android-watch:before, .ion-android-wifi:before, .ion-aperture:before, .ion-archive:before, .ion-arrow-down-a:before, .ion-arrow-down-b:before, .ion-arrow-down-c:before, .ion-arrow-expand:before, .ion-arrow-graph-down-left:before, .ion-arrow-graph-down-right:before, .ion-arrow-graph-up-left:before, .ion-arrow-graph-up-right:before, .ion-arrow-left-a:before, .ion-arrow-left-b:before, .ion-arrow-left-c:before, .ion-arrow-move:before, .ion-arrow-resize:before, .ion-arrow-return-left:before, .ion-arrow-return-right:before, .ion-arrow-right-a:before, .ion-arrow-right-b:before, .ion-arrow-right-c:before, .ion-arrow-shrink:before, .ion-arrow-swap:before, .ion-arrow-up-a:before, .ion-arrow-up-b:before, .ion-arrow-up-c:before, .ion-asterisk:before, .ion-at:before, .ion-backspace:before, .ion-backspace-outline:before, .ion-bag:before, .ion-battery-charging:before, .ion-battery-empty:before, .ion-battery-full:before, .ion-battery-half:before, .ion-battery-low:before, .ion-beaker:before, .ion-beer:before, .ion-bluetooth:before, .ion-bonfire:before, .ion-bookmark:before, .ion-bowtie:before, .ion-briefcase:before, .ion-bug:before, .ion-calculator:before, .ion-calendar:before, .ion-camera:before, .ion-card:before, .ion-cash:before, .ion-chatbox:before, .ion-chatbox-working:before, .ion-chatboxes:before, .ion-chatbubble:before, .ion-chatbubble-working:before, .ion-chatbubbles:before, .ion-checkmark:before, .ion-checkmark-circled:before, .ion-checkmark-round:before, .ion-chevron-down:before, .ion-chevron-left:before, .ion-chevron-right:before, .ion-chevron-up:before, .ion-clipboard:before, .ion-clock:before, .ion-close:before, .ion-close-circled:before, .ion-close-round:before, .ion-closed-captioning:before, .ion-cloud:before, .ion-code:before, .ion-code-download:before, .ion-code-working:before, .ion-coffee:before, .ion-compass:before, .ion-compose:before, .ion-connection-bars:before, .ion-contrast:before, .ion-crop:before, .ion-cube:before, .ion-disc:before, .ion-document:before, .ion-document-text:before, .ion-drag:before, .ion-earth:before, .ion-easel:before, .ion-edit:before, .ion-egg:before, .ion-eject:before, .ion-email:before, .ion-email-unread:before, .ion-erlenmeyer-flask:before, .ion-erlenmeyer-flask-bubbles:before, .ion-eye:before, .ion-eye-disabled:before, .ion-female:before, .ion-filing:before, .ion-film-marker:before, .ion-fireball:before, .ion-flag:before, .ion-flame:before, .ion-flash:before, .ion-flash-off:before, .ion-folder:before, .ion-fork:before, .ion-fork-repo:before, .ion-forward:before, .ion-funnel:before, .ion-gear-a:before, .ion-gear-b:before, .ion-grid:before, .ion-hammer:before, .ion-happy:before, .ion-happy-outline:before, .ion-headphone:before, .ion-heart:before, .ion-heart-broken:before, .ion-help:before, .ion-help-buoy:before, .ion-help-circled:before, .ion-home:before, .ion-icecream:before, .ion-image:before, .ion-images:before, .ion-information:before, .ion-information-circled:before, .ion-ionic:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-americanfootball:before, .ion-ios-americanfootball-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-left:before, .ion-ios-arrow-right:before, .ion-ios-arrow-thin-down:before, .ion-ios-arrow-thin-left:before, .ion-ios-arrow-thin-right:before, .ion-ios-arrow-thin-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-bell:before, .ion-ios-bell-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bolt:before, .ion-ios-bolt-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-box:before, .ion-ios-box-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubble:before, .ion-ios-chatbubble-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-empty:before, .ion-ios-checkmark-outline:before, .ion-ios-circle-filled:before, .ion-ios-circle-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-empty:before, .ion-ios-close-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compose:before, .ion-ios-compose-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-crop:before, .ion-ios-crop-strong:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-drag:before, .ion-ios-email:before, .ion-ios-email-outline:before, .ion-ios-eye:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-gear:before, .ion-ios-gear-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-grid-view:before, .ion-ios-grid-view-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-empty:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-empty:before, .ion-ios-information-outline:before, .ion-ios-ionic-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-lightbulb:before, .ion-ios-lightbulb-outline:before, .ion-ios-list:before, .ion-ios-list-outline:before, .ion-ios-location:before, .ion-ios-location-outline:before, .ion-ios-locked:before, .ion-ios-locked-outline:before, .ion-ios-loop:before, .ion-ios-loop-strong:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-outline:before, .ion-ios-minus:before, .ion-ios-minus-empty:before, .ion-ios-minus-outline:before, .ion-ios-monitor:before, .ion-ios-monitor-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paperplane:before, .ion-ios-paperplane-outline:before, .ion-ios-partlysunny:before, .ion-ios-partlysunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-outline:before, .ion-ios-personadd:before, .ion-ios-personadd-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-plus:before, .ion-ios-plus-empty:before, .ion-ios-plus-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-printer:before, .ion-ios-printer-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-strong:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-empty:before, .ion-ios-refresh-outline:before, .ion-ios-reload:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-search:before, .ion-ios-search-strong:before, .ion-ios-settings:before, .ion-ios-settings-strong:before, .ion-ios-shuffle:before, .ion-ios-shuffle-strong:before, .ion-ios-skipbackward:before, .ion-ios-skipbackward-outline:before, .ion-ios-skipforward:before, .ion-ios-skipforward-outline:before, .ion-ios-snowy:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-telephone:before, .ion-ios-telephone-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-toggle:before, .ion-ios-toggle-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlocked:before, .ion-ios-unlocked-outline:before, .ion-ios-upload:before, .ion-ios-upload-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-wineglass:before, .ion-ios-wineglass-outline:before, .ion-ios-world:before, .ion-ios-world-outline:before, .ion-ipad:before, .ion-iphone:before, .ion-ipod:before, .ion-jet:before, .ion-key:before, .ion-knife:before, .ion-laptop:before, .ion-leaf:before, .ion-levels:before, .ion-lightbulb:before, .ion-link:before, .ion-load-a:before, .ion-load-b:before, .ion-load-c:before, .ion-load-d:before, .ion-location:before, .ion-lock-combination:before, .ion-locked:before, .ion-log-in:before, .ion-log-out:before, .ion-loop:before, .ion-magnet:before, .ion-male:before, .ion-man:before, .ion-map:before, .ion-medkit:before, .ion-merge:before, .ion-mic-a:before, .ion-mic-b:before, .ion-mic-c:before, .ion-minus:before, .ion-minus-circled:before, .ion-minus-round:before, .ion-model-s:before, .ion-monitor:before, .ion-more:before, .ion-mouse:before, .ion-music-note:before, .ion-navicon:before, .ion-navicon-round:before, .ion-navigate:before, .ion-network:before, .ion-no-smoking:before, .ion-nuclear:before, .ion-outlet:before, .ion-paintbrush:before, .ion-paintbucket:before, .ion-paper-airplane:before, .ion-paperclip:before, .ion-pause:before, .ion-person:before, .ion-person-add:before, .ion-person-stalker:before, .ion-pie-graph:before, .ion-pin:before, .ion-pinpoint:before, .ion-pizza:before, .ion-plane:before, .ion-planet:before, .ion-play:before, .ion-playstation:before, .ion-plus:before, .ion-plus-circled:before, .ion-plus-round:before, .ion-podium:before, .ion-pound:before, .ion-power:before, .ion-pricetag:before, .ion-pricetags:before, .ion-printer:before, .ion-pull-request:before, .ion-qr-scanner:before, .ion-quote:before, .ion-radio-waves:before, .ion-record:before, .ion-refresh:before, .ion-reply:before, .ion-reply-all:before, .ion-ribbon-a:before, .ion-ribbon-b:before, .ion-sad:before, .ion-sad-outline:before, .ion-scissors:before, .ion-search:before, .ion-settings:before, .ion-share:before, .ion-shuffle:before, .ion-skip-backward:before, .ion-skip-forward:before, .ion-social-android:before, .ion-social-android-outline:before, .ion-social-angular:before, .ion-social-angular-outline:before, .ion-social-apple:before, .ion-social-apple-outline:before, .ion-social-bitcoin:before, .ion-social-bitcoin-outline:before, .ion-social-buffer:before, .ion-social-buffer-outline:before, .ion-social-chrome:before, .ion-social-chrome-outline:before, .ion-social-codepen:before, .ion-social-codepen-outline:before, .ion-social-css3:before, .ion-social-css3-outline:before, .ion-social-designernews:before, .ion-social-designernews-outline:before, .ion-social-dribbble:before, .ion-social-dribbble-outline:before, .ion-social-dropbox:before, .ion-social-dropbox-outline:before, .ion-social-euro:before, .ion-social-euro-outline:before, .ion-social-facebook:before, .ion-social-facebook-outline:before, .ion-social-foursquare:before, .ion-social-foursquare-outline:before, .ion-social-freebsd-devil:before, .ion-social-github:before, .ion-social-github-outline:before, .ion-social-google:before, .ion-social-google-outline:before, .ion-social-googleplus:before, .ion-social-googleplus-outline:before, .ion-social-hackernews:before, .ion-social-hackernews-outline:before, .ion-social-html5:before, .ion-social-html5-outline:before, .ion-social-instagram:before, .ion-social-instagram-outline:before, .ion-social-javascript:before, .ion-social-javascript-outline:before, .ion-social-linkedin:before, .ion-social-linkedin-outline:before, .ion-social-markdown:before, .ion-social-nodejs:before, .ion-social-octocat:before, .ion-social-pinterest:before, .ion-social-pinterest-outline:before, .ion-social-python:before, .ion-social-reddit:before, .ion-social-reddit-outline:before, .ion-social-rss:before, .ion-social-rss-outline:before, .ion-social-sass:before, .ion-social-skype:before, .ion-social-skype-outline:before, .ion-social-snapchat:before, .ion-social-snapchat-outline:before, .ion-social-tumblr:before, .ion-social-tumblr-outline:before, .ion-social-tux:before, .ion-social-twitch:before, .ion-social-twitch-outline:before, .ion-social-twitter:before, .ion-social-twitter-outline:before, .ion-social-usd:before, .ion-social-usd-outline:before, .ion-social-vimeo:before, .ion-social-vimeo-outline:before, .ion-social-whatsapp:before, .ion-social-whatsapp-outline:before, .ion-social-windows:before, .ion-social-windows-outline:before, .ion-social-wordpress:before, .ion-social-wordpress-outline:before, .ion-social-yahoo:before, .ion-social-yahoo-outline:before, .ion-social-yen:before, .ion-social-yen-outline:before, .ion-social-youtube:before, .ion-social-youtube-outline:before, .ion-soup-can:before, .ion-soup-can-outline:before, .ion-speakerphone:before, .ion-speedometer:before, .ion-spoon:before, .ion-star:before, .ion-stats-bars:before, .ion-steam:before, .ion-stop:before, .ion-thermometer:before, .ion-thumbsdown:before, .ion-thumbsup:before, .ion-toggle:before, .ion-toggle-filled:before, .ion-transgender:before, .ion-trash-a:before, .ion-trash-b:before, .ion-trophy:before, .ion-tshirt:before, .ion-tshirt-outline:before, .ion-umbrella:before, .ion-university:before, .ion-unlocked:before, .ion-upload:before, .ion-usb:before, .ion-videocamera:before, .ion-volume-high:before, .ion-volume-low:before, .ion-volume-medium:before, .ion-volume-mute:before, .ion-wand:before, .ion-waterdrop:before, .ion-wifi:before, .ion-wineglass:before, .ion-woman:before, .ion-wrench:before, .ion-xbox:before {
+ display: inline-block;
+ font-family: "Ionicons";
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ text-rendering: auto;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ pointer-events: none;
+}
.ion-alert:before { content: "\f101"; }
diff --git a/StoneIsland/platforms/ios/www/css/nav.css b/StoneIsland/platforms/ios/www/css/nav.css
index 705c0824..03e3fb39 100755
--- a/StoneIsland/platforms/ios/www/css/nav.css
+++ b/StoneIsland/platforms/ios/www/css/nav.css
@@ -27,6 +27,19 @@
.accessible #content {
position: absolute;
}
+
+.accessible #nav {
+ width: 100%;
+ -webkit-transform: translateZ(0) translateX(-100%);
+}
+.accessible .nav #nav {
+ width: 100%;
+ -webkit-transform: translateZ(0) translateX(0%);
+}
+.accessible .nav #content {
+ -webkit-transform: translateZ(0) translateX(100%);
+}
+
#nav .logo {
background-image: url(../img/small-logo.png);
background-repeat: no-repeat;
@@ -193,6 +206,9 @@ padding-bottom:0px;
align-items: center;
font-size: 1.063rem;
}
+#intro div span {
+ pointer-events: none;
+}
#intro #compass {
pointer-events: none;
background-image: url(../img/compass-logo.png);
@@ -274,6 +290,9 @@ padding-bottom:0px;
flex-direction: row;
justify-content: center;
}
+#header .burger:before {
+ pointer-events: none;
+}
#header .cart_rapper {
display: flex;
@@ -281,7 +300,7 @@ padding-bottom:0px;
align-items: flex-end;
position: relative;
float: right;
- width: 44px; height: 48px;
+ width: 48px; height: 48px;
}
#header .cart {
position: relative;
@@ -292,6 +311,7 @@ padding-bottom:0px;
background-image:url(../img/cart-box.png);
background-size:100%;
background-repeat:no-repeat;
+ pointer-events: none;
}
#header .cart .cart_count {
diff --git a/StoneIsland/platforms/ios/www/index.html b/StoneIsland/platforms/ios/www/index.html
index 568161e5..17289033 100755
--- a/StoneIsland/platforms/ios/www/index.html
+++ b/StoneIsland/platforms/ios/www/index.html
@@ -36,7 +36,7 @@
<div id="nav-row">
<!-- flex -->
- <span role="menu" class="menu">
+ <span role="region" class="menu">
<div class="logo" aria-label="Stone Island"></div>
<div class="close" role="button" aria-label="Close menu"></div>
<div role="menu" aria-label="Main Menu" class="main_menu">
@@ -91,10 +91,10 @@
</div>
<span class="social" role="list" aria-label="Social Links">
- <span role="menuitem" class="fb ion-social-facebook"></span>
- <span role="menuitem" class="insta ion-social-instagram-outline"></span>
- <span role="menuitem" class="tw ion-social-twitter"></span>
- <span role="menuitem" class="yt ion-social-youtube"></span>
+ <span role="menuitem" aria-label="Follow us on Facebook" class="fb ion-social-facebook"></span>
+ <span role="menuitem" aria-label="Follow us on Instagram" class="insta ion-social-instagram-outline"></span>
+ <span role="menuitem" aria-label="Follow us on Twitter" class="tw ion-social-twitter"></span>
+ <span role="menuitem" aria-label="Follow us on Youtube" class="yt ion-social-youtube"></span>
</span>
</div>
@@ -102,25 +102,25 @@
<div id="intro" role="menu" aria-label="Stone Island Home Screen">
<div id="compass"></div>
- <div role="menuitem" class="store">STORE</div>
- <div role="menuitem" class="hub">HUB</div>
- <div role="menuitem" class="story">STORY</div>
- <div role="menuitem" class="archive">ARCHIVE</div>
+ <div role="menuitem" class="store"><span>STORE</span></div>
+ <div role="menuitem" class="hub"><span>HUB</span></div>
+ <div role="menuitem" class="story"><span>STORY</span></div>
+ <div role="menuitem" class="archive"><span>ARCHIVE</span></div>
<div class="alert"></div>
<span class="latlng" role="note" aria-label="Your Latitude and Longitude">+40&deg; 58' 90.9" N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;74&deg; 04' 46.3" W</span>
</div>
<div id="header" role="menubar" aria-label="Menu bar">
- <span role="link" aria-label="Show main menu" class="burger ion-android-menu"></span>
- <span role="link" aria-label="Homepage. Stone Island logo" class="logo"></span>
- <span role="link" aria-label="View cart" class="cart_rapper"><span class="cart"><span role="display" class="cart_count">0</span></span></span>
+ <div role="menuitem" aria-label="Show main menu" class="burger ion-android-menu"></div>
+ <div role="menuitem" aria-label="Homepage. Stone Island logo" class="logo"></div>
+ <div role="menuitem" aria-label="View cart" class="cart_rapper"><span class="cart"><span role="display" class="cart_count">0</span></span></div>
</div>
<!-- BLOGS ================================================ -->
<div id="story" role="region" aria-label="Stone Island Story">
<div class="scroll">
- <h1 aria-label="Current section: Stone Island Story">STORY</h1>
+ <h1 role="menuitem" aria-label="Current section: Stone Island Story">STORY</h1>
<img>
<ul class="links"></ul>
<div class="content">
@@ -135,7 +135,7 @@
<div id="hub" role="region" aria-label="Stone Island Hub">
<div class="scroll">
- <h1 aria-label="Current section: Stone Island Hub">HUB</h1>
+ <h1 role="menuitem" aria-label="Current section: Stone Island Hub">HUB</h1>
<div class="content">
<script type="text/html" class="template">
<div class="hub_item" data-id="{{id}}">
@@ -169,7 +169,7 @@
<div class="content">
<script type="text/html" class="template">
- <div class="image" aria-label="{{label}}" style="background-image:url({{image}})"></div>
+ <div class="image" role="img" aria-label="{{label}}" style="background-image:url({{image}})"></div>
<div class="text">
<div>
<h2>
@@ -194,21 +194,21 @@
</div>
</div>
<div class="heading">
- <h1 role="heading" aria-label="Current section: Stone Island Archive">ARCHIVE</h1>
+ <h1 role="menuitem" aria-label="Current section: Stone Island Archive">ARCHIVE</h1>
<div role="heading" class="subtitle" aria-label="1982 to 2015">'982'015</div>
</div>
</div>
<div id="privacy" role="region" aria-label="Privacy Policy" class="page">
<div class="scroll">
- <h1 aria-label="Current section: Privacy Policy">PRIVACY POLICY</h1>
+ <h1 role="menuitem" aria-label="Current section: Privacy Policy">PRIVACY POLICY</h1>
<div class="content"></div>
</div>
</div>
<div id="account_terms" role="region" aria-label="My Account Terms and Conditions of Use" class="page">
<div class="scroll">
- <h1 aria-label="Current section: My Account terms and conditions of use">MY ACCOUNT TERMS AND CONDITIONS OF USE</h1>
+ <h1 role="menuitem" aria-label="Current section: My Account terms and conditions of use">MY ACCOUNT TERMS AND CONDITIONS OF USE</h1>
<div class="content">
<h2>1. Services</h2>
<p>
@@ -264,21 +264,21 @@
<div id="terms" role="region" aria-label="Terms and Conditions" class="page">
<div class="scroll">
- <h1 aria-label="Current section: Terms and conditions">TERMS AND CONDITIONS</h1>
+ <h1 role="menuitem" aria-label="Current section: Terms and conditions">TERMS AND CONDITIONS</h1>
<div class="content"></div>
</div>
</div>
<div id="returns" role="region" aria-label="Return Policy" class="page">
<div class="scroll">
- <h1 aria-label="Current section: Return policy">RETURN POLICY</h1>
+ <h1 role="menuitem" aria-label="Current section: Return policy">RETURN POLICY</h1>
<div class="content"></div>
</div>
</div>
<div id="care" role="region" aria-label="Customer Care" class="page">
<div class="scroll">
- <h1 aria-label="Current section: Customer care">CUSTOMER CARE</h1>
+ <h1 role="menuitem" aria-label="Current section: Customer care">CUSTOMER CARE</h1>
<div class="content"></div>
</div>
</div>
@@ -288,7 +288,7 @@
<div id="collection" role="region" aria-label="Store">
<div class="scroll">
- <h1 aria-label="Current section: Store">LOADING...</h1>
+ <h1 role="menuitem" aria-label="Current section: Store">LOADING...</h1>
<div class="loader"></div>
<div class="content">
<script type="text/html" class="template">
@@ -302,9 +302,9 @@
<div id="search" role="search" aria-label="Search">
<div class="scroll">
- <h1 aria-label="Current section: Search">SEARCH</h1>
+ <h1 role="menuitem" aria-label="Current section: Search">SEARCH</h1>
<div class="form">
- <input type="text" class="q" placeholder="ENTER YOUR SEARCH">
+ <input type="text" role="textbox" class="q" placeholder="ENTER YOUR SEARCH">
</div>
</div>
</div>
@@ -377,17 +377,17 @@
<div id="login" role="region" aria-label="Log In">
<div class="scroll">
- <h1 aria-label="Current section: Log In">LOGIN</h1>
+ <h1 role="menuitem" aria-label="Current section: Log In">LOGIN</h1>
<div class="form">
<div class="container">
<div class="container-row">
<span class='err_heading'>There was a problem submitting the form. Please correct the form below and try again.</span>
<label for="login_email_address">Email Address</label>
- <input type="email" id="login_email_address" name="Email" aria-placeholder="EMAIL ADDRESS" required tabindex="1">
+ <input type="email" role="textbox" id="login_email_address" name="Email" aria-placeholder="EMAIL ADDRESS" required tabindex="1">
<span class='err'></span>
<label for="login_password">Password</label>
- <form><input type="password" id="login_password" name="Password" aria-placeholder="PASSWORD" required tabindex="2"></form>
+ <form><input type="password" role="textbox" id="login_password" name="Password" aria-placeholder="PASSWORD" required tabindex="2"></form>
<span class='err'></span>
</div>
<div class="container-fill">
@@ -407,7 +407,7 @@
<div id="logout" role="region" aria-label="You are now logged out">
<div class="scroll">
- <h1 aria-label="Current section: You are now Logged Out">LOGOUT</h1>
+ <h1 role="menuitem" aria-label="Current section: You are now Logged Out">LOGOUT</h1>
<div class="container">
<div class="container-fill">
<span class="container-message msg">
@@ -420,31 +420,31 @@
<div id="signup" role="region" aria-label="New User. Create an account">
<div class="scroll">
- <h1 aria-label="Current section: New User. Create an account">NEW USER</h1>
+ <h1 role="menuitem" aria-label="Current section: New User. Create an account">NEW USER</h1>
<div class="form">
<div class="container">
<div class="container-row">
<span class='err_heading'>There was a problem submitting the form. Please correct the form below and try again.</span>
<label for="signup_name">First Name</label>
- <input type="text" id="signup_name" name="Name" aria-placeholder="FIRST NAME" required tabindex="1">
+ <input type="text" role="textbox" id="signup_name" name="Name" aria-placeholder="FIRST NAME" required tabindex="1">
<span class='err'></span>
<label for="signup_surname">Last Name</label>
- <input type="text" id="signup_surname" name="Surname" aria-placeholder="LAST NAME" required tabindex="2">
+ <input type="text" role="textbox" id="signup_surname" name="Surname" aria-placeholder="LAST NAME" required tabindex="2">
<span class='err'></span>
<label for="signup_email">Email Address</label>
- <input type="email" id="signup_email" name="Email" aria-placeholder="EMAIL ADDRESS" required tabindex="3">
+ <input type="email" role="textbox" id="signup_email" name="Email" aria-placeholder="EMAIL ADDRESS" required tabindex="3">
<span class='err'></span>
<label for="signup_confirmemail">Confirm Email Address</label>
- <input type="email" id="signup_confirmemail" name="ConfirmEmail" aria-placeholder="CONFIRM EMAIL ADDRESS" required tabindex="4">
+ <input type="email" role="textbox" id="signup_confirmemail" name="ConfirmEmail" aria-placeholder="CONFIRM EMAIL ADDRESS" required tabindex="4">
<span class='err'></span>
- <label for="signup_birthday">Birthday (MM/DD/YYYY)</label>
+ <label for="signup_birthday">Birthday optional (MM/DD/YYYY)</label>
<div class="select-wrapper date-wrapper">
<span></span>
- <input type="date" id="signup_birthday" name="BirthDay" aria-label="Birthday" min="1900-01-01" aria-placeholder="BIRTHDAY (MM/DD/YYYY)" required tabindex="5">
+ <input type="date" id="signup_birthday" name="BirthDay" aria-label="Birthday" min="1900-01-01" aria-placeholder="BIRTHDAY OPTIONAL (MM/DD/YYYY)" required tabindex="5">
</div>
<span class='err'></span>
@@ -481,7 +481,7 @@
<div class="checkbox-row">
<div class="checkbox-toggle">
<input type="checkbox" id="checkbox-shopping-account-terms" aria-labelledby="checkbox-gdpr-terms-label" name="GdprTerms" value="true" required tabindex="10">
- <label for="checkbox-shopping-data-profiling"></label>
+ <label for="checkbox-shopping-account-terms"></label>
</div>
<label class="checkbox-caption" for="checkbox-shopping-account-terms" id="checkbox-gdpr-terms-label">
I ACCEPT MY ACCOUNT TERMS AND CONDITIONS OF USE *
@@ -504,27 +504,27 @@
<div id="profile" role="region" aria-label="My Profile">
<div class="scroll">
- <h1 aria-label="Current section: My Profile">MY PROFILE</h1>
+ <h1 role="menuitem" aria-label="Current section: My Profile">MY PROFILE</h1>
<div class="form">
<div class="container">
<div class="container-row">
<span class='err_heading'>There was a problem submitting the form. Please correct the form below and try again.</span>
<label for="profile_name">First Name</label>
- <input type="text" id="profile_name" name="Name" aria-placeholder="FIRST NAME" required tabindex="1">
+ <input type="text" role="textbox" id="profile_name" name="Name" aria-placeholder="FIRST NAME" required tabindex="1">
<span class='err'></span>
<label for="profile_surname">Last Name</label>
- <input type="text" id="profile_surname" name="Surname" aria-placeholder="LAST NAME" required tabindex="2">
+ <input type="text" role="textbox" id="profile_surname" name="Surname" aria-placeholder="LAST NAME" required tabindex="2">
<span class='err'></span>
<label for="profile_email">Email Address</label>
- <input type="email" id="profile_email" name="Email" aria-placeholder="EMAIL ADDRESS" required tabindex="3">
+ <input type="email" role="textbox" id="profile_email" name="Email" aria-placeholder="EMAIL ADDRESS" required tabindex="3">
<span class='err'></span>
- <label for="profile_birthday">Birthday (MM/DD/YYYY)</label>
+ <label for="profile_birthday">Birthday optional (MM/DD/YYYY)</label>
<div class="select-wrapper date-wrapper">
<span></span>
- <input type="date" id="profile_birthday" name="BirthDay" aria-label="Birthday" min="1900-01-01" aria-placeholder="BIRTHDAY (MM/DD/YYYY)" required tabindex="5">
+ <input type="date" id="profile_birthday" name="BirthDay" aria-label="Birthday" min="1900-01-01" aria-placeholder="BIRTHDAY OPTIONAL (MM/DD/YYYY)" required tabindex="5">
</div>
<span class='err'></span>
@@ -578,7 +578,7 @@
<div id="shipping" role="region" aria-label="Address Book">
<div class="scroll">
- <h1 aria-label="Current section: Your address book">ADDRESS BOOK</h1>
+ <h1 role="menuitem" aria-label="Current section: Your address book">ADDRESS BOOK</h1>
<div class="form">
<div class="container">
<div class="container-row">
@@ -587,7 +587,7 @@
</div>
<div class="container-fill">
<div class="container-message">
- <span class="msg">
+ <span role="heading" class="msg">
* Your personal and payment<br>
information will always remain private
</span>
@@ -603,7 +603,7 @@
<div id="payment" role="region" aria-label="My Card">
<div class="scroll">
- <h1 aria-label="Current section: My Card">MY CARD</h1>
+ <h1 role="menuitem" aria-label="Current section: My Card">MY CARD</h1>
<div class="form">
<div class="container">
<div class="container-row">
@@ -613,7 +613,7 @@
</div>
<div class="container-fill">
<div class="container-message">
- <span class="msg">
+ <span role="heading" class="msg">
* Your personal and payment<br>
information will always remain private
</span>
@@ -629,7 +629,7 @@
<div id="settings" role="region" aria-label="Notifications">
<div class="scroll">
- <h1 aria-label="Current section: Notifications">NOTIFICATIONS</h1>
+ <h1 role="menuitem" aria-label="Current section: Notifications">NOTIFICATIONS</h1>
<div class="form">
<div class="toggle-container">
<div class="toggle-row">
@@ -659,7 +659,7 @@
<div id="orders" role="region" aria-label="My Orders">
<div class="scroll">
- <h1 aria-label="Current section: My orders">MY ORDERS</h1>
+ <h1 role="menuitem" aria-label="Current section: My orders">MY ORDERS</h1>
<div id="order_list">
<div class="list"></div>
<div class="empty">You have no orders.</div>
@@ -670,7 +670,6 @@
Details &gt;
</div>
<div class="txt">
-
<span class="text-date">{{date}}</span>
<span class="text-id">ORDER #: {{id}}</span>
<span class="text-total">ORDER TOTAL: {{total}}</span>
@@ -738,7 +737,7 @@
<!-- CART ================================================ -->
<div id="cart" role="region" aria-label="Your Cart">
- <h1 role="presentation">
+ <h1 role="menuitem" role="presentation">
<span class="full_msg" role="heading" aria-label="Current section: Your cart">
YOUR CART / <span class="itemcount"></span>
</span>
@@ -748,9 +747,9 @@
</h1>
<div class="steps">
- <span class="summary_step">SUMMARY</span>
- <span class="shipping_step">SHIPPING</span>
- <span class="payment_step">PAYMENT</span>
+ <div role="menuitem" class="summary_step"><span>SUMMARY</span></div>
+ <div role="menuitem" class="shipping_step"><span>SHIPPING</span></div>
+ <div role="menuitem" class="payment_step"><span>PAYMENT</span></div>
</div>
<div id="cart_summary" role="region" aria-label="Cart Summary">
@@ -761,38 +760,38 @@
<div class="rows">
<script type="text/html" class="template">
<div class="cart_item_image">
- <a href="#/store/{{code8}}" aria-label="{{cleantitle}}"><img src="{{image}}"></a>
+ <a href="#/store/{{code8}}" role="link" aria-label="{{cleantitle}}"><img src="{{image}}"></a>
</div>
<div class="cart_item_info">
- <span class="sku" aria-label="SKU">{{sku}}</span>
- <span class="title" aria-label="Product name: {{cleantitle}}">{{title}}</span>
- <span class="type" aria-label="Product type">{{type}}</span>
- <div class="meta">
- <div class="meta-size" aria-label="Size"><b>SIZE:</b> {{size}}</div>
- <div class="meta-color" aria-label="Color"><b>COLOR:</b> {{color}}</div>
- <div class="meta-quantity" aria-label="Quantity"><b>QUANTITY:</b> {{quantity}}</div>
+ <span class="sku">{{sku}}</span>
+ <span class="title">{{title}}</span>
+ <span class="type">{{type}}</span>
+ <div role="list" class="meta">
+ <div class="meta-size" role="listitem" aria-label="Size: {{size}}"><b>SIZE:</b> {{size}}</div>
+ <div class="meta-color" role="listitem" aria-label="Color: {{color}}"><b>COLOR:</b> {{color}}</div>
+ <div class="meta-quantity" role="listitem" aria-label="Quantity: {{quantity}]"><b>QUANTITY:</b> {{quantity}}</div>
</div>
</div>
<div class="cart_item_price">
- <span class="remove" aria-label="Remove item from your cart. Item to be removed: {{cleantitle}}"></span>
+ <span role="menuitem" class="remove" aria-label="Remove item from your cart. Item to be removed: {{cleantitle}}"></span>
<span class="price">{{price}}</span>
</div>
</script>
</div>
- <div class="cart-summary">
- <div class="cart-summary-row">
+ <div class="cart-summary" role="list">
+ <div class="cart-summary-row subtotal_row" role="listitem">
<span class="label">SUB TOTAL</span>
<span class="subtotal"></span>
</div>
- <div class="cart-summary-row">
+ <div class="cart-summary-row" role="listitem" aria-label="Estimated shipping and handling $0">
<span class="label">ESTIMATED SHIPPING<br>& HANDLING</span>
<span class="shipping"></span>
</div>
- <div class="cart-summary-row">
+ <div class="cart-summary-row" role="listitem" aria-label="Tax $0">
<span class="label">TAX</span>
<span class="tax"></span>
</div>
- <div class="cart-summary-row">
+ <div class="cart-summary-row total_row" role="listitem">
<span class="label">TOTAL</span>
<span class="total"></span>
</div>
@@ -813,7 +812,7 @@
<div class="form">
<div class="dropdown-wrapper">
<div class="dropdown-title add_edit">add / edit</div>
- <div class="dropdown select_address">
+ <div role="menuitem" class="dropdown select_address">
ADDRESS
</div>
</div>
@@ -861,7 +860,7 @@
<div class="container-row">
<div class="container-fill">
<div class="container-message">
- <span class="msg">
+ <span role="heading" class="msg">
* Your personal and payment<br>
information will always remain private
</span>
@@ -902,7 +901,7 @@
<div class="address_dropdown dropdown-wrapper">
<div class="dropdown-title add_edit"> </div>
- <div class="dropdown select_address">
+ <div role="menuitem" class="dropdown select_address">
BILLING ADDRESS
</div>
</div>
@@ -927,7 +926,7 @@
<div class="cc_dropdown dropdown-wrapper">
<div class="dropdown-title add_edit"></div>
- <div class="dropdown select_address">
+ <div role="menuitem" class="dropdown select_address">
PAYMENT METHOD
</div>
</div>
@@ -950,19 +949,19 @@
<div class="cc"></div>
<div class="cc_confirm">
- <h3>PLEASE ENTER YOUR SECURITY CODE TO CONFIRM</h3>
+ <h3>PLEASE ENTER THE SECURITY CODE ON THE BACK OF YOUR CARD TO CONFIRM</h3>
<input type="number" name="CvvConfirm" placeholder="SECURITY CODE" required>
</div>
</div>
<div class="container-fill">
<div class="container-message">
- <span class="msg">
+ <span role="heading" class="msg">
* Your personal and payment<br>
information will always remain private
</span>
</div>
- <a class='privacy-link'> href="#/page/privacy">
+ <a class='privacy-link' role="link" href="#/page/privacy">
<div class="privacy-msg">
Consult our <u>PRIVACY POLICY</u> for further information.
</div>
@@ -975,21 +974,21 @@
<div id="cart_confirm" role="region" aria-label="Confirm your order">
<div class="scroll">
- <h1 aria-label="Current section: Confirm your cart">CONFIRM</h1>
+ <h1 role="menuitem" aria-label="Current section: Confirm your cart">CONFIRM</h1>
<div class="order_section">
<h2>ORDER SUMMARY</h2>
<div class="rows">
<script type="text/html" class="template">
- <div class="cart_item_info">
+ <div class="cart_item_info" row="table">
<span class="sku">{{sku}}</span>
<span class="title">{{title}}</span>
<span class="type">{{type}}</span>
<div class="meta">
- <div class="meta-size"><b>SIZE:</b> {{size}}</div>
- <div class="meta-color"><b>COLOR:</b> {{color}}</div>
- <div class="meta-quantity"><b>QUANTITY:</b> {{quantity}}</div>
+ <div class="meta-size" role="row" aria-label="Size: {{size}}"><b>SIZE:</b> {{size}}</div>
+ <div class="meta-color" role="row" aria-label="Color: {{color}}"><b>COLOR:</b> {{color}}</div>
+ <div class="meta-quantity" role="row" aria-label="Quantity: {{quantity}]"><b>QUANTITY:</b> {{quantity}}</div>
</div>
</div>
<div class="cart_item_price">
@@ -997,20 +996,20 @@
</div>
</script>
</div>
- <div class="cart-summary">
- <div class="cart-summary-row">
+ <div class="cart-summary" row="table">
+ <div class="cart-summary-row subtotal_row" role="row">
<span class="label">SUB TOTAL</span>
<span class="subtotal"></span>
</div>
- <div class="cart-summary-row">
+ <div class="cart-summary-row" role="row" aria-label="Estimated shipping and handling $0">
<span class="label">ESTIMATED SHIPPING<br>& HANDLING</span>
<span class="shipping"></span>
</div>
- <div class="cart-summary-row">
+ <div class="cart-summary-row" role="row" aria-label="Tax $0">
<span class="label">TAX</span>
<span class="tax"></span>
</div>
- <div class="cart-summary-row">
+ <div class="cart-summary-row total_row" role="row">
<span class="label">TOTAL</span>
<span class="total"></span>
</div>
@@ -1084,15 +1083,15 @@
</div>
<br><br>
For more information, please consult our
- <a href="#/page/privacy">Privacy Policy</a> or visit
- <a href="#" id="care-link">Customer Care</a>.
+ <a role="link" href="#/page/privacy">Privacy Policy</a> or visit
+ <a role="link" href="#" id="care-link">Customer Care</a>.
<br><br>
To continue to My Account we invite you to click accept. Otherwise you can continue to navigate as an unregistered user.
<br><br>
<div id="consent_error">Please note that if you do not consent to terms, you cannot use the app.</div>
<br><br>
- <button id="consent_proceed">PROCEED</button>
- <button id="consent_logout">LOG OUT</button>
+ <button role="menuitem" id="consent_proceed">PROCEED</button>
+ <button role="menuitem" id="consent_logout">LOG OUT</button>
</div>
<div id="selector">
@@ -1109,7 +1108,7 @@
<script type="text/html" id="creditcard_template">
<label for="creditcard_id_{{_id}}">Credit Card Number</label>
- <input type="number" id="creditcard_id_{{_id}}" name="Number" aria-placeholder="CREDIT CARD NUMBER" required>
+ <input type="number" role="textbox" id="creditcard_id_{{_id}}" name="Number" aria-placeholder="CREDIT CARD NUMBER" required tabindex="1">
<span class='err'></span>
<div class="half-input">
@@ -1120,7 +1119,7 @@
<div class="half-input">
<div class="select-wrapper">
<span></span>
- <select name="ExpirationMonth" id="cc_expiration_month_{{_id}}">
+ <select name="ExpirationMonth" id="cc_expiration_month_{{_id}}" tabindex="2">
<option value="NONE">EXPIRATION MONTH</option>
<option value="01">01</option>
<option value="02">02</option>
@@ -1138,7 +1137,7 @@
</div>
<div class="select-wrapper">
<span></span>
- <select name="ExpirationYear" id="cc_expiration_year_{{_id}}">
+ <select name="ExpirationYear" id="cc_expiration_year_{{_id}}" tabindex="3">
<option value="NONE">EXPIRATION YEAR</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
@@ -1156,25 +1155,25 @@
</div>
</div>
<label for="cc_cvv_{{_id}}">Security Code</label>
- <input type="number" id="cc_cvv_{{_id}}" name="Cvv" aria-placeholder="SECURITY CODE" required>
+ <input type="number" id="cc_cvv_{{_id}}" name="Cvv" aria-placeholder="SECURITY CODE" required tabindex="4">
<span class='err'></span>
</script>
<script type="text/html" id="address_template">
<label for="address_name_{{_id}}">First Name</label>
- <input type="text" id="address_name_{{_id}}" name="Name" aria-placeholder="First Name">
+ <input type="text" role="textbox" id="address_name_{{_id}}" name="Name" aria-placeholder="First Name" tabindex="1">
<span class="err"></span>
<label for="address_surname_{{_id}}">Last Name</label>
- <input type="text" id="address_surname_{{_id}}" name="Surname" aria-placeholder="Last Name">
+ <input type="text" role="textbox" id="address_surname_{{_id}}" name="Surname" aria-placeholder="Last Name" tabindex="2">
<span class="err"></span>
<label for="address_address1_{{_id}}">Address line 1</label>
- <input type="text" id="address_address1_{{_id}}" name="Address1" aria-placeholder="Address Line 1">
+ <input type="text" role="textbox" id="address_address1_{{_id}}" name="Address1" aria-placeholder="Address Line 1" tabindex="3">
<span class="err"></span>
<label for="address_address2_{{_id}}">Address line 2</label>
- <input type="text" id="address_address2_{{_id}}" name="Address2" aria-placeholder="Address Line 2">
+ <input type="text" role="textbox" id="address_address2_{{_id}}" name="Address2" aria-placeholder="Address Line 2" tabindex="4">
<span class="err"></span>
<div class="half-input">
@@ -1183,10 +1182,10 @@
</div>
<div class="half-input">
- <input type="text" id="address_city_{{_id}}" name="City" aria-placeholder="City">
+ <input type="text" role="textbox" id="address_city_{{_id}}" name="City" aria-placeholder="City" tabindex="5">
<div class="select-wrapper">
<span></span>
- <select id="address_state_{{_id}}" name="Province">
+ <select id="address_state_{{_id}}" name="Province" tabindex="6">
{{PROVINCES}}
</select>
</div>
@@ -1198,19 +1197,19 @@
</div>
<div class="half-input">
- <input type="text" id="address_zip_{{_id}}" name="ZipCode" aria-placeholder="ZIP" required>
+ <input type="text" role="textbox" id="address_zip_{{_id}}" name="ZipCode" aria-placeholder="ZIP" required tabindex="7">
<div class="country-wrapper-static">
<span class="country-label">UNITED STATES</span>
<!--
<div id="country-select">
- <input type="text" name="Country" placeholder="UNITED STATES" required>
+ <input type="text" role="textbox" name="Country" placeholder="UNITED STATES" required>
</div>
-->
</div>
</div>
<label for="address_phone_{{_id}}">Phone Number</label>
- <input type="number" id="address_phone_{{_id}}" name="Phone" aria-placeholder="PHONE NUMBER">
+ <input type="number" id="address_phone_{{_id}}" name="Phone" aria-placeholder="PHONE NUMBER" tabindex="8">
<span class="err"></span>
<!--
<div class="checkbox-container save_as_default">
diff --git a/StoneIsland/platforms/ios/www/js/index.js b/StoneIsland/platforms/ios/www/js/index.js
index 42cec6f1..8574372d 100755
--- a/StoneIsland/platforms/ios/www/js/index.js
+++ b/StoneIsland/platforms/ios/www/js/index.js
@@ -22,7 +22,9 @@ var app = (function(){
app.bind = function(){
document.addEventListener('touchmove', function(e){ e.preventDefault() })
- FastClick.attach(document.body)
+ if (!app.accessible) {
+ FastClick.attach(document.body)
+ }
}
app.build = function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js b/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js
index b16ff887..8ae47728 100755
--- a/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js
@@ -49,7 +49,7 @@ var SignupView = FormView.extend({
"Surname": "Please enter your last name.",
"Email": "Please enter a valid email address.",
"ConfirmEmail": "Please enter a valid email address.",
- "BirthDay": "Please enter your birthday. You must be 18 or older to use the Stone Island app.",
+ // "BirthDay": "Please enter your birthday. You must be 18 or older to use the Stone Island app.",
"Password": "Please enter your password.",
"Password2": "Please enter your password again.",
"DataProfiling": "You must consent to data profiling to use the Stone Island app.",
@@ -63,21 +63,40 @@ var SignupView = FormView.extend({
if (! data.Email.match("@")) { errors.push([ "Email", "Email address is not valid." ]) }
if (data.Email.toLowerCase() !== data.ConfirmEmail.toLowerCase()) { errors.push([ "ConfirmEmail", "Email addresses don't match." ]) }
// if (data.Gender === "NONE") { errors.push([ "Gender", "Please supply your gender." ]) }
- if (data.DataProfiling !== "true") { errors.push([ "DataProfiling", "You must consent to data profiling to use the Stone Island app." ]) }
- if (data.GdprTerms !== "true") { errors.push([ "GdprTerms", "You must agree to the Your My Account terms to use the Stone Island app." ]) }
+ if (data.DataProfiling !== "true") {
+ errors.push([ "DataProfiling", "You must consent to data profiling to use the Stone Island app." ])
+ setTimeout(function(){
+ this.$("#checkbox-shopping-data-profiling-label").closest(".checkbox-row").addClass("error_hilite")
+ }.bind(this), 10)
+ }
+ if (data.GdprTerms !== "true") {
+ errors.push([ "GdprTerms", "You must agree to the Your My Account terms to use the Stone Island app." ])
+ setTimeout(function(){
+ this.$("#checkbox-shopping-account-terms").closest(".checkbox-row").addClass("error_hilite")
+ }.bind(this), 10)
+ }
var now = new Date ()
- var year = now.getFullYear()
+ var year = now.getFullYear() - 18
if (! data.BirthDay) {
data.BirthDay = year + '-01-01'
}
// if (data.BirthDay.split('-')[0] || '2018')
var birthday = new Date (data.BirthDay)
- if (isNaN(birthday) || (new Date () - birthday) / (365*24*60*60*1000) < 18) {
- errors.push(['BirthDay', 'You must be 18 or older to use the Stone Island app.'])
+ if (isNaN(birthday)) {
+ data['BirthDay'] = '1970-01-01'
}
+ // if (isNaN(birthday) || (new Date () - birthday) / (365*24*60*60*1000) < 18) {
+ // errors.push(['BirthDay', 'You must be 18 or older to use the Stone Island app.'])
+ // }
data.YooxLetter = this.$("[name=YooxLetter]").prop("checked")
+ if (!data.YooxLetter) {
+ errors.push([ "YooxLetter", "You must consent to marketing to use the Stone Island app." ])
+ setTimeout(function(){
+ this.$("#checkbox-data-profiling").closest(".checkbox-row").addClass("error_hilite")
+ }.bind(this), 10)
+ }
},
finalize: function(data){
diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js
index d3b15f77..0d59bcc8 100755
--- a/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js
@@ -91,7 +91,7 @@ var HubView = ScrollableView.extend({
})
gallery.on('staticClick', function(e){
var url = gallery.selectedElement.style.backgroundImage.replace(/url\(\"?/,"").replace(/\"?\)/,"")
- app.fullscreenViewer.show(url, url)
+ app.fullscreenViewer.show(url, url, stonewash(row.title))
})
$(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Image gallery, use the arrows to scroll.")
if (accessibility.voiceOver) {
@@ -99,7 +99,7 @@ var HubView = ScrollableView.extend({
$(".gallery-target-" + row.id).click(function(e){
e && e.preventDefault()
var url = gallery.selectedElement.style.backgroundImage.replace(/url\(\"?/,"").replace(/\"?\)/,"")
- app.fullscreenViewer.show(url, url)
+ app.fullscreenViewer.show(url, url, stonewash(row.title))
})
}
}
@@ -134,13 +134,13 @@ var HubView = ScrollableView.extend({
} else {
$(el).click(function(e){
e && e.preventDefault()
- app.fullscreenViewer.show(row.image[0].uri)
+ app.fullscreenViewer.show(row.image[0].uri, row.image[0].uri, stonewash(row.title) + ". Main image")
})
$(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Main image")
$(".gallery-target-" + row.id).attr('aria-label', stonewash(row.title) + ". Main image.")
$(".gallery-target-" + row.id).click(function(e){
e && e.preventDefault()
- app.fullscreenViewer.show(row.image[0].uri)
+ app.fullscreenViewer.show(row.image[0].uri, row.image[0].uri, stonewash(row.title) + ". Main image")
})
}
$t.find(".gallery-left").remove()
diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js
index 71f1cc0c..19d5bac8 100755
--- a/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js
@@ -40,8 +40,8 @@ var StoryView = ScrollableView.extend({
.replace(/{{body}}/, row.body.replace(/\n/g, "<br>"))
var li = document.createElement("li")
li.dataset.id = row.id
- li.innerHTML = "<div>" + row.title + "</div>"
- li.setAttribute('role', "link")
+ li.innerHTML = "<div style='pointer-events: none'>" + row.title + "</div>"
+ li.setAttribute('role', "menuitem")
this.sections[row.id] = row
this.$links.append(li)
this.$content.append(t)
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js
index 6909dcc3..11d529ff 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js
@@ -90,9 +90,9 @@ var CartConfirm = FormView.extend({
.replace(/{{sku}}/, num)
.replace(/{{title}}/, title)
.replace(/{{type}}/, type)
- .replace(/{{size}}/, size_name || "DEFAULT")
- .replace(/{{color}}/, color_name || "DEFAULT")
- .replace(/{{quantity}}/, 1)
+ .replace(/{{size}}/g, size_name || "DEFAULT")
+ .replace(/{{color}}/g, color_name || "DEFAULT")
+ .replace(/{{quantity}}/g, 1)
.replace(/{{price}}/, as_cash(details.Item.Price.DiscountedPrice))
$el.data("price", details.Item.Price.DiscountedPrice)
$el.html(t)
@@ -109,6 +109,8 @@ var CartConfirm = FormView.extend({
this.$shipping.html( as_cash(shipping_cost) )
this.$tax.html( as_cash(tax) )
this.$total.html( as_cash(total) )
+ this.$(".subtotal_row").attr('aria-label', "Subtotal " + as_cash(subtotal))
+ this.$(".total_row").attr('aria-label', "Total " + as_cash(total))
if (data.Receiver) {
var street = data.Receiver.StreetWithNumber.replace(/\n$/,"").replace("\n", ", ")
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js
index 40d08d9e..0e4c3b84 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js
@@ -73,6 +73,10 @@ var CartPayment = FormView.extend({
this.address.disabled = this.address_list_mode
this.$address_form.toggle(! this.address_list_mode)
this.$address_list.toggle(this.address_list_mode)
+ this.scroller.refresh()
+ this.$("input,select").map(function(i) {
+ this.setAttribute('tabindex', i+1)
+ })
},
toggle_cc: function(state){
@@ -86,6 +90,10 @@ var CartPayment = FormView.extend({
this.$cc_form.toggle(! this.cc_list_mode)
this.$cc_list.toggle(this.cc_list_mode)
this.$cc_confirm.toggle(this.cc_list_mode)
+ this.scroller.refresh()
+ this.$("input,select").map(function(i) {
+ this.setAttribute('tabindex', i+1)
+ })
},
focus_on_cc: function(e){
@@ -104,8 +112,8 @@ var CartPayment = FormView.extend({
this.toggle_address( !! app.account.ccs.length )
this.toggle_cc( !! app.account.ccs.length )
- app.account.ccs.forEach(function(cc){
- var address_t = this.address_template.replace(/{{id}}/g, cc.Id)
+ app.account.ccs.forEach(function(cc, i){
+ var address_t = this.address_template.replace(/{{id}}/g, (cc.Id || i))
.replace(/{{checked}}/g, cc.IsDefault ? "checked" : "")
.replace(/{{name}}/g, (cc.Name + " " + cc.Surname).toUpperCase())
.replace(/{{address}}/g, cc.Address.replace(/\n$/,"").replace("\n", ", "))
@@ -113,7 +121,7 @@ var CartPayment = FormView.extend({
.replace(/{{state}}/g, cc.Province)
.replace(/{{zip}}/g, cc.ZipCode)
- var cc_t = this.cc_template.replace(/{{id}}/g, cc.Id)
+ var cc_t = this.cc_template.replace(/{{id}}/g, (cc.Id || i))
.replace(/{{checked}}/g, cc.IsDefault ? "checked" : "")
.replace(/{{number}}/g, cc['Number'])
.replace(/{{type}}/g, cc.Type.toUpperCase())
@@ -122,6 +130,9 @@ var CartPayment = FormView.extend({
this.$address_list.append(address_t)
this.$cc_list.append(cc_t)
}.bind(this))
+ this.$("input,select").map(function(i) {
+ this.setAttribute('tabindex', i+1)
+ })
},
finalize: function(data){
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js
index b5d6647b..157e75f5 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js
@@ -43,8 +43,8 @@ var CartShipping = FormView.extend({
this.toggle_dropdown(false)
return
}
- app.account.addresses.forEach(function(address){
- var t = this.template.replace(/{{id}}/g, address.Id)
+ app.account.addresses.forEach(function(address, i){
+ var t = this.template.replace(/{{id}}/g, (address.Id || i))
.replace(/{{checked}}/g, address.IsDefault ? "checked" : "")
.replace(/{{name}}/g, (address.Name + " " + address.Surname).toUpperCase())
.replace(/{{address}}/g, address.Address.replace(/\n$/,"").replace("\n", ", "))
@@ -69,6 +69,9 @@ var CartShipping = FormView.extend({
$("#standard-shipping").prop("checked", cart_data.Cart.DeliveryMethod.Type == 1)
$("#express-shipping").prop("checked", cart_data.Cart.DeliveryMethod.Type == 2)
}
+ this.$("input,select").map(function(i) {
+ this.setAttribute('tabindex', i+1)
+ })
},
toggle_dropdown: function(state){
@@ -80,6 +83,10 @@ var CartShipping = FormView.extend({
this.address.disabled = this.list_mode
this.$address_form.toggle(! this.list_mode)
this.$address_list.toggle(this.list_mode)
+ this.scroller.refresh()
+ this.$("input,select").map(function(i) {
+ this.setAttribute('tabindex', i+1)
+ })
},
// sdk.cart.set_shipping_address
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js
index 51aa35ef..9637ae35 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js
@@ -112,11 +112,11 @@ var CartSummary = ScrollableView.extend({
.replace(/{{sku}}/g, num)
.replace(/{{code8}}/g, data['Code8'])
.replace(/{{title}}/g, title)
- .replace(/{{cleantitle}}/g, stonewash(title))
+ .replace(/{{cleantitle}}/g, num + ' ' + stonewash(title) + ' ' + descriptions['MicroCategory'])
.replace(/{{type}}/, type)
- .replace(/{{size}}/, size_name)
- .replace(/{{color}}/, color_name)
- .replace(/{{quantity}}/, 1)
+ .replace(/{{size}}/g, size_name)
+ .replace(/{{color}}/g, color_name)
+ .replace(/{{quantity}}/g, 1)
.replace(/{{price}}/, as_cash(details.Item.Price.DiscountedPrice))
$el.html(t)
this.refreshScroller()
@@ -129,6 +129,7 @@ var CartSummary = ScrollableView.extend({
this.updateTotals()
+ this.$cart_empty.hide()
this.el.className = "full"
this.refreshScroller()
app.curtain.hide("loading")
@@ -149,6 +150,8 @@ var CartSummary = ScrollableView.extend({
this.$shipping.html( as_cash(shipping_cost) )
this.$tax.html( as_cash(tax) )
this.$total.html( as_cash(total) )
+ this.$(".subtotal_row").attr('aria-label', "Subtotal " + as_cash(subtotal))
+ this.$(".total_row").attr('aria-label', "Total " + as_cash(total))
},
empty: function(){
@@ -158,6 +161,7 @@ var CartSummary = ScrollableView.extend({
this.parent.$itemcount.html("0 ITEMS")
this.el.className = "empty"
this.parent.$steps.hide()
+ this.$cart_empty.show()
app.curtain.hide("loading")
},
diff --git a/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js b/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js
index c66143cc..a18ad5b3 100644
--- a/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js
+++ b/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js
@@ -73,5 +73,5 @@ var accessibility = (function() {
})()
function stonewash (s) {
- return s.replace(/'9/g, '19').replace(/'0/g, '20').replace(/_/g, ' ').replace(/-/g, ' - ').replace(/^[013456789][0-9]+/, '')
+ return s.replace(/'9/g, '19').replace(/'0/g, '20').replace(/_/g, ' ').replace(/-/g, ' - ')
}
diff --git a/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js b/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js
index a9a1938e..a6a39633 100755
--- a/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js
@@ -1,3 +1,5 @@
+var klassTimeout;
+
var NavView = View.extend({
el: "#nav",
@@ -52,14 +54,16 @@ var NavView = View.extend({
doneShowingNav = true
}, 800)
if (klass) {
- setTimeout(function(){
+ klassTimeout = setTimeout(function(){
this.addClass(klass)
}.bind(this), 500)
}
},
hide: function(){
- if (!doneShowingNav) return
+ if (!doneShowingNav) {
+ clearTimeout(klassTimeout)
+ }
$("body").removeClass("nav")
app.curtain.hide("dark")
},
diff --git a/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js b/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js
index d3343652..70bb22b4 100755
--- a/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js
@@ -194,9 +194,10 @@ var CollectionView = ScrollableView.extend({
append: function(item, is_single_product){
this.items[ item['Code8'] ] = item
+ console.log("TITLE: " + item['ModelNames'])
var t = this.template.replace(/{{image}}/, sdk.image(item['DefaultCode10'], is_single_product ? '13_f' : '11_f'))
.replace(/{{code8}}/, item['Code8'])
- .replace(/{{title}}/, stonewash(item['ModelNames']))
+ .replace(/{{title}}/g, stonewash(item['ModelNames'] + ' ' + item['MicroCategory']))
var $t = $(t)
if (app.store.ShowProductNameOnCollectionPage) {
var $title = $("<span>")
diff --git a/StoneIsland/platforms/ios/www/js/lib/products/GalleryView.js b/StoneIsland/platforms/ios/www/js/lib/products/GalleryView.js
index e84caa68..417b14c3 100755
--- a/StoneIsland/platforms/ios/www/js/lib/products/GalleryView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/products/GalleryView.js
@@ -36,6 +36,7 @@ var GalleryView = View.extend({
valid_styles[style] = size
}
})
+ this.large_styles = large_styles
Object.keys(valid_styles).sort(sort_image_styles).forEach(function(style){
var id = valid_styles[style] + "_" + style
@@ -57,18 +58,14 @@ var GalleryView = View.extend({
contain: true,
draggable: true,
})
+ if (app.accessible) {
+ gallery.select(1, true, true)
+ }
- this.gallery.on('change', function(){
- var currentImage = this.gallery.selectedElement.style.backgroundImage.replace(/url\(\"?/,"").replace(/\"?\)/,"")
- var partz = currentImage.split("_")
- var head = partz[0]
- var size = partz[1]
- var tail = partz[2]
- var end_partz = tail.split(/\./)
- var style = end_partz[0]
- var label = YOOX_IMAGE_STYLE_LABELS[style] || "Image: Alternate view"
- $("#product .gallery-target").attr('aria-label', label)
- })
+ var last_style = 'f'
+ this.gallery.on('select', function(){
+ this.updateLabel()
+ }.bind(this))
this.gallery.on('staticClick', this.static_click.bind(this))
@@ -85,11 +82,39 @@ var GalleryView = View.extend({
var head = partz[0]
var size = partz[1]
var tail = partz[2]
- var end_partz = tail.split(/\./)
+ var end_partz = (tail || 'f').split(/\./)
var style = end_partz[0]
- var largest_size = large_styles[style]
+ var largest_size = this.large_styles[style]
+ var title = YOOX_IMAGE_STYLE_LABELS[style] || "Alternate view"
var hiresImage = [head, largest_size, tail].join("_")
- app.fullscreenViewer.show(currentImage, hiresImage)
+ // console.log(partz, style)
+ app.fullscreenViewer.show(currentImage, hiresImage, title)
+ },
+
+ animating: false,
+ previous: function(e){
+ this.gallery.previous()
+ this.updateLabel()
+ },
+ next: function(e){
+ this.gallery.next()
+ this.updateLabel()
+ },
+ updateLabel: function(){
+ var currentImage = this.gallery.selectedElement.style.backgroundImage.replace(/url\(\"?/,"").replace(/\"?\)/,"")
+ var partz = currentImage.split("_")
+ var head = partz[0]
+ var size = partz[1]
+ var tail = partz[2]
+ var end_partz = tail.split(/\./)
+ var style = end_partz[0]
+ if (style === this.last_style) {
+ style = 'z'
+ }
+ this.last_style = style
+ var label = YOOX_IMAGE_STYLE_LABELS[style] || "Image: Alternate view"
+ console.log("> new style: " + style)
+ $("#product .gallery-target").attr('aria-label', label)
},
touchstart: function(e){
diff --git a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
index f834b1c5..570024b6 100755
--- a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
@@ -74,10 +74,10 @@ var ProductView = ScrollableView.extend({
cache: {},
gallery_left: function(){
- app.product.gallery.gallery.previous()
+ app.product.gallery.previous()
},
gallery_right: function(){
- app.product.gallery.gallery.next()
+ app.product.gallery.next()
},
find: function(code, cb){
diff --git a/StoneIsland/platforms/ios/www/js/lib/view/Serializable.js b/StoneIsland/platforms/ios/www/js/lib/view/Serializable.js
index 08802fa9..0d638412 100755
--- a/StoneIsland/platforms/ios/www/js/lib/view/Serializable.js
+++ b/StoneIsland/platforms/ios/www/js/lib/view/Serializable.js
@@ -61,6 +61,7 @@ var SerializableView = View.extend({
focus_input: function(e){
$(e.currentTarget).removeClass("error_hilite")
+ $(e.currentTarget).closest(".checkbox-row").removeClass("error_hilite")
},
focus_date: function(e){
@@ -128,6 +129,7 @@ var SerializableView = View.extend({
// this.$msg.html(msgs.join("<br>"))
this.$msg.addClass('alert-notice')
if (app.view.scroller) {
+ app.view.scroller.refresh()
app.view.scroller.scrollTo(0, 0)
}
},