assets-rails 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (561) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -29
  3. data/{vendor → app}/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.eot +0 -0
  4. data/{vendor → app}/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.svg +0 -0
  5. data/{vendor → app}/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.ttf +0 -0
  6. data/{vendor → app}/assets/fonts/bootstrap/v3.2.0/glyphicons-halflings-regular.woff +0 -0
  7. data/{vendor → app}/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.eot +0 -0
  8. data/{vendor → app}/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.svg +0 -0
  9. data/{vendor → app}/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.ttf +0 -0
  10. data/{vendor → app}/assets/fonts/bootstrap/v3.3.0/glyphicons-halflings-regular.woff +0 -0
  11. data/app/assets/fonts/bootstrap/v3.3.2/glyphicons-halflings-regular.eot +0 -0
  12. data/app/assets/fonts/bootstrap/v3.3.2/glyphicons-halflings-regular.svg +288 -0
  13. data/app/assets/fonts/bootstrap/v3.3.2/glyphicons-halflings-regular.ttf +0 -0
  14. data/app/assets/fonts/bootstrap/v3.3.2/glyphicons-halflings-regular.woff +0 -0
  15. data/app/assets/fonts/bootstrap/v3.3.2/glyphicons-halflings-regular.woff2 +0 -0
  16. data/app/assets/fonts/bootstrap/v3.3.4/glyphicons-halflings-regular.eot +0 -0
  17. data/app/assets/fonts/bootstrap/v3.3.4/glyphicons-halflings-regular.svg +288 -0
  18. data/app/assets/fonts/bootstrap/v3.3.4/glyphicons-halflings-regular.ttf +0 -0
  19. data/app/assets/fonts/bootstrap/v3.3.4/glyphicons-halflings-regular.woff +0 -0
  20. data/app/assets/fonts/bootstrap/v3.3.4/glyphicons-halflings-regular.woff2 +0 -0
  21. data/{vendor → app}/assets/fonts/font-awesome/v4.2.0/FontAwesome.otf +0 -0
  22. data/{vendor → app}/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.eot +0 -0
  23. data/{vendor → app}/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.svg +0 -0
  24. data/{vendor → app}/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.ttf +0 -0
  25. data/{vendor → app}/assets/fonts/font-awesome/v4.2.0/fontawesome-webfont.woff +0 -0
  26. data/{vendor → app}/assets/fonts/jquery.flexslider/flexslider-icon.eot +0 -0
  27. data/{vendor → app}/assets/fonts/jquery.flexslider/flexslider-icon.svg +0 -0
  28. data/{vendor → app}/assets/fonts/jquery.flexslider/flexslider-icon.ttf +0 -0
  29. data/{vendor → app}/assets/fonts/jquery.flexslider/flexslider-icon.woff +0 -0
  30. data/{vendor → app}/assets/fonts/lightgallery/Slide-icons.dev.svg +0 -0
  31. data/{vendor → app}/assets/fonts/lightgallery/Slide-icons.eot +0 -0
  32. data/{vendor → app}/assets/fonts/lightgallery/Slide-icons.svg +0 -0
  33. data/{vendor → app}/assets/fonts/lightgallery/Slide-icons.ttf +0 -0
  34. data/{vendor → app}/assets/fonts/lightgallery/Slide-icons.woff +0 -0
  35. data/{vendor → app}/assets/fonts/photoswipe/v4.0.0/default-skin/default-skin.svg +0 -0
  36. data/{vendor → app}/assets/fonts/photoswipe/v4.0.2/default-skin/default-skin.svg +0 -0
  37. data/{vendor → app}/assets/images/fancybox/blank.gif +0 -0
  38. data/{vendor → app}/assets/images/fancybox/fancybox_buttons.png +0 -0
  39. data/{vendor → app}/assets/images/fancybox/fancybox_loading.gif +0 -0
  40. data/{vendor → app}/assets/images/fancybox/fancybox_loading@2x.gif +0 -0
  41. data/{vendor → app}/assets/images/fancybox/fancybox_overlay.png +0 -0
  42. data/{vendor → app}/assets/images/fancybox/fancybox_sprite.png +0 -0
  43. data/{vendor → app}/assets/images/fancybox/fancybox_sprite@2x.png +0 -0
  44. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example1/border.png +0 -0
  45. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example1/controls.png +0 -0
  46. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example1/loading.gif +0 -0
  47. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example1/loading_background.png +0 -0
  48. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example1/overlay.png +0 -0
  49. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example2/controls.png +0 -0
  50. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example2/loading.gif +0 -0
  51. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example3/controls.png +0 -0
  52. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example3/loading.gif +0 -0
  53. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example4/border1.png +0 -0
  54. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example4/border2.png +0 -0
  55. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example4/loading.gif +0 -0
  56. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example5/border.png +0 -0
  57. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example5/controls.png +0 -0
  58. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example5/loading.gif +0 -0
  59. data/{vendor → app}/assets/images/jquery.colorbox/v1.5.14/example5/loading_background.png +0 -0
  60. data/{vendor → app}/assets/images/jquery.flexslider/bg_play_pause.png +0 -0
  61. data/{vendor → app}/assets/images/jquery.owlcarousel/AjaxLoader.gif +0 -0
  62. data/{vendor → app}/assets/images/jquery.owlcarousel/grabbing.png +0 -0
  63. data/{vendor → app}/assets/images/jquery.share/social-icons-sprite.png +0 -0
  64. data/{vendor → app}/assets/images/jquery.share/social-icons.png +0 -0
  65. data/{vendor → app}/assets/images/lightgallery/loading.gif +0 -0
  66. data/{vendor → app}/assets/images/photoswipe/v4.0.0/default-skin/default-skin.png +0 -0
  67. data/{vendor → app}/assets/images/photoswipe/v4.0.0/default-skin/preloader.gif +0 -0
  68. data/{vendor → app}/assets/images/photoswipe/v4.0.2/default-skin/default-skin.png +0 -0
  69. data/{vendor → app}/assets/images/photoswipe/v4.0.2/default-skin/preloader.gif +0 -0
  70. data/{vendor → app}/assets/images/zebra_datepicker/calendar-disabled.png +0 -0
  71. data/{vendor → app}/assets/images/zebra_datepicker/calendar.png +0 -0
  72. data/{vendor → app}/assets/images/zebra_datepicker/metallic/default-date.png +0 -0
  73. data/{vendor → app}/assets/images/zebra_datepicker/metallic/disabled-date.png +0 -0
  74. data/{vendor → app}/assets/images/zebra_datepicker/metallic/header.png +0 -0
  75. data/{vendor → app}/assets/images/zebra_datepicker/metallic/selected-date.png +0 -0
  76. data/app/assets/javascripts/bootstrap-hover-dropdown/v2.1.3.js +2 -0
  77. data/app/assets/javascripts/bootstrap-hover-dropdown/v2.1.3/bootstrap-hover-dropdown.js +124 -0
  78. data/app/assets/javascripts/bootstrap-hover-dropdown/v2.1.3/bootstrap-hover-dropdown.min.js +12 -0
  79. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0.js +0 -0
  80. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/affix.js +0 -0
  81. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/alert.js +0 -0
  82. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/button.js +0 -0
  83. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/carousel.js +0 -0
  84. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/collapse.js +0 -0
  85. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/dropdown.js +0 -0
  86. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/modal.js +0 -0
  87. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/popover.js +0 -0
  88. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/scrollspy.js +0 -0
  89. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/tab.js +0 -0
  90. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/tooltip.js +0 -0
  91. data/{vendor → app}/assets/javascripts/bootstrap/v3.2.0/transition.js +0 -0
  92. data/app/assets/javascripts/bootstrap/v3.3.0.js +12 -0
  93. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/affix.js +0 -0
  94. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/alert.js +0 -0
  95. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/button.js +0 -0
  96. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/carousel.js +0 -0
  97. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/collapse.js +0 -0
  98. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/dropdown.js +0 -0
  99. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/modal.js +0 -0
  100. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/popover.js +0 -0
  101. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/scrollspy.js +0 -0
  102. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/tab.js +0 -0
  103. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/tooltip.js +0 -0
  104. data/{vendor → app}/assets/javascripts/bootstrap/v3.3.0/transition.js +0 -0
  105. data/app/assets/javascripts/bootstrap/v3.3.2.js +12 -0
  106. data/app/assets/javascripts/bootstrap/v3.3.2/affix.js +162 -0
  107. data/app/assets/javascripts/bootstrap/v3.3.2/alert.js +94 -0
  108. data/app/assets/javascripts/bootstrap/v3.3.2/button.js +116 -0
  109. data/app/assets/javascripts/bootstrap/v3.3.2/carousel.js +237 -0
  110. data/app/assets/javascripts/bootstrap/v3.3.2/collapse.js +211 -0
  111. data/app/assets/javascripts/bootstrap/v3.3.2/dropdown.js +161 -0
  112. data/app/assets/javascripts/bootstrap/v3.3.2/modal.js +324 -0
  113. data/app/assets/javascripts/bootstrap/v3.3.2/popover.js +113 -0
  114. data/app/assets/javascripts/bootstrap/v3.3.2/scrollspy.js +175 -0
  115. data/app/assets/javascripts/bootstrap/v3.3.2/tab.js +153 -0
  116. data/app/assets/javascripts/bootstrap/v3.3.2/tooltip.js +472 -0
  117. data/app/assets/javascripts/bootstrap/v3.3.2/transition.js +59 -0
  118. data/app/assets/javascripts/bootstrap/v3.3.4.js +12 -0
  119. data/app/assets/javascripts/bootstrap/v3.3.4/affix.js +162 -0
  120. data/app/assets/javascripts/bootstrap/v3.3.4/alert.js +94 -0
  121. data/app/assets/javascripts/bootstrap/v3.3.4/button.js +116 -0
  122. data/app/assets/javascripts/bootstrap/v3.3.4/carousel.js +237 -0
  123. data/app/assets/javascripts/bootstrap/v3.3.4/collapse.js +211 -0
  124. data/app/assets/javascripts/bootstrap/v3.3.4/dropdown.js +161 -0
  125. data/app/assets/javascripts/bootstrap/v3.3.4/modal.js +339 -0
  126. data/app/assets/javascripts/bootstrap/v3.3.4/popover.js +108 -0
  127. data/app/assets/javascripts/bootstrap/v3.3.4/scrollspy.js +172 -0
  128. data/app/assets/javascripts/bootstrap/v3.3.4/tab.js +153 -0
  129. data/app/assets/javascripts/bootstrap/v3.3.4/tooltip.js +476 -0
  130. data/app/assets/javascripts/bootstrap/v3.3.4/transition.js +59 -0
  131. data/{vendor → app}/assets/javascripts/draggabilly/v1.1.1.js +0 -0
  132. data/{vendor → app}/assets/javascripts/draggabilly/v1.1.1/draggabilly.js +0 -0
  133. data/{vendor → app}/assets/javascripts/imagesloaded/v3.1.8.js +0 -0
  134. data/{vendor → app}/assets/javascripts/imagesloaded/v3.1.8/imagesloaded.js +0 -0
  135. data/{vendor → app}/assets/javascripts/isotope/v2.0.1.js +0 -0
  136. data/{vendor → app}/assets/javascripts/isotope/v2.0.1/isotope.js +0 -0
  137. data/app/assets/javascripts/jquery-migrate/v1.2.1.js +2 -0
  138. data/app/assets/javascripts/jquery-migrate/v1.2.1/jquery-migrate-1.2.1.min.js +2 -0
  139. data/{vendor → app}/assets/javascripts/jquery.collageplus/v0.3.3.js +0 -0
  140. data/{vendor → app}/assets/javascripts/jquery.collageplus/v0.3.3/jquery.collagecaption.js +0 -0
  141. data/{vendor → app}/assets/javascripts/jquery.collageplus/v0.3.3/jquery.collageplus.js +0 -0
  142. data/{vendor → app}/assets/javascripts/jquery.collageplus/v0.3.3/remove_whitespace.js +0 -0
  143. data/{vendor → app}/assets/javascripts/jquery.colorbox/v1.5.14.js +0 -0
  144. data/{vendor → app}/assets/javascripts/jquery.colorbox/v1.5.14/jquery.colorbox.js +0 -0
  145. data/{vendor → app}/assets/javascripts/jquery.cookie/v1.4.1.js +0 -0
  146. data/{vendor → app}/assets/javascripts/jquery.cookie/v1.4.1/jquery.cookie.js +0 -0
  147. data/{vendor → app}/assets/javascripts/jquery.expander/v1.4.12.js +0 -0
  148. data/{vendor → app}/assets/javascripts/jquery.expander/v1.4.12/jquery.expander.js +0 -0
  149. data/{vendor → app}/assets/javascripts/jquery.fakecrop.js +0 -0
  150. data/{vendor → app}/assets/javascripts/jquery.fakecrop/jquery.fakecrop.js +0 -0
  151. data/{vendor → app}/assets/javascripts/jquery.fancybox/v2.1.5.js +0 -0
  152. data/{vendor → app}/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox-buttons.js +0 -0
  153. data/{vendor → app}/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox-media.js +0 -0
  154. data/{vendor → app}/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox-thumbs.js +0 -0
  155. data/{vendor → app}/assets/javascripts/jquery.fancybox/v2.1.5/jquery.fancybox.js +0 -0
  156. data/{vendor → app}/assets/javascripts/jquery.flexslider/v2.2.2.js +0 -0
  157. data/{vendor → app}/assets/javascripts/jquery.flexslider/v2.2.2/jquery.flexslider.js +0 -0
  158. data/{vendor → app}/assets/javascripts/jquery.infinitescroll/v2.0.2.js +0 -0
  159. data/{vendor → app}/assets/javascripts/jquery.infinitescroll/v2.0.2/jquery.infinitescroll.js +0 -0
  160. data/app/assets/javascripts/jquery.magnific-popup/v1.0.0.js +2 -0
  161. data/app/assets/javascripts/jquery.magnific-popup/v1.0.0/jquery.magnific-popup.js +2060 -0
  162. data/app/assets/javascripts/jquery.magnific-popup/v1.0.0/jquery.magnific-popup.min.js +4 -0
  163. data/{vendor → app}/assets/javascripts/jquery.nivo.slider/v3.2.js +0 -0
  164. data/{vendor → app}/assets/javascripts/jquery.nivo.slider/v3.2/jquery.nivo.slider.js +0 -0
  165. data/{vendor → app}/assets/javascripts/jquery.owlcarousel/v1.3.3.js +0 -0
  166. data/{vendor → app}/assets/javascripts/jquery.owlcarousel/v1.3.3/jquery.owlcarousel.js +0 -0
  167. data/{vendor → app}/assets/javascripts/jquery.pageless.js +0 -0
  168. data/{vendor → app}/assets/javascripts/jquery.pageless/jquery.pageless.js +0 -0
  169. data/{vendor → app}/assets/javascripts/jquery.render/v1.1.0.js +0 -0
  170. data/{vendor → app}/assets/javascripts/jquery.render/v1.1.0/jquery.render.js +0 -0
  171. data/app/assets/javascripts/jquery.resizeimagetoparent.js +2 -0
  172. data/app/assets/javascripts/jquery.resizeimagetoparent/jquery.resizeimagetoparent.js +88 -0
  173. data/app/assets/javascripts/jquery.resizeimagetoparent/jquery.resizeimagetoparent.min.js +8 -0
  174. data/{vendor → app}/assets/javascripts/jquery.scrollto/v1.4.13.js +0 -0
  175. data/{vendor → app}/assets/javascripts/jquery.scrollto/v1.4.13/jquery.scrollto.js +0 -0
  176. data/{vendor → app}/assets/javascripts/jquery.share.js +0 -0
  177. data/{vendor → app}/assets/javascripts/jquery.share/jquery.share.js +0 -0
  178. data/{vendor → app}/assets/javascripts/jquery.timeago/v1.4.1.js +0 -0
  179. data/{vendor → app}/assets/javascripts/jquery.timeago/v1.4.1/jquery.timeago.js +0 -0
  180. data/{vendor → app}/assets/javascripts/jquery.turbolinks/v2.1.0.js +0 -0
  181. data/{vendor → app}/assets/javascripts/jquery.turbolinks/v2.1.0/jquery.turbolinks.js +0 -0
  182. data/{vendor → app}/assets/javascripts/jquery.zoom/v1.7.13.js +0 -0
  183. data/{vendor → app}/assets/javascripts/jquery.zoom/v1.7.13/jquery.zoom.js +0 -0
  184. data/{vendor → app}/assets/javascripts/jquery/v1.11.1.js +0 -0
  185. data/{vendor → app}/assets/javascripts/jquery/v1.11.1/jquery.js +0 -0
  186. data/{vendor → app}/assets/javascripts/jquery/v2.1.1.js +0 -0
  187. data/{vendor → app}/assets/javascripts/jquery/v2.1.1/jquery.js +0 -0
  188. data/{vendor → app}/assets/javascripts/lightgallery/v1.1.4.js +0 -0
  189. data/{vendor → app}/assets/javascripts/lightgallery/v1.1.4/lightgallery.min.js +0 -0
  190. data/{vendor/assets/javascripts/masonry/v3.1.5.js → app/assets/javascripts/masonry/v3.2.2.js} +1 -1
  191. data/app/assets/javascripts/masonry/v3.2.2/masonry.js +2959 -0
  192. data/{vendor → app}/assets/javascripts/nprogress/v0.1.6.js +0 -0
  193. data/{vendor → app}/assets/javascripts/nprogress/v0.1.6/nprogress-ajax.js +0 -0
  194. data/{vendor → app}/assets/javascripts/nprogress/v0.1.6/nprogress-turbolinks.js +0 -0
  195. data/{vendor → app}/assets/javascripts/nprogress/v0.1.6/nprogress.js +0 -0
  196. data/{vendor → app}/assets/javascripts/photoswipe/v4.0.0.js +0 -0
  197. data/{vendor → app}/assets/javascripts/photoswipe/v4.0.0/photoswipe-ui-default.js +0 -0
  198. data/{vendor → app}/assets/javascripts/photoswipe/v4.0.0/photoswipe.js +0 -0
  199. data/{vendor → app}/assets/javascripts/photoswipe/v4.0.2.js +0 -0
  200. data/{vendor → app}/assets/javascripts/photoswipe/v4.0.2/photoswipe-ui-default.js +0 -0
  201. data/{vendor → app}/assets/javascripts/photoswipe/v4.0.2/photoswipe.js +0 -0
  202. data/{vendor → app}/assets/javascripts/responsiveCarousel/v1.2.0.js +0 -0
  203. data/{vendor → app}/assets/javascripts/responsiveCarousel/v1.2.0/responsiveCarousel.js +0 -0
  204. data/{vendor → app}/assets/javascripts/responsiveslides/v1.54.js +0 -0
  205. data/{vendor → app}/assets/javascripts/responsiveslides/v1.54/responsiveslides.js +0 -0
  206. data/app/assets/javascripts/waypoints/v3.0.1/jquery.waypoints.js +620 -0
  207. data/app/assets/javascripts/waypoints/v3.0.1/noframework.waypoints.js +716 -0
  208. data/app/assets/javascripts/waypoints/v3.0.1/shortcuts/infinite.js +81 -0
  209. data/app/assets/javascripts/waypoints/v3.0.1/shortcuts/inview.js +103 -0
  210. data/app/assets/javascripts/waypoints/v3.0.1/shortcuts/sticky.js +65 -0
  211. data/app/assets/javascripts/waypoints/v3.0.1/zepto.waypoints.js +663 -0
  212. data/{vendor → app}/assets/javascripts/zebra_datepicker/v1.8.9.js +0 -0
  213. data/{vendor → app}/assets/javascripts/zebra_datepicker/v1.8.9/zebra_datepicker.js +0 -0
  214. data/{vendor/assets/stylesheets/bootstrap/_v3.2.0.scss → app/assets/stylesheets/bootstrap/v3.2.0.scss} +0 -0
  215. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_alerts.scss +0 -0
  216. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_badges.scss +0 -0
  217. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_bootstrap-sprockets.scss +0 -0
  218. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_breadcrumbs.scss +0 -0
  219. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_button-groups.scss +0 -0
  220. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_buttons.scss +0 -0
  221. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_carousel.scss +0 -0
  222. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_close.scss +0 -0
  223. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_code.scss +0 -0
  224. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_component-animations.scss +0 -0
  225. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_dropdowns.scss +0 -0
  226. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_forms.scss +0 -0
  227. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_glyphicons.scss +0 -0
  228. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_grid.scss +0 -0
  229. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_input-groups.scss +0 -0
  230. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_jumbotron.scss +0 -0
  231. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_labels.scss +0 -0
  232. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_list-group.scss +0 -0
  233. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_media.scss +0 -0
  234. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_mixins.scss +0 -0
  235. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_modals.scss +0 -0
  236. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_navbar.scss +0 -0
  237. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_navs.scss +0 -0
  238. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_normalize.scss +0 -0
  239. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_pager.scss +0 -0
  240. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_pagination.scss +0 -0
  241. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_panels.scss +0 -0
  242. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_popovers.scss +0 -0
  243. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_print.scss +0 -0
  244. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_progress-bars.scss +0 -0
  245. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_responsive-embed.scss +0 -0
  246. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_responsive-utilities.scss +0 -0
  247. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_scaffolding.scss +0 -0
  248. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_tables.scss +0 -0
  249. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_theme.scss +0 -0
  250. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_thumbnails.scss +0 -0
  251. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_tooltip.scss +0 -0
  252. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_type.scss +0 -0
  253. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_utilities.scss +0 -0
  254. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_variables.scss +0 -0
  255. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/_wells.scss +0 -0
  256. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_alerts.scss +0 -0
  257. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_background-variant.scss +0 -0
  258. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_border-radius.scss +0 -0
  259. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_buttons.scss +0 -0
  260. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_center-block.scss +0 -0
  261. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_clearfix.scss +0 -0
  262. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_forms.scss +0 -0
  263. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_gradients.scss +0 -0
  264. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_grid-framework.scss +0 -0
  265. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_grid.scss +0 -0
  266. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_hide-text.scss +0 -0
  267. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_image.scss +0 -0
  268. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_labels.scss +0 -0
  269. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_list-group.scss +0 -0
  270. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_nav-divider.scss +0 -0
  271. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_nav-vertical-align.scss +0 -0
  272. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_opacity.scss +0 -0
  273. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_pagination.scss +0 -0
  274. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_panels.scss +0 -0
  275. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_progress-bar.scss +0 -0
  276. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_reset-filter.scss +0 -0
  277. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_resize.scss +0 -0
  278. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_responsive-visibility.scss +0 -0
  279. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_size.scss +0 -0
  280. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_tab-focus.scss +0 -0
  281. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_table-row.scss +0 -0
  282. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_text-emphasis.scss +0 -0
  283. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_text-overflow.scss +0 -0
  284. data/{vendor → app}/assets/stylesheets/bootstrap/v3.2.0/mixins/_vendor-prefixes.scss +0 -0
  285. data/{vendor/assets/stylesheets/bootstrap/_v3.3.0.scss → app/assets/stylesheets/bootstrap/v3.3.0.scss} +0 -0
  286. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_alerts.scss +0 -0
  287. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_badges.scss +0 -0
  288. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_bootstrap-sprockets.scss +0 -0
  289. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_breadcrumbs.scss +0 -0
  290. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_button-groups.scss +0 -0
  291. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_buttons.scss +0 -0
  292. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_carousel.scss +0 -0
  293. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_close.scss +0 -0
  294. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_code.scss +0 -0
  295. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_component-animations.scss +0 -0
  296. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_dropdowns.scss +0 -0
  297. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_forms.scss +0 -0
  298. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_glyphicons.scss +0 -0
  299. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_grid.scss +0 -0
  300. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_input-groups.scss +0 -0
  301. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_jumbotron.scss +0 -0
  302. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_labels.scss +0 -0
  303. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_list-group.scss +0 -0
  304. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_media.scss +0 -0
  305. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_mixins.scss +0 -0
  306. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_modals.scss +0 -0
  307. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_navbar.scss +0 -0
  308. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_navs.scss +0 -0
  309. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_normalize.scss +0 -0
  310. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_pager.scss +0 -0
  311. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_pagination.scss +0 -0
  312. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_panels.scss +0 -0
  313. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_popovers.scss +0 -0
  314. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_print.scss +0 -0
  315. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_progress-bars.scss +0 -0
  316. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_responsive-embed.scss +0 -0
  317. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_responsive-utilities.scss +0 -0
  318. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_scaffolding.scss +0 -0
  319. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_tables.scss +0 -0
  320. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_theme.scss +0 -0
  321. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_thumbnails.scss +0 -0
  322. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_tooltip.scss +0 -0
  323. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_type.scss +0 -0
  324. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_utilities.scss +0 -0
  325. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_variables.scss +1 -1
  326. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/_wells.scss +0 -0
  327. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_alerts.scss +0 -0
  328. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_background-variant.scss +0 -0
  329. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_border-radius.scss +0 -0
  330. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_buttons.scss +0 -0
  331. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_center-block.scss +0 -0
  332. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_clearfix.scss +0 -0
  333. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_forms.scss +0 -0
  334. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_gradients.scss +0 -0
  335. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_grid-framework.scss +0 -0
  336. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_grid.scss +0 -0
  337. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_hide-text.scss +0 -0
  338. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_image.scss +0 -0
  339. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_labels.scss +0 -0
  340. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_list-group.scss +0 -0
  341. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_nav-divider.scss +0 -0
  342. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_nav-vertical-align.scss +0 -0
  343. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_opacity.scss +0 -0
  344. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_pagination.scss +0 -0
  345. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_panels.scss +0 -0
  346. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_progress-bar.scss +0 -0
  347. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_reset-filter.scss +0 -0
  348. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_resize.scss +0 -0
  349. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_responsive-visibility.scss +0 -0
  350. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_size.scss +0 -0
  351. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_tab-focus.scss +0 -0
  352. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_table-row.scss +0 -0
  353. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_text-emphasis.scss +0 -0
  354. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_text-overflow.scss +0 -0
  355. data/{vendor → app}/assets/stylesheets/bootstrap/v3.3.0/mixins/_vendor-prefixes.scss +0 -0
  356. data/app/assets/stylesheets/bootstrap/v3.3.2.scss +52 -0
  357. data/app/assets/stylesheets/bootstrap/v3.3.2/_alerts.scss +73 -0
  358. data/app/assets/stylesheets/bootstrap/v3.3.2/_badges.scss +67 -0
  359. data/app/assets/stylesheets/bootstrap/v3.3.2/_bootstrap-sprockets.scss +9 -0
  360. data/app/assets/stylesheets/bootstrap/v3.3.2/_breadcrumbs.scss +26 -0
  361. data/app/assets/stylesheets/bootstrap/v3.3.2/_button-groups.scss +243 -0
  362. data/app/assets/stylesheets/bootstrap/v3.3.2/_buttons.scss +160 -0
  363. data/app/assets/stylesheets/bootstrap/v3.3.2/_carousel.scss +269 -0
  364. data/app/assets/stylesheets/bootstrap/v3.3.2/_close.scss +36 -0
  365. data/app/assets/stylesheets/bootstrap/v3.3.2/_code.scss +69 -0
  366. data/app/assets/stylesheets/bootstrap/v3.3.2/_component-animations.scss +38 -0
  367. data/app/assets/stylesheets/bootstrap/v3.3.2/_dropdowns.scss +214 -0
  368. data/app/assets/stylesheets/bootstrap/v3.3.2/_forms.scss +570 -0
  369. data/app/assets/stylesheets/bootstrap/v3.3.2/_glyphicons.scss +301 -0
  370. data/app/assets/stylesheets/bootstrap/v3.3.2/_grid.scss +84 -0
  371. data/app/assets/stylesheets/bootstrap/v3.3.2/_input-groups.scss +166 -0
  372. data/app/assets/stylesheets/bootstrap/v3.3.2/_jumbotron.scss +50 -0
  373. data/app/assets/stylesheets/bootstrap/v3.3.2/_labels.scss +66 -0
  374. data/app/assets/stylesheets/bootstrap/v3.3.2/_list-group.scss +124 -0
  375. data/app/assets/stylesheets/bootstrap/v3.3.2/_media.scss +61 -0
  376. data/app/assets/stylesheets/bootstrap/v3.3.2/_mixins.scss +39 -0
  377. data/app/assets/stylesheets/bootstrap/v3.3.2/_modals.scss +148 -0
  378. data/app/assets/stylesheets/bootstrap/v3.3.2/_navbar.scss +663 -0
  379. data/app/assets/stylesheets/bootstrap/v3.3.2/_navs.scss +244 -0
  380. data/app/assets/stylesheets/bootstrap/v3.3.2/_normalize.scss +427 -0
  381. data/app/assets/stylesheets/bootstrap/v3.3.2/_pager.scss +54 -0
  382. data/app/assets/stylesheets/bootstrap/v3.3.2/_pagination.scss +88 -0
  383. data/app/assets/stylesheets/bootstrap/v3.3.2/_panels.scss +265 -0
  384. data/app/assets/stylesheets/bootstrap/v3.3.2/_popovers.scss +135 -0
  385. data/app/assets/stylesheets/bootstrap/v3.3.2/_print.scss +107 -0
  386. data/app/assets/stylesheets/bootstrap/v3.3.2/_progress-bars.scss +87 -0
  387. data/app/assets/stylesheets/bootstrap/v3.3.2/_responsive-embed.scss +35 -0
  388. data/app/assets/stylesheets/bootstrap/v3.3.2/_responsive-utilities.scss +177 -0
  389. data/app/assets/stylesheets/bootstrap/v3.3.2/_scaffolding.scss +150 -0
  390. data/app/assets/stylesheets/bootstrap/v3.3.2/_tables.scss +234 -0
  391. data/app/assets/stylesheets/bootstrap/v3.3.2/_theme.scss +273 -0
  392. data/app/assets/stylesheets/bootstrap/v3.3.2/_thumbnails.scss +38 -0
  393. data/app/assets/stylesheets/bootstrap/v3.3.2/_tooltip.scss +103 -0
  394. data/app/assets/stylesheets/bootstrap/v3.3.2/_type.scss +298 -0
  395. data/app/assets/stylesheets/bootstrap/v3.3.2/_utilities.scss +56 -0
  396. data/app/assets/stylesheets/bootstrap/v3.3.2/_variables.scss +862 -0
  397. data/app/assets/stylesheets/bootstrap/v3.3.2/_wells.scss +29 -0
  398. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_alerts.scss +14 -0
  399. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_background-variant.scss +11 -0
  400. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_border-radius.scss +18 -0
  401. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_buttons.scss +52 -0
  402. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_center-block.scss +7 -0
  403. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_clearfix.scss +22 -0
  404. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_forms.scss +88 -0
  405. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_gradients.scss +58 -0
  406. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_grid-framework.scss +81 -0
  407. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_grid.scss +122 -0
  408. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_hide-text.scss +21 -0
  409. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_image.scss +33 -0
  410. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_labels.scss +12 -0
  411. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_list-group.scss +31 -0
  412. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_nav-divider.scss +10 -0
  413. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_nav-vertical-align.scss +9 -0
  414. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_opacity.scss +8 -0
  415. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_pagination.scss +23 -0
  416. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_panels.scss +24 -0
  417. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_progress-bar.scss +10 -0
  418. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_reset-filter.scss +8 -0
  419. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_resize.scss +6 -0
  420. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_responsive-visibility.scss +21 -0
  421. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_size.scss +10 -0
  422. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_tab-focus.scss +9 -0
  423. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_table-row.scss +28 -0
  424. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_text-emphasis.scss +11 -0
  425. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_text-overflow.scss +8 -0
  426. data/app/assets/stylesheets/bootstrap/v3.3.2/mixins/_vendor-prefixes.scss +222 -0
  427. data/app/assets/stylesheets/bootstrap/v3.3.4.scss +52 -0
  428. data/app/assets/stylesheets/bootstrap/v3.3.4/_alerts.scss +73 -0
  429. data/app/assets/stylesheets/bootstrap/v3.3.4/_badges.scss +68 -0
  430. data/app/assets/stylesheets/bootstrap/v3.3.4/_bootstrap-sprockets.scss +9 -0
  431. data/app/assets/stylesheets/bootstrap/v3.3.4/_breadcrumbs.scss +26 -0
  432. data/app/assets/stylesheets/bootstrap/v3.3.4/_button-groups.scss +243 -0
  433. data/app/assets/stylesheets/bootstrap/v3.3.4/_buttons.scss +160 -0
  434. data/app/assets/stylesheets/bootstrap/v3.3.4/_carousel.scss +269 -0
  435. data/app/assets/stylesheets/bootstrap/v3.3.4/_close.scss +36 -0
  436. data/app/assets/stylesheets/bootstrap/v3.3.4/_code.scss +69 -0
  437. data/app/assets/stylesheets/bootstrap/v3.3.4/_component-animations.scss +37 -0
  438. data/app/assets/stylesheets/bootstrap/v3.3.4/_dropdowns.scss +214 -0
  439. data/app/assets/stylesheets/bootstrap/v3.3.4/_forms.scss +578 -0
  440. data/app/assets/stylesheets/bootstrap/v3.3.4/_glyphicons.scss +305 -0
  441. data/app/assets/stylesheets/bootstrap/v3.3.4/_grid.scss +84 -0
  442. data/app/assets/stylesheets/bootstrap/v3.3.4/_input-groups.scss +166 -0
  443. data/app/assets/stylesheets/bootstrap/v3.3.4/_jumbotron.scss +50 -0
  444. data/app/assets/stylesheets/bootstrap/v3.3.4/_labels.scss +66 -0
  445. data/app/assets/stylesheets/bootstrap/v3.3.4/_list-group.scss +124 -0
  446. data/app/assets/stylesheets/bootstrap/v3.3.4/_media.scss +61 -0
  447. data/app/assets/stylesheets/bootstrap/v3.3.4/_mixins.scss +39 -0
  448. data/app/assets/stylesheets/bootstrap/v3.3.4/_modals.scss +150 -0
  449. data/app/assets/stylesheets/bootstrap/v3.3.4/_navbar.scss +662 -0
  450. data/app/assets/stylesheets/bootstrap/v3.3.4/_navs.scss +242 -0
  451. data/app/assets/stylesheets/bootstrap/v3.3.4/_normalize.scss +427 -0
  452. data/app/assets/stylesheets/bootstrap/v3.3.4/_pager.scss +54 -0
  453. data/app/assets/stylesheets/bootstrap/v3.3.4/_pagination.scss +88 -0
  454. data/app/assets/stylesheets/bootstrap/v3.3.4/_panels.scss +265 -0
  455. data/app/assets/stylesheets/bootstrap/v3.3.4/_popovers.scss +135 -0
  456. data/app/assets/stylesheets/bootstrap/v3.3.4/_print.scss +107 -0
  457. data/app/assets/stylesheets/bootstrap/v3.3.4/_progress-bars.scss +87 -0
  458. data/app/assets/stylesheets/bootstrap/v3.3.4/_responsive-embed.scss +35 -0
  459. data/app/assets/stylesheets/bootstrap/v3.3.4/_responsive-utilities.scss +177 -0
  460. data/app/assets/stylesheets/bootstrap/v3.3.4/_scaffolding.scss +162 -0
  461. data/app/assets/stylesheets/bootstrap/v3.3.4/_tables.scss +234 -0
  462. data/app/assets/stylesheets/bootstrap/v3.3.4/_theme.scss +273 -0
  463. data/app/assets/stylesheets/bootstrap/v3.3.4/_thumbnails.scss +38 -0
  464. data/app/assets/stylesheets/bootstrap/v3.3.4/_tooltip.scss +102 -0
  465. data/app/assets/stylesheets/bootstrap/v3.3.4/_type.scss +298 -0
  466. data/app/assets/stylesheets/bootstrap/v3.3.4/_utilities.scss +55 -0
  467. data/app/assets/stylesheets/bootstrap/v3.3.4/_variables.scss +866 -0
  468. data/app/assets/stylesheets/bootstrap/v3.3.4/_wells.scss +29 -0
  469. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_alerts.scss +14 -0
  470. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_background-variant.scss +11 -0
  471. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_border-radius.scss +18 -0
  472. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_buttons.scss +52 -0
  473. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_center-block.scss +7 -0
  474. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_clearfix.scss +22 -0
  475. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_forms.scss +88 -0
  476. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_gradients.scss +58 -0
  477. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_grid-framework.scss +81 -0
  478. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_grid.scss +122 -0
  479. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_hide-text.scss +21 -0
  480. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_image.scss +33 -0
  481. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_labels.scss +12 -0
  482. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_list-group.scss +31 -0
  483. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_nav-divider.scss +10 -0
  484. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_nav-vertical-align.scss +9 -0
  485. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_opacity.scss +8 -0
  486. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_pagination.scss +23 -0
  487. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_panels.scss +24 -0
  488. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_progress-bar.scss +10 -0
  489. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_reset-filter.scss +8 -0
  490. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_resize.scss +6 -0
  491. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_responsive-visibility.scss +21 -0
  492. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_size.scss +10 -0
  493. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_tab-focus.scss +9 -0
  494. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_table-row.scss +28 -0
  495. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_text-emphasis.scss +11 -0
  496. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_text-overflow.scss +8 -0
  497. data/app/assets/stylesheets/bootstrap/v3.3.4/mixins/_vendor-prefixes.scss +222 -0
  498. data/app/assets/stylesheets/font-awesome/v4.2.0.scss +1 -0
  499. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_bordered-pulled.scss +0 -0
  500. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_core.scss +0 -0
  501. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_extras.scss +0 -0
  502. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_fixed-width.scss +0 -0
  503. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_icons.scss +0 -0
  504. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_larger.scss +0 -0
  505. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_list.scss +0 -0
  506. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_mixins.scss +0 -0
  507. data/app/assets/stylesheets/font-awesome/v4.2.0/_path.scss +14 -0
  508. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_rotated-flipped.scss +0 -0
  509. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_spinning.scss +0 -0
  510. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_stacked.scss +0 -0
  511. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/_variables.scss +1 -1
  512. data/{vendor → app}/assets/stylesheets/font-awesome/v4.2.0/font-awesome.scss +1 -1
  513. data/{vendor → app}/assets/stylesheets/jquery.collageplus/v0.3.3/transitions.css +0 -0
  514. data/{vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example1.css.scss → app/assets/stylesheets/jquery.colorbox/v1.5.14/example1.scss} +0 -0
  515. data/{vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example2.css.scss → app/assets/stylesheets/jquery.colorbox/v1.5.14/example2.scss} +0 -0
  516. data/{vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example3.css.scss → app/assets/stylesheets/jquery.colorbox/v1.5.14/example3.scss} +0 -0
  517. data/{vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example4.css.scss → app/assets/stylesheets/jquery.colorbox/v1.5.14/example4.scss} +0 -0
  518. data/{vendor/assets/stylesheets/jquery.colorbox/v1.5.14/example5.css.scss → app/assets/stylesheets/jquery.colorbox/v1.5.14/example5.scss} +0 -0
  519. data/app/assets/stylesheets/jquery.fancybox/v2.1.5.scss +3 -0
  520. data/{vendor → app}/assets/stylesheets/jquery.fancybox/v2.1.5/jquery.fancybox-buttons.css.erb +0 -0
  521. data/{vendor → app}/assets/stylesheets/jquery.fancybox/v2.1.5/jquery.fancybox-thumbs.css +0 -0
  522. data/{vendor → app}/assets/stylesheets/jquery.fancybox/v2.1.5/jquery.fancybox.css.erb +0 -0
  523. data/app/assets/stylesheets/jquery.flexslider/v2.2.2.scss +1 -0
  524. data/{vendor → app}/assets/stylesheets/jquery.flexslider/v2.2.2/jquery.flexslider.scss +0 -0
  525. data/app/assets/stylesheets/jquery.magnific-popup/v1.0.0.scss +1 -0
  526. data/app/assets/stylesheets/jquery.magnific-popup/v1.0.0/magnific-popup.css +374 -0
  527. data/app/assets/stylesheets/jquery.nivo.slider/v3.2.scss +1 -0
  528. data/{vendor → app}/assets/stylesheets/jquery.nivo.slider/v3.2/jquery.nivo.slider.css +0 -0
  529. data/{vendor → app}/assets/stylesheets/jquery.owlcarousel/v1.3.3/jquery.owlcarousel.scss +0 -0
  530. data/{vendor → app}/assets/stylesheets/jquery.owlcarousel/v1.3.3/theme.scss +0 -0
  531. data/{vendor → app}/assets/stylesheets/jquery.owlcarousel/v1.3.3/transitions.scss +0 -0
  532. data/app/assets/stylesheets/jquery.share.css +1 -0
  533. data/{vendor → app}/assets/stylesheets/jquery.share/jquery.share.scss +0 -0
  534. data/app/assets/stylesheets/lightgallery/v1.1.4.scss +1 -0
  535. data/{vendor → app}/assets/stylesheets/lightgallery/v1.1.4/lightgallery.scss +0 -0
  536. data/{vendor → app}/assets/stylesheets/nprogress/v0.1.6/nprogress-bootstrap.css +0 -0
  537. data/{vendor → app}/assets/stylesheets/nprogress/v0.1.6/nprogress.css.scss +0 -0
  538. data/app/assets/stylesheets/photoswipe/v4.0.0.scss +2 -0
  539. data/{vendor → app}/assets/stylesheets/photoswipe/v4.0.0/default-skin.scss +0 -0
  540. data/{vendor → app}/assets/stylesheets/photoswipe/v4.0.0/photoswipe.css +0 -0
  541. data/app/assets/stylesheets/photoswipe/v4.0.2.scss +2 -0
  542. data/{vendor → app}/assets/stylesheets/photoswipe/v4.0.2/default-skin.scss +0 -0
  543. data/{vendor → app}/assets/stylesheets/photoswipe/v4.0.2/photoswipe.css +0 -0
  544. data/app/assets/stylesheets/responsiveslides/v1.54.css +1 -0
  545. data/{vendor → app}/assets/stylesheets/responsiveslides/v1.54/responsiveslides.css +0 -0
  546. data/{vendor → app}/assets/stylesheets/zebra_datepicker/v1.8.9/bootstrap.scss +0 -0
  547. data/{vendor → app}/assets/stylesheets/zebra_datepicker/v1.8.9/default.scss +0 -0
  548. data/{vendor → app}/assets/stylesheets/zebra_datepicker/v1.8.9/metallic.scss +0 -0
  549. data/lib/assets-rails/engine.rb +0 -3
  550. data/lib/assets-rails/version.rb +1 -1
  551. metadata +548 -349
  552. data/vendor/assets/javascripts/masonry/v3.1.5/masonry.js +0 -205
  553. data/vendor/assets/stylesheets/font-awesome/v4.2.0.css +0 -3
  554. data/vendor/assets/stylesheets/font-awesome/v4.2.0/_path.scss +0 -14
  555. data/vendor/assets/stylesheets/jquery.fancybox/v2.1.5.css +0 -5
  556. data/vendor/assets/stylesheets/jquery.flexslider/v2.2.2.css +0 -3
  557. data/vendor/assets/stylesheets/jquery.nivo.slider/v3.2.css +0 -3
  558. data/vendor/assets/stylesheets/jquery.share.css +0 -3
  559. data/vendor/assets/stylesheets/photoswipe/v4.0.0.css +0 -3
  560. data/vendor/assets/stylesheets/photoswipe/v4.0.2.css +0 -3
  561. data/vendor/assets/stylesheets/responsiveslides/v1.54.css +0 -3
