cyberweb 0.12.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1259) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +6429 -0
  3. data/bin/cyberweb +27 -0
  4. data/bin/cyberweb_sanitize +10 -0
  5. data/bin/download_webpage +7 -0
  6. data/bin/html_to_cyberweb_converter +7 -0
  7. data/bin/images_from_this_webpage +11 -0
  8. data/cyberweb.gemspec +104 -0
  9. data/doc/README.gen +6367 -0
  10. data/doc/authors/authors.md +13 -0
  11. data/doc/configuration/configuration.md +34 -0
  12. data/doc/cybersprawl/documentation_for_cybersprawl.md +58 -0
  13. data/doc/deprecations/deprecations.md +412 -0
  14. data/doc/future_design_goals/future_design_goals.md +32 -0
  15. data/doc/html_characters/html_characters.md +23 -0
  16. data/doc/jquery/jquery.md +138 -0
  17. data/doc/mouse/mouse.md +49 -0
  18. data/doc/render_web_base/render_web_base.md +53 -0
  19. data/doc/todo/todo_for_the_cyberweb_project.md +785 -0
  20. data/examples/README.md +4 -0
  21. data/examples/advanced/animated_colourful_border/animated_colourful_border.cgi +149 -0
  22. data/examples/advanced/animated_css_example/animated_css_example.html +47 -0
  23. data/examples/advanced/animated_submarine/animated_submarine.html +511 -0
  24. data/examples/advanced/animated_windmill/animated_windmill.html +468 -0
  25. data/examples/advanced/background_gradient_colour_example/background_gradient_colour_example.cgi +24 -0
  26. data/examples/advanced/count_down_timer/count_down_timer.cgi +25 -0
  27. data/examples/advanced/css_grid_example/css_grid_example.cgi +67 -0
  28. data/examples/advanced/cursor_example/cursor_example.cgi +29 -0
  29. data/examples/advanced/delayed_update_of_the_body_via_javascript.cgi +41 -0
  30. data/examples/advanced/drag_all_images/drag_all_images.cgi +33 -0
  31. data/examples/advanced/draw_circle/draw_circle.cgi +45 -0
  32. data/examples/advanced/drop_shadow_examples/drop_shadow_examples.cgi +37 -0
  33. data/examples/advanced/flex_example/flex_example.cgi +53 -0
  34. data/examples/advanced/games/snake/food.png +0 -0
  35. data/examples/advanced/games/snake/ground.png +0 -0
  36. data/examples/advanced/games/snake/snake.cgi +28 -0
  37. data/examples/advanced/games/tetris/tetris.cgi +7 -0
  38. data/examples/advanced/games/tetris/tetris.rb +17 -0
  39. data/examples/advanced/games/tetris/tetris.sinatra +58 -0
  40. data/examples/advanced/games/tic-tac-toe/tic-tac-toe.cgi +123 -0
  41. data/examples/advanced/get_some_coffee/get_some_coffee.html +293 -0
  42. data/examples/advanced/glow_on_hover_example/glow_on_hover_example.cgi +27 -0
  43. data/examples/advanced/hybrid_experiment.cgi +130 -0
  44. data/examples/advanced/images/global_css_rules_for_the_images.cgi +32 -0
  45. data/examples/advanced/larger_image_on_mouse_over_example.cgi +35 -0
  46. data/examples/advanced/misc/misc.cgi +44 -0
  47. data/examples/advanced/no_right_click.cgi +26 -0
  48. data/examples/advanced/objectified_html_tags/objectified_html_tags.cgi +44 -0
  49. data/examples/advanced/objectified_html_tags/testing_objectified_html_tags_with_the_webobject.cgi +28 -0
  50. data/examples/advanced/random_background/random_background.cgi +70 -0
  51. data/examples/advanced/random_glow_effects.cgi +34 -0
  52. data/examples/advanced/sausage_dog_example/sausage_dog_example.cgi +24 -0
  53. data/examples/advanced/select_everything_example/select_everything_example.cgi +25 -0
  54. data/examples/advanced/simple_calculator.cgi +34 -0
  55. data/examples/advanced/simple_form_example.cgi +38 -0
  56. data/examples/advanced/text_shadow_example/text_shadow_example.cgi +37 -0
  57. data/examples/advanced/traffic_light/traffic_light.html +163 -0
  58. data/examples/advanced/video_related_example/video_related_example.cgi +38 -0
  59. data/examples/advanced/weather_animation/weather_animation.html +560 -0
  60. data/examples/advanced/webamp_example/webamp_example.html +12 -0
  61. data/examples/css/animated_3D_cube_example/animated_3D_cube_example.html +265 -0
  62. data/examples/css/animated_bird_example/animated_bird_example.html +207 -0
  63. data/examples/css/animated_border_gradient/animated_border_gradient.html +53 -0
  64. data/examples/css/animated_border_gradient/animated_border_gradient_via_standalone_box.html +43 -0
  65. data/examples/css/animated_desk_example/animated_desk_example.html +120 -0
  66. data/examples/css/animated_dodecahedron_example/animated_dodecahedron_example.html +107 -0
  67. data/examples/css/animated_dog_example/animated_dog_example.html +432 -0
  68. data/examples/css/animated_police_box/animated_police_box.html +639 -0
  69. data/examples/css/animated_solar_system/animated_solar_system.html +168 -0
  70. data/examples/css/animated_solar_system/css/styles.css +1592 -0
  71. data/examples/css/animated_solar_system/img/bg-glow.png +0 -0
  72. data/examples/css/animated_solar_system/img/bg-stars.png +0 -0
  73. data/examples/css/animated_solar_system/img/p-earth.png +0 -0
  74. data/examples/css/animated_solar_system/img/p-jupiter.png +0 -0
  75. data/examples/css/animated_solar_system/img/p-mars.png +0 -0
  76. data/examples/css/animated_solar_system/img/p-mercury.png +0 -0
  77. data/examples/css/animated_solar_system/img/p-neptune.png +0 -0
  78. data/examples/css/animated_solar_system/img/p-saturn.png +0 -0
  79. data/examples/css/animated_solar_system/img/p-uranus.png +0 -0
  80. data/examples/css/animated_solar_system/img/p-venus.png +0 -0
  81. data/examples/css/animated_solar_system/img/sun.png +0 -0
  82. data/examples/css/animated_solar_system/js/jquery.min.js +4 -0
  83. data/examples/css/animated_solar_system/js/scripts.js +42 -0
  84. data/examples/css/animated_solar_system/js/scripts.min.js +1 -0
  85. data/examples/css/animated_sphere_in_3D/animated_sphere_in_3D.html +107 -0
  86. data/examples/css/animated_submit_button.html +190 -0
  87. data/examples/css/animated_text_colour_change/animated_text_colour_change.html +41 -0
  88. data/examples/css/animations/README.md +2 -0
  89. data/examples/css/animations/colour_transition_example/colour_transition_example.html +29 -0
  90. data/examples/css/blooming_flowers_with_falling_leaves/blooming_flowers_with_falling_leaves.html +413 -0
  91. data/examples/css/blue_border.html +30 -0
  92. data/examples/css/book_page_flipping_animation/book_page_flipping_animation.html +286 -0
  93. data/examples/css/border_image_example/border_image_example.html +40 -0
  94. data/examples/css/box_shadow/box_shadow_example.html +18 -0
  95. data/examples/css/caret_colour_example.html +22 -0
  96. data/examples/css/changing_border_colours_animation/changing_border_colours_animation.html +134 -0
  97. data/examples/css/christmas_snow_globe_animation.html +596 -0
  98. data/examples/css/css_border_spacing_example.html +69 -0
  99. data/examples/css/css_bubbles.html +51 -0
  100. data/examples/css/css_checkboxes_example/css_checkboxes_example.html +110 -0
  101. data/examples/css/css_clock.html +344 -0
  102. data/examples/css/css_drag_and_drop.html +85 -0
  103. data/examples/css/css_grid_feline_style/css_grid_feline_style.html +164 -0
  104. data/examples/css/css_neon_glow_effects.html +317 -0
  105. data/examples/css/css_rotate_these_words.html +83 -0
  106. data/examples/css/css_text_decoration_example.html +70 -0
  107. data/examples/css/css_thermometer/css_thermometer.html +91 -0
  108. data/examples/css/css_tooltip/css_tooltip.html +46 -0
  109. data/examples/css/css_typewriter_example/css_typewriter_example.html +226 -0
  110. data/examples/css/cyberweb_animated_logo/cyberweb_animated_logo.html +179 -0
  111. data/examples/css/daily_coffee/daily_coffee.html +1110 -0
  112. data/examples/css/day_night_toggle/day_night_toggle.html +202 -0
  113. data/examples/css/different_colour_on_selected_text/different_colour_on_selected_text.html +31 -0
  114. data/examples/css/differentially_glowing_text_example/differentially_glowing_text_example.html +82 -0
  115. data/examples/css/dozing_bird_example/dozing_bird_example.html +358 -0
  116. data/examples/css/editable_boxes_example/editable_boxes_example.html +75 -0
  117. data/examples/css/examples_with_borders/examples_with_borders.html +33 -0
  118. data/examples/css/fade_in_and_fade_out_effect.html +66 -0
  119. data/examples/css/fleeing_dinosaur_animation/fleeing_dinosaur_animation.html +420 -0
  120. data/examples/css/flexbox_example/flexbox_example.html +39 -0
  121. data/examples/css/flying_birds_example/flying_birds_example.html +171 -0
  122. data/examples/css/folding_cards_example/folding_cards_example.html +624 -0
  123. data/examples/css/font_size_examples.html +42 -0
  124. data/examples/css/glowing_on_hover_animation/glowing_on_hover_animation.html +90 -0
  125. data/examples/css/gradient_examples/README.md +5 -0
  126. data/examples/css/gradient_examples/gradient_examples.cgi +263 -0
  127. data/examples/css/gradient_examples/gradient_examples.html +40672 -0
  128. data/examples/css/grow_example.html +31 -0
  129. data/examples/css/happy_toaster_example/happy_toaster_example.html +830 -0
  130. data/examples/css/how_to_style_the_title_attribute_of_a_href_tag/how_to_style_the_title_attribute_of_a_href_tag.html +21 -0
  131. data/examples/css/important_style/important_style.html +35 -0
  132. data/examples/css/keyboard_example/keyboard_example.html +238 -0
  133. data/examples/css/landing_on_mars_animation/landing_on_mars_animation.html +374 -0
  134. data/examples/css/letter_spacing_example.cgi +40 -0
  135. data/examples/css/lighthouse_example/lighthouse_example.html +1161 -0
  136. data/examples/css/line_height_example/line_height_example.html +23 -0
  137. data/examples/css/magic_card/magic_card.html +110 -0
  138. data/examples/css/meter_example/meter_example.html +31 -0
  139. data/examples/css/motorcycle_on_the_go/motorcycle_on_the_go.html +227 -0
  140. data/examples/css/on_hover_glow_effect/on_hover_glow_effect.html +50 -0
  141. data/examples/css/on_mouse_button_pressed.html +43 -0
  142. data/examples/css/our_solar_system/our_solar_system.html +441 -0
  143. data/examples/css/outline/outline_versus_border_example.html +57 -0
  144. data/examples/css/overflow_example/overflow_example.html +125 -0
  145. data/examples/css/planet_earth_is_rotating/planet_earth_is_rotating.html +130 -0
  146. data/examples/css/planet_example/planet_example.html +34 -0
  147. data/examples/css/planets/planets.html +187 -0
  148. data/examples/css/polaroid_card_effect_example/polaroid_card_effect_example.html +130 -0
  149. data/examples/css/progress_bar_examples/progress_bar_examples.html +316 -0
  150. data/examples/css/responsive_image_gallery/responsive_image_gallery.html +97 -0
  151. data/examples/css/rotating_DNA/rotating_DNA.html +626 -0
  152. data/examples/css/rotating_sphere_example/rotating_sphere_example.html +112 -0
  153. data/examples/css/sausage_dog_example/sausage_dog_example.html +428 -0
  154. data/examples/css/scale_example/scale_example.html +24 -0
  155. data/examples/css/shadow_example_in_CSS/shadow_example_in_CSS.cgi +62 -0
  156. data/examples/css/shaking_shapes_example/shaking_shapes_example.html +133 -0
  157. data/examples/css/simple_stars_example/simple_stars_example.html +27 -0
  158. data/examples/css/simpler_css_clock/simpler_css_clock.html +125 -0
  159. data/examples/css/single_row_glow/single_row_glow.html +91 -0
  160. data/examples/css/slide_checkbox_example/slide_checkbox_example.html +564 -0
  161. data/examples/css/slinky_animation/slinky_animation.html +292 -0
  162. data/examples/css/speak_bubble_quote_example/speak_bubble_quote_example.html +109 -0
  163. data/examples/css/speedy_truck_example/speedy_truck_example.html +168 -0
  164. data/examples/css/sticky_div_example/sticky_div_example.html +56 -0
  165. data/examples/css/stitched_div/stitched_div.html +45 -0
  166. data/examples/css/sun_and_clouds_animation/sun_and_clouds_animation.html +296 -0
  167. data/examples/css/swinging_cat/swinging_cat.html +683 -0
  168. data/examples/css/talking_candles_example/talking_candles_example.html +550 -0
  169. data/examples/css/text_decoration_underline_example/text_decoration_underline_example.html +62 -0
  170. data/examples/css/text_stroke_example/text_stroke_example.html +15 -0
  171. data/examples/css/this_is_a_cat/this_is_a_cat.html +219 -0
  172. data/examples/css/three_dots_indicating_page_loading/three_dots_indicating_page_loading.html +65 -0
  173. data/examples/css/twirling_example/twirling_example.html +207 -0
  174. data/examples/css/user_select_example/user_select_example.html +24 -0
  175. data/examples/css/vertically_aligned_flexbox_example/vertically_aligned_flexbox_example.html +41 -0
  176. data/examples/css/walking_cat/walking_cat.html +128 -0
  177. data/examples/css/water_wave_text_animation_effect/water_wave_text_animation_effect.html +86 -0
  178. data/examples/csv/README.md +2 -0
  179. data/examples/csv/sample.csv +10 -0
  180. data/examples/examples.html +29833 -0
  181. data/examples/flip_card_example/flip_card_example.html +79 -0
  182. data/examples/frames/frame_left.html +1 -0
  183. data/examples/frames/frame_right.html +1 -0
  184. data/examples/games/README.md +3 -0
  185. data/examples/games/gamelet/README.md +1 -0
  186. data/examples/games/gamelet/gamelet.html +43 -0
  187. data/examples/games/memory_card_game/images/img-1.png +0 -0
  188. data/examples/games/memory_card_game/images/img-2.png +0 -0
  189. data/examples/games/memory_card_game/images/img-3.png +0 -0
  190. data/examples/games/memory_card_game/images/img-4.png +0 -0
  191. data/examples/games/memory_card_game/images/img-5.png +0 -0
  192. data/examples/games/memory_card_game/images/img-6.png +0 -0
  193. data/examples/games/memory_card_game/images/que_icon.svg +3 -0
  194. data/examples/games/memory_card_game/memory_card_game.html +399 -0
  195. data/examples/games/snake/images/food.png +0 -0
  196. data/examples/games/snake/images/ground.png +0 -0
  197. data/examples/games/snake/snake.html +16 -0
  198. data/examples/games/snake/snake.js +117 -0
  199. data/examples/games/tetris/smaller_tetris_game.html +518 -0
  200. data/examples/games/tetris/tetris.html +461 -0
  201. data/examples/games/tic-tac-toe/index.js +125 -0
  202. data/examples/games/tic-tac-toe/tic-tac-toe.html +120 -0
  203. data/examples/html/MathML/001_show_a_simple_quadratic_equation.html +22 -0
  204. data/examples/html/MathML/002_simple_equation.html +7 -0
  205. data/examples/html/MathML/003_function_of_example.html +17 -0
  206. data/examples/html/MathML/README.md +2 -0
  207. data/examples/html/README.md +1 -0
  208. data/examples/html/abbr_example.html +22 -0
  209. data/examples/html/accordion/README.md +1 -0
  210. data/examples/html/accordion/accordion.html +56 -0
  211. data/examples/html/base64_image_example.html +29 -0
  212. data/examples/html/buttons_example.html +133 -0
  213. data/examples/html/canvas_drawing_example.html +54 -0
  214. data/examples/html/colour_wheel.html +1388 -0
  215. data/examples/html/column_width_example.html +34 -0
  216. data/examples/html/custom_cursor.html +106 -0
  217. data/examples/html/cyberweb_logo/README.md +2 -0
  218. data/examples/html/cyberweb_logo/cyberweb_logo.html +11 -0
  219. data/examples/html/draggable_paragraph.html +11 -0
  220. data/examples/html/email_popup_example/email_popup_example.html +175 -0
  221. data/examples/html/embed_youtube_video/embed_youtube_video.html +10 -0
  222. data/examples/html/fieldset_example.html +27 -0
  223. data/examples/html/font_awesome_example_page/font_awesome_example_page.html +26 -0
  224. data/examples/html/font_examples/README.md +1 -0
  225. data/examples/html/font_examples/chancery_text.html +19 -0
  226. data/examples/html/font_examples/fantasy_text.html +19 -0
  227. data/examples/html/font_examples/georgia_text.html +19 -0
  228. data/examples/html/font_size_example/font_size_example.html +85 -0
  229. data/examples/html/frames_example/frames_example.html +7 -0
  230. data/examples/html/glyph_example/glyph_example.html +42 -0
  231. data/examples/html/grayscale_filter_example/grayscale_filter_example.html +15 -0
  232. data/examples/html/hbox_and_vbox_example.html +65 -0
  233. data/examples/html/href_examples/href_examples.html +30 -0
  234. data/examples/html/href_in_pre_tag/href_in_pre_tag.html +39 -0
  235. data/examples/html/html_links_example.html +61 -0
  236. data/examples/html/html_slider/html_slider.html +39 -0
  237. data/examples/html/input_autofocus_example.html +20 -0
  238. data/examples/html/input_placeholder_example.html +15 -0
  239. data/examples/html/larger_image_on_mouse_over_example.html +30 -0
  240. data/examples/html/ordered_and_unordered_bulletsin.html +35 -0
  241. data/examples/html/overriding_CSS_classes_example/overriding_CSS_classes_example.html +97 -0
  242. data/examples/html/play_audio_example/play_audio_example.html +10 -0
  243. data/examples/html/play_video_example/play_video_example.html +14 -0
  244. data/examples/html/readonly_textarea_example/readonly_textarea_example.html +23 -0
  245. data/examples/html/remote_image_example/remote_image_example.html +16 -0
  246. data/examples/html/select_everything_on_mouse_click_event/select_everything_on_mouse_click_event.html +38 -0
  247. data/examples/html/selected_text_appears_in_another_colour_example.html +40 -0
  248. data/examples/html/send_email_hyperlink/send_email_hyperlink.html +8 -0
  249. data/examples/html/simple_show_images_example/simple_show_images_example.html +10 -0
  250. data/examples/html/simple_unordered_list/simple_unordered_list.html +19 -0
  251. data/examples/html/spin_button_example/spin_button_example.html +16 -0
  252. data/examples/html/spinner_example/spinner.html +79 -0
  253. data/examples/html/table_with_header_example/table_with_header_example.html +44 -0
  254. data/examples/html/test_mkv_codec/test_mkv_codec.html +11 -0
  255. data/examples/html/testing_the_bdo_tag/testing_the_bdo_tag.html +14 -0
  256. data/examples/html/the_aside_tag/the_aside_tag.html +18 -0
  257. data/examples/html/two_columns_flex_example/two_columns_flex_example.html +42 -0
  258. data/examples/html_template/simple_html_template_example.cgi +39 -0
  259. data/examples/javascript_and_jquery/README.md +2 -0
  260. data/examples/javascript_and_jquery/all_in_one_example/all_in_one_example.cgi +50 -0
  261. data/examples/javascript_and_jquery/array_filter_example/array_filter_exame.html +30 -0
  262. data/examples/javascript_and_jquery/arrays/arrays_example_in_javascript.html +16 -0
  263. data/examples/javascript_and_jquery/autocomplete_on_an_input_field/autocomplete_on_an_input_field.html +295 -0
  264. data/examples/javascript_and_jquery/change_the_background_colour_dynamically/change_the_background_colour_dynamically.html +41 -0
  265. data/examples/javascript_and_jquery/class_example/class_example.html +24 -0
  266. data/examples/javascript_and_jquery/copy_to_the_clipboard_example/copy_to_the_clipboard_example.html +80 -0
  267. data/examples/javascript_and_jquery/delay_example/delay_example.html +46 -0
  268. data/examples/javascript_and_jquery/drag_support/drag_support.html +37 -0
  269. data/examples/javascript_and_jquery/embeddable_javascript_calendar/embeddable_javascript_calendar.html +22 -0
  270. data/examples/javascript_and_jquery/javascript_count_down_timer/javascript_count_down_timer.html +52 -0
  271. data/examples/javascript_and_jquery/jquery_bubbling_header/bubbling_header.html +109 -0
  272. data/examples/javascript_and_jquery/jquery_drag_and_drop/drag_and_drop_image_example.html +33 -0
  273. data/examples/javascript_and_jquery/jquery_showcase/README.md +6 -0
  274. data/examples/javascript_and_jquery/jquery_showcase/jquery_001.cgi +23 -0
  275. data/examples/javascript_and_jquery/jquery_showcase/jquery_002.cgi +34 -0
  276. data/examples/javascript_and_jquery/jquery_showcase/jquery_003.cgi +24 -0
  277. data/examples/javascript_and_jquery/jquery_showcase/jquery_004.cgi +33 -0
  278. data/examples/javascript_and_jquery/jquery_showcase/jquery_005.cgi +45 -0
  279. data/examples/javascript_and_jquery/json_example/json_example.html +23 -0
  280. data/examples/javascript_and_jquery/local_storage_example/local_storage_example.html +58 -0
  281. data/examples/javascript_and_jquery/misc/miscallenous_javascript_examples.html +46 -0
  282. data/examples/javascript_and_jquery/objectified_html_tags/objectified_html_tags.cgi +50 -0
  283. data/examples/javascript_and_jquery/on_change_event/on_change_event.html +32 -0
  284. data/examples/javascript_and_jquery/on_click_colour_change/on_click_colour_change.html +31 -0
  285. data/examples/javascript_and_jquery/on_click_display_random_number/on_click_display_random_number.html +43 -0
  286. data/examples/javascript_and_jquery/on_click_event_hello_world/on_click_event_hello_world.html +21 -0
  287. data/examples/javascript_and_jquery/on_mouse_wheel_event/on_mouse_wheel_event.html +37 -0
  288. data/examples/javascript_and_jquery/on_right_click_show_a_context_menu/on_right_click_show_a_context_menu.html +130 -0
  289. data/examples/javascript_and_jquery/popup_example/popup_example.html +90 -0
  290. data/examples/javascript_and_jquery/read_the_content_of_a_local_file/read_the_content_of_a_local_file.html +35 -0
  291. data/examples/javascript_and_jquery/rgb_to_hex/rgb_to_hex.html +15 -0
  292. data/examples/javascript_and_jquery/roll_a_die/roll_a_die.html +48 -0
  293. data/examples/javascript_and_jquery/screen_resolution/screen_resolution.html +31 -0
  294. data/examples/javascript_and_jquery/select_everything/select_everything.html +14 -0
  295. data/examples/javascript_and_jquery/show_the_mouse_coordinates/show_the_mouse_coordinates.html +16 -0
  296. data/examples/javascript_and_jquery/simple_clock_example/simple_clock_example.html +66 -0
  297. data/examples/javascript_and_jquery/toggle_visibility_of_elements/toggle_visibility_of_elements.html +35 -0
  298. data/examples/javascript_and_jquery/tutorial/001_hello_world_example/001_hello_world_example.html +16 -0
  299. data/examples/javascript_and_jquery/tutorial/002_mixed_example/002_mixed_example.html +16 -0
  300. data/examples/javascript_and_jquery/video_js_example/video_js_example.html +28 -0
  301. data/examples/javascript_and_jquery/vue/README.md +1 -0
  302. data/examples/javascript_and_jquery/vue/showcasing_vue.html +80 -0
  303. data/examples/javascript_and_jquery/write_into_a_file/write_into_a_file.html +38 -0
  304. data/examples/misc/table_example.rb +37 -0
  305. data/examples/objectified/webpage_via_objectified_html_tags.rb +13 -0
  306. data/examples/rack/README.md +4 -0
  307. data/examples/rack/example_with_html_template.rb +124 -0
  308. data/examples/rack/example_with_rack_and_cyberweb_showing_how_to_use_images.rb +57 -0
  309. data/examples/rack/hello_world_example_with_rack.rb +46 -0
  310. data/examples/rack/lobster.rb +81 -0
  311. data/examples/rack/rack_env.rb +10 -0
  312. data/examples/rack/standalone_example.rb +26 -0
  313. data/examples/show_greek_letters/show_greek_letters.rb +3 -0
  314. data/examples/simple/input_example_with_coloured_focus.cgi +32 -0
  315. data/examples/simple/input_type_examples.cgi +51 -0
  316. data/examples/simple/on_click_event_hello_world.cgi +34 -0
  317. data/examples/simple/rotate_these_words.cgi +90 -0
  318. data/examples/simple/show_how_to_set_a_title.rb +7 -0
  319. data/examples/simple/simple_gradient.cgi +57 -0
  320. data/examples/simple/toggle_visibility_example/toggle_visibility_example.cgi +36 -0
  321. data/examples/sinatra/001_your_ip_address_is.rb +8 -0
  322. data/examples/sinatra/002_the_request_object.rb +16 -0
  323. data/examples/sinatra/003_hello_world_example.rb +82 -0
  324. data/examples/sinatra/004_splat_example.rb +10 -0
  325. data/examples/sinatra/005_attachment_example.rb +11 -0
  326. data/examples/sinatra/006_outer_self_example.rb +8 -0
  327. data/examples/sinatra/007_mime_type_example.rb +17 -0
  328. data/examples/sinatra/008_post_example.rb +55 -0
  329. data/examples/sinatra/009_save_into_a_local_file_example.rb +82 -0
  330. data/examples/test/README.md +1 -0
  331. data/examples/test/test.cgi +99 -0
  332. data/examples/web_object/simple_web_object_example.cgi +45 -0
  333. data/images/cyberweb_favicon.png +0 -0
  334. data/images/cyberweb_logo.png +0 -0
  335. data/images/cyberweb_theme.png +0 -0
  336. data/lib/cyberweb/REST/README.md +7 -0
  337. data/lib/cyberweb/REST/base/accept_entry.rb +96 -0
  338. data/lib/cyberweb/REST/base/application.rb +37 -0
  339. data/lib/cyberweb/REST/base/bad_request.rb +11 -0
  340. data/lib/cyberweb/REST/base/base.rb +1131 -0
  341. data/lib/cyberweb/REST/base/common_logger.rb +35 -0
  342. data/lib/cyberweb/REST/base/delegator.rb +75 -0
  343. data/lib/cyberweb/REST/base/error.rb +13 -0
  344. data/lib/cyberweb/REST/base/extended_rack.rb +65 -0
  345. data/lib/cyberweb/REST/base/helpers/helpers.rb +475 -0
  346. data/lib/cyberweb/REST/base/helpers/stream.rb +92 -0
  347. data/lib/cyberweb/REST/base/mime_type_entry.rb +66 -0
  348. data/lib/cyberweb/REST/base/not_found.rb +22 -0
  349. data/lib/cyberweb/REST/base/request.rb +145 -0
  350. data/lib/cyberweb/REST/base/response.rb +94 -0
  351. data/lib/cyberweb/REST/base/templates/templates.rb +213 -0
  352. data/lib/cyberweb/REST/base/wrapper.rb +33 -0
  353. data/lib/cyberweb/REST/constants.rb +21 -0
  354. data/lib/cyberweb/REST/main.rb +109 -0
  355. data/lib/cyberweb/REST/show_exceptions.rb +396 -0
  356. data/lib/cyberweb/and_sinatra_base.rb +9 -0
  357. data/lib/cyberweb/autoinclude.rb +20 -0
  358. data/lib/cyberweb/autoinclude_webobject.rb +14 -0
  359. data/lib/cyberweb/base/base.rb +534 -0
  360. data/lib/cyberweb/base_module/base_module/base_module.rb +362 -0
  361. data/lib/cyberweb/base_module/colours/colours.rb +93 -0
  362. data/lib/cyberweb/base_module/commandline_arguments/commandline_arguments.rb +71 -0
  363. data/lib/cyberweb/base_module/content_type/content_type.rb +52 -0
  364. data/lib/cyberweb/base_module/file_related_functionality/file_related_functionality.rb +90 -0
  365. data/lib/cyberweb/cascading_style_sheets/README.md +4 -0
  366. data/lib/cyberweb/cascading_style_sheets/admonition.css +33 -0
  367. data/lib/cyberweb/cascading_style_sheets/balloon.css +345 -0
  368. data/lib/cyberweb/cascading_style_sheets/border.css +364 -0
  369. data/lib/cyberweb/cascading_style_sheets/code.css +60 -0
  370. data/lib/cyberweb/cascading_style_sheets/colours.css +514 -0
  371. data/lib/cyberweb/cascading_style_sheets/css_reset.css +81 -0
  372. data/lib/cyberweb/cascading_style_sheets/cursors.css +21 -0
  373. data/lib/cyberweb/cascading_style_sheets/custom/animated_bike.css +198 -0
  374. data/lib/cyberweb/cascading_style_sheets/default.css +1114 -0
  375. data/lib/cyberweb/cascading_style_sheets/display.css +158 -0
  376. data/lib/cyberweb/cascading_style_sheets/div.css +44 -0
  377. data/lib/cyberweb/cascading_style_sheets/drop_shadow.css +162 -0
  378. data/lib/cyberweb/cascading_style_sheets/error_404_css_class.css +26 -0
  379. data/lib/cyberweb/cascading_style_sheets/fonts.css +435 -0
  380. data/lib/cyberweb/cascading_style_sheets/glow_effects.css +176 -0
  381. data/lib/cyberweb/cascading_style_sheets/gradient_effects.css +445 -0
  382. data/lib/cyberweb/cascading_style_sheets/hover.css +4220 -0
  383. data/lib/cyberweb/cascading_style_sheets/links.css +212 -0
  384. data/lib/cyberweb/cascading_style_sheets/margin.css +779 -0
  385. data/lib/cyberweb/cascading_style_sheets/menu.css +40 -0
  386. data/lib/cyberweb/cascading_style_sheets/message_boxes.css +51 -0
  387. data/lib/cyberweb/cascading_style_sheets/misc.css +200 -0
  388. data/lib/cyberweb/cascading_style_sheets/padding.css +443 -0
  389. data/lib/cyberweb/cascading_style_sheets/popup.css +63 -0
  390. data/lib/cyberweb/cascading_style_sheets/rpg.css +51 -0
  391. data/lib/cyberweb/cascading_style_sheets/ruby_regexes.css +50 -0
  392. data/lib/cyberweb/cascading_style_sheets/shapes.css +62 -0
  393. data/lib/cyberweb/cascading_style_sheets/template2.css +22 -0
  394. data/lib/cyberweb/cascading_style_sheets/text_shadow.css +49 -0
  395. data/lib/cyberweb/cascading_style_sheets/tooltip.css +109 -0
  396. data/lib/cyberweb/cascading_style_sheets/width.css +303 -0
  397. data/lib/cyberweb/cgi/README.md +6 -0
  398. data/lib/cyberweb/cgi/cgi.rb +340 -0
  399. data/lib/cyberweb/cgi/constants.rb +122 -0
  400. data/lib/cyberweb/cgi/cookie.rb +218 -0
  401. data/lib/cyberweb/cgi/core.rb +638 -0
  402. data/lib/cyberweb/cgi/exceptions.rb +222 -0
  403. data/lib/cyberweb/cgi/html.rb +1025 -0
  404. data/lib/cyberweb/cgi/mod_ruby_exception_printer.rb +40 -0
  405. data/lib/cyberweb/cgi/query_extension.rb +431 -0
  406. data/lib/cyberweb/cgi/session/file_store.rb +135 -0
  407. data/lib/cyberweb/cgi/session/memory_store.rb +90 -0
  408. data/lib/cyberweb/cgi/session/pstore.rb +130 -0
  409. data/lib/cyberweb/cgi/session.rb +446 -0
  410. data/lib/cyberweb/cgi/tag_maker.rb +94 -0
  411. data/lib/cyberweb/cgi/util.rb +239 -0
  412. data/lib/cyberweb/classes/simple_form.rb +60 -0
  413. data/lib/cyberweb/classes/tooltips.rb +172 -0
  414. data/lib/cyberweb/cmd/README.md +2 -0
  415. data/lib/cyberweb/cmd/cmd.rb +636 -0
  416. data/lib/cyberweb/coloured_tags/coloured_tags.rb +3099 -0
  417. data/lib/cyberweb/colours/colour_chart.rb +71 -0
  418. data/lib/cyberweb/colours/colours.rb +261 -0
  419. data/lib/cyberweb/commandline/commandline_interface.rb +60 -0
  420. data/lib/cyberweb/configuration/configuration.rb +93 -0
  421. data/lib/cyberweb/configuration/load_the_configuration.rb +79 -0
  422. data/lib/cyberweb/constants/constants.rb +9 -0
  423. data/lib/cyberweb/constants/http_status_codes.rb +62 -0
  424. data/lib/cyberweb/constants/misc.rb +524 -0
  425. data/lib/cyberweb/constants/registered_html_tags.rb +48 -0
  426. data/lib/cyberweb/constants/user_x.rb +21 -0
  427. data/lib/cyberweb/controller/README.md +4 -0
  428. data/lib/cyberweb/controller/controller.rb +50 -0
  429. data/lib/cyberweb/css_manager/css_manager.rb +229 -0
  430. data/lib/cyberweb/cybersprawl +1 -0
  431. data/lib/cyberweb/databases/sqlite.rb +56 -0
  432. data/lib/cyberweb/debug/debug.rb +74 -0
  433. data/lib/cyberweb/enable_objectified_html_tags.rb +21 -0
  434. data/lib/cyberweb/encoding/encoding.rb +124 -0
  435. data/lib/cyberweb/erb/test.rhtml +81 -0
  436. data/lib/cyberweb/erb/test_template.erb +9 -0
  437. data/lib/cyberweb/evaluate_from_the_same_named_file_then_serve.rb +9 -0
  438. data/lib/cyberweb/experimental/README.md +2 -0
  439. data/lib/cyberweb/experimental/html_template_powered_by_rack.rb +82 -0
  440. data/lib/cyberweb/experimental/racky.rb +19 -0
  441. data/lib/cyberweb/foto_gallery/foto_gallery.rb +150 -0
  442. data/lib/cyberweb/generator/README.md +2 -0
  443. data/lib/cyberweb/generator/cgi.rb +239 -0
  444. data/lib/cyberweb/generator/class.rb +25 -0
  445. data/lib/cyberweb/generator/static_webpage.rb +172 -0
  446. data/lib/cyberweb/html_tags/README.md +3 -0
  447. data/lib/cyberweb/html_tags/a.rb +67 -0
  448. data/lib/cyberweb/html_tags/accesskey.rb +25 -0
  449. data/lib/cyberweb/html_tags/blockquote.rb +56 -0
  450. data/lib/cyberweb/html_tags/body.rb +14 -0
  451. data/lib/cyberweb/html_tags/br.rb +19 -0
  452. data/lib/cyberweb/html_tags/button.rb +150 -0
  453. data/lib/cyberweb/html_tags/canvas.rb +59 -0
  454. data/lib/cyberweb/html_tags/chtml.rb +14 -0
  455. data/lib/cyberweb/html_tags/div.rb +170 -0
  456. data/lib/cyberweb/html_tags/fieldset.rb +69 -0
  457. data/lib/cyberweb/html_tags/figure.rb +72 -0
  458. data/lib/cyberweb/html_tags/form.rb +203 -0
  459. data/lib/cyberweb/html_tags/h1.rb +77 -0
  460. data/lib/cyberweb/html_tags/h2.rb +81 -0
  461. data/lib/cyberweb/html_tags/h3.rb +60 -0
  462. data/lib/cyberweb/html_tags/h4.rb +66 -0
  463. data/lib/cyberweb/html_tags/h5.rb +64 -0
  464. data/lib/cyberweb/html_tags/h6.rb +60 -0
  465. data/lib/cyberweb/html_tags/hr.rb +22 -0
  466. data/lib/cyberweb/html_tags/html_tags.rb +267 -0
  467. data/lib/cyberweb/html_tags/i.rb +52 -0
  468. data/lib/cyberweb/html_tags/img.rb +294 -0
  469. data/lib/cyberweb/html_tags/input.rb +354 -0
  470. data/lib/cyberweb/html_tags/label.rb +65 -0
  471. data/lib/cyberweb/html_tags/legend.rb +56 -0
  472. data/lib/cyberweb/html_tags/li.rb +67 -0
  473. data/lib/cyberweb/html_tags/map.rb +38 -0
  474. data/lib/cyberweb/html_tags/nav.rb +63 -0
  475. data/lib/cyberweb/html_tags/object.rb +57 -0
  476. data/lib/cyberweb/html_tags/ol.rb +57 -0
  477. data/lib/cyberweb/html_tags/option.rb +64 -0
  478. data/lib/cyberweb/html_tags/p.rb +88 -0
  479. data/lib/cyberweb/html_tags/pre.rb +162 -0
  480. data/lib/cyberweb/html_tags/section.rb +33 -0
  481. data/lib/cyberweb/html_tags/select.rb +104 -0
  482. data/lib/cyberweb/html_tags/span.rb +344 -0
  483. data/lib/cyberweb/html_tags/strong.rb +42 -0
  484. data/lib/cyberweb/html_tags/table.rb +284 -0
  485. data/lib/cyberweb/html_tags/tbody.rb +26 -0
  486. data/lib/cyberweb/html_tags/td.rb +212 -0
  487. data/lib/cyberweb/html_tags/textarea.rb +173 -0
  488. data/lib/cyberweb/html_tags/th.rb +70 -0
  489. data/lib/cyberweb/html_tags/thead.rb +41 -0
  490. data/lib/cyberweb/html_tags/tr.rb +99 -0
  491. data/lib/cyberweb/html_tags/ul.rb +51 -0
  492. data/lib/cyberweb/html_template/html_template.rb +7035 -0
  493. data/lib/cyberweb/images/background_images/README.md +2 -0
  494. data/lib/cyberweb/images/background_images/paper.gif +0 -0
  495. data/lib/cyberweb/images/background_images/parchment1.gif +0 -0
  496. data/lib/cyberweb/images/background_images/parchment2.gif +0 -0
  497. data/lib/cyberweb/images/embed_this_image.rb +39 -0
  498. data/lib/cyberweb/images/images.rb +58 -0
  499. data/lib/cyberweb/images/path_to_images.rb +64 -0
  500. data/lib/cyberweb/images/remove_this_substring_from_all_images.rb +44 -0
  501. data/lib/cyberweb/images/standalone_drag_and_drop_this_image.rb +64 -0
  502. data/lib/cyberweb/images/standard_images/ADMIN.png +0 -0
  503. data/lib/cyberweb/images/standard_images/AMBULANZ.png +0 -0
  504. data/lib/cyberweb/images/standard_images/ANGRY_SMILEY.png +0 -0
  505. data/lib/cyberweb/images/standard_images/APPROVE.png +0 -0
  506. data/lib/cyberweb/images/standard_images/ARROW_LEFT.png +0 -0
  507. data/lib/cyberweb/images/standard_images/ARROW_RIGHT.png +0 -0
  508. data/lib/cyberweb/images/standard_images/ARROW_TOOLTIP.gif +0 -0
  509. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN.png +0 -0
  510. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN2.png +0 -0
  511. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN3.png +0 -0
  512. data/lib/cyberweb/images/standard_images/AUSRUFUNGSZEICHEN4.png +0 -0
  513. data/lib/cyberweb/images/standard_images/AUSTRIA_FAHNE.jpg +0 -0
  514. data/lib/cyberweb/images/standard_images/AWARD.png +0 -0
  515. data/lib/cyberweb/images/standard_images/AXE.png +0 -0
  516. data/lib/cyberweb/images/standard_images/BACKUP_IMAGE.png +0 -0
  517. data/lib/cyberweb/images/standard_images/BAGGER.png +0 -0
  518. data/lib/cyberweb/images/standard_images/BARS.gif +0 -0
  519. data/lib/cyberweb/images/standard_images/BEGINNER.jpg +0 -0
  520. data/lib/cyberweb/images/standard_images/BEWERTUNG_1.png +0 -0
  521. data/lib/cyberweb/images/standard_images/BEWERTUNG_2.png +0 -0
  522. data/lib/cyberweb/images/standard_images/BEWERTUNG_3.png +0 -0
  523. data/lib/cyberweb/images/standard_images/BEWERTUNG_4.png +0 -0
  524. data/lib/cyberweb/images/standard_images/BEWERTUNG_5.png +0 -0
  525. data/lib/cyberweb/images/standard_images/BEWERTUNG_6.png +0 -0
  526. data/lib/cyberweb/images/standard_images/BIG_STAR.png +0 -0
  527. data/lib/cyberweb/images/standard_images/BIKE.png +0 -0
  528. data/lib/cyberweb/images/standard_images/BIO.png +0 -0
  529. data/lib/cyberweb/images/standard_images/BIOS.gif +0 -0
  530. data/lib/cyberweb/images/standard_images/BLOB.png +0 -0
  531. data/lib/cyberweb/images/standard_images/BLOG.png +0 -0
  532. data/lib/cyberweb/images/standard_images/BLUEARROW.png +0 -0
  533. data/lib/cyberweb/images/standard_images/BLUE_HEAD.gif +0 -0
  534. data/lib/cyberweb/images/standard_images/BLUE_PILL.png +0 -0
  535. data/lib/cyberweb/images/standard_images/BLUME.png +0 -0
  536. data/lib/cyberweb/images/standard_images/BOHRER.png +0 -0
  537. data/lib/cyberweb/images/standard_images/BOOK_CLOSED.png +0 -0
  538. data/lib/cyberweb/images/standard_images/BOOK_OPENED.png +0 -0
  539. data/lib/cyberweb/images/standard_images/BUBBLE.png +0 -0
  540. data/lib/cyberweb/images/standard_images/BUECHER.jpg +0 -0
  541. data/lib/cyberweb/images/standard_images/BUERO_KLAMMER.png +0 -0
  542. data/lib/cyberweb/images/standard_images/BUSINESS.png +0 -0
  543. data/lib/cyberweb/images/standard_images/BUTTON1.gif +0 -0
  544. data/lib/cyberweb/images/standard_images/CAMERA.png +0 -0
  545. data/lib/cyberweb/images/standard_images/CAT.png +0 -0
  546. data/lib/cyberweb/images/standard_images/CAUTION.png +0 -0
  547. data/lib/cyberweb/images/standard_images/CHAOTIC_IMAGE.png +0 -0
  548. data/lib/cyberweb/images/standard_images/CHECKBOX_OFF.png +0 -0
  549. data/lib/cyberweb/images/standard_images/CHECKBOX_ON.png +0 -0
  550. data/lib/cyberweb/images/standard_images/CHEERING_PERSON.png +0 -0
  551. data/lib/cyberweb/images/standard_images/CLOSED.png +0 -0
  552. data/lib/cyberweb/images/standard_images/COMMAND_ICO.png +0 -0
  553. data/lib/cyberweb/images/standard_images/COMPLEX.png +0 -0
  554. data/lib/cyberweb/images/standard_images/COMPONENTS.png +0 -0
  555. data/lib/cyberweb/images/standard_images/COMPUTER.png +0 -0
  556. data/lib/cyberweb/images/standard_images/CONNECTED.png +0 -0
  557. data/lib/cyberweb/images/standard_images/CONTACT.png +0 -0
  558. data/lib/cyberweb/images/standard_images/COPY.png +0 -0
  559. data/lib/cyberweb/images/standard_images/CSS.png +0 -0
  560. data/lib/cyberweb/images/standard_images/CURSOR.png +0 -0
  561. data/lib/cyberweb/images/standard_images/CUTE_BUBBA.png +0 -0
  562. data/lib/cyberweb/images/standard_images/CUTE_MOUSE.png +0 -0
  563. data/lib/cyberweb/images/standard_images/DEVELOP.png +0 -0
  564. data/lib/cyberweb/images/standard_images/DIAMOND_SHELL.png +0 -0
  565. data/lib/cyberweb/images/standard_images/DIE_PERFEKTE_AUSBILDUNG.png +0 -0
  566. data/lib/cyberweb/images/standard_images/DOCUMENTATION.png +0 -0
  567. data/lib/cyberweb/images/standard_images/DOKUMENT.png +0 -0
  568. data/lib/cyberweb/images/standard_images/DOT_01.png +0 -0
  569. data/lib/cyberweb/images/standard_images/DOT_02.png +0 -0
  570. data/lib/cyberweb/images/standard_images/DOT_03.png +0 -0
  571. data/lib/cyberweb/images/standard_images/DOT_04.png +0 -0
  572. data/lib/cyberweb/images/standard_images/DOT_05.png +0 -0
  573. data/lib/cyberweb/images/standard_images/DOT_06.png +0 -0
  574. data/lib/cyberweb/images/standard_images/DOT_07.png +0 -0
  575. data/lib/cyberweb/images/standard_images/DOT_08.png +0 -0
  576. data/lib/cyberweb/images/standard_images/DOT_09.png +0 -0
  577. data/lib/cyberweb/images/standard_images/DOT_10.png +0 -0
  578. data/lib/cyberweb/images/standard_images/DOT_11.png +0 -0
  579. data/lib/cyberweb/images/standard_images/DOT_12.png +0 -0
  580. data/lib/cyberweb/images/standard_images/DOWNLOAD.png +0 -0
  581. data/lib/cyberweb/images/standard_images/DOWNLOAD2.png +0 -0
  582. data/lib/cyberweb/images/standard_images/DOWNLOAD_PACKAGE.png +0 -0
  583. data/lib/cyberweb/images/standard_images/DUCK.png +0 -0
  584. data/lib/cyberweb/images/standard_images/DUCKY.png +0 -0
  585. data/lib/cyberweb/images/standard_images/EINKAUFSKORB.png +0 -0
  586. data/lib/cyberweb/images/standard_images/EINKAUFSWAGEN.png +0 -0
  587. data/lib/cyberweb/images/standard_images/ELLIPSE.png +0 -0
  588. data/lib/cyberweb/images/standard_images/EMAIL_FANCY.png +0 -0
  589. data/lib/cyberweb/images/standard_images/EMAIL_FAVICON.png +0 -0
  590. data/lib/cyberweb/images/standard_images/EMAIL_FAVICON.xpm +176 -0
  591. data/lib/cyberweb/images/standard_images/ENGLISH.jpg +0 -0
  592. data/lib/cyberweb/images/standard_images/ERRORS.png +0 -0
  593. data/lib/cyberweb/images/standard_images/EURO.png +0 -0
  594. data/lib/cyberweb/images/standard_images/EVAL/01_STAR.png +0 -0
  595. data/lib/cyberweb/images/standard_images/EVAL/02_STAR.png +0 -0
  596. data/lib/cyberweb/images/standard_images/EVAL/03_STAR.png +0 -0
  597. data/lib/cyberweb/images/standard_images/EVAL/04_STAR.png +0 -0
  598. data/lib/cyberweb/images/standard_images/EVAL/05_STAR.png +0 -0
  599. data/lib/cyberweb/images/standard_images/EVAL/0x_STAR.png +0 -0
  600. data/lib/cyberweb/images/standard_images/EVAL/1x_STAR.png +0 -0
  601. data/lib/cyberweb/images/standard_images/EVAL/2x_STAR.png +0 -0
  602. data/lib/cyberweb/images/standard_images/EVAL/3x_STAR.png +0 -0
  603. data/lib/cyberweb/images/standard_images/EVAL/4x_STAR.png +0 -0
  604. data/lib/cyberweb/images/standard_images/EXTERNAL_LINK.png +0 -0
  605. data/lib/cyberweb/images/standard_images/EYE.png +0 -0
  606. data/lib/cyberweb/images/standard_images/FAQ.png +0 -0
  607. data/lib/cyberweb/images/standard_images/FERNGLAS.png +0 -0
  608. data/lib/cyberweb/images/standard_images/FLOWER_1.png +0 -0
  609. data/lib/cyberweb/images/standard_images/FLOWER_2.png +0 -0
  610. data/lib/cyberweb/images/standard_images/FLUGZEUG1.jpg +0 -0
  611. data/lib/cyberweb/images/standard_images/FOLDER.png +0 -0
  612. data/lib/cyberweb/images/standard_images/FORK.png +0 -0
  613. data/lib/cyberweb/images/standard_images/FORUM.png +0 -0
  614. data/lib/cyberweb/images/standard_images/FOTOAPPARAT.png +0 -0
  615. data/lib/cyberweb/images/standard_images/FOTO_FAVICON.png +0 -0
  616. data/lib/cyberweb/images/standard_images/FRAGEZEICHEN.jpg +0 -0
  617. data/lib/cyberweb/images/standard_images/FTP.png +0 -0
  618. data/lib/cyberweb/images/standard_images/FUNNY_ELEPHANT.png +0 -0
  619. data/lib/cyberweb/images/standard_images/FUSSBALL.png +0 -0
  620. data/lib/cyberweb/images/standard_images/F/303/204CHER.png +0 -0
  621. data/lib/cyberweb/images/standard_images/GATEWAY.png +0 -0
  622. data/lib/cyberweb/images/standard_images/GB.jpg +0 -0
  623. data/lib/cyberweb/images/standard_images/GENDER_ICON_FEMALE.png +0 -0
  624. data/lib/cyberweb/images/standard_images/GENDER_ICON_MALE.png +0 -0
  625. data/lib/cyberweb/images/standard_images/GERMANY_FLAG.png +0 -0
  626. data/lib/cyberweb/images/standard_images/GERSTE.png +0 -0
  627. data/lib/cyberweb/images/standard_images/GESCHENKBOX.png +0 -0
  628. data/lib/cyberweb/images/standard_images/GET_HELP.png +0 -0
  629. data/lib/cyberweb/images/standard_images/GITARRE.png +0 -0
  630. data/lib/cyberweb/images/standard_images/GOOGLE.png +0 -0
  631. data/lib/cyberweb/images/standard_images/GORILLA.gif +0 -0
  632. data/lib/cyberweb/images/standard_images/GOTHIC_SPACER.png +0 -0
  633. data/lib/cyberweb/images/standard_images/GRADIENT_FILL.gif +0 -0
  634. data/lib/cyberweb/images/standard_images/GRAFIK_SMALL.png +0 -0
  635. data/lib/cyberweb/images/standard_images/GRID_LAYOUT.gif +0 -0
  636. data/lib/cyberweb/images/standard_images/GRINSEN.jpg +0 -0
  637. data/lib/cyberweb/images/standard_images/GUN.png +0 -0
  638. data/lib/cyberweb/images/standard_images/HAKEN.png +0 -0
  639. data/lib/cyberweb/images/standard_images/HALLOWEEN.png +0 -0
  640. data/lib/cyberweb/images/standard_images/HAMMER.png +0 -0
  641. data/lib/cyberweb/images/standard_images/HANGING_MONKEY.png +0 -0
  642. data/lib/cyberweb/images/standard_images/HANG_MAN.png +0 -0
  643. data/lib/cyberweb/images/standard_images/HAPPY_BIRD.png +0 -0
  644. data/lib/cyberweb/images/standard_images/HAPPY_SMILEY.png +0 -0
  645. data/lib/cyberweb/images/standard_images/HDD_EMPTY.png +0 -0
  646. data/lib/cyberweb/images/standard_images/HDD_FULL.png +0 -0
  647. data/lib/cyberweb/images/standard_images/HDD_HALF.png +0 -0
  648. data/lib/cyberweb/images/standard_images/HDD_ONEFOURTH.png +0 -0
  649. data/lib/cyberweb/images/standard_images/HDD_THREEEIGHT.png +0 -0
  650. data/lib/cyberweb/images/standard_images/HDD_THREEFOURTH.png +0 -0
  651. data/lib/cyberweb/images/standard_images/HEART.png +0 -0
  652. data/lib/cyberweb/images/standard_images/HELP.png +0 -0
  653. data/lib/cyberweb/images/standard_images/HOME.gif +0 -0
  654. data/lib/cyberweb/images/standard_images/HONIG.jpg +0 -0
  655. data/lib/cyberweb/images/standard_images/HTML40.png +0 -0
  656. data/lib/cyberweb/images/standard_images/HUHN.gif +0 -0
  657. data/lib/cyberweb/images/standard_images/HUMAN.gif +0 -0
  658. data/lib/cyberweb/images/standard_images/ICONS_COLLECTION1.gif +0 -0
  659. data/lib/cyberweb/images/standard_images/ICONS_COLLECTION2.png +0 -0
  660. data/lib/cyberweb/images/standard_images/ICOSAHEDRON.jpg +0 -0
  661. data/lib/cyberweb/images/standard_images/IE.jpg +0 -0
  662. data/lib/cyberweb/images/standard_images/IMPORTANT_ARROW_LEFT.jpg +0 -0
  663. data/lib/cyberweb/images/standard_images/INTERNAL_LINKS.png +0 -0
  664. data/lib/cyberweb/images/standard_images/IPAD.png +0 -0
  665. data/lib/cyberweb/images/standard_images/ITEM.png +0 -0
  666. data/lib/cyberweb/images/standard_images/KAFFEE.png +0 -0
  667. data/lib/cyberweb/images/standard_images/KARMA.png +0 -0
  668. data/lib/cyberweb/images/standard_images/KEYS.png +0 -0
  669. data/lib/cyberweb/images/standard_images/KLEBSTOFF.png +0 -0
  670. data/lib/cyberweb/images/standard_images/KLEE_BLATT.png +0 -0
  671. data/lib/cyberweb/images/standard_images/KNIFE01.png +0 -0
  672. data/lib/cyberweb/images/standard_images/LARGER_COMPUTER.png +0 -0
  673. data/lib/cyberweb/images/standard_images/LCD.png +0 -0
  674. data/lib/cyberweb/images/standard_images/LEAF.png +0 -0
  675. data/lib/cyberweb/images/standard_images/LEAF2.png +0 -0
  676. data/lib/cyberweb/images/standard_images/LEFT_RIGHT_PFEIL.png +0 -0
  677. data/lib/cyberweb/images/standard_images/LENS.png +0 -0
  678. data/lib/cyberweb/images/standard_images/LEXIKON1.jpg +0 -0
  679. data/lib/cyberweb/images/standard_images/LOCK.png +0 -0
  680. data/lib/cyberweb/images/standard_images/LOSER.gif +0 -0
  681. data/lib/cyberweb/images/standard_images/LUPE.gif +0 -0
  682. data/lib/cyberweb/images/standard_images/MANTIS.png +0 -0
  683. data/lib/cyberweb/images/standard_images/MAXERL.png +0 -0
  684. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_ERROR.png +0 -0
  685. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_INFO.png +0 -0
  686. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_SUCCESS.png +0 -0
  687. data/lib/cyberweb/images/standard_images/MESSAGE_BOX_WARNING.png +0 -0
  688. data/lib/cyberweb/images/standard_images/MICROSOFT.png +0 -0
  689. data/lib/cyberweb/images/standard_images/MINE.png +0 -0
  690. data/lib/cyberweb/images/standard_images/MINI_BAUM1.png +0 -0
  691. data/lib/cyberweb/images/standard_images/MINI_BAUM2.png +0 -0
  692. data/lib/cyberweb/images/standard_images/MINI_BAUM3.png +0 -0
  693. data/lib/cyberweb/images/standard_images/MINI_BAUM4.png +0 -0
  694. data/lib/cyberweb/images/standard_images/MINI_BAUM5.png +0 -0
  695. data/lib/cyberweb/images/standard_images/MINI_BAUM6.png +0 -0
  696. data/lib/cyberweb/images/standard_images/MINI_CUBE.png +0 -0
  697. data/lib/cyberweb/images/standard_images/MINI_DOT.png +0 -0
  698. data/lib/cyberweb/images/standard_images/MINUS.png +0 -0
  699. data/lib/cyberweb/images/standard_images/MONEY.png +0 -0
  700. data/lib/cyberweb/images/standard_images/MOUSE.png +0 -0
  701. data/lib/cyberweb/images/standard_images/MUSIK_NOTE.png +0 -0
  702. data/lib/cyberweb/images/standard_images/NAGEL.jpg +0 -0
  703. data/lib/cyberweb/images/standard_images/NASHORN.png +0 -0
  704. data/lib/cyberweb/images/standard_images/NEW.png +0 -0
  705. data/lib/cyberweb/images/standard_images/NEWS.png +0 -0
  706. data/lib/cyberweb/images/standard_images/NOBODY.png +0 -0
  707. data/lib/cyberweb/images/standard_images/NOTE.png +0 -0
  708. data/lib/cyberweb/images/standard_images/NOTEPAD.png +0 -0
  709. data/lib/cyberweb/images/standard_images/NOTIZ.png +0 -0
  710. data/lib/cyberweb/images/standard_images/NO_PATENTS.png +0 -0
  711. data/lib/cyberweb/images/standard_images/OBSOLETE.png +0 -0
  712. data/lib/cyberweb/images/standard_images/OFFICIAL_HOME.png +0 -0
  713. data/lib/cyberweb/images/standard_images/PDF.png +0 -0
  714. data/lib/cyberweb/images/standard_images/PERGAMENT_TILER1.jpg +0 -0
  715. data/lib/cyberweb/images/standard_images/PFEIL1.png +0 -0
  716. data/lib/cyberweb/images/standard_images/PFEIL10.png +0 -0
  717. data/lib/cyberweb/images/standard_images/PFEIL11.png +0 -0
  718. data/lib/cyberweb/images/standard_images/PFEIL12.png +0 -0
  719. data/lib/cyberweb/images/standard_images/PFEIL2.png +0 -0
  720. data/lib/cyberweb/images/standard_images/PFEIL3.png +0 -0
  721. data/lib/cyberweb/images/standard_images/PFEIL4.png +0 -0
  722. data/lib/cyberweb/images/standard_images/PFEIL5.png +0 -0
  723. data/lib/cyberweb/images/standard_images/PFEIL6.png +0 -0
  724. data/lib/cyberweb/images/standard_images/PFEIL6_red.png +0 -0
  725. data/lib/cyberweb/images/standard_images/PFEIL7.png +0 -0
  726. data/lib/cyberweb/images/standard_images/PFEIL8_OUT.png +0 -0
  727. data/lib/cyberweb/images/standard_images/PFEIL9.png +0 -0
  728. data/lib/cyberweb/images/standard_images/PFEIL_LINKS_OBEN.png +0 -0
  729. data/lib/cyberweb/images/standard_images/PFEIL_VERTICAL.png +0 -0
  730. data/lib/cyberweb/images/standard_images/PHONE.png +0 -0
  731. data/lib/cyberweb/images/standard_images/PHP_FORUM.jpg +0 -0
  732. data/lib/cyberweb/images/standard_images/PIN.png +0 -0
  733. data/lib/cyberweb/images/standard_images/PIN_POINTER_RED.png +0 -0
  734. data/lib/cyberweb/images/standard_images/PIPETTE.png +0 -0
  735. data/lib/cyberweb/images/standard_images/PLUS.png +0 -0
  736. data/lib/cyberweb/images/standard_images/POSAUNE.png +0 -0
  737. data/lib/cyberweb/images/standard_images/PRESENT.png +0 -0
  738. data/lib/cyberweb/images/standard_images/PRINT.png +0 -0
  739. data/lib/cyberweb/images/standard_images/PRINTER.png +0 -0
  740. data/lib/cyberweb/images/standard_images/PROTOKOLL.png +0 -0
  741. data/lib/cyberweb/images/standard_images/QUADRAT01.png +0 -0
  742. data/lib/cyberweb/images/standard_images/QUOTE.png +0 -0
  743. data/lib/cyberweb/images/standard_images/RADIO_ACTIVE.png +0 -0
  744. data/lib/cyberweb/images/standard_images/RAINBOW_CIRCLE.png +0 -0
  745. data/lib/cyberweb/images/standard_images/RED_PILL.png +0 -0
  746. data/lib/cyberweb/images/standard_images/RIP.png +0 -0
  747. data/lib/cyberweb/images/standard_images/ROBERT.png +0 -0
  748. data/lib/cyberweb/images/standard_images/ROCKET.png +0 -0
  749. data/lib/cyberweb/images/standard_images/ROSE.png +0 -0
  750. data/lib/cyberweb/images/standard_images/ROSE2.png +0 -0
  751. data/lib/cyberweb/images/standard_images/RUNNING.png +0 -0
  752. data/lib/cyberweb/images/standard_images/SAVE.png +0 -0
  753. data/lib/cyberweb/images/standard_images/SCANNER.png +0 -0
  754. data/lib/cyberweb/images/standard_images/SCHERE.png +0 -0
  755. data/lib/cyberweb/images/standard_images/SCHNEEMANN.png +0 -0
  756. data/lib/cyberweb/images/standard_images/SCISSORS.png +0 -0
  757. data/lib/cyberweb/images/standard_images/SHOPPING.png +0 -0
  758. data/lib/cyberweb/images/standard_images/SKULL.png +0 -0
  759. data/lib/cyberweb/images/standard_images/SMALL_CAT.png +0 -0
  760. data/lib/cyberweb/images/standard_images/SMALL_DOCUMENT.png +0 -0
  761. data/lib/cyberweb/images/standard_images/SMALL_HOUSE.png +0 -0
  762. data/lib/cyberweb/images/standard_images/SMALL_PLANE.png +0 -0
  763. data/lib/cyberweb/images/standard_images/SMILEY1.png +0 -0
  764. data/lib/cyberweb/images/standard_images/SMILEY2.png +0 -0
  765. data/lib/cyberweb/images/standard_images/SMILEY3.png +0 -0
  766. data/lib/cyberweb/images/standard_images/SMILEY4.png +0 -0
  767. data/lib/cyberweb/images/standard_images/SMILEY5.png +0 -0
  768. data/lib/cyberweb/images/standard_images/SNAIL.png +0 -0
  769. data/lib/cyberweb/images/standard_images/SNOWFLAKE.png +0 -0
  770. data/lib/cyberweb/images/standard_images/SPACER.png +0 -0
  771. data/lib/cyberweb/images/standard_images/SPECIAL_PFEIL.png +0 -0
  772. data/lib/cyberweb/images/standard_images/SPIDERMAN_HEAD.png +0 -0
  773. data/lib/cyberweb/images/standard_images/SPIRAL_CROSS.png +0 -0
  774. data/lib/cyberweb/images/standard_images/SPOON.png +0 -0
  775. data/lib/cyberweb/images/standard_images/SQUARE_BLACK.png +0 -0
  776. data/lib/cyberweb/images/standard_images/SQUARE_BLUE.png +0 -0
  777. data/lib/cyberweb/images/standard_images/SQUARE_CADETBLUE.png +0 -0
  778. data/lib/cyberweb/images/standard_images/SQUARE_CHAOS.png +0 -0
  779. data/lib/cyberweb/images/standard_images/SQUARE_DARKGOLDENROD.png +0 -0
  780. data/lib/cyberweb/images/standard_images/SQUARE_GREEN.png +0 -0
  781. data/lib/cyberweb/images/standard_images/SQUARE_GREY.png +0 -0
  782. data/lib/cyberweb/images/standard_images/SQUARE_RED.png +0 -0
  783. data/lib/cyberweb/images/standard_images/SQUARE_VIOLET.png +0 -0
  784. data/lib/cyberweb/images/standard_images/SQUARE_WHITE.png +0 -0
  785. data/lib/cyberweb/images/standard_images/SQUARE_YEL.png +0 -0
  786. data/lib/cyberweb/images/standard_images/STANDARDS_FAVICON.png +0 -0
  787. data/lib/cyberweb/images/standard_images/STAR.png +0 -0
  788. data/lib/cyberweb/images/standard_images/STAR_FANCY.png +0 -0
  789. data/lib/cyberweb/images/standard_images/STATUS_IN_PROGRESS.png +0 -0
  790. data/lib/cyberweb/images/standard_images/STD_COLOURS.png +0 -0
  791. data/lib/cyberweb/images/standard_images/SUN.png +0 -0
  792. data/lib/cyberweb/images/standard_images/SYMBOL_FRAU.png +0 -0
  793. data/lib/cyberweb/images/standard_images/SYMBOL_MANN.png +0 -0
  794. data/lib/cyberweb/images/standard_images/SYNC.png +0 -0
  795. data/lib/cyberweb/images/standard_images/TASCHENLAMPE.jpg +0 -0
  796. data/lib/cyberweb/images/standard_images/TASTATUR.png +0 -0
  797. data/lib/cyberweb/images/standard_images/TECHNICOLOR_TWIRL.png +0 -0
  798. data/lib/cyberweb/images/standard_images/TELEFON.png +0 -0
  799. data/lib/cyberweb/images/standard_images/TEST.bmp +0 -0
  800. data/lib/cyberweb/images/standard_images/TEUFELCHEN.png +0 -0
  801. data/lib/cyberweb/images/standard_images/THERMOMETER.png +0 -0
  802. data/lib/cyberweb/images/standard_images/THINKING_HUMAN.png +0 -0
  803. data/lib/cyberweb/images/standard_images/TODO.jpg +0 -0
  804. data/lib/cyberweb/images/standard_images/TODO.png +0 -0
  805. data/lib/cyberweb/images/standard_images/TOOLS.png +0 -0
  806. data/lib/cyberweb/images/standard_images/TRANSPORT.png +0 -0
  807. data/lib/cyberweb/images/standard_images/TRIANGLE.png +0 -0
  808. data/lib/cyberweb/images/standard_images/TURM.png +0 -0
  809. data/lib/cyberweb/images/standard_images/UHR.png +0 -0
  810. data/lib/cyberweb/images/standard_images/UPLOAD2.png +0 -0
  811. data/lib/cyberweb/images/standard_images/USB_CONNECTION_DEVICE.png +0 -0
  812. data/lib/cyberweb/images/standard_images/VALID_CSS.jpg +0 -0
  813. data/lib/cyberweb/images/standard_images/VALID_HTML.jpg +0 -0
  814. data/lib/cyberweb/images/standard_images/VIDEOCAMERA.png +0 -0
  815. data/lib/cyberweb/images/standard_images/VOGEL.png +0 -0
  816. data/lib/cyberweb/images/standard_images/VS_TCPA.gif +0 -0
  817. data/lib/cyberweb/images/standard_images/WARNSCHILD.png +0 -0
  818. data/lib/cyberweb/images/standard_images/WEBSERVER.png +0 -0
  819. data/lib/cyberweb/images/standard_images/WECKER.jpg +0 -0
  820. data/lib/cyberweb/images/standard_images/WINGS.png +0 -0
  821. data/lib/cyberweb/images/standard_images/WORD.png +0 -0
  822. data/lib/cyberweb/images/standard_images/WURZEL_ZEICHEN.png +0 -0
  823. data/lib/cyberweb/images/standard_images/YIN_YANG.png +0 -0
  824. data/lib/cyberweb/images/standard_images/Yin__Yang.gif +0 -0
  825. data/lib/cyberweb/images/standard_images/ZAHNRAD.png +0 -0
  826. data/lib/cyberweb/images/standard_images/ZAUBERHUT.png +0 -0
  827. data/lib/cyberweb/images/standard_images/ZITRONE.png +0 -0
  828. data/lib/cyberweb/images/standard_images/ZURUECK.jpg +0 -0
  829. data/lib/cyberweb/images/standard_images/blue_gallery.png +0 -0
  830. data/lib/cyberweb/images/standard_images/checked_checkbox.png +0 -0
  831. data/lib/cyberweb/images/standard_images/chk_off.png +0 -0
  832. data/lib/cyberweb/images/standard_images/chk_on.png +0 -0
  833. data/lib/cyberweb/images/standard_images/outdated.png +0 -0
  834. data/lib/cyberweb/images/standard_images/rdo_off.png +0 -0
  835. data/lib/cyberweb/images/standard_images/rdo_on.png +0 -0
  836. data/lib/cyberweb/images/standard_images/round_checked_checkbox.png +0 -0
  837. data/lib/cyberweb/images/standard_images/simple_camera.png +0 -0
  838. data/lib/cyberweb/images/standard_images/sneaky_ninja_face.png +0 -0
  839. data/lib/cyberweb/images/standard_images/standard_images.html +31644 -0
  840. data/lib/cyberweb/images/standard_images/text_editor.png +0 -0
  841. data/lib/cyberweb/images/standard_images/windows_key.png +0 -0
  842. data/lib/cyberweb/images/standard_images/zoom.png +0 -0
  843. data/lib/cyberweb/images/string_image.rb +402 -0
  844. data/lib/cyberweb/images_base64_encoded/404_ERROR.png.md +1 -0
  845. data/lib/cyberweb/images_base64_encoded/AUSRUFUNGSZEICHEN.png.md +1 -0
  846. data/lib/cyberweb/images_base64_encoded/BLUEARROW.png.md +1 -0
  847. data/lib/cyberweb/images_base64_encoded/BUBBLE.png.md +1 -0
  848. data/lib/cyberweb/images_base64_encoded/CAT.png.md +1 -0
  849. data/lib/cyberweb/images_base64_encoded/CAUTION.png.md +1 -0
  850. data/lib/cyberweb/images_base64_encoded/CHEERING_PERSON.png.md +1 -0
  851. data/lib/cyberweb/images_base64_encoded/CURSOR.png.md +1 -0
  852. data/lib/cyberweb/images_base64_encoded/DOT_01.png.md +5 -0
  853. data/lib/cyberweb/images_base64_encoded/DUCKY.png.md +1 -0
  854. data/lib/cyberweb/images_base64_encoded/ELEPHANT.png.md +1 -0
  855. data/lib/cyberweb/images_base64_encoded/HALLOWEEN.png.md +1 -0
  856. data/lib/cyberweb/images_base64_encoded/HANGING_MONKEY.png.md +1 -0
  857. data/lib/cyberweb/images_base64_encoded/LENS.png.md +1 -0
  858. data/lib/cyberweb/images_base64_encoded/README.md +2 -0
  859. data/lib/cyberweb/images_base64_encoded/SIX_SIDED_DICE.png.md +1 -0
  860. data/lib/cyberweb/images_base64_encoded/TU_WIEN_LOGO.png.md +1 -0
  861. data/lib/cyberweb/images_base64_encoded/VOGEL.png.md +1 -0
  862. data/lib/cyberweb/information/README.md +2 -0
  863. data/lib/cyberweb/information/information.cgi +23 -0
  864. data/lib/cyberweb/javascript/drag_and_drop.rb +108 -0
  865. data/lib/cyberweb/javascript/dragula_collection.rb +54 -0
  866. data/lib/cyberweb/javascript/javascript.rb +259 -0
  867. data/lib/cyberweb/javascript/javascript_bundle.rb +223 -0
  868. data/lib/cyberweb/javascript/javascript_clock.rb +162 -0
  869. data/lib/cyberweb/javascript/javascript_helper/javascript_helper.rb +59 -0
  870. data/lib/cyberweb/javascript/javascript_last_modified.rb +27 -0
  871. data/lib/cyberweb/javascript/javascript_magic.rb +150 -0
  872. data/lib/cyberweb/javascript/javascript_selectable.rb +24 -0
  873. data/lib/cyberweb/javascript/jquery.rb +34 -0
  874. data/lib/cyberweb/javascript/on_click_change_opacity.rb +103 -0
  875. data/lib/cyberweb/javascript/on_click_hide.rb +65 -0
  876. data/lib/cyberweb/javascript/popup.rb +83 -0
  877. data/lib/cyberweb/javascript/print_javascript.rb +33 -0
  878. data/lib/cyberweb/javascript/registered_javascript_methods.rb +30 -0
  879. data/lib/cyberweb/javascript/resize.rb +31 -0
  880. data/lib/cyberweb/javascript/return_javascript.rb +48 -0
  881. data/lib/cyberweb/javascript/snoweffect.rb +122 -0
  882. data/lib/cyberweb/javascript_code/README.md +6 -0
  883. data/lib/cyberweb/javascript_code/a_simple_clock.js +57 -0
  884. data/lib/cyberweb/javascript_code/chmod_displayer.js +74 -0
  885. data/lib/cyberweb/javascript_code/copy_to_the_clipboard.js +12 -0
  886. data/lib/cyberweb/javascript_code/custom_functions.js +698 -0
  887. data/lib/cyberweb/javascript_code/disable_right_click.js +5 -0
  888. data/lib/cyberweb/javascript_code/games/snake.js +113 -0
  889. data/lib/cyberweb/javascript_code/games/tetris.js +491 -0
  890. data/lib/cyberweb/javascript_code/games/tic-tac-toe.js +125 -0
  891. data/lib/cyberweb/javascript_code/html_colours.js +149 -0
  892. data/lib/cyberweb/javascript_code/jquery/jquery-3.7.0.js +10704 -0
  893. data/lib/cyberweb/javascript_code/jquery/jquery-ui-1.12.1.js +18706 -0
  894. data/lib/cyberweb/javascript_code/math.js +18 -0
  895. data/lib/cyberweb/javascript_code/rgb_to_hex.js +14 -0
  896. data/lib/cyberweb/javascript_code/select_even_numbers.js +7 -0
  897. data/lib/cyberweb/javascript_code/select_everything.js +22 -0
  898. data/lib/cyberweb/javascript_code/select_everything_on_mouse_click_event.js +23 -0
  899. data/lib/cyberweb/javascript_code/simple_calculator.js +15 -0
  900. data/lib/cyberweb/javascript_code/simulate_a_dice.js +28 -0
  901. data/lib/cyberweb/javascript_code/sleep.js +6 -0
  902. data/lib/cyberweb/javascript_code/to_celsius.js +8 -0
  903. data/lib/cyberweb/jquery_module/jquery_module.rb +57 -0
  904. data/lib/cyberweb/modules/css_style.rb +29 -0
  905. data/lib/cyberweb/modules/favicon.rb +326 -0
  906. data/lib/cyberweb/mouse/README.md +3 -0
  907. data/lib/cyberweb/mouse/libxdo.rb +321 -0
  908. data/lib/cyberweb/mouse/mouse.rb +267 -0
  909. data/lib/cyberweb/objectified/html_tags/README.md +14 -0
  910. data/lib/cyberweb/objectified/html_tags/a.rb +75 -0
  911. data/lib/cyberweb/objectified/html_tags/abbr.rb +84 -0
  912. data/lib/cyberweb/objectified/html_tags/audio.rb +77 -0
  913. data/lib/cyberweb/objectified/html_tags/base.rb +1211 -0
  914. data/lib/cyberweb/objectified/html_tags/blockquote.rb +92 -0
  915. data/lib/cyberweb/objectified/html_tags/body.rb +129 -0
  916. data/lib/cyberweb/objectified/html_tags/button.rb +112 -0
  917. data/lib/cyberweb/objectified/html_tags/canvas.rb +159 -0
  918. data/lib/cyberweb/objectified/html_tags/cite.rb +76 -0
  919. data/lib/cyberweb/objectified/html_tags/div.rb +206 -0
  920. data/lib/cyberweb/objectified/html_tags/embed.rb +111 -0
  921. data/lib/cyberweb/objectified/html_tags/fieldset.rb +95 -0
  922. data/lib/cyberweb/objectified/html_tags/figure.rb +117 -0
  923. data/lib/cyberweb/objectified/html_tags/form.rb +116 -0
  924. data/lib/cyberweb/objectified/html_tags/h1.rb +128 -0
  925. data/lib/cyberweb/objectified/html_tags/h2.rb +75 -0
  926. data/lib/cyberweb/objectified/html_tags/h3.rb +71 -0
  927. data/lib/cyberweb/objectified/html_tags/h4.rb +75 -0
  928. data/lib/cyberweb/objectified/html_tags/h5.rb +75 -0
  929. data/lib/cyberweb/objectified/html_tags/h6.rb +74 -0
  930. data/lib/cyberweb/objectified/html_tags/head.rb +137 -0
  931. data/lib/cyberweb/objectified/html_tags/img.rb +182 -0
  932. data/lib/cyberweb/objectified/html_tags/input.rb +168 -0
  933. data/lib/cyberweb/objectified/html_tags/map.rb +86 -0
  934. data/lib/cyberweb/objectified/html_tags/meta.rb +85 -0
  935. data/lib/cyberweb/objectified/html_tags/object.rb +102 -0
  936. data/lib/cyberweb/objectified/html_tags/p.rb +73 -0
  937. data/lib/cyberweb/objectified/html_tags/pre.rb +80 -0
  938. data/lib/cyberweb/objectified/html_tags/progress.rb +152 -0
  939. data/lib/cyberweb/objectified/html_tags/select.rb +129 -0
  940. data/lib/cyberweb/objectified/html_tags/span.rb +95 -0
  941. data/lib/cyberweb/objectified/html_tags/style.rb +91 -0
  942. data/lib/cyberweb/objectified/html_tags/table.rb +229 -0
  943. data/lib/cyberweb/objectified/html_tags/textarea.rb +123 -0
  944. data/lib/cyberweb/objectified/html_tags/title.rb +61 -0
  945. data/lib/cyberweb/objectified/html_tags/ul.rb +86 -0
  946. data/lib/cyberweb/objectified/shorter_helper_methods/shorter_helper_methods.rb +620 -0
  947. data/lib/cyberweb/objectified/web_object/README.md +4 -0
  948. data/lib/cyberweb/objectified/web_object/web_object.rb +120 -0
  949. data/lib/cyberweb/predefined_and_freeform_methods/README.md +1 -0
  950. data/lib/cyberweb/predefined_and_freeform_methods/frage.rb +47 -0
  951. data/lib/cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb +35 -0
  952. data/lib/cyberweb/predefined_and_freeform_methods/header.rb +83 -0
  953. data/lib/cyberweb/predefined_and_freeform_methods/predefined_methods.rb +136 -0
  954. data/lib/cyberweb/project/project.rb +82 -0
  955. data/lib/cyberweb/rack/README.md +1 -0
  956. data/lib/cyberweb/rack/request.rb +31 -0
  957. data/lib/cyberweb/raw_images/404.png +0 -0
  958. data/lib/cyberweb/raw_images/500.png +0 -0
  959. data/lib/cyberweb/raw_images/README.md +2 -0
  960. data/lib/cyberweb/raw_images/a_dice.png +0 -0
  961. data/lib/cyberweb/raw_images/food.png +0 -0
  962. data/lib/cyberweb/raw_images/ground.png +0 -0
  963. data/lib/cyberweb/requires/README.md +4 -0
  964. data/lib/cyberweb/requires/do_require_web_object_files.rb +9 -0
  965. data/lib/cyberweb/requires/remove_html.rb +9 -0
  966. data/lib/cyberweb/requires/require_cgi.rb +16 -0
  967. data/lib/cyberweb/requires/require_generators.rb +23 -0
  968. data/lib/cyberweb/requires/require_html_tags_files.rb +23 -0
  969. data/lib/cyberweb/requires/require_javascript_files.rb +23 -0
  970. data/lib/cyberweb/requires/require_kimurai.rb +13 -0
  971. data/lib/cyberweb/requires/require_objectified_html_tags_files.rb +41 -0
  972. data/lib/cyberweb/requires/require_sinatra.rb +7 -0
  973. data/lib/cyberweb/requires/require_the_constants.rb +28 -0
  974. data/lib/cyberweb/requires/require_the_cyberweb_project.rb +174 -0
  975. data/lib/cyberweb/requires/require_the_html_template.rb +7 -0
  976. data/lib/cyberweb/requires/require_the_toplevel_methods_files.rb +29 -0
  977. data/lib/cyberweb/requires/require_web_images.rb +7 -0
  978. data/lib/cyberweb/requires/require_web_object_files.rb +25 -0
  979. data/lib/cyberweb/requires/require_yaml.rb +11 -0
  980. data/lib/cyberweb/rest +1 -0
  981. data/lib/cyberweb/route_handler/class_based_test.rb +43 -0
  982. data/lib/cyberweb/route_handler/module/misc.rb +108 -0
  983. data/lib/cyberweb/route_handler/module/route_handler_module.rb +215 -0
  984. data/lib/cyberweb/route_handler/module/verbs.rb +53 -0
  985. data/lib/cyberweb/route_handler/route_handler.rb +56 -0
  986. data/lib/cyberweb/route_handler/test.rb +43 -0
  987. data/lib/cyberweb/sinatra/README.md +11 -0
  988. data/lib/cyberweb/sinatra/base/set_use_this_port.rb +30 -0
  989. data/lib/cyberweb/sinatra/base/use_this_port.rb +40 -0
  990. data/lib/cyberweb/sinatra/base.rb +160 -0
  991. data/lib/cyberweb/sinatra/custom_extensions.rb +160 -0
  992. data/lib/cyberweb/skeleton/README.md +2 -0
  993. data/lib/cyberweb/skeleton/html_keyboard.md +140 -0
  994. data/lib/cyberweb/standalone_classes/all_css_classes.rb +255 -0
  995. data/lib/cyberweb/standalone_classes/calculator.rb +133 -0
  996. data/lib/cyberweb/standalone_classes/correct_image_entries_in_html_file.rb +204 -0
  997. data/lib/cyberweb/standalone_classes/input_focus.rb +97 -0
  998. data/lib/cyberweb/standalone_classes/tag_prototype.rb +43 -0
  999. data/lib/cyberweb/standalone_classes/turn_html_into_cyberweb.rb +176 -0
  1000. data/lib/cyberweb/svg/blue_rect.svg +12 -0
  1001. data/lib/cyberweb/svg/butterfly.svg +15 -0
  1002. data/lib/cyberweb/svg/chemical_molecule.svg +192 -0
  1003. data/lib/cyberweb/svg/circles_on_background.svg +29 -0
  1004. data/lib/cyberweb/svg/ellipse.svg +12 -0
  1005. data/lib/cyberweb/svg/five_circles.svg +26 -0
  1006. data/lib/cyberweb/svg/flag_germany.svg +10 -0
  1007. data/lib/cyberweb/svg/gaussian_blur.svg +20 -0
  1008. data/lib/cyberweb/svg/gradient_circle.svg +18 -0
  1009. data/lib/cyberweb/svg/green_butterfly.svg +18 -0
  1010. data/lib/cyberweb/svg/green_tilted_lines.svg +25 -0
  1011. data/lib/cyberweb/svg/lion.svg +161 -0
  1012. data/lib/cyberweb/svg/one_circle.svg +12 -0
  1013. data/lib/cyberweb/svg/pie_chart.svg +130 -0
  1014. data/lib/cyberweb/svg/standalone/README.md +2 -0
  1015. data/lib/cyberweb/svg/standalone/amusement_park.svg +738 -0
  1016. data/lib/cyberweb/svg/svg.cgi +60 -0
  1017. data/lib/cyberweb/svg/tetris.svg +487 -0
  1018. data/lib/cyberweb/svg/three_circles.svg +18 -0
  1019. data/lib/cyberweb/svg/tiger.svg +732 -0
  1020. data/lib/cyberweb/svg/tilted_arcs.svg +74 -0
  1021. data/lib/cyberweb/svg/transparent_rect.svg +12 -0
  1022. data/lib/cyberweb/svg/yellow_fe_blending.svg +42 -0
  1023. data/lib/cyberweb/toplevel_methods/audio.rb +59 -0
  1024. data/lib/cyberweb/toplevel_methods/cgi.rb +65 -0
  1025. data/lib/cyberweb/toplevel_methods/close.rb +62 -0
  1026. data/lib/cyberweb/toplevel_methods/consider_serving_the_web_object.rb +41 -0
  1027. data/lib/cyberweb/toplevel_methods/css.rb +2194 -0
  1028. data/lib/cyberweb/toplevel_methods/csv.rb +61 -0
  1029. data/lib/cyberweb/toplevel_methods/custom_error_page.rb +30 -0
  1030. data/lib/cyberweb/toplevel_methods/date_and_time.rb +58 -0
  1031. data/lib/cyberweb/toplevel_methods/doctype.rb +94 -0
  1032. data/lib/cyberweb/toplevel_methods/ee.rb +44 -0
  1033. data/lib/cyberweb/toplevel_methods/env.rb +44 -0
  1034. data/lib/cyberweb/toplevel_methods/escape_html.rb +54 -0
  1035. data/lib/cyberweb/toplevel_methods/fields.rb +48 -0
  1036. data/lib/cyberweb/toplevel_methods/filename.rb +35 -0
  1037. data/lib/cyberweb/toplevel_methods/frames.rb +129 -0
  1038. data/lib/cyberweb/toplevel_methods/greek_letters/greek_letters.rb +225 -0
  1039. data/lib/cyberweb/toplevel_methods/help.rb +30 -0
  1040. data/lib/cyberweb/toplevel_methods/hfin.rb +80 -0
  1041. data/lib/cyberweb/toplevel_methods/html_tags/README.md +7 -0
  1042. data/lib/cyberweb/toplevel_methods/html_tags/html_tags.rb +4530 -0
  1043. data/lib/cyberweb/toplevel_methods/internal_hash.rb +46 -0
  1044. data/lib/cyberweb/toplevel_methods/is_an_image.rb +30 -0
  1045. data/lib/cyberweb/toplevel_methods/javascript.rb +43 -0
  1046. data/lib/cyberweb/toplevel_methods/jquery.rb +100 -0
  1047. data/lib/cyberweb/toplevel_methods/log_directory.rb +89 -0
  1048. data/lib/cyberweb/toplevel_methods/logging.rb +42 -0
  1049. data/lib/cyberweb/toplevel_methods/markdown.rb +119 -0
  1050. data/lib/cyberweb/toplevel_methods/mathml.rb +132 -0
  1051. data/lib/cyberweb/toplevel_methods/misc.rb +1962 -0
  1052. data/lib/cyberweb/toplevel_methods/name_of_img_dir.rb +63 -0
  1053. data/lib/cyberweb/toplevel_methods/params.rb +64 -0
  1054. data/lib/cyberweb/toplevel_methods/path.rb +103 -0
  1055. data/lib/cyberweb/toplevel_methods/pdf.rb +102 -0
  1056. data/lib/cyberweb/toplevel_methods/process_content.rb +114 -0
  1057. data/lib/cyberweb/toplevel_methods/rack.rb +53 -0
  1058. data/lib/cyberweb/toplevel_methods/random.rb +79 -0
  1059. data/lib/cyberweb/toplevel_methods/rds.rb +44 -0
  1060. data/lib/cyberweb/toplevel_methods/registered_ids.rb +205 -0
  1061. data/lib/cyberweb/toplevel_methods/return_head_start.rb +34 -0
  1062. data/lib/cyberweb/toplevel_methods/return_html_header.rb +44 -0
  1063. data/lib/cyberweb/toplevel_methods/return_html_start.rb +32 -0
  1064. data/lib/cyberweb/toplevel_methods/return_html_to_head_start.rb +43 -0
  1065. data/lib/cyberweb/toplevel_methods/return_pwd.rb +30 -0
  1066. data/lib/cyberweb/toplevel_methods/roebe.rb +48 -0
  1067. data/lib/cyberweb/toplevel_methods/sanitize_url.rb +62 -0
  1068. data/lib/cyberweb/toplevel_methods/server_base_directory.rb +156 -0
  1069. data/lib/cyberweb/toplevel_methods/sitemap.rb +112 -0
  1070. data/lib/cyberweb/toplevel_methods/sort_this_array_by_time.rb +67 -0
  1071. data/lib/cyberweb/toplevel_methods/svg.rb +211 -0
  1072. data/lib/cyberweb/toplevel_methods/temp_directory.rb +80 -0
  1073. data/lib/cyberweb/toplevel_methods/textile.rb +45 -0
  1074. data/lib/cyberweb/toplevel_methods/umlaute.rb +90 -0
  1075. data/lib/cyberweb/toplevel_methods/video.rb +433 -0
  1076. data/lib/cyberweb/toplevel_methods/write_what_into.rb +31 -0
  1077. data/lib/cyberweb/utility_scripts/README.md +3 -0
  1078. data/lib/cyberweb/utility_scripts/autogenerate_drop_shadow_rules/autogenerate_drop_shadow_rules.rb +71 -0
  1079. data/lib/cyberweb/utility_scripts/booklet/README.md +3 -0
  1080. data/lib/cyberweb/utility_scripts/booklet/booklet.rb +134 -0
  1081. data/lib/cyberweb/utility_scripts/copy_all_images_from_this_webpage_to_the_current_working_directory.rb +135 -0
  1082. data/lib/cyberweb/utility_scripts/create_coloured_tags/create_coloured_tags.rb +161 -0
  1083. data/lib/cyberweb/utility_scripts/create_standalone_html_page.rb +215 -0
  1084. data/lib/cyberweb/utility_scripts/download_all_images_from_this_website.rb +139 -0
  1085. data/lib/cyberweb/utility_scripts/download_balloon_css.rb +156 -0
  1086. data/lib/cyberweb/utility_scripts/fix_incorrect_links_to_locally_existing_images_in_this_file.rb +111 -0
  1087. data/lib/cyberweb/utility_scripts/html_to_cyberweb_converter.rb +235 -0
  1088. data/lib/cyberweb/utility_scripts/html_to_html/html_to_html.rb +98 -0
  1089. data/lib/cyberweb/utility_scripts/hyperlink_all_images_from.rb +137 -0
  1090. data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +643 -0
  1091. data/lib/cyberweb/utility_scripts/new_tags.rb +105 -0
  1092. data/lib/cyberweb/utility_scripts/obtain_css_rules/obtain_css_rules.rb +169 -0
  1093. data/lib/cyberweb/utility_scripts/obtain_files_and_directories_from_this_path/obtain_files_and_directories_from_this_path.rb +1322 -0
  1094. data/lib/cyberweb/utility_scripts/pdf_to_html/pdf_to_html.rb +201 -0
  1095. data/lib/cyberweb/utility_scripts/remove_this_image_from_that_webpage.rb +124 -0
  1096. data/lib/cyberweb/utility_scripts/simple_index/README.md +8 -0
  1097. data/lib/cyberweb/utility_scripts/simple_index/simple_index.rb +141 -0
  1098. data/lib/cyberweb/utility_scripts/try_to_map_this_input_to_that_local_image.rb +96 -0
  1099. data/lib/cyberweb/utility_scripts/video_to_html/video_to_html.rb +196 -0
  1100. data/lib/cyberweb/version/version.rb +25 -0
  1101. data/lib/cyberweb/vue/README.md +2 -0
  1102. data/lib/cyberweb/vue/vue.rb +83 -0
  1103. data/lib/cyberweb/web_base/web_base.rb +33 -0
  1104. data/lib/cyberweb/web_images/array_listing_all_project_images.rb +59 -0
  1105. data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +1820 -0
  1106. data/lib/cyberweb/web_images/web_images.rb +291 -0
  1107. data/lib/cyberweb/web_object/javascript_and_jquery.rb +37 -0
  1108. data/lib/cyberweb/web_object/toplevel_instantiation_of_the_web_object.rb +116 -0
  1109. data/lib/cyberweb/web_object/toplevel_web_object.rb +42 -0
  1110. data/lib/cyberweb/web_object/web_object.rb +9739 -0
  1111. data/lib/cyberweb/web_scraper/README.md +8 -0
  1112. data/lib/cyberweb/web_scraper/scrape_this_url.rb +181 -0
  1113. data/lib/cyberweb/webmin/biology_server.cgi +254 -0
  1114. data/lib/cyberweb/webmin/calculator.cgi +52 -0
  1115. data/lib/cyberweb/webmin/colour_chart.cgi +32 -0
  1116. data/lib/cyberweb/webmin/comments.cgi +138 -0
  1117. data/lib/cyberweb/webmin/comments_data +18 -0
  1118. data/lib/cyberweb/webmin/constants.rb +45 -0
  1119. data/lib/cyberweb/webmin/dictionary.cgi +38 -0
  1120. data/lib/cyberweb/webmin/simple_forum/index.cgi +31 -0
  1121. data/lib/cyberweb/webmin/simple_forum/simple_forum.rb +134 -0
  1122. data/lib/cyberweb/webmin/sys_info.cgi +25 -0
  1123. data/lib/cyberweb/webmin/webforum.cgi +57 -0
  1124. data/lib/cyberweb/webmin/webmin.cgi +678 -0
  1125. data/lib/cyberweb/webrick/clone/README.md +1 -0
  1126. data/lib/cyberweb/webrick/clone/webrick/accesslog.rb +144 -0
  1127. data/lib/cyberweb/webrick/clone/webrick/cgi.rb +313 -0
  1128. data/lib/cyberweb/webrick/clone/webrick/compat.rb +36 -0
  1129. data/lib/cyberweb/webrick/clone/webrick/config.rb +158 -0
  1130. data/lib/cyberweb/webrick/clone/webrick/cookie.rb +172 -0
  1131. data/lib/cyberweb/webrick/clone/webrick/htmlutils.rb +30 -0
  1132. data/lib/cyberweb/webrick/clone/webrick/httpauth/authenticator.rb +117 -0
  1133. data/lib/cyberweb/webrick/clone/webrick/httpauth/basicauth.rb +116 -0
  1134. data/lib/cyberweb/webrick/clone/webrick/httpauth/digestauth.rb +395 -0
  1135. data/lib/cyberweb/webrick/clone/webrick/httpauth/htdigest.rb +132 -0
  1136. data/lib/cyberweb/webrick/clone/webrick/httpauth/htgroup.rb +97 -0
  1137. data/lib/cyberweb/webrick/clone/webrick/httpauth/htpasswd.rb +158 -0
  1138. data/lib/cyberweb/webrick/clone/webrick/httpauth/userdb.rb +53 -0
  1139. data/lib/cyberweb/webrick/clone/webrick/httpauth.rb +96 -0
  1140. data/lib/cyberweb/webrick/clone/webrick/httpproxy.rb +354 -0
  1141. data/lib/cyberweb/webrick/clone/webrick/httprequest.rb +640 -0
  1142. data/lib/cyberweb/webrick/clone/webrick/httpresponse.rb +588 -0
  1143. data/lib/cyberweb/webrick/clone/webrick/https.rb +152 -0
  1144. data/lib/cyberweb/webrick/clone/webrick/httpserver.rb +294 -0
  1145. data/lib/cyberweb/webrick/clone/webrick/httpservlet/abstract.rb +152 -0
  1146. data/lib/cyberweb/webrick/clone/webrick/httpservlet/cgi_runner.rb +47 -0
  1147. data/lib/cyberweb/webrick/clone/webrick/httpservlet/cgihandler.rb +126 -0
  1148. data/lib/cyberweb/webrick/clone/webrick/httpservlet/erbhandler.rb +88 -0
  1149. data/lib/cyberweb/webrick/clone/webrick/httpservlet/filehandler.rb +552 -0
  1150. data/lib/cyberweb/webrick/clone/webrick/httpservlet/prochandler.rb +48 -0
  1151. data/lib/cyberweb/webrick/clone/webrick/httpservlet.rb +23 -0
  1152. data/lib/cyberweb/webrick/clone/webrick/httpstatus.rb +194 -0
  1153. data/lib/cyberweb/webrick/clone/webrick/httputils.rb +523 -0
  1154. data/lib/cyberweb/webrick/clone/webrick/httpversion.rb +65 -0
  1155. data/lib/cyberweb/webrick/clone/webrick/log.rb +150 -0
  1156. data/lib/cyberweb/webrick/clone/webrick/server.rb +381 -0
  1157. data/lib/cyberweb/webrick/clone/webrick/ssl.rb +221 -0
  1158. data/lib/cyberweb/webrick/clone/webrick/utils.rb +265 -0
  1159. data/lib/cyberweb/webrick/clone/webrick.rb +201 -0
  1160. data/lib/cyberweb/webrick/servlets/parameters_servlet.rb +28 -0
  1161. data/lib/cyberweb/webrick/webrick_wrapper.rb +120 -0
  1162. data/lib/cyberweb/yaml/autogenerated_system_settings.yml +14 -0
  1163. data/lib/cyberweb/yaml/custom_tags.yml +9 -0
  1164. data/lib/cyberweb/yaml/debug.yml +1 -0
  1165. data/lib/cyberweb/yaml/default_resolution.md +2 -0
  1166. data/lib/cyberweb/yaml/html5_global_attributes.yml +16 -0
  1167. data/lib/cyberweb/yaml/html5_new_elements.yml +108 -0
  1168. data/lib/cyberweb/yaml/html_tag_legend.yml +14 -0
  1169. data/lib/cyberweb/yaml/http_status_codes.yml +44 -0
  1170. data/lib/cyberweb/yaml/js_files_to_load.yml +44 -0
  1171. data/lib/cyberweb/yaml/load_these_CSS_files_by_default.yml +39 -0
  1172. data/lib/cyberweb/yaml/project_configuration/project_configuration.yml +269 -0
  1173. data/lib/cyberweb/yaml/registered_html_tags.yml +31 -0
  1174. data/lib/cyberweb/yaml/video_attributes.yml +37 -0
  1175. data/lib/cyberweb/yaml/web_images.yml +306 -0
  1176. data/lib/cyberweb.rb +5 -0
  1177. data/test/README.md +5 -0
  1178. data/test/REST/simple.rb +7 -0
  1179. data/test/complex_tests/all_tests_in_one_page/all_tests_in_one_page.cgi +672 -0
  1180. data/test/complex_tests/simple_sinatra_example_using_cyberweb/simple.rb +60 -0
  1181. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.cgi +7 -0
  1182. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.rb +23 -0
  1183. data/test/complex_tests/sinatra_or_cyberweb/sinatra_or_cyberweb.sinatra +64 -0
  1184. data/test/complex_tests/testing_frames/testing_frames.cgi +40 -0
  1185. data/test/complex_tests/testing_objectified_html_tags/simple_tests_for_objectified_html_tags.rb +51 -0
  1186. data/test/complex_tests/testing_objectified_html_tags/testing_a_standalone_webpage_described_via_objectied_html_tags_as_cgi_file.cgi +30 -0
  1187. data/test/complex_tests/testing_objectified_html_tags/testing_a_standalone_webpage_described_via_objectified_html_tags.rb +11 -0
  1188. data/test/complex_tests/testing_objectified_html_tags/testing_objectified_html_tags.html +28 -0
  1189. data/test/complex_tests/testing_objectified_html_tags/testing_objectified_html_tags.rb +176 -0
  1190. data/test/complex_tests/testing_style_variants/README.md +2 -0
  1191. data/test/complex_tests/testing_style_variants/show_coloured_boxes.cgi +62 -0
  1192. data/test/complex_tests/testing_tables/testing_tables.cgi +67 -0
  1193. data/test/complex_tests/testing_the_cyberweb_shell/testing_the_cyberweb_shell.rb +190 -0
  1194. data/test/css/README.md +6 -0
  1195. data/test/css/return_the_content_of_these_css_classes.rb +11 -0
  1196. data/test/css/test_hover_css/test_hover_css.cgi +59 -0
  1197. data/test/css/test_ordered_list/test_ordered_list.cgi +31 -0
  1198. data/test/css/testing_css_effects.cgi +158 -0
  1199. data/test/css/testing_css_masking.cgi +35 -0
  1200. data/test/dummy.pdf +0 -0
  1201. data/test/hello_world/hello_world.cgi +27 -0
  1202. data/test/html_template/html_template.rb +43 -0
  1203. data/test/javascript/README.md +2 -0
  1204. data/test/javascript/testing_custom_functions.js +24 -0
  1205. data/test/javascript/testing_different_javascript_functions_available_in_the_cyberweb_project.cgi +27 -0
  1206. data/test/javascript/testing_drag_and_drop_support.cgi +33 -0
  1207. data/test/javascript/testing_javascript_custom_functions.html +44 -0
  1208. data/test/javascript/testing_on_click_change_opacity.cgi +25 -0
  1209. data/test/javascript/testing_snowflakes.cgi +20 -0
  1210. data/test/javascript/testing_various_javascript_related_APIs.html +17 -0
  1211. data/test/simple_tests/README.md +3 -0
  1212. data/test/simple_tests/ad-hoc-test.cgi +58 -0
  1213. data/test/simple_tests/cgi/hello_world_with_cyberweb.cgi +14 -0
  1214. data/test/simple_tests/commandline_tests.rb +76 -0
  1215. data/test/simple_tests/display_this_file.cgi +11 -0
  1216. data/test/simple_tests/simple_html_example.cgi +30 -0
  1217. data/test/simple_tests/simple_html_test_page/simple_html_test_page.html +20 -0
  1218. data/test/simple_tests/simple_status_page.cgi +52 -0
  1219. data/test/simple_tests/string_s2_test.rb +16 -0
  1220. data/test/simple_tests/test_simple_string_as_input.rb +14 -0
  1221. data/test/simple_tests/testing_ad_hoc_aspects_of_the_cyberweb_project.rb +29 -0
  1222. data/test/simple_tests/testing_base64_images.cgi +25 -0
  1223. data/test/simple_tests/testing_checkboxes.cgi +22 -0
  1224. data/test/simple_tests/testing_dragging_an_image.cgi +24 -0
  1225. data/test/simple_tests/testing_editable_text.cgi +15 -0
  1226. data/test/simple_tests/testing_email.cgi +30 -0
  1227. data/test/simple_tests/testing_embedding_a_pdf_file.cgi +32 -0
  1228. data/test/simple_tests/testing_google_charts.cgi +24 -0
  1229. data/test/simple_tests/testing_html_forms.cgi +31 -0
  1230. data/test/simple_tests/testing_html_template.rb +15 -0
  1231. data/test/simple_tests/testing_p_default_versus_p_default_le.cgi +69 -0
  1232. data/test/simple_tests/testing_popup_div.cgi +21 -0
  1233. data/test/simple_tests/testing_return_dataset_without_any_comments.rb +13 -0
  1234. data/test/simple_tests/testing_the_cap_box.cgi +19 -0
  1235. data/test/simple_tests/testing_the_div_tag.cgi +20 -0
  1236. data/test/simple_tests/testing_the_headers_tag.cgi +35 -0
  1237. data/test/simple_tests/testing_the_html_colours.cgi +18 -0
  1238. data/test/simple_tests/testing_the_info_box.cgi +18 -0
  1239. data/test/simple_tests/testing_the_javascript_component.cgi +32 -0
  1240. data/test/simple_tests/testing_the_li_tag.cgi +25 -0
  1241. data/test/simple_tests/testing_the_s2_method.rb +12 -0
  1242. data/test/simple_tests/testing_the_select_tag.cgi +37 -0
  1243. data/test/simple_tests/testing_the_span_tag.cgi +35 -0
  1244. data/test/simple_tests/testing_uniform_css_rules_for_all_images.cgi +25 -0
  1245. data/test/simple_tests/testing_web_images.rb +14 -0
  1246. data/test/testing_base_module/testing_base_module.rb +13 -0
  1247. data/test/testing_html_tags/README.md +7 -0
  1248. data/test/testing_html_tags/button_example.cgi +41 -0
  1249. data/test/testing_support_for_universal_widgets/README.md +4 -0
  1250. data/test/testing_support_for_universal_widgets/testing_a_calculator.cgi +38 -0
  1251. data/test/testing_support_for_universal_widgets/testing_button.rb +13 -0
  1252. data/test/testing_support_for_universal_widgets/testing_button_and_entry.rb +18 -0
  1253. data/test/testing_the_web_object/simple_test.cgi +58 -0
  1254. data/test/testing_the_web_object/testing_base64_image.cgi +38 -0
  1255. data/test/testing_the_web_object/testing_the_web_object.rb +101 -0
  1256. data/test/testing_the_web_object/testing_the_web_object_in_a_simple_and_linear_verbose_manner.rb +126 -0
  1257. data/test/testing_toplevel_methods/README.md +2 -0
  1258. data/test/testing_toplevel_methods/testing_cyberweb_video.rb +9 -0
  1259. metadata +1422 -0
@@ -0,0 +1,4220 @@
1
+ /*!
2
+ * Hover.css
3
+ *
4
+ * Original URL at:
5
+ *
6
+ * https://ianlunn.github.io/Hover/
7
+ * https://github.com/IanLunn/Hover/blob/master/css/hover.css
8
+ *
9
+ * Version: 2.3.2
10
+ * Author: Ian Lunn @IanLunn
11
+ * Author URL: http://ianlunn.co.uk/
12
+ * Github: https://github.com/IanLunn/Hover
13
+ *
14
+ * Hover.css Copyright Ian Lunn 2017. Generated with Sass.
15
+ *
16
+ */
17
+
18
+ /*
19
+ *
20
+ * This file has been integrated into cyberweb on 04.11.2021.
21
+ *
22
+ */
23
+
24
+ /* 2D TRANSITIONS */
25
+ /* Grow */
26
+ .on_hover_grow {
27
+ display: inline-block;
28
+ vertical-align: middle;
29
+ -webkit-transform: perspective(1px) translateZ(0);
30
+ transform: perspective(1px) translateZ(0);
31
+
32
+ -webkit-transition-property: transform;
33
+ transition-property: transform;
34
+
35
+ -webkit-transition-duration: 0.3s;
36
+ transition-duration: 0.3s;
37
+
38
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
39
+ }
40
+
41
+ .on_hover_grow:hover,
42
+ .on_hover_grow:focus,
43
+ .on_hover_grow:active {
44
+ -webkit-transform: scale(1.05);
45
+ transform: scale(1.05);
46
+ }
47
+
48
+ /* Shrink */
49
+ .hvr-shrink {
50
+ display: inline-block;
51
+ vertical-align: middle;
52
+ -webkit-transform: perspective(1px) translateZ(0);
53
+ transform: perspective(1px) translateZ(0);
54
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
55
+ -webkit-transition-duration: 0.3s;
56
+ transition-duration: 0.3s;
57
+ -webkit-transition-property: transform;
58
+ transition-property: transform;
59
+ }
60
+ .hvr-shrink:hover,
61
+ .hvr-shrink:focus,
62
+ .hvr-shrink:active {
63
+ -webkit-transform: scale(0.9);
64
+ transform: scale(0.9);
65
+ }
66
+
67
+ /* Pulse */
68
+ @-webkit-keyframes on-hover-pulse {
69
+ 25% {
70
+ -webkit-transform: scale(1.1);
71
+ transform: scale(1.1);
72
+ }
73
+ 75% {
74
+ -webkit-transform: scale(0.9);
75
+ transform: scale(0.9);
76
+ }
77
+ }
78
+ @keyframes on-hover-pulse {
79
+ 25% {
80
+ -webkit-transform: scale(1.1);
81
+ transform: scale(1.1);
82
+ }
83
+ 75% {
84
+ -webkit-transform: scale(0.9);
85
+ transform: scale(0.9);
86
+ }
87
+ }
88
+
89
+ .on-hover-pulse {
90
+ display: inline-block;
91
+ vertical-align: middle;
92
+ -webkit-transform: perspective(1px) translateZ(0);
93
+ transform: perspective(1px) translateZ(0);
94
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
95
+ }
96
+ .on-hover-pulse:hover,
97
+ .on-hover-pulse:focus,
98
+ .on-hover-pulse:active {
99
+ -webkit-animation-name: on-hover-pulse;
100
+ animation-name: on-hover-pulse;
101
+ -webkit-animation-duration: 1s;
102
+ animation-duration: 1s;
103
+ -webkit-animation-timing-function: linear;
104
+ animation-timing-function: linear;
105
+ -webkit-animation-iteration-count: infinite;
106
+ animation-iteration-count: infinite;
107
+ }
108
+
109
+ /* Pulse Grow */
110
+ @-webkit-keyframes hover_pulse_grow {
111
+ to {
112
+ -webkit-transform: scale(1.1);
113
+ transform: scale(1.1);
114
+ }
115
+ }
116
+ @keyframes hover_pulse_grow {
117
+ to {
118
+ -webkit-transform: scale(1.1);
119
+ transform: scale(1.1);
120
+ }
121
+ }
122
+ .hover_pulse_grow {
123
+ display: inline-block;
124
+ vertical-align: middle;
125
+ -webkit-transform: perspective(1px) translateZ(0);
126
+ transform: perspective(1px) translateZ(0);
127
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
128
+ }
129
+ .hover_pulse_grow:hover,
130
+ .hover_pulse_grow:focus,
131
+ .hover_pulse_grow:active {
132
+ -webkit-animation-name: hover_pulse_grow;
133
+ animation-name: hover_pulse_grow;
134
+ -webkit-animation-duration: 0.3s;
135
+ animation-duration: 0.3s;
136
+ -webkit-animation-timing-function: linear;
137
+ animation-timing-function: linear;
138
+ -webkit-animation-direction: alternate;
139
+ animation-direction: alternate;
140
+
141
+ -webkit-animation-iteration-count: 4; /* or infinite; */
142
+ animation-iteration-count: 4; /* or infinite; */
143
+ }
144
+
145
+ /* Pulse Shrink */
146
+ @-webkit-keyframes hvr-pulse-shrink {
147
+ to {
148
+ -webkit-transform: scale(0.9);
149
+ transform: scale(0.9);
150
+ }
151
+ }
152
+ @keyframes hvr-pulse-shrink {
153
+ to {
154
+ -webkit-transform: scale(0.9);
155
+ transform: scale(0.9);
156
+ }
157
+ }
158
+ .hvr-pulse-shrink {
159
+ display: inline-block;
160
+ vertical-align: middle;
161
+ -webkit-transform: perspective(1px) translateZ(0);
162
+ transform: perspective(1px) translateZ(0);
163
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
164
+ }
165
+ .hvr-pulse-shrink:hover, .hvr-pulse-shrink:focus, .hvr-pulse-shrink:active {
166
+ -webkit-animation-name: hvr-pulse-shrink;
167
+ animation-name: hvr-pulse-shrink;
168
+ -webkit-animation-duration: 0.3s;
169
+ animation-duration: 0.3s;
170
+ -webkit-animation-timing-function: linear;
171
+ animation-timing-function: linear;
172
+ -webkit-animation-iteration-count: infinite;
173
+ animation-iteration-count: infinite;
174
+ -webkit-animation-direction: alternate;
175
+ animation-direction: alternate;
176
+ }
177
+
178
+ /* Push */
179
+ @-webkit-keyframes hvr-push {
180
+ 50% {
181
+ -webkit-transform: scale(0.8);
182
+ transform: scale(0.8);
183
+ }
184
+ 100% {
185
+ -webkit-transform: scale(1);
186
+ transform: scale(1);
187
+ }
188
+ }
189
+ @keyframes hvr-push {
190
+ 50% {
191
+ -webkit-transform: scale(0.8);
192
+ transform: scale(0.8);
193
+ }
194
+ 100% {
195
+ -webkit-transform: scale(1);
196
+ transform: scale(1);
197
+ }
198
+ }
199
+ .hvr-push {
200
+ display: inline-block;
201
+ vertical-align: middle;
202
+ -webkit-transform: perspective(1px) translateZ(0);
203
+ transform: perspective(1px) translateZ(0);
204
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
205
+ }
206
+ .hvr-push:hover, .hvr-push:focus, .hvr-push:active {
207
+ -webkit-animation-name: hvr-push;
208
+ animation-name: hvr-push;
209
+ -webkit-animation-duration: 0.3s;
210
+ animation-duration: 0.3s;
211
+ -webkit-animation-timing-function: linear;
212
+ animation-timing-function: linear;
213
+ -webkit-animation-iteration-count: 1;
214
+ animation-iteration-count: 1;
215
+ }
216
+
217
+ /* Pop */
218
+ @-webkit-keyframes hvr-pop {
219
+ 50% {
220
+ -webkit-transform: scale(1.2);
221
+ transform: scale(1.2);
222
+ }
223
+ }
224
+ @keyframes hvr-pop {
225
+ 50% {
226
+ -webkit-transform: scale(1.2);
227
+ transform: scale(1.2);
228
+ }
229
+ }
230
+ .hvr-pop {
231
+ display: inline-block;
232
+ vertical-align: middle;
233
+ -webkit-transform: perspective(1px) translateZ(0);
234
+ transform: perspective(1px) translateZ(0);
235
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
236
+ }
237
+ .hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
238
+ -webkit-animation-name: hvr-pop;
239
+ animation-name: hvr-pop;
240
+ -webkit-animation-duration: 0.3s;
241
+ animation-duration: 0.3s;
242
+ -webkit-animation-timing-function: linear;
243
+ animation-timing-function: linear;
244
+ -webkit-animation-iteration-count: 1;
245
+ animation-iteration-count: 1;
246
+ }
247
+
248
+ /* Bounce In */
249
+ .hvr-bounce-in {
250
+ display: inline-block;
251
+ vertical-align: middle;
252
+ -webkit-transform: perspective(1px) translateZ(0);
253
+ transform: perspective(1px) translateZ(0);
254
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
255
+ -webkit-transition-duration: 0.5s;
256
+ transition-duration: 0.5s;
257
+ }
258
+ .hvr-bounce-in:hover, .hvr-bounce-in:focus, .hvr-bounce-in:active {
259
+ -webkit-transform: scale(1.2);
260
+ transform: scale(1.2);
261
+ -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
262
+ transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
263
+ }
264
+
265
+ /* Bounce Out */
266
+ .hvr-bounce-out {
267
+ display: inline-block;
268
+ vertical-align: middle;
269
+ -webkit-transform: perspective(1px) translateZ(0);
270
+ transform: perspective(1px) translateZ(0);
271
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
272
+ -webkit-transition-duration: 0.5s;
273
+ transition-duration: 0.5s;
274
+ }
275
+ .hvr-bounce-out:hover,
276
+ .hvr-bounce-out:focus,
277
+ .hvr-bounce-out:active {
278
+ -webkit-transform: scale(0.8);
279
+ transform: scale(0.8);
280
+ -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
281
+ transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
282
+ }
283
+
284
+ /* Rotate (such as for icon-rotate) */
285
+ .on_hover_rotate {
286
+ display: inline-block;
287
+ vertical-align: middle;
288
+ -webkit-transform: perspective(1px) translateZ(0);
289
+ transform: perspective(1px) translateZ(0);
290
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
291
+ -webkit-transition-duration: 0.3s;
292
+ transition-duration: 0.3s;
293
+ -webkit-transition-property: transform;
294
+ transition-property: transform;
295
+ }
296
+ .on_hover_rotate:hover,
297
+ .on_hover_rotate:focus,
298
+ .on_hover_rotate:active {
299
+ -webkit-transform: rotate(-3deg);
300
+ transform: rotate(-3deg);
301
+ }
302
+
303
+ /* Grow Rotate */
304
+ .hvr-grow-rotate {
305
+ display: inline-block;
306
+ vertical-align: middle;
307
+ -webkit-transform: perspective(1px) translateZ(0);
308
+ transform: perspective(1px) translateZ(0);
309
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
310
+ -webkit-transition-duration: 0.3s;
311
+ transition-duration: 0.3s;
312
+ -webkit-transition-property: transform;
313
+ transition-property: transform;
314
+ }
315
+ .hvr-grow-rotate:hover, .hvr-grow-rotate:focus, .hvr-grow-rotate:active {
316
+ -webkit-transform: scale(1.1) rotate(4deg);
317
+ transform: scale(1.1) rotate(4deg);
318
+ }
319
+
320
+ /* Float */
321
+ .hvr-float {
322
+ display: inline-block;
323
+ vertical-align: middle;
324
+ -webkit-transform: perspective(1px) translateZ(0);
325
+ transform: perspective(1px) translateZ(0);
326
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
327
+ -webkit-transition-duration: 0.3s;
328
+ transition-duration: 0.3s;
329
+ -webkit-transition-property: transform;
330
+ transition-property: transform;
331
+ -webkit-transition-timing-function: ease-out;
332
+ transition-timing-function: ease-out;
333
+ }
334
+ .hvr-float:hover, .hvr-float:focus, .hvr-float:active {
335
+ -webkit-transform: translateY(-8px);
336
+ transform: translateY(-8px);
337
+ }
338
+
339
+ /* Sink */
340
+ .hvr-sink {
341
+ display: inline-block;
342
+ vertical-align: middle;
343
+ -webkit-transform: perspective(1px) translateZ(0);
344
+ transform: perspective(1px) translateZ(0);
345
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
346
+ -webkit-transition-duration: 0.3s;
347
+ transition-duration: 0.3s;
348
+ -webkit-transition-property: transform;
349
+ transition-property: transform;
350
+ -webkit-transition-timing-function: ease-out;
351
+ transition-timing-function: ease-out;
352
+ }
353
+ .hvr-sink:hover, .hvr-sink:focus, .hvr-sink:active {
354
+ -webkit-transform: translateY(8px);
355
+ transform: translateY(8px);
356
+ }
357
+
358
+ /* Bob */
359
+ @-webkit-keyframes hvr-bob {
360
+ 0% {
361
+ -webkit-transform: translateY(-8px);
362
+ transform: translateY(-8px);
363
+ }
364
+ 50% {
365
+ -webkit-transform: translateY(-4px);
366
+ transform: translateY(-4px);
367
+ }
368
+ 100% {
369
+ -webkit-transform: translateY(-8px);
370
+ transform: translateY(-8px);
371
+ }
372
+ }
373
+ @keyframes hvr-bob {
374
+ 0% {
375
+ -webkit-transform: translateY(-8px);
376
+ transform: translateY(-8px);
377
+ }
378
+ 50% {
379
+ -webkit-transform: translateY(-4px);
380
+ transform: translateY(-4px);
381
+ }
382
+ 100% {
383
+ -webkit-transform: translateY(-8px);
384
+ transform: translateY(-8px);
385
+ }
386
+ }
387
+ @-webkit-keyframes hvr-bob-float {
388
+ 100% {
389
+ -webkit-transform: translateY(-8px);
390
+ transform: translateY(-8px);
391
+ }
392
+ }
393
+ @keyframes hvr-bob-float {
394
+ 100% {
395
+ -webkit-transform: translateY(-8px);
396
+ transform: translateY(-8px);
397
+ }
398
+ }
399
+ .hvr-bob {
400
+ display: inline-block;
401
+ vertical-align: middle;
402
+ -webkit-transform: perspective(1px) translateZ(0);
403
+ transform: perspective(1px) translateZ(0);
404
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
405
+ }
406
+ .hvr-bob:hover, .hvr-bob:focus, .hvr-bob:active {
407
+ -webkit-animation-name: hvr-bob-float, hvr-bob;
408
+ animation-name: hvr-bob-float, hvr-bob;
409
+ -webkit-animation-duration: .3s, 1.5s;
410
+ animation-duration: .3s, 1.5s;
411
+ -webkit-animation-delay: 0s, .3s;
412
+ animation-delay: 0s, .3s;
413
+ -webkit-animation-timing-function: ease-out, ease-in-out;
414
+ animation-timing-function: ease-out, ease-in-out;
415
+ -webkit-animation-iteration-count: 1, infinite;
416
+ animation-iteration-count: 1, infinite;
417
+ -webkit-animation-fill-mode: forwards;
418
+ animation-fill-mode: forwards;
419
+ -webkit-animation-direction: normal, alternate;
420
+ animation-direction: normal, alternate;
421
+ }
422
+
423
+ /* Hang */
424
+ @-webkit-keyframes hvr-hang {
425
+ 0% {
426
+ -webkit-transform: translateY(8px);
427
+ transform: translateY(8px);
428
+ }
429
+ 50% {
430
+ -webkit-transform: translateY(4px);
431
+ transform: translateY(4px);
432
+ }
433
+ 100% {
434
+ -webkit-transform: translateY(8px);
435
+ transform: translateY(8px);
436
+ }
437
+ }
438
+ @keyframes hvr-hang {
439
+ 0% {
440
+ -webkit-transform: translateY(8px);
441
+ transform: translateY(8px);
442
+ }
443
+ 50% {
444
+ -webkit-transform: translateY(4px);
445
+ transform: translateY(4px);
446
+ }
447
+ 100% {
448
+ -webkit-transform: translateY(8px);
449
+ transform: translateY(8px);
450
+ }
451
+ }
452
+ @-webkit-keyframes hvr-hang-sink {
453
+ 100% {
454
+ -webkit-transform: translateY(8px);
455
+ transform: translateY(8px);
456
+ }
457
+ }
458
+ @keyframes hvr-hang-sink {
459
+ 100% {
460
+ -webkit-transform: translateY(8px);
461
+ transform: translateY(8px);
462
+ }
463
+ }
464
+ .hvr-hang {
465
+ display: inline-block;
466
+ vertical-align: middle;
467
+ -webkit-transform: perspective(1px) translateZ(0);
468
+ transform: perspective(1px) translateZ(0);
469
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
470
+ }
471
+ .hvr-hang:hover, .hvr-hang:focus, .hvr-hang:active {
472
+ -webkit-animation-name: hvr-hang-sink, hvr-hang;
473
+ animation-name: hvr-hang-sink, hvr-hang;
474
+ -webkit-animation-duration: .3s, 1.5s;
475
+ animation-duration: .3s, 1.5s;
476
+ -webkit-animation-delay: 0s, .3s;
477
+ animation-delay: 0s, .3s;
478
+ -webkit-animation-timing-function: ease-out, ease-in-out;
479
+ animation-timing-function: ease-out, ease-in-out;
480
+ -webkit-animation-iteration-count: 1, infinite;
481
+ animation-iteration-count: 1, infinite;
482
+ -webkit-animation-fill-mode: forwards;
483
+ animation-fill-mode: forwards;
484
+ -webkit-animation-direction: normal, alternate;
485
+ animation-direction: normal, alternate;
486
+ }
487
+
488
+ /* Skew */
489
+ .hvr-skew {
490
+ display: inline-block;
491
+ vertical-align: middle;
492
+ -webkit-transform: perspective(1px) translateZ(0);
493
+ transform: perspective(1px) translateZ(0);
494
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
495
+ -webkit-transition-duration: 0.3s;
496
+ transition-duration: 0.3s;
497
+ -webkit-transition-property: transform;
498
+ transition-property: transform;
499
+ }
500
+ .hvr-skew:hover, .hvr-skew:focus, .hvr-skew:active {
501
+ -webkit-transform: skew(-10deg);
502
+ transform: skew(-10deg);
503
+ }
504
+
505
+ /* Skew Forward */
506
+ .hvr-skew-forward {
507
+ display: inline-block;
508
+ vertical-align: middle;
509
+ -webkit-transform: perspective(1px) translateZ(0);
510
+ transform: perspective(1px) translateZ(0);
511
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
512
+ -webkit-transition-duration: 0.3s;
513
+ transition-duration: 0.3s;
514
+ -webkit-transition-property: transform;
515
+ transition-property: transform;
516
+ -webkit-transform-origin: 0 100%;
517
+ transform-origin: 0 100%;
518
+ }
519
+ .hvr-skew-forward:hover, .hvr-skew-forward:focus, .hvr-skew-forward:active {
520
+ -webkit-transform: skew(-10deg);
521
+ transform: skew(-10deg);
522
+ }
523
+
524
+ /* Skew Backward */
525
+ .hvr-skew-backward {
526
+ display: inline-block;
527
+ vertical-align: middle;
528
+ -webkit-transform: perspective(1px) translateZ(0);
529
+ transform: perspective(1px) translateZ(0);
530
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
531
+ -webkit-transition-duration: 0.3s;
532
+ transition-duration: 0.3s;
533
+ -webkit-transition-property: transform;
534
+ transition-property: transform;
535
+ -webkit-transform-origin: 0 100%;
536
+ transform-origin: 0 100%;
537
+ }
538
+ .hvr-skew-backward:hover, .hvr-skew-backward:focus, .hvr-skew-backward:active {
539
+ -webkit-transform: skew(10deg);
540
+ transform: skew(10deg);
541
+ }
542
+
543
+ /* Wobble Vertical */
544
+ @-webkit-keyframes hvr-wobble-vertical {
545
+ 16.65% {
546
+ -webkit-transform: translateY(8px);
547
+ transform: translateY(8px);
548
+ }
549
+ 33.3% {
550
+ -webkit-transform: translateY(-6px);
551
+ transform: translateY(-6px);
552
+ }
553
+ 49.95% {
554
+ -webkit-transform: translateY(4px);
555
+ transform: translateY(4px);
556
+ }
557
+ 66.6% {
558
+ -webkit-transform: translateY(-2px);
559
+ transform: translateY(-2px);
560
+ }
561
+ 83.25% {
562
+ -webkit-transform: translateY(1px);
563
+ transform: translateY(1px);
564
+ }
565
+ 100% {
566
+ -webkit-transform: translateY(0);
567
+ transform: translateY(0);
568
+ }
569
+ }
570
+ @keyframes hvr-wobble-vertical {
571
+ 16.65% {
572
+ -webkit-transform: translateY(8px);
573
+ transform: translateY(8px);
574
+ }
575
+ 33.3% {
576
+ -webkit-transform: translateY(-6px);
577
+ transform: translateY(-6px);
578
+ }
579
+ 49.95% {
580
+ -webkit-transform: translateY(4px);
581
+ transform: translateY(4px);
582
+ }
583
+ 66.6% {
584
+ -webkit-transform: translateY(-2px);
585
+ transform: translateY(-2px);
586
+ }
587
+ 83.25% {
588
+ -webkit-transform: translateY(1px);
589
+ transform: translateY(1px);
590
+ }
591
+ 100% {
592
+ -webkit-transform: translateY(0);
593
+ transform: translateY(0);
594
+ }
595
+ }
596
+ .hvr-wobble-vertical {
597
+ display: inline-block;
598
+ vertical-align: middle;
599
+ -webkit-transform: perspective(1px) translateZ(0);
600
+ transform: perspective(1px) translateZ(0);
601
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
602
+ }
603
+ .hvr-wobble-vertical:hover, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:active {
604
+ -webkit-animation-name: hvr-wobble-vertical;
605
+ animation-name: hvr-wobble-vertical;
606
+ -webkit-animation-duration: 1s;
607
+ animation-duration: 1s;
608
+ -webkit-animation-timing-function: ease-in-out;
609
+ animation-timing-function: ease-in-out;
610
+ -webkit-animation-iteration-count: 1;
611
+ animation-iteration-count: 1;
612
+ }
613
+
614
+ /* Wobble Horizontal */
615
+ @-webkit-keyframes hvr-wobble-horizontal {
616
+ 16.65% {
617
+ -webkit-transform: translateX(8px);
618
+ transform: translateX(8px);
619
+ }
620
+ 33.3% {
621
+ -webkit-transform: translateX(-6px);
622
+ transform: translateX(-6px);
623
+ }
624
+ 49.95% {
625
+ -webkit-transform: translateX(4px);
626
+ transform: translateX(4px);
627
+ }
628
+ 66.6% {
629
+ -webkit-transform: translateX(-2px);
630
+ transform: translateX(-2px);
631
+ }
632
+ 83.25% {
633
+ -webkit-transform: translateX(1px);
634
+ transform: translateX(1px);
635
+ }
636
+ 100% {
637
+ -webkit-transform: translateX(0);
638
+ transform: translateX(0);
639
+ }
640
+ }
641
+ @keyframes hvr-wobble-horizontal {
642
+ 16.65% {
643
+ -webkit-transform: translateX(8px);
644
+ transform: translateX(8px);
645
+ }
646
+ 33.3% {
647
+ -webkit-transform: translateX(-6px);
648
+ transform: translateX(-6px);
649
+ }
650
+ 49.95% {
651
+ -webkit-transform: translateX(4px);
652
+ transform: translateX(4px);
653
+ }
654
+ 66.6% {
655
+ -webkit-transform: translateX(-2px);
656
+ transform: translateX(-2px);
657
+ }
658
+ 83.25% {
659
+ -webkit-transform: translateX(1px);
660
+ transform: translateX(1px);
661
+ }
662
+ 100% {
663
+ -webkit-transform: translateX(0);
664
+ transform: translateX(0);
665
+ }
666
+ }
667
+ .hvr-wobble-horizontal {
668
+ display: inline-block;
669
+ vertical-align: middle;
670
+ -webkit-transform: perspective(1px) translateZ(0);
671
+ transform: perspective(1px) translateZ(0);
672
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
673
+ }
674
+ .hvr-wobble-horizontal:hover, .hvr-wobble-horizontal:focus, .hvr-wobble-horizontal:active {
675
+ -webkit-animation-name: hvr-wobble-horizontal;
676
+ animation-name: hvr-wobble-horizontal;
677
+ -webkit-animation-duration: 1s;
678
+ animation-duration: 1s;
679
+ -webkit-animation-timing-function: ease-in-out;
680
+ animation-timing-function: ease-in-out;
681
+ -webkit-animation-iteration-count: 1;
682
+ animation-iteration-count: 1;
683
+ }
684
+
685
+ /* Wobble To Bottom Right */
686
+ @-webkit-keyframes hvr-wobble-to-bottom-right {
687
+ 16.65% {
688
+ -webkit-transform: translate(8px, 8px);
689
+ transform: translate(8px, 8px);
690
+ }
691
+ 33.3% {
692
+ -webkit-transform: translate(-6px, -6px);
693
+ transform: translate(-6px, -6px);
694
+ }
695
+ 49.95% {
696
+ -webkit-transform: translate(4px, 4px);
697
+ transform: translate(4px, 4px);
698
+ }
699
+ 66.6% {
700
+ -webkit-transform: translate(-2px, -2px);
701
+ transform: translate(-2px, -2px);
702
+ }
703
+ 83.25% {
704
+ -webkit-transform: translate(1px, 1px);
705
+ transform: translate(1px, 1px);
706
+ }
707
+ 100% {
708
+ -webkit-transform: translate(0, 0);
709
+ transform: translate(0, 0);
710
+ }
711
+ }
712
+ @keyframes hvr-wobble-to-bottom-right {
713
+ 16.65% {
714
+ -webkit-transform: translate(8px, 8px);
715
+ transform: translate(8px, 8px);
716
+ }
717
+ 33.3% {
718
+ -webkit-transform: translate(-6px, -6px);
719
+ transform: translate(-6px, -6px);
720
+ }
721
+ 49.95% {
722
+ -webkit-transform: translate(4px, 4px);
723
+ transform: translate(4px, 4px);
724
+ }
725
+ 66.6% {
726
+ -webkit-transform: translate(-2px, -2px);
727
+ transform: translate(-2px, -2px);
728
+ }
729
+ 83.25% {
730
+ -webkit-transform: translate(1px, 1px);
731
+ transform: translate(1px, 1px);
732
+ }
733
+ 100% {
734
+ -webkit-transform: translate(0, 0);
735
+ transform: translate(0, 0);
736
+ }
737
+ }
738
+ .hvr-wobble-to-bottom-right {
739
+ display: inline-block;
740
+ vertical-align: middle;
741
+ -webkit-transform: perspective(1px) translateZ(0);
742
+ transform: perspective(1px) translateZ(0);
743
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
744
+ }
745
+ .hvr-wobble-to-bottom-right:hover, .hvr-wobble-to-bottom-right:focus, .hvr-wobble-to-bottom-right:active {
746
+ -webkit-animation-name: hvr-wobble-to-bottom-right;
747
+ animation-name: hvr-wobble-to-bottom-right;
748
+ -webkit-animation-duration: 1s;
749
+ animation-duration: 1s;
750
+ -webkit-animation-timing-function: ease-in-out;
751
+ animation-timing-function: ease-in-out;
752
+ -webkit-animation-iteration-count: 1;
753
+ animation-iteration-count: 1;
754
+ }
755
+
756
+ /* Wobble To Top Right */
757
+ @-webkit-keyframes hvr-wobble-to-top-right {
758
+ 16.65% {
759
+ -webkit-transform: translate(8px, -8px);
760
+ transform: translate(8px, -8px);
761
+ }
762
+ 33.3% {
763
+ -webkit-transform: translate(-6px, 6px);
764
+ transform: translate(-6px, 6px);
765
+ }
766
+ 49.95% {
767
+ -webkit-transform: translate(4px, -4px);
768
+ transform: translate(4px, -4px);
769
+ }
770
+ 66.6% {
771
+ -webkit-transform: translate(-2px, 2px);
772
+ transform: translate(-2px, 2px);
773
+ }
774
+ 83.25% {
775
+ -webkit-transform: translate(1px, -1px);
776
+ transform: translate(1px, -1px);
777
+ }
778
+ 100% {
779
+ -webkit-transform: translate(0, 0);
780
+ transform: translate(0, 0);
781
+ }
782
+ }
783
+ @keyframes hvr-wobble-to-top-right {
784
+ 16.65% {
785
+ -webkit-transform: translate(8px, -8px);
786
+ transform: translate(8px, -8px);
787
+ }
788
+ 33.3% {
789
+ -webkit-transform: translate(-6px, 6px);
790
+ transform: translate(-6px, 6px);
791
+ }
792
+ 49.95% {
793
+ -webkit-transform: translate(4px, -4px);
794
+ transform: translate(4px, -4px);
795
+ }
796
+ 66.6% {
797
+ -webkit-transform: translate(-2px, 2px);
798
+ transform: translate(-2px, 2px);
799
+ }
800
+ 83.25% {
801
+ -webkit-transform: translate(1px, -1px);
802
+ transform: translate(1px, -1px);
803
+ }
804
+ 100% {
805
+ -webkit-transform: translate(0, 0);
806
+ transform: translate(0, 0);
807
+ }
808
+ }
809
+ .hvr-wobble-to-top-right {
810
+ display: inline-block;
811
+ vertical-align: middle;
812
+ -webkit-transform: perspective(1px) translateZ(0);
813
+ transform: perspective(1px) translateZ(0);
814
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
815
+ }
816
+ .hvr-wobble-to-top-right:hover, .hvr-wobble-to-top-right:focus, .hvr-wobble-to-top-right:active {
817
+ -webkit-animation-name: hvr-wobble-to-top-right;
818
+ animation-name: hvr-wobble-to-top-right;
819
+ -webkit-animation-duration: 1s;
820
+ animation-duration: 1s;
821
+ -webkit-animation-timing-function: ease-in-out;
822
+ animation-timing-function: ease-in-out;
823
+ -webkit-animation-iteration-count: 1;
824
+ animation-iteration-count: 1;
825
+ }
826
+
827
+ /* Wobble Top */
828
+ @-webkit-keyframes hvr-wobble-top {
829
+ 16.65% {
830
+ -webkit-transform: skew(-12deg);
831
+ transform: skew(-12deg);
832
+ }
833
+ 33.3% {
834
+ -webkit-transform: skew(10deg);
835
+ transform: skew(10deg);
836
+ }
837
+ 49.95% {
838
+ -webkit-transform: skew(-6deg);
839
+ transform: skew(-6deg);
840
+ }
841
+ 66.6% {
842
+ -webkit-transform: skew(4deg);
843
+ transform: skew(4deg);
844
+ }
845
+ 83.25% {
846
+ -webkit-transform: skew(-2deg);
847
+ transform: skew(-2deg);
848
+ }
849
+ 100% {
850
+ -webkit-transform: skew(0);
851
+ transform: skew(0);
852
+ }
853
+ }
854
+ @keyframes hvr-wobble-top {
855
+ 16.65% {
856
+ -webkit-transform: skew(-12deg);
857
+ transform: skew(-12deg);
858
+ }
859
+ 33.3% {
860
+ -webkit-transform: skew(10deg);
861
+ transform: skew(10deg);
862
+ }
863
+ 49.95% {
864
+ -webkit-transform: skew(-6deg);
865
+ transform: skew(-6deg);
866
+ }
867
+ 66.6% {
868
+ -webkit-transform: skew(4deg);
869
+ transform: skew(4deg);
870
+ }
871
+ 83.25% {
872
+ -webkit-transform: skew(-2deg);
873
+ transform: skew(-2deg);
874
+ }
875
+ 100% {
876
+ -webkit-transform: skew(0);
877
+ transform: skew(0);
878
+ }
879
+ }
880
+ .hvr-wobble-top {
881
+ display: inline-block;
882
+ vertical-align: middle;
883
+ -webkit-transform: perspective(1px) translateZ(0);
884
+ transform: perspective(1px) translateZ(0);
885
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
886
+ -webkit-transform-origin: 0 100%;
887
+ transform-origin: 0 100%;
888
+ }
889
+ .hvr-wobble-top:hover, .hvr-wobble-top:focus, .hvr-wobble-top:active {
890
+ -webkit-animation-name: hvr-wobble-top;
891
+ animation-name: hvr-wobble-top;
892
+ -webkit-animation-duration: 1s;
893
+ animation-duration: 1s;
894
+ -webkit-animation-timing-function: ease-in-out;
895
+ animation-timing-function: ease-in-out;
896
+ -webkit-animation-iteration-count: 1;
897
+ animation-iteration-count: 1;
898
+ }
899
+
900
+ /* Wobble Bottom */
901
+ @-webkit-keyframes hvr-wobble-bottom {
902
+ 16.65% {
903
+ -webkit-transform: skew(-12deg);
904
+ transform: skew(-12deg);
905
+ }
906
+ 33.3% {
907
+ -webkit-transform: skew(10deg);
908
+ transform: skew(10deg);
909
+ }
910
+ 49.95% {
911
+ -webkit-transform: skew(-6deg);
912
+ transform: skew(-6deg);
913
+ }
914
+ 66.6% {
915
+ -webkit-transform: skew(4deg);
916
+ transform: skew(4deg);
917
+ }
918
+ 83.25% {
919
+ -webkit-transform: skew(-2deg);
920
+ transform: skew(-2deg);
921
+ }
922
+ 100% {
923
+ -webkit-transform: skew(0);
924
+ transform: skew(0);
925
+ }
926
+ }
927
+ @keyframes hvr-wobble-bottom {
928
+ 16.65% {
929
+ -webkit-transform: skew(-12deg);
930
+ transform: skew(-12deg);
931
+ }
932
+ 33.3% {
933
+ -webkit-transform: skew(10deg);
934
+ transform: skew(10deg);
935
+ }
936
+ 49.95% {
937
+ -webkit-transform: skew(-6deg);
938
+ transform: skew(-6deg);
939
+ }
940
+ 66.6% {
941
+ -webkit-transform: skew(4deg);
942
+ transform: skew(4deg);
943
+ }
944
+ 83.25% {
945
+ -webkit-transform: skew(-2deg);
946
+ transform: skew(-2deg);
947
+ }
948
+ 100% {
949
+ -webkit-transform: skew(0);
950
+ transform: skew(0);
951
+ }
952
+ }
953
+ .hvr-wobble-bottom {
954
+ display: inline-block;
955
+ vertical-align: middle;
956
+ -webkit-transform: perspective(1px) translateZ(0);
957
+ transform: perspective(1px) translateZ(0);
958
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
959
+ -webkit-transform-origin: 100% 0;
960
+ transform-origin: 100% 0;
961
+ }
962
+ .hvr-wobble-bottom:hover, .hvr-wobble-bottom:focus, .hvr-wobble-bottom:active {
963
+ -webkit-animation-name: hvr-wobble-bottom;
964
+ animation-name: hvr-wobble-bottom;
965
+ -webkit-animation-duration: 1s;
966
+ animation-duration: 1s;
967
+ -webkit-animation-timing-function: ease-in-out;
968
+ animation-timing-function: ease-in-out;
969
+ -webkit-animation-iteration-count: 1;
970
+ animation-iteration-count: 1;
971
+ }
972
+
973
+ /* Wobble Skew */
974
+ @-webkit-keyframes hvr-wobble-skew {
975
+ 16.65% {
976
+ -webkit-transform: skew(-12deg);
977
+ transform: skew(-12deg);
978
+ }
979
+ 33.3% {
980
+ -webkit-transform: skew(10deg);
981
+ transform: skew(10deg);
982
+ }
983
+ 49.95% {
984
+ -webkit-transform: skew(-6deg);
985
+ transform: skew(-6deg);
986
+ }
987
+ 66.6% {
988
+ -webkit-transform: skew(4deg);
989
+ transform: skew(4deg);
990
+ }
991
+ 83.25% {
992
+ -webkit-transform: skew(-2deg);
993
+ transform: skew(-2deg);
994
+ }
995
+ 100% {
996
+ -webkit-transform: skew(0);
997
+ transform: skew(0);
998
+ }
999
+ }
1000
+ @keyframes hvr-wobble-skew {
1001
+ 16.65% {
1002
+ -webkit-transform: skew(-12deg);
1003
+ transform: skew(-12deg);
1004
+ }
1005
+ 33.3% {
1006
+ -webkit-transform: skew(10deg);
1007
+ transform: skew(10deg);
1008
+ }
1009
+ 49.95% {
1010
+ -webkit-transform: skew(-6deg);
1011
+ transform: skew(-6deg);
1012
+ }
1013
+ 66.6% {
1014
+ -webkit-transform: skew(4deg);
1015
+ transform: skew(4deg);
1016
+ }
1017
+ 83.25% {
1018
+ -webkit-transform: skew(-2deg);
1019
+ transform: skew(-2deg);
1020
+ }
1021
+ 100% {
1022
+ -webkit-transform: skew(0);
1023
+ transform: skew(0);
1024
+ }
1025
+ }
1026
+ .hvr-wobble-skew {
1027
+ display: inline-block;
1028
+ vertical-align: middle;
1029
+ -webkit-transform: perspective(1px) translateZ(0);
1030
+ transform: perspective(1px) translateZ(0);
1031
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1032
+ }
1033
+ .hvr-wobble-skew:hover, .hvr-wobble-skew:focus, .hvr-wobble-skew:active {
1034
+ -webkit-animation-name: hvr-wobble-skew;
1035
+ animation-name: hvr-wobble-skew;
1036
+ -webkit-animation-duration: 1s;
1037
+ animation-duration: 1s;
1038
+ -webkit-animation-timing-function: ease-in-out;
1039
+ animation-timing-function: ease-in-out;
1040
+ -webkit-animation-iteration-count: 1;
1041
+ animation-iteration-count: 1;
1042
+ }
1043
+
1044
+ /* Buzz */
1045
+ @-webkit-keyframes hvr-buzz {
1046
+ 50% {
1047
+ -webkit-transform: translateX(3px) rotate(2deg);
1048
+ transform: translateX(3px) rotate(2deg);
1049
+ }
1050
+ 100% {
1051
+ -webkit-transform: translateX(-3px) rotate(-2deg);
1052
+ transform: translateX(-3px) rotate(-2deg);
1053
+ }
1054
+ }
1055
+ @keyframes hvr-buzz {
1056
+ 50% {
1057
+ -webkit-transform: translateX(3px) rotate(2deg);
1058
+ transform: translateX(3px) rotate(2deg);
1059
+ }
1060
+ 100% {
1061
+ -webkit-transform: translateX(-3px) rotate(-2deg);
1062
+ transform: translateX(-3px) rotate(-2deg);
1063
+ }
1064
+ }
1065
+ .hvr-buzz {
1066
+ display: inline-block;
1067
+ vertical-align: middle;
1068
+ -webkit-transform: perspective(1px) translateZ(0);
1069
+ transform: perspective(1px) translateZ(0);
1070
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1071
+ }
1072
+ .hvr-buzz:hover, .hvr-buzz:focus, .hvr-buzz:active {
1073
+ -webkit-animation-name: hvr-buzz;
1074
+ animation-name: hvr-buzz;
1075
+ -webkit-animation-duration: 0.15s;
1076
+ animation-duration: 0.15s;
1077
+ -webkit-animation-timing-function: linear;
1078
+ animation-timing-function: linear;
1079
+ -webkit-animation-iteration-count: infinite;
1080
+ animation-iteration-count: infinite;
1081
+ }
1082
+
1083
+ /* Buzz Out */
1084
+ @-webkit-keyframes hvr-buzz-out {
1085
+ 10% {
1086
+ -webkit-transform: translateX(3px) rotate(2deg);
1087
+ transform: translateX(3px) rotate(2deg);
1088
+ }
1089
+ 20% {
1090
+ -webkit-transform: translateX(-3px) rotate(-2deg);
1091
+ transform: translateX(-3px) rotate(-2deg);
1092
+ }
1093
+ 30% {
1094
+ -webkit-transform: translateX(3px) rotate(2deg);
1095
+ transform: translateX(3px) rotate(2deg);
1096
+ }
1097
+ 40% {
1098
+ -webkit-transform: translateX(-3px) rotate(-2deg);
1099
+ transform: translateX(-3px) rotate(-2deg);
1100
+ }
1101
+ 50% {
1102
+ -webkit-transform: translateX(2px) rotate(1deg);
1103
+ transform: translateX(2px) rotate(1deg);
1104
+ }
1105
+ 60% {
1106
+ -webkit-transform: translateX(-2px) rotate(-1deg);
1107
+ transform: translateX(-2px) rotate(-1deg);
1108
+ }
1109
+ 70% {
1110
+ -webkit-transform: translateX(2px) rotate(1deg);
1111
+ transform: translateX(2px) rotate(1deg);
1112
+ }
1113
+ 80% {
1114
+ -webkit-transform: translateX(-2px) rotate(-1deg);
1115
+ transform: translateX(-2px) rotate(-1deg);
1116
+ }
1117
+ 90% {
1118
+ -webkit-transform: translateX(1px) rotate(0);
1119
+ transform: translateX(1px) rotate(0);
1120
+ }
1121
+ 100% {
1122
+ -webkit-transform: translateX(-1px) rotate(0);
1123
+ transform: translateX(-1px) rotate(0);
1124
+ }
1125
+ }
1126
+ @keyframes hvr-buzz-out {
1127
+ 10% {
1128
+ -webkit-transform: translateX(3px) rotate(2deg);
1129
+ transform: translateX(3px) rotate(2deg);
1130
+ }
1131
+ 20% {
1132
+ -webkit-transform: translateX(-3px) rotate(-2deg);
1133
+ transform: translateX(-3px) rotate(-2deg);
1134
+ }
1135
+ 30% {
1136
+ -webkit-transform: translateX(3px) rotate(2deg);
1137
+ transform: translateX(3px) rotate(2deg);
1138
+ }
1139
+ 40% {
1140
+ -webkit-transform: translateX(-3px) rotate(-2deg);
1141
+ transform: translateX(-3px) rotate(-2deg);
1142
+ }
1143
+ 50% {
1144
+ -webkit-transform: translateX(2px) rotate(1deg);
1145
+ transform: translateX(2px) rotate(1deg);
1146
+ }
1147
+ 60% {
1148
+ -webkit-transform: translateX(-2px) rotate(-1deg);
1149
+ transform: translateX(-2px) rotate(-1deg);
1150
+ }
1151
+ 70% {
1152
+ -webkit-transform: translateX(2px) rotate(1deg);
1153
+ transform: translateX(2px) rotate(1deg);
1154
+ }
1155
+ 80% {
1156
+ -webkit-transform: translateX(-2px) rotate(-1deg);
1157
+ transform: translateX(-2px) rotate(-1deg);
1158
+ }
1159
+ 90% {
1160
+ -webkit-transform: translateX(1px) rotate(0);
1161
+ transform: translateX(1px) rotate(0);
1162
+ }
1163
+ 100% {
1164
+ -webkit-transform: translateX(-1px) rotate(0);
1165
+ transform: translateX(-1px) rotate(0);
1166
+ }
1167
+ }
1168
+ .hvr-buzz-out {
1169
+ display: inline-block;
1170
+ vertical-align: middle;
1171
+ -webkit-transform: perspective(1px) translateZ(0);
1172
+ transform: perspective(1px) translateZ(0);
1173
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1174
+ }
1175
+ .hvr-buzz-out:hover, .hvr-buzz-out:focus, .hvr-buzz-out:active {
1176
+ -webkit-animation-name: hvr-buzz-out;
1177
+ animation-name: hvr-buzz-out;
1178
+ -webkit-animation-duration: 0.75s;
1179
+ animation-duration: 0.75s;
1180
+ -webkit-animation-timing-function: linear;
1181
+ animation-timing-function: linear;
1182
+ -webkit-animation-iteration-count: 1;
1183
+ animation-iteration-count: 1;
1184
+ }
1185
+
1186
+ /* Forward */
1187
+ .hvr-forward {
1188
+ display: inline-block;
1189
+ vertical-align: middle;
1190
+ -webkit-transform: perspective(1px) translateZ(0);
1191
+ transform: perspective(1px) translateZ(0);
1192
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1193
+ -webkit-transition-duration: 0.3s;
1194
+ transition-duration: 0.3s;
1195
+ -webkit-transition-property: transform;
1196
+ transition-property: transform;
1197
+ }
1198
+ .hvr-forward:hover, .hvr-forward:focus, .hvr-forward:active {
1199
+ -webkit-transform: translateX(8px);
1200
+ transform: translateX(8px);
1201
+ }
1202
+
1203
+ /* Backward */
1204
+ .hvr-backward {
1205
+ display: inline-block;
1206
+ vertical-align: middle;
1207
+ -webkit-transform: perspective(1px) translateZ(0);
1208
+ transform: perspective(1px) translateZ(0);
1209
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1210
+ -webkit-transition-duration: 0.3s;
1211
+ transition-duration: 0.3s;
1212
+ -webkit-transition-property: transform;
1213
+ transition-property: transform;
1214
+ }
1215
+ .hvr-backward:hover, .hvr-backward:focus, .hvr-backward:active {
1216
+ -webkit-transform: translateX(-8px);
1217
+ transform: translateX(-8px);
1218
+ }
1219
+
1220
+ /* BACKGROUND TRANSITIONS */
1221
+ /* Fade */
1222
+ .on_hover_fade {
1223
+ display: inline-block;
1224
+ vertical-align: middle;
1225
+ -webkit-transform: perspective(1px) translateZ(0);
1226
+ transform: perspective(1px) translateZ(0);
1227
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1228
+ overflow: hidden;
1229
+ -webkit-transition-duration: 0.3s;
1230
+ transition-duration: 0.3s;
1231
+ -webkit-transition-property: color, background-color;
1232
+ transition-property: color, background-color;
1233
+ }
1234
+ .on_hover_fade:hover,
1235
+ .on_hover_fade:focus,
1236
+ .on_hover_fade:active {
1237
+ background-color: #2098D1;
1238
+ color: white;
1239
+ }
1240
+
1241
+ /* Back Pulse */
1242
+ @-webkit-keyframes hvr-back-pulse {
1243
+ 50% {
1244
+ background-color: rgba(32, 152, 209, 0.75);
1245
+ }
1246
+ }
1247
+ @keyframes hvr-back-pulse {
1248
+ 50% {
1249
+ background-color: rgba(32, 152, 209, 0.75);
1250
+ }
1251
+ }
1252
+ .hvr-back-pulse {
1253
+ display: inline-block;
1254
+ vertical-align: middle;
1255
+ -webkit-transform: perspective(1px) translateZ(0);
1256
+ transform: perspective(1px) translateZ(0);
1257
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1258
+ overflow: hidden;
1259
+ -webkit-transition-duration: 0.5s;
1260
+ transition-duration: 0.5s;
1261
+ -webkit-transition-property: color, background-color;
1262
+ transition-property: color, background-color;
1263
+ }
1264
+ .hvr-back-pulse:hover, .hvr-back-pulse:focus, .hvr-back-pulse:active {
1265
+ -webkit-animation-name: hvr-back-pulse;
1266
+ animation-name: hvr-back-pulse;
1267
+ -webkit-animation-duration: 1s;
1268
+ animation-duration: 1s;
1269
+ -webkit-animation-delay: 0.5s;
1270
+ animation-delay: 0.5s;
1271
+ -webkit-animation-timing-function: linear;
1272
+ animation-timing-function: linear;
1273
+ -webkit-animation-iteration-count: infinite;
1274
+ animation-iteration-count: infinite;
1275
+ background-color: #2098D1;
1276
+ background-color: #2098d1;
1277
+ color: white;
1278
+ }
1279
+
1280
+ /* Sweep To Right */
1281
+ .hvr-sweep-to-right {
1282
+ display: inline-block;
1283
+ vertical-align: middle;
1284
+ -webkit-transform: perspective(1px) translateZ(0);
1285
+ transform: perspective(1px) translateZ(0);
1286
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1287
+ position: relative;
1288
+ -webkit-transition-property: color;
1289
+ transition-property: color;
1290
+ -webkit-transition-duration: 0.3s;
1291
+ transition-duration: 0.3s;
1292
+ }
1293
+ .hvr-sweep-to-right:before {
1294
+ content: "";
1295
+ position: absolute;
1296
+ z-index: -1;
1297
+ top: 0;
1298
+ left: 0;
1299
+ right: 0;
1300
+ bottom: 0;
1301
+ background: #2098D1;
1302
+ -webkit-transform: scaleX(0);
1303
+ transform: scaleX(0);
1304
+ -webkit-transform-origin: 0 50%;
1305
+ transform-origin: 0 50%;
1306
+ -webkit-transition-property: transform;
1307
+ transition-property: transform;
1308
+ -webkit-transition-duration: 0.3s;
1309
+ transition-duration: 0.3s;
1310
+ -webkit-transition-timing-function: ease-out;
1311
+ transition-timing-function: ease-out;
1312
+ }
1313
+ .hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active {
1314
+ color: white;
1315
+ }
1316
+ .hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before {
1317
+ -webkit-transform: scaleX(1);
1318
+ transform: scaleX(1);
1319
+ }
1320
+
1321
+ /* Sweep To Left */
1322
+ .hvr-sweep-to-left {
1323
+ display: inline-block;
1324
+ vertical-align: middle;
1325
+ -webkit-transform: perspective(1px) translateZ(0);
1326
+ transform: perspective(1px) translateZ(0);
1327
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1328
+ position: relative;
1329
+ -webkit-transition-property: color;
1330
+ transition-property: color;
1331
+ -webkit-transition-duration: 0.3s;
1332
+ transition-duration: 0.3s;
1333
+ }
1334
+ .hvr-sweep-to-left:before {
1335
+ content: "";
1336
+ position: absolute;
1337
+ z-index: -1;
1338
+ top: 0;
1339
+ left: 0;
1340
+ right: 0;
1341
+ bottom: 0;
1342
+ background: #2098D1;
1343
+ -webkit-transform: scaleX(0);
1344
+ transform: scaleX(0);
1345
+ -webkit-transform-origin: 100% 50%;
1346
+ transform-origin: 100% 50%;
1347
+ -webkit-transition-property: transform;
1348
+ transition-property: transform;
1349
+ -webkit-transition-duration: 0.3s;
1350
+ transition-duration: 0.3s;
1351
+ -webkit-transition-timing-function: ease-out;
1352
+ transition-timing-function: ease-out;
1353
+ }
1354
+ .hvr-sweep-to-left:hover, .hvr-sweep-to-left:focus, .hvr-sweep-to-left:active {
1355
+ color: white;
1356
+ }
1357
+ .hvr-sweep-to-left:hover:before, .hvr-sweep-to-left:focus:before, .hvr-sweep-to-left:active:before {
1358
+ -webkit-transform: scaleX(1);
1359
+ transform: scaleX(1);
1360
+ }
1361
+
1362
+ /* Sweep To Bottom */
1363
+ .hvr-sweep-to-bottom {
1364
+ display: inline-block;
1365
+ vertical-align: middle;
1366
+ -webkit-transform: perspective(1px) translateZ(0);
1367
+ transform: perspective(1px) translateZ(0);
1368
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1369
+ position: relative;
1370
+ -webkit-transition-property: color;
1371
+ transition-property: color;
1372
+ -webkit-transition-duration: 0.3s;
1373
+ transition-duration: 0.3s;
1374
+ }
1375
+ .hvr-sweep-to-bottom:before {
1376
+ content: "";
1377
+ position: absolute;
1378
+ z-index: -1;
1379
+ top: 0;
1380
+ left: 0;
1381
+ right: 0;
1382
+ bottom: 0;
1383
+ background: #2098D1;
1384
+ -webkit-transform: scaleY(0);
1385
+ transform: scaleY(0);
1386
+ -webkit-transform-origin: 50% 0;
1387
+ transform-origin: 50% 0;
1388
+ -webkit-transition-property: transform;
1389
+ transition-property: transform;
1390
+ -webkit-transition-duration: 0.3s;
1391
+ transition-duration: 0.3s;
1392
+ -webkit-transition-timing-function: ease-out;
1393
+ transition-timing-function: ease-out;
1394
+ }
1395
+ .hvr-sweep-to-bottom:hover, .hvr-sweep-to-bottom:focus, .hvr-sweep-to-bottom:active {
1396
+ color: white;
1397
+ }
1398
+ .hvr-sweep-to-bottom:hover:before, .hvr-sweep-to-bottom:focus:before, .hvr-sweep-to-bottom:active:before {
1399
+ -webkit-transform: scaleY(1);
1400
+ transform: scaleY(1);
1401
+ }
1402
+
1403
+ /* Sweep To Top */
1404
+ .hvr-sweep-to-top {
1405
+ display: inline-block;
1406
+ vertical-align: middle;
1407
+ -webkit-transform: perspective(1px) translateZ(0);
1408
+ transform: perspective(1px) translateZ(0);
1409
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1410
+ position: relative;
1411
+ -webkit-transition-property: color;
1412
+ transition-property: color;
1413
+ -webkit-transition-duration: 0.3s;
1414
+ transition-duration: 0.3s;
1415
+ }
1416
+ .hvr-sweep-to-top:before {
1417
+ content: "";
1418
+ position: absolute;
1419
+ z-index: -1;
1420
+ top: 0;
1421
+ left: 0;
1422
+ right: 0;
1423
+ bottom: 0;
1424
+ background: #2098D1;
1425
+ -webkit-transform: scaleY(0);
1426
+ transform: scaleY(0);
1427
+ -webkit-transform-origin: 50% 100%;
1428
+ transform-origin: 50% 100%;
1429
+ -webkit-transition-property: transform;
1430
+ transition-property: transform;
1431
+ -webkit-transition-duration: 0.3s;
1432
+ transition-duration: 0.3s;
1433
+ -webkit-transition-timing-function: ease-out;
1434
+ transition-timing-function: ease-out;
1435
+ }
1436
+ .hvr-sweep-to-top:hover, .hvr-sweep-to-top:focus, .hvr-sweep-to-top:active {
1437
+ color: white;
1438
+ }
1439
+ .hvr-sweep-to-top:hover:before, .hvr-sweep-to-top:focus:before, .hvr-sweep-to-top:active:before {
1440
+ -webkit-transform: scaleY(1);
1441
+ transform: scaleY(1);
1442
+ }
1443
+
1444
+ /* Bounce To Right */
1445
+ .hvr-bounce-to-right {
1446
+ display: inline-block;
1447
+ vertical-align: middle;
1448
+ -webkit-transform: perspective(1px) translateZ(0);
1449
+ transform: perspective(1px) translateZ(0);
1450
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1451
+ position: relative;
1452
+ -webkit-transition-property: color;
1453
+ transition-property: color;
1454
+ -webkit-transition-duration: 0.5s;
1455
+ transition-duration: 0.5s;
1456
+ }
1457
+
1458
+ .hvr-bounce-to-right:before {
1459
+ content: "";
1460
+ position: absolute;
1461
+ z-index: -1;
1462
+ top: 0;
1463
+ left: 0;
1464
+ right: 0;
1465
+ bottom: 0;
1466
+ background: #2098D1;
1467
+ -webkit-transform: scaleX(0);
1468
+ transform: scaleX(0);
1469
+ -webkit-transform-origin: 0 50%;
1470
+ transform-origin: 0 50%;
1471
+ -webkit-transition-property: transform;
1472
+ transition-property: transform;
1473
+ -webkit-transition-duration: 0.5s;
1474
+ transition-duration: 0.5s;
1475
+ -webkit-transition-timing-function: ease-out;
1476
+ transition-timing-function: ease-out;
1477
+ }
1478
+ .hvr-bounce-to-right:hover, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:active {
1479
+ color: white;
1480
+ }
1481
+ .hvr-bounce-to-right:hover:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:active:before {
1482
+ -webkit-transform: scaleX(1);
1483
+ transform: scaleX(1);
1484
+ -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1485
+ transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1486
+ }
1487
+
1488
+ /* Bounce To Left */
1489
+ .hvr-bounce-to-left {
1490
+ display: inline-block;
1491
+ vertical-align: middle;
1492
+ -webkit-transform: perspective(1px) translateZ(0);
1493
+ transform: perspective(1px) translateZ(0);
1494
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1495
+ position: relative;
1496
+ -webkit-transition-property: color;
1497
+ transition-property: color;
1498
+ -webkit-transition-duration: 0.5s;
1499
+ transition-duration: 0.5s;
1500
+ }
1501
+ .hvr-bounce-to-left:before {
1502
+ content: "";
1503
+ position: absolute;
1504
+ z-index: -1;
1505
+ top: 0;
1506
+ left: 0;
1507
+ right: 0;
1508
+ bottom: 0;
1509
+ background: #2098D1;
1510
+ -webkit-transform: scaleX(0);
1511
+ transform: scaleX(0);
1512
+ -webkit-transform-origin: 100% 50%;
1513
+ transform-origin: 100% 50%;
1514
+ -webkit-transition-property: transform;
1515
+ transition-property: transform;
1516
+ -webkit-transition-duration: 0.5s;
1517
+ transition-duration: 0.5s;
1518
+ -webkit-transition-timing-function: ease-out;
1519
+ transition-timing-function: ease-out;
1520
+ }
1521
+ .hvr-bounce-to-left:hover, .hvr-bounce-to-left:focus, .hvr-bounce-to-left:active {
1522
+ color: white;
1523
+ }
1524
+ .hvr-bounce-to-left:hover:before, .hvr-bounce-to-left:focus:before, .hvr-bounce-to-left:active:before {
1525
+ -webkit-transform: scaleX(1);
1526
+ transform: scaleX(1);
1527
+ -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1528
+ transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1529
+ }
1530
+
1531
+ /* Bounce To Bottom */
1532
+ .hvr-bounce-to-bottom {
1533
+ display: inline-block;
1534
+ vertical-align: middle;
1535
+ -webkit-transform: perspective(1px) translateZ(0);
1536
+ transform: perspective(1px) translateZ(0);
1537
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1538
+ position: relative;
1539
+ -webkit-transition-property: color;
1540
+ transition-property: color;
1541
+ -webkit-transition-duration: 0.5s;
1542
+ transition-duration: 0.5s;
1543
+ }
1544
+ .hvr-bounce-to-bottom:before {
1545
+ content: "";
1546
+ position: absolute;
1547
+ z-index: -1;
1548
+ top: 0;
1549
+ left: 0;
1550
+ right: 0;
1551
+ bottom: 0;
1552
+ background: #2098D1;
1553
+ -webkit-transform: scaleY(0);
1554
+ transform: scaleY(0);
1555
+ -webkit-transform-origin: 50% 0;
1556
+ transform-origin: 50% 0;
1557
+ -webkit-transition-property: transform;
1558
+ transition-property: transform;
1559
+ -webkit-transition-duration: 0.5s;
1560
+ transition-duration: 0.5s;
1561
+ -webkit-transition-timing-function: ease-out;
1562
+ transition-timing-function: ease-out;
1563
+ }
1564
+ .hvr-bounce-to-bottom:hover, .hvr-bounce-to-bottom:focus, .hvr-bounce-to-bottom:active {
1565
+ color: white;
1566
+ }
1567
+ .hvr-bounce-to-bottom:hover:before, .hvr-bounce-to-bottom:focus:before, .hvr-bounce-to-bottom:active:before {
1568
+ -webkit-transform: scaleY(1);
1569
+ transform: scaleY(1);
1570
+ -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1571
+ transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1572
+ }
1573
+
1574
+ /* Bounce To Top */
1575
+ .hvr-bounce-to-top {
1576
+ display: inline-block;
1577
+ vertical-align: middle;
1578
+ -webkit-transform: perspective(1px) translateZ(0);
1579
+ transform: perspective(1px) translateZ(0);
1580
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1581
+ position: relative;
1582
+ -webkit-transition-property: color;
1583
+ transition-property: color;
1584
+ -webkit-transition-duration: 0.5s;
1585
+ transition-duration: 0.5s;
1586
+ }
1587
+ .hvr-bounce-to-top:before {
1588
+ content: "";
1589
+ position: absolute;
1590
+ z-index: -1;
1591
+ top: 0;
1592
+ left: 0;
1593
+ right: 0;
1594
+ bottom: 0;
1595
+ background: #2098D1;
1596
+ -webkit-transform: scaleY(0);
1597
+ transform: scaleY(0);
1598
+ -webkit-transform-origin: 50% 100%;
1599
+ transform-origin: 50% 100%;
1600
+ -webkit-transition-property: transform;
1601
+ transition-property: transform;
1602
+ -webkit-transition-duration: 0.5s;
1603
+ transition-duration: 0.5s;
1604
+ -webkit-transition-timing-function: ease-out;
1605
+ transition-timing-function: ease-out;
1606
+ }
1607
+ .hvr-bounce-to-top:hover, .hvr-bounce-to-top:focus, .hvr-bounce-to-top:active {
1608
+ color: white;
1609
+ }
1610
+ .hvr-bounce-to-top:hover:before, .hvr-bounce-to-top:focus:before, .hvr-bounce-to-top:active:before {
1611
+ -webkit-transform: scaleY(1);
1612
+ transform: scaleY(1);
1613
+ -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1614
+ transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
1615
+ }
1616
+
1617
+ /* Radial Out */
1618
+ .hvr-radial-out {
1619
+ display: inline-block;
1620
+ vertical-align: middle;
1621
+ -webkit-transform: perspective(1px) translateZ(0);
1622
+ transform: perspective(1px) translateZ(0);
1623
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1624
+ position: relative;
1625
+ overflow: hidden;
1626
+ background: #e1e1e1;
1627
+ -webkit-transition-property: color;
1628
+ transition-property: color;
1629
+ -webkit-transition-duration: 0.3s;
1630
+ transition-duration: 0.3s;
1631
+ }
1632
+ .hvr-radial-out:before {
1633
+ content: "";
1634
+ position: absolute;
1635
+ z-index: -1;
1636
+ top: 0;
1637
+ left: 0;
1638
+ right: 0;
1639
+ bottom: 0;
1640
+ background: #2098D1;
1641
+ border-radius: 100%;
1642
+ -webkit-transform: scale(0);
1643
+ transform: scale(0);
1644
+ -webkit-transition-property: transform;
1645
+ transition-property: transform;
1646
+ -webkit-transition-duration: 0.3s;
1647
+ transition-duration: 0.3s;
1648
+ -webkit-transition-timing-function: ease-out;
1649
+ transition-timing-function: ease-out;
1650
+ }
1651
+ .hvr-radial-out:hover, .hvr-radial-out:focus, .hvr-radial-out:active {
1652
+ color: white;
1653
+ }
1654
+ .hvr-radial-out:hover:before, .hvr-radial-out:focus:before, .hvr-radial-out:active:before {
1655
+ -webkit-transform: scale(2);
1656
+ transform: scale(2);
1657
+ }
1658
+
1659
+ /* Radial In */
1660
+ .hvr-radial-in {
1661
+ display: inline-block;
1662
+ vertical-align: middle;
1663
+ -webkit-transform: perspective(1px) translateZ(0);
1664
+ transform: perspective(1px) translateZ(0);
1665
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1666
+ position: relative;
1667
+ overflow: hidden;
1668
+ background: #2098D1;
1669
+ -webkit-transition-property: color;
1670
+ transition-property: color;
1671
+ -webkit-transition-duration: 0.3s;
1672
+ transition-duration: 0.3s;
1673
+ }
1674
+ .hvr-radial-in:before {
1675
+ content: "";
1676
+ position: absolute;
1677
+ z-index: -1;
1678
+ top: 0;
1679
+ left: 0;
1680
+ right: 0;
1681
+ bottom: 0;
1682
+ background: #e1e1e1;
1683
+ border-radius: 100%;
1684
+ -webkit-transform: scale(2);
1685
+ transform: scale(2);
1686
+ -webkit-transition-property: transform;
1687
+ transition-property: transform;
1688
+ -webkit-transition-duration: 0.3s;
1689
+ transition-duration: 0.3s;
1690
+ -webkit-transition-timing-function: ease-out;
1691
+ transition-timing-function: ease-out;
1692
+ }
1693
+ .hvr-radial-in:hover, .hvr-radial-in:focus, .hvr-radial-in:active {
1694
+ color: white;
1695
+ }
1696
+ .hvr-radial-in:hover:before, .hvr-radial-in:focus:before, .hvr-radial-in:active:before {
1697
+ -webkit-transform: scale(0);
1698
+ transform: scale(0);
1699
+ }
1700
+
1701
+ /* Rectangle In */
1702
+ .hvr-rectangle-in {
1703
+ display: inline-block;
1704
+ vertical-align: middle;
1705
+ -webkit-transform: perspective(1px) translateZ(0);
1706
+ transform: perspective(1px) translateZ(0);
1707
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1708
+ position: relative;
1709
+ background: #2098D1;
1710
+ -webkit-transition-property: color;
1711
+ transition-property: color;
1712
+ -webkit-transition-duration: 0.3s;
1713
+ transition-duration: 0.3s;
1714
+ }
1715
+ .hvr-rectangle-in:before {
1716
+ content: "";
1717
+ position: absolute;
1718
+ z-index: -1;
1719
+ top: 0;
1720
+ left: 0;
1721
+ right: 0;
1722
+ bottom: 0;
1723
+ background: #e1e1e1;
1724
+ -webkit-transform: scale(1);
1725
+ transform: scale(1);
1726
+ -webkit-transition-property: transform;
1727
+ transition-property: transform;
1728
+ -webkit-transition-duration: 0.3s;
1729
+ transition-duration: 0.3s;
1730
+ -webkit-transition-timing-function: ease-out;
1731
+ transition-timing-function: ease-out;
1732
+ }
1733
+ .hvr-rectangle-in:hover, .hvr-rectangle-in:focus, .hvr-rectangle-in:active {
1734
+ color: white;
1735
+ }
1736
+ .hvr-rectangle-in:hover:before, .hvr-rectangle-in:focus:before, .hvr-rectangle-in:active:before {
1737
+ -webkit-transform: scale(0);
1738
+ transform: scale(0);
1739
+ }
1740
+
1741
+ /* Rectangle Out */
1742
+ .hvr-rectangle-out {
1743
+ display: inline-block;
1744
+ vertical-align: middle;
1745
+ -webkit-transform: perspective(1px) translateZ(0);
1746
+ transform: perspective(1px) translateZ(0);
1747
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1748
+ position: relative;
1749
+ background: #e1e1e1;
1750
+ -webkit-transition-property: color;
1751
+ transition-property: color;
1752
+ -webkit-transition-duration: 0.3s;
1753
+ transition-duration: 0.3s;
1754
+ }
1755
+ .hvr-rectangle-out:before {
1756
+ content: "";
1757
+ position: absolute;
1758
+ z-index: -1;
1759
+ top: 0;
1760
+ left: 0;
1761
+ right: 0;
1762
+ bottom: 0;
1763
+ background: #2098D1;
1764
+ -webkit-transform: scale(0);
1765
+ transform: scale(0);
1766
+ -webkit-transition-property: transform;
1767
+ transition-property: transform;
1768
+ -webkit-transition-duration: 0.3s;
1769
+ transition-duration: 0.3s;
1770
+ -webkit-transition-timing-function: ease-out;
1771
+ transition-timing-function: ease-out;
1772
+ }
1773
+ .hvr-rectangle-out:hover, .hvr-rectangle-out:focus, .hvr-rectangle-out:active {
1774
+ color: white;
1775
+ }
1776
+ .hvr-rectangle-out:hover:before, .hvr-rectangle-out:focus:before, .hvr-rectangle-out:active:before {
1777
+ -webkit-transform: scale(1);
1778
+ transform: scale(1);
1779
+ }
1780
+
1781
+ /* Shutter In Horizontal */
1782
+ .hvr-shutter-in-horizontal {
1783
+ display: inline-block;
1784
+ vertical-align: middle;
1785
+ -webkit-transform: perspective(1px) translateZ(0);
1786
+ transform: perspective(1px) translateZ(0);
1787
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1788
+ position: relative;
1789
+ background: #2098D1;
1790
+ -webkit-transition-property: color;
1791
+ transition-property: color;
1792
+ -webkit-transition-duration: 0.3s;
1793
+ transition-duration: 0.3s;
1794
+ }
1795
+ .hvr-shutter-in-horizontal:before {
1796
+ content: "";
1797
+ position: absolute;
1798
+ z-index: -1;
1799
+ top: 0;
1800
+ bottom: 0;
1801
+ left: 0;
1802
+ right: 0;
1803
+ background: #e1e1e1;
1804
+ -webkit-transform: scaleX(1);
1805
+ transform: scaleX(1);
1806
+ -webkit-transform-origin: 50%;
1807
+ transform-origin: 50%;
1808
+ -webkit-transition-property: transform;
1809
+ transition-property: transform;
1810
+ -webkit-transition-duration: 0.3s;
1811
+ transition-duration: 0.3s;
1812
+ -webkit-transition-timing-function: ease-out;
1813
+ transition-timing-function: ease-out;
1814
+ }
1815
+ .hvr-shutter-in-horizontal:hover, .hvr-shutter-in-horizontal:focus, .hvr-shutter-in-horizontal:active {
1816
+ color: white;
1817
+ }
1818
+ .hvr-shutter-in-horizontal:hover:before, .hvr-shutter-in-horizontal:focus:before, .hvr-shutter-in-horizontal:active:before {
1819
+ -webkit-transform: scaleX(0);
1820
+ transform: scaleX(0);
1821
+ }
1822
+
1823
+ /* Shutter Out Horizontal */
1824
+ .hvr-shutter-out-horizontal {
1825
+ display: inline-block;
1826
+ vertical-align: middle;
1827
+ -webkit-transform: perspective(1px) translateZ(0);
1828
+ transform: perspective(1px) translateZ(0);
1829
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1830
+ position: relative;
1831
+ background: #e1e1e1;
1832
+ -webkit-transition-property: color;
1833
+ transition-property: color;
1834
+ -webkit-transition-duration: 0.3s;
1835
+ transition-duration: 0.3s;
1836
+ }
1837
+ .hvr-shutter-out-horizontal:before {
1838
+ content: "";
1839
+ position: absolute;
1840
+ z-index: -1;
1841
+ top: 0;
1842
+ bottom: 0;
1843
+ left: 0;
1844
+ right: 0;
1845
+ background: #2098D1;
1846
+ -webkit-transform: scaleX(0);
1847
+ transform: scaleX(0);
1848
+ -webkit-transform-origin: 50%;
1849
+ transform-origin: 50%;
1850
+ -webkit-transition-property: transform;
1851
+ transition-property: transform;
1852
+ -webkit-transition-duration: 0.3s;
1853
+ transition-duration: 0.3s;
1854
+ -webkit-transition-timing-function: ease-out;
1855
+ transition-timing-function: ease-out;
1856
+ }
1857
+ .hvr-shutter-out-horizontal:hover, .hvr-shutter-out-horizontal:focus, .hvr-shutter-out-horizontal:active {
1858
+ color: white;
1859
+ }
1860
+ .hvr-shutter-out-horizontal:hover:before, .hvr-shutter-out-horizontal:focus:before, .hvr-shutter-out-horizontal:active:before {
1861
+ -webkit-transform: scaleX(1);
1862
+ transform: scaleX(1);
1863
+ }
1864
+
1865
+ /* Shutter In Vertical */
1866
+ .hvr-shutter-in-vertical {
1867
+ display: inline-block;
1868
+ vertical-align: middle;
1869
+ -webkit-transform: perspective(1px) translateZ(0);
1870
+ transform: perspective(1px) translateZ(0);
1871
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1872
+ position: relative;
1873
+ background: #2098D1;
1874
+ -webkit-transition-property: color;
1875
+ transition-property: color;
1876
+ -webkit-transition-duration: 0.3s;
1877
+ transition-duration: 0.3s;
1878
+ }
1879
+ .hvr-shutter-in-vertical:before {
1880
+ content: "";
1881
+ position: absolute;
1882
+ z-index: -1;
1883
+ top: 0;
1884
+ bottom: 0;
1885
+ left: 0;
1886
+ right: 0;
1887
+ background: #e1e1e1;
1888
+ -webkit-transform: scaleY(1);
1889
+ transform: scaleY(1);
1890
+ -webkit-transform-origin: 50%;
1891
+ transform-origin: 50%;
1892
+ -webkit-transition-property: transform;
1893
+ transition-property: transform;
1894
+ -webkit-transition-duration: 0.3s;
1895
+ transition-duration: 0.3s;
1896
+ -webkit-transition-timing-function: ease-out;
1897
+ transition-timing-function: ease-out;
1898
+ }
1899
+ .hvr-shutter-in-vertical:hover, .hvr-shutter-in-vertical:focus, .hvr-shutter-in-vertical:active {
1900
+ color: white;
1901
+ }
1902
+ .hvr-shutter-in-vertical:hover:before, .hvr-shutter-in-vertical:focus:before, .hvr-shutter-in-vertical:active:before {
1903
+ -webkit-transform: scaleY(0);
1904
+ transform: scaleY(0);
1905
+ }
1906
+
1907
+ /* Shutter Out Vertical */
1908
+ .hvr-shutter-out-vertical {
1909
+ display: inline-block;
1910
+ vertical-align: middle;
1911
+ -webkit-transform: perspective(1px) translateZ(0);
1912
+ transform: perspective(1px) translateZ(0);
1913
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1914
+ position: relative;
1915
+ background: #e1e1e1;
1916
+ -webkit-transition-property: color;
1917
+ transition-property: color;
1918
+ -webkit-transition-duration: 0.3s;
1919
+ transition-duration: 0.3s;
1920
+ }
1921
+ .hvr-shutter-out-vertical:before {
1922
+ content: "";
1923
+ position: absolute;
1924
+ z-index: -1;
1925
+ top: 0;
1926
+ bottom: 0;
1927
+ left: 0;
1928
+ right: 0;
1929
+ background: #2098D1;
1930
+ -webkit-transform: scaleY(0);
1931
+ transform: scaleY(0);
1932
+ -webkit-transform-origin: 50%;
1933
+ transform-origin: 50%;
1934
+ -webkit-transition-property: transform;
1935
+ transition-property: transform;
1936
+ -webkit-transition-duration: 0.3s;
1937
+ transition-duration: 0.3s;
1938
+ -webkit-transition-timing-function: ease-out;
1939
+ transition-timing-function: ease-out;
1940
+ }
1941
+ .hvr-shutter-out-vertical:hover, .hvr-shutter-out-vertical:focus, .hvr-shutter-out-vertical:active {
1942
+ color: white;
1943
+ }
1944
+ .hvr-shutter-out-vertical:hover:before, .hvr-shutter-out-vertical:focus:before, .hvr-shutter-out-vertical:active:before {
1945
+ -webkit-transform: scaleY(1);
1946
+ transform: scaleY(1);
1947
+ }
1948
+
1949
+ /* BORDER TRANSITIONS */
1950
+ /* Border Fade */
1951
+ .hvr-border-fade {
1952
+ display: inline-block;
1953
+ vertical-align: middle;
1954
+ -webkit-transform: perspective(1px) translateZ(0);
1955
+ transform: perspective(1px) translateZ(0);
1956
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1957
+ -webkit-transition-duration: 0.3s;
1958
+ transition-duration: 0.3s;
1959
+ -webkit-transition-property: box-shadow;
1960
+ transition-property: box-shadow;
1961
+ box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
1962
+ /* Hack to improve aliasing on mobile/tablet devices */
1963
+ }
1964
+ .hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
1965
+ box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px rgba(0, 0, 0, 0);
1966
+ /* Hack to improve aliasing on mobile/tablet devices */
1967
+ }
1968
+
1969
+ /* Hollow */
1970
+ .hvr-hollow {
1971
+ display: inline-block;
1972
+ vertical-align: middle;
1973
+ -webkit-transform: perspective(1px) translateZ(0);
1974
+ transform: perspective(1px) translateZ(0);
1975
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1976
+ -webkit-transition-duration: 0.3s;
1977
+ transition-duration: 0.3s;
1978
+ -webkit-transition-property: background;
1979
+ transition-property: background;
1980
+ box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
1981
+ /* Hack to improve aliasing on mobile/tablet devices */
1982
+ }
1983
+ .hvr-hollow:hover, .hvr-hollow:focus, .hvr-hollow:active {
1984
+ background: none;
1985
+ }
1986
+
1987
+ /* Trim */
1988
+ .hvr-trim {
1989
+ display: inline-block;
1990
+ vertical-align: middle;
1991
+ -webkit-transform: perspective(1px) translateZ(0);
1992
+ transform: perspective(1px) translateZ(0);
1993
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
1994
+ position: relative;
1995
+ }
1996
+ .hvr-trim:before {
1997
+ content: '';
1998
+ position: absolute;
1999
+ border: white solid 4px;
2000
+ top: 4px;
2001
+ left: 4px;
2002
+ right: 4px;
2003
+ bottom: 4px;
2004
+ opacity: 0;
2005
+ -webkit-transition-duration: 0.3s;
2006
+ transition-duration: 0.3s;
2007
+ -webkit-transition-property: opacity;
2008
+ transition-property: opacity;
2009
+ }
2010
+ .hvr-trim:hover:before, .hvr-trim:focus:before, .hvr-trim:active:before {
2011
+ opacity: 1;
2012
+ }
2013
+
2014
+ /* Ripple Out */
2015
+ @-webkit-keyframes hvr-ripple-out {
2016
+ 100% {
2017
+ top: -12px;
2018
+ right: -12px;
2019
+ bottom: -12px;
2020
+ left: -12px;
2021
+ opacity: 0;
2022
+ }
2023
+ }
2024
+ @keyframes hvr-ripple-out {
2025
+ 100% {
2026
+ top: -12px;
2027
+ right: -12px;
2028
+ bottom: -12px;
2029
+ left: -12px;
2030
+ opacity: 0;
2031
+ }
2032
+ }
2033
+ .hvr-ripple-out {
2034
+ display: inline-block;
2035
+ vertical-align: middle;
2036
+ -webkit-transform: perspective(1px) translateZ(0);
2037
+ transform: perspective(1px) translateZ(0);
2038
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2039
+ position: relative;
2040
+ }
2041
+ .hvr-ripple-out:before {
2042
+ content: '';
2043
+ position: absolute;
2044
+ border: #e1e1e1 solid 6px;
2045
+ top: 0;
2046
+ right: 0;
2047
+ bottom: 0;
2048
+ left: 0;
2049
+ -webkit-animation-duration: 1s;
2050
+ animation-duration: 1s;
2051
+ }
2052
+ .hvr-ripple-out:hover:before, .hvr-ripple-out:focus:before, .hvr-ripple-out:active:before {
2053
+ -webkit-animation-name: hvr-ripple-out;
2054
+ animation-name: hvr-ripple-out;
2055
+ }
2056
+
2057
+ /* Ripple In */
2058
+ @-webkit-keyframes hvr-ripple-in {
2059
+ 100% {
2060
+ top: 0;
2061
+ right: 0;
2062
+ bottom: 0;
2063
+ left: 0;
2064
+ opacity: 1;
2065
+ }
2066
+ }
2067
+ @keyframes hvr-ripple-in {
2068
+ 100% {
2069
+ top: 0;
2070
+ right: 0;
2071
+ bottom: 0;
2072
+ left: 0;
2073
+ opacity: 1;
2074
+ }
2075
+ }
2076
+ .hvr-ripple-in {
2077
+ display: inline-block;
2078
+ vertical-align: middle;
2079
+ -webkit-transform: perspective(1px) translateZ(0);
2080
+ transform: perspective(1px) translateZ(0);
2081
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2082
+ position: relative;
2083
+ }
2084
+ .hvr-ripple-in:before {
2085
+ content: '';
2086
+ position: absolute;
2087
+ border: #e1e1e1 solid 4px;
2088
+ top: -12px;
2089
+ right: -12px;
2090
+ bottom: -12px;
2091
+ left: -12px;
2092
+ opacity: 0;
2093
+ -webkit-animation-duration: 1s;
2094
+ animation-duration: 1s;
2095
+ }
2096
+ .hvr-ripple-in:hover:before, .hvr-ripple-in:focus:before, .hvr-ripple-in:active:before {
2097
+ -webkit-animation-name: hvr-ripple-in;
2098
+ animation-name: hvr-ripple-in;
2099
+ }
2100
+
2101
+ /* Outline Out */
2102
+ .hvr-outline-out {
2103
+ display: inline-block;
2104
+ vertical-align: middle;
2105
+ -webkit-transform: perspective(1px) translateZ(0);
2106
+ transform: perspective(1px) translateZ(0);
2107
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2108
+ position: relative;
2109
+ }
2110
+ .hvr-outline-out:before {
2111
+ content: '';
2112
+ position: absolute;
2113
+ border: #e1e1e1 solid 4px;
2114
+ top: 0;
2115
+ right: 0;
2116
+ bottom: 0;
2117
+ left: 0;
2118
+ -webkit-transition-duration: 0.3s;
2119
+ transition-duration: 0.3s;
2120
+ -webkit-transition-property: top, right, bottom, left;
2121
+ transition-property: top, right, bottom, left;
2122
+ }
2123
+ .hvr-outline-out:hover:before, .hvr-outline-out:focus:before, .hvr-outline-out:active:before {
2124
+ top: -8px;
2125
+ right: -8px;
2126
+ bottom: -8px;
2127
+ left: -8px;
2128
+ }
2129
+
2130
+ /* Outline In. The original name was "hvr-outline-in". */
2131
+ .on_hover_outline_in {
2132
+ display: inline-block;
2133
+ vertical-align: middle;
2134
+ -webkit-transform: perspective(1px) translateZ(0);
2135
+ transform: perspective(1px) translateZ(0);
2136
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2137
+ position: relative;
2138
+ }
2139
+ .on_hover_outline_in:before {
2140
+ pointer-events: none;
2141
+ content: '';
2142
+ position: absolute;
2143
+ border: #e1e1e1 solid 3px;
2144
+ top: -16px;
2145
+ right: -16px;
2146
+ bottom: -16px;
2147
+ left: -16px;
2148
+ opacity: 0;
2149
+ -webkit-transition-duration: 0.3s;
2150
+ transition-duration: 0.3s;
2151
+ -webkit-transition-property: top, right, bottom, left;
2152
+ transition-property: top, right, bottom, left;
2153
+ }
2154
+ .on_hover_outline_in:hover:before,
2155
+ .on_hover_outline_in:focus:before,
2156
+ .on_hover_outline_in:active:before {
2157
+ top: -8px;
2158
+ right: -8px;
2159
+ bottom: -8px;
2160
+ left: -8px;
2161
+ opacity: 1;
2162
+ }
2163
+
2164
+ /* Round Corners */
2165
+ .hvr-round-corners {
2166
+ display: inline-block;
2167
+ vertical-align: middle;
2168
+ -webkit-transform: perspective(1px) translateZ(0);
2169
+ transform: perspective(1px) translateZ(0);
2170
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2171
+ -webkit-transition-duration: 0.3s;
2172
+ transition-duration: 0.3s;
2173
+ -webkit-transition-property: border-radius;
2174
+ transition-property: border-radius;
2175
+ }
2176
+ .hvr-round-corners:hover, .hvr-round-corners:focus, .hvr-round-corners:active {
2177
+ border-radius: 1em;
2178
+ }
2179
+
2180
+ /* Underline From Left */
2181
+ .hvr-underline-from-left {
2182
+ display: inline-block;
2183
+ vertical-align: middle;
2184
+ -webkit-transform: perspective(1px) translateZ(0);
2185
+ transform: perspective(1px) translateZ(0);
2186
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2187
+ position: relative;
2188
+ overflow: hidden;
2189
+ }
2190
+ .hvr-underline-from-left:before {
2191
+ content: "";
2192
+ position: absolute;
2193
+ z-index: -1;
2194
+ left: 0;
2195
+ right: 100%;
2196
+ bottom: 0;
2197
+ background: #2098D1;
2198
+ height: 4px;
2199
+ -webkit-transition-property: right;
2200
+ transition-property: right;
2201
+ -webkit-transition-duration: 0.3s;
2202
+ transition-duration: 0.3s;
2203
+ -webkit-transition-timing-function: ease-out;
2204
+ transition-timing-function: ease-out;
2205
+ }
2206
+ .hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before {
2207
+ right: 0;
2208
+ }
2209
+
2210
+ /* Underline From Center */
2211
+ .hvr-underline-from-center {
2212
+ display: inline-block;
2213
+ vertical-align: middle;
2214
+ -webkit-transform: perspective(1px) translateZ(0);
2215
+ transform: perspective(1px) translateZ(0);
2216
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2217
+ position: relative;
2218
+ overflow: hidden;
2219
+ }
2220
+ .hvr-underline-from-center:before {
2221
+ content: "";
2222
+ position: absolute;
2223
+ z-index: -1;
2224
+ left: 51%;
2225
+ right: 51%;
2226
+ bottom: 0;
2227
+ background: #2098D1;
2228
+ height: 4px;
2229
+ -webkit-transition-property: left, right;
2230
+ transition-property: left, right;
2231
+ -webkit-transition-duration: 0.3s;
2232
+ transition-duration: 0.3s;
2233
+ -webkit-transition-timing-function: ease-out;
2234
+ transition-timing-function: ease-out;
2235
+ }
2236
+ .hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before {
2237
+ left: 0;
2238
+ right: 0;
2239
+ }
2240
+
2241
+ /* Underline From Right */
2242
+ .hvr-underline-from-right {
2243
+ display: inline-block;
2244
+ vertical-align: middle;
2245
+ -webkit-transform: perspective(1px) translateZ(0);
2246
+ transform: perspective(1px) translateZ(0);
2247
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2248
+ position: relative;
2249
+ overflow: hidden;
2250
+ }
2251
+ .hvr-underline-from-right:before {
2252
+ content: "";
2253
+ position: absolute;
2254
+ z-index: -1;
2255
+ left: 100%;
2256
+ right: 0;
2257
+ bottom: 0;
2258
+ background: #2098D1;
2259
+ height: 4px;
2260
+ -webkit-transition-property: left;
2261
+ transition-property: left;
2262
+ -webkit-transition-duration: 0.3s;
2263
+ transition-duration: 0.3s;
2264
+ -webkit-transition-timing-function: ease-out;
2265
+ transition-timing-function: ease-out;
2266
+ }
2267
+ .hvr-underline-from-right:hover:before, .hvr-underline-from-right:focus:before, .hvr-underline-from-right:active:before {
2268
+ left: 0;
2269
+ }
2270
+
2271
+ /* Overline From Left */
2272
+ .hvr-overline-from-left {
2273
+ display: inline-block;
2274
+ vertical-align: middle;
2275
+ -webkit-transform: perspective(1px) translateZ(0);
2276
+ transform: perspective(1px) translateZ(0);
2277
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2278
+ position: relative;
2279
+ overflow: hidden;
2280
+ }
2281
+ .hvr-overline-from-left:before {
2282
+ content: "";
2283
+ position: absolute;
2284
+ z-index: -1;
2285
+ left: 0;
2286
+ right: 100%;
2287
+ top: 0;
2288
+ background: #2098D1;
2289
+ height: 4px;
2290
+ -webkit-transition-property: right;
2291
+ transition-property: right;
2292
+ -webkit-transition-duration: 0.3s;
2293
+ transition-duration: 0.3s;
2294
+ -webkit-transition-timing-function: ease-out;
2295
+ transition-timing-function: ease-out;
2296
+ }
2297
+ .hvr-overline-from-left:hover:before, .hvr-overline-from-left:focus:before, .hvr-overline-from-left:active:before {
2298
+ right: 0;
2299
+ }
2300
+
2301
+ /* Overline From Center */
2302
+ .hvr-overline-from-center {
2303
+ display: inline-block;
2304
+ vertical-align: middle;
2305
+ -webkit-transform: perspective(1px) translateZ(0);
2306
+ transform: perspective(1px) translateZ(0);
2307
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2308
+ position: relative;
2309
+ overflow: hidden;
2310
+ }
2311
+ .hvr-overline-from-center:before {
2312
+ content: "";
2313
+ position: absolute;
2314
+ z-index: -1;
2315
+ left: 51%;
2316
+ right: 51%;
2317
+ top: 0;
2318
+ background: #2098D1;
2319
+ height: 4px;
2320
+ -webkit-transition-property: left, right;
2321
+ transition-property: left, right;
2322
+ -webkit-transition-duration: 0.3s;
2323
+ transition-duration: 0.3s;
2324
+ -webkit-transition-timing-function: ease-out;
2325
+ transition-timing-function: ease-out;
2326
+ }
2327
+ .hvr-overline-from-center:hover:before, .hvr-overline-from-center:focus:before, .hvr-overline-from-center:active:before {
2328
+ left: 0;
2329
+ right: 0;
2330
+ }
2331
+
2332
+ /* Overline From Right */
2333
+ .hvr-overline-from-right {
2334
+ display: inline-block;
2335
+ vertical-align: middle;
2336
+ -webkit-transform: perspective(1px) translateZ(0);
2337
+ transform: perspective(1px) translateZ(0);
2338
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2339
+ position: relative;
2340
+ overflow: hidden;
2341
+ }
2342
+ .hvr-overline-from-right:before {
2343
+ content: "";
2344
+ position: absolute;
2345
+ z-index: -1;
2346
+ left: 100%;
2347
+ right: 0;
2348
+ top: 0;
2349
+ background: #2098D1;
2350
+ height: 4px;
2351
+ -webkit-transition-property: left;
2352
+ transition-property: left;
2353
+ -webkit-transition-duration: 0.3s;
2354
+ transition-duration: 0.3s;
2355
+ -webkit-transition-timing-function: ease-out;
2356
+ transition-timing-function: ease-out;
2357
+ }
2358
+ .hvr-overline-from-right:hover:before, .hvr-overline-from-right:focus:before, .hvr-overline-from-right:active:before {
2359
+ left: 0;
2360
+ }
2361
+
2362
+ /* Reveal */
2363
+ .hvr-reveal {
2364
+ display: inline-block;
2365
+ vertical-align: middle;
2366
+ -webkit-transform: perspective(1px) translateZ(0);
2367
+ transform: perspective(1px) translateZ(0);
2368
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2369
+ position: relative;
2370
+ overflow: hidden;
2371
+ }
2372
+ .hvr-reveal:before {
2373
+ content: "";
2374
+ position: absolute;
2375
+ z-index: -1;
2376
+ left: 0;
2377
+ right: 0;
2378
+ top: 0;
2379
+ bottom: 0;
2380
+ border-color: #2098D1;
2381
+ border-style: solid;
2382
+ border-width: 0;
2383
+ -webkit-transition-property: border-width;
2384
+ transition-property: border-width;
2385
+ -webkit-transition-duration: 0.1s;
2386
+ transition-duration: 0.1s;
2387
+ -webkit-transition-timing-function: ease-out;
2388
+ transition-timing-function: ease-out;
2389
+ }
2390
+ .hvr-reveal:hover:before, .hvr-reveal:focus:before, .hvr-reveal:active:before {
2391
+ -webkit-transform: translateY(0);
2392
+ transform: translateY(0);
2393
+ border-width: 4px;
2394
+ }
2395
+
2396
+ /* Underline Reveal */
2397
+ .hvr-underline-reveal {
2398
+ display: inline-block;
2399
+ vertical-align: middle;
2400
+ -webkit-transform: perspective(1px) translateZ(0);
2401
+ transform: perspective(1px) translateZ(0);
2402
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2403
+ position: relative;
2404
+ overflow: hidden;
2405
+ }
2406
+ .hvr-underline-reveal:before {
2407
+ content: "";
2408
+ position: absolute;
2409
+ z-index: -1;
2410
+ left: 0;
2411
+ right: 0;
2412
+ bottom: 0;
2413
+ background: #2098D1;
2414
+ height: 4px;
2415
+ -webkit-transform: translateY(4px);
2416
+ transform: translateY(4px);
2417
+ -webkit-transition-property: transform;
2418
+ transition-property: transform;
2419
+ -webkit-transition-duration: 0.3s;
2420
+ transition-duration: 0.3s;
2421
+ -webkit-transition-timing-function: ease-out;
2422
+ transition-timing-function: ease-out;
2423
+ }
2424
+ .hvr-underline-reveal:hover:before, .hvr-underline-reveal:focus:before, .hvr-underline-reveal:active:before {
2425
+ -webkit-transform: translateY(0);
2426
+ transform: translateY(0);
2427
+ }
2428
+
2429
+ /* Overline Reveal */
2430
+ .hvr-overline-reveal {
2431
+ display: inline-block;
2432
+ vertical-align: middle;
2433
+ -webkit-transform: perspective(1px) translateZ(0);
2434
+ transform: perspective(1px) translateZ(0);
2435
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2436
+ position: relative;
2437
+ overflow: hidden;
2438
+ }
2439
+ .hvr-overline-reveal:before {
2440
+ content: "";
2441
+ position: absolute;
2442
+ z-index: -1;
2443
+ left: 0;
2444
+ right: 0;
2445
+ top: 0;
2446
+ background: #2098D1;
2447
+ height: 4px;
2448
+ -webkit-transform: translateY(-4px);
2449
+ transform: translateY(-4px);
2450
+ -webkit-transition-property: transform;
2451
+ transition-property: transform;
2452
+ -webkit-transition-duration: 0.3s;
2453
+ transition-duration: 0.3s;
2454
+ -webkit-transition-timing-function: ease-out;
2455
+ transition-timing-function: ease-out;
2456
+ }
2457
+ .hvr-overline-reveal:hover:before, .hvr-overline-reveal:focus:before, .hvr-overline-reveal:active:before {
2458
+ -webkit-transform: translateY(0);
2459
+ transform: translateY(0);
2460
+ }
2461
+
2462
+ /* SHADOW/GLOW TRANSITIONS */
2463
+ /* Glow */
2464
+ .on_hover_glow {
2465
+ display: inline-block;
2466
+ vertical-align: middle;
2467
+ -webkit-transform: perspective(1px) translateZ(0);
2468
+ transform: perspective(1px) translateZ(0);
2469
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2470
+ -webkit-transition-duration: 0.3s;
2471
+ transition-duration: 0.3s;
2472
+ -webkit-transition-property: box-shadow;
2473
+ transition-property: box-shadow;
2474
+ }
2475
+ .on_hover_glow:hover,
2476
+ .on_hover_glow:focus,
2477
+ .on_hover_glow:active {
2478
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
2479
+ }
2480
+
2481
+ /* Shadow */
2482
+ .hvr-shadow {
2483
+ display: inline-block;
2484
+ vertical-align: middle;
2485
+ -webkit-transform: perspective(1px) translateZ(0);
2486
+ transform: perspective(1px) translateZ(0);
2487
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2488
+ -webkit-transition-duration: 0.3s;
2489
+ transition-duration: 0.3s;
2490
+ -webkit-transition-property: box-shadow;
2491
+ transition-property: box-shadow;
2492
+ }
2493
+ .hvr-shadow:hover, .hvr-shadow:focus, .hvr-shadow:active {
2494
+ box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
2495
+ }
2496
+
2497
+ /* Grow Shadow */
2498
+ .hvr-grow-shadow {
2499
+ display: inline-block;
2500
+ vertical-align: middle;
2501
+ -webkit-transform: perspective(1px) translateZ(0);
2502
+ transform: perspective(1px) translateZ(0);
2503
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2504
+ -webkit-transition-duration: 0.3s;
2505
+ transition-duration: 0.3s;
2506
+ -webkit-transition-property: box-shadow, transform;
2507
+ transition-property: box-shadow, transform;
2508
+ }
2509
+ .hvr-grow-shadow:hover, .hvr-grow-shadow:focus, .hvr-grow-shadow:active {
2510
+ box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
2511
+ -webkit-transform: scale(1.1);
2512
+ transform: scale(1.1);
2513
+ }
2514
+
2515
+ /* Box Shadow Outset */
2516
+ .hvr-box-shadow-outset {
2517
+ display: inline-block;
2518
+ vertical-align: middle;
2519
+ -webkit-transform: perspective(1px) translateZ(0);
2520
+ transform: perspective(1px) translateZ(0);
2521
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2522
+ -webkit-transition-duration: 0.3s;
2523
+ transition-duration: 0.3s;
2524
+ -webkit-transition-property: box-shadow;
2525
+ transition-property: box-shadow;
2526
+ }
2527
+ .hvr-box-shadow-outset:hover, .hvr-box-shadow-outset:focus, .hvr-box-shadow-outset:active {
2528
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
2529
+ }
2530
+
2531
+ /* Box Shadow Inset */
2532
+ .hvr-box-shadow-inset {
2533
+ display: inline-block;
2534
+ vertical-align: middle;
2535
+ -webkit-transform: perspective(1px) translateZ(0);
2536
+ transform: perspective(1px) translateZ(0);
2537
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2538
+ -webkit-transition-duration: 0.3s;
2539
+ transition-duration: 0.3s;
2540
+ -webkit-transition-property: box-shadow;
2541
+ transition-property: box-shadow;
2542
+ box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
2543
+ /* Hack to improve aliasing on mobile/tablet devices */
2544
+ }
2545
+ .hvr-box-shadow-inset:hover, .hvr-box-shadow-inset:focus, .hvr-box-shadow-inset:active {
2546
+ box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
2547
+ /* Hack to improve aliasing on mobile/tablet devices */
2548
+ }
2549
+
2550
+ /* Float Shadow */
2551
+ .hvr-float-shadow {
2552
+ display: inline-block;
2553
+ vertical-align: middle;
2554
+ -webkit-transform: perspective(1px) translateZ(0);
2555
+ transform: perspective(1px) translateZ(0);
2556
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2557
+ position: relative;
2558
+ -webkit-transition-duration: 0.3s;
2559
+ transition-duration: 0.3s;
2560
+ -webkit-transition-property: transform;
2561
+ transition-property: transform;
2562
+ }
2563
+ .hvr-float-shadow:before {
2564
+ pointer-events: none;
2565
+ position: absolute;
2566
+ z-index: -1;
2567
+ content: '';
2568
+ top: 100%;
2569
+ left: 5%;
2570
+ height: 10px;
2571
+ width: 90%;
2572
+ opacity: 0;
2573
+ background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
2574
+ background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
2575
+ /* W3C */
2576
+ -webkit-transition-duration: 0.3s;
2577
+ transition-duration: 0.3s;
2578
+ -webkit-transition-property: transform, opacity;
2579
+ transition-property: transform, opacity;
2580
+ }
2581
+ .hvr-float-shadow:hover, .hvr-float-shadow:focus, .hvr-float-shadow:active {
2582
+ -webkit-transform: translateY(-5px);
2583
+ transform: translateY(-5px);
2584
+ /* move the element up by 5px */
2585
+ }
2586
+ .hvr-float-shadow:hover:before, .hvr-float-shadow:focus:before, .hvr-float-shadow:active:before {
2587
+ opacity: 1;
2588
+ -webkit-transform: translateY(5px);
2589
+ transform: translateY(5px);
2590
+ /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */
2591
+ }
2592
+
2593
+ /* Shadow Radial */
2594
+ .hvr-shadow-radial {
2595
+ display: inline-block;
2596
+ vertical-align: middle;
2597
+ -webkit-transform: perspective(1px) translateZ(0);
2598
+ transform: perspective(1px) translateZ(0);
2599
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2600
+ position: relative;
2601
+ }
2602
+ .hvr-shadow-radial:before, .hvr-shadow-radial:after {
2603
+ pointer-events: none;
2604
+ position: absolute;
2605
+ content: '';
2606
+ left: 0;
2607
+ width: 100%;
2608
+ box-sizing: border-box;
2609
+ background-repeat: no-repeat;
2610
+ height: 5px;
2611
+ opacity: 0;
2612
+ -webkit-transition-duration: 0.3s;
2613
+ transition-duration: 0.3s;
2614
+ -webkit-transition-property: opacity;
2615
+ transition-property: opacity;
2616
+ }
2617
+ .hvr-shadow-radial:before {
2618
+ bottom: 100%;
2619
+ background: -webkit-radial-gradient(50% 150%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
2620
+ background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
2621
+ }
2622
+ .hvr-shadow-radial:after {
2623
+ top: 100%;
2624
+ background: -webkit-radial-gradient(50% -50%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
2625
+ background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
2626
+ }
2627
+ .hvr-shadow-radial:hover:before, .hvr-shadow-radial:focus:before, .hvr-shadow-radial:active:before, .hvr-shadow-radial:hover:after, .hvr-shadow-radial:focus:after, .hvr-shadow-radial:active:after {
2628
+ opacity: 1;
2629
+ }
2630
+
2631
+ /* SPEECH BUBBLES */
2632
+
2633
+ /* Bubble Top */
2634
+ .hvr-bubble-top {
2635
+ display: inline-block;
2636
+ vertical-align: middle;
2637
+ -webkit-transform: perspective(1px) translateZ(0);
2638
+ transform: perspective(1px) translateZ(0);
2639
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2640
+ position: relative;
2641
+ }
2642
+ .hvr-bubble-top:before {
2643
+ pointer-events: none;
2644
+ position: absolute;
2645
+ z-index: -1;
2646
+ content: '';
2647
+ border-style: solid;
2648
+ -webkit-transition-duration: 0.3s;
2649
+ transition-duration: 0.3s;
2650
+ -webkit-transition-property: transform;
2651
+ transition-property: transform;
2652
+ left: calc(50% - 10px);
2653
+ top: 0;
2654
+ border-width: 0 10px 10px 10px;
2655
+ border-color: transparent transparent #e1e1e1 transparent;
2656
+ }
2657
+ .hvr-bubble-top:hover:before,
2658
+ .hvr-bubble-top:focus:before,
2659
+ .hvr-bubble-top:active:before {
2660
+ -webkit-transform: translateY(-10px);
2661
+ transform: translateY(-10px);
2662
+ }
2663
+
2664
+ /* Bubble Right */
2665
+ .hover_bubble_right {
2666
+ display: inline-block;
2667
+ vertical-align: middle;
2668
+ -webkit-transform: perspective(1px) translateZ(0);
2669
+ transform: perspective(1px) translateZ(0);
2670
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2671
+ position: relative;
2672
+ }
2673
+ .hover_bubble_right:before {
2674
+ pointer-events: none;
2675
+ position: absolute;
2676
+ z-index: -1;
2677
+ content: '';
2678
+ border-style: solid;
2679
+ -webkit-transition-duration: 0.3s;
2680
+ transition-duration: 0.3s;
2681
+ -webkit-transition-property: transform;
2682
+ transition-property: transform;
2683
+ top: calc(50% - 10px);
2684
+ right: 0;
2685
+ border-width: 10px 0 10px 10px;
2686
+ border-color: transparent transparent transparent #e1e1e1;
2687
+ }
2688
+ .hover_bubble_right:hover:before,
2689
+ .hover_bubble_right:focus:before,
2690
+ .hover_bubble_right:active:before {
2691
+ -webkit-transform: translateX(10px);
2692
+ transform: translateX(10px);
2693
+ }
2694
+
2695
+ /* Bubble Bottom */
2696
+ .hvr-bubble-bottom {
2697
+ display: inline-block;
2698
+ vertical-align: middle;
2699
+ -webkit-transform: perspective(1px) translateZ(0);
2700
+ transform: perspective(1px) translateZ(0);
2701
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2702
+ position: relative;
2703
+ }
2704
+ .hvr-bubble-bottom:before {
2705
+ pointer-events: none;
2706
+ position: absolute;
2707
+ z-index: -1;
2708
+ content: '';
2709
+ border-style: solid;
2710
+ -webkit-transition-duration: 0.3s;
2711
+ transition-duration: 0.3s;
2712
+ -webkit-transition-property: transform;
2713
+ transition-property: transform;
2714
+ left: calc(50% - 10px);
2715
+ bottom: 0;
2716
+ border-width: 10px 10px 0 10px;
2717
+ border-color: #e1e1e1 transparent transparent transparent;
2718
+ }
2719
+ .hvr-bubble-bottom:hover:before,
2720
+ .hvr-bubble-bottom:focus:before,
2721
+ .hvr-bubble-bottom:active:before {
2722
+ -webkit-transform: translateY(10px);
2723
+ transform: translateY(10px);
2724
+ }
2725
+
2726
+ /* Bubble Left */
2727
+ .hvr-bubble-left {
2728
+ display: inline-block;
2729
+ vertical-align: middle;
2730
+ -webkit-transform: perspective(1px) translateZ(0);
2731
+ transform: perspective(1px) translateZ(0);
2732
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2733
+ position: relative;
2734
+ }
2735
+ .hvr-bubble-left:before {
2736
+ pointer-events: none;
2737
+ position: absolute;
2738
+ z-index: -1;
2739
+ content: '';
2740
+ border-style: solid;
2741
+ -webkit-transition-duration: 0.3s;
2742
+ transition-duration: 0.3s;
2743
+ -webkit-transition-property: transform;
2744
+ transition-property: transform;
2745
+ top: calc(50% - 10px);
2746
+ left: 0;
2747
+ border-width: 10px 10px 10px 0;
2748
+ border-color: transparent #e1e1e1 transparent transparent;
2749
+ }
2750
+
2751
+ .hvr-bubble-left:hover:before,
2752
+ .hvr-bubble-left:focus:before,
2753
+ .hvr-bubble-left:active:before {
2754
+ -webkit-transform: translateX(-10px);
2755
+ transform: translateX(-10px);
2756
+ }
2757
+
2758
+ /* Bubble Float Top */
2759
+ .hvr-bubble-float-top {
2760
+ display: inline-block;
2761
+ vertical-align: middle;
2762
+ -webkit-transform: perspective(1px) translateZ(0);
2763
+ transform: perspective(1px) translateZ(0);
2764
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2765
+ position: relative;
2766
+ -webkit-transition-duration: 0.3s;
2767
+ transition-duration: 0.3s;
2768
+ -webkit-transition-property: transform;
2769
+ transition-property: transform;
2770
+ }
2771
+ .hvr-bubble-float-top:before {
2772
+ position: absolute;
2773
+ z-index: -1;
2774
+ content: '';
2775
+ left: calc(50% - 10px);
2776
+ top: 0;
2777
+ border-style: solid;
2778
+ border-width: 0 10px 10px 10px;
2779
+ border-color: transparent transparent #e1e1e1 transparent;
2780
+ -webkit-transition-duration: 0.3s;
2781
+ transition-duration: 0.3s;
2782
+ -webkit-transition-property: transform;
2783
+ transition-property: transform;
2784
+ }
2785
+ .hvr-bubble-float-top:hover,
2786
+ .hvr-bubble-float-top:focus,
2787
+ .hvr-bubble-float-top:active {
2788
+ -webkit-transform: translateY(10px);
2789
+ transform: translateY(10px);
2790
+ }
2791
+ .hvr-bubble-float-top:hover:before,
2792
+ .hvr-bubble-float-top:focus:before,
2793
+ .hvr-bubble-float-top:active:before {
2794
+ -webkit-transform: translateY(-10px);
2795
+ transform: translateY(-10px);
2796
+ }
2797
+
2798
+ /* Bubble Float Right */
2799
+ .hvr-bubble-float-right {
2800
+ display: inline-block;
2801
+ vertical-align: middle;
2802
+ -webkit-transform: perspective(1px) translateZ(0);
2803
+ transform: perspective(1px) translateZ(0);
2804
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2805
+ position: relative;
2806
+ -webkit-transition-duration: 0.3s;
2807
+ transition-duration: 0.3s;
2808
+ -webkit-transition-property: transform;
2809
+ transition-property: transform;
2810
+ }
2811
+ .hvr-bubble-float-right:before {
2812
+ position: absolute;
2813
+ z-index: -1;
2814
+ top: calc(50% - 10px);
2815
+ right: 0;
2816
+ content: '';
2817
+ border-style: solid;
2818
+ border-width: 10px 0 10px 10px;
2819
+ border-color: transparent transparent transparent #e1e1e1;
2820
+ -webkit-transition-duration: 0.3s;
2821
+ transition-duration: 0.3s;
2822
+ -webkit-transition-property: transform;
2823
+ transition-property: transform;
2824
+ }
2825
+ .hvr-bubble-float-right:hover,
2826
+ .hvr-bubble-float-right:focus,
2827
+ .hvr-bubble-float-right:active {
2828
+ -webkit-transform: translateX(-10px);
2829
+ transform: translateX(-10px);
2830
+ }
2831
+
2832
+ .hvr-bubble-float-right:hover:before,
2833
+ .hvr-bubble-float-right:focus:before,
2834
+ .hvr-bubble-float-right:active:before {
2835
+ -webkit-transform: translateX(10px);
2836
+ transform: translateX(10px);
2837
+ }
2838
+
2839
+ /* Bubble Float Bottom */
2840
+ .hvr-bubble-float-bottom {
2841
+ display: inline-block;
2842
+ vertical-align: middle;
2843
+ -webkit-transform: perspective(1px) translateZ(0);
2844
+ transform: perspective(1px) translateZ(0);
2845
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2846
+ position: relative;
2847
+ -webkit-transition-duration: 0.3s;
2848
+ transition-duration: 0.3s;
2849
+ -webkit-transition-property: transform;
2850
+ transition-property: transform;
2851
+ }
2852
+ .hvr-bubble-float-bottom:before {
2853
+ position: absolute;
2854
+ z-index: -1;
2855
+ content: '';
2856
+ left: calc(50% - 10px);
2857
+ bottom: 0;
2858
+ border-style: solid;
2859
+ border-width: 10px 10px 0 10px;
2860
+ border-color: #e1e1e1 transparent transparent transparent;
2861
+ -webkit-transition-duration: 0.3s;
2862
+ transition-duration: 0.3s;
2863
+ -webkit-transition-property: transform;
2864
+ transition-property: transform;
2865
+ }
2866
+
2867
+ .hvr-bubble-float-bottom:hover,
2868
+ .hvr-bubble-float-bottom:focus,
2869
+ .hvr-bubble-float-bottom:active {
2870
+ -webkit-transform: translateY(-10px);
2871
+ transform: translateY(-10px);
2872
+ }
2873
+ .hvr-bubble-float-bottom:hover:before,
2874
+ .hvr-bubble-float-bottom:focus:before,
2875
+ .hvr-bubble-float-bottom:active:before {
2876
+ -webkit-transform: translateY(10px);
2877
+ transform: translateY(10px);
2878
+ }
2879
+
2880
+ /* Bubble Float Left */
2881
+ .hvr-bubble-float-left {
2882
+ display: inline-block;
2883
+ vertical-align: middle;
2884
+ -webkit-transform: perspective(1px) translateZ(0);
2885
+ transform: perspective(1px) translateZ(0);
2886
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2887
+ position: relative;
2888
+ -webkit-transition-duration: 0.3s;
2889
+ transition-duration: 0.3s;
2890
+ -webkit-transition-property: transform;
2891
+ transition-property: transform;
2892
+ }
2893
+ .hvr-bubble-float-left:before {
2894
+ position: absolute;
2895
+ z-index: -1;
2896
+ content: '';
2897
+ top: calc(50% - 10px);
2898
+ left: 0;
2899
+ border-style: solid;
2900
+ border-width: 10px 10px 10px 0;
2901
+ border-color: transparent #e1e1e1 transparent transparent;
2902
+ -webkit-transition-duration: 0.3s;
2903
+ transition-duration: 0.3s;
2904
+ -webkit-transition-property: transform;
2905
+ transition-property: transform;
2906
+ }
2907
+ .hvr-bubble-float-left:hover, .hvr-bubble-float-left:focus, .hvr-bubble-float-left:active {
2908
+ -webkit-transform: translateX(10px);
2909
+ transform: translateX(10px);
2910
+ }
2911
+ .hvr-bubble-float-left:hover:before,
2912
+ .hvr-bubble-float-left:focus:before,
2913
+ .hvr-bubble-float-left:active:before {
2914
+ -webkit-transform: translateX(-10px);
2915
+ transform: translateX(-10px);
2916
+ }
2917
+
2918
+ /* ICONS */
2919
+ /* Icon Back */
2920
+ .hvr-icon-back {
2921
+ display: inline-block;
2922
+ vertical-align: middle;
2923
+ -webkit-transform: perspective(1px) translateZ(0);
2924
+ transform: perspective(1px) translateZ(0);
2925
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2926
+ -webkit-transition-duration: 0.1s;
2927
+ transition-duration: 0.1s;
2928
+ }
2929
+ .hvr-icon-back .hvr-icon {
2930
+ -webkit-transform: translateZ(0);
2931
+ transform: translateZ(0);
2932
+ -webkit-transition-duration: 0.1s;
2933
+ transition-duration: 0.1s;
2934
+ -webkit-transition-property: transform;
2935
+ transition-property: transform;
2936
+ -webkit-transition-timing-function: ease-out;
2937
+ transition-timing-function: ease-out;
2938
+ }
2939
+ .hvr-icon-back:hover .hvr-icon, .hvr-icon-back:focus .hvr-icon, .hvr-icon-back:active .hvr-icon {
2940
+ -webkit-transform: translateX(-4px);
2941
+ transform: translateX(-4px);
2942
+ }
2943
+
2944
+ /* Icon Forward */
2945
+ .hvr-icon-forward {
2946
+ display: inline-block;
2947
+ vertical-align: middle;
2948
+ -webkit-transform: perspective(1px) translateZ(0);
2949
+ transform: perspective(1px) translateZ(0);
2950
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
2951
+ -webkit-transition-duration: 0.1s;
2952
+ transition-duration: 0.1s;
2953
+ }
2954
+ .hvr-icon-forward .hvr-icon {
2955
+ -webkit-transform: translateZ(0);
2956
+ transform: translateZ(0);
2957
+ -webkit-transition-duration: 0.1s;
2958
+ transition-duration: 0.1s;
2959
+ -webkit-transition-property: transform;
2960
+ transition-property: transform;
2961
+ -webkit-transition-timing-function: ease-out;
2962
+ transition-timing-function: ease-out;
2963
+ }
2964
+ .hvr-icon-forward:hover .hvr-icon, .hvr-icon-forward:focus .hvr-icon, .hvr-icon-forward:active .hvr-icon {
2965
+ -webkit-transform: translateX(4px);
2966
+ transform: translateX(4px);
2967
+ }
2968
+
2969
+ /* Icon Down */
2970
+ @-webkit-keyframes hvr-icon-down {
2971
+ 0%,
2972
+ 50%,
2973
+ 100% {
2974
+ -webkit-transform: translateY(0);
2975
+ transform: translateY(0);
2976
+ }
2977
+ 25%,
2978
+ 75% {
2979
+ -webkit-transform: translateY(6px);
2980
+ transform: translateY(6px);
2981
+ }
2982
+ }
2983
+ @keyframes hvr-icon-down {
2984
+ 0%,
2985
+ 50%,
2986
+ 100% {
2987
+ -webkit-transform: translateY(0);
2988
+ transform: translateY(0);
2989
+ }
2990
+ 25%,
2991
+ 75% {
2992
+ -webkit-transform: translateY(6px);
2993
+ transform: translateY(6px);
2994
+ }
2995
+ }
2996
+ /* Icon Down */
2997
+ .hvr-icon-down {
2998
+ display: inline-block;
2999
+ vertical-align: middle;
3000
+ -webkit-transform: perspective(1px) translateZ(0);
3001
+ transform: perspective(1px) translateZ(0);
3002
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3003
+ }
3004
+ .hvr-icon-down .hvr-icon {
3005
+ -webkit-transform: translateZ(0);
3006
+ transform: translateZ(0);
3007
+ }
3008
+ .hvr-icon-down:hover .hvr-icon, .hvr-icon-down:focus .hvr-icon, .hvr-icon-down:active .hvr-icon {
3009
+ -webkit-animation-name: hvr-icon-down;
3010
+ animation-name: hvr-icon-down;
3011
+ -webkit-animation-duration: 0.75s;
3012
+ animation-duration: 0.75s;
3013
+ -webkit-animation-timing-function: ease-out;
3014
+ animation-timing-function: ease-out;
3015
+ }
3016
+
3017
+ /* Icon Up */
3018
+ @-webkit-keyframes hvr-icon-up {
3019
+ 0%,
3020
+ 50%,
3021
+ 100% {
3022
+ -webkit-transform: translateY(0);
3023
+ transform: translateY(0);
3024
+ }
3025
+ 25%,
3026
+ 75% {
3027
+ -webkit-transform: translateY(-6px);
3028
+ transform: translateY(-6px);
3029
+ }
3030
+ }
3031
+ @keyframes hvr-icon-up {
3032
+ 0%,
3033
+ 50%,
3034
+ 100% {
3035
+ -webkit-transform: translateY(0);
3036
+ transform: translateY(0);
3037
+ }
3038
+ 25%,
3039
+ 75% {
3040
+ -webkit-transform: translateY(-6px);
3041
+ transform: translateY(-6px);
3042
+ }
3043
+ }
3044
+ /* Icon Up */
3045
+ .hvr-icon-up {
3046
+ display: inline-block;
3047
+ vertical-align: middle;
3048
+ -webkit-transform: perspective(1px) translateZ(0);
3049
+ transform: perspective(1px) translateZ(0);
3050
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3051
+ }
3052
+ .hvr-icon-up .hvr-icon {
3053
+ -webkit-transform: translateZ(0);
3054
+ transform: translateZ(0);
3055
+ }
3056
+ .hvr-icon-up:hover .hvr-icon, .hvr-icon-up:focus .hvr-icon, .hvr-icon-up:active .hvr-icon {
3057
+ -webkit-animation-name: hvr-icon-up;
3058
+ animation-name: hvr-icon-up;
3059
+ -webkit-animation-duration: 0.75s;
3060
+ animation-duration: 0.75s;
3061
+ -webkit-animation-timing-function: ease-out;
3062
+ animation-timing-function: ease-out;
3063
+ }
3064
+
3065
+ /* Icon Spin */
3066
+ .hvr-icon-spin {
3067
+ display: inline-block;
3068
+ vertical-align: middle;
3069
+ -webkit-transform: perspective(1px) translateZ(0);
3070
+ transform: perspective(1px) translateZ(0);
3071
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3072
+ }
3073
+ .hvr-icon-spin .hvr-icon {
3074
+ -webkit-transition-duration: 1s;
3075
+ transition-duration: 1s;
3076
+ -webkit-transition-property: transform;
3077
+ transition-property: transform;
3078
+ -webkit-transition-timing-function: ease-in-out;
3079
+ transition-timing-function: ease-in-out;
3080
+ }
3081
+ .hvr-icon-spin:hover .hvr-icon, .hvr-icon-spin:focus .hvr-icon, .hvr-icon-spin:active .hvr-icon {
3082
+ -webkit-transform: rotate(360deg);
3083
+ transform: rotate(360deg);
3084
+ }
3085
+
3086
+ /* Icon Drop */
3087
+ @-webkit-keyframes hvr-icon-drop {
3088
+ 0% {
3089
+ opacity: 0;
3090
+ }
3091
+ 50% {
3092
+ opacity: 0;
3093
+ -webkit-transform: translateY(-100%);
3094
+ transform: translateY(-100%);
3095
+ }
3096
+ 51%,
3097
+ 100% {
3098
+ opacity: 1;
3099
+ }
3100
+ }
3101
+ @keyframes hvr-icon-drop {
3102
+ 0% {
3103
+ opacity: 0;
3104
+ }
3105
+ 50% {
3106
+ opacity: 0;
3107
+ -webkit-transform: translateY(-100%);
3108
+ transform: translateY(-100%);
3109
+ }
3110
+ 51%,
3111
+ 100% {
3112
+ opacity: 1;
3113
+ }
3114
+ }
3115
+ /* Icon Drop */
3116
+ .hvr-icon-drop {
3117
+ display: inline-block;
3118
+ vertical-align: middle;
3119
+ -webkit-transform: perspective(1px) translateZ(0);
3120
+ transform: perspective(1px) translateZ(0);
3121
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3122
+ }
3123
+ .hvr-icon-drop .hvr-icon {
3124
+ -webkit-transform: translateZ(0);
3125
+ transform: translateZ(0);
3126
+ }
3127
+ .hvr-icon-drop:hover .hvr-icon, .hvr-icon-drop:focus .hvr-icon, .hvr-icon-drop:active .hvr-icon {
3128
+ opacity: 0;
3129
+ -webkit-transition-duration: 0.3s;
3130
+ transition-duration: 0.3s;
3131
+ -webkit-animation-name: hvr-icon-drop;
3132
+ animation-name: hvr-icon-drop;
3133
+ -webkit-animation-duration: 0.5s;
3134
+ animation-duration: 0.5s;
3135
+ -webkit-animation-delay: 0.3s;
3136
+ animation-delay: 0.3s;
3137
+ -webkit-animation-fill-mode: forwards;
3138
+ animation-fill-mode: forwards;
3139
+ -webkit-animation-timing-function: ease-in-out;
3140
+ animation-timing-function: ease-in-out;
3141
+ -webkit-animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
3142
+ animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
3143
+ }
3144
+
3145
+ /* Icon Fade */
3146
+ .hvr-icon-fade {
3147
+ display: inline-block;
3148
+ vertical-align: middle;
3149
+ -webkit-transform: perspective(1px) translateZ(0);
3150
+ transform: perspective(1px) translateZ(0);
3151
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3152
+ }
3153
+ .hvr-icon-fade .hvr-icon {
3154
+ -webkit-transform: translateZ(0);
3155
+ transform: translateZ(0);
3156
+ -webkit-transition-duration: 0.5s;
3157
+ transition-duration: 0.5s;
3158
+ -webkit-transition-property: color;
3159
+ transition-property: color;
3160
+ }
3161
+ .hvr-icon-fade:hover .hvr-icon, .hvr-icon-fade:focus .hvr-icon, .hvr-icon-fade:active .hvr-icon {
3162
+ color: #0F9E5E;
3163
+ }
3164
+
3165
+ /* Icon Float Away */
3166
+ @-webkit-keyframes hvr-icon-float-away {
3167
+ 0% {
3168
+ opacity: 1;
3169
+ }
3170
+ 100% {
3171
+ opacity: 0;
3172
+ -webkit-transform: translateY(-1em);
3173
+ transform: translateY(-1em);
3174
+ }
3175
+ }
3176
+ @keyframes hvr-icon-float-away {
3177
+ 0% {
3178
+ opacity: 1;
3179
+ }
3180
+ 100% {
3181
+ opacity: 0;
3182
+ -webkit-transform: translateY(-1em);
3183
+ transform: translateY(-1em);
3184
+ }
3185
+ }
3186
+ /* Icon Float Away */
3187
+ .hvr-icon-float-away {
3188
+ display: inline-block;
3189
+ vertical-align: middle;
3190
+ -webkit-transform: perspective(1px) translateZ(0);
3191
+ transform: perspective(1px) translateZ(0);
3192
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3193
+ }
3194
+ .hvr-icon-float-away .hvr-icon {
3195
+ -webkit-transform: translateZ(0);
3196
+ transform: translateZ(0);
3197
+ -webkit-animation-duration: 0.5s;
3198
+ animation-duration: 0.5s;
3199
+ -webkit-animation-fill-mode: forwards;
3200
+ animation-fill-mode: forwards;
3201
+ }
3202
+ .hvr-icon-float-away:hover .hvr-icon, .hvr-icon-float-away:focus .hvr-icon, .hvr-icon-float-away:active .hvr-icon {
3203
+ -webkit-animation-name: hvr-icon-float-away;
3204
+ animation-name: hvr-icon-float-away;
3205
+ -webkit-animation-timing-function: ease-out;
3206
+ animation-timing-function: ease-out;
3207
+ }
3208
+
3209
+ /* Icon Sink Away */
3210
+ @-webkit-keyframes hvr-icon-sink-away {
3211
+ 0% {
3212
+ opacity: 1;
3213
+ }
3214
+ 100% {
3215
+ opacity: 0;
3216
+ -webkit-transform: translateY(1em);
3217
+ transform: translateY(1em);
3218
+ }
3219
+ }
3220
+ @keyframes hvr-icon-sink-away {
3221
+ 0% {
3222
+ opacity: 1;
3223
+ }
3224
+ 100% {
3225
+ opacity: 0;
3226
+ -webkit-transform: translateY(1em);
3227
+ transform: translateY(1em);
3228
+ }
3229
+ }
3230
+ /* Icon Sink Away */
3231
+ .hvr-icon-sink-away {
3232
+ display: inline-block;
3233
+ vertical-align: middle;
3234
+ -webkit-transform: perspective(1px) translateZ(0);
3235
+ transform: perspective(1px) translateZ(0);
3236
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3237
+ }
3238
+ .hvr-icon-sink-away .hvr-icon {
3239
+ -webkit-transform: translateZ(0);
3240
+ transform: translateZ(0);
3241
+ -webkit-animation-duration: 0.5s;
3242
+ animation-duration: 0.5s;
3243
+ -webkit-animation-fill-mode: forwards;
3244
+ animation-fill-mode: forwards;
3245
+ }
3246
+ .hvr-icon-sink-away:hover .hvr-icon, .hvr-icon-sink-away:focus .hvr-icon, .hvr-icon-sink-away:active .hvr-icon {
3247
+ -webkit-animation-name: hvr-icon-sink-away;
3248
+ animation-name: hvr-icon-sink-away;
3249
+ -webkit-animation-timing-function: ease-out;
3250
+ animation-timing-function: ease-out;
3251
+ }
3252
+
3253
+ /* Icon Grow */
3254
+ .hvr-icon-grow {
3255
+ display: inline-block;
3256
+ vertical-align: middle;
3257
+ -webkit-transform: perspective(1px) translateZ(0);
3258
+ transform: perspective(1px) translateZ(0);
3259
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3260
+ -webkit-transition-duration: 0.3s;
3261
+ transition-duration: 0.3s;
3262
+ }
3263
+ .hvr-icon-grow .hvr-icon {
3264
+ -webkit-transform: translateZ(0);
3265
+ transform: translateZ(0);
3266
+ -webkit-transition-duration: 0.3s;
3267
+ transition-duration: 0.3s;
3268
+ -webkit-transition-property: transform;
3269
+ transition-property: transform;
3270
+ -webkit-transition-timing-function: ease-out;
3271
+ transition-timing-function: ease-out;
3272
+ }
3273
+ .hvr-icon-grow:hover .hvr-icon, .hvr-icon-grow:focus .hvr-icon, .hvr-icon-grow:active .hvr-icon {
3274
+ -webkit-transform: scale(1.3) translateZ(0);
3275
+ transform: scale(1.3) translateZ(0);
3276
+ }
3277
+
3278
+ /* Icon Shrink */
3279
+ .hvr-icon-shrink {
3280
+ display: inline-block;
3281
+ vertical-align: middle;
3282
+ -webkit-transform: perspective(1px) translateZ(0);
3283
+ transform: perspective(1px) translateZ(0);
3284
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3285
+ -webkit-transition-duration: 0.3s;
3286
+ transition-duration: 0.3s;
3287
+ }
3288
+ .hvr-icon-shrink .hvr-icon {
3289
+ -webkit-transform: translateZ(0);
3290
+ transform: translateZ(0);
3291
+ -webkit-transition-duration: 0.3s;
3292
+ transition-duration: 0.3s;
3293
+ -webkit-transition-property: transform;
3294
+ transition-property: transform;
3295
+ -webkit-transition-timing-function: ease-out;
3296
+ transition-timing-function: ease-out;
3297
+ }
3298
+ .hvr-icon-shrink:hover .hvr-icon, .hvr-icon-shrink:focus .hvr-icon, .hvr-icon-shrink:active .hvr-icon {
3299
+ -webkit-transform: scale(0.8);
3300
+ transform: scale(0.8);
3301
+ }
3302
+
3303
+ /* Icon Pulse */
3304
+ @-webkit-keyframes hvr-icon-pulse {
3305
+ 25% {
3306
+ -webkit-transform: scale(1.3);
3307
+ transform: scale(1.3);
3308
+ }
3309
+ 75% {
3310
+ -webkit-transform: scale(0.8);
3311
+ transform: scale(0.8);
3312
+ }
3313
+ }
3314
+ @keyframes hvr-icon-pulse {
3315
+ 25% {
3316
+ -webkit-transform: scale(1.3);
3317
+ transform: scale(1.3);
3318
+ }
3319
+ 75% {
3320
+ -webkit-transform: scale(0.8);
3321
+ transform: scale(0.8);
3322
+ }
3323
+ }
3324
+ .hvr-icon-pulse {
3325
+ display: inline-block;
3326
+ vertical-align: middle;
3327
+ -webkit-transform: perspective(1px) translateZ(0);
3328
+ transform: perspective(1px) translateZ(0);
3329
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3330
+ }
3331
+ .hvr-icon-pulse .hvr-icon {
3332
+ -webkit-transform: translateZ(0);
3333
+ transform: translateZ(0);
3334
+ -webkit-transition-timing-function: ease-out;
3335
+ transition-timing-function: ease-out;
3336
+ }
3337
+ .hvr-icon-pulse:hover .hvr-icon, .hvr-icon-pulse:focus .hvr-icon, .hvr-icon-pulse:active .hvr-icon {
3338
+ -webkit-animation-name: hvr-icon-pulse;
3339
+ animation-name: hvr-icon-pulse;
3340
+ -webkit-animation-duration: 1s;
3341
+ animation-duration: 1s;
3342
+ -webkit-animation-timing-function: linear;
3343
+ animation-timing-function: linear;
3344
+ -webkit-animation-iteration-count: infinite;
3345
+ animation-iteration-count: infinite;
3346
+ }
3347
+
3348
+ /* Icon Pulse Grow */
3349
+ @-webkit-keyframes hvr-icon-pulse-grow {
3350
+ to {
3351
+ -webkit-transform: scale(1.3);
3352
+ transform: scale(1.3);
3353
+ }
3354
+ }
3355
+ @keyframes hvr-icon-pulse-grow {
3356
+ to {
3357
+ -webkit-transform: scale(1.3);
3358
+ transform: scale(1.3);
3359
+ }
3360
+ }
3361
+ .hvr-icon-pulse-grow {
3362
+ display: inline-block;
3363
+ vertical-align: middle;
3364
+ -webkit-transform: perspective(1px) translateZ(0);
3365
+ transform: perspective(1px) translateZ(0);
3366
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3367
+ }
3368
+ .hvr-icon-pulse-grow .hvr-icon {
3369
+ -webkit-transform: translateZ(0);
3370
+ transform: translateZ(0);
3371
+ -webkit-transition-timing-function: ease-out;
3372
+ transition-timing-function: ease-out;
3373
+ }
3374
+ .hvr-icon-pulse-grow:hover .hvr-icon, .hvr-icon-pulse-grow:focus .hvr-icon, .hvr-icon-pulse-grow:active .hvr-icon {
3375
+ -webkit-animation-name: hvr-icon-pulse-grow;
3376
+ animation-name: hvr-icon-pulse-grow;
3377
+ -webkit-animation-duration: 0.3s;
3378
+ animation-duration: 0.3s;
3379
+ -webkit-animation-timing-function: linear;
3380
+ animation-timing-function: linear;
3381
+ -webkit-animation-iteration-count: infinite;
3382
+ animation-iteration-count: infinite;
3383
+ -webkit-animation-direction: alternate;
3384
+ animation-direction: alternate;
3385
+ }
3386
+
3387
+ /* Icon Pulse Shrink */
3388
+ @-webkit-keyframes hvr-icon-pulse-shrink {
3389
+ to {
3390
+ -webkit-transform: scale(0.8);
3391
+ transform: scale(0.8);
3392
+ }
3393
+ }
3394
+ @keyframes hvr-icon-pulse-shrink {
3395
+ to {
3396
+ -webkit-transform: scale(0.8);
3397
+ transform: scale(0.8);
3398
+ }
3399
+ }
3400
+ .hvr-icon-pulse-shrink {
3401
+ display: inline-block;
3402
+ vertical-align: middle;
3403
+ -webkit-transform: perspective(1px) translateZ(0);
3404
+ transform: perspective(1px) translateZ(0);
3405
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3406
+ }
3407
+ .hvr-icon-pulse-shrink .hvr-icon {
3408
+ -webkit-transform: translateZ(0);
3409
+ transform: translateZ(0);
3410
+ -webkit-transition-timing-function: ease-out;
3411
+ transition-timing-function: ease-out;
3412
+ }
3413
+ .hvr-icon-pulse-shrink:hover .hvr-icon, .hvr-icon-pulse-shrink:focus .hvr-icon, .hvr-icon-pulse-shrink:active .hvr-icon {
3414
+ -webkit-animation-name: hvr-icon-pulse-shrink;
3415
+ animation-name: hvr-icon-pulse-shrink;
3416
+ -webkit-animation-duration: 0.3s;
3417
+ animation-duration: 0.3s;
3418
+ -webkit-animation-timing-function: linear;
3419
+ animation-timing-function: linear;
3420
+ -webkit-animation-iteration-count: infinite;
3421
+ animation-iteration-count: infinite;
3422
+ -webkit-animation-direction: alternate;
3423
+ animation-direction: alternate;
3424
+ }
3425
+
3426
+ /* Icon Push */
3427
+ @-webkit-keyframes hvr-icon-push {
3428
+ 50% {
3429
+ -webkit-transform: scale(0.5);
3430
+ transform: scale(0.5);
3431
+ }
3432
+ }
3433
+ @keyframes hvr-icon-push {
3434
+ 50% {
3435
+ -webkit-transform: scale(0.5);
3436
+ transform: scale(0.5);
3437
+ }
3438
+ }
3439
+ .hvr-icon-push {
3440
+ display: inline-block;
3441
+ vertical-align: middle;
3442
+ -webkit-transform: perspective(1px) translateZ(0);
3443
+ transform: perspective(1px) translateZ(0);
3444
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3445
+ -webkit-transition-duration: 0.3s;
3446
+ transition-duration: 0.3s;
3447
+ }
3448
+ .hvr-icon-push .hvr-icon {
3449
+ -webkit-transform: translateZ(0);
3450
+ transform: translateZ(0);
3451
+ -webkit-transition-duration: 0.3s;
3452
+ transition-duration: 0.3s;
3453
+ -webkit-transition-property: transform;
3454
+ transition-property: transform;
3455
+ -webkit-transition-timing-function: ease-out;
3456
+ transition-timing-function: ease-out;
3457
+ }
3458
+ .hvr-icon-push:hover .hvr-icon, .hvr-icon-push:focus .hvr-icon, .hvr-icon-push:active .hvr-icon {
3459
+ -webkit-animation-name: hvr-icon-push;
3460
+ animation-name: hvr-icon-push;
3461
+ -webkit-animation-duration: 0.3s;
3462
+ animation-duration: 0.3s;
3463
+ -webkit-animation-timing-function: linear;
3464
+ animation-timing-function: linear;
3465
+ -webkit-animation-iteration-count: 1;
3466
+ animation-iteration-count: 1;
3467
+ }
3468
+
3469
+ /* Icon Pop */
3470
+ @-webkit-keyframes hvr-icon-pop {
3471
+ 50% {
3472
+ -webkit-transform: scale(1.5);
3473
+ transform: scale(1.5);
3474
+ }
3475
+ }
3476
+ @keyframes hvr-icon-pop {
3477
+ 50% {
3478
+ -webkit-transform: scale(1.5);
3479
+ transform: scale(1.5);
3480
+ }
3481
+ }
3482
+ .hvr-icon-pop {
3483
+ display: inline-block;
3484
+ vertical-align: middle;
3485
+ -webkit-transform: perspective(1px) translateZ(0);
3486
+ transform: perspective(1px) translateZ(0);
3487
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3488
+ -webkit-transition-duration: 0.3s;
3489
+ transition-duration: 0.3s;
3490
+ }
3491
+ .hvr-icon-pop .hvr-icon {
3492
+ -webkit-transform: translateZ(0);
3493
+ transform: translateZ(0);
3494
+ -webkit-transition-duration: 0.3s;
3495
+ transition-duration: 0.3s;
3496
+ -webkit-transition-property: transform;
3497
+ transition-property: transform;
3498
+ -webkit-transition-timing-function: ease-out;
3499
+ transition-timing-function: ease-out;
3500
+ }
3501
+ .hvr-icon-pop:hover .hvr-icon, .hvr-icon-pop:focus .hvr-icon, .hvr-icon-pop:active .hvr-icon {
3502
+ -webkit-animation-name: hvr-icon-pop;
3503
+ animation-name: hvr-icon-pop;
3504
+ -webkit-animation-duration: 0.3s;
3505
+ animation-duration: 0.3s;
3506
+ -webkit-animation-timing-function: linear;
3507
+ animation-timing-function: linear;
3508
+ -webkit-animation-iteration-count: 1;
3509
+ animation-iteration-count: 1;
3510
+ }
3511
+
3512
+ /* Icon Bounce */
3513
+ .hvr-icon-bounce {
3514
+ display: inline-block;
3515
+ vertical-align: middle;
3516
+ -webkit-transform: perspective(1px) translateZ(0);
3517
+ transform: perspective(1px) translateZ(0);
3518
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3519
+ -webkit-transition-duration: 0.3s;
3520
+ transition-duration: 0.3s;
3521
+ }
3522
+ .hvr-icon-bounce .hvr-icon {
3523
+ -webkit-transform: translateZ(0);
3524
+ transform: translateZ(0);
3525
+ -webkit-transition-duration: 0.3s;
3526
+ transition-duration: 0.3s;
3527
+ -webkit-transition-property: transform;
3528
+ transition-property: transform;
3529
+ -webkit-transition-timing-function: ease-out;
3530
+ transition-timing-function: ease-out;
3531
+ }
3532
+ .hvr-icon-bounce:hover .hvr-icon, .hvr-icon-bounce:focus .hvr-icon, .hvr-icon-bounce:active .hvr-icon {
3533
+ -webkit-transform: scale(1.5);
3534
+ transform: scale(1.5);
3535
+ -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
3536
+ transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
3537
+ }
3538
+
3539
+ /* Icon Rotate */
3540
+ .hvr-icon-rotate {
3541
+ display: inline-block;
3542
+ vertical-align: middle;
3543
+ -webkit-transform: perspective(1px) translateZ(0);
3544
+ transform: perspective(1px) translateZ(0);
3545
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3546
+ -webkit-transition-duration: 0.3s;
3547
+ transition-duration: 0.3s;
3548
+ }
3549
+ .hvr-icon-rotate .hvr-icon {
3550
+ -webkit-transform: translateZ(0);
3551
+ transform: translateZ(0);
3552
+ -webkit-transition-duration: 0.3s;
3553
+ transition-duration: 0.3s;
3554
+ -webkit-transition-property: transform;
3555
+ transition-property: transform;
3556
+ -webkit-transition-timing-function: ease-out;
3557
+ transition-timing-function: ease-out;
3558
+ }
3559
+ .hvr-icon-rotate:hover .hvr-icon, .hvr-icon-rotate:focus .hvr-icon, .hvr-icon-rotate:active .hvr-icon {
3560
+ -webkit-transform: rotate(20deg);
3561
+ transform: rotate(20deg);
3562
+ }
3563
+
3564
+ /* Icon Grow Rotate */
3565
+ .hvr-icon-grow-rotate {
3566
+ display: inline-block;
3567
+ vertical-align: middle;
3568
+ -webkit-transform: perspective(1px) translateZ(0);
3569
+ transform: perspective(1px) translateZ(0);
3570
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3571
+ -webkit-transition-duration: 0.3s;
3572
+ transition-duration: 0.3s;
3573
+ }
3574
+ .hvr-icon-grow-rotate .hvr-icon {
3575
+ -webkit-transform: translateZ(0);
3576
+ transform: translateZ(0);
3577
+ -webkit-transition-duration: 0.3s;
3578
+ transition-duration: 0.3s;
3579
+ -webkit-transition-property: transform;
3580
+ transition-property: transform;
3581
+ -webkit-transition-timing-function: ease-out;
3582
+ transition-timing-function: ease-out;
3583
+ }
3584
+ .hvr-icon-grow-rotate:hover .hvr-icon, .hvr-icon-grow-rotate:focus .hvr-icon, .hvr-icon-grow-rotate:active .hvr-icon {
3585
+ -webkit-transform: scale(1.5) rotate(12deg);
3586
+ transform: scale(1.5) rotate(12deg);
3587
+ }
3588
+
3589
+ /* Icon Float */
3590
+ .hvr-icon-float {
3591
+ display: inline-block;
3592
+ vertical-align: middle;
3593
+ -webkit-transform: perspective(1px) translateZ(0);
3594
+ transform: perspective(1px) translateZ(0);
3595
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3596
+ -webkit-transition-duration: 0.3s;
3597
+ transition-duration: 0.3s;
3598
+ }
3599
+ .hvr-icon-float .hvr-icon {
3600
+ -webkit-transform: translateZ(0);
3601
+ transform: translateZ(0);
3602
+ -webkit-transition-duration: 0.3s;
3603
+ transition-duration: 0.3s;
3604
+ -webkit-transition-property: transform;
3605
+ transition-property: transform;
3606
+ -webkit-transition-timing-function: ease-out;
3607
+ transition-timing-function: ease-out;
3608
+ }
3609
+ .hvr-icon-float:hover .hvr-icon, .hvr-icon-float:focus .hvr-icon, .hvr-icon-float:active .hvr-icon {
3610
+ -webkit-transform: translateY(-4px);
3611
+ transform: translateY(-4px);
3612
+ }
3613
+
3614
+ /* Icon Sink */
3615
+ .hvr-icon-sink {
3616
+ display: inline-block;
3617
+ vertical-align: middle;
3618
+ -webkit-transform: perspective(1px) translateZ(0);
3619
+ transform: perspective(1px) translateZ(0);
3620
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3621
+ -webkit-transition-duration: 0.3s;
3622
+ transition-duration: 0.3s;
3623
+ }
3624
+ .hvr-icon-sink .hvr-icon {
3625
+ -webkit-transform: translateZ(0);
3626
+ transform: translateZ(0);
3627
+ -webkit-transition-duration: 0.3s;
3628
+ transition-duration: 0.3s;
3629
+ -webkit-transition-property: transform;
3630
+ transition-property: transform;
3631
+ -webkit-transition-timing-function: ease-out;
3632
+ transition-timing-function: ease-out;
3633
+ }
3634
+ .hvr-icon-sink:hover .hvr-icon, .hvr-icon-sink:focus .hvr-icon, .hvr-icon-sink:active .hvr-icon {
3635
+ -webkit-transform: translateY(4px);
3636
+ transform: translateY(4px);
3637
+ }
3638
+
3639
+ /* Icon Bob */
3640
+ @-webkit-keyframes hvr-icon-bob {
3641
+ 0% {
3642
+ -webkit-transform: translateY(-6px);
3643
+ transform: translateY(-6px);
3644
+ }
3645
+ 50% {
3646
+ -webkit-transform: translateY(-2px);
3647
+ transform: translateY(-2px);
3648
+ }
3649
+ 100% {
3650
+ -webkit-transform: translateY(-6px);
3651
+ transform: translateY(-6px);
3652
+ }
3653
+ }
3654
+ @keyframes hvr-icon-bob {
3655
+ 0% {
3656
+ -webkit-transform: translateY(-6px);
3657
+ transform: translateY(-6px);
3658
+ }
3659
+ 50% {
3660
+ -webkit-transform: translateY(-2px);
3661
+ transform: translateY(-2px);
3662
+ }
3663
+ 100% {
3664
+ -webkit-transform: translateY(-6px);
3665
+ transform: translateY(-6px);
3666
+ }
3667
+ }
3668
+ @-webkit-keyframes hvr-icon-bob-float {
3669
+ 100% {
3670
+ -webkit-transform: translateY(-6px);
3671
+ transform: translateY(-6px);
3672
+ }
3673
+ }
3674
+ @keyframes hvr-icon-bob-float {
3675
+ 100% {
3676
+ -webkit-transform: translateY(-6px);
3677
+ transform: translateY(-6px);
3678
+ }
3679
+ }
3680
+ .hvr-icon-bob {
3681
+ display: inline-block;
3682
+ vertical-align: middle;
3683
+ -webkit-transform: perspective(1px) translateZ(0);
3684
+ transform: perspective(1px) translateZ(0);
3685
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3686
+ -webkit-transition-duration: 0.3s;
3687
+ transition-duration: 0.3s;
3688
+ }
3689
+ .hvr-icon-bob .hvr-icon {
3690
+ -webkit-transform: translateZ(0);
3691
+ transform: translateZ(0);
3692
+ }
3693
+ .hvr-icon-bob:hover .hvr-icon, .hvr-icon-bob:focus .hvr-icon, .hvr-icon-bob:active .hvr-icon {
3694
+ -webkit-animation-name: hvr-icon-bob-float, hvr-icon-bob;
3695
+ animation-name: hvr-icon-bob-float, hvr-icon-bob;
3696
+ -webkit-animation-duration: .3s, 1.5s;
3697
+ animation-duration: .3s, 1.5s;
3698
+ -webkit-animation-delay: 0s, .3s;
3699
+ animation-delay: 0s, .3s;
3700
+ -webkit-animation-timing-function: ease-out, ease-in-out;
3701
+ animation-timing-function: ease-out, ease-in-out;
3702
+ -webkit-animation-iteration-count: 1, infinite;
3703
+ animation-iteration-count: 1, infinite;
3704
+ -webkit-animation-fill-mode: forwards;
3705
+ animation-fill-mode: forwards;
3706
+ -webkit-animation-direction: normal, alternate;
3707
+ animation-direction: normal, alternate;
3708
+ }
3709
+
3710
+ /* Icon Hang */
3711
+ @-webkit-keyframes hvr-icon-hang {
3712
+ 0% {
3713
+ -webkit-transform: translateY(6px);
3714
+ transform: translateY(6px);
3715
+ }
3716
+ 50% {
3717
+ -webkit-transform: translateY(2px);
3718
+ transform: translateY(2px);
3719
+ }
3720
+ 100% {
3721
+ -webkit-transform: translateY(6px);
3722
+ transform: translateY(6px);
3723
+ }
3724
+ }
3725
+ @keyframes hvr-icon-hang {
3726
+ 0% {
3727
+ -webkit-transform: translateY(6px);
3728
+ transform: translateY(6px);
3729
+ }
3730
+ 50% {
3731
+ -webkit-transform: translateY(2px);
3732
+ transform: translateY(2px);
3733
+ }
3734
+ 100% {
3735
+ -webkit-transform: translateY(6px);
3736
+ transform: translateY(6px);
3737
+ }
3738
+ }
3739
+ @-webkit-keyframes hvr-icon-hang-sink {
3740
+ 100% {
3741
+ -webkit-transform: translateY(6px);
3742
+ transform: translateY(6px);
3743
+ }
3744
+ }
3745
+ @keyframes hvr-icon-hang-sink {
3746
+ 100% {
3747
+ -webkit-transform: translateY(6px);
3748
+ transform: translateY(6px);
3749
+ }
3750
+ }
3751
+ .hvr-icon-hang {
3752
+ display: inline-block;
3753
+ vertical-align: middle;
3754
+ -webkit-transform: perspective(1px) translateZ(0);
3755
+ transform: perspective(1px) translateZ(0);
3756
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3757
+ -webkit-transition-duration: 0.3s;
3758
+ transition-duration: 0.3s;
3759
+ }
3760
+ .hvr-icon-hang .hvr-icon {
3761
+ -webkit-transform: translateZ(0);
3762
+ transform: translateZ(0);
3763
+ }
3764
+ .hvr-icon-hang:hover .hvr-icon, .hvr-icon-hang:focus .hvr-icon, .hvr-icon-hang:active .hvr-icon {
3765
+ -webkit-animation-name: hvr-icon-hang-sink, hvr-icon-hang;
3766
+ animation-name: hvr-icon-hang-sink, hvr-icon-hang;
3767
+ -webkit-animation-duration: .3s, 1.5s;
3768
+ animation-duration: .3s, 1.5s;
3769
+ -webkit-animation-delay: 0s, .3s;
3770
+ animation-delay: 0s, .3s;
3771
+ -webkit-animation-timing-function: ease-out, ease-in-out;
3772
+ animation-timing-function: ease-out, ease-in-out;
3773
+ -webkit-animation-iteration-count: 1, infinite;
3774
+ animation-iteration-count: 1, infinite;
3775
+ -webkit-animation-fill-mode: forwards;
3776
+ animation-fill-mode: forwards;
3777
+ -webkit-animation-direction: normal, alternate;
3778
+ animation-direction: normal, alternate;
3779
+ }
3780
+
3781
+ /* Icon Wobble Horizontal */
3782
+ @-webkit-keyframes hvr-icon-wobble-horizontal {
3783
+ 16.65% {
3784
+ -webkit-transform: translateX(6px);
3785
+ transform: translateX(6px);
3786
+ }
3787
+ 33.3% {
3788
+ -webkit-transform: translateX(-5px);
3789
+ transform: translateX(-5px);
3790
+ }
3791
+ 49.95% {
3792
+ -webkit-transform: translateX(4px);
3793
+ transform: translateX(4px);
3794
+ }
3795
+ 66.6% {
3796
+ -webkit-transform: translateX(-2px);
3797
+ transform: translateX(-2px);
3798
+ }
3799
+ 83.25% {
3800
+ -webkit-transform: translateX(1px);
3801
+ transform: translateX(1px);
3802
+ }
3803
+ 100% {
3804
+ -webkit-transform: translateX(0);
3805
+ transform: translateX(0);
3806
+ }
3807
+ }
3808
+ @keyframes hvr-icon-wobble-horizontal {
3809
+ 16.65% {
3810
+ -webkit-transform: translateX(6px);
3811
+ transform: translateX(6px);
3812
+ }
3813
+ 33.3% {
3814
+ -webkit-transform: translateX(-5px);
3815
+ transform: translateX(-5px);
3816
+ }
3817
+ 49.95% {
3818
+ -webkit-transform: translateX(4px);
3819
+ transform: translateX(4px);
3820
+ }
3821
+ 66.6% {
3822
+ -webkit-transform: translateX(-2px);
3823
+ transform: translateX(-2px);
3824
+ }
3825
+ 83.25% {
3826
+ -webkit-transform: translateX(1px);
3827
+ transform: translateX(1px);
3828
+ }
3829
+ 100% {
3830
+ -webkit-transform: translateX(0);
3831
+ transform: translateX(0);
3832
+ }
3833
+ }
3834
+ .hvr-icon-wobble-horizontal {
3835
+ display: inline-block;
3836
+ vertical-align: middle;
3837
+ -webkit-transform: perspective(1px) translateZ(0);
3838
+ transform: perspective(1px) translateZ(0);
3839
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3840
+ -webkit-transition-duration: 0.3s;
3841
+ transition-duration: 0.3s;
3842
+ }
3843
+ .hvr-icon-wobble-horizontal .hvr-icon {
3844
+ -webkit-transform: translateZ(0);
3845
+ transform: translateZ(0);
3846
+ }
3847
+ .hvr-icon-wobble-horizontal:hover .hvr-icon, .hvr-icon-wobble-horizontal:focus .hvr-icon, .hvr-icon-wobble-horizontal:active .hvr-icon {
3848
+ -webkit-animation-name: hvr-icon-wobble-horizontal;
3849
+ animation-name: hvr-icon-wobble-horizontal;
3850
+ -webkit-animation-duration: 1s;
3851
+ animation-duration: 1s;
3852
+ -webkit-animation-timing-function: ease-in-out;
3853
+ animation-timing-function: ease-in-out;
3854
+ -webkit-animation-iteration-count: 1;
3855
+ animation-iteration-count: 1;
3856
+ }
3857
+
3858
+ /* Icon Wobble Vertical */
3859
+ @-webkit-keyframes hvr-icon-wobble-vertical {
3860
+ 16.65% {
3861
+ -webkit-transform: translateY(6px);
3862
+ transform: translateY(6px);
3863
+ }
3864
+ 33.3% {
3865
+ -webkit-transform: translateY(-5px);
3866
+ transform: translateY(-5px);
3867
+ }
3868
+ 49.95% {
3869
+ -webkit-transform: translateY(4px);
3870
+ transform: translateY(4px);
3871
+ }
3872
+ 66.6% {
3873
+ -webkit-transform: translateY(-2px);
3874
+ transform: translateY(-2px);
3875
+ }
3876
+ 83.25% {
3877
+ -webkit-transform: translateY(1px);
3878
+ transform: translateY(1px);
3879
+ }
3880
+ 100% {
3881
+ -webkit-transform: translateY(0);
3882
+ transform: translateY(0);
3883
+ }
3884
+ }
3885
+ @keyframes hvr-icon-wobble-vertical {
3886
+ 16.65% {
3887
+ -webkit-transform: translateY(6px);
3888
+ transform: translateY(6px);
3889
+ }
3890
+ 33.3% {
3891
+ -webkit-transform: translateY(-5px);
3892
+ transform: translateY(-5px);
3893
+ }
3894
+ 49.95% {
3895
+ -webkit-transform: translateY(4px);
3896
+ transform: translateY(4px);
3897
+ }
3898
+ 66.6% {
3899
+ -webkit-transform: translateY(-2px);
3900
+ transform: translateY(-2px);
3901
+ }
3902
+ 83.25% {
3903
+ -webkit-transform: translateY(1px);
3904
+ transform: translateY(1px);
3905
+ }
3906
+ 100% {
3907
+ -webkit-transform: translateY(0);
3908
+ transform: translateY(0);
3909
+ }
3910
+ }
3911
+ .hvr-icon-wobble-vertical {
3912
+ display: inline-block;
3913
+ vertical-align: middle;
3914
+ -webkit-transform: perspective(1px) translateZ(0);
3915
+ transform: perspective(1px) translateZ(0);
3916
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3917
+ -webkit-transition-duration: 0.3s;
3918
+ transition-duration: 0.3s;
3919
+ }
3920
+ .hvr-icon-wobble-vertical .hvr-icon {
3921
+ -webkit-transform: translateZ(0);
3922
+ transform: translateZ(0);
3923
+ }
3924
+ .hvr-icon-wobble-vertical:hover .hvr-icon, .hvr-icon-wobble-vertical:focus .hvr-icon, .hvr-icon-wobble-vertical:active .hvr-icon {
3925
+ -webkit-animation-name: hvr-icon-wobble-vertical;
3926
+ animation-name: hvr-icon-wobble-vertical;
3927
+ -webkit-animation-duration: 1s;
3928
+ animation-duration: 1s;
3929
+ -webkit-animation-timing-function: ease-in-out;
3930
+ animation-timing-function: ease-in-out;
3931
+ -webkit-animation-iteration-count: 1;
3932
+ animation-iteration-count: 1;
3933
+ }
3934
+
3935
+ /* Icon Buzz */
3936
+ @-webkit-keyframes hvr-icon-buzz {
3937
+ 50% {
3938
+ -webkit-transform: translateX(3px) rotate(2deg);
3939
+ transform: translateX(3px) rotate(2deg);
3940
+ }
3941
+ 100% {
3942
+ -webkit-transform: translateX(-3px) rotate(-2deg);
3943
+ transform: translateX(-3px) rotate(-2deg);
3944
+ }
3945
+ }
3946
+ @keyframes hvr-icon-buzz {
3947
+ 50% {
3948
+ -webkit-transform: translateX(3px) rotate(2deg);
3949
+ transform: translateX(3px) rotate(2deg);
3950
+ }
3951
+ 100% {
3952
+ -webkit-transform: translateX(-3px) rotate(-2deg);
3953
+ transform: translateX(-3px) rotate(-2deg);
3954
+ }
3955
+ }
3956
+ .hvr-icon-buzz {
3957
+ display: inline-block;
3958
+ vertical-align: middle;
3959
+ -webkit-transform: perspective(1px) translateZ(0);
3960
+ transform: perspective(1px) translateZ(0);
3961
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
3962
+ -webkit-transition-duration: 0.3s;
3963
+ transition-duration: 0.3s;
3964
+ }
3965
+ .hvr-icon-buzz .hvr-icon {
3966
+ -webkit-transform: translateZ(0);
3967
+ transform: translateZ(0);
3968
+ }
3969
+ .hvr-icon-buzz:hover .hvr-icon, .hvr-icon-buzz:focus .hvr-icon, .hvr-icon-buzz:active .hvr-icon {
3970
+ -webkit-animation-name: hvr-icon-buzz;
3971
+ animation-name: hvr-icon-buzz;
3972
+ -webkit-animation-duration: 0.15s;
3973
+ animation-duration: 0.15s;
3974
+ -webkit-animation-timing-function: linear;
3975
+ animation-timing-function: linear;
3976
+ -webkit-animation-iteration-count: infinite;
3977
+ animation-iteration-count: infinite;
3978
+ }
3979
+
3980
+ /* Icon Buzz Out */
3981
+ @-webkit-keyframes hvr-icon-buzz-out {
3982
+ 10% {
3983
+ -webkit-transform: translateX(3px) rotate(2deg);
3984
+ transform: translateX(3px) rotate(2deg);
3985
+ }
3986
+ 20% {
3987
+ -webkit-transform: translateX(-3px) rotate(-2deg);
3988
+ transform: translateX(-3px) rotate(-2deg);
3989
+ }
3990
+ 30% {
3991
+ -webkit-transform: translateX(3px) rotate(2deg);
3992
+ transform: translateX(3px) rotate(2deg);
3993
+ }
3994
+ 40% {
3995
+ -webkit-transform: translateX(-3px) rotate(-2deg);
3996
+ transform: translateX(-3px) rotate(-2deg);
3997
+ }
3998
+ 50% {
3999
+ -webkit-transform: translateX(2px) rotate(1deg);
4000
+ transform: translateX(2px) rotate(1deg);
4001
+ }
4002
+ 60% {
4003
+ -webkit-transform: translateX(-2px) rotate(-1deg);
4004
+ transform: translateX(-2px) rotate(-1deg);
4005
+ }
4006
+ 70% {
4007
+ -webkit-transform: translateX(2px) rotate(1deg);
4008
+ transform: translateX(2px) rotate(1deg);
4009
+ }
4010
+ 80% {
4011
+ -webkit-transform: translateX(-2px) rotate(-1deg);
4012
+ transform: translateX(-2px) rotate(-1deg);
4013
+ }
4014
+ 90% {
4015
+ -webkit-transform: translateX(1px) rotate(0);
4016
+ transform: translateX(1px) rotate(0);
4017
+ }
4018
+ 100% {
4019
+ -webkit-transform: translateX(-1px) rotate(0);
4020
+ transform: translateX(-1px) rotate(0);
4021
+ }
4022
+ }
4023
+ @keyframes hvr-icon-buzz-out {
4024
+ 10% {
4025
+ -webkit-transform: translateX(3px) rotate(2deg);
4026
+ transform: translateX(3px) rotate(2deg);
4027
+ }
4028
+ 20% {
4029
+ -webkit-transform: translateX(-3px) rotate(-2deg);
4030
+ transform: translateX(-3px) rotate(-2deg);
4031
+ }
4032
+ 30% {
4033
+ -webkit-transform: translateX(3px) rotate(2deg);
4034
+ transform: translateX(3px) rotate(2deg);
4035
+ }
4036
+ 40% {
4037
+ -webkit-transform: translateX(-3px) rotate(-2deg);
4038
+ transform: translateX(-3px) rotate(-2deg);
4039
+ }
4040
+ 50% {
4041
+ -webkit-transform: translateX(2px) rotate(1deg);
4042
+ transform: translateX(2px) rotate(1deg);
4043
+ }
4044
+ 60% {
4045
+ -webkit-transform: translateX(-2px) rotate(-1deg);
4046
+ transform: translateX(-2px) rotate(-1deg);
4047
+ }
4048
+ 70% {
4049
+ -webkit-transform: translateX(2px) rotate(1deg);
4050
+ transform: translateX(2px) rotate(1deg);
4051
+ }
4052
+ 80% {
4053
+ -webkit-transform: translateX(-2px) rotate(-1deg);
4054
+ transform: translateX(-2px) rotate(-1deg);
4055
+ }
4056
+ 90% {
4057
+ -webkit-transform: translateX(1px) rotate(0);
4058
+ transform: translateX(1px) rotate(0);
4059
+ }
4060
+ 100% {
4061
+ -webkit-transform: translateX(-1px) rotate(0);
4062
+ transform: translateX(-1px) rotate(0);
4063
+ }
4064
+ }
4065
+ .hvr-icon-buzz-out {
4066
+ display: inline-block;
4067
+ vertical-align: middle;
4068
+ -webkit-transform: perspective(1px) translateZ(0);
4069
+ transform: perspective(1px) translateZ(0);
4070
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
4071
+ -webkit-transition-duration: 0.3s;
4072
+ transition-duration: 0.3s;
4073
+ }
4074
+ .hvr-icon-buzz-out .hvr-icon {
4075
+ -webkit-transform: translateZ(0);
4076
+ transform: translateZ(0);
4077
+ }
4078
+ .hvr-icon-buzz-out:hover .hvr-icon, .hvr-icon-buzz-out:focus .hvr-icon, .hvr-icon-buzz-out:active .hvr-icon {
4079
+ -webkit-animation-name: hvr-icon-buzz-out;
4080
+ animation-name: hvr-icon-buzz-out;
4081
+ -webkit-animation-duration: 0.75s;
4082
+ animation-duration: 0.75s;
4083
+ -webkit-animation-timing-function: linear;
4084
+ animation-timing-function: linear;
4085
+ -webkit-animation-iteration-count: 1;
4086
+ animation-iteration-count: 1;
4087
+ }
4088
+
4089
+ /* CURLS */
4090
+ /* Curl Top Left */
4091
+ .hvr-curl-top-left {
4092
+ display: inline-block;
4093
+ vertical-align: middle;
4094
+ -webkit-transform: perspective(1px) translateZ(0);
4095
+ transform: perspective(1px) translateZ(0);
4096
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
4097
+ position: relative;
4098
+ }
4099
+ .hvr-curl-top-left:before {
4100
+ pointer-events: none;
4101
+ position: absolute;
4102
+ content: '';
4103
+ height: 0;
4104
+ width: 0;
4105
+ top: 0;
4106
+ left: 0;
4107
+ background: white;
4108
+ /* IE9 */
4109
+ background: linear-gradient(135deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
4110
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#000000');
4111
+ /*For IE7-8-9*/
4112
+ z-index: 1000;
4113
+ box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
4114
+ -webkit-transition-duration: 0.3s;
4115
+ transition-duration: 0.3s;
4116
+ -webkit-transition-property: width, height;
4117
+ transition-property: width, height;
4118
+ }
4119
+ .hvr-curl-top-left:hover:before, .hvr-curl-top-left:focus:before, .hvr-curl-top-left:active:before {
4120
+ width: 25px;
4121
+ height: 25px;
4122
+ }
4123
+
4124
+ /* Curl Top Right */
4125
+ .hvr-curl-top-right {
4126
+ display: inline-block;
4127
+ vertical-align: middle;
4128
+ -webkit-transform: perspective(1px) translateZ(0);
4129
+ transform: perspective(1px) translateZ(0);
4130
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
4131
+ position: relative;
4132
+ }
4133
+ .hvr-curl-top-right:before {
4134
+ pointer-events: none;
4135
+ position: absolute;
4136
+ content: '';
4137
+ height: 0;
4138
+ width: 0;
4139
+ top: 0;
4140
+ right: 0;
4141
+ background: white;
4142
+ /* IE9 */
4143
+ background: linear-gradient(225deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
4144
+ box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);
4145
+ -webkit-transition-duration: 0.3s;
4146
+ transition-duration: 0.3s;
4147
+ -webkit-transition-property: width, height;
4148
+ transition-property: width, height;
4149
+ }
4150
+ .hvr-curl-top-right:hover:before, .hvr-curl-top-right:focus:before, .hvr-curl-top-right:active:before {
4151
+ width: 25px;
4152
+ height: 25px;
4153
+ }
4154
+
4155
+ /* Curl Bottom Right */
4156
+ .hvr-curl-bottom-right {
4157
+ display: inline-block;
4158
+ vertical-align: middle;
4159
+ -webkit-transform: perspective(1px) translateZ(0);
4160
+ transform: perspective(1px) translateZ(0);
4161
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
4162
+ position: relative;
4163
+ }
4164
+ .hvr-curl-bottom-right:before {
4165
+ pointer-events: none;
4166
+ position: absolute;
4167
+ content: '';
4168
+ height: 0;
4169
+ width: 0;
4170
+ bottom: 0;
4171
+ right: 0;
4172
+ background: white;
4173
+ /* IE9 */
4174
+ background: linear-gradient(315deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
4175
+ box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
4176
+ -webkit-transition-duration: 0.3s;
4177
+ transition-duration: 0.3s;
4178
+ -webkit-transition-property: width, height;
4179
+ transition-property: width, height;
4180
+ }
4181
+
4182
+ .hvr-curl-bottom-right:hover:before,
4183
+ .hvr-curl-bottom-right:focus:before,
4184
+ .hvr-curl-bottom-right:active:before {
4185
+ width: 25px;
4186
+ height: 25px;
4187
+ }
4188
+
4189
+ /* Curl Bottom Left */
4190
+ .hvr-curl-bottom-left {
4191
+ display: inline-block;
4192
+ vertical-align: middle;
4193
+ -webkit-transform: perspective(1px) translateZ(0);
4194
+ transform: perspective(1px) translateZ(0);
4195
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
4196
+ position: relative;
4197
+ }
4198
+ .hvr-curl-bottom-left:before {
4199
+ pointer-events: none;
4200
+ position: absolute;
4201
+ content: '';
4202
+ height: 0;
4203
+ width: 0;
4204
+ bottom: 0;
4205
+ left: 0;
4206
+ background: white;
4207
+ /* IE9 */
4208
+ background: linear-gradient(45deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
4209
+ box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.4);
4210
+ -webkit-transition-duration: 0.3s;
4211
+ transition-duration: 0.3s;
4212
+ -webkit-transition-property: width, height;
4213
+ transition-property: width, height;
4214
+ }
4215
+ .hvr-curl-bottom-left:hover:before,
4216
+ .hvr-curl-bottom-left:focus:before,
4217
+ .hvr-curl-bottom-left:active:before {
4218
+ width: 25px;
4219
+ height: 25px;
4220
+ }