@@ -0,0 +1,59 @@
1
+ /* ========================================================================
2
+ * Bootstrap: transition.js v3.3.4
3
+ * http://getbootstrap.com/javascript/#transitions
4
+ * ========================================================================
5
+ * Copyright 2011-2015 Twitter, Inc.
6
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7
+ * ======================================================================== */
8
+
9
+
10
+ +function ($) {
11
+ 'use strict';
12
+
13
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
14
+ // ============================================================
15
+
16
+ function transitionEnd() {
17
+ var el = document.createElement('bootstrap')
18
+
19
+ var transEndEventNames = {
20
+ WebkitTransition : 'webkitTransitionEnd',
21
+ MozTransition : 'transitionend',
22
+ OTransition : 'oTransitionEnd otransitionend',
23
+ transition : 'transitionend'
24
+ }
25
+
26
+ for (var name in transEndEventNames) {
27
+ if (el.style[name] !== undefined) {
28
+ return { end: transEndEventNames[name] }
29
+ }
30
+ }
31
+
32
+ return false // explicit for ie8 ( ._.)
33
+ }
34
+
35
+ // http://blog.alexmaccaw.com/css-transitions
36
+ $.fn.emulateTransitionEnd = function (duration) {
37
+ var called = false
38
+ var $el = this
39
+ $(this).one('bsTransitionEnd', function () { called = true })
40
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
41
+ setTimeout(callback, duration)
42
+ return this
43
+ }
44
+
45
+ $(function () {
46
+ $.support.transition = transitionEnd()
47
+
48
+ if (!$.support.transition) return
49
+
50
+ $.event.special.bsTransitionEnd = {
51
+ bindType: $.support.transition.end,
52
+ delegateType: $.support.transition.end,
53
+ handle: function (e) {
54
+ if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
55
+ }
56
+ }
57
+ })
58
+
59
+ }(jQuery);
@@ -0,0 +1,2 @@
1
+ //http://code.jquery.com/jquery-migrate-1.2.1.min.js
2
+ //= require jquery-migrate/v1.2.1/jquery-migrate-1.2.1.min.js
@@ -0,0 +1,2 @@
1
+ /*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
2
+ jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
@@ -0,0 +1,2 @@
1
+ //https://github.com/dimsemenov/Magnific-Popup/
2
+ //= require jquery.magnific-popup/v1.0.0/jquery.magnific-popup.min.js
@@ -0,0 +1,2060 @@
1
+ /*! Magnific Popup - v1.0.0 - 2015-01-03
2
+ * http://dimsemenov.com/plugins/magnific-popup/
3
+ * Copyright (c) 2015 Dmitry Semenov; */
4
+ ;(function (factory) {
5
+ if (typeof define === 'function' && define.amd) {
6
+ // AMD. Register as an anonymous module.
7
+ define(['jquery'], factory);
8
+ } else if (typeof exports === 'object') {
9
+ // Node/CommonJS
10
+ factory(require('jquery'));
11
+ } else {
12
+ // Browser globals
13
+ factory(window.jQuery || window.Zepto);
14
+ }
15
+ }(function($) {
16
+
17
+ /*>>core*/
18
+ /**
19
+ *
20
+ * Magnific Popup Core JS file
21
+ *
22
+ */
23
+
24
+
25
+ /**
26
+ * Private static constants
27
+ */
28
+ var CLOSE_EVENT = 'Close',
29
+ BEFORE_CLOSE_EVENT = 'BeforeClose',
30
+ AFTER_CLOSE_EVENT = 'AfterClose',
31
+ BEFORE_APPEND_EVENT = 'BeforeAppend',
32
+ MARKUP_PARSE_EVENT = 'MarkupParse',
33
+ OPEN_EVENT = 'Open',
34
+ CHANGE_EVENT = 'Change',
35
+ NS = 'mfp',
36
+ EVENT_NS = '.' + NS,
37
+ READY_CLASS = 'mfp-ready',
38
+ REMOVING_CLASS = 'mfp-removing',
39
+ PREVENT_CLOSE_CLASS = 'mfp-prevent-close';
40
+
41
+
42
+ /**
43
+ * Private vars
44
+ */
45
+ /*jshint -W079 */
46
+ var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'
47
+ MagnificPopup = function(){},
48
+ _isJQ = !!(window.jQuery),
49
+ _prevStatus,
50
+ _window = $(window),
51
+ _document,
52
+ _prevContentType,
53
+ _wrapClasses,
54
+ _currPopupType;
55
+
56
+
57
+ /**
58
+ * Private functions
59
+ */
60
+ var _mfpOn = function(name, f) {
61
+ mfp.ev.on(NS + name + EVENT_NS, f);
62
+ },
63
+ _getEl = function(className, appendTo, html, raw) {
64
+ var el = document.createElement('div');
65
+ el.className = 'mfp-'+className;
66
+ if(html) {
67
+ el.innerHTML = html;
68
+ }
69
+ if(!raw) {
70
+ el = $(el);
71
+ if(appendTo) {
72
+ el.appendTo(appendTo);
73
+ }
74
+ } else if(appendTo) {
75
+ appendTo.appendChild(el);
76
+ }
77
+ return el;
78
+ },
79
+ _mfpTrigger = function(e, data) {
80
+ mfp.ev.triggerHandler(NS + e, data);
81
+
82
+ if(mfp.st.callbacks) {
83
+ // converts "mfpEventName" to "eventName" callback and triggers it if it's present
84
+ e = e.charAt(0).toLowerCase() + e.slice(1);
85
+ if(mfp.st.callbacks[e]) {
86
+ mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);
87
+ }
88
+ }
89
+ },
90
+ _getCloseBtn = function(type) {
91
+ if(type !== _currPopupType || !mfp.currTemplate.closeBtn) {
92
+ mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );
93
+ _currPopupType = type;
94
+ }
95
+ return mfp.currTemplate.closeBtn;
96
+ },
97
+ // Initialize Magnific Popup only when called at least once
98
+ _checkInstance = function() {
99
+ if(!$.magnificPopup.instance) {
100
+ /*jshint -W020 */
101
+ mfp = new MagnificPopup();
102
+ mfp.init();
103
+ $.magnificPopup.instance = mfp;
104
+ }
105
+ },
106
+ // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr
107
+ supportsTransitions = function() {
108
+ var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist
109
+ v = ['ms','O','Moz','Webkit']; // 'v' for vendor
110
+
111
+ if( s['transition'] !== undefined ) {
112
+ return true;
113
+ }
114
+
115
+ while( v.length ) {
116
+ if( v.pop() + 'Transition' in s ) {
117
+ return true;
118
+ }
119
+ }
120
+
121
+ return false;
122
+ };
123
+
124
+
125
+
126
+ /**
127
+ * Public functions
128
+ */
129
+ MagnificPopup.prototype = {
130
+
131
+ constructor: MagnificPopup,
132
+
133
+ /**
134
+ * Initializes Magnific Popup plugin.
135
+ * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed
136
+ */
137
+ init: function() {
138
+ var appVersion = navigator.appVersion;
139
+ mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1;
140
+ mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1;
141
+ mfp.isLowIE = mfp.isIE7 || mfp.isIE8;
142
+ mfp.isAndroid = (/android/gi).test(appVersion);
143
+ mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
144
+ mfp.supportsTransition = supportsTransitions();
145
+
146
+ // We disable fixed positioned lightbox on devices that don't handle it nicely.
147
+ // If you know a better way of detecting this - let me know.
148
+ mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );
149
+ _document = $(document);
150
+
151
+ mfp.popupsCache = {};
152
+ },
153
+
154
+ /**
155
+ * Opens popup
156
+ * @param data [description]
157
+ */
158
+ open: function(data) {
159
+
160
+ var i;
161
+
162
+ if(data.isObj === false) {
163
+ // convert jQuery collection to array to avoid conflicts later
164
+ mfp.items = data.items.toArray();
165
+
166
+ mfp.index = 0;
167
+ var items = data.items,
168
+ item;
169
+ for(i = 0; i < items.length; i++) {
170
+ item = items[i];
171
+ if(item.parsed) {
172
+ item = item.el[0];
173
+ }
174
+ if(item === data.el[0]) {
175
+ mfp.index = i;
176
+ break;
177
+ }
178
+ }
179
+ } else {
180
+ mfp.items = $.isArray(data.items) ? data.items : [data.items];
181
+ mfp.index = data.index || 0;
182
+ }
183
+
184
+ // if popup is already opened - we just update the content
185
+ if(mfp.isOpen) {
186
+ mfp.updateItemHTML();
187
+ return;
188
+ }
189
+
190
+ mfp.types = [];
191
+ _wrapClasses = '';
192
+ if(data.mainEl && data.mainEl.length) {
193
+ mfp.ev = data.mainEl.eq(0);
194
+ } else {
195
+ mfp.ev = _document;
196
+ }
197
+
198
+ if(data.key) {
199
+ if(!mfp.popupsCache[data.key]) {
200
+ mfp.popupsCache[data.key] = {};
201
+ }
202
+ mfp.currTemplate = mfp.popupsCache[data.key];
203
+ } else {
204
+ mfp.currTemplate = {};
205
+ }
206
+
207
+
208
+
209
+ mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data );
210
+ mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;
211
+
212
+ if(mfp.st.modal) {
213
+ mfp.st.closeOnContentClick = false;
214
+ mfp.st.closeOnBgClick = false;
215
+ mfp.st.showCloseBtn = false;
216
+ mfp.st.enableEscapeKey = false;
217
+ }
218
+
219
+
220
+ // Building markup
221
+ // main containers are created only once
222
+ if(!mfp.bgOverlay) {
223
+
224
+ // Dark overlay
225
+ mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {
226
+ mfp.close();
227
+ });
228
+
229
+ mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {
230
+ if(mfp._checkIfClose(e.target)) {
231
+ mfp.close();
232
+ }
233
+ });
234
+
235
+ mfp.container = _getEl('container', mfp.wrap);
236
+ }
237
+
238
+ mfp.contentContainer = _getEl('content');
239
+ if(mfp.st.preloader) {
240
+ mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
241
+ }
242
+
243
+
244
+ // Initializing modules
245
+ var modules = $.magnificPopup.modules;
246
+ for(i = 0; i < modules.length; i++) {
247
+ var n = modules[i];
248
+ n = n.charAt(0).toUpperCase() + n.slice(1);
249
+ mfp['init'+n].call(mfp);
250
+ }
251
+ _mfpTrigger('BeforeOpen');
252
+
253
+
254
+ if(mfp.st.showCloseBtn) {
255
+ // Close button
256
+ if(!mfp.st.closeBtnInside) {
257
+ mfp.wrap.append( _getCloseBtn() );
258
+ } else {
259
+ _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {
260
+ values.close_replaceWith = _getCloseBtn(item.type);
261
+ });
262
+ _wrapClasses += ' mfp-close-btn-in';
263
+ }
264
+ }
265
+
266
+ if(mfp.st.alignTop) {
267
+ _wrapClasses += ' mfp-align-top';
268
+ }
269
+
270
+
271
+
272
+ if(mfp.fixedContentPos) {
273
+ mfp.wrap.css({
274
+ overflow: mfp.st.overflowY,
275
+ overflowX: 'hidden',
276
+ overflowY: mfp.st.overflowY
277
+ });
278
+ } else {
279
+ mfp.wrap.css({
280
+ top: _window.scrollTop(),
281
+ position: 'absolute'
282
+ });
283
+ }
284
+ if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {
285
+ mfp.bgOverlay.css({
286
+ height: _document.height(),
287
+ position: 'absolute'
288
+ });
289
+ }
290
+
291
+
292
+
293
+ if(mfp.st.enableEscapeKey) {
294
+ // Close on ESC key
295
+ _document.on('keyup' + EVENT_NS, function(e) {
296
+ if(e.keyCode === 27) {
297
+ mfp.close();
298
+ }
299
+ });
300
+ }
301
+
302
+ _window.on('resize' + EVENT_NS, function() {
303
+ mfp.updateSize();
304
+ });
305
+
306
+
307
+ if(!mfp.st.closeOnContentClick) {
308
+ _wrapClasses += ' mfp-auto-cursor';
309
+ }
310
+
311
+ if(_wrapClasses)
312
+ mfp.wrap.addClass(_wrapClasses);
313
+
314
+
315
+ // this triggers recalculation of layout, so we get it once to not to trigger twice
316
+ var windowHeight = mfp.wH = _window.height();
317
+
318
+
319
+ var windowStyles = {};
320
+
321
+ if( mfp.fixedContentPos ) {
322
+ if(mfp._hasScrollBar(windowHeight)){
323
+ var s = mfp._getScrollbarSize();
324
+ if(s) {
325
+ windowStyles.marginRight = s;
326
+ }
327
+ }
328
+ }
329
+
330
+ if(mfp.fixedContentPos) {
331
+ if(!mfp.isIE7) {
332
+ windowStyles.overflow = 'hidden';
333
+ } else {
334
+ // ie7 double-scroll bug
335
+ $('body, html').css('overflow', 'hidden');
336
+ }
337
+ }
338
+
339
+
340
+
341
+ var classesToadd = mfp.st.mainClass;
342
+ if(mfp.isIE7) {
343
+ classesToadd += ' mfp-ie7';
344
+ }
345
+ if(classesToadd) {
346
+ mfp._addClassToMFP( classesToadd );
347
+ }
348
+
349
+ // add content
350
+ mfp.updateItemHTML();
351
+
352
+ _mfpTrigger('BuildControls');
353
+
354
+ // remove scrollbar, add margin e.t.c
355
+ $('html').css(windowStyles);
356
+
357
+ // add everything to DOM
358
+ mfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || $(document.body) );
359
+
360
+ // Save last focused element
361
+ mfp._lastFocusedEl = document.activeElement;
362
+
363
+ // Wait for next cycle to allow CSS transition
364
+ setTimeout(function() {
365
+
366
+ if(mfp.content) {
367
+ mfp._addClassToMFP(READY_CLASS);
368
+ mfp._setFocus();
369
+ } else {
370
+ // if content is not defined (not loaded e.t.c) we add class only for BG
371
+ mfp.bgOverlay.addClass(READY_CLASS);
372
+ }
373
+
374
+ // Trap the focus in popup
375
+ _document.on('focusin' + EVENT_NS, mfp._onFocusIn);
376
+
377
+ }, 16);
378
+
379
+ mfp.isOpen = true;
380
+ mfp.updateSize(windowHeight);
381
+ _mfpTrigger(OPEN_EVENT);
382
+
383
+ return data;
384
+ },
385
+
386
+ /**
387
+ * Closes the popup
388
+ */
389
+ close: function() {
390
+ if(!mfp.isOpen) return;
391
+ _mfpTrigger(BEFORE_CLOSE_EVENT);
392
+
393
+ mfp.isOpen = false;
394
+ // for CSS3 animation
395
+ if(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) {
396
+ mfp._addClassToMFP(REMOVING_CLASS);
397
+ setTimeout(function() {
398
+ mfp._close();
399
+ }, mfp.st.removalDelay);
400
+ } else {
401
+ mfp._close();
402
+ }
403
+ },
404
+
405
+ /**
406
+ * Helper for close() function
407
+ */
408
+ _close: function() {
409
+ _mfpTrigger(CLOSE_EVENT);
410
+
411
+ var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';
412
+
413
+ mfp.bgOverlay.detach();
414
+ mfp.wrap.detach();
415
+ mfp.container.empty();
416
+
417
+ if(mfp.st.mainClass) {
418
+ classesToRemove += mfp.st.mainClass + ' ';
419
+ }
420
+
421
+ mfp._removeClassFromMFP(classesToRemove);
422
+
423
+ if(mfp.fixedContentPos) {
424
+ var windowStyles = {marginRight: ''};
425
+ if(mfp.isIE7) {
426
+ $('body, html').css('overflow', '');
427
+ } else {
428
+ windowStyles.overflow = '';
429
+ }
430
+ $('html').css(windowStyles);
431
+ }
432
+
433
+ _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);
434
+ mfp.ev.off(EVENT_NS);
435
+
436
+ // clean up DOM elements that aren't removed
437
+ mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');
438
+ mfp.bgOverlay.attr('class', 'mfp-bg');
439
+ mfp.container.attr('class', 'mfp-container');
440
+
441
+ // remove close button from target element
442
+ if(mfp.st.showCloseBtn &&
443
+ (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {
444
+ if(mfp.currTemplate.closeBtn)
445
+ mfp.currTemplate.closeBtn.detach();
446
+ }
447
+
448
+
449
+ if(mfp._lastFocusedEl) {
450
+ $(mfp._lastFocusedEl).focus(); // put tab focus back
451
+ }
452
+ mfp.currItem = null;
453
+ mfp.content = null;
454
+ mfp.currTemplate = null;
455
+ mfp.prevHeight = 0;
456
+
457
+ _mfpTrigger(AFTER_CLOSE_EVENT);
458
+ },
459
+
460
+ updateSize: function(winHeight) {
461
+
462
+ if(mfp.isIOS) {
463
+ // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2
464
+ var zoomLevel = document.documentElement.clientWidth / window.innerWidth;
465
+ var height = window.innerHeight * zoomLevel;
466
+ mfp.wrap.css('height', height);
467
+ mfp.wH = height;
468
+ } else {
469
+ mfp.wH = winHeight || _window.height();
470
+ }
471
+ // Fixes #84: popup incorrectly positioned with position:relative on body
472
+ if(!mfp.fixedContentPos) {
473
+ mfp.wrap.css('height', mfp.wH);
474
+ }
475
+
476
+ _mfpTrigger('Resize');
477
+
478
+ },
479
+
480
+ /**
481
+ * Set content of popup based on current index
482
+ */
483
+ updateItemHTML: function() {
484
+ var item = mfp.items[mfp.index];
485
+
486
+ // Detach and perform modifications
487
+ mfp.contentContainer.detach();
488
+
489
+ if(mfp.content)
490
+ mfp.content.detach();
491
+
492
+ if(!item.parsed) {
493
+ item = mfp.parseEl( mfp.index );
494
+ }
495
+
496
+ var type = item.type;
497
+
498
+ _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);
499
+ // BeforeChange event works like so:
500
+ // _mfpOn('BeforeChange', function(e, prevType, newType) { });
501
+
502
+ mfp.currItem = item;
503
+
504
+
505
+
506
+
507
+
508
+ if(!mfp.currTemplate[type]) {
509
+ var markup = mfp.st[type] ? mfp.st[type].markup : false;
510
+
511
+ // allows to modify markup
512
+ _mfpTrigger('FirstMarkupParse', markup);
513
+
514
+ if(markup) {
515
+ mfp.currTemplate[type] = $(markup);
516
+ } else {
517
+ // if there is no markup found we just define that template is parsed
518
+ mfp.currTemplate[type] = true;
519
+ }
520
+ }
521
+
522
+ if(_prevContentType && _prevContentType !== item.type) {
523
+ mfp.container.removeClass('mfp-'+_prevContentType+'-holder');
524
+ }
525
+
526
+ var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);
527
+ mfp.appendContent(newContent, type);
528
+
529
+ item.preloaded = true;
530
+
531
+ _mfpTrigger(CHANGE_EVENT, item);
532
+ _prevContentType = item.type;
533
+
534
+ // Append container back after its content changed
535
+ mfp.container.prepend(mfp.contentContainer);
536
+
537
+ _mfpTrigger('AfterChange');
538
+ },
539
+
540
+
541
+ /**
542
+ * Set HTML content of popup
543
+ */
544
+ appendContent: function(newContent, type) {
545
+ mfp.content = newContent;
546
+
547
+ if(newContent) {
548
+ if(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&
549
+ mfp.currTemplate[type] === true) {
550
+ // if there is no markup, we just append close button element inside
551
+ if(!mfp.content.find('.mfp-close').length) {
552
+ mfp.content.append(_getCloseBtn());
553
+ }
554
+ } else {
555
+ mfp.content = newContent;
556
+ }
557
+ } else {
558
+ mfp.content = '';
559
+ }
560
+
561
+ _mfpTrigger(BEFORE_APPEND_EVENT);
562
+ mfp.container.addClass('mfp-'+type+'-holder');
563
+
564
+ mfp.contentContainer.append(mfp.content);
565
+ },
566
+
567
+
568
+
569
+
570
+ /**
571
+ * Creates Magnific Popup data object based on given data
572
+ * @param {int} index Index of item to parse
573
+ */
574
+ parseEl: function(index) {
575
+ var item = mfp.items[index],
576
+ type;
577
+
578
+ if(item.tagName) {
579
+ item = { el: $(item) };
580
+ } else {
581
+ type = item.type;
582
+ item = { data: item, src: item.src };
583
+ }
584
+
585
+ if(item.el) {
586
+ var types = mfp.types;
587
+
588
+ // check for 'mfp-TYPE' class
589
+ for(var i = 0; i < types.length; i++) {
590
+ if( item.el.hasClass('mfp-'+types[i]) ) {
591
+ type = types[i];
592
+ break;
593
+ }
594
+ }
595
+
596
+ item.src = item.el.attr('data-mfp-src');
597
+ if(!item.src) {
598
+ item.src = item.el.attr('href');
599
+ }
600
+ }
601
+
602
+ item.type = type || mfp.st.type || 'inline';
603
+ item.index = index;
604
+ item.parsed = true;
605
+ mfp.items[index] = item;
606
+ _mfpTrigger('ElementParse', item);
607
+
608
+ return mfp.items[index];
609
+ },
610
+
611
+
612
+ /**
613
+ * Initializes single popup or a group of popups
614
+ */
615
+ addGroup: function(el, options) {
616
+ var eHandler = function(e) {
617
+ e.mfpEl = this;
618
+ mfp._openClick(e, el, options);
619
+ };
620
+
621
+ if(!options) {
622
+ options = {};
623
+ }
624
+
625
+ var eName = 'click.magnificPopup';
626
+ options.mainEl = el;
627
+
628
+ if(options.items) {
629
+ options.isObj = true;
630
+ el.off(eName).on(eName, eHandler);
631
+ } else {
632
+ options.isObj = false;
633
+ if(options.delegate) {
634
+ el.off(eName).on(eName, options.delegate , eHandler);
635
+ } else {
636
+ options.items = el;
637
+ el.off(eName).on(eName, eHandler);
638
+ }
639
+ }
640
+ },
641
+ _openClick: function(e, el, options) {
642
+ var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;
643
+
644
+
645
+ if(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey ) ) {
646
+ return;
647
+ }
648
+
649
+ var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;
650
+
651
+ if(disableOn) {
652
+ if($.isFunction(disableOn)) {
653
+ if( !disableOn.call(mfp) ) {
654
+ return true;
655
+ }
656
+ } else { // else it's number
657
+ if( _window.width() < disableOn ) {
658
+ return true;
659
+ }
660
+ }
661
+ }
662
+
663
+ if(e.type) {
664
+ e.preventDefault();
665
+
666
+ // This will prevent popup from closing if element is inside and popup is already opened
667
+ if(mfp.isOpen) {
668
+ e.stopPropagation();
669
+ }
670
+ }
671
+
672
+
673
+ options.el = $(e.mfpEl);
674
+ if(options.delegate) {
675
+ options.items = el.find(options.delegate);
676
+ }
677
+ mfp.open(options);
678
+ },
679
+
680
+
681
+ /**
682
+ * Updates text on preloader
683
+ */
684
+ updateStatus: function(status, text) {
685
+
686
+ if(mfp.preloader) {
687
+ if(_prevStatus !== status) {
688
+ mfp.container.removeClass('mfp-s-'+_prevStatus);
689
+ }
690
+
691
+ if(!text && status === 'loading') {
692
+ text = mfp.st.tLoading;
693
+ }
694
+
695
+ var data = {
696
+ status: status,
697
+ text: text
698
+ };
699
+ // allows to modify status
700
+ _mfpTrigger('UpdateStatus', data);
701
+
702
+ status = data.status;
703
+ text = data.text;
704
+
705
+ mfp.preloader.html(text);
706
+
707
+ mfp.preloader.find('a').on('click', function(e) {
708
+ e.stopImmediatePropagation();
709
+ });
710
+
711
+ mfp.container.addClass('mfp-s-'+status);
712
+ _prevStatus = status;
713
+ }
714
+ },
715
+
716
+
717
+ /*
718
+ "Private" helpers that aren't private at all
719
+ */
720
+ // Check to close popup or not
721
+ // "target" is an element that was clicked
722
+ _checkIfClose: function(target) {
723
+
724
+ if($(target).hasClass(PREVENT_CLOSE_CLASS)) {
725
+ return;
726
+ }
727
+
728
+ var closeOnContent = mfp.st.closeOnContentClick;
729
+ var closeOnBg = mfp.st.closeOnBgClick;
730
+
731
+ if(closeOnContent && closeOnBg) {
732
+ return true;
733
+ } else {
734
+
735
+ // We close the popup if click is on close button or on preloader. Or if there is no content.
736
+ if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {
737
+ return true;
738
+ }
739
+
740
+ // if click is outside the content
741
+ if( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) {
742
+ if(closeOnBg) {
743
+ // last check, if the clicked element is in DOM, (in case it's removed onclick)
744
+ if( $.contains(document, target) ) {
745
+ return true;
746
+ }
747
+ }
748
+ } else if(closeOnContent) {
749
+ return true;
750
+ }
751
+
752
+ }
753
+ return false;
754
+ },
755
+ _addClassToMFP: function(cName) {
756
+ mfp.bgOverlay.addClass(cName);
757
+ mfp.wrap.addClass(cName);
758
+ },
759
+ _removeClassFromMFP: function(cName) {
760
+ this.bgOverlay.removeClass(cName);
761
+ mfp.wrap.removeClass(cName);
762
+ },
763
+ _hasScrollBar: function(winHeight) {
764
+ return ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );
765
+ },
766
+ _setFocus: function() {
767
+ (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();
768
+ },
769
+ _onFocusIn: function(e) {
770
+ if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {
771
+ mfp._setFocus();
772
+ return false;
773
+ }
774
+ },
775
+ _parseMarkup: function(template, values, item) {
776
+ var arr;
777
+ if(item.data) {
778
+ values = $.extend(item.data, values);
779
+ }
780
+ _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );
781
+
782
+ $.each(values, function(key, value) {
783
+ if(value === undefined || value === false) {
784
+ return true;
785
+ }
786
+ arr = key.split('_');
787
+ if(arr.length > 1) {
788
+ var el = template.find(EVENT_NS + '-'+arr[0]);
789
+
790
+ if(el.length > 0) {
791
+ var attr = arr[1];
792
+ if(attr === 'replaceWith') {
793
+ if(el[0] !== value[0]) {
794
+ el.replaceWith(value);
795
+ }
796
+ } else if(attr === 'img') {
797
+ if(el.is('img')) {
798
+ el.attr('src', value);
799
+ } else {
800
+ el.replaceWith( '<img src="'+value+'" class="' + el.attr('class') + '" />' );
801
+ }
802
+ } else {
803
+ el.attr(arr[1], value);
804
+ }
805
+ }
806
+
807
+ } else {
808
+ template.find(EVENT_NS + '-'+key).html(value);
809
+ }
810
+ });
811
+ },
812
+
813
+ _getScrollbarSize: function() {
814
+ // thx David
815
+ if(mfp.scrollbarSize === undefined) {
816
+ var scrollDiv = document.createElement("div");
817
+ scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
818
+ document.body.appendChild(scrollDiv);
819
+ mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;
820
+ document.body.removeChild(scrollDiv);
821
+ }
822
+ return mfp.scrollbarSize;
823
+ }
824
+
825
+ }; /* MagnificPopup core prototype end */
826
+
827
+
828
+
829
+
830
+ /**
831
+ * Public static functions
832
+ */
833
+ $.magnificPopup = {
834
+ instance: null,
835
+ proto: MagnificPopup.prototype,
836
+ modules: [],
837
+
838
+ open: function(options, index) {
839
+ _checkInstance();
840
+
841
+ if(!options) {
842
+ options = {};
843
+ } else {
844
+ options = $.extend(true, {}, options);
845
+ }
846
+
847
+
848
+ options.isObj = true;
849
+ options.index = index || 0;
850
+ return this.instance.open(options);
851
+ },
852
+
853
+ close: function() {
854
+ return $.magnificPopup.instance && $.magnificPopup.instance.close();
855
+ },
856
+
857
+ registerModule: function(name, module) {
858
+ if(module.options) {
859
+ $.magnificPopup.defaults[name] = module.options;
860
+ }
861
+ $.extend(this.proto, module.proto);
862
+ this.modules.push(name);
863
+ },
864
+
865
+ defaults: {
866
+
867
+ // Info about options is in docs:
868
+ // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options
869
+
870
+ disableOn: 0,
871
+
872
+ key: null,
873
+
874
+ midClick: false,
875
+
876
+ mainClass: '',
877
+
878
+ preloader: true,
879
+
880
+ focus: '', // CSS selector of input to focus after popup is opened
881
+
882
+ closeOnContentClick: false,
883
+
884
+ closeOnBgClick: true,
885
+
886
+ closeBtnInside: true,
887
+
888
+ showCloseBtn: true,
889
+
890
+ enableEscapeKey: true,
891
+
892
+ modal: false,
893
+
894
+ alignTop: false,
895
+
896
+ removalDelay: 0,
897
+
898
+ prependTo: null,
899
+
900
+ fixedContentPos: 'auto',
901
+
902
+ fixedBgPos: 'auto',
903
+
904
+ overflowY: 'auto',
905
+
906
+ closeMarkup: '<button title="%title%" type="button" class="mfp-close">&times;</button>',
907
+
908
+ tClose: 'Close (Esc)',
909
+
910
+ tLoading: 'Loading...'
911
+
912
+ }
913
+ };
914
+
915
+
916
+
917
+ $.fn.magnificPopup = function(options) {
918
+ _checkInstance();
919
+
920
+ var jqEl = $(this);
921
+
922
+ // We call some API method of first param is a string
923
+ if (typeof options === "string" ) {
924
+
925
+ if(options === 'open') {
926
+ var items,
927
+ itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,
928
+ index = parseInt(arguments[1], 10) || 0;
929
+
930
+ if(itemOpts.items) {
931
+ items = itemOpts.items[index];
932
+ } else {
933
+ items = jqEl;
934
+ if(itemOpts.delegate) {
935
+ items = items.find(itemOpts.delegate);
936
+ }
937
+ items = items.eq( index );
938
+ }
939
+ mfp._openClick({mfpEl:items}, jqEl, itemOpts);
940
+ } else {
941
+ if(mfp.isOpen)
942
+ mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));
943
+ }
944
+
945
+ } else {
946
+ // clone options obj
947
+ options = $.extend(true, {}, options);
948
+
949
+ /*
950
+ * As Zepto doesn't support .data() method for objects
951
+ * and it works only in normal browsers
952
+ * we assign "options" object directly to the DOM element. FTW!
953
+ */
954
+ if(_isJQ) {
955
+ jqEl.data('magnificPopup', options);
956
+ } else {
957
+ jqEl[0].magnificPopup = options;
958
+ }
959
+
960
+ mfp.addGroup(jqEl, options);
961
+
962
+ }
963
+ return jqEl;
964
+ };
965
+
966
+
967
+ //Quick benchmark
968
+ /*
969
+ var start = performance.now(),
970
+ i,
971
+ rounds = 1000;
972
+
973
+ for(i = 0; i < rounds; i++) {
974
+
975
+ }
976
+ console.log('Test #1:', performance.now() - start);
977
+
978
+ start = performance.now();
979
+ for(i = 0; i < rounds; i++) {
980
+
981
+ }
982
+ console.log('Test #2:', performance.now() - start);
983
+ */
984
+
985
+
986
+ /*>>core*/
987
+
988
+ /*>>inline*/
989
+
990
+ var INLINE_NS = 'inline',
991
+ _hiddenClass,
992
+ _inlinePlaceholder,
993
+ _lastInlineElement,
994
+ _putInlineElementsBack = function() {
995
+ if(_lastInlineElement) {
996
+ _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();
997
+ _lastInlineElement = null;
998
+ }
999
+ };
1000
+
1001
+ $.magnificPopup.registerModule(INLINE_NS, {
1002
+ options: {
1003
+ hiddenClass: 'hide', // will be appended with `mfp-` prefix
1004
+ markup: '',
1005
+ tNotFound: 'Content not found'
1006
+ },
1007
+ proto: {
1008
+
1009
+ initInline: function() {
1010
+ mfp.types.push(INLINE_NS);
1011
+
1012
+ _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {
1013
+ _putInlineElementsBack();
1014
+ });
1015
+ },
1016
+
1017
+ getInline: function(item, template) {
1018
+
1019
+ _putInlineElementsBack();
1020
+
1021
+ if(item.src) {
1022
+ var inlineSt = mfp.st.inline,
1023
+ el = $(item.src);
1024
+
1025
+ if(el.length) {
1026
+
1027
+ // If target element has parent - we replace it with placeholder and put it back after popup is closed
1028
+ var parent = el[0].parentNode;
1029
+ if(parent && parent.tagName) {
1030
+ if(!_inlinePlaceholder) {
1031
+ _hiddenClass = inlineSt.hiddenClass;
1032
+ _inlinePlaceholder = _getEl(_hiddenClass);
1033
+ _hiddenClass = 'mfp-'+_hiddenClass;
1034
+ }
1035
+ // replace target inline element with placeholder
1036
+ _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);
1037
+ }
1038
+
1039
+ mfp.updateStatus('ready');
1040
+ } else {
1041
+ mfp.updateStatus('error', inlineSt.tNotFound);
1042
+ el = $('<div>');
1043
+ }
1044
+
1045
+ item.inlineElement = el;
1046
+ return el;
1047
+ }
1048
+
1049
+ mfp.updateStatus('ready');
1050
+ mfp._parseMarkup(template, {}, item);
1051
+ return template;
1052
+ }
1053
+ }
1054
+ });
1055
+
1056
+ /*>>inline*/
1057
+
1058
+ /*>>ajax*/
1059
+ var AJAX_NS = 'ajax',
1060
+ _ajaxCur,
1061
+ _removeAjaxCursor = function() {
1062
+ if(_ajaxCur) {
1063
+ $(document.body).removeClass(_ajaxCur);
1064
+ }
1065
+ },
1066
+ _destroyAjaxRequest = function() {
1067
+ _removeAjaxCursor();
1068
+ if(mfp.req) {
1069
+ mfp.req.abort();
1070
+ }
1071
+ };
1072
+
1073
+ $.magnificPopup.registerModule(AJAX_NS, {
1074
+
1075
+ options: {
1076
+ settings: null,
1077
+ cursor: 'mfp-ajax-cur',
1078
+ tError: '<a href="%url%">The content</a> could not be loaded.'
1079
+ },
1080
+
1081
+ proto: {
1082
+ initAjax: function() {
1083
+ mfp.types.push(AJAX_NS);
1084
+ _ajaxCur = mfp.st.ajax.cursor;
1085
+
1086
+ _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest);
1087
+ _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);
1088
+ },
1089
+ getAjax: function(item) {
1090
+
1091
+ if(_ajaxCur) {
1092
+ $(document.body).addClass(_ajaxCur);
1093
+ }
1094
+
1095
+ mfp.updateStatus('loading');
1096
+
1097
+ var opts = $.extend({
1098
+ url: item.src,
1099
+ success: function(data, textStatus, jqXHR) {
1100
+ var temp = {
1101
+ data:data,
1102
+ xhr:jqXHR
1103
+ };
1104
+
1105
+ _mfpTrigger('ParseAjax', temp);
1106
+
1107
+ mfp.appendContent( $(temp.data), AJAX_NS );
1108
+
1109
+ item.finished = true;
1110
+
1111
+ _removeAjaxCursor();
1112
+
1113
+ mfp._setFocus();
1114
+
1115
+ setTimeout(function() {
1116
+ mfp.wrap.addClass(READY_CLASS);
1117
+ }, 16);
1118
+
1119
+ mfp.updateStatus('ready');
1120
+
1121
+ _mfpTrigger('AjaxContentAdded');
1122
+ },
1123
+ error: function() {
1124
+ _removeAjaxCursor();
1125
+ item.finished = item.loadError = true;
1126
+ mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));
1127
+ }
1128
+ }, mfp.st.ajax.settings);
1129
+
1130
+ mfp.req = $.ajax(opts);
1131
+
1132
+ return '';
1133
+ }
1134
+ }
1135
+ });
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+ /*>>ajax*/
1144
+
1145
+ /*>>image*/
1146
+ var _imgInterval,
1147
+ _getTitle = function(item) {
1148
+ if(item.data && item.data.title !== undefined)
1149
+ return item.data.title;
1150
+
1151
+ var src = mfp.st.image.titleSrc;
1152
+
1153
+ if(src) {
1154
+ if($.isFunction(src)) {
1155
+ return src.call(mfp, item);
1156
+ } else if(item.el) {
1157
+ return item.el.attr(src) || '';
1158
+ }
1159
+ }
1160
+ return '';
1161
+ };
1162
+
1163
+ $.magnificPopup.registerModule('image', {
1164
+
1165
+ options: {
1166
+ markup: '<div class="mfp-figure">'+
1167
+ '<div class="mfp-close"></div>'+
1168
+ '<figure>'+
1169
+ '<div class="mfp-img"></div>'+
1170
+ '<figcaption>'+
1171
+ '<div class="mfp-bottom-bar">'+
1172
+ '<div class="mfp-title"></div>'+
1173
+ '<div class="mfp-counter"></div>'+
1174
+ '</div>'+
1175
+ '</figcaption>'+
1176
+ '</figure>'+
1177
+ '</div>',
1178
+ cursor: 'mfp-zoom-out-cur',
1179
+ titleSrc: 'title',
1180
+ verticalFit: true,
1181
+ tError: '<a href="%url%">The image</a> could not be loaded.'
1182
+ },
1183
+
1184
+ proto: {
1185
+ initImage: function() {
1186
+ var imgSt = mfp.st.image,
1187
+ ns = '.image';
1188
+
1189
+ mfp.types.push('image');
1190
+
1191
+ _mfpOn(OPEN_EVENT+ns, function() {
1192
+ if(mfp.currItem.type === 'image' && imgSt.cursor) {
1193
+ $(document.body).addClass(imgSt.cursor);
1194
+ }
1195
+ });
1196
+
1197
+ _mfpOn(CLOSE_EVENT+ns, function() {
1198
+ if(imgSt.cursor) {
1199
+ $(document.body).removeClass(imgSt.cursor);
1200
+ }
1201
+ _window.off('resize' + EVENT_NS);
1202
+ });
1203
+
1204
+ _mfpOn('Resize'+ns, mfp.resizeImage);
1205
+ if(mfp.isLowIE) {
1206
+ _mfpOn('AfterChange', mfp.resizeImage);
1207
+ }
1208
+ },
1209
+ resizeImage: function() {
1210
+ var item = mfp.currItem;
1211
+ if(!item || !item.img) return;
1212
+
1213
+ if(mfp.st.image.verticalFit) {
1214
+ var decr = 0;
1215
+ // fix box-sizing in ie7/8
1216
+ if(mfp.isLowIE) {
1217
+ decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);
1218
+ }
1219
+ item.img.css('max-height', mfp.wH-decr);
1220
+ }
1221
+ },
1222
+ _onImageHasSize: function(item) {
1223
+ if(item.img) {
1224
+
1225
+ item.hasSize = true;
1226
+
1227
+ if(_imgInterval) {
1228
+ clearInterval(_imgInterval);
1229
+ }
1230
+
1231
+ item.isCheckingImgSize = false;
1232
+
1233
+ _mfpTrigger('ImageHasSize', item);
1234
+
1235
+ if(item.imgHidden) {
1236
+ if(mfp.content)
1237
+ mfp.content.removeClass('mfp-loading');
1238
+
1239
+ item.imgHidden = false;
1240
+ }
1241
+
1242
+ }
1243
+ },
1244
+
1245
+ /**
1246
+ * Function that loops until the image has size to display elements that rely on it asap
1247
+ */
1248
+ findImageSize: function(item) {
1249
+
1250
+ var counter = 0,
1251
+ img = item.img[0],
1252
+ mfpSetInterval = function(delay) {
1253
+
1254
+ if(_imgInterval) {
1255
+ clearInterval(_imgInterval);
1256
+ }
1257
+ // decelerating interval that checks for size of an image
1258
+ _imgInterval = setInterval(function() {
1259
+ if(img.naturalWidth > 0) {
1260
+ mfp._onImageHasSize(item);
1261
+ return;
1262
+ }
1263
+
1264
+ if(counter > 200) {
1265
+ clearInterval(_imgInterval);
1266
+ }
1267
+
1268
+ counter++;
1269
+ if(counter === 3) {
1270
+ mfpSetInterval(10);
1271
+ } else if(counter === 40) {
1272
+ mfpSetInterval(50);
1273
+ } else if(counter === 100) {
1274
+ mfpSetInterval(500);
1275
+ }
1276
+ }, delay);
1277
+ };
1278
+
1279
+ mfpSetInterval(1);
1280
+ },
1281
+
1282
+ getImage: function(item, template) {
1283
+
1284
+ var guard = 0,
1285
+
1286
+ // image load complete handler
1287
+ onLoadComplete = function() {
1288
+ if(item) {
1289
+ if (item.img[0].complete) {
1290
+ item.img.off('.mfploader');
1291
+
1292
+ if(item === mfp.currItem){
1293
+ mfp._onImageHasSize(item);
1294
+
1295
+ mfp.updateStatus('ready');
1296
+ }
1297
+
1298
+ item.hasSize = true;
1299
+ item.loaded = true;
1300
+
1301
+ _mfpTrigger('ImageLoadComplete');
1302
+
1303
+ }
1304
+ else {
1305
+ // if image complete check fails 200 times (20 sec), we assume that there was an error.
1306
+ guard++;
1307
+ if(guard < 200) {
1308
+ setTimeout(onLoadComplete,100);
1309
+ } else {
1310
+ onLoadError();
1311
+ }
1312
+ }
1313
+ }
1314
+ },
1315
+
1316
+ // image error handler
1317
+ onLoadError = function() {
1318
+ if(item) {
1319
+ item.img.off('.mfploader');
1320
+ if(item === mfp.currItem){
1321
+ mfp._onImageHasSize(item);
1322
+ mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
1323
+ }
1324
+
1325
+ item.hasSize = true;
1326
+ item.loaded = true;
1327
+ item.loadError = true;
1328
+ }
1329
+ },
1330
+ imgSt = mfp.st.image;
1331
+
1332
+
1333
+ var el = template.find('.mfp-img');
1334
+ if(el.length) {
1335
+ var img = document.createElement('img');
1336
+ img.className = 'mfp-img';
1337
+ if(item.el && item.el.find('img').length) {
1338
+ img.alt = item.el.find('img').attr('alt');
1339
+ }
1340
+ item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);
1341
+ img.src = item.src;
1342
+
1343
+ // without clone() "error" event is not firing when IMG is replaced by new IMG
1344
+ // TODO: find a way to avoid such cloning
1345
+ if(el.is('img')) {
1346
+ item.img = item.img.clone();
1347
+ }
1348
+
1349
+ img = item.img[0];
1350
+ if(img.naturalWidth > 0) {
1351
+ item.hasSize = true;
1352
+ } else if(!img.width) {
1353
+ item.hasSize = false;
1354
+ }
1355
+ }
1356
+
1357
+ mfp._parseMarkup(template, {
1358
+ title: _getTitle(item),
1359
+ img_replaceWith: item.img
1360
+ }, item);
1361
+
1362
+ mfp.resizeImage();
1363
+
1364
+ if(item.hasSize) {
1365
+ if(_imgInterval) clearInterval(_imgInterval);
1366
+
1367
+ if(item.loadError) {
1368
+ template.addClass('mfp-loading');
1369
+ mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
1370
+ } else {
1371
+ template.removeClass('mfp-loading');
1372
+ mfp.updateStatus('ready');
1373
+ }
1374
+ return template;
1375
+ }
1376
+
1377
+ mfp.updateStatus('loading');
1378
+ item.loading = true;
1379
+
1380
+ if(!item.hasSize) {
1381
+ item.imgHidden = true;
1382
+ template.addClass('mfp-loading');
1383
+ mfp.findImageSize(item);
1384
+ }
1385
+
1386
+ return template;
1387
+ }
1388
+ }
1389
+ });
1390
+
1391
+
1392
+
1393
+ /*>>image*/
1394
+
1395
+ /*>>zoom*/
1396
+ var hasMozTransform,
1397
+ getHasMozTransform = function() {
1398
+ if(hasMozTransform === undefined) {
1399
+ hasMozTransform = document.createElement('p').style.MozTransform !== undefined;
1400
+ }
1401
+ return hasMozTransform;
1402
+ };
1403
+
1404
+ $.magnificPopup.registerModule('zoom', {
1405
+
1406
+ options: {
1407
+ enabled: false,
1408
+ easing: 'ease-in-out',
1409
+ duration: 300,
1410
+ opener: function(element) {
1411
+ return element.is('img') ? element : element.find('img');
1412
+ }
1413
+ },
1414
+
1415
+ proto: {
1416
+
1417
+ initZoom: function() {
1418
+ var zoomSt = mfp.st.zoom,
1419
+ ns = '.zoom',
1420
+ image;
1421
+
1422
+ if(!zoomSt.enabled || !mfp.supportsTransition) {
1423
+ return;
1424
+ }
1425
+
1426
+ var duration = zoomSt.duration,
1427
+ getElToAnimate = function(image) {
1428
+ var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),
1429
+ transition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,
1430
+ cssObj = {
1431
+ position: 'fixed',
1432
+ zIndex: 9999,
1433
+ left: 0,
1434
+ top: 0,
1435
+ '-webkit-backface-visibility': 'hidden'
1436
+ },
1437
+ t = 'transition';
1438
+
1439
+ cssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;
1440
+
1441
+ newImg.css(cssObj);
1442
+ return newImg;
1443
+ },
1444
+ showMainContent = function() {
1445
+ mfp.content.css('visibility', 'visible');
1446
+ },
1447
+ openTimeout,
1448
+ animatedImg;
1449
+
1450
+ _mfpOn('BuildControls'+ns, function() {
1451
+ if(mfp._allowZoom()) {
1452
+
1453
+ clearTimeout(openTimeout);
1454
+ mfp.content.css('visibility', 'hidden');
1455
+
1456
+ // Basically, all code below does is clones existing image, puts in on top of the current one and animated it
1457
+
1458
+ image = mfp._getItemToZoom();
1459
+
1460
+ if(!image) {
1461
+ showMainContent();
1462
+ return;
1463
+ }
1464
+
1465
+ animatedImg = getElToAnimate(image);
1466
+
1467
+ animatedImg.css( mfp._getOffset() );
1468
+
1469
+ mfp.wrap.append(animatedImg);
1470
+
1471
+ openTimeout = setTimeout(function() {
1472
+ animatedImg.css( mfp._getOffset( true ) );
1473
+ openTimeout = setTimeout(function() {
1474
+
1475
+ showMainContent();
1476
+
1477
+ setTimeout(function() {
1478
+ animatedImg.remove();
1479
+ image = animatedImg = null;
1480
+ _mfpTrigger('ZoomAnimationEnded');
1481
+ }, 16); // avoid blink when switching images
1482
+
1483
+ }, duration); // this timeout equals animation duration
1484
+
1485
+ }, 16); // by adding this timeout we avoid short glitch at the beginning of animation
1486
+
1487
+
1488
+ // Lots of timeouts...
1489
+ }
1490
+ });
1491
+ _mfpOn(BEFORE_CLOSE_EVENT+ns, function() {
1492
+ if(mfp._allowZoom()) {
1493
+
1494
+ clearTimeout(openTimeout);
1495
+
1496
+ mfp.st.removalDelay = duration;
1497
+
1498
+ if(!image) {
1499
+ image = mfp._getItemToZoom();
1500
+ if(!image) {
1501
+ return;
1502
+ }
1503
+ animatedImg = getElToAnimate(image);
1504
+ }
1505
+
1506
+
1507
+ animatedImg.css( mfp._getOffset(true) );
1508
+ mfp.wrap.append(animatedImg);
1509
+ mfp.content.css('visibility', 'hidden');
1510
+
1511
+ setTimeout(function() {
1512
+ animatedImg.css( mfp._getOffset() );
1513
+ }, 16);
1514
+ }
1515
+
1516
+ });
1517
+
1518
+ _mfpOn(CLOSE_EVENT+ns, function() {
1519
+ if(mfp._allowZoom()) {
1520
+ showMainContent();
1521
+ if(animatedImg) {
1522
+ animatedImg.remove();
1523
+ }
1524
+ image = null;
1525
+ }
1526
+ });
1527
+ },
1528
+
1529
+ _allowZoom: function() {
1530
+ return mfp.currItem.type === 'image';
1531
+ },
1532
+
1533
+ _getItemToZoom: function() {
1534
+ if(mfp.currItem.hasSize) {
1535
+ return mfp.currItem.img;
1536
+ } else {
1537
+ return false;
1538
+ }
1539
+ },
1540
+
1541
+ // Get element postion relative to viewport
1542
+ _getOffset: function(isLarge) {
1543
+ var el;
1544
+ if(isLarge) {
1545
+ el = mfp.currItem.img;
1546
+ } else {
1547
+ el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);
1548
+ }
1549
+
1550
+ var offset = el.offset();
1551
+ var paddingTop = parseInt(el.css('padding-top'),10);
1552
+ var paddingBottom = parseInt(el.css('padding-bottom'),10);
1553
+ offset.top -= ( $(window).scrollTop() - paddingTop );
1554
+
1555
+
1556
+ /*
1557
+
1558
+ Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.
1559
+
1560
+ */
1561
+ var obj = {
1562
+ width: el.width(),
1563
+ // fix Zepto height+padding issue
1564
+ height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop
1565
+ };
1566
+
1567
+ // I hate to do this, but there is no another option
1568
+ if( getHasMozTransform() ) {
1569
+ obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';
1570
+ } else {
1571
+ obj.left = offset.left;
1572
+ obj.top = offset.top;
1573
+ }
1574
+ return obj;
1575
+ }
1576
+
1577
+ }
1578
+ });
1579
+
1580
+
1581
+
1582
+ /*>>zoom*/
1583
+
1584
+ /*>>iframe*/
1585
+
1586
+ var IFRAME_NS = 'iframe',
1587
+ _emptyPage = '//about:blank',
1588
+
1589
+ _fixIframeBugs = function(isShowing) {
1590
+ if(mfp.currTemplate[IFRAME_NS]) {
1591
+ var el = mfp.currTemplate[IFRAME_NS].find('iframe');
1592
+ if(el.length) {
1593
+ // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug
1594
+ if(!isShowing) {
1595
+ el[0].src = _emptyPage;
1596
+ }
1597
+
1598
+ // IE8 black screen bug fix
1599
+ if(mfp.isIE8) {
1600
+ el.css('display', isShowing ? 'block' : 'none');
1601
+ }
1602
+ }
1603
+ }
1604
+ };
1605
+
1606
+ $.magnificPopup.registerModule(IFRAME_NS, {
1607
+
1608
+ options: {
1609
+ markup: '<div class="mfp-iframe-scaler">'+
1610
+ '<div class="mfp-close"></div>'+
1611
+ '<iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe>'+
1612
+ '</div>',
1613
+
1614
+ srcAction: 'iframe_src',
1615
+
1616
+ // we don't care and support only one default type of URL by default
1617
+ patterns: {
1618
+ youtube: {
1619
+ index: 'youtube.com',
1620
+ id: 'v=',
1621
+ src: '//www.youtube.com/embed/%id%?autoplay=1'
1622
+ },
1623
+ vimeo: {
1624
+ index: 'vimeo.com/',
1625
+ id: '/',
1626
+ src: '//player.vimeo.com/video/%id%?autoplay=1'
1627
+ },
1628
+ gmaps: {
1629
+ index: '//maps.google.',
1630
+ src: '%id%&output=embed'
1631
+ }
1632
+ }
1633
+ },
1634
+
1635
+ proto: {
1636
+ initIframe: function() {
1637
+ mfp.types.push(IFRAME_NS);
1638
+
1639
+ _mfpOn('BeforeChange', function(e, prevType, newType) {
1640
+ if(prevType !== newType) {
1641
+ if(prevType === IFRAME_NS) {
1642
+ _fixIframeBugs(); // iframe if removed
1643
+ } else if(newType === IFRAME_NS) {
1644
+ _fixIframeBugs(true); // iframe is showing
1645
+ }
1646
+ }// else {
1647
+ // iframe source is switched, don't do anything
1648
+ //}
1649
+ });
1650
+
1651
+ _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {
1652
+ _fixIframeBugs();
1653
+ });
1654
+ },
1655
+
1656
+ getIframe: function(item, template) {
1657
+ var embedSrc = item.src;
1658
+ var iframeSt = mfp.st.iframe;
1659
+
1660
+ $.each(iframeSt.patterns, function() {
1661
+ if(embedSrc.indexOf( this.index ) > -1) {
1662
+ if(this.id) {
1663
+ if(typeof this.id === 'string') {
1664
+ embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);
1665
+ } else {
1666
+ embedSrc = this.id.call( this, embedSrc );
1667
+ }
1668
+ }
1669
+ embedSrc = this.src.replace('%id%', embedSrc );
1670
+ return false; // break;
1671
+ }
1672
+ });
1673
+
1674
+ var dataObj = {};
1675
+ if(iframeSt.srcAction) {
1676
+ dataObj[iframeSt.srcAction] = embedSrc;
1677
+ }
1678
+ mfp._parseMarkup(template, dataObj, item);
1679
+
1680
+ mfp.updateStatus('ready');
1681
+
1682
+ return template;
1683
+ }
1684
+ }
1685
+ });
1686
+
1687
+
1688
+
1689
+ /*>>iframe*/
1690
+
1691
+ /*>>gallery*/
1692
+ /**
1693
+ * Get looped index depending on number of slides
1694
+ */
1695
+ var _getLoopedId = function(index) {
1696
+ var numSlides = mfp.items.length;
1697
+ if(index > numSlides - 1) {
1698
+ return index - numSlides;
1699
+ } else if(index < 0) {
1700
+ return numSlides + index;
1701
+ }
1702
+ return index;
1703
+ },
1704
+ _replaceCurrTotal = function(text, curr, total) {
1705
+ return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);
1706
+ };
1707
+
1708
+ $.magnificPopup.registerModule('gallery', {
1709
+
1710
+ options: {
1711
+ enabled: false,
1712
+ arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
1713
+ preload: [0,2],
1714
+ navigateByImgClick: true,
1715
+ arrows: true,
1716
+
1717
+ tPrev: 'Previous (Left arrow key)',
1718
+ tNext: 'Next (Right arrow key)',
1719
+ tCounter: '%curr% of %total%'
1720
+ },
1721
+
1722
+ proto: {
1723
+ initGallery: function() {
1724
+
1725
+ var gSt = mfp.st.gallery,
1726
+ ns = '.mfp-gallery',
1727
+ supportsFastClick = Boolean($.fn.mfpFastClick);
1728
+
1729
+ mfp.direction = true; // true - next, false - prev
1730
+
1731
+ if(!gSt || !gSt.enabled ) return false;
1732
+
1733
+ _wrapClasses += ' mfp-gallery';
1734
+
1735
+ _mfpOn(OPEN_EVENT+ns, function() {
1736
+
1737
+ if(gSt.navigateByImgClick) {
1738
+ mfp.wrap.on('click'+ns, '.mfp-img', function() {
1739
+ if(mfp.items.length > 1) {
1740
+ mfp.next();
1741
+ return false;
1742
+ }
1743
+ });
1744
+ }
1745
+
1746
+ _document.on('keydown'+ns, function(e) {
1747
+ if (e.keyCode === 37) {
1748
+ mfp.prev();
1749
+ } else if (e.keyCode === 39) {
1750
+ mfp.next();
1751
+ }
1752
+ });
1753
+ });
1754
+
1755
+ _mfpOn('UpdateStatus'+ns, function(e, data) {
1756
+ if(data.text) {
1757
+ data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);
1758
+ }
1759
+ });
1760
+
1761
+ _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
1762
+ var l = mfp.items.length;
1763
+ values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
1764
+ });
1765
+
1766
+ _mfpOn('BuildControls' + ns, function() {
1767
+ if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {
1768
+ var markup = gSt.arrowMarkup,
1769
+ arrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),
1770
+ arrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);
1771
+
1772
+ var eName = supportsFastClick ? 'mfpFastClick' : 'click';
1773
+ arrowLeft[eName](function() {
1774
+ mfp.prev();
1775
+ });
1776
+ arrowRight[eName](function() {
1777
+ mfp.next();
1778
+ });
1779
+
1780
+ // Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b)
1781
+ if(mfp.isIE7) {
1782
+ _getEl('b', arrowLeft[0], false, true);
1783
+ _getEl('a', arrowLeft[0], false, true);
1784
+ _getEl('b', arrowRight[0], false, true);
1785
+ _getEl('a', arrowRight[0], false, true);
1786
+ }
1787
+
1788
+ mfp.container.append(arrowLeft.add(arrowRight));
1789
+ }
1790
+ });
1791
+
1792
+ _mfpOn(CHANGE_EVENT+ns, function() {
1793
+ if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);
1794
+
1795
+ mfp._preloadTimeout = setTimeout(function() {
1796
+ mfp.preloadNearbyImages();
1797
+ mfp._preloadTimeout = null;
1798
+ }, 16);
1799
+ });
1800
+
1801
+
1802
+ _mfpOn(CLOSE_EVENT+ns, function() {
1803
+ _document.off(ns);
1804
+ mfp.wrap.off('click'+ns);
1805
+
1806
+ if(mfp.arrowLeft && supportsFastClick) {
1807
+ mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();
1808
+ }
1809
+ mfp.arrowRight = mfp.arrowLeft = null;
1810
+ });
1811
+
1812
+ },
1813
+ next: function() {
1814
+ mfp.direction = true;
1815
+ mfp.index = _getLoopedId(mfp.index + 1);
1816
+ mfp.updateItemHTML();
1817
+ },
1818
+ prev: function() {
1819
+ mfp.direction = false;
1820
+ mfp.index = _getLoopedId(mfp.index - 1);
1821
+ mfp.updateItemHTML();
1822
+ },
1823
+ goTo: function(newIndex) {
1824
+ mfp.direction = (newIndex >= mfp.index);
1825
+ mfp.index = newIndex;
1826
+ mfp.updateItemHTML();
1827
+ },
1828
+ preloadNearbyImages: function() {
1829
+ var p = mfp.st.gallery.preload,
1830
+ preloadBefore = Math.min(p[0], mfp.items.length),
1831
+ preloadAfter = Math.min(p[1], mfp.items.length),
1832
+ i;
1833
+
1834
+ for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {
1835
+ mfp._preloadItem(mfp.index+i);
1836
+ }
1837
+ for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {
1838
+ mfp._preloadItem(mfp.index-i);
1839
+ }
1840
+ },
1841
+ _preloadItem: function(index) {
1842
+ index = _getLoopedId(index);
1843
+
1844
+ if(mfp.items[index].preloaded) {
1845
+ return;
1846
+ }
1847
+
1848
+ var item = mfp.items[index];
1849
+ if(!item.parsed) {
1850
+ item = mfp.parseEl( index );
1851
+ }
1852
+
1853
+ _mfpTrigger('LazyLoad', item);
1854
+
1855
+ if(item.type === 'image') {
1856
+ item.img = $('<img class="mfp-img" />').on('load.mfploader', function() {
1857
+ item.hasSize = true;
1858
+ }).on('error.mfploader', function() {
1859
+ item.hasSize = true;
1860
+ item.loadError = true;
1861
+ _mfpTrigger('LazyLoadError', item);
1862
+ }).attr('src', item.src);
1863
+ }
1864
+
1865
+
1866
+ item.preloaded = true;
1867
+ }
1868
+ }
1869
+ });
1870
+
1871
+ /*
1872
+ Touch Support that might be implemented some day
1873
+
1874
+ addSwipeGesture: function() {
1875
+ var startX,
1876
+ moved,
1877
+ multipleTouches;
1878
+
1879
+ return;
1880
+
1881
+ var namespace = '.mfp',
1882
+ addEventNames = function(pref, down, move, up, cancel) {
1883
+ mfp._tStart = pref + down + namespace;
1884
+ mfp._tMove = pref + move + namespace;
1885
+ mfp._tEnd = pref + up + namespace;
1886
+ mfp._tCancel = pref + cancel + namespace;
1887
+ };
1888
+
1889
+ if(window.navigator.msPointerEnabled) {
1890
+ addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel');
1891
+ } else if('ontouchstart' in window) {
1892
+ addEventNames('touch', 'start', 'move', 'end', 'cancel');
1893
+ } else {
1894
+ return;
1895
+ }
1896
+ _window.on(mfp._tStart, function(e) {
1897
+ var oE = e.originalEvent;
1898
+ multipleTouches = moved = false;
1899
+ startX = oE.pageX || oE.changedTouches[0].pageX;
1900
+ }).on(mfp._tMove, function(e) {
1901
+ if(e.originalEvent.touches.length > 1) {
1902
+ multipleTouches = e.originalEvent.touches.length;
1903
+ } else {
1904
+ //e.preventDefault();
1905
+ moved = true;
1906
+ }
1907
+ }).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) {
1908
+ if(moved && !multipleTouches) {
1909
+ var oE = e.originalEvent,
1910
+ diff = startX - (oE.pageX || oE.changedTouches[0].pageX);
1911
+
1912
+ if(diff > 20) {
1913
+ mfp.next();
1914
+ } else if(diff < -20) {
1915
+ mfp.prev();
1916
+ }
1917
+ }
1918
+ });
1919
+ },
1920
+ */
1921
+
1922
+
1923
+ /*>>gallery*/
1924
+
1925
+ /*>>retina*/
1926
+
1927
+ var RETINA_NS = 'retina';
1928
+
1929
+ $.magnificPopup.registerModule(RETINA_NS, {
1930
+ options: {
1931
+ replaceSrc: function(item) {
1932
+ return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; });
1933
+ },
1934
+ ratio: 1 // Function or number. Set to 1 to disable.
1935
+ },
1936
+ proto: {
1937
+ initRetina: function() {
1938
+ if(window.devicePixelRatio > 1) {
1939
+
1940
+ var st = mfp.st.retina,
1941
+ ratio = st.ratio;
1942
+
1943
+ ratio = !isNaN(ratio) ? ratio : ratio();
1944
+
1945
+ if(ratio > 1) {
1946
+ _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {
1947
+ item.img.css({
1948
+ 'max-width': item.img[0].naturalWidth / ratio,
1949
+ 'width': '100%'
1950
+ });
1951
+ });
1952
+ _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {
1953
+ item.src = st.replaceSrc(item, ratio);
1954
+ });
1955
+ }
1956
+ }
1957
+
1958
+ }
1959
+ }
1960
+ });
1961
+
1962
+ /*>>retina*/
1963
+
1964
+ /*>>fastclick*/
1965
+ /**
1966
+ * FastClick event implementation. (removes 300ms delay on touch devices)
1967
+ * Based on https://developers.google.com/mobile/articles/fast_buttons
1968
+ *
1969
+ * You may use it outside the Magnific Popup by calling just:
1970
+ *
1971
+ * $('.your-el').mfpFastClick(function() {
1972
+ * console.log('Clicked!');
1973
+ * });
1974
+ *
1975
+ * To unbind:
1976
+ * $('.your-el').destroyMfpFastClick();
1977
+ *
1978
+ *
1979
+ * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound.
1980
+ * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick
1981
+ *
1982
+ */
1983
+
1984
+ (function() {
1985
+ var ghostClickDelay = 1000,
1986
+ supportsTouch = 'ontouchstart' in window,
1987
+ unbindTouchMove = function() {
1988
+ _window.off('touchmove'+ns+' touchend'+ns);
1989
+ },
1990
+ eName = 'mfpFastClick',
1991
+ ns = '.'+eName;
1992
+
1993
+
1994
+ // As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way
1995
+ $.fn.mfpFastClick = function(callback) {
1996
+
1997
+ return $(this).each(function() {
1998
+
1999
+ var elem = $(this),
2000
+ lock;
2001
+
2002
+ if( supportsTouch ) {
2003
+
2004
+ var timeout,
2005
+ startX,
2006
+ startY,
2007
+ pointerMoved,
2008
+ point,
2009
+ numPointers;
2010
+
2011
+ elem.on('touchstart' + ns, function(e) {
2012
+ pointerMoved = false;
2013
+ numPointers = 1;
2014
+
2015
+ point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0];
2016
+ startX = point.clientX;
2017
+ startY = point.clientY;
2018
+
2019
+ _window.on('touchmove'+ns, function(e) {
2020
+ point = e.originalEvent ? e.originalEvent.touches : e.touches;
2021
+ numPointers = point.length;
2022
+ point = point[0];
2023
+ if (Math.abs(point.clientX - startX) > 10 ||
2024
+ Math.abs(point.clientY - startY) > 10) {
2025
+ pointerMoved = true;
2026
+ unbindTouchMove();
2027
+ }
2028
+ }).on('touchend'+ns, function(e) {
2029
+ unbindTouchMove();
2030
+ if(pointerMoved || numPointers > 1) {
2031
+ return;
2032
+ }
2033
+ lock = true;
2034
+ e.preventDefault();
2035
+ clearTimeout(timeout);
2036
+ timeout = setTimeout(function() {
2037
+ lock = false;
2038
+ }, ghostClickDelay);
2039
+ callback();
2040
+ });
2041
+ });
2042
+
2043
+ }
2044
+
2045
+ elem.on('click' + ns, function() {
2046
+ if(!lock) {
2047
+ callback();
2048
+ }
2049
+ });
2050
+ });
2051
+ };
2052
+
2053
+ $.fn.destroyMfpFastClick = function() {
2054
+ $(this).off('touchstart' + ns + ' click' + ns);
2055
+ if(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns);
2056
+ };
2057
+ })();
2058
+
2059
+ /*>>fastclick*/
2060
+ _checkInstance(); }));