WP Image Zoom - Version 1.16

Version Description

  • 12/09/2017
  • Feature: support select-themes.com which add a wrapper on top of the page
Download this release

Release Info

Developer diana_burduja
Plugin Icon 128x128 WP Image Zoom
Version 1.16
Comparing to
See all releases

Version 1.16

Files changed (87) hide show
  1. assets/css/bootstrap.min.css +10 -0
  2. assets/css/style.min.css +136 -0
  3. assets/fonts/fontello.eot +0 -0
  4. assets/fonts/fontello.svg +68 -0
  5. assets/fonts/fontello.ttf +0 -0
  6. assets/fonts/fontello.woff +0 -0
  7. assets/fonts/fontello.woff2 +0 -0
  8. assets/images/discount.png +0 -0
  9. assets/images/icon.svg +84 -0
  10. assets/images/img1_large.png +0 -0
  11. assets/images/img1_medium.png +0 -0
  12. assets/images/product-gallery-zoom.png +0 -0
  13. assets/images/question_mark.svg +59 -0
  14. assets/images/rating.png +0 -0
  15. assets/images/silkypress_logo.png +0 -0
  16. assets/images/tinyMCE_button.png +0 -0
  17. assets/images/type_image_inline.svg +87 -0
  18. assets/js/bootstrap.3.2.0.min.js +6 -0
  19. assets/js/bootstrap.min.js +11 -0
  20. assets/js/image_zoom-init.js +286 -0
  21. assets/js/image_zoom.settings.min.js +3 -0
  22. assets/js/jquery.image_zoom.min.js +5 -0
  23. assets/js/tinyMCE-button.js +45 -0
  24. image-zoooom.php +511 -0
  25. includes/image-zoom-admin-general.php +94 -0
  26. includes/image-zoom-admin-template.php +224 -0
  27. includes/image-zoom-admin.php +432 -0
  28. includes/image-zoom-forms-helper.php +137 -0
  29. includes/image-zoom-notices.php +203 -0
  30. includes/image-zoom-warnings.php +218 -0
  31. includes/image-zoom.php +73 -0
  32. includes/premium-tooltips.php +63 -0
  33. includes/right_columns.php +102 -0
  34. includes/settings.php +338 -0
  35. languages/wp-image-zoooom-fr_FR.mo +0 -0
  36. languages/wp-image-zoooom-fr_FR.po +548 -0
  37. languages/wp-image-zoooom-ro_RO.mo +0 -0
  38. languages/wp-image-zoooom-ro_RO.po +545 -0
  39. languages/wp-image-zoooom.pot +497 -0
  40. readme.txt +331 -0
  41. trunk/assets/css/bootstrap.min.css +10 -0
  42. trunk/assets/css/style.min.css +136 -0
  43. trunk/assets/fonts/fontello.eot +0 -0
  44. trunk/assets/fonts/fontello.svg +68 -0
  45. trunk/assets/fonts/fontello.ttf +0 -0
  46. trunk/assets/fonts/fontello.woff +0 -0
  47. trunk/assets/fonts/fontello.woff2 +0 -0
  48. trunk/assets/images/discount.png +0 -0
  49. trunk/assets/images/icon.svg +84 -0
  50. trunk/assets/images/img1_large.png +0 -0
  51. trunk/assets/images/img1_medium.png +0 -0
  52. trunk/assets/images/product-gallery-zoom.png +0 -0
  53. trunk/assets/images/question_mark.svg +59 -0
  54. trunk/assets/images/rating.png +0 -0
  55. trunk/assets/images/silkypress_logo.png +0 -0
  56. trunk/assets/images/tinyMCE_button.png +0 -0
  57. trunk/assets/images/type_image_inline.svg +87 -0
  58. trunk/assets/js/bootstrap.3.2.0.min.js +6 -0
  59. trunk/assets/js/bootstrap.min.js +11 -0
  60. trunk/assets/js/image_zoom-init.js +286 -0
  61. trunk/assets/js/image_zoom.settings.min.js +3 -0
  62. trunk/assets/js/jquery.image_zoom.min.js +5 -0
  63. trunk/assets/js/tinyMCE-button.js +45 -0
  64. trunk/image-zoooom.php +511 -0
  65. trunk/includes/image-zoom-admin-general.php +94 -0
  66. trunk/includes/image-zoom-admin-template.php +224 -0
  67. trunk/includes/image-zoom-admin.php +432 -0
  68. trunk/includes/image-zoom-forms-helper.php +137 -0
  69. trunk/includes/image-zoom-notices.php +203 -0
  70. trunk/includes/image-zoom-warnings.php +218 -0
  71. trunk/includes/image-zoom.php +73 -0
  72. trunk/includes/premium-tooltips.php +63 -0
  73. trunk/includes/right_columns.php +102 -0
  74. trunk/includes/settings.php +338 -0
  75. trunk/languages/wp-image-zoooom-fr_FR.mo +0 -0
  76. trunk/languages/wp-image-zoooom-fr_FR.po +548 -0
  77. trunk/languages/wp-image-zoooom-ro_RO.mo +0 -0
  78. trunk/languages/wp-image-zoooom-ro_RO.po +545 -0
  79. trunk/languages/wp-image-zoooom.pot +497 -0
  80. trunk/readme.txt +331 -0
  81. trunk/screenshot-1.jpg +0 -0
  82. trunk/screenshot-2.jpg +0 -0
  83. trunk/screenshot-3.jpg +0 -0
  84. trunk/screenshot-4.jpg +0 -0
  85. trunk/screenshot-5.jpg +0 -0
  86. trunk/screenshot-6.jpg +0 -0
  87. trunk/screenshot-7.jpg +0 -0
assets/css/bootstrap.min.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ /*!
8
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=a029c53ecbca7e0801ba)
9
+ * Config saved to config.json and https://gist.github.com/a029c53ecbca7e0801ba
10
+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}textarea.form-group-sm .form-control,select[multiple].form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;min-height:32px}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}textarea.form-group-lg .form-control,select[multiple].form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;min-height:38px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.333333px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}
assets/css/style.min.css ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ h2 a:hover,h3 a.nav-tab:hover{text-decoration:none}@font-face{font-family:Raleway;font-style:normal;font-weight:400;src:local('Raleway'),local('Raleway-Regular'),url(https://fonts.gstatic.com/s/raleway/v11/0dTEPzkLWceF7z0koJaX1A.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}.btn-group>.btn.active,.input-group .form-control{z-index:auto}body{font-family:"Open Sans",sans-serif;background-color:#f1f1f1}.container_title,.steps,h2,label{font-family:Raleway}.wrap{float:left;width:70%;margin-right:3%}h2{font-weight:400}.btn-icon{height:50px}.control-label{text-align:right;padding:15px 10px 10px 0;height:50px}.margin-10{margin-top:10px}.icon-style-rect-1 .ndd-icon-main-element{width:44px;height:44px;border-radius:8px;background:rgba(0,0,0,.2)}input[type=color]{padding:0;width:50px}.tab-pane{width:90%;padding-top:10px}.input-group{width:200px}.btn-group-no-margin{margin-left:-15px!important}input[type=checkbox]{margin-top:0}.tooltip-inner{width:150px;background-color:#000;opacity:.8}.tooltip-arrow{opacity:.8}.panel-default{margin-top:8px}#right_column_metaboxes{width:25%;float:left;margin-top:70px}.main_container{background-color:#fff;margin-bottom:20px;border:1px solid #ddd;border-radius:5px;box-shadow:0 2px 1px -1px #ccc}.container_title{border-radius:5px 5px 0 0;background:#474747}h3{margin-top:0!important;padding:16px 16px 16px 20px;text-align:center;color:#fff;font-size:1.3em;margin:1em 0}#wpbody-content .metabox-holder{font-family:Raleway;padding:10px 15px 15px}#wpbody-content .metabox-holder.discount{background:url(../images/discount.png) 102% 102% no-repeat;background-size:50%}#wpbody-content .metabox-holder.rating{background:url(../images/rating.png) 100% 80% no-repeat;background-size:50%}#wpbody-content .metabox-holder.product-gallery-plugin{background:url(../images/product-gallery-zoom.png) 142% 102% no-repeat;background-size:70%;}.postbox{min-width:0;border-radius:5px;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;margin-bottom:20px;padding:0;line-height:1}.postbox .inside{margin:11px 0;position:relative;padding:0 12px 12px;line-height:1.4em;font-size:13px}#wpbody-content .metabox-holder p,.steps,label{font-size:15px}.form-horizontal{padding:20px}.form-horizontal .form-group{margin-left:0;margin-right:0}.form-group.disabled label,.form-group.disabled-short label{color:grey}#demo{border:1px solid #ccc}.steps{margin-bottom:4px}.steps .steps_nr{font-weight:700;padding-right:8px;color:#EF3D4A}.dashicons-yes{color:green}.image_zoom_promo{background-color:#bc1117;border:5px double #fff;text-align:center;margin:5px auto;width:96%;border-radius:10px;opacity:1!important}.input-group.input-group-checkbox{width:20px}.form-horizontal{float:left;width:100%}label{font-weight:400}.container_title:before{background:url(../images/icon.svg) no-repeat!important}#right_column_metaboxes a.button{color:#fff!important;border:none;box-shadow:none;vertical-align:middle;font-size:14px;height:32px;line-height:32px;padding:0 18px 1px;background:#bc1117!important;display:block-inline;text-align:center;margin:10px auto}h2{font-size:26px!important}h2 a{color:#23282d}h2 a:hover{color:#0073aa}h2 img{margin-bottom:4px}h3 .nav-tab{font-size:14px;line-height:22px;padding:10px 15px;border-radius:4px 4px 0 0;font-weight:400}
2
+
3
+ @font-face {
4
+ font-family: 'iz_fontello';
5
+ src: url('../fonts/fontello.eot?94869691');
6
+ src: url('../fonts/fontello.eot?94869691#iefix') format('embedded-opentype'),
7
+ url('../fonts/fontello.woff2?94869691') format('woff2'),
8
+ url('../fonts/fontello.woff?94869691') format('woff'),
9
+ url('../fonts/fontello.ttf?94869691') format('truetype'),
10
+ url('../fonts/fontello.svg?94869691#fontello') format('svg');
11
+ font-weight: normal;
12
+ font-style: normal;
13
+ }
14
+
15
+
16
+ [class^="icon-"]:before, [class*=" icon-"]:before {
17
+ font-family: "iz_fontello";
18
+ font-style: normal;
19
+ font-weight: normal;
20
+ speak: none;
21
+ display: inline-block;
22
+ text-decoration: inherit;
23
+ width: 1em;
24
+ text-align: center;
25
+ font-variant: normal;
26
+ text-transform: none;
27
+ line-height: 1em;
28
+ font-size: 32px;
29
+ color: #000;
30
+
31
+ /* Font smoothing. That was taken from TWBS */
32
+ -webkit-font-smoothing: antialiased;
33
+ -moz-osx-font-smoothing: grayscale;
34
+
35
+ }
36
+
37
+ [class^="icon-type_zoom_window"]:before, [class*=" icon-type_zoom_window"]:before {
38
+ font-size: 32px;
39
+ width: 60px;
40
+ }
41
+ [class^="icon-text_align"]:before, [class*=" icon-text_align"]:before {
42
+ font-size: 38px;
43
+ }
44
+
45
+ .icon-cursor_type_crosshair:before { content: '\e802'; } /* '' */
46
+ .icon-cursor_type_default:before { content: '\e803'; } /* '' */
47
+ .icon-cursor_type_move:before { content: '\e807'; } /* '' */
48
+ .icon-cursor_type_zoom:before { content: '\e808'; } /* '' */
49
+ .icon-lens_shape_circle:before { content: '\e809'; } /* '' */
50
+ .icon-lens_shape_square:before { content: '\e80a'; } /* '' */
51
+ .icon-question_mark:before { content: '\e80b'; } /* '' */
52
+ .icon-text_align_bottom_center:before { content: '\e80c'; } /* '' */
53
+ .icon-text_align_bottom_left:before { content: '\e80d'; } /* '' */
54
+ .icon-text_align_bottom_right:before { content: '\e80e'; } /* '' */
55
+ .icon-text_align_top_center:before { content: '\e80f'; } /* '' */
56
+ .icon-text_align_top_left:before { content: '\e810'; } /* '' */
57
+ .icon-text_align_top_right:before { content: '\e811'; } /* '' */
58
+ .icon-type_image_inline:before { content: '\e812'; } /* '' */
59
+ .icon-type_zoom_window:before { content: '\e813'; } /* '' */
60
+ .icon-type_zoom_window_left_bottom:before { content: '\e814'; } /* '' */
61
+ .icon-type_zoom_window_left_center:before { content: '\e815'; } /* '' */
62
+ .icon-type_zoom_window_left_top:before { content: '\e816'; } /* '' */
63
+ .icon-type_zoom_window_right_bottom:before { content: '\e817'; } /* '' */
64
+ .icon-type_zoom_window_right_center:before { content: '\e818'; } /* '' */
65
+ .icon-type_zoom_window_right_top:before { content: '\e819'; } /* '' */
66
+ .icon-zoom_level_2:before { content: '\e81a'; } /* '' */
67
+ .icon-zoom_level_3:before { content: '\e81b'; } /* '' */
68
+ .icon-zoom_level_15:before { content: '\e81c'; } /* '' */
69
+ .icon-zoom_level_25:before { content: '\e81d'; } /* '' */
70
+ .icon-zoom_level_default:before { content: '\e81e'; } /* '' */
71
+ .icon-cursor_type_pointer:before { content: '\e81f'; } /* '' */
72
+ .icon-lens_shape_none:before { content: '\e820'; } /* '' */
73
+ .icon-zoom-in:before { content: '\e821' !important; } /* '' */
74
+
75
+
76
+
77
+
78
+ .ribbon {
79
+ position: absolute;
80
+ z-index: 100;
81
+ width: 90px;
82
+ height: 90px;
83
+ overflow: hidden;
84
+ }
85
+ .ribbon.bottom-left {
86
+ bottom: -3px;
87
+ left: -6px;
88
+ }
89
+ .ribbon.bottom-left.ribbon-danger > small {
90
+ *zoom: 1;
91
+ filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FFD9534F', endColorstr='#FFB52B27');
92
+ background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q5NTM0ZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I1MmIyNyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
93
+ background-size: 100%;
94
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b52b27), color-stop(100%, #bc1117));
95
+ background-image: -moz-linear-gradient(top, #b52b27 0%, #bc1117 100%);
96
+ background-image: -webkit-linear-gradient(top, #b52b27 0%, #bc1117 100%);
97
+ background-image: linear-gradient(to bottom, #b52b27 0%, #bc1117 100%);
98
+ background-image: linear-gradient(to bottom, #bc1117 0%, #bc1117 100%);
99
+ position: absolute;
100
+ display: block;
101
+ width: 100%;
102
+ padding: 4px 8px;
103
+ text-align: center;
104
+ text-transform: uppercase;
105
+ text-shadow: 0 2px 0 #bc1117;
106
+ font-weight: bold;
107
+ font-size: 65%;
108
+ color: #fff;
109
+ background-color: #b52b27;
110
+ -moz-transform: rotate(50deg);
111
+ -ms-transform: rotate(50deg);
112
+ -webkit-transform: rotate(50deg);
113
+ transform: rotate(50deg);
114
+ -moz-box-shadow: 0 -3px 6px -3px rgba(0, 0, 0, 0.5);
115
+ -webkit-box-shadow: 0 -3px 6px -3px rgba(0, 0, 0, 0.5);
116
+ box-shadow: 0 -3px 6px -3px rgba(0, 0, 0, 0.5);
117
+ bottom: 18px;
118
+ left: -22px;
119
+ }
120
+ .ribbon.bottom-left.ribbon-danger > small:before, .ribbon.bottom-left.ribbon-danger > small:after {
121
+ position: absolute;
122
+ content: " ";
123
+ }
124
+ .ribbon.bottom-left.ribbon-danger > small:before {
125
+ left: 0;
126
+ }
127
+ .ribbon.bottom-left.ribbon-danger > small:after {
128
+ right: 0;
129
+ }
130
+ .ribbon.bottom-left.ribbon-danger > small:before, .ribbon.bottom-left.ribbon-danger > small:after {
131
+ top: -3px;
132
+ border-bottom: 3px solid #4c1210;
133
+ border-left: 3px solid transparent;
134
+ border-right: 3px solid transparent;
135
+ }
136
+
assets/fonts/fontello.eot ADDED
Binary file
assets/fonts/fontello.svg ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>Copyright (C) 2017 by original authors @ fontello.com</metadata>
5
+ <defs>
6
+ <font id="fontello" horiz-adv-x="1000" >
7
+ <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8
+ <missing-glyph horiz-adv-x="1000" />
9
+ <glyph glyph-name="cursor_type_crosshair" unicode="&#xe802;" d="M511 747c0-764 0-764 0-764m368 382l-736 0m332 360l50 0 0-750-48 0z m400-350l0-50-750 0 0 48z" horiz-adv-x="1000" />
10
+
11
+ <glyph glyph-name="cursor_type_default" unicode="&#xe803;" d="M305 695l0-620 193 104 122-175 103 50-117 183 171 86z" horiz-adv-x="1000" />
12
+
13
+ <glyph glyph-name="cursor_type_move" unicode="&#xe807;" d="M501 731l-112-112 88 0 0-245-246 0 0 88-111-112 111-112 0 88 246 0 0-245-88 0 112-112 110 112-88 0 0 245 247 0 0-88 110 112-110 112 0-88-247 0 0 245 88 0-110 112z" horiz-adv-x="1000" />
14
+
15
+ <glyph glyph-name="cursor_type_zoom" unicode="&#xe808;" d="M571 719c-176 0-320-143-320-320 0-74 26-143 69-197l-225-166a21 21 0 0 1-5-30l15-20a21 21 0 0 1 29-5l234 171c55-45 126-73 203-73 176 0 320 144 320 320 0 177-144 320-320 320z m0-47c151 0 270-122 270-273 0-150-119-273-270-273-151 0-273 123-273 273 0 151 122 273 273 273z m-24-125l0-124-124 0 0-47 124 0 0-124 48 0 0 124 124 0 0 47-124 0 0 124-48 0z" horiz-adv-x="1000" />
16
+
17
+ <glyph glyph-name="lens_shape_circle" unicode="&#xe809;" d="M500 751c-221 0-401-180-401-401 0-221 180-401 401-401 221 0 401 180 401 401 0 221-180 401-401 401z m0-50c194 0 351-157 351-351 0-194-157-351-351-351-194 0-351 157-351 351 0 194 157 351 351 351z" horiz-adv-x="1000" />
18
+
19
+ <glyph glyph-name="lens_shape_square" unicode="&#xe80a;" d="M166 666a24 24 0 0 1-20-24l0-583a24 24 0 0 1 24-25l660 0a24 24 0 0 1 24 25l0 583a24 24 0 0 1-24 24l-660 0a24 24 0 0 1-4 0z m29-48l611 0 0-536-611 0 0 536z" horiz-adv-x="1000" />
20
+
21
+ <glyph glyph-name="question_mark" unicode="&#xe80b;" d="M500 750c-213 0-385-179-385-400 0-221 172-400 385-400 213 0 385 179 385 400 0 221-172 400-385 400z m0-51c185 0 336-156 336-349 0-192-151-349-336-349-185 0-336 157-336 349 0 193 151 349 336 349z m6-85c-21 0-41-3-59-9-18-5-35-13-50-24-12-10-24-22-33-35-16-22-25-46-27-74-1-2-1-4-1-4 0 0 84-10 84-10 1 0 1 0 1 3 8 33 22 54 43 67 16 11 37 15 60 12 11-1 21-3 29-8 10-5 20-13 27-23 6-8 9-18 10-29 1-3 0-10 0-13-1-7-3-13-6-20-3-6-5-10-10-15-8-8-20-19-42-38-14-11-23-20-31-29-19-21-28-36-33-59-4-15-5-30-5-53 1-5 1-11 1-12v-1h83l0 9c0 13 1 22 2 30 2 13 6 20 15 31 7 7 15 15 27 26 18 16 31 28 43 41 19 19 29 33 36 48 6 13 9 25 10 38 0 4 0 13 0 16-2 28-12 53-32 76-3 4-10 12-14 15-19 18-41 30-68 37-16 4-31 6-51 7-3 0-6 0-9 0z m-42-415v-88h84v88h-84z" horiz-adv-x="1000" />
22
+
23
+ <glyph glyph-name="text_align_bottom_center" unicode="&#xe80c;" d="M91 668c-38 0-69-31-69-69l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 38-31 69-69 69l-818 0z m0-30l818 0c22 0 39-17 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 22 17 39 39 39z m209-378l123 0 0-16-52 0 0-129-19 0 0 129-52 0 0 16m201-86l0-9-82 0c0-12 4-22 11-28 6-7 16-10 28-10 6 0 13 1 20 2 6 2 13 5 19 8l0-17c-7-3-13-5-20-6-7-2-14-2-21-2-17 0-31 5-41 15-10 10-15 24-15 41 0 18 5 32 14 43 10 10 23 16 39 16 15 0 27-5 35-15 9-9 13-22 13-38m-18 5c0 10-3 18-8 24-5 5-13 8-21 8-10 0-19-3-25-8-6-6-9-14-10-24l64 0m135 45l-40-53 42-56-21 0-32 42-32-42-21 0 42 57-38 52 21 0 29-39 29 39 21 0m45 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 4-18 2-2 7-3 15-3l18 0 0-15-18 0c-14 0-24 2-29 7-5 5-8 15-8 29l0 59-13 0 0 14 13 0 0 31 18 0" horiz-adv-x="1000" />
24
+
25
+ <glyph glyph-name="text_align_bottom_left" unicode="&#xe80d;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m3-378l123 0 0-17-52 0 0-129-20 0 0 129-51 0 0 17m201-87l0-9-83 0c1-12 5-21 12-28 6-6 16-10 27-10 7 0 14 1 20 3 7 2 13 4 20 8l0-17c-7-3-13-5-20-7-7-1-14-2-21-2-17 0-31 5-41 15-10 11-15 24-15 42 0 17 4 32 14 42 10 11 23 16 39 16 15 0 27-5 35-14 9-10 13-23 13-39m-18 5c0 10-3 18-8 24-6 6-13 9-22 9-10 0-18-3-24-9-6-5-9-13-10-24l64 0m135 45l-40-53 42-56-21 0-32 43-32-43-21 0 42 57-39 52 22 0 29-39 29 39 21 0m45 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 4-17 2-3 7-4 15-4l18 0 0-15-18 0c-14 0-24 3-29 8-5 5-8 14-8 28l0 59-13 0 0 14 13 0 0 31 18 0" horiz-adv-x="1000" />
26
+
27
+ <glyph glyph-name="text_align_bottom_right" unicode="&#xe80e;" d="M91 670c-38 0-69-31-69-69l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 38-31 69-69 69l-818 0z m0-30l818 0c22 0 39-17 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 22 17 39 39 39z m407-378l124 0 0-17-52 0 0-129-20 0 0 129-52 0 0 17m202-87l0-8-83 0c1-13 4-22 11-29 7-6 16-9 28-9 7 0 14 0 20 2 6 2 13 4 19 8l0-17c-6-3-13-5-20-6-6-2-13-3-20-3-18 0-31 5-42 16-10 10-15 24-15 41 0 18 5 32 15 42 9 11 22 16 39 16 14 0 26-4 35-14 8-9 13-22 13-39m-18 6c-1 10-3 17-9 23-5 6-12 9-21 9-10 0-18-3-24-8-6-6-10-14-11-24l65 0m134 45l-39-54 41-56-21 0-32 43-31-43-22 0 43 57-39 53 21 0 29-39 29 39 21 0m46 31l0-31 37 0 0-14-37 0 0-60c0-9 1-14 3-17 3-2 8-4 15-4l19 0 0-15-19 0c-14 0-23 3-29 8-5 5-7 15-7 28l0 60-14 0 0 14 14 0 0 31 18 0" horiz-adv-x="1000" />
28
+
29
+ <glyph glyph-name="text_align_top_center" unicode="&#xe80f;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m209-60l123 0 0-17-52 0 0-129-19 0 0 129-52 0 0 17m201-87l0-9-82 0c0-12 4-21 11-28 6-6 16-10 28-10 6 0 13 1 20 3 6 2 13 4 19 8l0-17c-7-3-13-5-20-7-7-1-14-2-21-2-17 0-31 5-41 15-10 11-15 24-15 42 0 18 5 32 14 42 10 11 23 16 39 16 15 0 27-5 35-14 9-10 13-22 13-39m-18 6c0 9-3 17-8 23-5 6-13 9-21 9-10 0-19-3-25-9-6-5-9-13-10-24l64 0m135 45l-40-53 42-56-21 0-32 43-32-43-21 0 42 57-38 52 21 0 29-39 29 39 21 0m45 32l0-32 37 0 0-14-37 0 0-59c0-9 1-15 4-17 2-3 7-4 15-4l18 0 0-15-18 0c-14 0-24 3-29 8-5 5-8 14-8 28l0 59-13 0 0 14 13 0 0 32 18 0" horiz-adv-x="1000" />
30
+
31
+ <glyph glyph-name="text_align_top_left" unicode="&#xe810;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m3-56l123 0 0-17-52 0 0-129-20 0 0 129-51 0 0 17m201-87l0-9-83 0c1-12 5-21 12-28 6-6 16-10 27-10 7 0 14 1 20 3 7 2 13 4 20 8l0-17c-7-3-13-5-20-7-7-1-14-2-21-2-17 0-31 5-41 15-10 11-15 24-15 42 0 18 4 32 14 42 10 11 23 16 39 16 15 0 27-5 35-14 9-10 13-23 13-39m-18 5c0 10-3 18-8 24-6 6-13 9-22 9-10 0-18-3-24-9-6-5-9-13-10-24l64 0m135 45l-40-53 42-56-21 0-32 43-32-43-21 0 42 57-39 52 22 0 29-39 29 39 21 0m45 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 4-17 2-3 7-4 15-4l18 0 0-15-18 0c-14 0-24 3-29 8-5 5-8 14-8 28l0 59-13 0 0 14 13 0 0 31 18 0" horiz-adv-x="1000" />
32
+
33
+ <glyph glyph-name="text_align_top_right" unicode="&#xe811;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m407-44l124 0 0-17-52 0 0-129-20 0 0 129-52 0 0 17m202-87l0-9-83 0c1-12 4-22 11-28 7-7 16-10 28-10 7 0 14 1 20 3 6 1 13 4 19 7l0-17c-6-2-13-4-20-6-6-1-13-2-20-2-18 0-31 5-42 15-10 10-15 24-15 41 0 18 5 32 15 43 9 11 22 16 39 16 14 0 26-5 35-14 8-10 13-23 13-39m-18 5c-1 10-3 18-9 24-5 6-12 9-21 9-10 0-18-3-24-9-6-6-10-14-11-24l65 0m134 45l-39-53 41-56-21 0-32 43-31-43-22 0 43 57-39 52 21 0 29-39 29 39 21 0m46 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 3-17 3-3 8-4 15-4l19 0 0-15-19 0c-14 0-23 2-29 8-5 5-7 14-7 28l0 59-14 0 0 14 14 0 0 31 18 0" horiz-adv-x="1000" />
34
+
35
+ <glyph glyph-name="type_image_inline" unicode="&#xe812;" d="M142 847c-79 0-144-64-144-143l0-714c0-79 65-143 144-143l833 0c79 0 143 64 143 143l0 714c0 79-64 143-143 143l-833 0z m0-57l833 0c49 0 87-38 87-86l0-714c0-48-38-86-87-86l-833 0c-49 0-87 38-87 86l0 714c0 48 38 86 87 86z m232-199l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m160 0l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m160 0l-2-9 6-6 4-1 52 0 0-7 4-8 9-2 6 6 1 4 0 17-4 8-6 2-62 0z m-322-57l0-4 0-80 4-8 8-1 7 5 1 4 0 80-4 8-9 2z m383-43l-1-3 0-80 4-8 9-2 6 6 1 4 0 80-4 8-9 1z m-383-117l0-4 0-80 4-8 8-1 7 5 1 4 0 80-4 8-9 2z m383-43l-1-3 0-58-2 0-8-4-2-9 6-6 4-1 12 0 8 4 2 6 0 68-4 8-9 1z m-331-65l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m160 0l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m-25 224c-37 0-68-26-68-60 0-33 31-60 68-60 37 0 68 27 68 60 0 34-31 60-68 60z m0-12c31 0 55-22 55-48 0-25-24-47-55-47-31 0-55 22-55 47 0 26 24 48 55 48z m63-69l-7-7 56-46-8-7-56 45-6-8 60-47 3-3 3 3 15 13 4 4-4 3-60 50z" horiz-adv-x="1120" />
36
+
37
+ <glyph glyph-name="type_zoom_window" unicode="&#xe813;" d="M46 804a26 26 0 0 1-23-25l0-854a26 26 0 0 1 25-25l963 0a26 26 0 0 1 25 25l0 854a26 26 0 0 1-25 25l-963 0a26 26 0 0 1-2 0z m28-51l911 0 0-802-911 0 0 802z m296-185l-10 0 0-295 10-8 81 0 0 18-73 0 0 275 328 0 0-79 18 0 0 89-8 8-346 0z m336-285l-237 0 0-18 247 0 8 8 0 188-18 0z m387 500l-7 0 0-78 15 0 0 70 365 0 0 15-373 0z m388-8l373 0 0 15-373 0z m389 0l98 0 0-260 16 0 0 268-8 7-106 0z m-784-458l15 0 0 373-15 0z m882-190l16 0 0 373-16 0z m-882-54l7-8 145 0 0 16-137 0 0 220-15 0z m882 8l-327 0 0-16 335 0 8 8 0 38-16 0z m-715-16l373 0 0 16-373 0z m234 496c-68 0-126-57-126-129 0-73 58-130 126-130 69 0 127 57 127 130 0 72-58 129-127 129z m0-27c58 0 103-47 103-102 0-56-45-103-103-103-57 0-102 47-102 103 0 55 45 102 102 102z m101-144l-15-15 104-101-14-13-104 96-14-14 112-103 7-7 7 7 27 27 8 7-8 7-110 109z m-522 399l4-9 7 3-3 8z m-17-5l3-8 9 2-3 8z m-17-5l2-9 9 2-2 9z m-17-6l2-8 9 3-3 8z m-18-5l3-8 9 2-3 9z m-17-5l3-9 8 3-3 9z m-17-5l2-8 8 2-2 9z m-18-5l3-9 8 3-2 8z m-17-6l3-8 8 3-2 9z m-18-4l3-9 9 2-2 9z m-17-6l3-8 9 2-3 9z m-17-4l2-9 9 2-3 9z m-17-6l2-9 9 3-3 8z m-18-5l3-9 8 3-2 9z m-18-5l4-9 8 3-2 8z m-17-6l3-8 9 3-3 9z m-17-4l2-9 9 3-2 8z m-17-6l2-8 9 2-2 9z m-17-4l2-10 9 3-3 9z m-18-6l3-8 8 2-3 8z m-17-5l2-9 9 3-3 9z m-18-5l3-9 8 3-2 8z m-17-5l3-9 8 2-2 10z m-17-5l2-9 9 3-2 8z m-18-6l3-8 9 2-3 9z m-17-5l2-9 10 3-4 9z m-17-5l2-8 9 2-3 9z m-18-5l3-9 8 2-2 10z m-17-5l3-9 8 3-2 8z m-18-5l3-9 9 2-3 9z m-17-6l2-8 9 3-2 8z m-17-5l2-8 9 2-2 9z m-17-5l2-9 9 3-3 9z m-18-5l3-8 9 2-3 9z m-17-5l3-9 8 3-3 8z m-18-5l3-9 8 3-2 8z m-17-5l3-9 8 2-2 9z m-17-6l2-8 9 3-2 8z m-18-5l3-8 9 2-3 9z m-17-5l3-9 9 3-4 8z m-17-5l2-9 9 3-3 9z m-6-309l6-2 1 7-5 1z m12-3l5-2 2 7-5 1z m11-3l6-2 2 6-7 2z m12-3l6-2 1 5-6 2z m11-4l6-1 1 5-5 2z m12-3l6-1 1 5-5 2z m12-3l5-1 2 5-6 2z m11-3l6-1 2 5-7 2z m11-3l7-2 1 6-6 1z m12-3l6-2 1 6-5 1z m12-3l5-2 2 6-6 1z m12-3l5-3 2 6-6 2z m11-4l6-2 1 6-6 2z m11-3l6-2 2 6-6 2z m12-4l5-1 2 6-5 2z m12-3l5-1 2 6-6 2z m11-3l6-1 1 6-5 1z m11-3l7-2 1 6-6 2z m12-3l6-2 1 6-5 1z m12-3l5-2 2 6-6 1z m11-3l6-2 2 6-6 1z m11-3l7-2 1 5-6 2z m12-4l6-1 2 5-6 2z m12-3l5-1 2 5-6 2z m12-3l5-1 2 5-6 2z m11-3l6-2 1 6-5 1z m11-4l6-1 2 6-6 1z m12-3l6-2 2 7-6 1z m12-3l5-2 2 7-6 1z m11-3l6-2 1 6-5 2z m12-3l6-2 1 6-5 2z m11-3l6-2 2 5-6 3z m12-4l5-1 3 5-7 2z m11-3l6-1 2 5-6 2z m12-3l6-1 1 5-5 2z m11-3l6-2 2 6-6 1z m12-3l6-2 2 6-7 1z m12-3l5-2 2 6-6 1z m11-3l6-2 1 6-5 1z m12-3l5-2 2 5-5 2z m11-4l6-2 2 6-6 2z m12-4l6-1 1 6-6 2z m11-3l6-1 1 6-5 2z m12-3l6-1 1 6-5 1z m12-3l5-1 2 6-6 1z m11-3l6-2 2 6-7 2z m11-3l6-2 2 6-6 1z m12-3l6-2 1 6-5 1z m12-3l5-2 2 6-6 1z m11-4l6-1 2 5-7 2z m12-3l6-1 1 5-6 2z m11-3l6-1 1 5-5 2z m12-3l5-1 2 5-5 2z m12-3l5-2 2 6-6 1z m11-4l6-1 1 6-6 1z m11-3l7-2 1 7-6 1z m12-3l6-2 1 7-5 1z m12-3l5-2 2 6-6 2z m12-3l5-2 2 6-6 2z m10-4l7-1 1 5-6 3z m12-3l6-1 2 5-6 2z m12-3l5-1 2 5-6 2z m12-3l1-1 2 7-2 0z m1 559l2 0-2 9-1 0z m-19 5l2-8 9 1-2 9z m-18-3l2-9 9 2-2 9z m-17-3l1-9 9 2-2 8z m-18-3l1-10 9 3-1 8z m-18-3l1-10 10 2-2 9z m-18-4l2-9 9 2-2 9z m-18-3l2-9 9 2-2 8z m-18-4l2-8 9 1-2 9z m-18-3l2-9 9 2-1 9z m-17-3l2-9 8 1-1 10z m-18-4l2-8 8 1-1 10z m-18-3l2-8 9 1-2 9z m-18-3l2-9 9 2-1 9z m-18-3l2-9 9 2-1 9z m-17-3l2-10 8 2-1 9z m-18-4l2-9 8 2-1 9z m-18-3l2-9 9 2-2 8z m-18-3l2-9 9 2-1 8z m-18-3l3-10 8 3-1 8z m-17-4l2-9 8 2-1 9z m-18-3l2-9 8 1-1 10z m0-305l9-2 1 9-8 1z m18-3l9-2 1 10-8 1z m18-3l9-1 1 8-8 2z m18-3l9-1 1 9-9 1z m18-3l9-1 1 9-9 1z m17-2l10-2 1 9-9 1z m18-3l10-2 1 9-9 2z m18-3l10-1 0 8-8 2z m18-3l10-1 0 9-8 1z m18-3l9-2 1 10-8 1z m18-2l9-2 1 9-8 1z m18-3l9-2 1 9-8 1z m18-4l9 0 1 8-9 2z m17-2l10-1 1 8-9 2z m18-3l10-2 1 10-9 1z m18-2l10-2 1 9-9 1z m18-4l10-1 0 9-8 1z m18-3l9 0 1 8-8 2z m18-2l9-2 1 9-8 2z m18-3l9-2 1 10-8 1z m18-2l9-2 1 9-9 1z" horiz-adv-x="2000" />
38
+
39
+ <glyph glyph-name="type_zoom_window_left_bottom" unicode="&#xe814;" d="M969 752a24 24 0 0 1-21-23l0-757a24 24 0 0 1 23-24l937 0a24 24 0 0 1 23 24l0 757a24 24 0 0 1-23 23l-937 0a24 24 0 0 1-2 0z m26-47l889 0 0-710-889 0 0 710z m289-225l-9 0 0-260 9-9 94 0 0 17-86 0 0 244 320 0 0-58 17 0 0 66-8 9-337 0z m328-252l-218 0 0-17 227 0 8 9 0 177-17 0z m-1556 356l-7 0 0-90 14 0 0 83 339 0 0 14-346 0z m360-7l347 0 0 14-347 0z m361 0l131 0 0-202 14 0 0 209-8 7-137 0z m-728-444l14 0 0 346-14 0z m859-119l14 0 0 346-14 0z m-859-59l7-7 182 0 0 14-175 0 0 157-14 0z m859 7l-295 0 0-14 301 0 8 7 0 45-14 0z m-655-14l346 0 0 14-346 0z m183 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 102-89-14-12-103 87-12-15 109-91 6-5 7 6 27 23 8 7-8 7-109 96z m374 331l3-1 0 7-3 0z m8-1l7-1 0 6-6 0z m12-2l6-1 1 6-6 1z m12-1l6-1 1 6-6 1z m12-2l6-1 1 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 0 5-5 2z m12-1l6-1 0 6-5 1z m12-2l6 0 1 5-6 1z m12-1l5-1 2 6-7 1z m12-2l6-1 1 7-7 0z m12-1l6-1 0 6-6 0z m11-2l7-1 0 7-6 0z m12-1l7-1 0 6-5 0z m12-2l6-1 1 6-6 1z m12-1l6-1 1 6-6 0z m13-2l5-1 1 6-6 1z m11-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 1 5-6 1z m12-1l6-1 1 6-7 1z m12-2l6-1 1 7-7 0z m12-1l6-1 0 6-5 0z m11-2l7-1 0 7-5 0z m13-1l6-1 0 6-5 0z m12-2l5-1 1 6-6 1z m12-1l5-1 2 6-7 0z m12-2l5-1 1 6-6 1z m11-2l6 0 1 5-6 1z m12-1l7-1 0 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 1 5-6 1z m12-1l6-1 1 6-6 1z m12-2l6-1 1 6-6 1z m12-1l6-1 0 6-5 0z m12-2l6-1 0 7-5 0z m12-1l6-1 1 6-6 0z m12-2l5-1 2 6-7 1z m12-1l6-1 1 6-7 0z m12-2l6-1 0 6-6 1z m11-2l7 0 0 5-6 1z m12-1l7-1 0 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m13-2l5 0 1 5-6 1z m11-1l6-1 1 6-6 1z m12-2l6-1 1 6-6 1z m12-1l6-1 1 6-6 0z m12-2l6-1 1 6-6 1z m12-1l6-2 1 7-6 0z m12-2l6-1 1 6-7 1z m12-1l6-1 1 6-7 0z m12-2l6-1 0 6-5 1z m11-2l7 0 0 5-5 1z m12-1l7-1 0 6-5 1z m13-2l5 0 1 5-6 1z m-6-272l2-6 6 3-2 6z m-13-5l3-6 6 3-3 6z m-12-4l2-6 6 2-2 7z m-13-5l2-6 6 2-2 7z m-13-4l2-7 7 2-3 7z m-13-5l3-7 6 3-2 6z m-12-5l2-6 7 2-3 7z m-13-5l2-6 7 3-3 6z m-13-4l3-6 6 2-2 6z m-12-5l2-6 7 2-3 6z m-13-4l2-7 6 2-1 6z m-13-5l3-7 6 3-3 6z m-12-5l2-6 6 2-2 6z m-13-5l2-6 6 2-2 7z m-13-4l3-7 6 2-3 7z m-12-5l2-6 6 2-2 6z m-13-5l2-6 7 2-3 6z m-13-5l2-6 7 3-3 6z m-13-4l3-7 6 3-2 6z m-12-5l2-6 7 2-3 7z m-13-5l2-6 7 2-2 7z m-13-4l3-7 6 3-2 6z m-12-5l2-7 7 3-3 6z m-13-5l2-6 6 3-1 6z m-13-5l3-6 6 3-3 6z m-12-4l2-6 6 2-2 6z m-13-5l2-6 7 2-3 6z m-13-4l3-7 6 2-3 7z m-12-5l2-7 6 3-2 6z m-13-5l2-6 7 2-3 7z m-13-5l2-6 7 2-2 7z m-13-4l3-6 6 1-2 7z m-12-5l2-6 7 2-3 6z m-13-5l2-6 7 2-2 6z m-13-5l3-6 6 3-2 6z m-12-4l2-7 7 3-3 6z m-13-5l2-6 6 2-1 7z m-13-4l3-7 6 2-3 7z m-12-5l2-7 6 3-2 6z m-13-5l2-7 7 3-3 6z m-13-5l3-6 6 3-2 6z m-12-4l2-7 6 3-2 6z m-13-5l3-6 6 2-3 6z m-13-5l2-6 7 2-2 6z m-13-4l3-7 6 3-2 6z m-12-5l2-7 7 3-3 6z m-13-5l2-6 7 2-2 7z m-13-5l3-6 6 2-2 7z m-12-4l2-7 7 2-3 7z m-13-5l2-7 7 3-2 6z m-13-5l3-6 6 2-2 7z m-12-5l2-6 6 3-2 6z m-13-4l3-6 6 2-3 6z m-13-5l3-6 6 2-2 6z m-12-4l2-7 6 2-2 6z m-7-4l2-6 1 1-3 6z m4 620l11-3 3 10-11 3z m21-6l10-3 3 10-10 3z m21-6l10-2 3 10-11 3z m21-6l10-2 3 10-10 3z m20-5l11-3 2 10-10 3z m21-6l10-3 4 11-11 3z m21-5l10-4 3 11-10 3z m21-6l10-3 3 10-11 3z m20-6l11-3 2 11-10 2z m21-6l11-2 2 10-10 3z m21-6l10-2 3 10-10 3z m21-5l10-3 3 10-11 3z m20-6l10-2 4 10-11 3z m21-5l11-4 2 11-10 3z m21-6l10-3 3 10-10 3z m20-6l11-3 3 11-11 2z m22-5l10-3 3 10-11 3z m20-7l10-2 3 10-10 3z m6-264l2-7 7 1-1 7z m-13-2l0-7 7 1 0 7z m-15-1l2-8 6 2 0 7z m-13-2l0-7 7 1-1 7z m-15-2l1-7 7 1 0 7z m-14-2l1-7 8 2-2 7z m-14-1l1-7 7 1 0 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l0-7 8 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l0-7 8 1-1 8z m-14-1l1-7 6 1 0 7z m-14-2l0-7 8 1-2 7z m-14-2l0-7 7 1 0 8z m-15-1l1-7 8 1-2 7z m-13-2l0-7 7 1 0 7z m-15-2l2-7 6 1-1 8z m-13-1l0-7 7 1-1 7z m-15-2l1-7 7 1-1 7z" horiz-adv-x="2000" />
40
+
41
+ <glyph glyph-name="type_zoom_window_left_center" unicode="&#xe815;" d="M969 752a24 24 0 0 1-21-23l0-757a24 24 0 0 1 23-24l937 0a24 24 0 0 1 23 24l0 757a24 24 0 0 1-23 23l-937 0a24 24 0 0 1-2 0z m26-47l889 0 0-710-889 0 0 710z m289-225l-9 0 0-260 9-9 94 0 0 17-86 0 0 244 320 0 0-58 17 0 0 66-8 9-337 0z m328-252l-218 0 0-17 227 0 8 9 0 177-17 0z m-1556 445l-7 0 0-90 14 0 0 82 339 0 0 15-346 0z m360-8l347 0 0 15-347 0z m361 0l131 0 0-201 14 0 0 209-8 7-137 0z m-728-443l14 0 0 347-14 0z m859-118l14 0 0 346-14 0z m-859-60l7-7 182 0 0 14-175 0 0 157-14 0z m859 7l-295 0 0-14 301 0 8 7 0 45-14 0z m-655-14l346 0 0 14-346 0z m183 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 101-89-13-11-103 85-12-14 109-91 6-5 7 5 27 24 8 8-8 6-109 96z m376 333l9-2 2 8-8 2z m17-4l8-3 3 8-9 3z m16-5l9-2 2 9-8 2z m17-4l8-2 2 8-8 2z m16-4l9-3 2 9-8 2z m17-5l8-2 2 9-8 1z m16-4l9-2 2 8-8 2z m17-4l8-2 2 8-8 2z m17-5l8-2 2 8-8 3z m16-4l9-2 1 8-8 3z m17-5l8-1 2 8-8 2z m17-3l8-3 2 8-9 3z m16-5l8-2 2 8-8 2z m17-4l8-3 2 9-8 2z m16-4l8-3 3 9-9 2z m17-5l8-2 2 8-8 2z m16-4l8-2 3 8-8 2z m17-5l8-1 2 8-8 2z m16-4l8-2 3 8-8 2z m17-4l8-2 2 8-8 2z m16-5l8-2 3 9-8 2z m17-4l8-2 2 8-8 3z m16-4l9-2 2 8-9 2z m17-4l8-3 2 8-8 3z m17-5l8-2 2 8-9 3z m16-4l9-2 1 8-8 2z m17-4l8-3 2 9-8 2z m16-5l9-2 2 9-9 1z m17-4l8-2 2 8-8 2z m16-4l9-2 2 8-8 2z m17-5l8-2 3 8-9 2z m16-4l9-2 2 8-8 3z m17-5l8-1 3 8-9 2z m16-3l9-3 2 8-8 3z m17-5l8-2 3 8-9 2z m16-4l9-3 2 9-8 2z m17-4l8-3 3 9-9 2z m17-5l8-2 2 8-8 2z m16-4l9-3 2 9-9 2z m17-5l8-1 2 8-8 2z m17-4l8-2 2 8-9 2z m16-4l9-2 1 8-8 2z m17-5l8-2 2 9-8 2z m-2-271l2-6 5 2-2 5z m-10-2l1-6 6 1-2 6z m-11-3l1-6 6 2-1 5z m-10-2l1-6 5 1-1 6z m-11-4l1-5 6 2-1 5z m-11-2l2-5 5 1-1 5z m-10-3l1-5 6 2-2 5z m-11-2l1-5 6 1-1 5z m-11-3l2-5 5 2-1 5z m-10-2l1-5 6 1-2 5z m-11-3l1-5 6 1-1 6z m-10-2l1-6 5 2-1 5z m-11-3l1-5 6 1-1 6z m-11-2l2-6 5 2-1 5z m-10-3l1-5 6 1-2 6z m-11-3l1-5 6 2-1 5z m-11-2l2-5 5 1-1 5z m-10-3l1-5 6 2-2 5z m-11-2l2-5 5 1-1 5z m-10-3l1-5 5 2-1 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 5 2-1 5z m-11-2l2-6 5 1-2 6z m-10-3l1-5 5 1-1 6z m-11-2l1-6 5 1-1 6z m-11-3l2-5 5 1-2 6z m-10-2l1-6 5 1-1 6z m-11-3l1-5 5 1-1 5z m-10-3l1-5 5 1-1 5z m-11-2l1-5 5 1-1 5z m-11-3l2-5 5 1-2 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 5 1-1 5z m-11-2l2-6 5 1-2 6z m-10-3l1-5 5 1-1 5z m-11-2l1-6 5 1-1 6z m-10-3l1-5 5 1-1 5z m-11-2l1-6 6 1-2 6z m-11-3l2-5 5 1-1 5z m-10-3l1-5 6 1-2 5z m-11-2l1-5 6 1-1 5z m-11-3l2-5 5 1-1 5z m-10-2l1-5 6 1-2 5z m-11-3l1-5 6 1-1 5z m-10-2l1-6 5 1-1 6z m-11-3l1-6 6 2-1 5z m-11-2l2-6 5 1-1 6z m-10-3l1-6 6 2-2 5z m-11-2l1-6 6 1-1 6z m-11-4l2-5 5 2-1 5z m-10-2l1-5 6 1-2 5z m-11-3l1-5 6 2-1 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 6 2-1 5z m-11-2l2-5 5 1-1 5z m-10-3l2-5 5 1-2 6z m-10-2l1-6 5 2-1 5z m-11-3l1-5 5 1-1 6z m-11-2l2-6 5 2-2 5z m-10-3l1-5 5 1-1 6z m-11-3l1-5 5 2-1 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 5 2-1 5z m-11-2l2-5 5 1-2 5z m-10-3l1-5 5 2-1 5z m-11-2l1-5 5 1-1 5z m1 522l10-3 2 10-10 3z m20-5l10-3 2 10-10 3z m20-5l10-3 3 10-10 3z m20-6l10-2 3 10-10 2z m20-5l10-2 3 10-10 2z m20-5l11-3 2 11-10 2z m21-6l10-2 2 10-10 2z m20-5l10-2 2 10-10 2z m20-5l11-3 2 10-10 3z m21-5l10-3 2 10-10 3z m20-5l10-3 2 10-10 3z m20-6l10-2 3 10-10 2z m20-5l10-2 3 10-10 2z m20-5l10-3 3 11-10 2z m21-5l10-3 2 10-10 3z m20-5l10-3 2 10-10 3z m20-6l10-3 3 10-11 4z m20-5l10-3 3 10-10 3z m20-5l2-1 2 10-1 1z m-8-262l2-10 10 3-2 9z m-20-5l3-10 10 3-3 10z m-19-5l2-9 10 2-3 10z m-20-4l2-10 10 2-2 10z m-19-5l2-10 9 2-1 10z m-20-5l2-10 10 2-2 10z m-20-5l3-10 9 3-2 10z m-20-5l3-10 10 3-3 10z m-19-5l2-9 10 2-2 10z m-20-4l2-10 10 2-2 10z m-20-5l3-10 10 2-3 10z m-19-4l2-10 10 2-3 9z m-20-5l3-10 10 2-3 10z m-19-5l2-10 10 2-3 10z m-20-5l2-10 10 3-2 9z m-20-5l3-10 9 3-2 10z m-20-5l3-9 10 2-3 10z m-19-4l2-10 10 2-2 10z m-20-5l2-10 10 2-2 10z" horiz-adv-x="2000" />
42
+
43
+ <glyph glyph-name="type_zoom_window_left_top" unicode="&#xe816;" d="M969 752a24 24 0 0 1-21-23l0-757a24 24 0 0 1 23-24l937 0a24 24 0 0 1 23 24l0 757a24 24 0 0 1-23 23l-937 0a24 24 0 0 1-2 0z m26-47l889 0 0-710-889 0 0 710z m289-225l-9 0 0-260 9-9 94 0 0 17-86 0 0 244 320 0 0-58 17 0 0 66-8 9-337 0z m328-252l-218 0 0-17 227 0 8 9 0 177-17 0z m-1556 517l-7 0 0-90 14 0 0 83 339 0 0 14-346 0z m360-7l347 0 0 14-347 0z m361 0l131 0 0-201 14 0 0 208-8 7-137 0z m-728-443l14 0 0 346-14 0z m859-119l14 0 0 346-14 0z m-859-59l7-8 182 0 0 15-175 0 0 156-14 0z m859 7l-295 0 0-15 301 0 8 8 0 45-14 0z m-655-15l346 0 0 15-346 0z m183 453c-67 0-123-50-123-115 0-64 56-115 123-115 67 0 123 51 123 115 0 65-56 115-123 115z m0-24c56 0 100-41 100-91 0-49-44-91-100-91-56 0-100 42-100 91 0 50 44 91 100 91z m103-129l-13-14 101-90-13-11-103 86-12-15 109-90 6-6 7 6 27 24 8 6-8 8-109 96z m381 335l9-4 4 10-9 4z m19-7l10-4 3 10-9 3z m19-7l10-4 3 9-9 4z m20-8l9-3 4 10-10 3z m18-7l10-3 3 9-9 4z m20-7l9-3 4 9-10 4z m19-7l9-4 4 10-10 3z m19-7l9-4 4 10-9 4z m19-7l10-3 3 9-10 4z m19-7l10-4 3 10-9 3z m19-7l10-4 3 10-9 3z m20-8l9-3 3 10-9 3z m18-6l10-4 4 10-10 3z m20-7l9-4 4 9-10 4z m19-8l10-3 3 9-10 4z m19-7l9-3 4 10-9 3z m19-7l10-3 3 9-10 4z m19-7l9-3 4 9-9 4z m19-7l10-4 4 10-10 3z m19-7l10-4 3 10-9 4z m20-7l9-4 4 10-10 3z m19-7l9-4 4 9-10 4z m19-8l9-3 4 10-10 3z m19-7l9-3 4 10-10 3z m19-6l10-4 3 9-9 4z m19-8l10-3 3 9-9 4z m20-7l9-4 4 10-10 4z m18-7l10-3 3 9-9 4z m20-7l9-3 4 9-10 4z m18-7l10-4 4 10-10 3z m20-7l9-4 4 10-9 3z m19-7l10-4 3 10-10 4z m19-7l10-4 3 10-9 3z m19-7l10-4 3 9-10 4z m19-8l10-3 3 10-9 3z m19-7l10-3 4 9-10 4z m20-7l9-3 4 9-10 4z m2-272l1-4 4 0-1 5z m-8-1l1-4 4 1-1 3z m-7-5l3 0 0 4-4 0z m-8 3l0-4 4 0-1 5z m-9-1l1-4 4 1-1 3z m-8-1l1-4 4 0 0 5z m-8-1l1-4 4 1 0 3z m-7-1l0-4 4 0-1 4z m-8-1l0-4 4 0-1 5z m-9-1l1-4 4 1 0 3z m-7-2l0-3 4 0 0 4z m-8 0l0-5 4 1 0 4z m-8-1l0-4 4 0 0 4z m-8-5l5 0-1 4-4 0z m-8 3l1-5 3 1 0 4z m-8-2l1-3 3 0 0 4z m-8-5l5 1-1 4-4 0z m-8 4l0-4 5 0-1 4z m-8-2l1-3 4 0-1 4z m-7-5l3 1 0 4-4 0z m-8 3l0-3 4 0-1 4z m-9-1l1-4 4 1-1 4z m-7-5l4 1-1 4-4 0z m-9 3l1-3 4 0 0 4z m-7-1l0-4 4 1-1 4z m-8-1l0-4 4 1-1 4z m-9-1l1-4 4 1 0 4z m-7-1l0-4 4 1 0 4z m-8-1l0-4 4 1 0 4z m-8-1l0-4 4 1-1 4z m-8-1l0-4 5 1-1 3z m-8-1l1-4 3 0 0 5z m-8-1l1-4 3 1 0 4z m-8-1l0-4 4 1 0 3z m-8-1l0-4 5 0-1 5z m-8-1l1-4 4 1-1 3z m-7-5l3 0 0 4-4 0z m-9 3l1-4 4 0-1 5z m-8-1l1-4 4 1-1 3z m-7-5l4 0-1 4-4 0z m-9 3l1-4 4 0 0 4z m-7-1l0-4 4 1-1 3z m-8-5l4 0-1 4-3 0z m-9 3l1-4 4 0 0 4z m-8-2l1-3 4 0 0 4z m-7 0l0-4 4 0 0 4z m-8-1l0-4 4 1-1 3z m-8-2l0-3 5 0-1 4z m-8 0l0-5 4 1 0 4z m-8-1l1-4 3 0 0 4z m-8-2l0-3 4 0 0 4z m-8 0l0-5 5 1-1 4z m-8-2l1-3 4 0-1 4z m-8-1l1-4 3 1 0 4z m-8 0l1-5 4 1-1 4z m-8-2l0-3 5 0-1 4z m-7-5l4 1-1 4-4 0z m-9 3l1-3 4 0 0 4z m-7-1l0-4 4 1-1 4z m-8-5l4 1-1 4-3 0z m-9 3l1-3 4 0-1 4z m-8-1l1-4 4 1 0 4z m-7-5l4 1 0 3-4 0z m-8 3l0-4 4 0-1 5z m-8-1l0-4 4 1 0 4z m-8-1l0-4 4 1 0 4z m-8-1l1-4 3 1 0 4z m-8-1l0-4 4 1 0 3z m-8-1l0-4 5 0-1 5z m-8-1l1-4 4 1-1 4z m-8-1l1-4 3 1 0 3z m-8-1l1-4 3 0 0 5z m-8-1l0-4 5 1-1 3z m-8-1l1-4 4 0-1 4z m-8-1l1-4 4 0 0 5z m-8-1l1-4 4 1-1 3z m-7-5l4 0-1 4-3 0z m-9 3l1-4 4 0-1 4z m-8-1l1-4 4 0 0 4z m-7-5l4 0 0 4-4 0z m-8 3l0-4 4 0-1 4z m-8-1l0-4 4 0 0 4z m-8-5l4 0 0 4-5 0z m-8 3l1-4 3 0 0 4z m-8-2l0-3 4 0 0 4z m-8 0l0-5 5 1-1 4z m-8-1l0-4 5 0-1 4z m-8-2l1-3 3 0 0 4z m-1 508l12-6 6 12-13 5z m25-11l12-6 5 13-12 5z m25-11l12-5 5 12-12 5z m24-10l13-6 5 13-12 5z m25-11l12-6 6 13-13 5z m25-11l12-5 6 12-13 5z m25-10l12-6 5 13-12 5z m24-11l12-5 6 12-12 5z m25-10l12-6 5 12-12 5z m25-11l12-6 5 13-12 5z m24-11l13-5 5 12-12 5z m25-10l12-6 6 13-13 5z m25-11l12-6 5 13-12 5z m25-11l12-5 5 12-12 5z m24-10l13-6 5 13-12 5z m14-269l2-7 7 1-1 7z m-13-2l0-7 7 1 0 7z m-15-1l2-8 6 2 0 7z m-13-2l0-7 7 1-1 7z m-15-2l1-7 7 1 0 7z m-14-2l1-7 8 2-2 7z m-14-1l1-7 7 1 0 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l0-7 8 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l0-7 8 1-1 8z m-14-1l1-7 6 1 0 7z m-14-2l0-7 8 1-2 7z m-14-2l0-7 7 1 0 8z m-15-1l1-7 8 1-2 7z m-13-2l0-7 7 1 0 7z m-15-2l2-7 6 1-1 8z m-13-1l0-7 7 1-1 7z m-15-2l1-7 7 1-1 7z" horiz-adv-x="2000" />
44
+
45
+ <glyph glyph-name="type_zoom_window_right_bottom" unicode="&#xe817;" d="M1011 752a24 24 0 0 0 22-23l0-757a24 24 0 0 0-24-24l-936 0a24 24 0 0 0-24 24l0 757a24 24 0 0 0 24 23l936 0a24 24 0 0 0 2 0z m-26-47l-889 0 0-710 889 0 0 710z m-289-225l9 0 0-260-9-9-93 0 0 17 85 0 0 244-320 0 0-58-17 0 0 66 8 9 337 0z m-328-252l218 0 0-17-227 0-8 9 0 177 17 0z m1556 356l7 0 0-90-14 0 0 83-339 0 0 14 346 0z m-360-7l-346 0 0 14 346 0z m-361 0l-130 0 0-202-15 0 0 209 8 7 137 0z m728-444l-14 0 0 346 14 0z m-858-119l-15 0 0 346 15 0z m858-59l-7-7-182 0 0 14 175 0 0 157 14 0z m-858 7l294 0 0-14-301 0-8 7 0 45 15 0z m655-14l-347 0 0 14 347 0z m-275 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 101-89-13-12-103 87-12-15 109-91 6-5 7 6 26 23 9 7-9 7-108 96z m-491 330l3 1-1 6-3 0z m-13 5l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-1l1-6 6 1-1 6z m-12-2l1-6 6 1 0 6z m-12-2l1-5 6 0-1 7z m-11-1l0-6 6 1-1 6z m-12-2l0-5 6 0-1 7z m-12-1l0-6 6 1-1 6z m-13-2l2-5 5 0 0 6z m-12-1l2-6 5 1 0 6z m-11-1l1-7 5 1 0 6z m-12-2l0-6 7 1-1 5z m-12-1l0-7 7 1-1 6z m-12-2l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-1l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-2l1-5 6 0-1 7z m-11-1l0-6 6 1-1 6z m-13-2l1-5 6 0-1 7z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0 0 6z m-12-1l1-6 6 1 0 6z m-11-1l0-7 6 1 0 6z m-12-2l0-6 7 1-2 5z m-12-1l0-7 7 1-2 6z m-12-2l1-6 6 1-1 5z m-12-2l1-6 5 1 0 6z m-12-1l1-6 5 1 0 5z m-12-2l1-6 6 1-1 6z m-12-2l1-5 6 0-1 6z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0-1 7z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0 0 6z m-12-1l1-6 6 1-1 6z m-11-2l0-6 6 1-1 6z m-12-1l0-6 6 1-1 5z m-12-1l0-7 6 1-1 6z m-12-2l1-6 5 1 0 5z m-13-2l2-6 5 1 0 6z m-11-1l1-6 5 1 0 5z m-12-2l0-6 7 1-1 6z m-12-2l0-5 7 0-1 6z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0-1 7z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0-1 6z m-12-1l1-6 6 1-1 6z m-11-2l0-6 6 1-1 6z m-13-1l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-1l2-7 5 2 0 5z m-12-2l1-6 6 1 0 6z m-11-1l0-6 6 1 0 5z m-12-2l0-6 7 1-1 6z m-12-2l0-5 7 0-2 6z m-12-1l1-6 6 1-1 6z m-12-2l1-5 5 0 0 6z m4-280l6-3 3 6-7 3z m12-5l7-3 2 6-6 3z m13-5l6-2 3 6-7 3z m13-5l6-2 3 6-7 3z m12-5l7-2 2 7-6 2z m13-4l6-3 3 7-7 2z m13-5l6-2 2 6-6 3z m13-4l6-3 2 6-6 3z m12-5l6-2 3 6-6 2z m13-5l6-2 2 6-6 2z m13-5l6-2 2 7-6 1z m12-4l6-3 3 7-6 2z m13-5l6-2 2 6-6 2z m13-5l6-2 3 6-7 3z m12-5l7-2 2 7-6 2z m13-4l6-2 3 6-7 2z m13-5l6-2 2 6-6 2z m12-4l7-3 2 6-6 3z m13-5l6-3 3 7-7 2z m12-5l7-2 2 6-6 3z m14-5l6-2 2 6-6 3z m12-4l6-3 3 7-6 2z m13-5l6-3 2 7-6 2z m13-4l6-3 2 6-6 3z m12-5l6-3 3 6-6 3z m13-5l6-2 2 6-6 2z m13-5l6-2 2 6-6 2z m12-5l7-2 2 7-6 2z m13-4l6-3 3 7-7 2z m12-5l7-2 2 6-6 3z m13-5l7-2 2 6-6 3z m13-5l6-1 3 6-7 2z m12-4l7-2 2 6-6 2z m14-5l6-2 2 6-7 2z m12-4l6-3 3 6-6 3z m13-5l6-3 2 7-6 2z m13-5l6-2 2 6-6 3z m12-5l6-2 3 7-6 2z m13-4l6-3 2 7-6 2z m12-5l7-3 2 7-6 2z m13-4l7-3 2 6-6 3z m13-5l6-3 3 7-7 2z m12-5l7-2 2 6-6 2z m13-5l7-2 2 6-7 2z m13-4l6-3 3 7-7 2z m12-5l7-3 2 7-6 2z m14-5l6-2 2 6-7 3z m12-5l6-2 3 6-6 3z m13-5l6-2 2 7-6 2z m13-4l6-3 2 7-6 2z m12-5l6-2 3 6-6 3z m13-4l6-3 2 6-6 3z m12-5l7-2 2 6-6 2z m13-5l7-2 2 6-7 2z m13-5l6-2 3 7-7 1z m12-4l2-1 2 6-1 1z m-15 632l3-10 11 3-3 10z m-20-6l3-10 10 3-3 10z m-21-5l3-10 10 2-2 11z m-21-6l3-10 11 2-4 11z m-20-6l2-10 11 3-3 10z m-21-5l3-11 10 3-3 11z m-21-6l3-11 10 4-2 10z m-21-6l3-10 10 3-2 10z m-20-5l2-11 11 3-3 10z m-21-6l3-10 10 2-3 11z m-21-6l3-10 11 2-4 11z m-21-6l3-10 10 3-2 10z m-20-5l3-10 10 2-3 11z m-21-6l2-11 11 4-3 10z m-21-6l3-10 10 3-3 10z m-21-5l3-11 11 3-3 10z m-21-6l4-10 10 3-3 10z m-20-6l3-10 10 2-3 11z m-1-278l6-1 2 7-8 1z m14-2l7-1 0 7-6 1z m14-1l7-2 1 8-8 1z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-8 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l8-1 0 7-7 1z m14-1l7-2 2 7-8 2z m14-2l8-1 0 7-7 1z m15-2l6-1 1 7-7 1z m13-2l8-1 0 7-6 2z m15-1l7-1 0 7-7 1z m13-2l8-1 1 7-7 1z m15-2l7-1 0 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 0 7-6 1z m14-2l7-1 1 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z" horiz-adv-x="2000" />
46
+
47
+ <glyph glyph-name="type_zoom_window_right_center" unicode="&#xe818;" d="M1011 752a24 24 0 0 0 22-23l0-757a24 24 0 0 0-24-24l-936 0a24 24 0 0 0-24 24l0 757a24 24 0 0 0 24 23l936 0a24 24 0 0 0 2 0z m-26-47l-889 0 0-710 889 0 0 710z m-289-225l9 0 0-260-9-9-93 0 0 17 85 0 0 244-320 0 0-58-17 0 0 66 8 9 337 0z m-328-252l218 0 0-17-227 0-8 9 0 177 17 0z m1556 445l7 0 0-90-14 0 0 82-339 0 0 15 346 0z m-360-8l-346 0 0 15 346 0z m-361 0l-130 0 0-201-15 0 0 209 8 7 137 0z m728-443l-14 0 0 347 14 0z m-858-118l-15 0 0 346 15 0z m858-60l-7-7-182 0 0 14 175 0 0 157 14 0z m-858 7l294 0 0-14-301 0-8 7 0 45 15 0z m655-14l-347 0 0 14 347 0z m-275 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 101-89-13-11-103 85-12-14 109-91 6-5 7 5 26 24 9 8-9 6-108 96z m-502 339l3-8 8 2-2 8z m-16-5l2-8 8 3-2 8z m-17-3l3-9 8 2-3 9z m-16-5l2-8 8 2-2 8z m-17-4l3-9 8 3-3 8z m-16-4l2-9 8 2-2 8z m-17-5l3-8 8 2-3 8z m-16-4l2-8 8 2-2 8z m-17-5l2-8 9 2-3 9z m-16-4l2-8 8 2-2 9z m-17-4l2-8 8 1-2 9z m-16-5l1-8 9 3-2 8z m-17-4l2-8 8 2-2 8z m-17-4l2-9 8 3-1 8z m-16-4l2-9 8 3-2 8z m-17-5l2-8 8 2-2 8z m-17-4l3-8 8 2-2 8z m-16-4l2-8 8 1-2 9z m-17-5l3-8 8 2-2 8z m-16-4l2-8 8 2-2 8z m-17-4l3-9 8 2-2 9z m-16-5l2-8 9 2-3 9z m-17-4l3-8 8 2-2 8z m-16-5l2-8 8 3-2 8z m-17-4l2-8 9 2-2 9z m-16-4l2-8 8 2-2 8z m-17-4l2-9 8 3-1 8z m-16-4l1-9 9 2-2 8z m-17-5l2-8 8 2-2 8z m-17-4l2-8 9 2-2 8z m-16-5l2-8 8 2-2 8z m-17-4l2-8 9 2-3 9z m-17-4l3-8 8 1-2 9z m-16-5l2-8 9 3-3 8z m-17-4l3-8 8 2-2 8z m-16-4l2-9 9 3-3 8z m-16-4l2-9 8 3-2 8z m-17-5l2-8 9 2-3 8z m-16-4l2-9 8 3-2 8z m-17-4l2-8 8 1-2 9z m-16-5l1-8 9 2-2 8z m-17-4l2-8 8 2-2 8z m-17-4l2-9 8 2-1 9z m5-282l5-2 2 6-5 1z m11-3l5-1 1 6-5 1z m11-2l5-2 1 6-5 1z m10-3l5-1 2 6-5 1z m10-2l6-2 1 5-5 2z m11-3l6-1 1 5-6 1z m11-2l5-2 1 5-5 2z m10-3l6-1 1 5-6 1z m11-2l5-2 2 5-6 2z m10-3l6-1 1 5-5 1z m11-3l6-1 1 5-6 2z m11-2l5-2 2 6-6 1z m10-3l6-1 1 5-5 2z m11-2l6-2 1 6-6 1z m11-3l5-1 1 5-5 2z m10-2l6-2 1 5-6 2z m11-3l5-1 2 5-6 1z m10-2l6-2 1 5-5 2z m11-3l6-1 1 5-6 1z m11-2l5-2 2 5-6 2z m10-3l5-1 2 5-5 1z m11-2l5-2 2 5-6 2z m11-4l5-1 1 6-5 1z m10-2l5-1 1 5-5 2z m11-3l5-1 1 6-5 1z m10-2l5-1 2 5-5 2z m11-3l5-1 1 6-5 1z m11-2l5-1 1 5-5 1z m10-3l5-1 2 5-5 1z m11-2l5-1 1 5-5 1z m11-3l5-1 1 5-5 1z m10-2l5-1 1 5-5 1z m11-3l5-1 1 5-5 1z m10-3l5-1 2 6-5 1z m11-2l5-1 1 5-5 1z m11-3l5-1 1 6-5 1z m10-2l5-1 2 5-5 1z m11-3l5-1 1 6-5 1z m11-2l5-1 1 5-5 1z m10-3l5-1 1 5-5 1z m10-2l6-1 1 5-6 1z m11-3l5-1 2 5-6 1z m10-2l6-1 1 5-5 1z m11-3l6-1 1 5-6 1z m11-3l5-1 2 6-6 1z m10-2l6-2 1 6-5 1z m11-3l6-1 1 6-6 1z m11-2l5-2 1 6-5 1z m10-3l6-1 1 6-6 1z m11-2l5-2 2 5-6 2z m10-3l6-1 1 5-5 1z m11-2l6-2 1 5-6 2z m11-3l5-1 2 5-6 1z m10-2l6-2 1 5-5 2z m11-3l6-1 1 5-6 1z m11-3l5-1 1 5-5 2z m10-2l5-2 2 6-6 1z m11-3l5-1 2 5-6 2z m10-2l5-2 2 6-5 1z m11-3l5-1 1 5-5 2z m11-2l5-2 1 5-5 2z m10-3l5-1 2 5-5 1z m11-2l5-2 1 5-5 2z m11-3l5-1 1 5-5 1z m10-2l5-2 1 5-5 2z m11-3l5-1 1 5-5 1z m-7 533l2-10 10 3-2 10z m-20-5l2-10 10 3-2 10z m-21-5l3-10 10 3-2 10z m-20-5l3-10 10 2-3 10z m-20-5l3-10 10 2-3 10z m-20-5l3-11 10 3-3 10z m-20-6l2-10 10 2-2 10z m-20-5l2-10 10 2-2 10z m-21-6l3-10 10 3-3 10z m-20-5l3-10 10 3-3 10z m-20-5l3-10 10 3-3 10z m-21-5l3-10 11 2-4 10z m-20-5l3-10 10 2-3 10z m-20-5l3-11 10 3-3 10z m-20-6l2-10 11 3-3 10z m-20-5l2-10 10 3-2 10z m-21-6l3-10 10 3-2 11z m-20-5l3-10 10 3-3 10z m-11-3l2-10 2 1-3 10z m0-278l10-3 2 10-10 2z m19-5l10-3 3 10-10 3z m20-5l10-2 2 9-9 3z m20-5l10-2 2 10-10 2z m20-5l9-2 3 10-10 2z m19-5l10-2 3 10-10 2z m20-4l9-3 3 10-10 3z m19-5l10-3 3 10-10 3z m20-5l10-2 2 9-10 3z m20-5l10-2 2 10-10 2z m19-5l10-2 3 10-10 2z m20-4l10-2 2 10-9 1z m20-5l10-2 2 10-10 2z m20-5l10-2 1 10-9 2z m19-4l10-3 2 10-10 2z m20-5l9-3 3 10-10 3z m19-5l10-2 3 9-10 3z m20-5l10-2 2 10-9 2z m20-5l10-2 2 10-10 2z" horiz-adv-x="2000" />
48
+
49
+ <glyph glyph-name="type_zoom_window_right_top" unicode="&#xe819;" d="M1011 752a24 24 0 0 0 22-23l0-757a24 24 0 0 0-24-24l-936 0a24 24 0 0 0-24 24l0 757a24 24 0 0 0 24 23l936 0a24 24 0 0 0 2 0z m-26-47l-889 0 0-710 889 0 0 710z m-289-225l9 0 0-260-9-9-93 0 0 17 85 0 0 244-320 0 0-58-17 0 0 66 8 9 337 0z m-328-252l218 0 0-17-227 0-8 9 0 177 17 0z m1556 517l7 0 0-90-14 0 0 83-339 0 0 14 346 0z m-360-7l-346 0 0 14 346 0z m-361 0l-130 0 0-201-15 0 0 208 8 7 137 0z m728-443l-14 0 0 346 14 0z m-858-119l-15 0 0 346 15 0z m858-59l-7-8-182 0 0 15 175 0 0 156 14 0z m-858 7l294 0 0-15-301 0-8 8 0 45 15 0z m655-15l-347 0 0 15 347 0z m-275 453c-67 0-123-50-123-115 0-64 56-115 123-115 67 0 123 51 123 115 0 65-56 115-123 115z m0-24c56 0 100-41 100-91 0-49-44-91-100-91-56 0-100 42-100 91 0 50 44 91 100 91z m103-129l-13-14 101-90-13-11-103 86-12-15 109-90 6-6 7 6 26 24 9 6-9 8-108 96z m-509 341l4-10 9 4-3 10z m-19-7l3-10 10 4-3 9z m-19-8l4-9 9 4-4 9z m-20-6l4-10 10 3-4 10z m-18-8l3-9 10 3-4 10z m-20-7l4-9 9 3-3 10z m-18-7l3-10 10 4-4 9z m-20-7l4-10 9 4-3 10z m-19-7l4-9 9 3-3 10z m-19-7l3-10 10 4-4 9z m-19-7l3-10 10 4-4 9z m-19-7l3-10 10 3-4 10z m-19-7l3-10 10 4-4 9z m-20-8l4-9 9 4-3 9z m-19-7l4-9 10 3-4 10z m-19-6l4-10 9 3-4 10z m-19-8l3-9 10 3-3 10z m-19-7l4-9 9 3-4 10z m-19-7l3-10 10 4-3 9z m-19-7l3-10 10 4-4 10z m-20-7l4-10 10 4-4 9z m-18-8l3-9 10 4-4 9z m-20-6l4-10 9 3-3 10z m-19-7l4-10 9 3-3 10z m-19-8l3-9 10 4-3 9z m-19-7l4-9 9 3-4 10z m-19-7l3-10 10 4-4 10z m-19-7l3-9 10 3-4 10z m-20-7l4-9 9 3-3 10z m-18-7l3-10 10 4-4 9z m-20-7l4-10 9 4-3 9z m-19-7l4-10 9 4-3 10z m-19-7l4-10 9 4-4 9z m-19-8l3-9 10 4-3 9z m-19-6l3-10 10 3-4 10z m-19-8l3-9 10 3-4 10z m-20-7l4-9 9 3-3 10z m6-282l5 0 0 4-4 1z m9 0l3-1 1 4-4 0z m8-2l3 0 1 4-4 0z m7-1l5 0 0 4-4 1z m8 0l4-1 1 4-4 0z m8-2l4 0 1 4-4 1z m8 0l4-1 1 4-4 0z m8-2l4 0 0 4-3 0z m8-1l4 0 1 4-4 1z m8 0l4-1 1 4-5 0z m8-2l4 0 0 3-4 1z m8-1l4-1 0 5-3 0z m8-1l4 0 0 4-3 0z m8-1l4 0 1 4-5 0z m8-1l3-1 1 5-4 0z m8-1l4 0 0 3-4 1z m8-1l4-1 0 5-4 0z m7-1l5 0 0 4-4 0z m9-1l3 0 1 3-4 1z m8-1l3-1 1 5-4 0z m7-1l5 0 0 4-4 0z m8-1l4 0 1 3-4 1z m8-1l4-1 1 5-4 0z m9-1l3 0 1 3-4 1z m7-1l4-1 0 4-3 1z m8-1l4-1 1 5-4 0z m8-1l4 0 1 3-5 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 4-3 1z m8-1l4-1 0 4-3 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 4-4 1z m8-1l4-1 0 4-4 1z m8-1l4-1 0 4-4 0z m7-2l5 0 0 4-4 1z m9 0l3-1 1 4-4 1z m8-1l3-1 1 4-4 0z m7-2l5 0 0 4-4 1z m8 0l5-1 0 4-4 0z m8-2l4 0 1 4-4 0z m9-1l3 0 1 4-4 1z m7 0l4-1 0 4-3 0z m8-2l4 0 1 4-4 0z m8-1l4 0 1 4-4 1z m8 0l4-1 1 4-5 0z m8-2l4 0 0 4-3 1z m8 0l4-1 0 4-3 0z m8-2l4 0 1 4-5 0z m8-1l4 0 0 4-4 1z m8 0l4-1 0 4-4 0z m8-2l4 0 0 3-3 1z m7-1l5-1 0 5-4 0z m9-1l3 0 1 4-4 0z m8-1l3 0 1 3-4 1z m8-1l4-1 0 5-4 0z m7-1l5 0 0 3-4 1z m8-1l4-1 1 5-4 0z m9-1l3 0 1 4-4 0z m7-1l4 0 1 3-4 1z m8-1l4-1 1 5-4 0z m8-1l4 0 1 3-4 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 5-3 0z m8-1l4 0 0 3-3 1z m8-1l4-1 1 4-5 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 4-4 1z m8-1l4-1 0 4-3 1z m7-1l5-1 0 4-4 1z m9-1l4-1 0 4-4 1z m8-1l3-1 1 4-4 1z m8-1l4-1 0 4-4 1z m7-1l5-1 0 4-4 1z m8-1l4-1 1 4-4 0z m9-2l3 0 1 4-4 1z m7 0l4-1 1 4-4 1z m8-1l4-1 1 4-4 0z m8-2l4 0 1 4-4 1z m8 0l4-1 1 4-5 0z m8-2l4 0 0 4-3 0z m8-1l4 0 0 4-3 1z m8 0l4-1 1 4-4 0z m8-2l4 0 1 4-5 0z m8-1l4 0 0 4-4 0z m8-1l4 0 0 4-3 0z m8-1l4 0 0 4-4 0z m8 0l4-1 0 4-4 0z m8-2l3 0 1 3-4 1z m-13 517l6-12 12 6-5 11z m-24-10l5-13 12 6-5 12z m-25-11l5-12 12 5-5 12z m-25-10l5-13 13 6-6 12z m-25-11l6-13 12 6-5 12z m-24-11l5-12 13 5-6 12z m-25-10l5-13 13 6-5 12z m-25-11l6-12 12 5-5 12z m-24-11l5-12 12 6-5 11z m-25-10l5-13 13 6-6 12z m-25-11l5-12 13 5-5 12z m-25-10l6-13 12 6-5 12z m-24-11l5-13 12 6-5 12z m-25-11l6-12 11 5-5 12z m-24-10l5-13 12 6-6 12z m-5-282l6-1 2 7-8 1z m14-2l7-1 0 7-6 1z m14-1l7-2 1 8-8 1z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-8 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l8-1 0 7-7 1z m14-1l7-2 2 7-8 2z m14-2l8-1 0 7-7 1z m15-2l6-1 1 7-7 1z m13-2l8-1 0 7-6 2z m15-1l7-1 0 7-7 1z m13-2l8-1 1 7-7 1z m15-2l7-1 0 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 0 7-6 1z m14-2l7-1 1 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z" horiz-adv-x="2000" />
50
+
51
+ <glyph glyph-name="zoom_level_2" unicode="&#xe81a;" d="M511 747c0-764 0-764 0-764m-34 195l-211 0 0 36 81 89c12 12 22 24 31 34 9 10 17 20 23 30 7 10 12 20 15 30 4 10 5 21 5 33 0 9-1 17-4 24-2 7-6 13-11 18-5 4-11 8-17 11-7 2-14 3-22 3-15 0-28-3-40-9-12-6-23-13-34-22l-24 27c6 6 13 11 20 16 7 5 15 9 23 12 8 4 17 7 26 9 9 2 19 3 29 3 15 0 28-2 40-6 12-4 22-10 31-18 8-8 15-18 19-29 5-11 7-24 7-38 0-13-2-25-6-37-4-12-10-24-17-35-7-12-16-23-26-35-10-12-21-24-32-36l-65-70 0-1 159 0 0-39m123 131l-82 124 48 0 58-95 58 95 48 0-82-124 86-131-48 0-62 101-63-101-48 0 87 131" horiz-adv-x="1000" />
52
+
53
+ <glyph glyph-name="zoom_level_3" unicode="&#xe81b;" d="M511 747c0-764 0-764 0-764m-43 457c0-11-2-21-5-31-4-9-9-17-15-24-7-7-14-12-23-17-9-4-19-7-30-9l0-1c27-4 48-13 62-27 14-14 22-32 22-54 0-15-3-29-8-41-5-12-13-23-23-32-10-9-23-16-39-21-15-5-34-7-55-7-17 0-33 1-48 4-15 2-29 7-42 14l0 39c14-7 28-12 44-16 16-4 31-6 45-6 14 0 27 2 37 5 10 3 19 7 25 13 7 6 12 13 15 21 4 9 5 18 5 28 0 11-2 20-6 27-4 8-10 14-17 19-8 5-17 8-28 11-11 2-23 3-37 3l-31 0 0 35 31 0c12 0 23 2 33 5 10 3 18 7 25 13 6 6 11 13 15 20 3 8 5 17 5 26 0 9-2 16-4 22-3 6-7 12-12 16-5 5-11 8-19 10-7 3-15 4-23 4-17 0-31-3-44-8-13-5-25-12-36-20l-21 29c5 5 12 9 19 13 7 4 15 8 24 11 8 3 17 6 27 8 10 2 20 2 31 2 16 0 31-2 44-6 12-4 23-10 31-17 9-8 15-17 20-27 4-10 6-22 6-34m134-129l-82 124 48 0 58-95 58 95 48 0-83-124 87-131-48 0-62 101-63-101-48 0 87 131" horiz-adv-x="1000" />
54
+
55
+ <glyph glyph-name="zoom_level_15" unicode="&#xe81c;" d="M511 747c0-764 0-764 0-764m-302 228l-41 0 0 212c0 7 0 14 0 21 0 8 0 15 0 23 1 7 1 15 1 21 0 7 1 13 1 19-3-3-5-6-7-8-2-2-4-3-6-5-2-2-5-4-7-6-2-2-5-5-8-8l-35-28-22 29 89 69 35 0 0-339m180 55l4-5c-2-8-5-17-8-27-3-9-6-19-10-28-3-10-7-19-11-29-4-9-8-19-12-27l-32 0c2 9 5 19 7 29 2 10 4 21 6 31 3 10 4 20 6 29 2 10 3 19 5 27l45 0m162 153c15 0 29-2 42-6 14-4 25-11 35-19 10-8 18-19 23-31 6-13 9-27 9-43 0-18-3-34-8-48-6-14-13-26-24-35-10-10-23-18-38-23-15-5-33-8-53-8-8 0-15 1-23 2-8 0-15 2-22 3-7 1-14 3-20 6-6 2-12 5-17 8l0 40c5-4 11-7 18-10 7-3 14-5 21-7 8-2 16-3 23-4 8-1 15-2 21-2 13 0 24 2 33 5 10 3 18 7 25 13 6 6 11 14 15 23 3 9 5 20 5 32 0 22-7 39-20 51-14 12-34 17-60 17-4 0-8 0-13 0-5-1-10-1-15-2-5 0-9-1-14-2-4 0-8-1-11-2l-21 14 13 159 160 0 0-38-124 0-9-97c5 0 12 1 20 3 8 1 18 1 29 1m230-77l-82 124 48 0 58-95 58 95 48 0-83-124 87-131-48 0-62 101-63-101-48 0 87 131" horiz-adv-x="1000" />
56
+
57
+ <glyph glyph-name="zoom_level_25" unicode="&#xe81d;" d="M511 747c0-764 0-764 0-764m-224 226l-211 0 0 36 81 88c11 13 22 24 31 35 9 10 17 20 23 30 7 10 12 20 15 30 3 10 5 21 5 32 0 10-1 18-4 25-3 6-6 12-11 17-5 5-11 9-17 11-7 3-15 4-23 4-14 0-28-3-40-9-11-6-23-14-33-23l-24 28c6 5 13 11 20 15 7 5 15 10 23 13 8 4 17 6 26 8 9 3 19 4 29 4 15 0 28-2 40-7 12-4 22-10 30-18 9-7 15-17 20-28 4-11 7-24 7-38 0-13-2-26-7-38-4-11-9-23-16-35-8-11-16-23-26-34-10-12-21-24-33-37l-65-69 0-2 160 0 0-38m112 55l3-6c-2-8-4-17-7-26-3-10-7-19-10-29-4-9-8-19-12-28-4-10-7-19-11-28l-32 0c2 10 4 20 6 30 3 10 5 20 7 30 2 11 4 20 6 30 1 10 3 19 4 27l46 0m161 153c16 0 30-2 43-7 13-4 25-10 35-19 9-8 17-18 23-31 5-12 8-26 8-43 0-17-3-33-8-47-5-14-13-26-23-36-11-10-23-17-39-22-15-5-32-8-52-8-8 0-16 1-24 1-7 1-15 2-22 4-7 1-13 3-20 5-6 3-12 5-17 8l0 40c5-3 11-6 18-9 7-3 14-5 22-7 7-2 15-4 23-5 7-1 14-1 21-1 12 0 23 1 33 4 9 3 17 8 24 14 7 6 12 13 15 22 4 9 6 20 6 33 0 22-7 39-21 50-13 12-33 18-59 18-4 0-9 0-14-1-5 0-9 0-14-1-5-1-10-1-14-2-5-1-8-1-12-2l-21 13 13 160 160 0 0-39-123 0-9-97c5 1 11 2 19 3 8 1 18 2 29 2m230-78l-82 124 48 0 58-95 58 95 48 0-82-124 87-130-48 0-63 101-62-101-48 0 86 130" horiz-adv-x="1000" />
58
+
59
+ <glyph glyph-name="zoom_level_default" unicode="&#xe81e;" d="M511 747c0-764 0-764 0-764m-432 389l842 0 0-44-842 0z" horiz-adv-x="1000" />
60
+
61
+ <glyph glyph-name="cursor_type_pointer" unicode="&#xe81f;" d="M463 754l-125-3a19 19 0 0 1-18-20l8-360-45 46a19 19 0 0 1-13 5l-88 5a19 19 0 0 1-19-21l8-110a19 19 0 0 1 4-10l191-263 0-66a19 19 0 0 1 19-20l370 0a19 19 0 0 1 19 20l0 92 58 102a19 19 0 0 1 2 6l14 59a19 19 0 0 1 0 4l5 205a19 19 0 0 1-5 13l-47 47a19 19 0 0 1-10 5l-68 17-39 34a19 19 0 0 1-13 5l-74-3-9 25a19 19 0 0 1-18 12l-87 0 0 156a19 19 0 0 1-20 18z m-18-39l0-154a19 19 0 0 1 18-19l93 0 10-26a19 19 0 0 1 18-12l80 4 37-33a19 19 0 0 1 8-5l68-16 38-37-5-192-12-57-60-104a19 19 0 0 1-2-10l0-79-332 0 0 54a19 19 0 0 1-4 11l-191 264-7 84 58-3 74-76a19 19 0 0 1 33 14l-8 390 86 2z m38-157l-38-2 4-162 39 2-5 162z m125-34l-38-2 9-145 38 2-9 145z m130-39l-39-1 5-137 38 2-4 136z" horiz-adv-x="1000" />
62
+
63
+ <glyph glyph-name="lens_shape_none" unicode="&#xe820;" d="M723 550l-23 23-423-423 23-23z m-446 0l23 23 423-423-23-23z" horiz-adv-x="1000" />
64
+
65
+ <glyph glyph-name="zoom-in" unicode="&#xe821;" d="M453 698c-162 0-293-132-293-294 0-161 131-293 293-293 162 0 294 132 294 293 0 162-132 294-294 294z m0-58c131 0 236-105 236-236 0-130-105-236-236-236-131 0-236 106-236 236 0 131 105 236 236 236z m2-108a29 29 0 0 1-29-29l-3-197a29 29 0 1 1 57 0l3 196a29 29 0 0 1-28 30z m-100-97a29 29 0 1 1-1-58l197-3a29 29 0 1 1 1 57l-197 4z m280-194a29 29 0 0 1-20-49l187-187a29 29 0 1 1 41 41l-187 186a29 29 0 0 1-21 9z" horiz-adv-x="1000" />
66
+ </font>
67
+ </defs>
68
+ </svg>
assets/fonts/fontello.ttf ADDED
Binary file
assets/fonts/fontello.woff ADDED
Binary file
assets/fonts/fontello.woff2 ADDED
Binary file
assets/images/discount.png ADDED
Binary file
assets/images/icon.svg ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="20"
13
+ height="20"
14
+ id="svg2"
15
+ version="1.1"
16
+ inkscape:version="0.48.3.1 r9886"
17
+ sodipodi:docname="icon.svg">
18
+ <defs
19
+ id="defs4" />
20
+ <sodipodi:namedview
21
+ id="base"
22
+ pagecolor="#ffffff"
23
+ bordercolor="#666666"
24
+ borderopacity="1.0"
25
+ inkscape:pageopacity="0.0"
26
+ inkscape:pageshadow="2"
27
+ inkscape:zoom="28.110758"
28
+ inkscape:cx="6.6378035"
29
+ inkscape:cy="9.4092616"
30
+ inkscape:document-units="px"
31
+ inkscape:current-layer="layer1"
32
+ showgrid="false"
33
+ inkscape:window-width="1120"
34
+ inkscape:window-height="699"
35
+ inkscape:window-x="0"
36
+ inkscape:window-y="19"
37
+ inkscape:window-maximized="0" />
38
+ <metadata
39
+ id="metadata7">
40
+ <rdf:RDF>
41
+ <cc:Work
42
+ rdf:about="">
43
+ <dc:format>image/svg+xml</dc:format>
44
+ <dc:type
45
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
46
+ <dc:title></dc:title>
47
+ </cc:Work>
48
+ </rdf:RDF>
49
+ </metadata>
50
+ <g
51
+ inkscape:label="Layer 1"
52
+ inkscape:groupmode="layer"
53
+ id="layer1"
54
+ transform="translate(0,-1032.3622)">
55
+ <path
56
+ sodipodi:type="arc"
57
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:48, 2;stroke-dashoffset:0"
58
+ id="path2985"
59
+ sodipodi:cx="8.3833218"
60
+ sodipodi:cy="9.1243391"
61
+ sodipodi:rx="4.3049493"
62
+ sodipodi:ry="4.3049493"
63
+ d="m 12.688271,9.1243391 a 4.3049493,4.3049493 0 1 1 -8.6098985,0 4.3049493,4.3049493 0 1 1 8.6098985,0 z"
64
+ transform="matrix(-1.3079553,0,0,1.3079553,23.960761,1029.3362)" />
65
+ <rect
66
+ style="fill:none;stroke:#ffffff;stroke-width:2.61591052999999985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:62.78185283999999911, 2.61591055000000017;stroke-dashoffset:0"
67
+ id="rect2991"
68
+ width="8.3966293"
69
+ height="1.5805421"
70
+ x="598.75842"
71
+ y="855.4184"
72
+ transform="matrix(-0.81471685,0.579859,0.579859,0.81471685,0,0)" />
73
+ <path
74
+ style="fill:none;stroke:#ffffff;stroke-width:1.09081018000000007px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
75
+ d="m 12.995751,1038.9919 0,4.557"
76
+ id="path3799"
77
+ inkscape:connector-curvature="0" />
78
+ <path
79
+ inkscape:connector-curvature="0"
80
+ id="path3803"
81
+ d="m 15.274251,1041.2704 -4.557,0"
82
+ style="fill:none;stroke:#ffffff;stroke-width:1.09081018000000007px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
83
+ </g>
84
+ </svg>
assets/images/img1_large.png ADDED
Binary file
assets/images/img1_medium.png ADDED
Binary file
assets/images/product-gallery-zoom.png ADDED
Binary file
assets/images/question_mark.svg ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ id="svg2"
13
+ height="14"
14
+ width="14"
15
+ version="1.0"
16
+ inkscape:version="0.48.3.1 r9886"
17
+ sodipodi:docname="question_mark.svg">
18
+ <metadata
19
+ id="metadata10">
20
+ <rdf:RDF>
21
+ <cc:Work
22
+ rdf:about="">
23
+ <dc:format>image/svg+xml</dc:format>
24
+ <dc:type
25
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <defs
30
+ id="defs8" />
31
+ <sodipodi:namedview
32
+ pagecolor="#ffffff"
33
+ bordercolor="#666666"
34
+ borderopacity="1"
35
+ objecttolerance="10"
36
+ gridtolerance="10"
37
+ guidetolerance="10"
38
+ inkscape:pageopacity="0"
39
+ inkscape:pageshadow="2"
40
+ inkscape:window-width="1094"
41
+ inkscape:window-height="675"
42
+ id="namedview6"
43
+ showgrid="false"
44
+ inkscape:zoom="19.47"
45
+ inkscape:cx="11.241964"
46
+ inkscape:cy="1.3867488"
47
+ inkscape:window-x="0"
48
+ inkscape:window-y="0"
49
+ inkscape:window-maximized="0"
50
+ inkscape:current-layer="svg2" />
51
+ <g
52
+ id="layer1"
53
+ transform="matrix(0.05392912,0,0,0.05598356,1.607088,1.401644)">
54
+ <path
55
+ id="path2413"
56
+ d="M 100,0 C 44.8,0 0,44.8 0,100 0,155.2 44.8,200 100,200 155.2,200 200,155.2 200,100 200,44.8 155.2,0 100,0 z m 0,12.812 c 48.13,0 87.19,39.058 87.19,87.188 0,48.13 -39.06,87.19 -87.19,87.19 C 51.87,187.19 12.812,148.13 12.812,100 12.812,51.87 51.87,12.812 100,12.812 z m 1.47,21.25 c -5.45,0.03 -10.653,0.737 -15.282,2.063 -4.699,1.346 -9.126,3.484 -12.876,6.219 -3.238,2.362 -6.333,5.391 -8.687,8.531 -4.159,5.549 -6.461,11.651 -7.063,18.687 -0.04,0.468 -0.07,0.868 -0.062,0.876 0.016,0.016 21.702,2.687 21.812,2.687 0.053,0 0.113,-0.234 0.282,-0.937 1.941,-8.085 5.486,-13.521 10.968,-16.813 4.32,-2.594 9.808,-3.612 15.778,-2.969 2.74,0.295 5.21,0.96 7.38,2 2.71,1.301 5.18,3.361 6.94,5.813 1.54,2.156 2.46,4.584 2.75,7.312 0.08,0.759 0.05,2.48 -0.03,3.219 -0.23,1.826 -0.7,3.378 -1.5,4.969 -0.81,1.597 -1.48,2.514 -2.76,3.812 -2.03,2.077 -5.18,4.829 -10.78,9.407 -3.6,2.944 -6.04,5.156 -8.12,7.343 -4.943,5.179 -7.191,9.069 -8.564,14.719 -0.905,3.72 -1.256,7.55 -1.156,13.19 0.025,1.4 0.062,2.73 0.062,2.97 v 0.43 h 21.598 l 0.03,-2.4 c 0.03,-3.27 0.21,-5.37 0.56,-7.41 0.57,-3.27 1.43,-5 3.94,-7.81 1.6,-1.8 3.7,-3.76 6.93,-6.47 4.77,-3.991 8.11,-6.99 11.26,-10.125 4.91,-4.907 7.46,-8.26 9.28,-12.187 1.43,-3.092 2.22,-6.166 2.46,-9.532 0.06,-0.816 0.07,-3.03 0,-3.968 -0.45,-7.043 -3.1,-13.253 -8.15,-19.032 -0.8,-0.909 -2.78,-2.887 -3.72,-3.718 -4.96,-4.394 -10.69,-7.353 -17.56,-9.094 -4.19,-1.062 -8.23,-1.6 -13.35,-1.75 -0.78,-0.023 -1.59,-0.036 -2.37,-0.032 z m -10.908,103.6 v 22 h 21.998 v -22 H 90.562 z"
57
+ inkscape:connector-curvature="0" />
58
+ </g>
59
+ </svg>
assets/images/rating.png ADDED
Binary file
assets/images/silkypress_logo.png ADDED
Binary file
assets/images/tinyMCE_button.png ADDED
Binary file
assets/images/type_image_inline.svg ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="112"
13
+ height="100"
14
+ id="svg4067"
15
+ version="1.1"
16
+ inkscape:version="0.48.3.1 r9886"
17
+ sodipodi:docname="type_image_inline.svg">
18
+ <defs
19
+ id="defs4069" />
20
+ <sodipodi:namedview
21
+ id="base"
22
+ pagecolor="#ffffff"
23
+ bordercolor="#666666"
24
+ borderopacity="1.0"
25
+ inkscape:pageopacity="0.0"
26
+ inkscape:pageshadow="2"
27
+ inkscape:zoom="2.065"
28
+ inkscape:cx="79.476624"
29
+ inkscape:cy="50.104364"
30
+ inkscape:document-units="px"
31
+ inkscape:current-layer="layer1"
32
+ showgrid="false"
33
+ inkscape:window-width="729"
34
+ inkscape:window-height="403"
35
+ inkscape:window-x="877"
36
+ inkscape:window-y="363"
37
+ inkscape:window-maximized="0" />
38
+ <metadata
39
+ id="metadata4072">
40
+ <rdf:RDF>
41
+ <cc:Work
42
+ rdf:about="">
43
+ <dc:format>image/svg+xml</dc:format>
44
+ <dc:type
45
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
46
+ <dc:title></dc:title>
47
+ </cc:Work>
48
+ </rdf:RDF>
49
+ </metadata>
50
+ <g
51
+ inkscape:label="Layer 1"
52
+ inkscape:groupmode="layer"
53
+ id="layer1"
54
+ transform="translate(0,-952.36218)">
55
+ <rect
56
+ style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:5.68464231000000009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
57
+ id="rect3790"
58
+ width="106.31535"
59
+ height="94.315361"
60
+ x="2.6994605"
61
+ y="955.49017"
62
+ ry="11.5" />
63
+ <rect
64
+ style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 8;stroke-dashoffset:0"
65
+ id="rect3792"
66
+ width="38.25"
67
+ height="32.5"
68
+ x="38.163113"
69
+ y="978.8587"
70
+ ry="0" />
71
+ <path
72
+ sodipodi:type="arc"
73
+ style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
74
+ id="path3794"
75
+ sodipodi:cx="378.25"
76
+ sodipodi:cy="786.36218"
77
+ sodipodi:rx="9.75"
78
+ sodipodi:ry="8.5"
79
+ d="m 388,786.36218 a 9.75,8.5 0 1 1 -19.5,0 9.75,8.5 0 1 1 19.5,0 z"
80
+ transform="matrix(0.63157895,0,0,0.63157895,-186.94214,494.45885)" />
81
+ <path
82
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
83
+ d="m 57.913121,993.60864 6,4.99996 -1.5,1.25 -6,-4.74996"
84
+ id="path3798"
85
+ inkscape:connector-curvature="0" />
86
+ </g>
87
+ </svg>
assets/js/bootstrap.3.2.0.min.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.2.0 (http://getbootstrap.com)
3
+ * Copyright 2011-2014 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
assets/js/bootstrap.min.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ /*!
8
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=a029c53ecbca7e0801ba)
9
+ * Config saved to config.json and https://gist.github.com/a029c53ecbca7e0801ba
10
+ */
11
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.alert");n||o.data("bs.alert",n=new i(this)),"string"==typeof e&&n[e].call(o)})}var o='[data-dismiss="alert"]',i=function(e){t(e).on("click",o,this.close)};i.VERSION="3.3.2",i.TRANSITION_DURATION=150,i.prototype.close=function(e){function o(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\s]*$)/,""));var a=t(s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",o).emulateTransitionEnd(i.TRANSITION_DURATION):o())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=i,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",o,i.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.button"),s="object"==typeof e&&e;n||i.data("bs.button",n=new o(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.isLoading=!1};o.VERSION="3.3.2",o.DEFAULTS={loadingText:"loading..."},o.prototype.setState=function(e){var o="disabled",i=this.$element,n=i.is("input")?"val":"html",s=i.data();e+="Text",null==s.resetText&&i.data("resetText",i[n]()),setTimeout(t.proxy(function(){i[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,i.addClass(o).attr(o,o)):this.isLoading&&(this.isLoading=!1,i.removeClass(o).removeAttr(o))},this),0)},o.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var o=this.$element.find("input");"radio"==o.prop("type")&&(o.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&o.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));t&&this.$element.toggleClass("active")};var i=t.fn.button;t.fn.button=e,t.fn.button.Constructor=o,t.fn.button.noConflict=function(){return t.fn.button=i,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(o){var i=t(o.target);i.hasClass("btn")||(i=i.closest(".btn")),e.call(i,"toggle"),o.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){e&&3===e.which||(t(n).remove(),t(s).each(function(){var i=t(this),n=o(i),s={relatedTarget:this};n.hasClass("open")&&(n.trigger(e=t.Event("hide.bs.dropdown",s)),e.isDefaultPrevented()||(i.attr("aria-expanded","false"),n.removeClass("open").trigger("hidden.bs.dropdown",s)))}))}function o(e){var o=e.attr("data-target");o||(o=e.attr("href"),o=o&&/#[A-Za-z]/.test(o)&&o.replace(/.*(?=#[^\s]*$)/,""));var i=o&&t(o);return i&&i.length?i:e.parent()}function i(e){return this.each(function(){var o=t(this),i=o.data("bs.dropdown");i||o.data("bs.dropdown",i=new a(this)),"string"==typeof e&&i[e].call(o)})}var n=".dropdown-backdrop",s='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.2",a.prototype.toggle=function(i){var n=t(this);if(!n.is(".disabled, :disabled")){var s=o(n),a=s.hasClass("open");if(e(),!a){"ontouchstart"in document.documentElement&&!s.closest(".navbar-nav").length&&t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click",e);var r={relatedTarget:this};if(s.trigger(i=t.Event("show.bs.dropdown",r)),i.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger("shown.bs.dropdown",r)}return!1}},a.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var i=t(this);if(e.preventDefault(),e.stopPropagation(),!i.is(".disabled, :disabled")){var n=o(i),a=n.hasClass("open");if(!a&&27!=e.which||a&&27==e.which)return 27==e.which&&n.find(s).trigger("focus"),i.trigger("click");var r=" li:not(.disabled):visible a",l=n.find('[role="menu"]'+r+', [role="listbox"]'+r);if(l.length){var p=l.index(e.target);38==e.which&&p>0&&p--,40==e.which&&p<l.length-1&&p++,~p||(p=0),l.eq(p).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=i,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",e).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,a.prototype.toggle).on("keydown.bs.dropdown.data-api",s,a.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',a.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',a.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.tooltip"),s="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||i.data("bs.tooltip",n=new o(this,s)),"string"==typeof e&&n[e]())})}var o=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",t,e)};o.VERSION="3.3.2",o.TRANSITION_DURATION=150,o.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},o.prototype.init=function(e,o,i){if(this.enabled=!0,this.type=e,this.$element=t(o),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&t(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},o.prototype.getDefaults=function(){return o.DEFAULTS},o.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},o.prototype.getDelegateOptions=function(){var e={},o=this.getDefaults();return this._options&&t.each(this._options,function(t,i){o[t]!=i&&(e[t]=i)}),e},o.prototype.enter=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return o&&o.$tip&&o.$tip.is(":visible")?void(o.hoverState="in"):(o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),clearTimeout(o.timeout),o.hoverState="in",o.options.delay&&o.options.delay.show?void(o.timeout=setTimeout(function(){"in"==o.hoverState&&o.show()},o.options.delay.show)):o.show())},o.prototype.leave=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),clearTimeout(o.timeout),o.hoverState="out",o.options.delay&&o.options.delay.hide?void(o.timeout=setTimeout(function(){"out"==o.hoverState&&o.hide()},o.options.delay.hide)):o.hide()},o.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var i=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!i)return;var n=this,s=this.tip(),a=this.getUID(this.type);this.setContent(),s.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&s.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,s[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,p=l.test(r);p&&(r=r.replace(l,"")||"top"),s.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?s.appendTo(this.options.container):s.insertAfter(this.$element);var h=this.getPosition(),d=s[0].offsetWidth,c=s[0].offsetHeight;if(p){var f=r,u=this.options.container?t(this.options.container):this.$element.parent(),g=this.getPosition(u);r="bottom"==r&&h.bottom+c>g.bottom?"top":"top"==r&&h.top-c<g.top?"bottom":"right"==r&&h.right+d>g.width?"left":"left"==r&&h.left-d<g.left?"right":r,s.removeClass(f).addClass(r)}var v=this.getCalculatedOffset(r,h,d,c);this.applyPlacement(v,r);var b=function(){var t=n.hoverState;n.$element.trigger("shown.bs."+n.type),n.hoverState=null,"out"==t&&n.leave(n)};t.support.transition&&this.$tip.hasClass("fade")?s.one("bsTransitionEnd",b).emulateTransitionEnd(o.TRANSITION_DURATION):b()}},o.prototype.applyPlacement=function(e,o){var i=this.tip(),n=i[0].offsetWidth,s=i[0].offsetHeight,a=parseInt(i.css("margin-top"),10),r=parseInt(i.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(r)&&(r=0),e.top=e.top+a,e.left=e.left+r,t.offset.setOffset(i[0],t.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),i.addClass("in");var l=i[0].offsetWidth,p=i[0].offsetHeight;"top"==o&&p!=s&&(e.top=e.top+s-p);var h=this.getViewportAdjustedDelta(o,e,l,p);h.left?e.left+=h.left:e.top+=h.top;var d=/top|bottom/.test(o),c=d?2*h.left-n+l:2*h.top-s+p,f=d?"offsetWidth":"offsetHeight";i.offset(e),this.replaceArrow(c,i[0][f],d)},o.prototype.replaceArrow=function(t,e,o){this.arrow().css(o?"left":"top",50*(1-t/e)+"%").css(o?"top":"left","")},o.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},o.prototype.hide=function(e){function i(){"in"!=n.hoverState&&s.detach(),n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),e&&e()}var n=this,s=t(this.$tip),a=t.Event("hide.bs."+this.type);return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i(),this.hoverState=null,this)},o.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},o.prototype.hasContent=function(){return this.getTitle()},o.prototype.getPosition=function(e){e=e||this.$element;var o=e[0],i="BODY"==o.tagName,n=o.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var s=i?{top:0,left:0}:e.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},r=i?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,a,r,s)},o.prototype.getCalculatedOffset=function(t,e,o,i){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-o/2}:"top"==t?{top:e.top-i,left:e.left+e.width/2-o/2}:"left"==t?{top:e.top+e.height/2-i/2,left:e.left-o}:{top:e.top+e.height/2-i/2,left:e.left+e.width}},o.prototype.getViewportAdjustedDelta=function(t,e,o,i){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+i;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var p=e.left-s,h=e.left+s+o;p<a.left?n.left=a.left-p:h>a.width&&(n.left=a.left+a.width-h)}return n},o.prototype.getTitle=function(){var t,e=this.$element,o=this.options;return t=e.attr("data-original-title")||("function"==typeof o.title?o.title.call(e[0]):o.title)},o.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},o.prototype.tip=function(){return this.$tip=this.$tip||t(this.options.template)},o.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},o.prototype.enable=function(){this.enabled=!0},o.prototype.disable=function(){this.enabled=!1},o.prototype.toggleEnabled=function(){this.enabled=!this.enabled},o.prototype.toggle=function(e){var o=this;e&&(o=t(e.currentTarget).data("bs."+this.type),o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o))),o.tip().hasClass("in")?o.leave(o):o.enter(o)},o.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type)})};var i=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=o,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=i,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.tab");n||i.data("bs.tab",n=new o(this)),"string"==typeof e&&n[e]()})}var o=function(e){this.element=t(e)};o.VERSION="3.3.2",o.TRANSITION_DURATION=150,o.prototype.show=function(){var e=this.element,o=e.closest("ul:not(.dropdown-menu)"),i=e.data("target");if(i||(i=e.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=o.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(i);this.activate(e.closest("li"),o),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},o.prototype.activate=function(e,i,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=i.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!i.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(o.TRANSITION_DURATION):s(),a.removeClass("in")};var i=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=o,t.fn.tab.noConflict=function(){return t.fn.tab=i,this};var n=function(o){o.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery);
assets/js/image_zoom-init.js ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ;(function(a){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|android|ipad|playbook|silk|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);
2
+
3
+ !function(a){function b(){var a=document.createElement("p"),b=!1;if(a.addEventListener)a.addEventListener("DOMAttrModified",function(){b=!0},!1);else{if(!a.attachEvent)return!1;a.attachEvent("onDOMAttrModified",function(){b=!0})}return a.setAttribute("id","target"),b}function c(b,c){if(b){var d=this.data("attr-old-value");if(c.attributeName.indexOf("style")>=0){d.style||(d.style={});var e=c.attributeName.split(".");c.attributeName=e[0],c.oldValue=d.style[e[1]],c.newValue=e[1]+":"+this.prop("style")[a.camelCase(e[1])],d.style[e[1]]=c.newValue}else c.oldValue=d[c.attributeName],c.newValue=this.attr(c.attributeName),d[c.attributeName]=c.newValue;this.data("attr-old-value",d)}}var d=window.MutationObserver||window.WebKitMutationObserver;a.fn.attrchange=function(e,f){if("object"==typeof e){var g={trackValues:!1,callback:a.noop};if("function"==typeof e?g.callback=e:a.extend(g,e),g.trackValues&&this.each(function(b,c){for(var d,e={},f=0,g=c.attributes,h=g.length;h>f;f++)d=g.item(f),e[d.nodeName]=d.value;a(this).data("attr-old-value",e)}),d){var h={subtree:!1,attributes:!0,attributeOldValue:g.trackValues},i=new d(function(b){b.forEach(function(b){var c=b.target;g.trackValues&&(b.newValue=a(c).attr(b.attributeName)),"connected"===a(c).data("attrchange-status")&&g.callback.call(c,b)})});return this.data("attrchange-method","Mutation Observer").data("attrchange-status","connected").data("attrchange-obs",i).each(function(){i.observe(this,h)})}return b()?this.data("attrchange-method","DOMAttrModified").data("attrchange-status","connected").on("DOMAttrModified",function(b){b.originalEvent&&(b=b.originalEvent),b.attributeName=b.attrName,b.oldValue=b.prevValue,"connected"===a(this).data("attrchange-status")&&g.callback.call(this,b)}):"onpropertychange"in document.body?this.data("attrchange-method","propertychange").data("attrchange-status","connected").on("propertychange",function(b){b.attributeName=window.event.propertyName,c.call(a(this),g.trackValues,b),"connected"===a(this).data("attrchange-status")&&g.callback.call(this,b)}):this}return"string"==typeof e&&a.fn.attrchange.hasOwnProperty("extensions")&&a.fn.attrchange.extensions.hasOwnProperty(e)?a.fn.attrchange.extensions[e].call(this,f):void 0}}(jQuery);
4
+
5
+
6
+ jQuery(document).ready(function( $ ){
7
+
8
+ if($.browser.mobile && IZ.enable_mobile != '1' ) {
9
+ return;
10
+ }
11
+
12
+ var options = IZ.options;
13
+
14
+ // Fix for the Lazy Load plugin with jQuery.sonar
15
+ $("img[data-lazy-src]").each(function(){
16
+ $(this).attr('data-zoom-image', $(this).data('lazy-src'));
17
+ });
18
+
19
+ // Get the image url from data-large_image
20
+ $("img[data-large_image]").each(function(){
21
+ $(this).attr('data-zoom-image', $(this).data('large_image'));
22
+ });
23
+
24
+
25
+ // Start the zoom for the normal images
26
+ options.zIndex = 112400;
27
+ $(".zoooom, .zoooom img").image_zoom(options);
28
+
29
+ // WooCommerce category pages
30
+ if ( IZ.woo_categories == '1' ) {
31
+ $(".tax-product_cat .products img, .post-type-archive-product .products img").image_zoom(options);
32
+ }
33
+
34
+ // Fix for the LazyLoad (unveil.js) plugins
35
+ if (typeof $.unveil === "function") {
36
+ $("img.unveil").unveil(0, function() {
37
+ $(this).load(function() {
38
+ $("img.zoooom, .zoooom img").image_zoom(options);
39
+ });
40
+ });
41
+ }
42
+
43
+
44
+ // Resize the zoom windows when resizing the page
45
+ $(window).bind('resize', function(e) {
46
+ window.resizeEvt;
47
+ $(window).resize(function() {
48
+ clearTimeout(window.resizeEvt);
49
+ window.resizeEvt = setTimeout(function() {
50
+ $(".zoomContainer").remove();
51
+ $(".zoooom, .zoooom img, .attachment-shop_single, .attachment-shop_thumbnail.flex-active-slide img").image_zoom(options);
52
+ $(".tax-product_cat .products img").image_zoom(options);
53
+ }, 500);
54
+ });
55
+ });
56
+
57
+
58
+ // Remove the zoom when hovering on the submenu
59
+ function restart_on_hover( elem ) {
60
+ elem.hover(function(){
61
+ if ( $('.zoomContainer').length === 0 ) {
62
+ $(this).image_zoom(IZ.options);
63
+ }
64
+ });
65
+ };
66
+ $('.sub-menu li').hover(function(){
67
+ $('.zoomContainer').remove();
68
+ });
69
+ restart_on_hover($('.zoooom, .zoooom img'));
70
+
71
+
72
+ // Show zoom on the WooCommerce gallery
73
+ if ( IZ.with_woocommerce == '1' ) {
74
+ $(".attachment-shop_single").image_zoom(options);
75
+ restart_on_hover($('.attachment-shop_single'));
76
+
77
+ $("a[data-rel^='zoomImage']").each(function(index){
78
+ $(this).click(function(event){
79
+ // If there are more than one WooCommerce gallery, exchange the thumbnail with the closest .attachment-shop_single
80
+ var obj1 = $(".attachment-shop_single");
81
+ if ( obj1.length > 1 ) {
82
+ var obj1 = $(this).closest('.images').find( $(".attachment-shop_single") );
83
+ }
84
+ var obj2 = $(this).find("img");
85
+
86
+ event.preventDefault();
87
+
88
+ if ( obj2.hasClass('attachment-shop_single') === false ) {
89
+
90
+ // Remove the srcset and sizes
91
+ obj1.removeAttr('srcset').removeAttr('sizes');
92
+ obj2.removeAttr('srcset').removeAttr('sizes');
93
+
94
+ var thumb_src = obj2.attr('src');
95
+
96
+ // Exchange the attributes
97
+ $.each(['src', 'alt', 'title'], function(key,attr) {
98
+ var temp;
99
+ if ( obj1.attr( attr ) ) temp = obj1.attr( attr );
100
+ if ( obj2.attr( attr ) ) {
101
+ obj1.attr(attr, obj2.attr(attr) );
102
+ } else {
103
+ obj1.removeAttr( attr );
104
+ }
105
+ if ( IZ.exchange_thumbnails == '1' ) {
106
+ if ( temp && temp.length > 0 ) {
107
+ obj2.attr(attr, temp);
108
+ } else {
109
+ obj2.removeAttr( attr );
110
+ }
111
+ }
112
+ });
113
+
114
+ // Exchange the link sources
115
+ var temp;
116
+ temp = obj2.parent().attr('href');
117
+ if ( IZ.exchange_thumbnails == '1' ) {
118
+ obj2.parent().attr('href', obj1.parent().attr('href'));
119
+ }
120
+ obj1.parent().attr('href', temp );
121
+
122
+ // Set the obj1.src = the link source
123
+ obj1.attr('src', temp );
124
+
125
+ // Set the obj2.src = data-thumbnail-src
126
+ if ( obj1.data('thumbnail-src') && IZ.exchange_thumbnails == '1' ) {
127
+ obj2.attr( 'src', obj1.attr('data-thumbnail-src'));
128
+ }
129
+
130
+ // Set the obj1.data-thumbnail-src
131
+ obj1.attr('data-thumbnail-src', thumb_src );
132
+
133
+ // Replace the data-zoom-image
134
+ temp = obj1.data('zoom-image');
135
+ if ( !obj2.data('zoom-image') ) obj2.data('zoom-image', '');
136
+ obj1.data('zoom-image', obj2.data('zoom-image'));
137
+ if( ! temp ) temp = '';
138
+ obj2.data('zoom-image', temp);
139
+
140
+ // Remove the old zoom and reactive the new zoom
141
+ $(".zoomContainer").remove();
142
+ $(".attachment-shop_single").image_zoom(options);
143
+ restart_on_hover($('.attachment-shop_single'));
144
+ }
145
+
146
+ });
147
+ });
148
+ }
149
+
150
+
151
+ // Show zoom on the WooCommerce 3.0.+ gallery with slider
152
+ if ( IZ.with_woocommerce == '1' && (IZ.woo_slider == '1' || $('.woo_product_slider_enabled').length > 0 )) {
153
+ if ( $(".woocommerce-product-gallery img").length > 0 ) {
154
+
155
+ var first_img = ".woocommerce-product-gallery__wrapper img";
156
+ setTimeout( function() {
157
+ if ( $(".flex-viewport").length > 0 ) {
158
+ first_img = ".woocommerce-product-gallery__wrapper .flex-active-slide img";
159
+ }
160
+ $(first_img).first().image_zoom( options );
161
+ restart_on_hover($(first_img).first());
162
+ }, 500 );
163
+
164
+ var flexslider_counter = 0;
165
+ var old_value = "";
166
+ $(".woocommerce-product-gallery__wrapper").attrchange({
167
+ trackValues: true,
168
+ callback: function(event) {
169
+ if ( event.newValue != old_value ) {
170
+ $(".zoomContainer").remove();
171
+ setTimeout( function() {
172
+ $(first_img).first().image_zoom(options);
173
+ restart_on_hover($(first_img).first());
174
+ }, 550);
175
+ }
176
+ old_value = event.newValue;
177
+ }
178
+ });
179
+
180
+ // Resize the zoom windows when resizing the page
181
+ $(window).bind('resize', function(e) {
182
+ window.resizeEvt;
183
+ $(window).resize(function() {
184
+ clearTimeout(window.resizeEvt);
185
+ window.resizeEvt = setTimeout(function() {
186
+ $(".zoomContainer").remove();
187
+ restart_on_hover($(first_img).first());
188
+ }, 300);
189
+ });
190
+ });
191
+
192
+ // Remove the click action on the images
193
+ $(".woocommerce-product-gallery img").click(function(e){
194
+ e.preventDefault();
195
+ });
196
+
197
+ }
198
+ }
199
+
200
+
201
+
202
+
203
+ // Show zoom on the WooCommerce 3.0.+ gallery without slider
204
+ if ( IZ.with_woocommerce == '1' && (IZ.woo_slider == '0' || $('.woo_product_slider_disabled').length > 0)) {
205
+ var first_img = $('.woocommerce-product-gallery__image:first-child img');
206
+
207
+ // Zoom on the first image
208
+ first_img.image_zoom(options);
209
+ restart_on_hover(first_img);
210
+
211
+ // Remove the click action on the images
212
+ $('.woocommerce-product-gallery__image img').click(function(e){
213
+ e.preventDefault();
214
+ });
215
+
216
+
217
+ $('.woocommerce-product-gallery__image img').each(function(i) {
218
+ $(this).removeAttr('data-large_image');
219
+ $(this).removeAttr('data-large_image_width');
220
+ $(this).removeAttr('data-large_image_height');
221
+ $(this).removeAttr('srcset');
222
+ $(this).removeAttr('sizes');
223
+ });
224
+
225
+ // Switch the thumbnail with the main image
226
+ $(".woocommerce-product-gallery__image:nth-child(n+2) img").each(function(i){
227
+ $(this).click(function(e){
228
+ var this_thumb = $(this);
229
+ // Exchange the attributes
230
+ $.each(['alt', 'title', 'data-src'], function(key,attr) {
231
+ var temp;
232
+ if ( first_img.attr( attr ) ) temp = first_img.attr( attr );
233
+ if ( this_thumb.attr( attr ) ) {
234
+ first_img.attr(attr, this_thumb.attr(attr) );
235
+ } else {
236
+ first_img.removeAttr( attr );
237
+ }
238
+ if ( IZ.exchange_thumbnails == '1' ) {
239
+ if ( temp && temp.length > 0 ) {
240
+ this_thumb.attr(attr, temp);
241
+ } else {
242
+ this_thumb.removeAttr( attr );
243
+ }
244
+ }
245
+
246
+ });
247
+
248
+ var thumb_src = this_thumb.attr('src');
249
+
250
+
251
+ // Exchange the link sources
252
+ var temp;
253
+ temp = this_thumb.parent().attr('href');
254
+ if ( IZ.exchange_thumbnails == '1' ) {
255
+ this_thumb.parent().attr('href', first_img.parent().attr('href'));
256
+ }
257
+ first_img.parent().attr('href', temp );
258
+
259
+ // Set the first_img.src = the link source
260
+ first_img.attr('src', temp );
261
+
262
+ // Set the this_thumb.src = data-thumbnail-src
263
+ if ( first_img.data('thumbnail-src') && IZ.exchange_thumbnails == '1' ) {
264
+ this_thumb.attr( 'src', first_img.attr('data-thumbnail-src'));
265
+ }
266
+
267
+ // Set the first_img.data-thumbnail-src
268
+ first_img.attr('data-thumbnail-src', thumb_src );
269
+
270
+ // Replace the data-zoom-image
271
+ temp = first_img.data('zoom-image');
272
+ if ( !this_thumb.data('zoom-image') ) this_thumb.data('zoom-image', '');
273
+ first_img.data('zoom-image', this_thumb.data('zoom-image'));
274
+ if( ! temp ) temp = '';
275
+ this_thumb.data('zoom-image', temp);
276
+
277
+
278
+ // Remove the old zoom and reactive the new zoom
279
+ $(".zoomContainer").remove();
280
+ first_img.image_zoom(options);
281
+ restart_on_hover(first_img);
282
+
283
+ });
284
+ });
285
+ }
286
+ });
assets/js/image_zoom.settings.min.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ /*! Image Zoooom - v0.1.0 - 2015-12-17
2
+ * Copyright (c) 2015 Diana Burduja; Licensed MIT license */
3
+ jQuery(document).ready(function(a){function b(){var b={},e={lensShape:a("input[name=lensShape]:checked").val(),cursorType:a("input[name=cursorType]:checked").val(),zwEasing:parseInt(a("#zwEasing").val()),lensSize:parseInt(a("#lensSize").val()),lensColour:a("#lensColour").val(),lensOverlay:a("#lensOverlay").is(":checked"),borderThickness:parseInt(a("#borderThickness").val()),borderColor:a("#borderColor").val(),borderRadius:parseInt(a("#borderRadius").val()),zwWidth:parseInt(a("#zwWidth").val()),zwHeight:parseInt(a("#zwHeight").val()),zwShadow:parseInt(a("#zwShadow").val()),zwPadding:parseInt(a("#zwPadding").val()),zwBorderThickness:parseInt(a("#zwBorderThickness").val()),zwBorderColor:a("#zwBorderColor").val(),zwBorderRadius:parseInt(a("#zwBorderRadius").val()),lensFade:1e3*parseFloat(a("#lensFade").val()),zwFade:1e3*parseFloat(a("#zwFade").val()),tint:a("#tint").is(":checked"),tintColor:a("#tintColor").val(),tintOpacity:parseFloat(a("#tintOpacity").val())};switch(c(e),e.tintOpacity>1&&(e.tintOpacity=1),e.tintOpacity<0&&(e.tintOpacity=0),"zoom"===e.cursorType&&(e.cursorType="url(../images/cursor_type_zoom.svg) auto"),e.lensOverlay===!0&&(e.lensOverlay="http://localhost/sb-test/wp-content/plugins/wp-image-zoooom-pro/assets/images/lens-overlay-1.png"),e.lensShape){case"none":b={zoomType:"inner",cursor:e.cursorType,easingAmount:e.zwEasing};break;case"square":case"round":b={lensShape:e.lensShape,zoomType:"lens",lensSize:e.lensSize,borderSize:e.borderThickness,borderColour:e.borderColor,cursor:e.cursorType,lensFadeIn:e.lensFade,lensFadeOut:e.lensFade},e.tint===!0&&(b.tint=!0,b.tintColour=e.tintColor,b.tintOpacity=e.tintOpacity);break;case"zoom_window":b={lensShape:"square",lensSize:e.lensSize,lensBorderSize:e.borderThickness,lensBorderColour:e.borderColor,lensColour:e.lensColour,lensOverlay:e.lensOverlay,borderRadius:e.zwBorderRadius,cursor:e.cursorType,zoomWindowWidth:e.zwWidth,zoomWindowHeight:e.zwHeight,zoomWindowShadow:e.zwShadow,borderSize:e.zwBorderThickness,borderColour:e.zwBorderColor,zoomWindowOffsetx:e.zwPadding,lensFadeIn:e.lensFade,lensFadeOut:e.lensFade,zoomWindowFadeIn:e.zwFade,zoomWindowFadeOut:e.zwFade,easingAmount:e.zwEasing,zoomWindowPosition:1},e.tint===!0&&(b.tint=!0,b.tintColour=e.tintColor,b.tintOpacity=e.tintOpacity),a("#demo_wrapper").css("text-align","left")}a("#demo").image_zoom(b),a(window).bind("resize",function(){a(window).resize(function(){clearTimeout(window.resizeEvt),window.resizeEvt=setTimeout(function(){a(".zoomContainer").remove(),a("#demo").image_zoom(b)},300)})}),d(e)}function c(b){(isNaN(b.zwEasing)||b.zwEasing<0||b.zwEasing>200)&&(e("<b>Animation Easing Effect</b> accepts integers between 0 and 200. Your value was stripped to 12"),b.zwEasing=12,a("#zwEasing").val("12")),(isNaN(b.lensSize)||b.lensSize<20||b.lensSize>2e3)&&(e("<b>Lens Size</b> accepts integers between 20 and 2000. Your value was reset to 200"),b.lensSize=200,a("#lensSize").val("200")),(isNaN(b.borderThickness)||b.borderThickness<0||b.borderThickness>200)&&(e("<b>Border Thickness</b> accepts integers between 0 and 200. Your value was reset to 1"),b.borderThickness=1,a("#borderThickness").val("1")),(isNaN(b.lensFade)||b.lensFade<0||b.lensFade>1e4)&&(e("<b>Fade Time</b> accepts integers between 0 and 10. Your value was reset to 1"),b.lensFade=1,a("#lensFade").val("1")),(isNaN(b.tintOpacity)||b.tintOpacity<0||b.tintOpacity>1)&&(e("<b>Tint Opacity</b> accepts a number between 0 and 1. Your value was reset to 0.5"),b.tintOpacity=.5,a("#tintOpacity").val("0.5")),(isNaN(b.zwWidth)||b.zwWidth<0||b.zwWidth>2e3)&&(e("<b>Zoom Window Width</b> accepts a number between 0 and 2000. Your value was reset to 400"),b.zwWidth=400,a("#zwWidth").val("400")),(isNaN(b.zwHeight)||b.zwHeight<0||b.zwHeight>2e3)&&(e("<b>Zoom Window Height</b> accepts a number between 0 and 2000. Your value was reset to 360"),b.zwHeight=360,a("#zwHeight").val("360")),(isNaN(b.zwBorderThickness)||b.zwBorderThickness<0||b.zwBorderThickness>200)&&(e("<b>Border Thickness</b> accepts integers between 0 and 200. Your value was reset to 4"),b.zwBorderThickness=4,a("#zwBorderThickness").val("4")),(isNaN(b.zwBorderRadius)||b.zwBorderRadius<0||b.zwBorderRadius>500)&&(e("<b>Rounded Corners</b> accepts integers between 0 and 500. Your value was reset to 0"),b.zwBorderRadius=0,a("#zwBorderRadius").val("0")),(isNaN(b.zwFade)||b.zwFade<0||b.zwFade>1e4)&&(e("<b>Fade Time</b> accepts integers between 0 and 10. Your value was reset to 0"),b.zwFade=0,a("#zwFade").val("0"))}function d(b){switch(a("#tab_lens, #tab_zoom_window").removeClass("disabled"),a("#tab_lens a").attr("href","#lens_settings"),a("#tab_zoom_window a").attr("href","#zoom_window_settings"),a("#lensSize").removeAttr("disabled"),a("#lensColour").removeAttr("disabled"),a("#lensBgImage").removeAttr("disabled"),a("#tintColor").removeAttr("disabled"),a("#tintOpacity").removeAttr("disabled"),a("#lensColour").removeAttr("disabled"),a("#lensOverlay").removeAttr("disabled"),b.lensShape){case"none":a("#tab_lens, #tab_zoom_window").addClass("disabled"),a("#tab_lens a").attr("href",""),a("#tab_zoom_window a").attr("href",""),a("#lensColour").attr("disabled","disabled"),a("#lensBgImage").attr("disabled","disabled");break;case"square":case"round":a("#tab_zoom_window").addClass("disabled"),a("#tab_zoom_window a").attr("href",""),a("#lensColour").attr("disabled","disabled"),a("#lensBgImage").attr("disabled","disabled");break;case"zoom_window":a("#lensSize").attr("disabled","disabled")}b.tint===!1?(a("#tintColor").attr("disabled","disabled"),a("#tintOpacity").attr("disabled","disabled")):(a("#lensColour").attr("disabled","disabled"),a("#lensOverlay").attr("disabled","disabled"))}function e(b){a("#alert_messages").html('<div class="alert alert-dismissable alert-danger"><button type="button" class="close" data-dismiss="alert">&times;</button>'+b+"</div>")}a('[data-toggle="tooltip"]').tooltip(),a("#demo").length>0&&b(),a(".form-group input").change(b)});
assets/js/jquery.image_zoom.min.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! Image Zoooom - v0.2 - 2016-05-11
2
+ * Copyright (c) 2016 Diana Burduja; Licensed MIT license
3
+
4
+ This is a very strongly modified version of the https://github.com/elevateweb/elevatezoom jQuery plugin. */
5
+ (function($,window,document,undefined){"use strict";var ImageZoooom={init:function(options,elem){var self=this;self.elem=elem;self.$elem=$(elem);self.options=options;self.img_big={src:self.$elem.attr("src")};if(self.$elem.data("zoom-image")){self.img_big.src=self.$elem.data("zoom-image")}else if(self.$elem.attr("srcset")){var set=self.$elem.attr("srcset").split(",");var max_width=0;var max_src="";$.each(set,function(i,src){var parts=$.trim(src).split(" ");if(parseInt(parts[1])>max_width){max_width=parseInt(parts[1]);max_src=parts[0]}});if(max_src!==""){self.img_big.src=max_src}}self.ratio={width:1,height:1};self.zw={height:parseInt(self.options.zoomWindowHeight),width:parseInt(self.options.zoomWindowWidth)};self.lens={height:self.options.lensSize,width:self.options.lensSize};self.screen={height:$(document).height(),width:$(document).width()};if(self.options.tint){self.options.lensColour="none";self.options.lensOpacity="1"}if(self.options.zoomType==="inner"){self.options.showLens=false}self.$elem.parent().removeAttr("title").removeAttr("alt");if(self.options.responsive===true&&self.screen.width<=self.options.responsiveThreshold){self.options.zoomType="inner";self.options.showLens=false}setTimeout(function(){var newImg=new Image;newImg.onload=function(){self.img_big.width=newImg.width;self.img_big.height=newImg.height;self.startZoom()};newImg.src=self.img_big.src},1)},buildZoomContainer:function(){var self=this;self.zoomContainer=$("<div />").addClass("zoomContainer").css({"-webkit-transform":"translateZ(0)",position:"absolute",left:self.img_small.offset.left+"px",top:self.img_small.offset.top+"px",height:self.img_small.height+"px",width:self.img_small.width+"px","z-index":"999"}).appendTo("body")},buildZoomLens:function(){var self=this;if(self.options.containLensZoom){self.zoomContainer.css("overflow","hidden")}var lensStyle={"background-position":"0px 0px","float":"left",display:"none",border:self.options.borderSize+"px solid "+self.options.borderColour,width:self.options.lensSize+"px",height:self.options.lensSize+"px","border-radius":self.options.borderRadius+"px",cursor:self.options.cursor,"background-repeat":"no-repeat",position:"absolute",overflow:"hidden","z-index":"999"};if(self.options.tint===true){lensStyle["-webkit-transform"]="translateZ(0)";lensStyle["opacity"]=self.options.lensOpacity;lensStyle["-ms-filter"]="progid:DXImageTransform.Microsoft.Alpha(Opacity="+self.options.lensOpacity*100+")";lensStyle["filter"]="alpha(opacity= "+self.options.lensOpacity*100+")"}if(self.options.lensShape==="round"){var lensRadius=self.options.lensSize/2+self.options.borderSize+"px";lensStyle["-webkit-border-radius"]=lensRadius;lensStyle["-moz-border-radius"]=lensRadius;lensStyle["border-radius"]=lensRadius}self.zoomLens=$("<div />").addClass("zoomLens").css(lensStyle).appendTo(self.zoomContainer).click(function(){self.$elem.trigger("click")})},buildZoomWindow:function(){var self=this;self.lens.height=self.zw.height/self.ratio.height;if(self.img_big.height<self.zw.height){self.lens.height=self.img_small.height}self.lens.width=self.zw.width/self.ratio.width;if(self.img_big.width<self.zw.width){self.lens.width=self.img_small.width}var lensStyle={"background-position":"0px 0px",display:"none",overflow:"hidden","z-index":"999","-webkit-transform":"translateZ(0)",opacity:self.options.lensOpacity,"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity="+self.options.lensOpacity*100+")",filter:"alpha(opacity= "+self.options.lensOpacity*100+")",zoom:1,width:self.lens.width+"px",height:self.lens.height+"px","background-color":self.options.lensColour,cursor:self.options.cursor,"border-radius":self.options.borderRadius+"px",border:self.options.lensBorderSize+"px solid "+self.options.lensBorderColour,"background-repeat":"no-repeat",position:"absolute","box-shadow":"-0px -0px 10px rgba(0, 0, 0, 0.4)"};if(self.options.lensOverlay!==false){lensStyle["background"]="url("+self.options.lensOverlay+") "+self.options.lensColour}self.zoomLens=$("<div />").addClass("zoomLens").css(lensStyle).appendTo(self.zoomContainer).click(function(){self.$elem.trigger("click")});var zoomWindowStyle={overflow:"hidden","background-position":"0px 0px","text-align":"center","background-color":self.options.zoomWindowBgColour,width:self.zw.width+"px",height:self.zw.height+"px","float":"left","border-radius":self.options.borderRadius+"px","background-size":self.img_big.width/self.currentZoomLevel+"px "+self.img_big.height/self.currentZoomLevel+"px",display:"none","z-index":"999",border:self.options.borderSize+"px solid "+self.options.borderColour,"background-repeat":"no-repeat",position:"absolute"};if(self.options.zoomWindowShadow>0){var zoomWindowShadowText=self.options.zoomWindowShadow*2+"px "+self.options.zoomWindowShadow*2+"px "+self.options.zoomWindowShadow+"px #ccc";zoomWindowStyle["box-shadow"]=zoomWindowShadowText;zoomWindowStyle["-moz-box-shadow"]=zoomWindowShadowText;zoomWindowStyle["-webkit-box-shadow"]=zoomWindowShadowText;zoomWindowStyle["-khtml-box-shadow"]=zoomWindowShadowText}return zoomWindowStyle},buildZoomInner:function(){var self=this;var borderWidth=self.$elem.css("border-left-width");var innerStyle={overflow:"hidden","margin-left":borderWidth,"margin-top":borderWidth,"background-position":"0px 0px",width:self.img_small.width+"px",height:self.img_small.height+"px","float":"left","border-radius":self.options.borderRadius+"px",display:"none",cursor:self.options.cursor,"background-repeat":"no-repeat",position:"absolute","z-index":"999"};return innerStyle},buildTint:function(){var self=this;if(!self.options.tint){return}var tintStyle={display:"block",position:"absolute","background-color":self.options.tintColour,filter:"alpha(opacity=0)",border:"none",opacity:0,"z-index":250,width:self.img_small.width+"px",height:self.img_small.height+"px"};self.tintContainer=$("<div />").addClass("tintContainer");self.zoomTint=$("<div />").addClass("zoomTint").css(tintStyle);self.zoomLens.wrap(self.tintContainer);self.zoomLens.after(self.zoomTint);var zoomTintImageCss={position:"absolute",left:"0px",top:"0px","z-index":"250",opacity:"0","max-width":"none",width:self.img_small.width+"px",height:self.img_small.height+"px"};if(self.options.zoomType==="window"){zoomTintImageCss.opacity=1}self.zoomTintImage=$("<img />").css(zoomTintImageCss).attr("src",self.img_big.src).appendTo(self.zoomLens).click(function(){self.$elem.trigger("click")})},startZoom:function(){var self=this;self.isWindowActive=false;self.isLensActive=false;self.isTintActive=false;self.zoomLock=1;self.scrollingLock=false;self.changeBgSize=false;self.currentZoomLevel=self.options.zoomLevel;self.img_small={src:self.$elem.attr("src"),width:self.$elem.width(),height:self.$elem.height(),offset:self.$elem.offset()};self.ratio={width:self.img_big.width/self.img_small.width/self.currentZoomLevel,height:self.img_big.height/self.img_small.height/self.currentZoomLevel};if((self.ratio.height<1||self.ratio.width<1)&&self.options.scrollZoom!==true){return false}self.img_small.offset=self.$elem.offset();self.buildZoomContainer();var zoomWindowStyle={};switch(self.options.zoomType){case"lens":self.buildZoomLens();self.buildTint();break;case"window":zoomWindowStyle=self.buildZoomWindow();self.buildTint();break;case"inner":zoomWindowStyle=self.buildZoomInner();break}var appendTo="body";if(!isNaN(self.options.zoomWindowPosition)){appendTo=self.zoomContainer}self.zoomWindow=$("<div />").addClass("zoomWindow").css(zoomWindowStyle).appendTo(appendTo).click(function(){self.$elem.trigger("click")});var customText=$("<div />").addClass("iz_watermark").css({width:self.img_small.width+"px",height:self.img_small.height+"px","vertical-align":self.options.customTextVAlign,display:"table-cell","text-align":self.options.customTextAlign,color:self.options.customTextColor,"font-size":self.options.customTextSize+"px",padding:"3px"}).html(self.options.customText);if($(".iz_watermark").length>0){$(".iz_watermark").remove()}self.zoomWindow.after(customText);self.zoomWindowContainer=$("<div/>").addClass("zoomWindowContainer").css("width",self.zw.width);self.zoomWindow.wrap(self.zoomWindowContainer);var backgroundImage={backgroundImage:"url('"+self.img_big.src+"')"};if(self.options.zoomType==="lens"){self.zoomLens.css(backgroundImage)}else{self.zoomWindow.css(backgroundImage)}self.registerTouchEvents();self.registerMouseEvents();self.registerScrollZoom();self.zoomContainer.add(self.$elem).mouseenter(function(){self.setElements(true)}).mouseleave(function(){if(!self.scrollLock){self.setElements(false)}});if(self.options.zoomType!=="inner"){self.zoomWindow.mouseenter(function(){self.setElements(false)})}else{self.showZoomWindow(false)}},registerTouchEvents:function(){var self=this;self.zoomContainer.bind("touchstart",function(e){e.preventDefault();var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];self.mouse={left:parseInt(touch.pageX-self.img_small.offset.left),top:parseInt(touch.pageY-self.img_small.offset.top)};self.setPosition(touch);self.setElements(true)});self.zoomContainer.bind("touchend",function(){if(!self.scrollLock){self.setElements(false)}});self.zoomContainer.bind("touchmove",function(e){e.preventDefault();var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];self.mouse={left:parseInt(touch.pageX-self.img_small.offset.left),top:parseInt(touch.pageY-self.img_small.offset.top)};self.setPosition(touch)})},registerMouseEvents:function(){var self=this;var registerMouseMove=function(e){self.mouse={left:parseInt(e.pageX-self.img_small.offset.left),top:parseInt(e.pageY-self.img_small.offset.top)};if(self.lastX!==e.clientX||self.lastY!==e.clientY){self.setPosition(e);self.currentLoc=e}self.lastX=e.clientX;self.lastY=e.clientY};var registerMouseAndShowWindow=function(e){if(self.outOfBound===false){self.setElements(true)}registerMouseMove(e)};self.$elem.bind("mousemove",registerMouseAndShowWindow);self.zoomContainer.bind("mousemove",registerMouseAndShowWindow);if(self.options.zoomType==="inner"){self.zoomWindow.bind("mousemove",registerMouseMove)}else{self.zoomLens.bind("mousemove",registerMouseMove);if(self.options.tint){self.zoomTint.bind("mousemove",registerMouseMove)}}},registerScrollZoom:function(){var self=this;if(!self.options.scrollZoom){return false}if(self.options.zoomLevel!==1){self.changeZoomLevel(self.currentZoomLevel)}var minZoomLevel=self.options.scrollZoomIncrement*2;if(self.options.minZoomLevel){minZoomLevel=self.options.minZoomLevel}var registerScrollZoomEvent=function(e){self.scrollLock=true;clearTimeout($.data(this,"timer"));$.data(this,"timer",setTimeout(function(){self.scrollLock=false},250));var theEvent=e.originalEvent.wheelDelta||e.originalEvent.detail*-1;e.stopImmediatePropagation();e.stopPropagation();e.preventDefault();var changeZoom=0;self.currentZoomLevel=parseFloat(self.currentZoomLevel);if(theEvent>0){if(self.currentZoomLevel>=minZoomLevel){changeZoom=self.currentZoomLevel-self.options.scrollZoomIncrement}}else{changeZoom=self.currentZoomLevel+self.options.scrollZoomIncrement}self.changeZoomLevel(changeZoom);return false};self.zoomContainer.add(self.$elem).bind("mousewheel DOMMouseScroll MozMousePixelScroll",registerScrollZoomEvent)},setElements:function(type){var self=this;if(!self.options.zoomEnabled){return false}if(!self.isWindowSet){return}self.showZoomWindow(type);self.showLens(type);self.showTint(type)},setPosition:function(e){var self=this;if(!self.options.zoomEnabled){return false}if(self.options.tint&&self.options.zoomType!=="inner"){self.zoomTint.css({top:0,left:0})}if(self.options.responsive&&!self.options.scrollZoom&&self.options.showLens){if(self.options.zoomType==="lens"){self.zoomLens.css({width:self.options.lensSize+"px",height:self.options.lensSize+"px"})}else{var lensHeight=self.zw.height/self.ratio.height;if(self.img_small.height<self.zw.width/self.ratio.width){lensHeight=self.img_small.height}var lensWidth=self.zw.width/self.ratio.width;if(self.img_small.width<self.zw.width/self.ratio.height){lensWidth=self.img_small.width}self.zoomLens.css({width:lensWidth+"px",height:lensHeight+"px"});if(self.options.tint){self.zoomTintImage.css({width:self.img_small.width+"px",height:self.img_small.height+"px"})}}}self.zoomContainer.css({top:self.img_small.offset.top,left:self.img_small.offset.left});var bound={top:false,bottom:false,left:false,right:false};if(self.options.zoomType==="window"){bound.height=self.zoomLens.height()/2;bound.width=self.zoomLens.width()/2}if(self.options.zoomType==="inner"){bound.height=self.img_small.height/2/self.ratio.height;bound.width=self.img_small.width/2/self.ratio.width}bound.top=self.mouse.top<bound.height;bound.bottom=self.mouse.top>self.img_small.height-bound.height-self.options.lensBorderSize*2;bound.left=self.mouse.left<bound.width;bound.right=self.mouse.left>self.img_small.width-bound.width-self.options.lensBorderSize*2;self.bound=bound;if(self.mouse.left<=0||self.mouse.top<0||self.mouse.left>self.img_small.width||self.mouse.top>self.img_small.height){self.outOfBound=true;self.setElements(false);return}else{self.outOfBound=false;var lensLeftPos=0;var lensTopPos=0;if(self.options.showLens){lensLeftPos=self.mouse.left-self.zoomLens.width()/2;lensTopPos=self.mouse.top-self.zoomLens.height()/2}if(bound.top){lensTopPos=0}if(bound.left){self.windowLeftPos=0;lensLeftPos=0;self.tintpos=0}switch(self.options.zoomType){case"window":if(bound.bottom){lensTopPos=Math.max(self.img_small.height-self.zoomLens.height()-self.options.lensBorderSize*2,0)}if(bound.right){lensLeftPos=self.img_small.width-self.zoomLens.width()-self.options.lensBorderSize*2}if(self.options.tint){self.setTintPosition(e)}break;case"inner":if(bound.bottom){lensTopPos=Math.max(self.img_small.height-self.options.lensBorderSize*2,0)}if(bound.right){lensLeftPos=-self.options.lensBorderSize*2}break;case"lens":self.windowLeftPos=self.zoomLens.width()/2-self.mouse.left*self.ratio.width;self.windowTopPos=self.zoomLens.height()/2-self.mouse.top*self.ratio.height;self.zoomLens.css({backgroundPosition:self.windowLeftPos+"px "+self.windowTopPos+"px"});self.changeBackgroundSize();if(self.options.tint){self.setTintPosition(e)}break}self.setWindowPosition(e);if(self.options.showLens){if(self.fullwidth&&self.options.zoomType!=="lens"){lensLeftPos=0}self.zoomLens.css({left:lensLeftPos+"px",top:lensTopPos+"px"})}}},showZoomWindow:function(on){var self=this;if(self.isWindowActive===on){return}self.fadeEffect(self.zoomWindow,on,self.options.zoomWindowFadeIn,self.options.zoomWindowFadeOut);self.isWindowActive=on},showLens:function(on){var self=this;if(!self.options.showLens){return}if(self.isLensActive===on){return}self.fadeEffect(self.zoomLens,on,self.options.lensFadeIn,self.options.lensFadeOut);self.isLensActive=on},showTint:function(on){var self=this;if(!self.options.tint||self.options.zoomType==="inner"){return}if(self.isTintActive===on){return}if(on){self.zoomTint.css({opacity:self.options.tintOpacity}).animate()}self.fadeEffect(self.zoomTint,on,"slow","slow");self.isTintActive=on},fadeEffect:function(element,action,time_in,time_out){if(action){if(time_in>0){element.stop(true,true,false).fadeIn(time_in)}else{element.show()}}else{if(time_out>0){element.stop(true,true).fadeOut(time_out)}else{element.hide()}}},setWindowPosition:function(e){var self=this;if(self.options.zoomType==="inner"){self.options.zoomWindowPosition=1}self.options.zoomWindowOffsetx=parseInt(self.options.zoomWindowOffsetx);self.options.zoomWindowOffsety=parseInt(self.options.zoomWindowOffsety);var windowOffsetTop=self.options.zoomWindowOffsety;var windowOffsetLeft=self.img_small.width;if(!isNaN(self.options.zoomWindowPosition)){switch(self.options.zoomWindowPosition){case 4:case 5:case 6:case 7:case 8:windowOffsetTop=self.img_small.height;break;case 12:case 13:case 14:case 15:case 16:windowOffsetTop=-self.zoomWindow.height()-self.options.borderSize*2;break;case 1:case 11:windowOffsetTop=self.options.zoomWindowOffsety;break;case 2:case 10:windowOffsetTop=self.img_small.height/2-self.zw.height/2;break;case 3:case 9:windowOffsetTop=self.img_small.height-self.zoomWindow.height()-self.options.borderSize*2;break}switch(self.options.zoomWindowPosition){case 1:case 2:case 3:case 4:case 16:windowOffsetLeft=self.img_small.width+self.options.zoomWindowOffsetx;if(self.options.responsive===true&&self.options.zoomType==="window"){if(self.$elem.offset().left+windowOffsetLeft+self.zw.width>=self.screen.width){self.zw.width=self.screen.width-self.$elem.offset().left-windowOffsetLeft-20;self.zoomWindow.css({width:self.zw.width});self.zoomLens.css({width:self.zw.width/self.ratio.width})}}break;case 8:case 9:case 10:case 11:case 12:if(self.options.responsive===true&&self.options.zoomType==="window"){if(self.zw.width+self.options.borderSize*2+self.options.zoomWindowOffsetx>=self.$elem.offset().left){self.zw.width=self.$elem.offset().left-self.options.borderSize*2-self.options.zoomWindowOffsetx-20;self.zoomWindow.css({width:self.zw.width});self.zoomLens.css({width:self.zw.width/self.ratio.width})}}windowOffsetLeft=-self.zw.width-self.options.borderSize*2-self.options.zoomWindowOffsetx*2;break;case 5:case 15:windowOffsetLeft=self.img_small.width-self.zoomWindow.width()-self.options.borderSize*2;break;case 6:case 14:windowOffsetLeft=self.img_small.width/2-self.zw.width/2-self.options.borderSize*2;break;case 7:case 13:windowOffsetLeft=0;break}}else{var externalContainer=$("#"+self.options.zoomWindowPosition).offset();windowOffsetTop=externalContainer.top;windowOffsetLeft=externalContainer.left}self.isWindowSet=true;windowOffsetTop=windowOffsetTop+self.options.zoomWindowOffsety;windowOffsetLeft=windowOffsetLeft+self.options.zoomWindowOffsetx;self.zoomWindow.css({top:windowOffsetTop,left:windowOffsetLeft});if(self.options.zoomType==="inner"){self.zoomWindow.css({top:0,left:0})}self.windowLeftPos=self.zoomWindow.width()/2-self.mouse.left*self.ratio.width;self.windowTopPos=self.zoomWindow.height()/2-self.mouse.top*self.ratio.height;if(self.bound.top){self.windowTopPos=0}if(self.bound.left){self.windowLeftPos=0}if(self.bound.bottom){self.windowTopPos=(self.img_big.height/self.currentZoomLevel-self.zoomWindow.height())*-1}if(self.bound.right){self.windowLeftPos=(self.img_big.width/self.currentZoomLevel-self.zoomWindow.width())*-1}if(self.fullheight){self.windowTopPos=0}if(self.fullwidth){self.windowLeftPos=0}if(self.options.zoomType==="window"||self.options.zoomType==="inner"){if(self.zoomLock===1){if(self.ratio.width<=1){self.windowLeftPos=0}if(self.ratio.height<=1){self.windowTopPos=0}}if(self.img_big.height<self.zw.height){self.windowTopPos=0}if(self.img_big.width<self.zw.width){self.windowLeftPos=0}if(self.options.easingAmount>0){self.easingEffect(e)}else{self.changeBackgroundSize();self.zoomWindow.css({backgroundPosition:self.windowLeftPos+"px "+self.windowTopPos+"px"})}}},changeBackgroundSize:function(){var self=this;if(!self.changeBgSize){return}var newvalue=self.newvaluewidth;if(self.img_small.height>self.img_small.width){newvalue=self.newvalueheight}var bgSize={"background-size":self.img_big.width/self.newvalue+"px "+self.img_big.height/self.newvalue+"px"};if(self.options.zoomType==="lens"){self.zoomLens.css(bgSize)}self.zoomWindow.css(bgSize);self.changeBgSize=false},easingEffect:function(){var self=this;if(!self.xp){self.xp=0}if(!self.yp){self.yp=0}if(!self.loop){self.loop=setInterval(function(){self.xp+=(self.windowLeftPos-self.xp)/self.options.easingAmount;self.yp+=(self.windowTopPos-self.yp)/self.options.easingAmount;if(self.scrollingLock){clearInterval(self.loop);self.xp=self.zoomWindow.width()/2-self.mouse.left*self.ratio.width;self.yp=self.zoomWindow.height()/2-self.mouse.top*self.ratio.height;self.changeBackgroundSize();self.zoomWindow.css({backgroundPosition:self.windowLeftPos+"px "+self.windowTopPos+"px"});self.scrollingLock=false;self.loop=false}else{self.changeBackgroundSize();self.zoomWindow.css({backgroundPosition:self.xp+"px "+self.yp+"px"})}},16)}},setTintPosition:function(){var self=this;if(!self.options.tint){return}self.tintpos=self.zoomLens.width()/2-self.mouse.left;self.tintposy=self.zoomLens.height()/2-self.mouse.top;if(self.bound.top||self.fullheight){self.tintposy=0}if(self.bound.left||self.fullwidth){self.tintpos=0}if(self.bound.bottom){self.tintposy=(self.img_small.height-self.zoomLens.height()-self.options.lensBorderSize*2)*-1}if(self.bound.right){self.tintpos=(self.img_small.width-self.zoomLens.width()-self.options.lensBorderSize*2)*-1}self.zoomTintImage.css({left:self.tintpos+"px",top:self.tintposy+"px"})},changeZoomLevel:function(value){var self=this;self.scrollingLock=true;var newvalue=parseFloat(value).toFixed(2);self.newvalue=newvalue;var maxHeight=self.img_big.height/self.zw.height;var maxWidth=self.img_big.width/self.zw.width;if(self.options.zoomType!=="inner"){if(maxHeight<=newvalue){self.newvalueheight=maxHeight;self.fullheight=true}else{self.newvalueheight=newvalue;self.fullheight=false}self.ratio.height=self.img_big.height/self.newvalueheight/self.img_small.height;if(maxWidth<=newvalue){self.newvaluewidth=maxWidth;self.fullwidth=true}else{self.newvaluewidth=newvalue;self.fullwidth=false}self.ratio.width=self.img_big.width/self.newvaluewidth/self.img_small.width}else{maxHeight=parseFloat(self.img_big.height/self.img_small.height).toFixed(2);maxWidth=parseFloat(self.img_big.width/self.img_small.width).toFixed(2);newvalue=Math.min(maxHeight,maxWidth,newvalue);self.newvalueheight=newvalue;self.ratio.height=self.img_big.height/newvalue/self.img_small.height;if(maxHeight<=newvalue){self.fullheight=true}else{self.fullheight=false}self.ratio.width=self.img_big.width/newvalue/self.img_small.width;if(maxWidth<=newvalue){self.newvaluewidth=maxWidth;self.fullwidth=true}else{self.newvaluewidth=newvalue;self.fullwidth=false}}var scrcontinue=true;if(self.options.zoomType==="inner"&&self.newvaluewidth>maxWidth){scrcontinue=false;self.fullheight=true;self.fullwidth=true}if(scrcontinue){self.zoomLock=0;self.changeZoom=true;if(self.zw.height/self.ratio.height<=self.img_small.height){self.currentZoomLevel=self.newvalueheight;self.changeBgSize=true;if(self.options.zoomType==="window"){self.zoomLens.css({height:String(self.zw.height/self.ratio.height)+"px"})}}if(self.zw.width/self.ratio.width<=self.img_small.width){if(self.options.zoomType!=="inner"&&self.newvaluewidth>self.newvalueheight){self.currentZoomLevel=self.newvaluewidth}self.changeBgSize=true;if(self.options.zoomType==="window"){self.zoomLens.css({width:String(self.zw.width/self.ratio.width)+"px"})}}if(self.options.zoomType==="inner"){self.changeBgSize=true;if(self.img_small.width!==self.img_small.height){self.currentZoomLevel=self.newvaluewidth}}}self.setPosition(self.currentLoc)}};$.fn.image_zoom=function(options){return this.each(function(){function F(){}var settings=$.extend(true,{},$.fn.image_zoom.options,options);F.prototype=ImageZoooom;var zoom=new F;zoom.init(settings,this)})};$.fn.image_zoom.options={zoomEnabled:true,zoomLevel:1,scrollZoom:false,scrollZoomIncrement:.1,minZoomLevel:false,maxZoomLevel:false,easingAmount:12,lensSize:200,zoomWindowWidth:400,zoomWindowHeight:360,zoomWindowOffsetx:0,zoomWindowOffsety:0,zoomWindowPosition:1,zoomWindowBgColour:"#fff",zoomWindowShadow:4,lensFadeIn:false,lensFadeOut:false,lensOverlay:false,zoomWindowFadeIn:false,zoomWindowFadeOut:false,zoomWindowAlwaysShow:false,zoomTintFadeIn:false,zoomTintFadeOut:false,borderSize:4,showLens:true,borderColour:"#888",borderRadius:0,lensBorderSize:1,lensBorderColour:"#000",lensShape:"square",zoomType:"window",containLensZoom:false,lensColour:"white",lensOpacity:.4,lenszoom:false,tint:false,tintColour:"#333",tintOpacity:.4,cursor:"default",responsive:false,responsiveThreshold:550,customText:"",customTextSize:12,customTextColor:"#ccc",customTextAlign:"bottom",customTextVAlign:"right",onComplete:$.noop}})(jQuery,window,document);
assets/js/tinyMCE-button.js ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function() {
2
+ tinymce.PluginManager.add('image_zoom_button', function( editor, url ) {
3
+
4
+ /*
5
+ var this_js = tinyMCEPreInit.mceInit.content.external_plugins.image_zoom_button;
6
+ var this_png_button = this_js.replace('js/tinyMCE-button.js', 'images/tinyMCE_button.png');
7
+ */
8
+ function toggle_zoom() {
9
+ var content = editor.selection.getContent();
10
+ var zoom_class = 'zoooom';
11
+
12
+ if ( content.indexOf('img ') < 0 ) {
13
+ alert('First you have to select the image to which you want to add the zoom feature');
14
+ return false;
15
+ }
16
+
17
+ if ( content.indexOf( zoom_class ) < 0 ) {
18
+ if ( content.indexOf('size-full') > 0 ) {
19
+ alert('You can add the zoom feature only to non full-size images');
20
+ return false;
21
+ }
22
+ editor.dom.addClass( editor.selection.getNode(), zoom_class );
23
+ this.active(true);
24
+ } else {
25
+ editor.dom.removeClass( editor.selection.getNode(), zoom_class );
26
+ this.active(false);
27
+ }
28
+ }
29
+
30
+ var this_button = {
31
+ title: 'Image Zoom',
32
+ stateSelector: 'img.zoooom',
33
+ onClick: toggle_zoom,
34
+ };
35
+ if ( typeof jQuery('#toplevel_page_zoooom_settings img').attr('src') !== 'undefined' ) {
36
+ this_button.image = jQuery('#toplevel_page_zoooom_settings img').attr('src').replace('icon.svg', 'tinyMCE_button.png');
37
+ } else {
38
+ this_button.text = 'Image Zoom';
39
+ }
40
+
41
+ editor.addButton('image_zoom_button', this_button);
42
+ });
43
+ })();
44
+
45
+
image-zoooom.php ADDED
@@ -0,0 +1,511 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Name: WP Image Zoom
4
+ * Plugin URI: https://wordpress.org/plugins/wp-image-zoooom/
5
+ * Description: Add zoom effect over the an image, whether it is an image in a post/page or the featured image of a product in a WooCommerce shop
6
+ * Version: 1.16
7
+ * Author: SilkyPress
8
+ * Author URI: https://www.silkypress.com
9
+ * License: GPL2
10
+ *
11
+ * Text Domain: wp-image-zoooom
12
+ * Domain Path: /languages/
13
+ *
14
+ */
15
+
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit; // Exit if accessed directly
18
+ }
19
+
20
+ if ( ! class_exists( 'ImageZoooom' ) ) :
21
+ /**
22
+ * Main ImageZoooom Class
23
+ *
24
+ * @class ImageZoooom
25
+ */
26
+ final class ImageZoooom {
27
+ public $plugin;
28
+ public $theme = '';
29
+ protected static $_instance = null;
30
+
31
+
32
+ /**
33
+ * Main ImageZoooom Instance
34
+ *
35
+ * Ensures only one instance of ImageZoooom is loaded or can be loaded
36
+ *
37
+ * @static
38
+ * @return ImageZoooom - Main instance
39
+ */
40
+ public static function instance() {
41
+ if ( is_null( self::$_instance ) ) {
42
+ self::$_instance = new self();
43
+ }
44
+ return self::$_instance;
45
+ }
46
+
47
+ /**
48
+ * Cloning is forbidden.
49
+ */
50
+ public function __clone() {
51
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'wp-image-zoooom' ), '1.0' );
52
+ }
53
+
54
+ /**
55
+ * Unserializing instances of this class is forbidden.
56
+ */
57
+ public function __wakeup() {
58
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'wp-image-zoooom' ), '1.0' );
59
+ }
60
+
61
+ /**
62
+ * Image Zoooom Constructor
63
+ * @access public
64
+ * @return ImageZoooom
65
+ */
66
+ public function __construct() {
67
+ global $_wp_theme_features;
68
+
69
+ $this->theme = strtolower(get_template());
70
+ add_action('init', array($this, 'plugins_url'));
71
+ include_once( 'includes/settings.php' );
72
+ $this->plugin = wp_image_zoooom_settings('plugin');
73
+
74
+ if ( is_admin() ) {
75
+ $this->load_plugin_textdomain();
76
+ include_once( 'includes/image-zoom-admin.php' );
77
+ // include_once( 'includes/image-zoom-notices.php' );
78
+ include_once( 'includes/image-zoom-warnings.php' );
79
+ }
80
+ add_action( 'template_redirect', array( $this, 'template_redirect' ) );
81
+ add_action( 'vc_after_init', array( $this, 'js_composer' ) );
82
+ }
83
+
84
+ /**
85
+ * Show the javascripts in the front-end
86
+ * Hooked to template_redirect in $this->__construct()
87
+ * @access public
88
+ */
89
+ public function template_redirect() {
90
+
91
+ $general = $this->get_option_general();
92
+
93
+ if ( isset($general['enable_mobile']) && empty($general['enable_mobile']) && wp_is_mobile() )
94
+ return false;
95
+
96
+ // Adjust the zoom to WooCommerce 3.0.+
97
+ if ( $general['enable_woocommerce'] && class_exists('woocommerce') && version_compare( WC_VERSION, '3.0', '>') ) {
98
+ remove_theme_support( 'wc-product-gallery-zoom' );
99
+ remove_theme_support( 'wc-product-gallery-lightbox' );
100
+ add_theme_support( 'wc-product-gallery-slider' );
101
+
102
+ if ($this->theme('kiddy') || $this->theme('flatsome')) {
103
+ remove_theme_support( 'wc-product-gallery-slider' );
104
+ }
105
+ }
106
+
107
+ add_filter( 'woocommerce_single_product_image_html', array( $this, 'woocommerce_single_product_image_html' ) );
108
+ add_filter( 'woocommerce_single_product_image_thumbnail_html', array( $this, 'woocommerce_single_product_image_thumbnail_html' ) );
109
+
110
+ add_filter( 'woocommerce_single_product_image_html', array( $this, 'remove_prettyPhoto' ) );
111
+ add_filter( 'woocommerce_single_product_image_thumbnail_html', array( $this, 'remove_prettyPhoto' ) );
112
+ // add_filter( 'single_product_large_thumbnail_size', array( $this, 'single_product_large_thumbnail_size'), 40 );
113
+ // add_filter( 'single_product_small_thumbnail_size', array( $this, 'single_product_small_thumbnail_size'), 40 );
114
+
115
+ add_filter( 'the_content', array( $this, 'find_bigger_image' ), 40 );
116
+
117
+ add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ) );
118
+ add_action( 'wp_head', array( $this, 'wp_head_compatibilities' ) );
119
+
120
+ add_filter( 'wp_calculate_image_srcset', array( $this, 'wp_calculate_image_srcset' ), 40, 5 );
121
+ }
122
+
123
+ /**
124
+ * If the full image isn't in the srcset, then add it
125
+ */
126
+ function wp_calculate_image_srcset($sources, $size_array, $image_src, $image_meta, $attachment_id ) {
127
+ if ( ! isset( $image_meta['width'] ) ) {
128
+ return $sources;
129
+ }
130
+ if ( ! is_array( $sources ) ) {
131
+ $sources = array();
132
+ }
133
+ if ( isset( $sources[ $image_meta['width'] ] ) ) {
134
+ return $sources;
135
+ }
136
+
137
+ if ( is_array($size_array) && count($size_array) == 2 && isset($image_meta['height']) && isset($image_meta['width'])) {
138
+ $ratio = $size_array[0] * $image_meta['height'] / $size_array[1] / $image_meta['width'];
139
+ if ( $ratio > 1.03 || $ratio < 0.97 ) return $sources;
140
+ }
141
+
142
+ $url = str_replace( wp_basename( $image_src ), wp_basename( $image_meta['file'] ), $image_src );
143
+ $sources[$image_meta['width']] = array(
144
+ 'url' => $url,
145
+ 'descriptor' => 'w',
146
+ 'value' => $image_meta['width'],
147
+ );
148
+ return $sources;
149
+ }
150
+
151
+ /**
152
+ * Add zoom option in the vc_single_image shortcode in Visual Composer
153
+ */
154
+ function js_composer() {
155
+ if ( ! defined( 'WPB_VC_VERSION' ) ) return false;
156
+ $param = WPBMap::getParam( 'vc_single_image', 'style' );
157
+ if ( is_array( $param ) ) {
158
+ $param['value'][__( 'WP Image Zoooom', 'wp-image-zoooom' )] = 'zoooom';
159
+ vc_update_shortcode_param( 'vc_single_image', $param );
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Add data-thumbnail-src to the main product image
165
+ */
166
+ function woocommerce_single_product_image_html( $content ) {
167
+ if ( !strstr( $content, 'attachment-shop_single' ) ) {
168
+ $content = preg_replace('/ class="([^"]+)" alt="/i', ' class="attachment-shop_single $1" alt="', $content);
169
+ }
170
+ $thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id(), 'shop_thumbnail' );
171
+
172
+ if ( ! isset( $thumbnail[0] ) ) return $content;
173
+
174
+ $thumbnail_data = ' data-thumbnail-src="'.$thumbnail[0].'"';
175
+
176
+ $content = str_replace( ' title="', $thumbnail_data . ' title="', $content );
177
+
178
+ return $content;
179
+ }
180
+
181
+ /**
182
+ * Force the WooCommerce to use the "src" attribute
183
+ */
184
+ function woocommerce_single_product_image_thumbnail_html( $content ) {
185
+ $content = str_replace('class="attachment-shop_single size-shop_single"', 'class="attachment-shop_thumbnail size-shop_thumbnail"', $content);
186
+
187
+ if ( !strstr( $content, 'attachment-shop_thumbnail' ) ) {
188
+ $content = str_replace(' class="', ' class="attachment-shop_thumbnail ', $content);
189
+ }
190
+
191
+ if ( strstr( $content, 'attachment-shop_single' ) ) {
192
+ $content = str_replace('attachment-shop_single', '', $content);
193
+ }
194
+
195
+ // Fix for the 2.8.6+ Virtue theme, see https://wordpress.org/support/topic/woocommerce_single_product_image_html-filter/
196
+ if ($this->theme('virtue')) {
197
+ $content = str_replace('attachment-shop_thumbnail wp-post-image', 'attachment-shop_single wp-post-image', $content);
198
+ }
199
+ return $content;
200
+ }
201
+
202
+ /**
203
+ * Remove the lightbox
204
+ */
205
+ function remove_prettyPhoto( $content ) {
206
+ $replace = array( 'data-rel="prettyPhoto"', 'data-rel="lightbox"', 'data-rel="prettyPhoto[product-gallery]"', 'data-rel="lightbox[product-gallery]"', 'data-rel="prettyPhoto[]"');
207
+
208
+ return str_replace( $replace, 'data-rel="zoomImage"', $content );
209
+ }
210
+
211
+
212
+ /**
213
+ * Find bigger image if class="zoooom" and there is no srcset
214
+ *
215
+ * Note: the srcset is not be set if for some reason
216
+ * the _wp_attachment_metadata for the image is not present
217
+ */
218
+ function find_bigger_image( $content ) {
219
+ if ( ! preg_match_all( '/<img [^>]+>/', $content, $matches ) ) {
220
+ return $content;
221
+ }
222
+
223
+ foreach( $matches[0] as $image ) {
224
+ // the image has to have the class "zoooom"
225
+ if ( false === strpos( $image, 'zoooom' ) ) {
226
+ continue;
227
+ }
228
+ // the image was tagged to skip this step
229
+ if ( false !== strpos( $image, 'skip-data-zoom-image' ) ) {
230
+ continue;
231
+ }
232
+ // the image does not have the srcset
233
+ if ( false !== strpos( $image, ' srcset=' ) ) {
234
+ continue;
235
+ }
236
+ // the image has an "-300x400.jpg" type ending
237
+ if ( 0 == preg_match( '@ src="([^"]+)(-[0-9]+x[0-9]+).(jpg|png|gif)"@', $image) ) {
238
+ continue;
239
+ }
240
+
241
+ // link the full-sized image to the data-zoom-image attribute
242
+ $full_image = preg_replace( '@^(.*) src="(.*)(-[0-9]+x[0-9]+).(jpg|png|gif)"(.*)$@', '$2.$4', $image );
243
+ $full_image_attr = ' data-zoom-image="' . $full_image . '"';
244
+ $full_image_img = str_replace(' src=', $full_image_attr. ' src=', $image);
245
+ $content = str_replace( $image, $full_image_img, $content);
246
+ }
247
+
248
+ return $content;
249
+ }
250
+
251
+
252
+ /**
253
+ * wp_head compatibilities
254
+ */
255
+ function wp_head_compatibilities() {
256
+ if ($this->theme('bridge')) {
257
+ echo '<style type="text/css"> .wrapper { z-index: 40 !important; } </style>' . PHP_EOL;
258
+ }
259
+
260
+ if ($this->theme('nouveau')) {
261
+ echo '<style type="text/css"> .wrapper { z-index: 100 !important; } </style>' . PHP_EOL;
262
+ }
263
+
264
+ if ($this->theme('artcore')) {
265
+ echo '<style type="text/css"> .sidebar-menu-push { z-index: 40 !important; } </style>' . PHP_EOL;
266
+ }
267
+
268
+ // Many of the select-themes.com themes add a wrapper on the whole page
269
+ $select_themes = array(
270
+ 'kloe', 'startit', 'kudos', 'moments', 'ayro', 'suprema', 'ultima', 'geko', 'target', 'coney', 'aton', 'ukiyo', 'zenit', 'mixtape', 'scribbler', 'alecta', 'cityrama', 'bazaar'
271
+ );
272
+ foreach( $select_themes as $_theme ) {
273
+ if ($this->theme($_theme) ) { ?>
274
+ <style type="text/css"> .qodef-wrapper { z-index: 200 !important; } </style>
275
+ <?php
276
+ }
277
+ }
278
+
279
+ if ($this->theme('dorianwp')) {
280
+ echo '<style type="text/css">.edgtf-side-menu-slide-from-right .edgtf-wrapper {z-index: 20;}</style>' . PHP_EOL;
281
+ }
282
+
283
+ if ( defined('LP_PLUGIN_FILE')) {
284
+ echo '<style type="text/css">body.content-item-only .learn-press-content-item-only { z-index: 990; } .single-lp_course #wpadminbar{z-index:900;}</style>' . PHP_EOL;
285
+ }
286
+ }
287
+
288
+
289
+ /**
290
+ * Enqueue the jquery.image_zoom.js
291
+ * Hooked to wp_enqueue_scripts in $this->template_redirect
292
+ * @access public
293
+ */
294
+ public function wp_enqueue_scripts() {
295
+ $v = $this->plugin['version'];
296
+ $url = $this->plugin['url'];
297
+ $prefix = '.min';
298
+
299
+ // Load the jquery.image_zoom.js
300
+ wp_register_script( 'image_zoooom', $url.'assets/js/jquery.image_zoom'.$prefix.'.js', array( 'jquery' ), $v, false);
301
+ wp_enqueue_script( 'image_zoooom' );
302
+
303
+ // Load the image_zoom-init.js
304
+ wp_register_script( 'image_zoooom-init', $url. 'assets/js/image_zoom-init.js', array( 'jquery' ), $v, false);
305
+ wp_localize_script( 'image_zoooom-init', 'IZ', $this->get_localize_vars());
306
+ wp_enqueue_script( 'image_zoooom-init' );
307
+
308
+ // Remove the prettyPhoto
309
+ if ( $this->woocommerce_is_active() && function_exists('is_product') && is_product() ) {
310
+ wp_dequeue_script( 'prettyPhoto' );
311
+ wp_dequeue_script( 'prettyPhoto-init' );
312
+ }
313
+ }
314
+
315
+ function get_localize_vars() {
316
+ $general = $this->get_option_general();
317
+ $options = $this->get_options_for_zoom();
318
+
319
+ $default = array(
320
+ 'with_woocommerce' => '1',
321
+ 'exchange_thumbnails' => '1',
322
+ 'woo_categories' => (isset($general['woo_cat']) && $general['woo_cat'] == 1 ) ? '1' : '0',
323
+ 'enable_mobile' => $general['enable_mobile'],
324
+ 'options' => $options,
325
+ 'woo_slider' => '0',
326
+ );
327
+
328
+ if (class_exists('woocommerce') && version_compare( WC_VERSION, '3.0', '>') && current_theme_supports( 'wc-product-gallery-slider' )) {
329
+ $default['woo_slider'] = 1;
330
+ }
331
+
332
+ $with_woocommerce = true;
333
+ if ( ! $this->woocommerce_is_active() )
334
+ $default['with_woocommerce'] = '0';
335
+
336
+ if ( !function_exists( 'is_product' ) || !is_product() )
337
+ $default['with_woocommerce'] = '0';
338
+
339
+ if ( isset($general['enable_woocommerce']) && empty($general['enable_woocommerce']))
340
+ $default['with_woocommerce'] = '0';
341
+
342
+ if ( isset($general['exchange_thumbnails']) && empty($general['exchange_thumbnails']))
343
+ $default['exchange_thumbnails'] = '0';
344
+
345
+ return $default;
346
+ }
347
+
348
+ function get_options_for_zoom() {
349
+ $i = get_option( 'zoooom_settings' );
350
+ $o = array();
351
+
352
+ switch ( $i['lensShape'] ) {
353
+ case 'none' :
354
+ $o = array(
355
+ 'zoomType' => 'inner',
356
+ 'cursor' => $i['cursorType'],
357
+ 'easingAmount' => $i['zwEasing'],
358
+ );
359
+ break;
360
+ case 'square' :
361
+ case 'round' :
362
+ $o = array(
363
+ 'lensShape' => $i['lensShape'],
364
+ 'zoomType' => 'lens',
365
+ 'lensSize' => $i['lensSize'],
366
+ 'borderSize' => $i['borderThickness'],
367
+ 'borderColour' => $i['borderColor'],
368
+ 'cursor' => $i['cursorType'],
369
+ 'lensFadeIn' => $i['lensFade'],
370
+ 'lensFadeOut' => $i['lensFade'],
371
+ );
372
+ if ( $i['tint'] == true ) {
373
+ $o['tint'] = 'true';
374
+ $o['tintColour'] = $i['tintColor'];
375
+ $o['tintOpacity'] = $i['tintOpacity'];
376
+ }
377
+
378
+ break;
379
+ case 'square' :
380
+ break;
381
+ case 'zoom_window' :
382
+ $o = array(
383
+ 'lensShape' => 'square',
384
+ 'lensSize' => $i['lensSize'],
385
+ 'lensBorderSize' => $i['borderThickness'],
386
+ 'lensBorderColour' => $i['borderColor'],
387
+ 'borderRadius' => $i['zwBorderRadius'],
388
+ 'cursor' => $i['cursorType'],
389
+ 'zoomWindowWidth' => $i['zwWidth'],
390
+ 'zoomWindowHeight' => $i['zwHeight'],
391
+ 'zoomWindowOffsetx' => $i['zwPadding'],
392
+ 'borderSize' => $i['zwBorderThickness'],
393
+ 'borderColour' => $i['zwBorderColor'],
394
+ 'zoomWindowShadow' => $i['zwShadow'],
395
+ 'lensFadeIn' => $i['lensFade'],
396
+ 'lensFadeOut' => $i['lensFade'],
397
+ 'zoomWindowFadeIn' => $i['zwFade'],
398
+ 'zoomWindowFadeOut' => $i['zwFade'],
399
+ 'easingAmount' => $i['zwEasing'],
400
+ );
401
+
402
+ if ( $i['tint'] == true ) {
403
+ $o['tint'] = 'true';
404
+ $o['tintColour'] = $i['tintColor'];
405
+ $o['tintOpacity'] = $i['tintOpacity'];
406
+ }
407
+
408
+ break;
409
+ }
410
+ return $o;
411
+ }
412
+
413
+
414
+
415
+ /** Helper function ****************************************/
416
+
417
+ public function theme($string) {
418
+ $string = strtolower($string);
419
+ if (empty($this->theme)) {
420
+ $this->theme = strtolower(get_template());
421
+ }
422
+ if (strpos($this->theme, $string ) !== false)
423
+ return true;
424
+
425
+ return false;
426
+ }
427
+
428
+ function plugins_url() {
429
+ define('IMAGE_ZOOM_FILE', __FILE__);
430
+ define('IMAGE_ZOOM_URL', plugins_url('/', __FILE__));
431
+ define('IMAGE_ZOOM_PATH', plugin_dir_path(__FILE__));
432
+ $this->plugin['url'] = IMAGE_ZOOM_URL;
433
+ $this->plugin['path'] = IMAGE_ZOOM_PATH;
434
+ }
435
+
436
+
437
+ /**
438
+ * Check if WooCommerce is activated
439
+ * @access public
440
+ * @return bool
441
+ */
442
+ public function woocommerce_is_active() {
443
+ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
444
+ return true;
445
+ }
446
+ return false;
447
+ }
448
+
449
+ public function get_option_general() {
450
+ $general = get_option('zoooom_general');
451
+
452
+ if (!isset($general['enable_woocommerce']))
453
+ $general['enable_woocommerce'] = true;
454
+
455
+ if (!isset($general['exchange_thumbnails']))
456
+ $general['exchange_thumbnails'] = true;
457
+
458
+ if ( !isset( $general['enable_mobile'] ) )
459
+ $general['enable_mobile'] = false;
460
+
461
+ $general['force_woocommerce'] = false;
462
+
463
+ if ( !isset( $general['woo_cat'] ) )
464
+ $general['woo_cat'] = false;
465
+
466
+ if ( ! $this->woocommerce_is_active() ) {
467
+ $general['woo_cat'] = false;
468
+ }
469
+
470
+ return $general;
471
+ }
472
+
473
+ public function load_plugin_textdomain() {
474
+ load_plugin_textdomain( 'wp-image-zoooom', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
475
+ }
476
+
477
+
478
+
479
+ }
480
+
481
+ endif;
482
+
483
+ /**
484
+ * Returns the main instance of ImageZoooom
485
+ *
486
+ * @return ImageZoooom
487
+ */
488
+ function ImageZoooom() {
489
+ return ImageZoooom::instance();
490
+ }
491
+
492
+ ImageZoooom();
493
+
494
+ /**
495
+ * * Plugin action link to Settings page
496
+ * */
497
+ function wp_image_zoooom_plugin_action_links( $links ) {
498
+
499
+ $settings_link = '<a href="admin.php?page=zoooom_settings">' .
500
+ esc_html( __('Settings', 'wp-image-zoooom' ) ) . '</a>';
501
+
502
+ return array_merge( array( $settings_link), $links );
503
+
504
+ }
505
+ add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'wp_image_zoooom_plugin_action_links' );
506
+
507
+ if ( ! function_exists( 'x_disable_wp_image_srcset' ) ) :
508
+ function x_disable_wp_image_srcset() {
509
+ return true;
510
+ }
511
+ endif;
includes/image-zoom-admin-general.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once 'image-zoom-forms-helper.php';
4
+
5
+ $iz_admin = new ImageZoooom_Admin;
6
+ $iz_forms_helper = new ImageZoooom_FormsHelper;
7
+
8
+ $assets_url = IMAGE_ZOOM_URL . '/assets';
9
+
10
+ $settings = get_option('zoooom_general');
11
+ if ( $settings == false ) {
12
+ $settings = $iz_admin->validate_general( null );
13
+ }
14
+
15
+ $messages = $iz_admin->show_messages();
16
+
17
+ include_once( 'premium-tooltips.php' );
18
+
19
+ ?>
20
+ <style type="text/css">
21
+ .form-group { display:flex; align-items: center; }
22
+ .control-label{ height: auto; }
23
+ </style>
24
+
25
+ <script type="text/javascript">
26
+
27
+ jQuery(document).ready(function($) {
28
+ $('[data-toggle="tooltip"]').tooltip();
29
+ });
30
+ </script>
31
+
32
+ <?php $brand = '<img src="'. $assets_url.'/images/silkypress_logo.png" /> <a href="https://www.silkypress.com/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner" target="_blank">SilkyPress.com</a>';?>
33
+ <h2><?php printf(esc_html__('WP Image Zoom by %1$s', 'wp-image-zoooom'), $brand); ?></h2>
34
+
35
+ <div class="wrap">
36
+
37
+
38
+ <h3 class="nav-tab-wrapper woo-nav-tab-wrapper">
39
+
40
+ <a href="?page=zoooom_settings&tab=general" class="nav-tab nav-tab-active"><?php _e('General Settings', 'wp-image-zoooom'); ?></a>
41
+
42
+ <a href="?page=zoooom_settings&tab=settings" class="nav-tab"><?php _e('Zoom Settings', 'wp-image-zoooom'); ?></a>
43
+
44
+ </h3>
45
+
46
+ <div class="panel panel-default">
47
+ <div class="panel-body">
48
+ <div class="row">
49
+
50
+
51
+
52
+ <div class="col-lg-12">
53
+ <?php echo $messages; ?>
54
+ <div id="alert_messages">
55
+ </div>
56
+ </div>
57
+
58
+
59
+
60
+
61
+ <form class="form-horizontal" method="post" action="" id="form_settings">
62
+
63
+ <?php
64
+ $iz_forms_helper->label_class = 'col-sm-6 control-label';
65
+
66
+ foreach ( array('enable_woocommerce', 'exchange_thumbnails', 'woo_cat', 'woo_variations', 'enable_mobile', 'remove_lightbox_thumbnails', 'remove_lightbox', 'force_attachments', 'flexslider', 'huge_it_gallery', 'enable_fancybox', 'enable_jetpack_carousel' ) as $_field ) {
67
+ $this_settings = $iz_admin->get_settings( $_field);
68
+ $this_settings['value'] = '';
69
+ if ( isset( $settings[$_field] ) ) {
70
+ $this_settings['value'] = $settings[$_field];
71
+ }
72
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
73
+ }
74
+
75
+ ?>
76
+
77
+ <div class="form-group">
78
+ <div class="col-lg-6">
79
+ <input type="hidden" name="tab" value="general" />
80
+ <button type="submit" class="btn btn-primary"><?php _e('Save changes', 'wp-image-zoooom'); ?></button>
81
+ </div>
82
+ </div>
83
+
84
+ <?php wp_nonce_field( 'iz_general' ); ?>
85
+
86
+ </form>
87
+
88
+
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </div>
93
+
94
+ <?php include_once('right_columns.php'); ?>
includes/image-zoom-admin-template.php ADDED
@@ -0,0 +1,224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once 'image-zoom-forms-helper.php';
4
+
5
+ $iz_admin = new ImageZoooom_Admin;
6
+ $iz_forms_helper = new ImageZoooom_FormsHelper;
7
+
8
+ $assets_url = IMAGE_ZOOM_URL . '/assets';
9
+
10
+ $settings = get_option( 'zoooom_settings' );
11
+ if ( $settings == false ) {
12
+ $settings = $iz_admin->validate_settings( array() );
13
+ }
14
+ $messages = $iz_admin->show_messages();
15
+
16
+
17
+ include_once( 'premium-tooltips.php' );
18
+
19
+ ?>
20
+
21
+ <?php $brand = '<img src="'. IMAGE_ZOOM_URL .'assets/images/silkypress_logo.png" /> <a href="https://www.silkypress.com/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner" target="_blank">SilkyPress.com</a>';?>
22
+ <h2><?php printf(esc_html__('WP Image Zoom by %1$s', 'wp-image-zoooom'), $brand); ?></h2>
23
+
24
+ <div class="wrap">
25
+
26
+
27
+ <h3 class="nav-tab-wrapper woo-nav-tab-wrapper">
28
+
29
+ <a href="?page=zoooom_settings&tab=general" class="nav-tab"><?php _e('General Settings', 'wp-image-zoooom'); ?></a>
30
+
31
+ <a href="?page=zoooom_settings&tab=settings" class="nav-tab nav-tab-active"><?php _e('Zoom Settings', 'wp-image-zoooom'); ?></a>
32
+
33
+ </h2>
34
+
35
+ <div class="panel panel-default">
36
+ <div class="panel-body">
37
+ <div class="row">
38
+
39
+
40
+ <?php echo $messages; ?>
41
+ <div id="alert_messages">
42
+ </div>
43
+
44
+ <form class="form-horizontal" method="post" action="" id="form_settings">
45
+
46
+ <div class="form-group">
47
+ <?php echo load_steps(__('Step 1', 'wp-image-zoooom'), __('Choose the Lens Shape', 'wp-image-zoooom')); ?>
48
+
49
+ <?php
50
+ $lensShape = $iz_admin->get_settings( 'lensShape', $settings['lensShape']);
51
+
52
+ $lensShape['value'] = $settings['lensShape'];
53
+ if ( ! isset($lensShape['value'] ) ) $lensShape['value'] = '';
54
+ ?>
55
+ <div class="btn-group" data-toggle="buttons" id="btn-group-style-circle">
56
+ <?php foreach( $lensShape['values'] as $_id => $_value ) : ?>
57
+ <?php $toggle = ( ! empty($_value[1]) ) ? ' data-toggle="tooltip" data-placement="top" title="'.$_value[1].'" data-original-title="' . $_value[1] . '"' : ''; ?>
58
+ <label class="btn btn-default<?php echo ($lensShape['value'] == $_id) ? ' active' : '' ?> ">
59
+ <input type="radio" name="<?php echo $lensShape['name'] ?>" id="<?php echo $_id ?>" value="<?php echo $_id ?>" <?php echo ($lensShape['value'] == $_id) ? 'checked' : '' ?> />
60
+ <div class="icon-in-label ndd-spot-icon icon-style-1"<?php echo $toggle; ?>>
61
+ <div class="ndd-icon-main-element">
62
+ <i class="<?php echo $_value[0]; ?>"></i>
63
+ </div>
64
+ </div>
65
+ </label>
66
+ <?php endforeach; ?>
67
+ </div>
68
+
69
+ <div style="clear: both; margin-bottom: 50px;"></div>
70
+
71
+
72
+ <?php echo load_steps(__('Step 2', 'wp-image-zoooom'), __('Check your configuration changes on the image', 'wp-image-zoooom')); ?>
73
+ <img id="demo" src="<?php echo $assets_url ?>/images/img1_medium.png" data-zoom-image="<?php echo $assets_url ?>/images/img1_large.png" width="300" />
74
+
75
+
76
+ <div style="clear: both; margin-bottom: 50px;"></div>
77
+
78
+ <?php echo load_steps(__('Step 3', 'wp-image-zoooom'), __('Make more fine-grained configurations on the zoom', 'wp-image-zoooom')); ?>
79
+ <ul class="nav nav-tabs">
80
+ <li class="" id="tab_padding" style="width: 40px;"> &nbsp; </li>
81
+ <li class="active" id="tab_general">
82
+ <a href="#general_settings" data-toggle="tab" aria-expanded="true"><?php _e('General', 'wp-image-zoooom'); ?></a>
83
+ </li>
84
+ <li class="" id="tab_lens">
85
+ <a href="#lens_settings" data-toggle="tab" aria-expanded="false"><?php _e('Lens', 'wp-image-zoooom'); ?></a>
86
+ </li>
87
+ <li class="" id="tab_zoom_window">
88
+ <a href="#zoom_window_settings" data-toggle="tab" aria-expanded="false"><?php _e('Zoom Window', 'wp-image-zoooom'); ?></a>
89
+ </li>
90
+ <li class="" id="tab_custom_text">
91
+ <a href="#custom_text" data-toggle="tab" aria-expanded="false"><?php _e('Custom Text', 'wp-image-zoooom'); ?></a>
92
+ </li>
93
+ </ul>
94
+
95
+ <div class="tab-content">
96
+ <div class="tab-pane fade active in" id="general_settings">
97
+ <?php
98
+
99
+ foreach ( array('cursorType', 'zwEasing', 'onClick', 'ratio' ) as $_field ) {
100
+ $this_settings = $iz_admin->get_settings( $_field);
101
+ $this_settings['value'] = '';
102
+ if ( isset( $settings[$_field] ) ) {
103
+ $this_settings['value'] = $settings[$_field];
104
+ }
105
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
106
+ }
107
+ ?>
108
+
109
+ </div>
110
+ <div class="tab-pane fade" id="lens_settings">
111
+ <?php
112
+
113
+ $fields = array(
114
+ 'lensSize',
115
+ 'lensColour',
116
+ 'lensOverlay',
117
+ 'borderThickness',
118
+ 'borderColor',
119
+ 'lensFade',
120
+ 'tint',
121
+ 'tintColor',
122
+ 'tintOpacity',
123
+ );
124
+
125
+ foreach ( $fields as $_field ) {
126
+ $this_settings = $iz_admin->get_settings( $_field);
127
+ $this_settings['value'] = '';
128
+ if ( isset( $settings[$_field] ) ) {
129
+ $this_settings['value'] = $settings[$_field];
130
+ }
131
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
132
+ }
133
+
134
+ ?>
135
+ </div>
136
+
137
+ <div class="tab-pane fade" id="zoom_window_settings">
138
+ <?php
139
+
140
+ $fields = array(
141
+ 'zwWidth',
142
+ 'zwHeight',
143
+ 'zwResponsive',
144
+ 'zwResponsiveThreshold',
145
+ 'zwPositioning',
146
+ 'zwPadding',
147
+ 'zwBorderThickness',
148
+ 'zwBorderColor',
149
+ 'zwShadow',
150
+ 'zwBorderRadius',
151
+ 'mousewheelZoom',
152
+ 'zwFade',
153
+ );
154
+
155
+ foreach ( $fields as $_field ) {
156
+ $this_settings = $iz_admin->get_settings( $_field);
157
+ $this_settings['value'] = '';
158
+ if ( isset( $settings[$_field] ) ) {
159
+ $this_settings['value'] = $settings[$_field];
160
+ }
161
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
162
+ }
163
+
164
+ ?>
165
+ </div>
166
+
167
+ <div class="tab-pane fade" id="custom_text">
168
+ <?php
169
+
170
+ $fields = array(
171
+ 'customText',
172
+ 'customTextSize',
173
+ 'customTextColor',
174
+ 'customTextAlign',
175
+ );
176
+
177
+ foreach ( $fields as $_field ) {
178
+ $this_settings = $iz_admin->get_settings( $_field);
179
+ $this_settings['value'] = '';
180
+ if ( isset( $settings[$_field] ) ) {
181
+ $this_settings['value'] = $settings[$_field];
182
+ }
183
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
184
+ }
185
+
186
+ ?>
187
+ </div>
188
+
189
+ </div><!-- close "tab-content" -->
190
+
191
+
192
+ <?php echo load_steps(__('Step 4', 'wp-image-zoooom'), __('Don\'t forget to save the changes in order to apply them on the website', 'wp-image-zoooom')); ?>
193
+ <div class="form-group">
194
+ <div class="col-lg-6">
195
+ <button type="submit" class="btn btn-primary"><?php _e('Save changes', 'wp-image-zoooom'); ?></button>
196
+ </div>
197
+ </div>
198
+
199
+ </div><!-- close "form-group" -->
200
+
201
+ <?php wp_nonce_field( 'iz_template' ); ?>
202
+ </form>
203
+
204
+
205
+ </div>
206
+ </div>
207
+ </div>
208
+
209
+
210
+ </div><!-- close wrap -->
211
+
212
+
213
+ <?php include_once('right_columns.php'); ?>
214
+
215
+ <?php
216
+
217
+ function load_steps($step, $description) {
218
+ return '<div class="steps">
219
+ <span class="steps_nr">'. $step .':</span>
220
+ <span class="steps_desc">' . $description . '</span>
221
+ </div>' . "\n";
222
+ }
223
+
224
+ ?>
includes/image-zoom-admin.php ADDED
@@ -0,0 +1,432 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ /**
8
+ * ImageZoooom_Admin
9
+ */
10
+ class ImageZoooom_Admin {
11
+
12
+ public $messages = array();
13
+ private $tab = 'general';
14
+ public $plugin;
15
+
16
+ /**
17
+ * Constructor
18
+ */
19
+ public function __construct() {
20
+ add_action( 'admin_menu', array( $this, 'admin_menu' ) );
21
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
22
+ add_action( 'admin_head', array( $this, 'iz_add_tinymce_button' ) );
23
+ $this->plugin = wp_image_zoooom_settings('plugin');
24
+ }
25
+
26
+ /**
27
+ * Add menu items
28
+ */
29
+ public function admin_menu() {
30
+ add_menu_page(
31
+ __( 'WP Image Zoom', 'wp-image-zoooom' ),
32
+ __( 'WP Image Zoom', 'wp-image-zoooom' ),
33
+ 'administrator',
34
+ 'zoooom_settings',
35
+ array( $this, 'admin_settings_page' ),
36
+ IMAGE_ZOOM_URL . 'assets/images/icon.svg'
37
+ );
38
+ }
39
+
40
+ /**
41
+ * Load the javascript and css scripts
42
+ */
43
+ public function admin_enqueue_scripts( $hook ) {
44
+ if ( $hook != 'toplevel_page_zoooom_settings' )
45
+ return false;
46
+
47
+ $url = IMAGE_ZOOM_URL. 'assets/';
48
+ $version = $this->plugin['version'];
49
+
50
+ // Register the javascript files
51
+ if ( $this->plugin['testing'] == true ) {
52
+ wp_register_script( 'bootstrap', $url. 'js/bootstrap.3.2.0.min.js' , array( 'jquery' ), $version, true );
53
+ wp_register_script( 'image_zoooom', $url.'js/jquery.image_zoom.js' , array( 'jquery' ), $version, true );
54
+ if ( !isset($_GET['tab']) || $_GET['tab'] == 'settings' ) {
55
+ wp_register_script( 'zoooom-settings', $url. 'js/image_zoom.settings.free.js', array( 'image_zoooom' ), $version, true );
56
+ }
57
+ } else {
58
+ wp_register_script( 'bootstrap', $url.'js/bootstrap.3.2.0.min.js', array( 'jquery' ), $version, true );
59
+ wp_register_script( 'image_zoooom', $url.'js/jquery.image_zoom.min.js', array( 'jquery' ), $version, true );
60
+ if ( !isset($_GET['tab']) || $_GET['tab'] == 'settings' ) {
61
+ wp_register_script( 'zoooom-settings', $url.'js/image_zoom.settings.min.js', array( 'image_zoooom' ), $version, true );
62
+ }
63
+ }
64
+
65
+ // Enqueue the javascript files
66
+ wp_enqueue_script( 'bootstrap' );
67
+ wp_enqueue_script( 'image_zoooom' );
68
+ wp_enqueue_script( 'zoooom-settings' );
69
+
70
+ // Register the css files
71
+ wp_register_style( 'bootstrap', $url.'css/bootstrap.min.css', array(), $version );
72
+ if ( $this->plugin['testing'] == true ) {
73
+ wp_register_style( 'zoooom', $url.'css/style.css', array(), $version );
74
+ } else {
75
+ wp_register_style( 'zoooom', $url.'css/style.min.css', array(), $version );
76
+ }
77
+
78
+ // Enqueue the css files
79
+ wp_enqueue_style( 'bootstrap' );
80
+ wp_enqueue_style( 'zoooom' );
81
+ }
82
+
83
+ /**
84
+ * Build an array with settings that will be used in the form
85
+ * @access public
86
+ */
87
+ public function get_settings( $id = '' ) {
88
+ $settings = wp_image_zoooom_settings('settings');
89
+ $pro_fields = wp_image_zoooom_settings('pro_fields');
90
+
91
+ $settings = array_merge( $settings, $pro_fields );
92
+
93
+ if ( isset( $settings[$id] ) ) {
94
+ $settings[$id]['name'] = $id;
95
+ return $settings[$id];
96
+ } elseif ( empty( $id ) ) {
97
+ return $settings;
98
+ }
99
+ return false;
100
+ }
101
+
102
+ /**
103
+ * Output the admin page
104
+ * @access public
105
+ */
106
+ public function admin_settings_page() {
107
+
108
+ if ( isset( $_GET['tab'] ) && $_GET['tab'] == 'general' ) {
109
+ if ( ! empty( $_POST ) ) {
110
+ check_admin_referer('iz_general');
111
+ $new_settings = $this->validate_general( $_POST );
112
+ update_option( 'zoooom_general', $new_settings );
113
+ $this->add_message( 'success', '<b>'.__('Your settings have been saved.', 'wp-image-zoooom') . '</b>' );
114
+ }
115
+
116
+ $template = IMAGE_ZOOM_PATH . "/includes/image-zoom-admin-general.php";
117
+ load_template( $template );
118
+
119
+ $this->tab = 'general';
120
+
121
+ return;
122
+ }
123
+
124
+ if ( ! empty( $_POST ) ) {
125
+ check_admin_referer('iz_template');
126
+ $new_settings = $this->validate_settings( $_POST );
127
+ $new_settings_js = $this->generate_js_settings( $new_settings );
128
+ update_option( 'zoooom_settings', $new_settings );
129
+ update_option( 'zoooom_settings_js', $new_settings_js );
130
+ $this->add_message( 'success', '<b>'.__('Your settings have been saved.', 'wp-image-zoooom') . '</b>' );
131
+ }
132
+
133
+ $template = IMAGE_ZOOM_PATH . "/includes/image-zoom-admin-template.php";
134
+ load_template( $template );
135
+
136
+ $this->tab = 'settings';
137
+ }
138
+
139
+ /**
140
+ * Build the jquery.image_zoom.js options and save them directly in the database
141
+ * @access private
142
+ */
143
+ private function generate_js_settings( $settings ) {
144
+ $options = array();
145
+ switch ( $settings['lensShape'] ) {
146
+ case 'none' :
147
+ $options[] = 'zoomType : "inner"';
148
+ $options[] = 'cursor: "'.$settings['cursorType'].'"';
149
+ $options[] = 'easingAmount: '.$settings['zwEasing'];
150
+ break;
151
+ case 'square' :
152
+ case 'round' :
153
+ $options[] = 'lensShape : "' .$settings['lensShape'].'"';
154
+ $options[] = 'zoomType : "lens"';
155
+ $options[] = 'lensSize : "' .$settings['lensSize'].'"';
156
+ $options[] = 'borderSize : "' .$settings['borderThickness'].'"';
157
+ $options[] = 'borderColour : "' .$settings['borderColor'].'"';
158
+ $options[] = 'cursor : "' .$settings['cursorType'].'"';
159
+ $options[] = 'lensFadeIn : "' .$settings['lensFade'].'"';
160
+ $options[] = 'lensFadeOut : "' .$settings['lensFade'].'"';
161
+ if ( $settings['tint'] == true ) {
162
+ $options[] = 'tint : true';
163
+ $options[] = 'tintColour: "' . $settings['tintColor'] . '"';
164
+ $options[] = 'tintOpacity: "' . $settings['tintOpacity'] . '"';
165
+ }
166
+
167
+ break;
168
+ case 'square' :
169
+ break;
170
+ case 'zoom_window' :
171
+ $options[] = 'lensShape : "square"';
172
+ $options[] = 'lensSize : "' .$settings['lensSize'].'"';
173
+ $options[] = 'lensBorderSize : "' .$settings['borderThickness'].'"';
174
+ $options[] = 'lensBorderColour: "' .$settings['borderColor'].'"';
175
+ $options[] = 'borderRadius : "' .$settings['zwBorderRadius'].'"';
176
+ $options[] = 'cursor : "' .$settings['cursorType'].'"';
177
+ $options[] = 'zoomWindowWidth : "' .$settings['zwWidth'].'"';
178
+ $options[] = 'zoomWindowHeight: "' .$settings['zwHeight'].'"';
179
+ $options[] = 'zoomWindowOffsetx: "' .$settings['zwPadding'].'"';
180
+ $options[] = 'borderSize : "' .$settings['zwBorderThickness'].'"';
181
+ $options[] = 'borderColour : "' .$settings['zwBorderColor'].'"';
182
+ $options[] = 'zoomWindowShadow : "' .$settings['zwShadow'].'"';
183
+ $options[] = 'lensFadeIn : "' .$settings['lensFade'].'"';
184
+ $options[] = 'lensFadeOut : "' .$settings['lensFade'].'"';
185
+ $options[] = 'zoomWindowFadeIn :"' .$settings['zwFade'].'"';
186
+ $options[] = 'zoomWindowFadeOut :"' .$settings['zwFade'].'"';
187
+ $options[] = 'easingAmount : "'.$settings['zwEasing'].'"';
188
+ if ( $settings['tint'] == true ) {
189
+ $options[] = 'tint : true';
190
+ $options[] = 'tintColour: "' . $settings['tintColor'] . '"';
191
+ $options[] = 'tintOpacity: "' . $settings['tintOpacity'] . '"';
192
+ }
193
+
194
+ break;
195
+ }
196
+ if (count($options) == 0) return false;
197
+
198
+ $options = implode(', ', $options);
199
+
200
+ return $options;
201
+ }
202
+
203
+
204
+ /**
205
+ * Check the validity of the settings. The validity has to be the same as the javascript validation in image-zoom.settings.js
206
+ * @access public
207
+ */
208
+ public function validate_settings( $post ) {
209
+ $settings = $this->get_settings();
210
+
211
+ $new_settings = array();
212
+ foreach ( $settings as $_key => $_value ) {
213
+ if ( isset( $post[$_key] ) && $post[$_key] != $_value['value'] ) {
214
+ $new_settings[$_key] = $post[$_key];
215
+ } else {
216
+ $new_settings[$_key] = $_value['value'];
217
+ }
218
+ }
219
+
220
+ $new_settings['lensShape'] = $this->validateValuesSet('lensShape', $new_settings['lensShape']);
221
+ $new_settings['cursorType'] = $this->validateValuesSet('cursorType', $new_settings['cursorType']);
222
+ $new_settings['zwEasing'] = $this->validateRange('zwEasing', $new_settings['zwEasing'], 'int', 0, 200);
223
+ $new_settings['lensSize'] = $this->validateRange('lensSize', $new_settings['lensSize'], 'int', 20, 2000);
224
+ $new_settings['borderThickness'] = $this->validateRange('borderThickness', $new_settings['borderThickness'], 'int', 0, 200);
225
+ $new_settings['borderColor'] = $this->validateColor('borderColor', $new_settings['borderColor']);
226
+ $new_settings['lensFade'] = $this->validateRange('lensFade', $new_settings['lensFade'], 'float', 0, 10);
227
+ $new_settings['tint'] = $this->validateCheckbox('tint', $new_settings['tint']);
228
+ $new_settings['tintColor'] = $this->validateColor('tintColor', $new_settings['tintColor']);
229
+ $new_settings['tintOpacity'] = $this->validateRange('tintOpacity', $new_settings['tintOpacity'], 'float', 0, 1);
230
+ $new_settings['zwWidth'] = $this->validateRange('zwWidth', $new_settings['zwWidth'], 'int', 0, 2000);
231
+ $new_settings['zwHeight'] = $this->validateRange('zwHeight', $new_settings['zwHeight'], 'int', 0, 2000);
232
+ $new_settings['zwPadding'] = $this->validateRange('zwPadding', $new_settings['zwPadding'], 'int', 0, 200 );
233
+ $new_settings['zwBorderThickness'] = $this->validateRange('zwBorderThickness', $new_settings['zwBorderThickness'], 'int', 0, 200);
234
+ $new_settings['zwBorderRadius'] = $this->validateRange('zwBorderRadius', $new_settings['zwBorderRadius'], 'int', 0, 500);
235
+ $new_settings['zwShadow'] = $this->validateRange('zwShadow', $new_settings['zwShadow'], 'int', 0, 500);
236
+ $new_settings['zwFade'] = $this->validateRange('zwFade', $new_settings['zwFade'], 'float', 0, 10);
237
+
238
+ return $new_settings;
239
+ }
240
+
241
+ public function validate_general( $post = null) {
242
+ $settings = $this->get_settings();
243
+
244
+ if( $post == null ) {
245
+ return array(
246
+ 'enable_woocommerce' => true,
247
+ 'exchange_thumbnails' => true,
248
+ 'enable_mobile' => false,
249
+ 'woo_cat' => false,
250
+ 'force_woocommerce' => true,
251
+ );
252
+ }
253
+
254
+ if ( ! isset( $post['enable_woocommerce'] ) )
255
+ $post['enable_woocommerce'] = false;
256
+ if ( ! isset( $post['exchange_thumbnails'] ) )
257
+ $post['exchange_thumbnails'] = false;
258
+ if ( ! isset( $post['enable_mobile'] ) )
259
+ $post['enable_mobile'] = false;
260
+ if ( ! isset( $post['woo_cat'] ) )
261
+ $post['woo_cat'] = false;
262
+ if ( ! isset( $post['force_woocommerce'] ) )
263
+ $post['force_woocommerce'] = false;
264
+
265
+ $new_settings = array(
266
+ 'enable_woocommerce' => $this->validateCheckbox('enable_woocommerce', $post['enable_woocommerce']),
267
+ 'exchange_thumbnails' => $this->validateCheckbox('exchange_thumbnails', $post['exchange_thumbnails']),
268
+ 'enable_mobile' => $this->validateCheckbox('enable_mobile', $post['enable_mobile']),
269
+ 'woo_cat' => $this->validateCheckbox('woo_cat', $post['woo_cat']),
270
+ 'force_woocommerce' => $this->validateCheckbox('force_woocommerce', $post['force_woocommerce']),
271
+ );
272
+
273
+ return $new_settings;
274
+ }
275
+
276
+ /**
277
+ * Helper to validate a checkbox
278
+ * @access private
279
+ */
280
+ private function validateCheckbox( $id, $value ) {
281
+ $settings = $this->get_settings();
282
+
283
+ if ( $value == 'on' ) $value = true;
284
+
285
+ if ( !is_bool($value) ) {
286
+ $value = $settings[$id]['value'];
287
+ $this->add_message('info', __('Unrecognized <b>'.$settings[$id]['label'].'</b>. The value was reset to default', 'wp-image-zoooom') );
288
+ } else {
289
+ }
290
+ return $value;
291
+ }
292
+
293
+ /**
294
+ * Helper to validate a color
295
+ * @access private
296
+ */
297
+ private function validateColor( $id, $value ) {
298
+ $settings = $this->get_settings();
299
+
300
+ if ( !preg_match('/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value) ) {
301
+ $value = $settings[$id]['value'];
302
+ $message = __('Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>', 'wp-image-zoooom');
303
+ $message = wp_kses($message, array('b' => array()));
304
+ $message = sprintf($message, $settings[$id]['label'], $settings[$id]['value']);
305
+ $this->add_message('info', $message);
306
+ }
307
+ return $value;
308
+ }
309
+
310
+ /**
311
+ * Helper to validate the value out of a set of values
312
+ * @access private
313
+ */
314
+ private function validateValuesSet( $id, $value ) {
315
+ $settings = $this->get_settings();
316
+
317
+ if ( !array_key_exists($value, $settings[$id]['values']) ) {
318
+ $value = $settings[$id]['value'];
319
+ $message = __('Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>', 'wp-image-zoooom');
320
+ $message = wp_kses($message, array('b' => array()));
321
+ $message = sprintf($message, $settings[$id]['label'], $settings[$id]['value']);
322
+ $this->add_message('info', $message);
323
+ }
324
+ return $value;
325
+ }
326
+
327
+ /**
328
+ * Helper to validate an integer of a float
329
+ * @access private
330
+ */
331
+ private function validateRange( $id, $value, $type, $min, $max ) {
332
+ $settings = $this->get_settings();
333
+
334
+ if ( $type == 'int' ) $new_value = (int)$value;
335
+ if ( $type == 'float' ) $new_value = (float)$value;
336
+
337
+ if ( !is_numeric($value) || $new_value < $min || $new_value > $max ) {
338
+ $new_value = $settings[$id]['value'];
339
+ $message = __('<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>%4$s</b>', 'wp-image-zoooom');
340
+ $message = wp_kses($message, array('b' => array()));
341
+ $message = sprintf($message, $settings[$id]['label'], $settings[$id]['value']);
342
+ $this->add_message('info', $message);
343
+ }
344
+ return $new_value;
345
+ }
346
+
347
+
348
+ /**
349
+ * Add a message to the $this->messages array
350
+ * @type accepted types: success, error, info, block
351
+ * @access private
352
+ */
353
+ private function add_message( $type = 'success', $text ) {
354
+ global $comment;
355
+ $messages = $this->messages;
356
+ $messages[] = array('type' => $type, 'text' => $text);
357
+ $comment[] = array('type' => $type, 'text' => $text);
358
+ $this->messages = $messages;
359
+ }
360
+
361
+ /**
362
+ * Output the form messages
363
+ * @access public
364
+ */
365
+ public function show_messages() {
366
+ global $comment;
367
+ if ( sizeof( $comment ) == 0 ) return;
368
+ $output = '';
369
+ foreach ( $comment as $message ) {
370
+ $output .= '<div class="alert alert-'.$message['type'].'">
371
+ <button type="button" class="close" data-dismiss="alert">&times;</button>
372
+ '. $message['text'] .'</div>';
373
+ }
374
+ return $output;
375
+ }
376
+
377
+
378
+ /**
379
+ * Add a button to the TinyMCE toolbar
380
+ * @access public
381
+ */
382
+ function iz_add_tinymce_button() {
383
+ global $typenow;
384
+
385
+ if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) {
386
+ return;
387
+ }
388
+
389
+ $allowed_types = array( 'post', 'page' );
390
+
391
+ if ( defined('LEARNDASH_VERSION') ) {
392
+ $learndash_types = array( 'sfwd-courses', 'sfwd-lessons', 'sfwd-topic', 'sfwd-quiz', 'sfwd-certificates', 'sfwd-assignment');
393
+ $allowed_types = array_merge( $allowed_types, $learndash_types );
394
+
395
+ }
396
+ /*
397
+ if( ! in_array( $typenow, $allowed_types ) )
398
+ return;
399
+ */
400
+
401
+ if ( isset( $_GET['page'] ) && $_GET['page'] == 'wplister-templates' )
402
+ return;
403
+
404
+ if ( get_user_option('rich_editing') != 'true')
405
+ return;
406
+
407
+ add_filter('mce_external_plugins', array( $this, 'iz_add_tinymce_plugin' ) );
408
+ add_filter('mce_buttons', array( $this, 'iz_register_tinymce_button' ) );
409
+ }
410
+
411
+ /**
412
+ * Register the plugin with the TinyMCE plugins manager
413
+ * @access public
414
+ */
415
+ function iz_add_tinymce_plugin($plugin_array) {
416
+ $plugin_array['image_zoom_button'] = IMAGE_ZOOM_URL . 'assets/js/tinyMCE-button.js';
417
+ return $plugin_array;
418
+ }
419
+
420
+ /**
421
+ * Register the button with the TinyMCE manager
422
+ */
423
+ function iz_register_tinymce_button($buttons) {
424
+ array_push($buttons, 'image_zoom_button');
425
+ return $buttons;
426
+ }
427
+
428
+
429
+ }
430
+
431
+
432
+ return new ImageZoooom_Admin();
includes/image-zoom-forms-helper.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class ImageZoooom_FormsHelper {
4
+
5
+ public $label_class = 'col-sm-5 control-label';
6
+
7
+ public function input( $type, $settings = array() ) {
8
+ if ( !isset($settings['label'] )) return;
9
+ if ( !isset($settings['name'] )) return;
10
+ $allowed_types = array( 'radio', 'input_text', 'buttons', 'input_color', 'checkbox' );
11
+
12
+ if ( ! in_array( $type, $allowed_types ) ) {
13
+ return;
14
+ }
15
+ $this->form_group_before( $settings, $type );
16
+ call_user_func( array($this, $type), $settings );
17
+ $this->form_group_after( $settings );
18
+ }
19
+
20
+ function form_group_before( $args = array(), $type ) {
21
+ $disabled = ( isset($args['pro']) && $args['pro']) ? true : false;
22
+
23
+ $output = "\t\t" . '<div class="form-group';
24
+ if ( $type == 'radio' || $type == 'buttons' ) {
25
+ $output .= ($disabled) ? ' disabled' : '';
26
+ } else {
27
+ $output .= ($disabled) ? ' disabled-short' : '';
28
+ }
29
+ $output .= '">' . PHP_EOL;
30
+
31
+ $output .= "\t\t" . '<label class="'. $this->label_class .'">'. $args['label'] . PHP_EOL;
32
+ if ( $disabled ) {
33
+ $output .= "\t\t" . '<img src="'.IMAGE_ZOOM_URL.'assets/images/question_mark.svg" />' . PHP_EOL;
34
+ }
35
+ if ( isset($args['description']) && !$disabled ) {
36
+ $output .= "\t\t" . $this->tooltip( $args['description'] );
37
+ }
38
+ $output .= "\t\t" . '</label>' . PHP_EOL;
39
+
40
+ echo $output;
41
+ }
42
+
43
+ function form_group_after( $args = array() ) {
44
+ echo "\t\t" . '</div>' . PHP_EOL;
45
+ }
46
+
47
+ public function radio($args = array()) {
48
+ if ( !isset($args['values'] ) || count($args['values']) == 0 ) return;
49
+ if ( !isset($args['active'] ) ) $args['active'] = '';
50
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
51
+ ?>
52
+ <?php foreach ($args['values'] as $_id => $_label) : ?>
53
+ <div class="radio"><label>
54
+ <input type="radio" name="<?php echo $args['name'] ?>" id="<?php echo $_id ?>" value="<?php echo $_id ?>" <?php if ($_id == $args['active']) echo 'checked=""'; ?> <?php echo $disabled; ?>>
55
+ <?php echo $_label ?>
56
+ </label></div>
57
+ <?php endforeach; ?>
58
+ <?php
59
+ }
60
+
61
+ public function input_text( $args = array() ) {
62
+ if ( ! isset($args['value'] ) ) $args['value'] = '';
63
+ if ( ! isset($args['description'] ) ) $args['description'] = '';
64
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
65
+ ?>
66
+ <?php if (isset($args['post_input'])) : ?>
67
+ <div class="input-group">
68
+ <?php else : ?>
69
+ <div class="input-group">
70
+ <?php endif; ?>
71
+ <input type="text" class="form-control" id="<?php echo $args['name']?>" name="<?php echo $args['name'] ?>" value="<?php echo $args['value'] ?>" <?php echo $disabled; ?> />
72
+ <?php if (isset($args['post_input'])) : ?><span class="input-group-addon"><?php echo $args['post_input'] ?></span>
73
+ <?php endif; ?>
74
+ </div>
75
+ <?php
76
+ }
77
+
78
+
79
+ public function input_color( $args = array() ) {
80
+ if ( ! isset($args['value'] ) ) $args['value'] = '';
81
+ ?>
82
+ <div class="input-group">
83
+ <input type="color" class="form-control" id="<?php echo $args['name'] ?>" name="<?php echo $args['name'] ?>" value="<?php echo $args['value'] ?>">
84
+ <span class="input-group-addon" id="color-text-color-hex"><?php echo $args['value'] ?></span>
85
+ </div>
86
+
87
+ <?php
88
+ }
89
+
90
+ public function checkbox( $args = array() ) {
91
+ if ( ! isset($args['value'] ) ) $args['value'] = false;
92
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
93
+ ?>
94
+ <div class="input-group input-group-checkbox">
95
+ <label>
96
+ <input type="checkbox" id="<?php echo $args['name'] ?>" name="<?php echo $args['name'] ?>" <?php echo ($args['value'] == true) ? 'checked=""' : '' ?> <?php $disabled; ?>/>
97
+ </label>
98
+ </div>
99
+ <?php
100
+ }
101
+
102
+ public function buttons( $args = array() ) {
103
+ if ( ! isset($args['values'] ) || count($args['values']) == 0 ) return;
104
+ if ( ! isset($args['value'] ) ) $args['value'] = '';
105
+ if ( ! isset($args['buttons'] ) ) $args['buttons'] = 'image';
106
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
107
+ ?>
108
+ <div class="col-sm-7">
109
+ <div class="btn-group btn-group-no-margin" data-toggle="buttons" id="btn-group-style-circle">
110
+ <?php foreach( $args['values'] as $_id => $_value ) : ?>
111
+ <?php $toggle = ( ! empty($_value[1]) ) ? ' data-toggle="tooltip" data-placement="top" title="'.$_value[1].'" data-original-title="' . $_value[1] . '"' : ''; ?>
112
+ <label class="btn btn-default<?php echo ($args['value'] == $_id) ? ' active' : '' ?> ">
113
+ <input type="radio" name="<?php echo $args['name'] ?>" id="<?php echo $_id ?>" value="<?php echo $_id ?>" <?php echo ($args['value'] == $_id) ? 'checked' : '' ?> <?php echo $disabled; ?> />
114
+ <div class="icon-in-label ndd-spot-icon icon-style-1" <?php echo $toggle; ?>>
115
+ <div class="ndd-icon-main-element">
116
+ <?php if($args['buttons'] == 'image') : ?>
117
+ <img src="<?php echo IMAGE_ZOOM_URL.'assets/' . $_value[0] ?>"<?php echo $toggle; ?> />
118
+ <?php else : ?>
119
+ <i class="<?php echo $_value[0]; ?>"></i>
120
+ <?php endif; ?>
121
+ </div>
122
+ </div>
123
+ </label>
124
+ <?php endforeach; ?>
125
+ </div>
126
+ </div>
127
+ <?php
128
+ }
129
+
130
+ public function tooltip( $description = '' ) {
131
+ if ( empty($description) ) return '';
132
+ return '<img src="'.IMAGE_ZOOM_URL.'assets/images/question_mark.svg" data-toggle="tooltip" data-placement="top" title="" data-original-title="'.$description.'" />';
133
+ }
134
+
135
+ }
136
+
137
+ ?>
includes/image-zoom-notices.php ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ /**
8
+ * ImageZoooom_Notices
9
+ */
10
+ class ImageZoooom_Notices {
11
+
12
+ var $main = '';
13
+ var $activation_time = '';
14
+ var $version = '';
15
+ var $dismiss_notice = '';
16
+ var $expiration_days = 3;
17
+
18
+ /**
19
+ * Constructor
20
+ */
21
+ public function __construct() {
22
+
23
+ $this->main = new ImageZoooom();
24
+
25
+ $this->set_variables();
26
+
27
+ if ( $this->dismiss_notice == 1 ) {
28
+ return;
29
+ }
30
+
31
+ add_action( 'admin_notices', array( $this, 'admin_notices' ) );
32
+ add_action( 'wp_ajax_zoooom_notice_dismiss', array( $this, 'notice_dismiss' ) );
33
+ }
34
+
35
+ /**
36
+ * Hooked from 'admin_notices'
37
+ */
38
+ public function admin_notices() {
39
+
40
+ if ( ! $notice = $this->choose_notice() )
41
+ return;
42
+
43
+ $message = $this->get_message( $notice );
44
+
45
+ $this->print_message( $notice, $message );
46
+
47
+ }
48
+
49
+ /**
50
+ * Get the options from the database or set them on install or upgrade
51
+ */
52
+ public function set_variables() {
53
+ $now = time();
54
+
55
+ $this->activation_time = get_option( 'zoooom_activation_time', '' );
56
+ $this->version = get_option( 'zoooom_version', '' );
57
+ $this->dismiss_notice = get_option( 'zoooom_dismiss_notice', false );
58
+
59
+ if ( empty( $this->activation_time ) || version_compare( $this->version, $this->main->version, '<' ) ) {
60
+ $this->activation_time = $now;
61
+ update_option( 'zoooom_activation_time', $now );
62
+ update_option( 'zoooom_version', $this->main->version );
63
+ update_option( 'zoooom_dismiss_notice', false );
64
+ }
65
+
66
+ }
67
+
68
+ /**
69
+ * Choose which notice to be shown
70
+ */
71
+ public function choose_notice() {
72
+ $now = time();
73
+
74
+ $days_passed = ceil( ( $now - $this->activation_time ) / 86400 );
75
+
76
+ switch ( $days_passed ) {
77
+ case 1 : return '1_day';
78
+ case 2 : return '2_day';
79
+ case 3 : return '3_day';
80
+ case 4 :
81
+ case 5 :
82
+ case 6 :
83
+ case 7 : return '7_day';
84
+ case 8 :
85
+ case 9 :
86
+ case 10 :
87
+ case 11 :
88
+ case 12 : return '12_day';
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Get the text of the message
94
+ */
95
+ public function get_message( $notice ) {
96
+
97
+ $message = '';
98
+ $percentage = '40';
99
+
100
+ $expiration_date = $this->activation_time + ( $this->expiration_days * 86400 );
101
+ $expiration_date = date( get_option( 'date_format') , $expiration_date );
102
+
103
+
104
+ if ( $notice == '12_days' ) {
105
+ $link = 'https://www.silkypress.com/wp-image-zoooom-pro-offer/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
106
+ } else {
107
+ $link = 'https://www.silkypress.com/wp-image-zoooom-pro-special-offer/?a=' . $this->convert_numbers_letters( $this->activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
108
+ }
109
+
110
+ $lower_part = sprintf( '<div style="margin-top: 7px;"><a href="%s" target="_blank">%s</a> | <a href="#" class="dismiss_notice" target="_parent">%s</a></div>', $link, 'Get WP Image Zoooom PRO', 'Dismiss this notice' );
111
+
112
+ switch ( $notice ) {
113
+ case '1_day' :
114
+ $message = '<div><b>Limited offer ending on '. $expiration_date .'</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
115
+ break;
116
+
117
+ case '2_day' :
118
+ $message = '<div><b>Limited offer ending in 1 day (on '. $expiration_date .')</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
119
+ break;
120
+
121
+ case '3_day' :
122
+ $message = '<div><b>Limited offer ending today</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
123
+ break;
124
+
125
+ case '7_day' :
126
+ $message = '';
127
+ break;
128
+
129
+ case '12_day' :
130
+ $message = '<div><b>Special Offer</b>: 30% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
131
+ break;
132
+ }
133
+
134
+ return $message;
135
+ }
136
+
137
+
138
+
139
+ /**
140
+ * Print the message
141
+ */
142
+ public function print_message( $option_name = '', $message = '' ) {
143
+ if ( empty( $message ) || empty( $option_name ) )
144
+ return;
145
+
146
+ ?>
147
+ <style type="text/css">
148
+ .zoooom_note{ color: #bc1117; }
149
+ #zoooom_notice { display: block; padding: }
150
+ #zoooom_notice b { color: #bc1117; }
151
+ #zoooom_notice a { text-decoration: none; font-weight: bold; }
152
+ #zoooom_notice a.dismiss_notice { font-weight: normal; }
153
+ </style>
154
+
155
+ <script type='text/javascript'>
156
+ jQuery(function($){
157
+ $(document).on( 'click', '.zoooom_notice .dismiss_notice', function() {
158
+
159
+ var data = {
160
+ action: 'zoooom_notice_dismiss',
161
+ option: '<?php echo $option_name; ?>'
162
+ };
163
+ $.post(ajaxurl, data, function(response ) {
164
+ $('#zoooom_notice').fadeOut('slow');
165
+ });
166
+ });
167
+ });
168
+ </script>
169
+
170
+ <div id="zoooom_notice" class="updated notice zoooom_notice is-dismissible">
171
+ <p><?php echo $message ?></p>
172
+ <button type="button" class="notice-dismiss">
173
+ <span class="screen-reader-text"><?php _e('Dismiss this notice'); ?></span>
174
+ </button>
175
+ </div>
176
+ <?php
177
+
178
+ }
179
+
180
+ function convert_numbers_letters( $text, $from = 'numbers' ) {
181
+ $alphabet = str_split('abcdefghij');
182
+ $numbers = str_split('0123456789');
183
+
184
+ if ( $from == 'numbers' ) {
185
+ return str_replace( $numbers, $alphabet, $text );
186
+ } else {
187
+ return str_replace( $alphabet, $numbers, $text );
188
+ }
189
+ }
190
+
191
+ /**
192
+ * Ajax response for `notice_dismiss` action
193
+ */
194
+ function notice_dismiss() {
195
+
196
+ update_option( 'zoooom_dismiss_notice', 1 );
197
+
198
+ wp_die();
199
+ }
200
+ }
201
+
202
+
203
+ return new ImageZoooom_Notices();
includes/image-zoom-warnings.php ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ /**
8
+ * ImageZoooom_Warnings
9
+ */
10
+ class ImageZoooom_Warnings {
11
+
12
+ /**
13
+ * Constructor
14
+ */
15
+ public function __construct() {
16
+
17
+ add_action( 'wp_ajax_iz_dismiss', array( $this, 'notice_dismiss' ) );
18
+
19
+ if ( ! function_exists( 'is_plugin_active' ) ) {
20
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
21
+ }
22
+
23
+ if ( isset( $_SERVER ) && isset( $_SERVER['REQUEST_URI'] ) ) {
24
+ if ( strpos( $_SERVER['REQUEST_URI'], 'zoooom_settings' ) === false )
25
+ return;
26
+ }
27
+
28
+ $this->check_jetpack();
29
+ $this->check_avada();
30
+ $this->check_shopkeeper();
31
+ $this->check_bwf_minify();
32
+ }
33
+
34
+ /**
35
+ * Warning about BWF settings
36
+ */
37
+ function check_bwf_minify() {
38
+
39
+ if ( ! is_plugin_active( 'bwp-minify/bwp-minify.php' ) ) return false;
40
+
41
+ $option = get_option( 'iz_dismiss_bwp_minify', '' );
42
+
43
+ if ( !empty( $option ) ) {
44
+ return;
45
+ }
46
+
47
+ add_action( 'admin_notices', array( $this, 'check_bwf_notice' ) );
48
+
49
+ }
50
+
51
+ /**
52
+ * Show a warning about the BWF Minify Settings
53
+ */
54
+ function check_bwf_notice() {
55
+ $id = 'iz_dismiss_bwp_minify';
56
+ $class = 'notice notice-warning is-dismissible';
57
+ $url = 'https://www.silkypress.com/wp-content/uploads/2016/09/image-zoom-bwp.png';
58
+ $message = sprintf(__( '<b>If the zoom does not show up</b> on your website, it could be because you need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts to NOT minify” option in the BWP Minify settings, as shown in <a href="%1$s" target="_blank">this screenshot</a>.', 'wp-image-zoooom' ), $url);;
59
+
60
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
61
+
62
+ $this->dismiss_js( $id );
63
+
64
+ }
65
+
66
+
67
+
68
+
69
+
70
+ /**
71
+ * Check if the Avada theme is active
72
+ */
73
+ function check_avada() {
74
+ if ( get_template() != 'Avada' ) return false;
75
+
76
+
77
+ if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) return false;
78
+
79
+ $option = get_option( 'iz_dismiss_avada', '' );
80
+
81
+ if ( !empty( $option ) ) {
82
+ return;
83
+ }
84
+
85
+ add_action( 'admin_notices', array( $this, 'check_avada_notice' ) );
86
+
87
+ }
88
+
89
+
90
+
91
+ /**
92
+ * Check if for the Shopkeeper theme
93
+ */
94
+ function check_shopkeeper() {
95
+ if ( get_template() != 'twentysixteen' ) return false;
96
+
97
+
98
+ if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) return false;
99
+
100
+ $option = get_option( 'iz_dismiss_shopkeeper', '' );
101
+
102
+ if ( !empty( $option ) ) {
103
+ return;
104
+ }
105
+
106
+ add_action( 'admin_notices', array( $this, 'check_shopkeeper_notice' ) );
107
+
108
+ }
109
+
110
+
111
+
112
+ /**
113
+ * Show a warning about the Avada theme
114
+ */
115
+ function check_avada_notice() {
116
+ $id = 'iz_dismiss_avada';
117
+ $class = 'notice notice-warning is-dismissible';
118
+ $flexslider_url = 'https://woocommerce.com/flexslider/';
119
+ $pro_url = 'https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
120
+ $message = sprintf( __( 'The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products gallery with the Avada theme. The Avada theme changes entirely the default WooCommerce gallery with the <a href="%1$s" target="_blank">Flexslider gallery</a> and the zoom plugin does not support the Flexslider gallery. Please check the <a href="%2$s" target="_blank">PRO version</a> of the plugin for compatibility with the Flexslider gallery.', 'wp-image-zoooom' ), $flexslider_url, $pro_url );
121
+
122
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
123
+
124
+ $this->dismiss_js( $id );
125
+
126
+ }
127
+
128
+
129
+ /**
130
+ * Show a warning about the Shopkeeper theme
131
+ */
132
+ function check_shopkeeper_notice() {
133
+ $id = 'iz_dismiss_shopkeeper';
134
+ $class = 'notice notice-warning is-dismissible';
135
+ $class = 'updated settings-error notice is-dismissible';
136
+ $pro_url = 'https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
137
+ $message = sprintf( __( 'The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the default WooCommerce gallery with a custom made gallery not supported by the free version of the WP Image Zoom plugin. Please check the <a href="%1$s" target="_blank">PRO version</a> of the plugin for compatibility with the Shopkeeper\'s gallery.', 'wp-image-zoooom' ), $pro_url );
138
+
139
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
140
+
141
+ $this->dismiss_js( $id );
142
+
143
+ }
144
+
145
+
146
+ /**
147
+ * Check if Jetpack Photon module is active
148
+ */
149
+ function check_jetpack() {
150
+ if ( ! defined('JETPACK__VERSION' ) ) {
151
+ return;
152
+ }
153
+
154
+ if ( ! Jetpack::is_module_active( 'photon' ) ) {
155
+ return;
156
+ }
157
+
158
+ $option = get_option( 'iz_dismiss_jetpack', '' );
159
+
160
+ if ( !empty( $option ) ) {
161
+ return;
162
+ }
163
+
164
+ add_action( 'admin_notices', array( $this, 'check_jetpack_notice' ) );
165
+ }
166
+
167
+ /**
168
+ * Show a warning about Jetpack Photon module
169
+ */
170
+ function check_jetpack_notice() {
171
+ $id = 'iz_dismiss_jetpack';
172
+ $class = 'notice notice-warning is-dismissible';
173
+ $message = __( 'WP Image Zoom plugin is not compatible with the <a href="admin.php?page=jetpack">Jetpack Photon</a> module. If you find that the zoom is not working, try to deactivate the Photon module and see if that solves it.', 'wp-image-zoooom' );
174
+
175
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
176
+
177
+ $this->dismiss_js( $id );
178
+
179
+ }
180
+
181
+ /**
182
+ * Allow the dismiss button to remove the notice
183
+ */
184
+ function dismiss_js( $slug ) {
185
+ ?>
186
+ <script type='text/javascript'>
187
+ jQuery(function($){
188
+ $(document).on( 'click', '#<?php echo $slug; ?> .notice-dismiss', function() {
189
+ var data = {
190
+ action: 'iz_dismiss',
191
+ option: '<?php echo $slug; ?>',
192
+ };
193
+ $.post(ajaxurl, data, function(response ) {
194
+ $('#<?php echo $slug; ?>').fadeOut('slow');
195
+ });
196
+ });
197
+ });
198
+ </script>
199
+ <?php
200
+ }
201
+
202
+
203
+ /**
204
+ * Ajax response for `notice_dismiss` action
205
+ */
206
+ function notice_dismiss() {
207
+
208
+ $option = $_POST['option'];
209
+
210
+ update_option( $option, 1 );
211
+
212
+ wp_die();
213
+ }
214
+
215
+ }
216
+
217
+
218
+ return new ImageZoooom_Warnings();
includes/image-zoom.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ if ( ! class_exists( 'ImageZoooom' ) ) :
8
+ /**
9
+ * Main ImageZoooom Class
10
+ *
11
+ * @class ImageZoooom
12
+ */
13
+ final class ImageZoooom {
14
+ public $version = '1.0.0';
15
+ protected static $_instance = null;
16
+
17
+ /**
18
+ * Main ImageZoooom Instance
19
+ *
20
+ * Ensures only one instance of ImageZoooom is loaded or can be loaded
21
+ *
22
+ * @static
23
+ * @return ImageZoooom - Main instance
24
+ */
25
+ public static function instance() {
26
+ if ( is_null( self::$_instance ) ) {
27
+ self::$_instance = new self();
28
+ }
29
+ return self::$_instance;
30
+ }
31
+
32
+ /**
33
+ * Cloning is forbidden.
34
+ */
35
+ public function __clone() {
36
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'zoooom' ), '1.0' );
37
+ }
38
+
39
+ /**
40
+ * Unserializing instances of this class is forbidden.
41
+ */
42
+ public function __wakeup() {
43
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'zoooom' ), '1.0' );
44
+ }
45
+
46
+ /**
47
+ * Image Zoooom Constructor
48
+ * @access public
49
+ * @return ImageZoooom
50
+ */
51
+ public function __construct() {
52
+
53
+ if ( is_admin() ) {
54
+ include_once( 'includes/image-zoom-admin.php' );
55
+ add_action( 'admin_menu', 'add_menu' );
56
+ add_action( 'admin_init', 'register_mysettings' );
57
+ } else {
58
+ include_once( 'includes/image-zoom-page.php' );
59
+ }
60
+ }
61
+
62
+ }
63
+
64
+ endif;
65
+
66
+ /**
67
+ * Returns the main instance of ImageZoooom
68
+ *
69
+ * @return ImageZoooom
70
+ */
71
+ function ImageZoooom() {
72
+ return ImageZoooom::instance();
73
+ }
includes/premium-tooltips.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $message = __('Only available in <a href="%1$s" target="_blank">PRO version</a>', 'wp-image-zoooom');
4
+ $message = wp_kses( $message, array('a' => array('href' => array(), 'target'=> array())));
5
+ $message = sprintf( $message, 'https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner');
6
+
7
+
8
+ ?>
9
+
10
+ <div id="wpfc-premium-tooltip" style="display:none;width: 230px; height: 60px; position: absolute; margin-left: 354px; margin-top: 112px; color: white;">
11
+ <div style="float:left;width:13px;">
12
+ <div style="width: 0px; height: 0px; border-top: 6px solid transparent; border-right: 6px solid #333333; border-bottom: 6px solid transparent; float: right; margin-right: 0px; margin-top: 16px;"></div>
13
+ </div>
14
+ <div style="font-family:sans-serif;font-size:13px;text-align: center; border-radius: 5px; float: left; background-color: rgb(51, 51, 51); color: white; width: 210px; padding: 10px 0px;">
15
+ <label><?php echo $message; ?></label>
16
+ </div>
17
+ </div>
18
+
19
+ <script type="text/javascript">
20
+ jQuery(document).ready(function($){
21
+ $(".form-group.disabled-short").click(function(e){
22
+ if(typeof window.tooltip != "undefined"){
23
+ clearTimeout(window.tooltip);
24
+ }
25
+
26
+ var inputCon = $(e.currentTarget).find(".input-group");
27
+ var left = 30;
28
+
29
+
30
+ $(e.currentTarget).children().each(function(i, child){
31
+ left += $(child).width();
32
+ });
33
+
34
+ var offsetTop = $(e.currentTarget).offset().top - 38;
35
+ offsetTop -= $('h2').offset().top - 52;
36
+
37
+ $("#wpfc-premium-tooltip").css({"margin-left" : left + "px", "margin-top" : offsetTop + "px"});
38
+ $("#wpfc-premium-tooltip").fadeIn( "slow", function() {
39
+ window.tooltip = setTimeout(function(){ $("#wpfc-premium-tooltip").hide(); }, 1000);
40
+ });
41
+ return false;
42
+ });
43
+
44
+ $(".form-group.disabled").click(function(e){
45
+ if(typeof window.tooltip != "undefined"){
46
+ clearTimeout(window.tooltip);
47
+ }
48
+
49
+ var left = $(e.currentTarget).width();
50
+ var offsetTop = $(e.currentTarget).offset().top - 38;
51
+ offsetTop -= $('h2').offset().top - 52;
52
+
53
+ $("#wpfc-premium-tooltip").css({"margin-left" : left + "px", "margin-top" : offsetTop + "px"});
54
+ $("#wpfc-premium-tooltip").fadeIn( "slow", function() {
55
+ window.tooltip = setTimeout(function(){ $("#wpfc-premium-tooltip").hide(); }, 1000);
56
+ });
57
+ return false;
58
+
59
+
60
+ });
61
+ });
62
+ </script>
63
+
includes/right_columns.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $now = time();
4
+
5
+ $zoooom_activation_time = get_option( 'zoooom_activation_time', '' );
6
+ $zoooom_version = get_option( 'zoooom_version', '' );
7
+ $plugin = wp_image_zoooom_settings('plugin');
8
+
9
+ if ( empty( $zoooom_activation_time ) || version_compare( $zoooom_version, $plugin['version'], '<' ) ) {
10
+ $zoooom_activation_time = $now;
11
+ update_option( 'zoooom_activation_time', $now );
12
+ update_option( 'zoooom_version', $plugin['version']);
13
+ }
14
+
15
+
16
+ $show_discount = false;
17
+ if ( $now - 3*86400 < $zoooom_activation_time ) {
18
+ $show_discount = true;
19
+ }
20
+
21
+ $start_date = date('j M', $zoooom_activation_time - 3*86400 );
22
+ $end_date = date('j M', $zoooom_activation_time + 2*86400 );
23
+
24
+
25
+
26
+ function iz_convert_numbers_letters( $text, $from = 'numbers' ) {
27
+ $alphabet = str_split('abcdefghij');
28
+ $numbers = str_split('0123456789');
29
+
30
+ if ( $from == 'numbers' ) {
31
+ return str_replace( $numbers, $alphabet, $text );
32
+ } else {
33
+ return str_replace( $alphabet, $numbers, $text );
34
+ }
35
+ }
36
+
37
+ $offer_link = 'https://www.silkypress.com/wp-image-zoom-plugin/?a=' . iz_convert_numbers_letters( $zoooom_activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
38
+
39
+
40
+ ?>
41
+
42
+
43
+ <div id="right_column_metaboxes">
44
+
45
+ <?php if ( $show_discount ) : ?>
46
+ <div class="panel main_container">
47
+ <div class="container_title">
48
+ <h3><img src="<?php echo site_url(); ?>/wp-content/plugins/wp-image-zoooom/assets/images/icon.svg" /> <?php _e('WP Image Zoooom Pro', 'wp-image-zoooom'); ?></h3>
49
+ </div>
50
+ <div class="metabox-holder discount" style="text-align: center;">
51
+
52
+ <p>Shhh... Can you keep a secret?</p>
53
+
54
+ <p>
55
+ <span style="color: #bc1117; font-size: 24px;">30% OFF</span><br />
56
+ only between <span style="color: #bc1117;"><?php echo $start_date; ?> - <?php echo $end_date; ?></span>.
57
+
58
+ </p>
59
+ <p>Don't tell anyone.</p>
60
+ <p style="text-align: center;">
61
+ <a href="<?php echo $offer_link; ?>" target="_blank" class="button" rel="noreferrer"><?php _e('Upgrade to PRO', 'wp-image-zoooom'); ?></a>
62
+ </p>
63
+ </div>
64
+ </div>
65
+ <?php endif; ?>
66
+
67
+ <?php if ( class_exists('woocommerce') ) : ?>
68
+ <div class="panel main_container">
69
+ <div class="container_title" style="position: relative;">
70
+ <span class="ribbon bottom-left ribbon-danger">
71
+ <small>new</small>
72
+ </span>
73
+ <h3>Elegant Product Gallery with Zoom</h3>
74
+ </div>
75
+ <div class="metabox-holder product-gallery-plugin" style="text-align: center;">
76
+
77
+ <p>If you're looking on replacing entirely the WooCommerce gallery with a very elegant one, then check out this plugin.</p>
78
+
79
+ <p>
80
+ <span style="color: #bc1117;">I know you'll love it.</span>.
81
+ </p>
82
+ <p style="text-align: center;">
83
+ <a href="https://www.silkypress.com/elegant-product-gallery-zoom/" target="_blank" class="button" rel="noreferrer">Ok, let's see it</a>
84
+ </p>
85
+ </div>
86
+ </div>
87
+ <?php endif; ?>
88
+
89
+
90
+ <div class="panel main_container">
91
+ <div class="container_title">
92
+ <h3><?php _e('Like this Plugin?', 'wp-image-zoooom'); ?></h3>
93
+ </div>
94
+ <div class="metabox-holder rating" style="text-align: center;">
95
+ <p><?php _e('Share your opinion with the world on the WordPress.org Plugin Repository.', 'wp-image-zoooom'); ?></p>
96
+ <p><a href="https://wordpress.org/plugins/wp-image-zoooom/" target="_blank" class="button"><?php _e('Rate it on WordPress.org', 'wp-image-zoooom'); ?></a></p>
97
+ </div>
98
+ </div>
99
+ </div>
100
+
101
+ <div style="clear: both"></div>
102
+
includes/settings.php ADDED
@@ -0,0 +1,338 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!function_exists('wp_image_zoooom_settings')) {
4
+ function wp_image_zoooom_settings($type) {
5
+
6
+ $l = 'wp-image-zoooom';
7
+
8
+ $plugin = array(
9
+ 'version' => '1.16',
10
+ 'plugin_name' => 'WP Image Zoom',
11
+ 'plugin_file' => str_replace('includes/settings.php', 'image-zoooom.php', __FILE__),
12
+ 'plugin_server' => 'https://www.silkypress.com',
13
+ 'author' => 'Diana Burduja',
14
+ 'testing' => false,
15
+ );
16
+ if ($type == 'plugin') return $plugin;
17
+
18
+ $settings = array(
19
+ 'lensShape' => array(
20
+ 'label' => __('Lens Shape', $l),
21
+ 'values' => array(
22
+ 'none' => array('icon-lens_shape_none', __('No Lens', $l)),
23
+ 'round' => array('icon-lens_shape_circle', __('Circle Lens', $l)),
24
+ 'square' => array('icon-lens_shape_square', __('Square Lens', $l)),
25
+ 'zoom_window' => array('icon-type_zoom_window', __('With Zoom Window', $l)),
26
+ ),
27
+ 'value' => 'zoom_window',
28
+ 'input_form' => 'buttons',
29
+ 'buttons' => 'i',
30
+ ),
31
+ 'cursorType' => array(
32
+ 'label' => __('Cursor Type', $l),
33
+ 'values' => array(
34
+ 'default' => array('icon-cursor_type_default', __('Default', $l ) ),
35
+ 'pointer' => array('icon-cursor_type_pointer', __('Pointer', $l ) ),
36
+ 'crosshair' => array('icon-cursor_type_crosshair', __('Crosshair', $l ) ),
37
+ 'zoom-in' => array('icon-zoom-in', __('Zoom', $l ) ),
38
+ ),
39
+ 'value' => 'default',
40
+ 'input_form' => 'buttons',
41
+ 'buttons' => 'i',
42
+ ),
43
+ 'zwEasing' => array(
44
+ 'label' => __('Animation Easing Effect', $l ),
45
+ 'value' => 12,
46
+ 'description' => __('A number between 0 and 200 to represent the degree of the Animation Easing Effect', $l ),
47
+ 'input_form' => 'input_text',
48
+ ),
49
+
50
+ 'lensSize' => array(
51
+ 'label' => __('Lens Size', $l ),
52
+ 'post_input' => 'px',
53
+ 'value' => 200,
54
+ 'description' => __('For Circle Lens it means the diameters, for Square Lens it means the width', $l ),
55
+ 'input_form' => 'input_text',
56
+ ),
57
+ 'borderThickness' => array(
58
+ 'label' => __('Border Thickness', $l ),
59
+ 'post_input' => 'px',
60
+ 'value' => 1,
61
+ 'input_form' => 'input_text',
62
+ ),
63
+ 'borderColor' => array(
64
+ 'label' => __('Border Color', $l ),
65
+ 'value' => '#ffffff',
66
+ 'input_form' => 'input_color',
67
+ ),
68
+ 'lensFade' => array(
69
+ 'label' => __('Fade Time', $l ),
70
+ 'post_input' => 'sec',
71
+ 'value' => 1,
72
+ 'description' => __('The amount of time it takes for the Lens to slowly appear or dissapear', $l),
73
+ 'input_form' => 'input_text',
74
+ ),
75
+ 'tint' => array(
76
+ 'label' => __('Tint', $l),
77
+ 'value' => false,
78
+ 'description' => __('A color that will layed on top the of non-magnified image in order to emphasize the lens', $l),
79
+ 'input_form' => 'checkbox',
80
+ ),
81
+ 'tintColor' =>array(
82
+ 'label' => __('Tint Color', $l),
83
+ 'value' => '#ffffff',
84
+ 'input_form' => 'input_color',
85
+ ),
86
+ 'tintOpacity' => array(
87
+ 'label' => __('Tint Opacity', $l),
88
+ 'value' => '0.5',
89
+ 'post_input' => '%',
90
+ 'input_form' => 'input_text',
91
+ ),
92
+ 'zwWidth' => array(
93
+ 'label' => __('Zoom Window Width', $l),
94
+ 'post_input' => 'px',
95
+ 'value' => 400,
96
+ 'input_form' => 'input_text',
97
+ ),
98
+ 'zwHeight' => array(
99
+ 'label' => __('Zoom Window Height', $l),
100
+ 'post_input' => 'px',
101
+ 'value' => 360,
102
+ 'input_form' => 'input_text',
103
+ ),
104
+ 'zwPadding' => array(
105
+ 'label' => __('Distance from the Main Image', $l),
106
+ 'post_input' => 'px',
107
+ 'value' => 10,
108
+ 'input_form' => 'input_text',
109
+ ),
110
+ 'zwBorderThickness' => array(
111
+ 'label' => __('Border Thickness', $l),
112
+ 'post_input' => 'px',
113
+ 'value' => 4,
114
+ 'input_form' => 'input_text',
115
+ ),
116
+ 'zwShadow' => array(
117
+ 'label' => __('Shadow Thickness', $l),
118
+ 'post_input' => 'px',
119
+ 'value' => 4,
120
+ 'input_form' => 'input_text',
121
+ 'description' => __('Use 0px to remove the shadow', $l),
122
+ ),
123
+ 'zwBorderColor' => array(
124
+ 'label' => __('Border Color', $l),
125
+ 'value' => '#888888',
126
+ 'input_form' => 'input_color',
127
+ ),
128
+ 'zwBorderRadius' => array(
129
+ 'label' => __('Rounded Corners', $l),
130
+ 'post_input' => 'px',
131
+ 'value' => 0,
132
+ 'input_form' => 'input_text',
133
+ ),
134
+ 'zwFade' => array(
135
+ 'label' => __('Fade Time', $l),
136
+ 'post_input' => 'sec',
137
+ 'value' => 0,
138
+ 'description' => __('The amount of time it takes for the Zoom Window to slowly appear or disappear', $l),
139
+ 'input_form' => 'input_text',
140
+ ),
141
+ 'enable_woocommerce' => array(
142
+ 'label' => __('Enable the zoom on WooCommerce products', $l),
143
+ 'value' => true,
144
+ 'input_form' => 'checkbox',
145
+ ),
146
+ 'exchange_thumbnails' => array(
147
+ 'label' => __('Exchange the thumbnail with main image on WooCommerce products', $l),
148
+ 'value' => true,
149
+ 'input_form' => 'checkbox',
150
+ 'description' => __('On a WooCommerce gallery, when clicking on a thumbnail, not only the main image will be replaced with the thumbnail\'s image, but also the thumbnail will be replaced with the main image', $l),
151
+ ),
152
+ 'enable_mobile' => array(
153
+ 'label' => __('Enable the zoom on mobile devices', $l),
154
+ 'value' => false,
155
+ 'input_form' => 'checkbox',
156
+ 'description' => __('Tablets are also considered mobile devices'),
157
+ ),
158
+ 'woo_cat' => array(
159
+ 'label' => __('Enable the zoom on WooCommerce category pages', $l),
160
+ 'value' => false,
161
+ 'input_form' => 'checkbox',
162
+ ),
163
+
164
+ 'force_woocommerce' => array(
165
+ 'label' => __('Force it to work on WooCommerce', $l),
166
+ 'value' => true,
167
+ 'input_form' => 'checkbox',
168
+ ),
169
+ );
170
+ if ($type == 'settings') return $settings;
171
+
172
+
173
+ $pro_fields = array(
174
+ 'remove_lightbox_thumbnails' => array(
175
+ 'label' => __('Remove the Lightbox on thumbnail images', $l),
176
+ 'value' => false,
177
+ 'pro' => true,
178
+ 'input_form' => 'checkbox',
179
+ 'description' => __('Some themes implement a Lightbox for WooCommerce galleris that opens on click. Enabling this checkbox will remove the Lightbox on thumbnail images and leave it only on the main image', 'wp-image-zoooom'),
180
+ ),
181
+ 'remove_lightbox' => array(
182
+ 'label' => __('Remove the Lightbox', $l),
183
+ 'value' => false,
184
+ 'pro' => true,
185
+ 'input_form' => 'checkbox',
186
+ 'description' => __('Some themes implement a Lightbox that opens on click on the image. Enabling this checkbox will remove the Lightbox'),
187
+ ),
188
+ 'woo_variations' => array(
189
+ 'label' => __('Enable on WooCommerce variation products', $l),
190
+ 'value' => false,
191
+ 'pro' => true,
192
+ 'input_form' => 'checkbox',
193
+ ),
194
+ 'force_attachments' => array(
195
+ 'label' => __('Enable on attachments pages', $l),
196
+ 'value' => false,
197
+ 'pro' => true,
198
+ 'input_form' => 'checkbox',
199
+ ),
200
+ 'flexslider' => array(
201
+ 'label' => __('FlexSlider container class', $l),
202
+ 'value' => '',
203
+ 'pro' => true,
204
+ 'input_form' => 'input_text',
205
+ ),
206
+ 'enable_fancybox' => array(
207
+ 'label' => __('Enable inside <a href="http://fancyapps.com/fancybox/" target="_blank">fancyBox</a> lightbox', $l),
208
+ 'value' => false,
209
+ 'pro' => true,
210
+ 'input_form' => 'checkbox',
211
+ ),
212
+ 'enable_jetpack_carousel' => array(
213
+ 'label' => __('Enable inside <a href="https://jetpack.com/ support/carousel/" target="_blank">Jetpack Carousel</a> lightbox', $l),
214
+ 'value' => false,
215
+ 'pro' => true,
216
+ 'input_form' => 'checkbox',
217
+ ),
218
+
219
+ 'huge_it_gallery' => array(
220
+ 'label' => __('Huge IT Gallery id', $l),
221
+ 'value' => '',
222
+ 'pro' => true,
223
+ 'input_form' => 'input_text',
224
+ ),
225
+ 'onClick' => array(
226
+ 'label' => __('Enable the zoom on ...', $l),
227
+ 'values' => array(
228
+ 'false' => 'mouse hover',
229
+ 'true' => 'mouse click',
230
+ ),
231
+ 'value' => 'false',
232
+ 'input_form' => 'radio',
233
+ 'pro' => true,
234
+ ),
235
+ 'ratio' => array(
236
+ 'label' => __('Zoom Level', $l),
237
+ 'values' => array(
238
+ 'default' => array( 'icon-zoom_level_default', __('Default', $l) ),
239
+ '1.5' => array( 'icon-zoom_level_15', __('1,5 times', $l) ),
240
+ '2' => array( 'icon-zoom_level_2', __('2 times', $l) ),
241
+ '2.5' => array( 'icon-zoom_level_25', __('2,5 times', $l) ),
242
+ '3' => array( 'icon-zoom_level_3', __('3 times', $l) ),
243
+ ),
244
+ 'value' => 'default',
245
+ 'input_form' => 'buttons',
246
+ 'pro' => true,
247
+ 'buttons' => 'i',
248
+ ),
249
+ 'lensColour' => array(
250
+ 'label' => __('Lens Color', $l ),
251
+ 'value' => '#ffffff',
252
+ 'pro' => true,
253
+ 'input_form' => 'input_color',
254
+ ),
255
+ 'lensOverlay' => array(
256
+ 'label' => __('Show as Grid', $l ),
257
+ 'value' => false,
258
+ 'pro' => true,
259
+ 'input_form' => 'checkbox',
260
+ ),
261
+ 'zwResponsive' => array(
262
+ 'label' => __('Responsive', $l),
263
+ 'input_form' => 'checkbox',
264
+ 'pro' => true,
265
+ 'value' => false,
266
+ ),
267
+ 'zwResponsiveThreshold' => array(
268
+ 'label' => __('Responsive Threshold', $l),
269
+ 'pro' => true,
270
+ 'post_input' => 'px',
271
+ 'value' => '',
272
+ 'input_form' => 'input_text',
273
+ ),
274
+ 'zwPositioning' => array(
275
+ 'label' => __('Positioning', $l),
276
+ 'values' => array(
277
+ 'right_top' => array('icon-type_zoom_window_right_top', __('Right Top', $l)),
278
+ 'right_bottom' => array('icon-type_zoom_window_right_bottom', __('Right Bottom', $l)),
279
+ 'right_center' => array('icon-type_zoom_window_right_center', __('Right Center', $l)),
280
+ 'left_top' => array('icon-type_zoom_window_left_top', __('Left Top', $l)),
281
+ 'left_bottom' => array('icon-type_zoom_window_left_bottom', __('Left Bottom', $l)),
282
+ 'left_center' => array('icon-type_zoom_window_left_center', __('Left Center', $l)),
283
+ ),
284
+ 'pro' => true,
285
+ 'value' => '',
286
+ 'disabled' => true,
287
+ 'input_form' => 'buttons',
288
+ 'buttons' => 'i',
289
+ ),
290
+ 'mousewheelZoom' => array(
291
+ 'label' => __('Mousewheel Zoom', $l),
292
+ 'value' => '',
293
+ 'pro' => true,
294
+ 'input_form' => 'checkbox',
295
+ ),
296
+ 'customText' => array(
297
+ 'label' => __('Text on the image', $l),
298
+ 'value' => __('', $l),
299
+ 'input_form' => 'input_text',
300
+ 'pro' => true,
301
+ ),
302
+ 'customTextSize' => array(
303
+ 'label' => __('Text Size', $l),
304
+ 'post_input' => 'px',
305
+ 'value' => '',
306
+ 'input_form' => 'input_text',
307
+ 'pro' => true,
308
+ ),
309
+ 'customTextColor' => array(
310
+ 'label' => __('Text Color', $l),
311
+ 'value' => '',
312
+ 'input_form' => 'input_color',
313
+ 'pro' => true,
314
+ ),
315
+ 'customTextAlign' => array(
316
+ 'label' => __('Text Align', $l),
317
+ 'values' => array(
318
+ 'top_left' => array('icon-text_align_top_left', __('Top Left', $l ) ),
319
+ 'top_center' => array('icon-text_align_top_center', __('Top Center', $l ) ),
320
+ 'top_right' => array('icon-text_align_top_right', __('Top Right', $l ) ),
321
+ 'bottom_left' => array('icon-text_align_bottom_left', __('Bottom Left', $l ) ),
322
+ 'bottom_center' => array('icon-text_align_bottom_center', __('Bottom Center', $l ) ),
323
+ 'bottom_right' => array('icon-text_align_bottom_right', __('Bottom Right', $l ) ),
324
+ ),
325
+ 'value' => '',
326
+ 'input_form' => 'buttons',
327
+ 'pro' => true,
328
+ 'buttons' => 'i',
329
+ ),
330
+
331
+
332
+ );
333
+ if ($type == 'pro_fields') return $pro_fields;
334
+
335
+ }
336
+ }
337
+
338
+ ?>
languages/wp-image-zoooom-fr_FR.mo ADDED
Binary file
languages/wp-image-zoooom-fr_FR.po ADDED
@@ -0,0 +1,548 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2017 WP Image Zoom
2
+ # This file is distributed under the same license as the WP Image Zoom package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Image Zoom 1.12\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-image-zoooom\n"
7
+ "POT-Creation-Date: 2017-07-10 05:01+0200\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2017-07-10 06:47+0200\n"
12
+ "Language-Team: \n"
13
+ "X-Generator: Poedit 2.0\n"
14
+ "Last-Translator: \n"
15
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
16
+ "Language: fr_FR\n"
17
+
18
+ #: image-zoooom.php:51 image-zoooom.php:58 includes/image-zoom.php:36
19
+ #: includes/image-zoom.php:43
20
+ msgid "Cheatin&#8217; huh?"
21
+ msgstr "Cheatin&#8217; huh?"
22
+
23
+ #: image-zoooom.php:158
24
+ msgid "WP Image Zoooom"
25
+ msgstr "WP Image Zoooom"
26
+
27
+ #: image-zoooom.php:481
28
+ msgid "Settings"
29
+ msgstr "Paramètres"
30
+
31
+ #: includes/image-zoom-admin-general.php:33
32
+ #: includes/image-zoom-admin-template.php:22
33
+ msgid "WP Image Zoom by %1$s"
34
+ msgstr "WP Image Zoom par %1$s"
35
+
36
+ #: includes/image-zoom-admin-general.php:40
37
+ #: includes/image-zoom-admin-template.php:29
38
+ msgid "General Settings"
39
+ msgstr "Paramètres généraux"
40
+
41
+ #: includes/image-zoom-admin-general.php:42
42
+ #: includes/image-zoom-admin-template.php:31
43
+ msgid "Zoom Settings"
44
+ msgstr "Paramètres de Zoom"
45
+
46
+ #: includes/image-zoom-admin-general.php:80
47
+ #: includes/image-zoom-admin-template.php:195
48
+ msgid "Save changes"
49
+ msgstr "Enregistrer les changements"
50
+
51
+ #: includes/image-zoom-admin-template.php:47
52
+ msgid "Step 1"
53
+ msgstr "Étape N°1"
54
+
55
+ #: includes/image-zoom-admin-template.php:47
56
+ msgid "Choose the Lens Shape"
57
+ msgstr "Choisissez la forme de la lentille"
58
+
59
+ #: includes/image-zoom-admin-template.php:72
60
+ msgid "Step 2"
61
+ msgstr "Étape N°2"
62
+
63
+ #: includes/image-zoom-admin-template.php:72
64
+ msgid "Check your configuration changes on the image"
65
+ msgstr "Vérifiez les changements de configuration sur cette image"
66
+
67
+ #: includes/image-zoom-admin-template.php:78
68
+ msgid "Step 3"
69
+ msgstr "Étape N°3"
70
+
71
+ #: includes/image-zoom-admin-template.php:78
72
+ msgid "Make more fine-grained configurations on the zoom"
73
+ msgstr "Affinez la configuration du zoom"
74
+
75
+ #: includes/image-zoom-admin-template.php:82
76
+ msgid "General"
77
+ msgstr "Général"
78
+
79
+ #: includes/image-zoom-admin-template.php:85
80
+ msgid "Lens"
81
+ msgstr "Lentille"
82
+
83
+ #: includes/image-zoom-admin-template.php:88
84
+ msgid "Zoom Window"
85
+ msgstr "Fenètre de Zoom"
86
+
87
+ #: includes/image-zoom-admin-template.php:91
88
+ msgid "Custom Text"
89
+ msgstr "Customisation du texte"
90
+
91
+ #: includes/image-zoom-admin-template.php:192
92
+ msgid "Step 4"
93
+ msgstr "Étape N°4"
94
+
95
+ #: includes/image-zoom-admin-template.php:192
96
+ msgid "Don't forget to save the changes in order to apply them on the website"
97
+ msgstr ""
98
+ "N'oubliez pas de sauvegarder les changements dans chaque onglet pour qu'ils "
99
+ "soient appliqués"
100
+
101
+ #. Plugin Name of the plugin/theme
102
+ #: includes/image-zoom-admin.php:31 includes/image-zoom-admin.php:32
103
+ msgid "WP Image Zoom"
104
+ msgstr "WP Image Zoom"
105
+
106
+ #: includes/image-zoom-admin.php:113 includes/image-zoom-admin.php:130
107
+ msgid "Your settings have been saved."
108
+ msgstr "Vos paramètres ont été sauvegardés."
109
+
110
+ #: includes/image-zoom-admin.php:302 includes/image-zoom-admin.php:319
111
+ msgid "Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>"
112
+ msgstr "Ignoré <b>%1$s</b>. La valeur a été réinitialisé à <b>%2$s</b>"
113
+
114
+ #: includes/image-zoom-admin.php:339
115
+ msgid ""
116
+ "<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>"
117
+ "%4$s</b>"
118
+ msgstr ""
119
+ "<b>%1$s</b> accepte les valeurs entre %2$s and %3$s. Votre valeur a été "
120
+ "réinitialisé à <b>%4$s</b>"
121
+
122
+ #: includes/image-zoom-notices.php:173
123
+ msgid "Dismiss this notice"
124
+ msgstr "Ne tenez pas compte de cet avertissement"
125
+
126
+ #: includes/image-zoom-warnings.php:58
127
+ msgid ""
128
+ "<b>If the zoom does not show up</b> on your website, it could be because you "
129
+ "need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts "
130
+ "to NOT minify” option in the BWP Minify settings, as shown in <a href=\"%1$s"
131
+ "\" target=\"_blank\">this screenshot</a>."
132
+ msgstr ""
133
+ "<b>Si le zoom ne s'affiche pas</b> sur votre site, cela pourrait être dû au "
134
+ "fait que vous devriez ajouter “image_zoooom-init” et “image_zoooom” au "
135
+ "“Scripts to NOT minify” option dans les paramètres de réduction de BWP, "
136
+ "montré dans la capture d'écran <a href=\"%1$s\" target=\"_blank\"></a>."
137
+
138
+ #: includes/image-zoom-warnings.php:120
139
+ msgid ""
140
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
141
+ "gallery with the Avada theme. The Avada theme changes entirely the default "
142
+ "WooCommerce gallery with the <a href=\"%1$s\" target=\"_blank\">Flexslider "
143
+ "gallery</a> and the zoom plugin does not support the Flexslider gallery. "
144
+ "Please check the <a href=\"%2$s\" target=\"_blank\">PRO version</a> of the "
145
+ "plugin for compatibility with the Flexslider gallery."
146
+ msgstr ""
147
+ "Le plugin WP Image Zoom <b>ne fonctionnera pas</b> sur les produits de la "
148
+ "galerie de WooCommerce avec le Thème Avada. Le Thème Avada change "
149
+ "complètement la galerie par défaut de WooCommerce avec la <a href=\"%1$s\" "
150
+ "target=\"_blank\">gallerie Flexslider</a> et WP Image Zoom ne supporte pas "
151
+ "la galerie Flexslider. S'il vous plait vérifier <a href=\"%2$s\" target="
152
+ "\"_blank\"> en version PRO</a> de ce plugin pour obtenir la compatibilité "
153
+ "avec la gallerie Flexslider."
154
+
155
+ #: includes/image-zoom-warnings.php:137
156
+ msgid ""
157
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
158
+ "gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the "
159
+ "default WooCommerce gallery with a custom made gallery not supported by the "
160
+ "free version of the WP Image Zoom plugin. Please check the <a href=\"%1$s\" "
161
+ "target=\"_blank\">PRO version</a> of the plugin for compatibility with the "
162
+ "Shopkeeper's gallery."
163
+ msgstr ""
164
+ "Le plugin WP Image Zoom <b>ne fonctionnera pas</b> sur les produits de la "
165
+ "galerie de WooCommerce avec le Thème Shopkeeper. Le Thème Shopkeeper change "
166
+ "complètement la galerie par défaut de WooCommerce avec une customisation de "
167
+ "la gallerie qui n'est pas supporté par la version gratuite de WP Image Zoom "
168
+ "plugin. S'il vous plait vérifier <a href=\"%2$s\" target=\"_blank\"> en "
169
+ "version PRO</a> de ce plugin pour obtenir la compatibilité avec la gallerie "
170
+ "Shopkeeper."
171
+
172
+ #: includes/image-zoom-warnings.php:173
173
+ msgid ""
174
+ "WP Image Zoom plugin is not compatible with the <a href=\"admin.php?"
175
+ "page=jetpack\">Jetpack Photon</a> module. If you find that the zoom is not "
176
+ "working, try to deactivate the Photon module and see if that solves it."
177
+ msgstr ""
178
+ "Le plugin WP Image Zoom n'est pas compatible avec le module <a href=\"admin."
179
+ "php?page=jetpack\">Jetpack Photon</a>. Si vous constater que le zoom ne "
180
+ "fonctionne pas, essayer de désactiver le module Photon pour voir si cela "
181
+ "peut résoudre le problème."
182
+
183
+ #: includes/premium-tooltips.php:3
184
+ msgid "Only available in <a href=\"%1$s\" target=\"_blank\">PRO version</a>"
185
+ msgstr ""
186
+ "Seulement disponible dans <a href=\"%1$s\" target=\"_blank\">en version PRO</"
187
+ "a>"
188
+
189
+ #: includes/right_columns.php:48
190
+ msgid "WP Image Zoooom Pro"
191
+ msgstr "WP Image Zoooom Pro"
192
+
193
+ #: includes/right_columns.php:61
194
+ msgid "Upgrade to PRO"
195
+ msgstr "Débloquer en PRO"
196
+
197
+ #: includes/right_columns.php:92
198
+ msgid "Like this Plugin?"
199
+ msgstr "Vous aimez ce plugin ?"
200
+
201
+ #: includes/right_columns.php:95
202
+ msgid ""
203
+ "Share your opinion with the world on the WordPress.org Plugin Repository."
204
+ msgstr ""
205
+ "Partagez votre opinion avec le monde sur <a href=\"https://wordpress.org"
206
+ "\">WordPress.org</a>."
207
+
208
+ #: includes/right_columns.php:96
209
+ msgid "Rate it on WordPress.org"
210
+ msgstr "Évaluez nous sur WordPress.org"
211
+
212
+ #: includes/settings.php:18
213
+ msgid "Lens Shape"
214
+ msgstr "Forme de la lentille"
215
+
216
+ #: includes/settings.php:20
217
+ msgid "No Lens"
218
+ msgstr "Pas de lentille"
219
+
220
+ #: includes/settings.php:21
221
+ msgid "Circle Lens"
222
+ msgstr "Cercle sur l'image"
223
+
224
+ #: includes/settings.php:22
225
+ msgid "Square Lens"
226
+ msgstr "Carré sur l'image"
227
+
228
+ #: includes/settings.php:23
229
+ msgid "With Zoom Window"
230
+ msgstr "Fenêtre à coté de l'image"
231
+
232
+ #: includes/settings.php:30
233
+ msgid "Cursor Type"
234
+ msgstr "Type de curseur lors du survol de l'image"
235
+
236
+ #: includes/settings.php:32 includes/settings.php:234
237
+ msgid "Default"
238
+ msgstr "Par défaut"
239
+
240
+ #: includes/settings.php:33
241
+ msgid "Pointer"
242
+ msgstr "Main qui pointe du doight"
243
+
244
+ #: includes/settings.php:34
245
+ msgid "Crosshair"
246
+ msgstr "Croix"
247
+
248
+ #: includes/settings.php:35
249
+ msgid "Zoom"
250
+ msgstr "Zoom"
251
+
252
+ #: includes/settings.php:42
253
+ msgid "Animation Easing Effect"
254
+ msgstr "Faciliter l'effet d'animation"
255
+
256
+ #: includes/settings.php:44
257
+ msgid ""
258
+ "A number between 0 and 200 to represent the degree of the Animation Easing "
259
+ "Effect"
260
+ msgstr "Un nombre entre 0 et 200 pour représenter le degré d'effet d'animation"
261
+
262
+ #: includes/settings.php:49
263
+ msgid "Lens Size"
264
+ msgstr "Taille de la lentille"
265
+
266
+ #: includes/settings.php:52
267
+ msgid ""
268
+ "For Circle Lens it means the diameters, for Square Lens it means the width"
269
+ msgstr ""
270
+ "Pour le cercle sur l'image cela signifie les diamètres, pour le carré sur "
271
+ "l'image cela signifie la largeur"
272
+
273
+ #: includes/settings.php:56 includes/settings.php:109
274
+ msgid "Border Thickness"
275
+ msgstr "Épaisseur de la bordure"
276
+
277
+ #: includes/settings.php:62 includes/settings.php:122
278
+ msgid "Border Color"
279
+ msgstr "Couleur de la bordure"
280
+
281
+ #: includes/settings.php:67 includes/settings.php:133
282
+ msgid "Fade Time"
283
+ msgstr "Temps de fonte"
284
+
285
+ #: includes/settings.php:70
286
+ msgid "The amount of time it takes for the Lens to slowly appear or dissapear"
287
+ msgstr ""
288
+ "Temps nécessaire pour que la lentille apparaisse lentement ou disparaisse"
289
+
290
+ #: includes/settings.php:74
291
+ msgid "Tint"
292
+ msgstr "Teinte"
293
+
294
+ #: includes/settings.php:76
295
+ msgid ""
296
+ "A color that will layed on top the of non-magnified image in order to "
297
+ "emphasize the lens"
298
+ msgstr ""
299
+ "Une couleur sera placée au dessus de l'image originale afin de souligner la "
300
+ "lentille"
301
+
302
+ #: includes/settings.php:80
303
+ msgid "Tint Color"
304
+ msgstr "Couleur de la teinte"
305
+
306
+ #: includes/settings.php:85
307
+ msgid "Tint Opacity"
308
+ msgstr "Opacité de la teinte"
309
+
310
+ #: includes/settings.php:91
311
+ msgid "Zoom Window Width"
312
+ msgstr "Largeur de la fenêtre de zoom"
313
+
314
+ #: includes/settings.php:97
315
+ msgid "Zoom Window Height"
316
+ msgstr "Hauteur de la fenêtre de zoom"
317
+
318
+ #: includes/settings.php:103
319
+ msgid "Distance from the Main Image"
320
+ msgstr "Distance entre la fenêtre de zoom et l'image originale"
321
+
322
+ #: includes/settings.php:115
323
+ msgid "Shadow Thickness"
324
+ msgstr "Épaisseur de l'ombre"
325
+
326
+ #: includes/settings.php:119
327
+ msgid "Use 0px to remove the shadow"
328
+ msgstr "Utiliser 0px pour enlever l'ombre"
329
+
330
+ #: includes/settings.php:127
331
+ msgid "Rounded Corners"
332
+ msgstr "Coins arrondis"
333
+
334
+ #: includes/settings.php:136
335
+ msgid ""
336
+ "The amount of time it takes for the Zoom Window to slowly appear or disappear"
337
+ msgstr "Temps pour que la fenêtre de Zoom apparaisse ou disparaisse lentement"
338
+
339
+ #: includes/settings.php:140
340
+ msgid "Enable the zoom on WooCommerce products"
341
+ msgstr "Activer le zoom sur les produits WooCommerce"
342
+
343
+ #: includes/settings.php:145
344
+ msgid "Exchange the thumbnail with main image on WooCommerce products"
345
+ msgstr ""
346
+ "Échangez la vignette avec l'image principale sur les produits WooCommerce"
347
+
348
+ #: includes/settings.php:148
349
+ msgid ""
350
+ "On a WooCommerce gallery, when clicking on a thumbnail, not only the main "
351
+ "image will be replaced with the thumbnail's image, but also the thumbnail "
352
+ "will be replaced with the main image"
353
+ msgstr ""
354
+ "Sur une galerie WooCommerce, en cliquant sur une vignette, non seulement "
355
+ "l'image principale sera remplacée par l'image miniature, mais aussi la "
356
+ "vignette sera remplacée par l'image principale"
357
+
358
+ #: includes/settings.php:151
359
+ msgid "Enable the zoom on mobile devices"
360
+ msgstr "Activer le zoom sur les appareils mobiles"
361
+
362
+ #: includes/settings.php:154
363
+ msgid "Tablets are also considered mobile devices"
364
+ msgstr "Les tablettes sont également considéres comme des appareils mobiles"
365
+
366
+ #: includes/settings.php:157
367
+ msgid "Enable the zoom on WooCommerce category pages"
368
+ msgstr "Activez le zoom sur les pages de catégorie WooCommerce"
369
+
370
+ #: includes/settings.php:163
371
+ msgid "Force it to work on WooCommerce"
372
+ msgstr "Forcez-le à travailler sur WooCommerce"
373
+
374
+ #: includes/settings.php:173
375
+ msgid "Remove the Lightbox on thumbnail images"
376
+ msgstr "Supprimez la Lightbox sur les images miniatures"
377
+
378
+ #: includes/settings.php:179
379
+ msgid "Remove the Lightbox"
380
+ msgstr "Supprimer la Lightbox"
381
+
382
+ #: includes/settings.php:185
383
+ msgid "Enable on WooCommerce variation products"
384
+ msgstr "Activer sur WooCommerce la variation des produits"
385
+
386
+ #: includes/settings.php:191
387
+ msgid "Enable on attachments pages"
388
+ msgstr "Activer sur les pages attachées"
389
+
390
+ #: includes/settings.php:197
391
+ msgid "FlexSlider container class"
392
+ msgstr "Classe de conteneur FlexSlider"
393
+
394
+ #: includes/settings.php:203
395
+ msgid ""
396
+ "Enable inside <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
397
+ "\">fancyBox</a> lightbox"
398
+ msgstr ""
399
+ "Activer <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
400
+ "\">fancyBox</a> à l'intérieur de la lightbox"
401
+
402
+ #: includes/settings.php:209
403
+ msgid ""
404
+ "Enable inside <a href=\"https://jetpack.com/ support/carousel/\" target="
405
+ "\"_blank\">Jetpack Carousel</a> lightbox"
406
+ msgstr ""
407
+ "Activer <a href=\"https://jetpack.com/ support/carousel/\" target=\"_blank"
408
+ "\">Jetpack Carousel</a> à l'intérieur de la lightbox"
409
+
410
+ #: includes/settings.php:216
411
+ msgid "Huge IT Gallery id"
412
+ msgstr "Énorme IT Gallery id"
413
+
414
+ #: includes/settings.php:222
415
+ msgid "Enable the zoom on ..."
416
+ msgstr "Activer le zoom sur ..."
417
+
418
+ #: includes/settings.php:232
419
+ msgid "Zoom Level"
420
+ msgstr "Niveau de zoom"
421
+
422
+ #: includes/settings.php:235
423
+ msgid "1,5 times"
424
+ msgstr "X 1,5 fois"
425
+
426
+ #: includes/settings.php:236
427
+ msgid "2 times"
428
+ msgstr "X 2 fois"
429
+
430
+ #: includes/settings.php:237
431
+ msgid "2,5 times"
432
+ msgstr "X 2,5 fois"
433
+
434
+ #: includes/settings.php:238
435
+ msgid "3 times"
436
+ msgstr "X 3 fois"
437
+
438
+ #: includes/settings.php:246
439
+ msgid "Lens Color"
440
+ msgstr "X 3 fois"
441
+
442
+ #: includes/settings.php:252
443
+ msgid "Show as Grid"
444
+ msgstr "Afficher comme une grille"
445
+
446
+ #: includes/settings.php:258
447
+ msgid "Responsive"
448
+ msgstr ""
449
+ "Responsive (adaptatif sur tout les supports, mobiles, tablettes, site "
450
+ "Internet, etc)"
451
+
452
+ #: includes/settings.php:264
453
+ msgid "Responsive Threshold"
454
+ msgstr ""
455
+ "Seuil adaptatif sur tout les supports, mobiles, tablettes, site Internet, etc"
456
+
457
+ #: includes/settings.php:271
458
+ msgid "Positioning"
459
+ msgstr "Positionnement"
460
+
461
+ #: includes/settings.php:273
462
+ msgid "Right Top"
463
+ msgstr "En haut à droite"
464
+
465
+ #: includes/settings.php:274
466
+ msgid "Right Bottom"
467
+ msgstr "Bouton à droite"
468
+
469
+ #: includes/settings.php:275
470
+ msgid "Right Center"
471
+ msgstr "Centrer à droite"
472
+
473
+ #: includes/settings.php:276
474
+ msgid "Left Top"
475
+ msgstr "En haut à gauche"
476
+
477
+ #: includes/settings.php:277
478
+ msgid "Left Bottom"
479
+ msgstr "Bouton à gauche"
480
+
481
+ #: includes/settings.php:278
482
+ msgid "Left Center"
483
+ msgstr "Centrer à gauche"
484
+
485
+ #: includes/settings.php:287
486
+ msgid "Mousewheel Zoom"
487
+ msgstr "Zoom avec la roulette de la souris"
488
+
489
+ #: includes/settings.php:293
490
+ msgid "Text on the image"
491
+ msgstr "Texte sur l'image"
492
+
493
+ #: includes/settings.php:299
494
+ msgid "Text Size"
495
+ msgstr "Taille du texte"
496
+
497
+ #: includes/settings.php:306
498
+ msgid "Text Color"
499
+ msgstr "Couleur du texte"
500
+
501
+ #: includes/settings.php:312
502
+ msgid "Text Align"
503
+ msgstr "Alignement du texte"
504
+
505
+ #: includes/settings.php:314
506
+ msgid "Top Left"
507
+ msgstr "En haut à gauche"
508
+
509
+ #: includes/settings.php:315
510
+ msgid "Top Center"
511
+ msgstr "En haut au centre"
512
+
513
+ #: includes/settings.php:316
514
+ msgid "Top Right"
515
+ msgstr "En haut à droite"
516
+
517
+ #: includes/settings.php:317
518
+ msgid "Bottom Left"
519
+ msgstr "Bouton à gauche"
520
+
521
+ #: includes/settings.php:318
522
+ msgid "Bottom Center"
523
+ msgstr "Bouton au centre"
524
+
525
+ #: includes/settings.php:319
526
+ msgid "Bottom Right"
527
+ msgstr "Bouton à droite"
528
+
529
+ #. Plugin URI of the plugin/theme
530
+ msgid "https://wordpress.org/plugins/wp-image-zoooom/"
531
+ msgstr "https://wordpress.org/plugins/wp-image-zoooom/"
532
+
533
+ #. Description of the plugin/theme
534
+ msgid ""
535
+ "Add zoom effect over the an image, whether it is an image in a post/page or "
536
+ "the featured image of a product in a WooCommerce shop"
537
+ msgstr ""
538
+ "Ajouter un effet de zoom sur une image, qu'il s'agisse d'une image dans un "
539
+ "article ou une page ou sur l'image en vedette d'un produit de vente en ligne "
540
+ "dans WooCommerce"
541
+
542
+ #. Author of the plugin/theme
543
+ msgid "SilkyPress"
544
+ msgstr "SilkyPress"
545
+
546
+ #. Author URI of the plugin/theme
547
+ msgid "https://www.silkypress.com"
548
+ msgstr "https://www.silkypress.com"
languages/wp-image-zoooom-ro_RO.mo ADDED
Binary file
languages/wp-image-zoooom-ro_RO.po ADDED
@@ -0,0 +1,545 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2017 WP Image Zoom
2
+ # This file is distributed under the same license as the WP Image Zoom package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Image Zoom 1.4\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-image-zoooom\n"
7
+ "POT-Creation-Date: 2017-07-09 12:33:44+00:00\n"
8
+ "PO-Revision-Date: 2017-07-20 10:52+0100\n"
9
+ "Last-Translator: Diana Burduja <diana@wootips.com>\n"
10
+ "Language-Team: \n"
11
+ "Language: ro\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 1.6.10\n"
16
+ "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
17
+ "2:1));\n"
18
+
19
+ #: image-zoooom.php:51 image-zoooom.php:58 includes/image-zoom.php:36
20
+ #: includes/image-zoom.php:43
21
+ msgid "Cheatin&#8217; huh?"
22
+ msgstr "Trisam?"
23
+
24
+ #: image-zoooom.php:158
25
+ msgid "WP Image Zoooom"
26
+ msgstr "WP Image Zoooom"
27
+
28
+ #: image-zoooom.php:481
29
+ msgid "Settings"
30
+ msgstr "Setari"
31
+
32
+ #: includes/image-zoom-admin-general.php:33
33
+ #: includes/image-zoom-admin-template.php:22
34
+ msgid "WP Image Zoom by %1$s"
35
+ msgstr "WP Image Zoom de %1$s"
36
+
37
+ #: includes/image-zoom-admin-general.php:40
38
+ #: includes/image-zoom-admin-template.php:29
39
+ msgid "General Settings"
40
+ msgstr "Setari generale"
41
+
42
+ #: includes/image-zoom-admin-general.php:42
43
+ #: includes/image-zoom-admin-template.php:31
44
+ msgid "Zoom Settings"
45
+ msgstr "Setari zoom"
46
+
47
+ #: includes/image-zoom-admin-general.php:80
48
+ #: includes/image-zoom-admin-template.php:195
49
+ msgid "Save changes"
50
+ msgstr "Salveaza"
51
+
52
+ #: includes/image-zoom-admin-template.php:47
53
+ msgid "Step 1"
54
+ msgstr "Pasul 1"
55
+
56
+ #: includes/image-zoom-admin-template.php:47
57
+ msgid "Choose the Lens Shape"
58
+ msgstr "Alege forma lentilei"
59
+
60
+ #: includes/image-zoom-admin-template.php:72
61
+ msgid "Step 2"
62
+ msgstr "Pasul 2"
63
+
64
+ #: includes/image-zoom-admin-template.php:72
65
+ msgid "Check your configuration changes on the image"
66
+ msgstr "Verifica pe image schimbarile de configurare"
67
+
68
+ #: includes/image-zoom-admin-template.php:78
69
+ msgid "Step 3"
70
+ msgstr "Pasul 3"
71
+
72
+ #: includes/image-zoom-admin-template.php:78
73
+ msgid "Make more fine-grained configurations on the zoom"
74
+ msgstr "Configureaza zoom-ul in detaliu"
75
+
76
+ #: includes/image-zoom-admin-template.php:82
77
+ msgid "General"
78
+ msgstr "General"
79
+
80
+ #: includes/image-zoom-admin-template.php:85
81
+ msgid "Lens"
82
+ msgstr "Lentila"
83
+
84
+ #: includes/image-zoom-admin-template.php:88
85
+ msgid "Zoom Window"
86
+ msgstr "Fereastra zoom"
87
+
88
+ #: includes/image-zoom-admin-template.php:91
89
+ msgid "Custom Text"
90
+ msgstr "Text personalizat"
91
+
92
+ #: includes/image-zoom-admin-template.php:192
93
+ msgid "Step 4"
94
+ msgstr "Pasul 4"
95
+
96
+ #: includes/image-zoom-admin-template.php:192
97
+ msgid "Don't forget to save the changes in order to apply them on the website"
98
+ msgstr "Nu uita sa salvezi schimbarile pentru a fi aplicate pe site"
99
+
100
+ #. Plugin Name of the plugin/theme
101
+ #: includes/image-zoom-admin.php:31 includes/image-zoom-admin.php:32
102
+ msgid "WP Image Zoom"
103
+ msgstr "WP Image Zoom"
104
+
105
+ #: includes/image-zoom-admin.php:113 includes/image-zoom-admin.php:130
106
+ msgid "Your settings have been saved."
107
+ msgstr "Setarile au fost salvate."
108
+
109
+ #: includes/image-zoom-admin.php:302 includes/image-zoom-admin.php:319
110
+ msgid "Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>"
111
+ msgstr "Valoarea <b>%1$s</b> nu e acceptabila. A fost resetata la <b>%2$s</b>."
112
+
113
+ #: includes/image-zoom-admin.php:339
114
+ msgid ""
115
+ "<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>"
116
+ "%4$s</b>"
117
+ msgstr ""
118
+ "<b>%1$s</b> accepta valori intre %2$s si %3$s. Valoarea a fost resetata la "
119
+ "<b>%4$s</b>."
120
+
121
+ #: includes/image-zoom-notices.php:173
122
+ msgid "Dismiss this notice"
123
+ msgstr "Ignora aceasta notita."
124
+
125
+ #: includes/image-zoom-warnings.php:58
126
+ msgid ""
127
+ "<b>If the zoom does not show up</b> on your website, it could be because you "
128
+ "need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts "
129
+ "to NOT minify” option in the BWP Minify settings, as shown in <a href=\"%1$s"
130
+ "\" target=\"_blank\">this screenshot</a>."
131
+ msgstr ""
132
+ "<b>Daca zoom-ul nu apare</b> pe site-ul dvs., ati putea remedia situatia "
133
+ "daca adaugati “image_zoooom-init” si “image_zoooom” la optiunea “Scripts to "
134
+ "NOT minify” in BWP Minify settings, asa cum e aratat in <a href=\"%1$s\" "
135
+ "target=\"_blank\">acest screenshot</a>."
136
+
137
+ #: includes/image-zoom-warnings.php:120
138
+ msgid ""
139
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
140
+ "gallery with the Avada theme. The Avada theme changes entirely the default "
141
+ "WooCommerce gallery with the <a href=\"%1$s\" target=\"_blank\">Flexslider "
142
+ "gallery</a> and the zoom plugin does not support the Flexslider gallery. "
143
+ "Please check the <a href=\"%2$s\" target=\"_blank\">PRO version</a> of the "
144
+ "plugin for compatibility with the Flexslider gallery."
145
+ msgstr ""
146
+ "Plugin-ul WP Image Zoom <b>nu va functiona</b> pe produsele WooCommerce cu "
147
+ "tema Avada. Tema Avada schimba in totalitate galeria WooCommerce gallery cu "
148
+ "galeria <a href=\"%1$s\" target=\"_blank\">Flexslider</a> si plugin-ul nu e "
149
+ "compatibil cu galeria Flexslider. Va rugam sa verificati <a href=\"%2$s\" "
150
+ "target=\"_blank\">varianta PRO</a> a plugin-ului pentru compatibilitate cu "
151
+ "galeria Flexslider."
152
+
153
+ #: includes/image-zoom-warnings.php:137
154
+ msgid ""
155
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
156
+ "gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the "
157
+ "default WooCommerce gallery with a custom made gallery not supported by the "
158
+ "free version of the WP Image Zoom plugin. Please check the <a href=\"%1$s\" "
159
+ "target=\"_blank\">PRO version</a> of the plugin for compatibility with the "
160
+ "Shopkeeper's gallery."
161
+ msgstr ""
162
+ "Plugin-ul WP Image Zoom <b>nu va functiona</b> pe produsele WooCommerce cu "
163
+ "tema Shopkeeper. Tema Shopkeeper schimba in totalitate galeria WooCommerce "
164
+ "gallery cu propria galerie care e incompatibila cu varianta gratuita a "
165
+ "pluginului WP Image Zoom. Va rugam sa verificati <a href=\"%2$s\" target="
166
+ "\"_blank\">varianta PRO</a> a plugin-ului pentru compatibilitate cu galeria "
167
+ "themei Shopkeeper."
168
+
169
+ #: includes/image-zoom-warnings.php:173
170
+ msgid ""
171
+ "WP Image Zoom plugin is not compatible with the <a href=\"admin.php?"
172
+ "page=jetpack\">Jetpack Photon</a> module. If you find that the zoom is not "
173
+ "working, try to deactivate the Photon module and see if that solves it."
174
+ msgstr ""
175
+ "Plugin-ul WP Image Zoom nu e compatibil cu modulul <a href=\"admin.php?"
176
+ "page=jetpack\">Jetpack Photon</a>. In cazul in care zoom-ul nu functioneaza, "
177
+ "va rugam sa dezactivati modulul Photon si sa verificati din nou."
178
+
179
+ #: includes/premium-tooltips.php:3
180
+ msgid "Only available in <a href=\"%1$s\" target=\"_blank\">PRO version</a>"
181
+ msgstr "Disponibil doar in <a href=\"%1$s\" target=\"_blank\">varianta PRO</a>"
182
+
183
+ #: includes/right_columns.php:48
184
+ msgid "WP Image Zoooom Pro"
185
+ msgstr "WP Image Zoooom Pro"
186
+
187
+ #: includes/right_columns.php:61
188
+ msgid "Upgrade to PRO"
189
+ msgstr "Upgradeaza la PRO"
190
+
191
+ #: includes/right_columns.php:92
192
+ msgid "Like this Plugin?"
193
+ msgstr "E un plugin bun?"
194
+
195
+ #: includes/right_columns.php:95
196
+ msgid ""
197
+ "Share your opinion with the world on the WordPress.org Plugin Repository."
198
+ msgstr "Impartaseste-ti opinia pe WordPress.org Plugin Repository."
199
+
200
+ #: includes/right_columns.php:96
201
+ msgid "Rate it on WordPress.org"
202
+ msgstr "Voteaza plugin-ul pe WordPress.org"
203
+
204
+ #: includes/settings.php:18
205
+ msgid "Lens Shape"
206
+ msgstr "Forma lentilei"
207
+
208
+ #: includes/settings.php:20
209
+ msgid "No Lens"
210
+ msgstr "Fara lentila"
211
+
212
+ #: includes/settings.php:21
213
+ msgid "Circle Lens"
214
+ msgstr "Lentila circulara"
215
+
216
+ #: includes/settings.php:22
217
+ msgid "Square Lens"
218
+ msgstr "Lentila patrata"
219
+
220
+ #: includes/settings.php:23
221
+ msgid "With Zoom Window"
222
+ msgstr "cu fereastra zoom"
223
+
224
+ #: includes/settings.php:30
225
+ msgid "Cursor Type"
226
+ msgstr "Tip cursor"
227
+
228
+ #: includes/settings.php:32 includes/settings.php:234
229
+ msgid "Default"
230
+ msgstr "Default"
231
+
232
+ #: includes/settings.php:33
233
+ msgid "Pointer"
234
+ msgstr "Indicator"
235
+
236
+ #: includes/settings.php:34
237
+ msgid "Crosshair"
238
+ msgstr "Crosshair"
239
+
240
+ #: includes/settings.php:35
241
+ msgid "Zoom"
242
+ msgstr "Zoom"
243
+
244
+ #: includes/settings.php:42
245
+ msgid "Animation Easing Effect"
246
+ msgstr "Efect de relaxare a animatiei"
247
+
248
+ #: includes/settings.php:44
249
+ msgid ""
250
+ "A number between 0 and 200 to represent the degree of the Animation Easing "
251
+ "Effect"
252
+ msgstr "Un numar intre 0 si 200"
253
+
254
+ #: includes/settings.php:49
255
+ msgid "Lens Size"
256
+ msgstr "Marimea lentilei"
257
+
258
+ #: includes/settings.php:52
259
+ msgid ""
260
+ "For Circle Lens it means the diameters, for Square Lens it means the width"
261
+ msgstr ""
262
+ "Marimea lentilei este diametrul pentru lentila circulara si latimea pentru "
263
+ "lentila patrata"
264
+
265
+ #: includes/settings.php:56 includes/settings.php:109
266
+ msgid "Border Thickness"
267
+ msgstr "Grosimea marginii"
268
+
269
+ #: includes/settings.php:62 includes/settings.php:122
270
+ msgid "Border Color"
271
+ msgstr "Culoarea marginii"
272
+
273
+ #: includes/settings.php:67 includes/settings.php:133
274
+ msgid "Fade Time"
275
+ msgstr "Timpul de disparitie"
276
+
277
+ #: includes/settings.php:70
278
+ msgid "The amount of time it takes for the Lens to slowly appear or dissapear"
279
+ msgstr "Timpul necesar pentru a lentila sa dispara sau sa apara"
280
+
281
+ #: includes/settings.php:74
282
+ msgid "Tint"
283
+ msgstr "Tenta"
284
+
285
+ #: includes/settings.php:76
286
+ msgid ""
287
+ "A color that will layed on top the of non-magnified image in order to "
288
+ "emphasize the lens"
289
+ msgstr ""
290
+ "O culoare pusa peste zona nemarita a imaginii pentru a accentua lentila"
291
+
292
+ #: includes/settings.php:80
293
+ msgid "Tint Color"
294
+ msgstr "Culoarea tentei"
295
+
296
+ #: includes/settings.php:85
297
+ msgid "Tint Opacity"
298
+ msgstr "Opacitatea tentei"
299
+
300
+ #: includes/settings.php:91
301
+ msgid "Zoom Window Width"
302
+ msgstr "Latimea ferestrei zoom"
303
+
304
+ #: includes/settings.php:97
305
+ msgid "Zoom Window Height"
306
+ msgstr "Inaltimea ferestrei zoom"
307
+
308
+ #: includes/settings.php:103
309
+ msgid "Distance from the Main Image"
310
+ msgstr "Distanta de la imagina principala"
311
+
312
+ #: includes/settings.php:115
313
+ msgid "Shadow Thickness"
314
+ msgstr "Grosimea umbrei"
315
+
316
+ #: includes/settings.php:119
317
+ msgid "Use 0px to remove the shadow"
318
+ msgstr "Scrie 0px pentru a inlatura umbra"
319
+
320
+ #: includes/settings.php:127
321
+ msgid "Rounded Corners"
322
+ msgstr "Colturi rotunjite"
323
+
324
+ #: includes/settings.php:136
325
+ msgid ""
326
+ "The amount of time it takes for the Zoom Window to slowly appear or disappear"
327
+ msgstr "Timpul necesar pentru a fereastra zoom sa apara sau sa dispara"
328
+
329
+ #: includes/settings.php:140
330
+ msgid "Enable the zoom on WooCommerce products"
331
+ msgstr "Activeaza zoom-ul pe produsele WooCommerce"
332
+
333
+ #: includes/settings.php:145
334
+ msgid "Exchange the thumbnail with main image on WooCommerce products"
335
+ msgstr "Schimba pozele mici cu poza principala in produsele WooCommerce"
336
+
337
+ #: includes/settings.php:148
338
+ msgid ""
339
+ "On a WooCommerce gallery, when clicking on a thumbnail, not only the main "
340
+ "image will be replaced with the thumbnail's image, but also the thumbnail "
341
+ "will be replaced with the main image"
342
+ msgstr ""
343
+ "Pentru o galerie WooCommerce, cand dati click pe o poza mica, nu doar poza "
344
+ "principala va fi schimbata cu poza mica, ci si poza mica va fi schimbata cu "
345
+ "poza principala."
346
+
347
+ #: includes/settings.php:151
348
+ msgid "Enable the zoom on mobile devices"
349
+ msgstr "Activeaza zoom-ul pe dispozitive mobile"
350
+
351
+ #: includes/settings.php:154
352
+ msgid "Tablets are also considered mobile devices"
353
+ msgstr "Si tabletele sunt considerate dispozitive mobile"
354
+
355
+ #: includes/settings.php:157
356
+ msgid "Enable the zoom on WooCommerce category pages"
357
+ msgstr "Activeaza zoom pe paginile cu categorii WooCommerce"
358
+
359
+ #: includes/settings.php:163
360
+ msgid "Force it to work on WooCommerce"
361
+ msgstr "Forteaza zoom-ul pe WooCommerce"
362
+
363
+ #: includes/settings.php:173
364
+ msgid "Remove the Lightbox on thumbnail images"
365
+ msgstr "Indepartati Lightbox-ul de pe pozele mici"
366
+
367
+ #: includes/settings.php:179
368
+ msgid "Remove the Lightbox"
369
+ msgstr "Indepartati Lightbox-ul"
370
+
371
+ #: includes/settings.php:185
372
+ msgid "Enable on WooCommerce variation products"
373
+ msgstr "Activati zoom-ul pe produsele variate din WooCommerce"
374
+
375
+ #: includes/settings.php:191
376
+ msgid "Enable on attachments pages"
377
+ msgstr "Activati zoom-ul pe paginile attachment"
378
+
379
+ #: includes/settings.php:197
380
+ msgid "FlexSlider container class"
381
+ msgstr "Clasa container-ului FlexSlider"
382
+
383
+ #: includes/settings.php:203
384
+ msgid ""
385
+ "Enable inside <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
386
+ "\">fancyBox</a> lightbox"
387
+ msgstr ""
388
+ "Activati zoom-ul pe pozele interne dintr-o galerie <a href=\"http://"
389
+ "fancyapps.com/fancybox/\" target=\"_blank\">fancyBox</a> lightbox."
390
+
391
+ #: includes/settings.php:209
392
+ msgid ""
393
+ "Enable inside <a href=\"https://jetpack.com/ support/carousel/\" target="
394
+ "\"_blank\">Jetpack Carousel</a> lightbox"
395
+ msgstr ""
396
+ "Activati zoom-ul pe pozele interne dintr-o galerie <a href=\"https://jetpack."
397
+ "com/ support/carousel/\" target=\"_blank\">Jetpack Carousel</a> lightbox."
398
+
399
+ #: includes/settings.php:216
400
+ msgid "Huge IT Gallery id"
401
+ msgstr "Id-ul Huge IT Gallery"
402
+
403
+ #: includes/settings.php:222
404
+ msgid "Enable the zoom on ..."
405
+ msgstr "Activeaza zoom-ul pe ..."
406
+
407
+ #: includes/settings.php:232
408
+ msgid "Zoom Level"
409
+ msgstr "Nivelul zoom-ului"
410
+
411
+ #: includes/settings.php:235
412
+ msgid "1,5 times"
413
+ msgstr "de 1,5 ori"
414
+
415
+ #: includes/settings.php:236
416
+ msgid "2 times"
417
+ msgstr "de 2 ori"
418
+
419
+ #: includes/settings.php:237
420
+ msgid "2,5 times"
421
+ msgstr "de 2,5 ori"
422
+
423
+ #: includes/settings.php:238
424
+ msgid "3 times"
425
+ msgstr "de 3 ori"
426
+
427
+ #: includes/settings.php:246
428
+ msgid "Lens Color"
429
+ msgstr "Culoarea lentilei"
430
+
431
+ #: includes/settings.php:252
432
+ msgid "Show as Grid"
433
+ msgstr "Arata ca si grila"
434
+
435
+ #: includes/settings.php:258
436
+ msgid "Responsive"
437
+ msgstr "Responsive"
438
+
439
+ #: includes/settings.php:264
440
+ msgid "Responsive Threshold"
441
+ msgstr "Pragul pentru responsive"
442
+
443
+ #: includes/settings.php:271
444
+ msgid "Positioning"
445
+ msgstr "Pozitionarea"
446
+
447
+ #: includes/settings.php:273
448
+ msgid "Right Top"
449
+ msgstr "Dreapta-sus"
450
+
451
+ #: includes/settings.php:274
452
+ msgid "Right Bottom"
453
+ msgstr "Dreapta-jos"
454
+
455
+ #: includes/settings.php:275
456
+ msgid "Right Center"
457
+ msgstr "Dreapta-centru"
458
+
459
+ #: includes/settings.php:276
460
+ msgid "Left Top"
461
+ msgstr "Stanga-sus"
462
+
463
+ #: includes/settings.php:277
464
+ msgid "Left Bottom"
465
+ msgstr "Stanga-jos"
466
+
467
+ #: includes/settings.php:278
468
+ msgid "Left Center"
469
+ msgstr "Stanga-centru"
470
+
471
+ #: includes/settings.php:287
472
+ msgid "Mousewheel Zoom"
473
+ msgstr "Zoom cu rotita mouse-ului"
474
+
475
+ #: includes/settings.php:293
476
+ msgid "Text on the image"
477
+ msgstr "Text pe imagine"
478
+
479
+ #: includes/settings.php:299
480
+ msgid "Text Size"
481
+ msgstr "Marimea text-ului"
482
+
483
+ #: includes/settings.php:306
484
+ msgid "Text Color"
485
+ msgstr "Culoarea textului"
486
+
487
+ #: includes/settings.php:312
488
+ msgid "Text Align"
489
+ msgstr "Pozitionarea textului"
490
+
491
+ #: includes/settings.php:314
492
+ msgid "Top Left"
493
+ msgstr "Sus stanga"
494
+
495
+ #: includes/settings.php:315
496
+ msgid "Top Center"
497
+ msgstr "Sus centru"
498
+
499
+ #: includes/settings.php:316
500
+ msgid "Top Right"
501
+ msgstr "Sus dreapta"
502
+
503
+ #: includes/settings.php:317
504
+ msgid "Bottom Left"
505
+ msgstr "Jos stanga"
506
+
507
+ #: includes/settings.php:318
508
+ msgid "Bottom Center"
509
+ msgstr "Jos centru"
510
+
511
+ #: includes/settings.php:319
512
+ msgid "Bottom Right"
513
+ msgstr "Jos dreapta"
514
+
515
+ #. Plugin URI of the plugin/theme
516
+ msgid "https://wordpress.org/plugins/wp-image-zoooom/"
517
+ msgstr "https://wordpress.org/plugins/wp-image-zoooom/"
518
+
519
+ #. Description of the plugin/theme
520
+ msgid ""
521
+ "Add zoom effect over the an image, whether it is an image in a post/page or "
522
+ "the featured image of a product in a WooCommerce shop"
523
+ msgstr ""
524
+ "Adauga efectul de zoom unei imagini, fie ca e o imagine intr-un post sau "
525
+ "pagina, sau the e imaginea principala a unui produs WooCommerce"
526
+
527
+ #. Author of the plugin/theme
528
+ msgid "SilkyPress"
529
+ msgstr "SilkyPress"
530
+
531
+ #. Author URI of the plugin/theme
532
+ msgid "https://www.silkypress.com"
533
+ msgstr "https://www.silkypress.com"
534
+
535
+ #~ msgid "Move"
536
+ #~ msgstr "Misca"
537
+
538
+ #~ msgid "Compatible with LazyLoad (unveil.js)"
539
+ #~ msgstr "Compatibil cu LazyLoad (unveil.js)"
540
+
541
+ #~ msgid "Center Top"
542
+ #~ msgstr "Centru sus"
543
+
544
+ #~ msgid "Center Bottom"
545
+ #~ msgstr "Centru jos"
languages/wp-image-zoooom.pot ADDED
@@ -0,0 +1,497 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2017 WP Image Zoom
2
+ # This file is distributed under the same license as the WP Image Zoom package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Image Zoom 1.12\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-image-zoooom\n"
7
+ "POT-Creation-Date: 2017-07-09 12:33:44+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+
15
+ #: image-zoooom.php:51 image-zoooom.php:58 includes/image-zoom.php:36
16
+ #: includes/image-zoom.php:43
17
+ msgid "Cheatin&#8217; huh?"
18
+ msgstr ""
19
+
20
+ #: image-zoooom.php:158
21
+ msgid "WP Image Zoooom"
22
+ msgstr ""
23
+
24
+ #: image-zoooom.php:481
25
+ msgid "Settings"
26
+ msgstr ""
27
+
28
+ #: includes/image-zoom-admin-general.php:33
29
+ #: includes/image-zoom-admin-template.php:22
30
+ msgid "WP Image Zoom by %1$s"
31
+ msgstr ""
32
+
33
+ #: includes/image-zoom-admin-general.php:40
34
+ #: includes/image-zoom-admin-template.php:29
35
+ msgid "General Settings"
36
+ msgstr ""
37
+
38
+ #: includes/image-zoom-admin-general.php:42
39
+ #: includes/image-zoom-admin-template.php:31
40
+ msgid "Zoom Settings"
41
+ msgstr ""
42
+
43
+ #: includes/image-zoom-admin-general.php:80
44
+ #: includes/image-zoom-admin-template.php:195
45
+ msgid "Save changes"
46
+ msgstr ""
47
+
48
+ #: includes/image-zoom-admin-template.php:47
49
+ msgid "Step 1"
50
+ msgstr ""
51
+
52
+ #: includes/image-zoom-admin-template.php:47
53
+ msgid "Choose the Lens Shape"
54
+ msgstr ""
55
+
56
+ #: includes/image-zoom-admin-template.php:72
57
+ msgid "Step 2"
58
+ msgstr ""
59
+
60
+ #: includes/image-zoom-admin-template.php:72
61
+ msgid "Check your configuration changes on the image"
62
+ msgstr ""
63
+
64
+ #: includes/image-zoom-admin-template.php:78
65
+ msgid "Step 3"
66
+ msgstr ""
67
+
68
+ #: includes/image-zoom-admin-template.php:78
69
+ msgid "Make more fine-grained configurations on the zoom"
70
+ msgstr ""
71
+
72
+ #: includes/image-zoom-admin-template.php:82
73
+ msgid "General"
74
+ msgstr ""
75
+
76
+ #: includes/image-zoom-admin-template.php:85
77
+ msgid "Lens"
78
+ msgstr ""
79
+
80
+ #: includes/image-zoom-admin-template.php:88
81
+ msgid "Zoom Window"
82
+ msgstr ""
83
+
84
+ #: includes/image-zoom-admin-template.php:91
85
+ msgid "Custom Text"
86
+ msgstr ""
87
+
88
+ #: includes/image-zoom-admin-template.php:192
89
+ msgid "Step 4"
90
+ msgstr ""
91
+
92
+ #: includes/image-zoom-admin-template.php:192
93
+ msgid "Don't forget to save the changes in order to apply them on the website"
94
+ msgstr ""
95
+
96
+ #. #-#-#-#-# wp-image-zoooom.pot (WP Image Zoom 1.12) #-#-#-#-#
97
+ #. Plugin Name of the plugin/theme
98
+ #: includes/image-zoom-admin.php:31 includes/image-zoom-admin.php:32
99
+ msgid "WP Image Zoom"
100
+ msgstr ""
101
+
102
+ #: includes/image-zoom-admin.php:113 includes/image-zoom-admin.php:130
103
+ msgid "Your settings have been saved."
104
+ msgstr ""
105
+
106
+ #: includes/image-zoom-admin.php:302 includes/image-zoom-admin.php:319
107
+ msgid "Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>"
108
+ msgstr ""
109
+
110
+ #: includes/image-zoom-admin.php:339
111
+ msgid ""
112
+ "<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>"
113
+ "%4$s</b>"
114
+ msgstr ""
115
+
116
+ #: includes/image-zoom-notices.php:173
117
+ msgid "Dismiss this notice"
118
+ msgstr ""
119
+
120
+ #: includes/image-zoom-warnings.php:58
121
+ msgid ""
122
+ "<b>If the zoom does not show up</b> on your website, it could be because you "
123
+ "need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts "
124
+ "to NOT minify” option in the BWP Minify settings, as shown in <a href=\"%1$s"
125
+ "\" target=\"_blank\">this screenshot</a>."
126
+ msgstr ""
127
+
128
+ #: includes/image-zoom-warnings.php:120
129
+ msgid ""
130
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
131
+ "gallery with the Avada theme. The Avada theme changes entirely the default "
132
+ "WooCommerce gallery with the <a href=\"%1$s\" target=\"_blank\">Flexslider "
133
+ "gallery</a> and the zoom plugin does not support the Flexslider gallery. "
134
+ "Please check the <a href=\"%2$s\" target=\"_blank\">PRO version</a> of the "
135
+ "plugin for compatibility with the Flexslider gallery."
136
+ msgstr ""
137
+
138
+ #: includes/image-zoom-warnings.php:137
139
+ msgid ""
140
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
141
+ "gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the "
142
+ "default WooCommerce gallery with a custom made gallery not supported by the "
143
+ "free version of the WP Image Zoom plugin. Please check the <a href=\"%1$s\" "
144
+ "target=\"_blank\">PRO version</a> of the plugin for compatibility with the "
145
+ "Shopkeeper's gallery."
146
+ msgstr ""
147
+
148
+ #: includes/image-zoom-warnings.php:173
149
+ msgid ""
150
+ "WP Image Zoom plugin is not compatible with the <a href=\"admin.php?"
151
+ "page=jetpack\">Jetpack Photon</a> module. If you find that the zoom is not "
152
+ "working, try to deactivate the Photon module and see if that solves it."
153
+ msgstr ""
154
+
155
+ #: includes/premium-tooltips.php:3
156
+ msgid "Only available in <a href=\"%1$s\" target=\"_blank\">PRO version</a>"
157
+ msgstr ""
158
+
159
+ #: includes/right_columns.php:48
160
+ msgid "WP Image Zoooom Pro"
161
+ msgstr ""
162
+
163
+ #: includes/right_columns.php:61
164
+ msgid "Upgrade to PRO"
165
+ msgstr ""
166
+
167
+ #: includes/right_columns.php:92
168
+ msgid "Like this Plugin?"
169
+ msgstr ""
170
+
171
+ #: includes/right_columns.php:95
172
+ msgid ""
173
+ "Share your opinion with the world on the WordPress.org Plugin Repository."
174
+ msgstr ""
175
+
176
+ #: includes/right_columns.php:96
177
+ msgid "Rate it on WordPress.org"
178
+ msgstr ""
179
+
180
+ #: includes/settings.php:18
181
+ msgid "Lens Shape"
182
+ msgstr ""
183
+
184
+ #: includes/settings.php:20
185
+ msgid "No Lens"
186
+ msgstr ""
187
+
188
+ #: includes/settings.php:21
189
+ msgid "Circle Lens"
190
+ msgstr ""
191
+
192
+ #: includes/settings.php:22
193
+ msgid "Square Lens"
194
+ msgstr ""
195
+
196
+ #: includes/settings.php:23
197
+ msgid "With Zoom Window"
198
+ msgstr ""
199
+
200
+ #: includes/settings.php:30
201
+ msgid "Cursor Type"
202
+ msgstr ""
203
+
204
+ #: includes/settings.php:32 includes/settings.php:234
205
+ msgid "Default"
206
+ msgstr ""
207
+
208
+ #: includes/settings.php:33
209
+ msgid "Pointer"
210
+ msgstr ""
211
+
212
+ #: includes/settings.php:34
213
+ msgid "Crosshair"
214
+ msgstr ""
215
+
216
+ #: includes/settings.php:35
217
+ msgid "Zoom"
218
+ msgstr ""
219
+
220
+ #: includes/settings.php:42
221
+ msgid "Animation Easing Effect"
222
+ msgstr ""
223
+
224
+ #: includes/settings.php:44
225
+ msgid ""
226
+ "A number between 0 and 200 to represent the degree of the Animation Easing "
227
+ "Effect"
228
+ msgstr ""
229
+
230
+ #: includes/settings.php:49
231
+ msgid "Lens Size"
232
+ msgstr ""
233
+
234
+ #: includes/settings.php:52
235
+ msgid ""
236
+ "For Circle Lens it means the diameters, for Square Lens it means the width"
237
+ msgstr ""
238
+
239
+ #: includes/settings.php:56 includes/settings.php:109
240
+ msgid "Border Thickness"
241
+ msgstr ""
242
+
243
+ #: includes/settings.php:62 includes/settings.php:122
244
+ msgid "Border Color"
245
+ msgstr ""
246
+
247
+ #: includes/settings.php:67 includes/settings.php:133
248
+ msgid "Fade Time"
249
+ msgstr ""
250
+
251
+ #: includes/settings.php:70
252
+ msgid "The amount of time it takes for the Lens to slowly appear or dissapear"
253
+ msgstr ""
254
+
255
+ #: includes/settings.php:74
256
+ msgid "Tint"
257
+ msgstr ""
258
+
259
+ #: includes/settings.php:76
260
+ msgid ""
261
+ "A color that will layed on top the of non-magnified image in order to "
262
+ "emphasize the lens"
263
+ msgstr ""
264
+
265
+ #: includes/settings.php:80
266
+ msgid "Tint Color"
267
+ msgstr ""
268
+
269
+ #: includes/settings.php:85
270
+ msgid "Tint Opacity"
271
+ msgstr ""
272
+
273
+ #: includes/settings.php:91
274
+ msgid "Zoom Window Width"
275
+ msgstr ""
276
+
277
+ #: includes/settings.php:97
278
+ msgid "Zoom Window Height"
279
+ msgstr ""
280
+
281
+ #: includes/settings.php:103
282
+ msgid "Distance from the Main Image"
283
+ msgstr ""
284
+
285
+ #: includes/settings.php:115
286
+ msgid "Shadow Thickness"
287
+ msgstr ""
288
+
289
+ #: includes/settings.php:119
290
+ msgid "Use 0px to remove the shadow"
291
+ msgstr ""
292
+
293
+ #: includes/settings.php:127
294
+ msgid "Rounded Corners"
295
+ msgstr ""
296
+
297
+ #: includes/settings.php:136
298
+ msgid ""
299
+ "The amount of time it takes for the Zoom Window to slowly appear or disappear"
300
+ msgstr ""
301
+
302
+ #: includes/settings.php:140
303
+ msgid "Enable the zoom on WooCommerce products"
304
+ msgstr ""
305
+
306
+ #: includes/settings.php:145
307
+ msgid "Exchange the thumbnail with main image on WooCommerce products"
308
+ msgstr ""
309
+
310
+ #: includes/settings.php:148
311
+ msgid ""
312
+ "On a WooCommerce gallery, when clicking on a thumbnail, not only the main "
313
+ "image will be replaced with the thumbnail's image, but also the thumbnail "
314
+ "will be replaced with the main image"
315
+ msgstr ""
316
+
317
+ #: includes/settings.php:151
318
+ msgid "Enable the zoom on mobile devices"
319
+ msgstr ""
320
+
321
+ #: includes/settings.php:154
322
+ msgid "Tablets are also considered mobile devices"
323
+ msgstr ""
324
+
325
+ #: includes/settings.php:157
326
+ msgid "Enable the zoom on WooCommerce category pages"
327
+ msgstr ""
328
+
329
+ #: includes/settings.php:163
330
+ msgid "Force it to work on WooCommerce"
331
+ msgstr ""
332
+
333
+ #: includes/settings.php:173
334
+ msgid "Remove the Lightbox on thumbnail images"
335
+ msgstr ""
336
+
337
+ #: includes/settings.php:179
338
+ msgid "Remove the Lightbox"
339
+ msgstr ""
340
+
341
+ #: includes/settings.php:185
342
+ msgid "Enable on WooCommerce variation products"
343
+ msgstr ""
344
+
345
+ #: includes/settings.php:191
346
+ msgid "Enable on attachments pages"
347
+ msgstr ""
348
+
349
+ #: includes/settings.php:197
350
+ msgid "FlexSlider container class"
351
+ msgstr ""
352
+
353
+ #: includes/settings.php:203
354
+ msgid ""
355
+ "Enable inside <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
356
+ "\">fancyBox</a> lightbox"
357
+ msgstr ""
358
+
359
+ #: includes/settings.php:209
360
+ msgid ""
361
+ "Enable inside <a href=\"https://jetpack.com/ support/carousel/\" target="
362
+ "\"_blank\">Jetpack Carousel</a> lightbox"
363
+ msgstr ""
364
+
365
+ #: includes/settings.php:216
366
+ msgid "Huge IT Gallery id"
367
+ msgstr ""
368
+
369
+ #: includes/settings.php:222
370
+ msgid "Enable the zoom on ..."
371
+ msgstr ""
372
+
373
+ #: includes/settings.php:232
374
+ msgid "Zoom Level"
375
+ msgstr ""
376
+
377
+ #: includes/settings.php:235
378
+ msgid "1,5 times"
379
+ msgstr ""
380
+
381
+ #: includes/settings.php:236
382
+ msgid "2 times"
383
+ msgstr ""
384
+
385
+ #: includes/settings.php:237
386
+ msgid "2,5 times"
387
+ msgstr ""
388
+
389
+ #: includes/settings.php:238
390
+ msgid "3 times"
391
+ msgstr ""
392
+
393
+ #: includes/settings.php:246
394
+ msgid "Lens Color"
395
+ msgstr ""
396
+
397
+ #: includes/settings.php:252
398
+ msgid "Show as Grid"
399
+ msgstr ""
400
+
401
+ #: includes/settings.php:258
402
+ msgid "Responsive"
403
+ msgstr ""
404
+
405
+ #: includes/settings.php:264
406
+ msgid "Responsive Threshold"
407
+ msgstr ""
408
+
409
+ #: includes/settings.php:271
410
+ msgid "Positioning"
411
+ msgstr ""
412
+
413
+ #: includes/settings.php:273
414
+ msgid "Right Top"
415
+ msgstr ""
416
+
417
+ #: includes/settings.php:274
418
+ msgid "Right Bottom"
419
+ msgstr ""
420
+
421
+ #: includes/settings.php:275
422
+ msgid "Right Center"
423
+ msgstr ""
424
+
425
+ #: includes/settings.php:276
426
+ msgid "Left Top"
427
+ msgstr ""
428
+
429
+ #: includes/settings.php:277
430
+ msgid "Left Bottom"
431
+ msgstr ""
432
+
433
+ #: includes/settings.php:278
434
+ msgid "Left Center"
435
+ msgstr ""
436
+
437
+ #: includes/settings.php:287
438
+ msgid "Mousewheel Zoom"
439
+ msgstr ""
440
+
441
+ #: includes/settings.php:293
442
+ msgid "Text on the image"
443
+ msgstr ""
444
+
445
+ #: includes/settings.php:299
446
+ msgid "Text Size"
447
+ msgstr ""
448
+
449
+ #: includes/settings.php:306
450
+ msgid "Text Color"
451
+ msgstr ""
452
+
453
+ #: includes/settings.php:312
454
+ msgid "Text Align"
455
+ msgstr ""
456
+
457
+ #: includes/settings.php:314
458
+ msgid "Top Left"
459
+ msgstr ""
460
+
461
+ #: includes/settings.php:315
462
+ msgid "Top Center"
463
+ msgstr ""
464
+
465
+ #: includes/settings.php:316
466
+ msgid "Top Right"
467
+ msgstr ""
468
+
469
+ #: includes/settings.php:317
470
+ msgid "Bottom Left"
471
+ msgstr ""
472
+
473
+ #: includes/settings.php:318
474
+ msgid "Bottom Center"
475
+ msgstr ""
476
+
477
+ #: includes/settings.php:319
478
+ msgid "Bottom Right"
479
+ msgstr ""
480
+
481
+ #. Plugin URI of the plugin/theme
482
+ msgid "https://wordpress.org/plugins/wp-image-zoooom/"
483
+ msgstr ""
484
+
485
+ #. Description of the plugin/theme
486
+ msgid ""
487
+ "Add zoom effect over the an image, whether it is an image in a post/page or "
488
+ "the featured image of a product in a WooCommerce shop"
489
+ msgstr ""
490
+
491
+ #. Author of the plugin/theme
492
+ msgid "SilkyPress"
493
+ msgstr ""
494
+
495
+ #. Author URI of the plugin/theme
496
+ msgid "https://www.silkypress.com"
497
+ msgstr ""
readme.txt ADDED
@@ -0,0 +1,331 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WP Image Zoom ===
2
+ Created: 21/11/2015
3
+ Contributors: diana_burduja
4
+ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=diana.burduja@gmail.com&lc=AT&item_name=Diana%20Burduja&item_number=WP%2dImage%2dZoooom%2dplugin&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
5
+ Email: diana@burduja.eu
6
+ Tags: e-commerce, featured image, hover over image zoom, image, image zoom, image zoom plugin, image magnification, image magnifier, jquery picture zoom, magnifier, magnify image, magnifying glass, mouse over image zoom, panorama, picture zoom, product image, product zoom, product magnification, product magnifier, responsive, woocommerce product zoom, woocommerce zoom, woocommerce magnifying glass, zoom, zoom image, zoom plugin, woocommerce image zoom, woocommerce product image zoom, woocommerce zoom magnifier
7
+ Requires at least: 3.0.1
8
+ Tested up to: 4.8
9
+ Stable tag: 1.16
10
+ License: GPLv3
11
+ License URI: http://www.gnu.org/licenses/gpl-3.0.html
12
+
13
+ Awesome image zoom plugin for images in posts/pages and for WooCommerce products.
14
+
15
+ == Description ==
16
+
17
+ = Awesome image zoom for images in posts/pages and for WooCommerce products =
18
+
19
+ WP Image Zoom is a robust, modern and very configurable image zoom plugin. It allows you to easily create a magnifying glass on your images, all from a very intuitive WP admin interface.
20
+
21
+ Your visitors will be able to see the beautiful details of your images. This will improve your users' experience and hopefully also your revenue.
22
+
23
+ [youtube https://www.youtube.com/watch?v=jIuhEUGurHY]
24
+
25
+ = Features =
26
+
27
+ * **4 Zooming Types** - Inner zoom, Round lens, Square lens and outer zoom (with Zoom Window).
28
+ * **Animation Easing Effect** - the zooming lense will follow the mouse over the image with a sleak delay. This will add a touch of elegance to the zooming experience.
29
+ * **Fade Effect** - the zoomed part will gracefully fade in or fade out.
30
+ * **Extremely configurable** - control zooming lens size, border color, border size, shadow, rounded corner, and others ...
31
+ * **Works with WooCommerce** - easily enable the zoom on all your products' images. Only a checkbox away.
32
+ * **Works in Pages and Posts** - within the post's/page's editor you'll find a button for applying the zooming effect on any image.
33
+
34
+ = Why should you upgrade to WP Image Zoooom Pro? =
35
+
36
+ * Responsive (the zoom window will fit to the browser width)
37
+ * Mousewheel Zoom
38
+ * Works with WooCommerce variations
39
+ * Works with Portfolio images
40
+ * Works with Easy Digital Downloads featured images
41
+ * Works with MarketPress - WordPress eCommerce
42
+ * Zoom within Lightboxes and Carousels
43
+ * You can place a text on the image like a watermark
44
+ * You can choose the zoom window position (left or right from the image)
45
+ * You can use on more than one image on the same page
46
+ * Custom theme support
47
+
48
+ = Notes =
49
+
50
+ * This plugin is provided "as-is"; within the scope of WordPress. We will update this plugin to remain secure, and to follow WP coding standards.
51
+ * If you prefer more dedicated support, with more advanced and powerful plugin features, please consider upgrading to [WP Image Zoooom Pro](https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner).
52
+
53
+
54
+ == Installation ==
55
+
56
+ * From the WP admin panel, click "Plugins" -> "Add new".
57
+ * In the browser input box, type "WP Image Zoom".
58
+ * Select the "WP Image Zoom" plugin and click "Install".
59
+ * Activate the plugin.
60
+
61
+ OR...
62
+
63
+ * Download the plugin from this page.
64
+ * Save the .zip file to a location on your computer.
65
+ * Open the WP admin panel, and click "Plugins" -> "Add new".
66
+ * Click "upload".. then browse to the .zip file downloaded from this page.
67
+ * Click "Install".. and then "Activate plugin".
68
+
69
+ OR...
70
+
71
+ * Download the plugin from this page.
72
+ * Extract the .zip file to a location on your computer.
73
+ * Use either FTP or your hosts cPanel to gain access to your website file directories.
74
+ * Browse to the `wp-content/plugins` directory.
75
+ * Upload the extracted `wp-image-zoooom` folder to this directory location.
76
+ * Open the WP admin panel.. click the "Plugins" page.. and click "Activate" under the newly added "WP Image Zoom" plugin.
77
+
78
+ == Frequently Asked Questions ==
79
+
80
+ = Does it work with caching plugins ? =
81
+ Yes
82
+
83
+ = If I have Visual Composer installed, how do I apply the zoom? =
84
+ You can apply the zoom on the Single Image element from Visual Composer. See the following [screenshot](https://ps.w.org/wp-image-zoooom/trunk/screenshot-7.jpg).
85
+
86
+ = It displays the zoom lens, but the picture is not enlarged =
87
+ In order for the zoom to work you have to upload a bigger picture than the one presented on the website. For more control over the zoom level you can try upgrading to the PRO version. There you can set the zoom level to 2x or 3x the size of the presented picture.
88
+
89
+ In case you did upload a bigger picture and the zoom still isn't working, you might try to deactivate the Jetpack Photon module. The module resizes the image and interferes with the zoom.
90
+
91
+ = The zoom window is about 1cm lower than the zoomed image =
92
+ This is an effect caused by the WordPres Admin Bar. Try logging out and check the zoom again.
93
+
94
+ Another cause could be the sticky header. When the page is loaded, the zoom window is built and set in the right position (next to the zoomed image). When you scroll down, the sticky header changes its height but the zoom window keeps staying in the same position. In order to solve this you can choose between removing the header's sticky effect or upgrading to the WP Image Zoooom PRO, as there the zoom window is totally differently built and the sticky header doesn't affect the zoom position.
95
+
96
+ Another cause could be the "CSS Animation" settings within Visual Composer. If you want to keep the animation effect and still have the zoom, I recommend you upgrade to the WP Image Zoooom PRO.
97
+
98
+ = How to zoom an image without the button in the editor? =
99
+ When you add a CSS class called 'zoooom' to any image, the zoom will be applied on that particular image. Remember that the zooming works only when the displayed image is smaller than the loaded image (i.e. the image is shrinked with "width" and "height" attributes).
100
+
101
+ = If I want to use a "lazy load" plugin will it work? =
102
+ We can ensure compatibility with [Unveil Lazy Load](https://wordpress.org/plugins/unveil-lazy-load/), [WP images lazy loading](https://wordpress.org/plugins/wp-images-lazy-loading/) and [Lazy Load](https://wordpress.org/plugins/lazy-load/) plugins.
103
+
104
+
105
+ = My image is within a tab =
106
+ The zoom lens is built on page load relative to the image and it will be shown in mouse hover no matter if the image is hidden in another tab. We cannot do anything about this, the zoom is not built to work with images within tabs.
107
+
108
+ Alternatively you can upgrade to the Pro version, as there the zoom lens is built on mouse hover and not on page load, which means that the zoom will work also with images within tabs.
109
+
110
+ = Known Incompatibilities =
111
+
112
+ * **Black Studio Tiny MCE Widget** plugin and **SiteOrigin Widgets Bundle** plugin makes the Image Zoooom button doesn't show in the Edit Post and Edit Page editor
113
+
114
+ * The zoom doesn't work well with **Image Carousel** on **Avada** theme. You cannot use the zoom and the carousel on the same page.
115
+
116
+ * The zoom doesn't work at all with the **WooCommerce Dynamic Gallery** plugin.
117
+
118
+ * The zoom will not work with the WooCommerce gallery on the **Avada** theme. The Avada theme changes entirely the default WooCommerce gallery with the [Flexslider gallery](https://woocommerce.com/flexslider/) and the zoom plugin does not support the Flexslider gallery. Please check the [PRO version](https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner) of the plugin for compatibility with the Flexslider gallery.
119
+
120
+ = Credits =
121
+
122
+ * Demo photo from http://pixabay.com/en/wordcloud-tagcloud-cloud-text-tag-679951/ under CC0 Public Domain license
123
+
124
+
125
+ == Screenshots ==
126
+
127
+ 1. Configuration menu for the Round Lens
128
+
129
+ 2. Configuration menu for the Square Lens
130
+
131
+ 3. Configuration menu for the Zoom Window
132
+
133
+ 4. Application of zoom on an image in a post
134
+
135
+ 5. General configuration menu
136
+
137
+ 6. WooCommerce product page with the Zoom Window applied on the featured image
138
+
139
+ 7. Apply the zoom from Visual Composer, the Single Image element
140
+
141
+ == Changelog ==
142
+
143
+ = 1.16 =
144
+ * 12/09/2017
145
+ * Feature: support select-themes.com which add a wrapper on top of the page
146
+
147
+ = 1.15 =
148
+ * 08/20/2017
149
+ * Feature: support zoom for images within Courses and Quizzes for LearnPress
150
+ * Fix: the "Enable zoom on WooCommerce category pages" works also on archive pages
151
+
152
+ = 1.14 =
153
+ * 08/16/2017
154
+ * Add French and Romanian translations
155
+
156
+ = 1.13 =
157
+ * 07/11/2017
158
+ * Fix: https://wordpress.org/support/topic/conflict-with-black-studio-tinymce-widget-3/
159
+ * Fix: the zoom overtakes the hover action when a dropdown menu is open
160
+ * Feature: compatibility with the Dorian theme
161
+
162
+ = 1.12 =
163
+ * 06/10/2017
164
+ * Feature: support for custom post type
165
+
166
+ = 1.11 =
167
+ * 06/07/2017
168
+ * Fix: when a caching plugin is present, a tablet is still considered a mobile device
169
+ * Fix: remove woocommerce slider support for the Kiddy theme
170
+ * Fix: with jQuery v<1.11 the mobile browser needs to be checked with $. instead of jQuery.
171
+
172
+ = 1.10 =
173
+ * 05/10/2017
174
+ * Fix: warning for the Shopkeeper theme
175
+ * Fix: don't add/remove theme support for the gallery if is not enabled for WooCommerce
176
+
177
+ = 1.9 =
178
+ * 04/09/2017
179
+ * Fix: if the image has data-large_image attribute, then use that for the zoom
180
+ * Fix: if data-zoom-image attribute present, then exchange it with the thumbnails in WooCommerce gallery
181
+ * Fix: remove click action on the WooCommerce images
182
+
183
+ = 1.8 =
184
+ * 04/04/2017
185
+ * Feature: compatibility with WooCommerce 3.0.+
186
+
187
+ = 1.7 =
188
+ * 03/27/2017
189
+ * Feature: compatibility with the Nouveau theme
190
+ * Feature: compatibility with the WP-Cache Super for the `enable on mobiles` option
191
+ * Fix: don't add the full size image to the srcset if the image is cropped
192
+ * Fix: replace the `move` cursor type with `zoom-in`
193
+ * Fix: compatibility with the 2.8.6+ Virtue theme, see https://wordpress.org/support/topic/woocommerce_single_product_image_html-filter/
194
+
195
+ = 1.6 =
196
+ * 02/21/2017
197
+ * Feature: compatibility with the Lazy Load plugin (https://wordpress.org/plugins/lazy-load/)
198
+ * Fix: remove the "Compatible with LazyLoad (unveil)" option and apply the fix automatically if the $.unveil function is present
199
+
200
+ = 1.5 =
201
+ * 01/22/2017
202
+ * Feature: plugin ready for translation
203
+ * Feature: translation for Romanian
204
+
205
+ = 1.4 =
206
+ * 12/08/2016
207
+ * Feature: "Exchange the thumbnail with the main image on WooCommerce products" option
208
+ * Feature: compatibility with the Artcore theme
209
+ * Feature: show a notice about BWP Minify configurations
210
+
211
+ = 1.3.1 =
212
+ * 09/16/2016
213
+ * Fix: remove the prettyPhoto only if WooCommerce is active and only on product pages
214
+
215
+ = 1.3.0 =
216
+ * 08/17/2016
217
+ * Fix: PHP Notice when adding two arrays without checking first the variable type
218
+ * Fix: add the attachment-shop_single and attachment-thumbnail classes to the WooCommerce product images if these are missing
219
+ * Added grayed out fields as in the PRO version
220
+
221
+ = 1.2.9 =
222
+ * 07/20/2016
223
+ * Fix: if the full image isn't present in the srcset, add it
224
+ * Fix: compatibility with the Bridge theme
225
+ * Fix: set the data-zoom-image attribute as having priority over the srcset attribute
226
+
227
+ = 1.2.8 =
228
+ * 04/21/2016
229
+ * Fix: For WooCommerce galleries keep the thumnail's src in data-thumbnail-src. This will fix some esthetic issue with long images
230
+ * Feature: add data-zoom-image attribute if the srcset is not present, but the "zoooom" class is present
231
+
232
+ = 1.2.7 =
233
+ * 04/11/2016
234
+ * Feature: add TinyMCE button to the LearnDash post types
235
+
236
+ = 1.2.6 =
237
+ * 02/14/2016
238
+ * Feature: Enable the zoom on the WooCommerce category pages
239
+ * Fix: replaced the <?= ?> with <?php echo ?> to make it work for PHP < 5.4 and short_open_tag = Off
240
+ * Feature: you can tag a div with "zoooom" class in order to apply the zoom
241
+ * Feature: compatibility with Visual Composer
242
+
243
+ = 1.2.5 =
244
+ * 01/19/2016
245
+ * Added admin-notices
246
+
247
+ = 1.2.4 =
248
+ * 12/24/2015
249
+ * Fix: With WordPress 4.4 the WooCommerce thumbnail images were not switched for the main image
250
+
251
+ = 1.2.3 =
252
+ * 11/21/2015
253
+ * Fix: The tooltips for checkboxes were not working
254
+ * Fix: 'Distance from the Main Image' was not having an effect on the frontend
255
+ * Fix: removed the mousewheel zoom as it was not working
256
+ * Fix: TinyMCE in the WP-Lister Templates was not working
257
+
258
+ = 1.2.2 =
259
+ * 11/06/2015
260
+ * Fix: 'Force to work on woocommerce' also on JPEG files
261
+
262
+ = 1.2.1 =
263
+ * 10/20/2015
264
+ * Added compatibility with LazyLoad (unveil.js)
265
+ * Fix: with round and square lens the zoom was flickering when getting out of the image area. (https://wordpress.org/support/topic/lazyload-conflicts-more)
266
+
267
+ = 1.2.0 =
268
+ * 10/13/2015
269
+ * Added .pot file for translation.
270
+
271
+ = 1.1.4 =
272
+ * 10/07/2015
273
+ * Fix: https://wordpress.org/support/topic/problem-when-resize-window (regenerate the zoomed image when the page is resized)
274
+ * Fix: https://wordpress.org/support/topic/not-working-1307 (when choosing another image from woocommerce gallery, if the image is not big enough to generate a zoom, it was still showing the previously chosen image)
275
+
276
+ = 1.1.3 =
277
+ * 08/18/2015
278
+ * The Shadow Thickness was not working.
279
+
280
+ = 1.1.2 =
281
+ * 08/05/2015
282
+ * Remove the WooCommerce lightbox. It doesn't make sense to have the lightbox and zoom at the same time
283
+
284
+ = 1.1.1 =
285
+ * 08/04/2015
286
+ * Fix: https://wordpress.org/support/topic/not-working-1307 (force it to work with WooCommerce images, even when the templates tries to load a smaller size image)
287
+
288
+ = 1.1.0 =
289
+ * 08/03/2015
290
+ * Update to WP 4.2.3
291
+
292
+ = 1.0.9 =
293
+ * 06/29/2015
294
+ * Fix: https://wordpress.org/support/topic/zoom-appears-behind-an-product-image
295
+
296
+ = 1.0.8 =
297
+ * 06/23/2015
298
+ * Fix: https://wordpress.org/support/topic/zoom-configuration-settings-not-available
299
+
300
+ = 1.0.7 =
301
+ * 06/21/2015
302
+ * Added: right side box with WP Image Zoooom Pro
303
+
304
+ = 1.0.6 =
305
+ * 06/03/2015
306
+ * Fix: https://wordpress.org/support/topic/the-zoom-button-does-not-appear (it was assumed that the path to the plugin is the standard one. Now it loads the .png from a path relative to tinyMCE-button.js)
307
+
308
+ = 1.0.5 =
309
+ * 06/01/2015
310
+ * Fix: https://wordpress.org/support/topic/parse-error-334 (retrieval of static variables for PHP<5.2 is done differently)
311
+
312
+ = 1.0.4 =
313
+ * 05/27/2015
314
+ * Fix: solved the JS bug that was leading to "works in the upper-left of the image"
315
+
316
+ = 1.0.3 =
317
+ * 05/26/2015
318
+ * Fix: add version number to the css, otherwise the css was taken from the cache from the previous version
319
+
320
+ = 1.0.2 =
321
+ * 05/26/2015
322
+ * Added: "Like this Plugin?" box in the admin
323
+ * Tweak: refactored the "Zoom Settings" page in the admin and added steps
324
+
325
+ = 1.0 =
326
+ * 05/19/2015
327
+ * Initial commit
328
+
329
+ == Upgrade Notice ==
330
+
331
+ Nothing at the moment
trunk/assets/css/bootstrap.min.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ /*!
8
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=a029c53ecbca7e0801ba)
9
+ * Config saved to config.json and https://gist.github.com/a029c53ecbca7e0801ba
10
+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}textarea.form-group-sm .form-control,select[multiple].form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;min-height:32px}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}textarea.form-group-lg .form-control,select[multiple].form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;min-height:38px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.333333px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}
trunk/assets/css/style.min.css ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ h2 a:hover,h3 a.nav-tab:hover{text-decoration:none}@font-face{font-family:Raleway;font-style:normal;font-weight:400;src:local('Raleway'),local('Raleway-Regular'),url(https://fonts.gstatic.com/s/raleway/v11/0dTEPzkLWceF7z0koJaX1A.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}.btn-group>.btn.active,.input-group .form-control{z-index:auto}body{font-family:"Open Sans",sans-serif;background-color:#f1f1f1}.container_title,.steps,h2,label{font-family:Raleway}.wrap{float:left;width:70%;margin-right:3%}h2{font-weight:400}.btn-icon{height:50px}.control-label{text-align:right;padding:15px 10px 10px 0;height:50px}.margin-10{margin-top:10px}.icon-style-rect-1 .ndd-icon-main-element{width:44px;height:44px;border-radius:8px;background:rgba(0,0,0,.2)}input[type=color]{padding:0;width:50px}.tab-pane{width:90%;padding-top:10px}.input-group{width:200px}.btn-group-no-margin{margin-left:-15px!important}input[type=checkbox]{margin-top:0}.tooltip-inner{width:150px;background-color:#000;opacity:.8}.tooltip-arrow{opacity:.8}.panel-default{margin-top:8px}#right_column_metaboxes{width:25%;float:left;margin-top:70px}.main_container{background-color:#fff;margin-bottom:20px;border:1px solid #ddd;border-radius:5px;box-shadow:0 2px 1px -1px #ccc}.container_title{border-radius:5px 5px 0 0;background:#474747}h3{margin-top:0!important;padding:16px 16px 16px 20px;text-align:center;color:#fff;font-size:1.3em;margin:1em 0}#wpbody-content .metabox-holder{font-family:Raleway;padding:10px 15px 15px}#wpbody-content .metabox-holder.discount{background:url(../images/discount.png) 102% 102% no-repeat;background-size:50%}#wpbody-content .metabox-holder.rating{background:url(../images/rating.png) 100% 80% no-repeat;background-size:50%}#wpbody-content .metabox-holder.product-gallery-plugin{background:url(../images/product-gallery-zoom.png) 142% 102% no-repeat;background-size:70%;}.postbox{min-width:0;border-radius:5px;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;margin-bottom:20px;padding:0;line-height:1}.postbox .inside{margin:11px 0;position:relative;padding:0 12px 12px;line-height:1.4em;font-size:13px}#wpbody-content .metabox-holder p,.steps,label{font-size:15px}.form-horizontal{padding:20px}.form-horizontal .form-group{margin-left:0;margin-right:0}.form-group.disabled label,.form-group.disabled-short label{color:grey}#demo{border:1px solid #ccc}.steps{margin-bottom:4px}.steps .steps_nr{font-weight:700;padding-right:8px;color:#EF3D4A}.dashicons-yes{color:green}.image_zoom_promo{background-color:#bc1117;border:5px double #fff;text-align:center;margin:5px auto;width:96%;border-radius:10px;opacity:1!important}.input-group.input-group-checkbox{width:20px}.form-horizontal{float:left;width:100%}label{font-weight:400}.container_title:before{background:url(../images/icon.svg) no-repeat!important}#right_column_metaboxes a.button{color:#fff!important;border:none;box-shadow:none;vertical-align:middle;font-size:14px;height:32px;line-height:32px;padding:0 18px 1px;background:#bc1117!important;display:block-inline;text-align:center;margin:10px auto}h2{font-size:26px!important}h2 a{color:#23282d}h2 a:hover{color:#0073aa}h2 img{margin-bottom:4px}h3 .nav-tab{font-size:14px;line-height:22px;padding:10px 15px;border-radius:4px 4px 0 0;font-weight:400}
2
+
3
+ @font-face {
4
+ font-family: 'iz_fontello';
5
+ src: url('../fonts/fontello.eot?94869691');
6
+ src: url('../fonts/fontello.eot?94869691#iefix') format('embedded-opentype'),
7
+ url('../fonts/fontello.woff2?94869691') format('woff2'),
8
+ url('../fonts/fontello.woff?94869691') format('woff'),
9
+ url('../fonts/fontello.ttf?94869691') format('truetype'),
10
+ url('../fonts/fontello.svg?94869691#fontello') format('svg');
11
+ font-weight: normal;
12
+ font-style: normal;
13
+ }
14
+
15
+
16
+ [class^="icon-"]:before, [class*=" icon-"]:before {
17
+ font-family: "iz_fontello";
18
+ font-style: normal;
19
+ font-weight: normal;
20
+ speak: none;
21
+ display: inline-block;
22
+ text-decoration: inherit;
23
+ width: 1em;
24
+ text-align: center;
25
+ font-variant: normal;
26
+ text-transform: none;
27
+ line-height: 1em;
28
+ font-size: 32px;
29
+ color: #000;
30
+
31
+ /* Font smoothing. That was taken from TWBS */
32
+ -webkit-font-smoothing: antialiased;
33
+ -moz-osx-font-smoothing: grayscale;
34
+
35
+ }
36
+
37
+ [class^="icon-type_zoom_window"]:before, [class*=" icon-type_zoom_window"]:before {
38
+ font-size: 32px;
39
+ width: 60px;
40
+ }
41
+ [class^="icon-text_align"]:before, [class*=" icon-text_align"]:before {
42
+ font-size: 38px;
43
+ }
44
+
45
+ .icon-cursor_type_crosshair:before { content: '\e802'; } /* '' */
46
+ .icon-cursor_type_default:before { content: '\e803'; } /* '' */
47
+ .icon-cursor_type_move:before { content: '\e807'; } /* '' */
48
+ .icon-cursor_type_zoom:before { content: '\e808'; } /* '' */
49
+ .icon-lens_shape_circle:before { content: '\e809'; } /* '' */
50
+ .icon-lens_shape_square:before { content: '\e80a'; } /* '' */
51
+ .icon-question_mark:before { content: '\e80b'; } /* '' */
52
+ .icon-text_align_bottom_center:before { content: '\e80c'; } /* '' */
53
+ .icon-text_align_bottom_left:before { content: '\e80d'; } /* '' */
54
+ .icon-text_align_bottom_right:before { content: '\e80e'; } /* '' */
55
+ .icon-text_align_top_center:before { content: '\e80f'; } /* '' */
56
+ .icon-text_align_top_left:before { content: '\e810'; } /* '' */
57
+ .icon-text_align_top_right:before { content: '\e811'; } /* '' */
58
+ .icon-type_image_inline:before { content: '\e812'; } /* '' */
59
+ .icon-type_zoom_window:before { content: '\e813'; } /* '' */
60
+ .icon-type_zoom_window_left_bottom:before { content: '\e814'; } /* '' */
61
+ .icon-type_zoom_window_left_center:before { content: '\e815'; } /* '' */
62
+ .icon-type_zoom_window_left_top:before { content: '\e816'; } /* '' */
63
+ .icon-type_zoom_window_right_bottom:before { content: '\e817'; } /* '' */
64
+ .icon-type_zoom_window_right_center:before { content: '\e818'; } /* '' */
65
+ .icon-type_zoom_window_right_top:before { content: '\e819'; } /* '' */
66
+ .icon-zoom_level_2:before { content: '\e81a'; } /* '' */
67
+ .icon-zoom_level_3:before { content: '\e81b'; } /* '' */
68
+ .icon-zoom_level_15:before { content: '\e81c'; } /* '' */
69
+ .icon-zoom_level_25:before { content: '\e81d'; } /* '' */
70
+ .icon-zoom_level_default:before { content: '\e81e'; } /* '' */
71
+ .icon-cursor_type_pointer:before { content: '\e81f'; } /* '' */
72
+ .icon-lens_shape_none:before { content: '\e820'; } /* '' */
73
+ .icon-zoom-in:before { content: '\e821' !important; } /* '' */
74
+
75
+
76
+
77
+
78
+ .ribbon {
79
+ position: absolute;
80
+ z-index: 100;
81
+ width: 90px;
82
+ height: 90px;
83
+ overflow: hidden;
84
+ }
85
+ .ribbon.bottom-left {
86
+ bottom: -3px;
87
+ left: -6px;
88
+ }
89
+ .ribbon.bottom-left.ribbon-danger > small {
90
+ *zoom: 1;
91
+ filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#FFD9534F', endColorstr='#FFB52B27');
92
+ background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q5NTM0ZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I1MmIyNyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
93
+ background-size: 100%;
94
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b52b27), color-stop(100%, #bc1117));
95
+ background-image: -moz-linear-gradient(top, #b52b27 0%, #bc1117 100%);
96
+ background-image: -webkit-linear-gradient(top, #b52b27 0%, #bc1117 100%);
97
+ background-image: linear-gradient(to bottom, #b52b27 0%, #bc1117 100%);
98
+ background-image: linear-gradient(to bottom, #bc1117 0%, #bc1117 100%);
99
+ position: absolute;
100
+ display: block;
101
+ width: 100%;
102
+ padding: 4px 8px;
103
+ text-align: center;
104
+ text-transform: uppercase;
105
+ text-shadow: 0 2px 0 #bc1117;
106
+ font-weight: bold;
107
+ font-size: 65%;
108
+ color: #fff;
109
+ background-color: #b52b27;
110
+ -moz-transform: rotate(50deg);
111
+ -ms-transform: rotate(50deg);
112
+ -webkit-transform: rotate(50deg);
113
+ transform: rotate(50deg);
114
+ -moz-box-shadow: 0 -3px 6px -3px rgba(0, 0, 0, 0.5);
115
+ -webkit-box-shadow: 0 -3px 6px -3px rgba(0, 0, 0, 0.5);
116
+ box-shadow: 0 -3px 6px -3px rgba(0, 0, 0, 0.5);
117
+ bottom: 18px;
118
+ left: -22px;
119
+ }
120
+ .ribbon.bottom-left.ribbon-danger > small:before, .ribbon.bottom-left.ribbon-danger > small:after {
121
+ position: absolute;
122
+ content: " ";
123
+ }
124
+ .ribbon.bottom-left.ribbon-danger > small:before {
125
+ left: 0;
126
+ }
127
+ .ribbon.bottom-left.ribbon-danger > small:after {
128
+ right: 0;
129
+ }
130
+ .ribbon.bottom-left.ribbon-danger > small:before, .ribbon.bottom-left.ribbon-danger > small:after {
131
+ top: -3px;
132
+ border-bottom: 3px solid #4c1210;
133
+ border-left: 3px solid transparent;
134
+ border-right: 3px solid transparent;
135
+ }
136
+
trunk/assets/fonts/fontello.eot ADDED
Binary file
trunk/assets/fonts/fontello.svg ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>Copyright (C) 2017 by original authors @ fontello.com</metadata>
5
+ <defs>
6
+ <font id="fontello" horiz-adv-x="1000" >
7
+ <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8
+ <missing-glyph horiz-adv-x="1000" />
9
+ <glyph glyph-name="cursor_type_crosshair" unicode="&#xe802;" d="M511 747c0-764 0-764 0-764m368 382l-736 0m332 360l50 0 0-750-48 0z m400-350l0-50-750 0 0 48z" horiz-adv-x="1000" />
10
+
11
+ <glyph glyph-name="cursor_type_default" unicode="&#xe803;" d="M305 695l0-620 193 104 122-175 103 50-117 183 171 86z" horiz-adv-x="1000" />
12
+
13
+ <glyph glyph-name="cursor_type_move" unicode="&#xe807;" d="M501 731l-112-112 88 0 0-245-246 0 0 88-111-112 111-112 0 88 246 0 0-245-88 0 112-112 110 112-88 0 0 245 247 0 0-88 110 112-110 112 0-88-247 0 0 245 88 0-110 112z" horiz-adv-x="1000" />
14
+
15
+ <glyph glyph-name="cursor_type_zoom" unicode="&#xe808;" d="M571 719c-176 0-320-143-320-320 0-74 26-143 69-197l-225-166a21 21 0 0 1-5-30l15-20a21 21 0 0 1 29-5l234 171c55-45 126-73 203-73 176 0 320 144 320 320 0 177-144 320-320 320z m0-47c151 0 270-122 270-273 0-150-119-273-270-273-151 0-273 123-273 273 0 151 122 273 273 273z m-24-125l0-124-124 0 0-47 124 0 0-124 48 0 0 124 124 0 0 47-124 0 0 124-48 0z" horiz-adv-x="1000" />
16
+
17
+ <glyph glyph-name="lens_shape_circle" unicode="&#xe809;" d="M500 751c-221 0-401-180-401-401 0-221 180-401 401-401 221 0 401 180 401 401 0 221-180 401-401 401z m0-50c194 0 351-157 351-351 0-194-157-351-351-351-194 0-351 157-351 351 0 194 157 351 351 351z" horiz-adv-x="1000" />
18
+
19
+ <glyph glyph-name="lens_shape_square" unicode="&#xe80a;" d="M166 666a24 24 0 0 1-20-24l0-583a24 24 0 0 1 24-25l660 0a24 24 0 0 1 24 25l0 583a24 24 0 0 1-24 24l-660 0a24 24 0 0 1-4 0z m29-48l611 0 0-536-611 0 0 536z" horiz-adv-x="1000" />
20
+
21
+ <glyph glyph-name="question_mark" unicode="&#xe80b;" d="M500 750c-213 0-385-179-385-400 0-221 172-400 385-400 213 0 385 179 385 400 0 221-172 400-385 400z m0-51c185 0 336-156 336-349 0-192-151-349-336-349-185 0-336 157-336 349 0 193 151 349 336 349z m6-85c-21 0-41-3-59-9-18-5-35-13-50-24-12-10-24-22-33-35-16-22-25-46-27-74-1-2-1-4-1-4 0 0 84-10 84-10 1 0 1 0 1 3 8 33 22 54 43 67 16 11 37 15 60 12 11-1 21-3 29-8 10-5 20-13 27-23 6-8 9-18 10-29 1-3 0-10 0-13-1-7-3-13-6-20-3-6-5-10-10-15-8-8-20-19-42-38-14-11-23-20-31-29-19-21-28-36-33-59-4-15-5-30-5-53 1-5 1-11 1-12v-1h83l0 9c0 13 1 22 2 30 2 13 6 20 15 31 7 7 15 15 27 26 18 16 31 28 43 41 19 19 29 33 36 48 6 13 9 25 10 38 0 4 0 13 0 16-2 28-12 53-32 76-3 4-10 12-14 15-19 18-41 30-68 37-16 4-31 6-51 7-3 0-6 0-9 0z m-42-415v-88h84v88h-84z" horiz-adv-x="1000" />
22
+
23
+ <glyph glyph-name="text_align_bottom_center" unicode="&#xe80c;" d="M91 668c-38 0-69-31-69-69l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 38-31 69-69 69l-818 0z m0-30l818 0c22 0 39-17 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 22 17 39 39 39z m209-378l123 0 0-16-52 0 0-129-19 0 0 129-52 0 0 16m201-86l0-9-82 0c0-12 4-22 11-28 6-7 16-10 28-10 6 0 13 1 20 2 6 2 13 5 19 8l0-17c-7-3-13-5-20-6-7-2-14-2-21-2-17 0-31 5-41 15-10 10-15 24-15 41 0 18 5 32 14 43 10 10 23 16 39 16 15 0 27-5 35-15 9-9 13-22 13-38m-18 5c0 10-3 18-8 24-5 5-13 8-21 8-10 0-19-3-25-8-6-6-9-14-10-24l64 0m135 45l-40-53 42-56-21 0-32 42-32-42-21 0 42 57-38 52 21 0 29-39 29 39 21 0m45 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 4-18 2-2 7-3 15-3l18 0 0-15-18 0c-14 0-24 2-29 7-5 5-8 15-8 29l0 59-13 0 0 14 13 0 0 31 18 0" horiz-adv-x="1000" />
24
+
25
+ <glyph glyph-name="text_align_bottom_left" unicode="&#xe80d;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m3-378l123 0 0-17-52 0 0-129-20 0 0 129-51 0 0 17m201-87l0-9-83 0c1-12 5-21 12-28 6-6 16-10 27-10 7 0 14 1 20 3 7 2 13 4 20 8l0-17c-7-3-13-5-20-7-7-1-14-2-21-2-17 0-31 5-41 15-10 11-15 24-15 42 0 17 4 32 14 42 10 11 23 16 39 16 15 0 27-5 35-14 9-10 13-23 13-39m-18 5c0 10-3 18-8 24-6 6-13 9-22 9-10 0-18-3-24-9-6-5-9-13-10-24l64 0m135 45l-40-53 42-56-21 0-32 43-32-43-21 0 42 57-39 52 22 0 29-39 29 39 21 0m45 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 4-17 2-3 7-4 15-4l18 0 0-15-18 0c-14 0-24 3-29 8-5 5-8 14-8 28l0 59-13 0 0 14 13 0 0 31 18 0" horiz-adv-x="1000" />
26
+
27
+ <glyph glyph-name="text_align_bottom_right" unicode="&#xe80e;" d="M91 670c-38 0-69-31-69-69l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 38-31 69-69 69l-818 0z m0-30l818 0c22 0 39-17 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 22 17 39 39 39z m407-378l124 0 0-17-52 0 0-129-20 0 0 129-52 0 0 17m202-87l0-8-83 0c1-13 4-22 11-29 7-6 16-9 28-9 7 0 14 0 20 2 6 2 13 4 19 8l0-17c-6-3-13-5-20-6-6-2-13-3-20-3-18 0-31 5-42 16-10 10-15 24-15 41 0 18 5 32 15 42 9 11 22 16 39 16 14 0 26-4 35-14 8-9 13-22 13-39m-18 6c-1 10-3 17-9 23-5 6-12 9-21 9-10 0-18-3-24-8-6-6-10-14-11-24l65 0m134 45l-39-54 41-56-21 0-32 43-31-43-22 0 43 57-39 53 21 0 29-39 29 39 21 0m46 31l0-31 37 0 0-14-37 0 0-60c0-9 1-14 3-17 3-2 8-4 15-4l19 0 0-15-19 0c-14 0-23 3-29 8-5 5-7 15-7 28l0 60-14 0 0 14 14 0 0 31 18 0" horiz-adv-x="1000" />
28
+
29
+ <glyph glyph-name="text_align_top_center" unicode="&#xe80f;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m209-60l123 0 0-17-52 0 0-129-19 0 0 129-52 0 0 17m201-87l0-9-82 0c0-12 4-21 11-28 6-6 16-10 28-10 6 0 13 1 20 3 6 2 13 4 19 8l0-17c-7-3-13-5-20-7-7-1-14-2-21-2-17 0-31 5-41 15-10 11-15 24-15 42 0 18 5 32 14 42 10 11 23 16 39 16 15 0 27-5 35-14 9-10 13-22 13-39m-18 6c0 9-3 17-8 23-5 6-13 9-21 9-10 0-19-3-25-9-6-5-9-13-10-24l64 0m135 45l-40-53 42-56-21 0-32 43-32-43-21 0 42 57-38 52 21 0 29-39 29 39 21 0m45 32l0-32 37 0 0-14-37 0 0-59c0-9 1-15 4-17 2-3 7-4 15-4l18 0 0-15-18 0c-14 0-24 3-29 8-5 5-8 14-8 28l0 59-13 0 0 14 13 0 0 32 18 0" horiz-adv-x="1000" />
30
+
31
+ <glyph glyph-name="text_align_top_left" unicode="&#xe810;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m3-56l123 0 0-17-52 0 0-129-20 0 0 129-51 0 0 17m201-87l0-9-83 0c1-12 5-21 12-28 6-6 16-10 27-10 7 0 14 1 20 3 7 2 13 4 20 8l0-17c-7-3-13-5-20-7-7-1-14-2-21-2-17 0-31 5-41 15-10 11-15 24-15 42 0 18 4 32 14 42 10 11 23 16 39 16 15 0 27-5 35-14 9-10 13-23 13-39m-18 5c0 10-3 18-8 24-6 6-13 9-22 9-10 0-18-3-24-9-6-5-9-13-10-24l64 0m135 45l-40-53 42-56-21 0-32 43-32-43-21 0 42 57-39 52 22 0 29-39 29 39 21 0m45 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 4-17 2-3 7-4 15-4l18 0 0-15-18 0c-14 0-24 3-29 8-5 5-8 14-8 28l0 59-13 0 0 14 13 0 0 31 18 0" horiz-adv-x="1000" />
32
+
33
+ <glyph glyph-name="text_align_top_right" unicode="&#xe811;" d="M91 669c-38 0-69-31-69-68l0-501c0-38 31-69 69-69l818 0c38 0 69 31 69 69l0 501c0 37-31 68-69 68l-818 0z m0-29l818 0c22 0 39-18 39-39l0-501c0-22-17-39-39-39l-818 0c-22 0-39 17-39 39l0 501c0 21 17 39 39 39z m407-44l124 0 0-17-52 0 0-129-20 0 0 129-52 0 0 17m202-87l0-9-83 0c1-12 4-22 11-28 7-7 16-10 28-10 7 0 14 1 20 3 6 1 13 4 19 7l0-17c-6-2-13-4-20-6-6-1-13-2-20-2-18 0-31 5-42 15-10 10-15 24-15 41 0 18 5 32 15 43 9 11 22 16 39 16 14 0 26-5 35-14 8-10 13-23 13-39m-18 5c-1 10-3 18-9 24-5 6-12 9-21 9-10 0-18-3-24-9-6-6-10-14-11-24l65 0m134 45l-39-53 41-56-21 0-32 43-31-43-22 0 43 57-39 52 21 0 29-39 29 39 21 0m46 31l0-31 37 0 0-14-37 0 0-59c0-9 1-15 3-17 3-3 8-4 15-4l19 0 0-15-19 0c-14 0-23 2-29 8-5 5-7 14-7 28l0 59-14 0 0 14 14 0 0 31 18 0" horiz-adv-x="1000" />
34
+
35
+ <glyph glyph-name="type_image_inline" unicode="&#xe812;" d="M142 847c-79 0-144-64-144-143l0-714c0-79 65-143 144-143l833 0c79 0 143 64 143 143l0 714c0 79-64 143-143 143l-833 0z m0-57l833 0c49 0 87-38 87-86l0-714c0-48-38-86-87-86l-833 0c-49 0-87 38-87 86l0 714c0 48 38 86 87 86z m232-199l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m160 0l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m160 0l-2-9 6-6 4-1 52 0 0-7 4-8 9-2 6 6 1 4 0 17-4 8-6 2-62 0z m-322-57l0-4 0-80 4-8 8-1 7 5 1 4 0 80-4 8-9 2z m383-43l-1-3 0-80 4-8 9-2 6 6 1 4 0 80-4 8-9 1z m-383-117l0-4 0-80 4-8 8-1 7 5 1 4 0 80-4 8-9 2z m383-43l-1-3 0-58-2 0-8-4-2-9 6-6 4-1 12 0 8 4 2 6 0 68-4 8-9 1z m-331-65l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m160 0l-2-9 6-6 4-1 80 0 8 4 1 9-6 7-3 0-80 0z m-25 224c-37 0-68-26-68-60 0-33 31-60 68-60 37 0 68 27 68 60 0 34-31 60-68 60z m0-12c31 0 55-22 55-48 0-25-24-47-55-47-31 0-55 22-55 47 0 26 24 48 55 48z m63-69l-7-7 56-46-8-7-56 45-6-8 60-47 3-3 3 3 15 13 4 4-4 3-60 50z" horiz-adv-x="1120" />
36
+
37
+ <glyph glyph-name="type_zoom_window" unicode="&#xe813;" d="M46 804a26 26 0 0 1-23-25l0-854a26 26 0 0 1 25-25l963 0a26 26 0 0 1 25 25l0 854a26 26 0 0 1-25 25l-963 0a26 26 0 0 1-2 0z m28-51l911 0 0-802-911 0 0 802z m296-185l-10 0 0-295 10-8 81 0 0 18-73 0 0 275 328 0 0-79 18 0 0 89-8 8-346 0z m336-285l-237 0 0-18 247 0 8 8 0 188-18 0z m387 500l-7 0 0-78 15 0 0 70 365 0 0 15-373 0z m388-8l373 0 0 15-373 0z m389 0l98 0 0-260 16 0 0 268-8 7-106 0z m-784-458l15 0 0 373-15 0z m882-190l16 0 0 373-16 0z m-882-54l7-8 145 0 0 16-137 0 0 220-15 0z m882 8l-327 0 0-16 335 0 8 8 0 38-16 0z m-715-16l373 0 0 16-373 0z m234 496c-68 0-126-57-126-129 0-73 58-130 126-130 69 0 127 57 127 130 0 72-58 129-127 129z m0-27c58 0 103-47 103-102 0-56-45-103-103-103-57 0-102 47-102 103 0 55 45 102 102 102z m101-144l-15-15 104-101-14-13-104 96-14-14 112-103 7-7 7 7 27 27 8 7-8 7-110 109z m-522 399l4-9 7 3-3 8z m-17-5l3-8 9 2-3 8z m-17-5l2-9 9 2-2 9z m-17-6l2-8 9 3-3 8z m-18-5l3-8 9 2-3 9z m-17-5l3-9 8 3-3 9z m-17-5l2-8 8 2-2 9z m-18-5l3-9 8 3-2 8z m-17-6l3-8 8 3-2 9z m-18-4l3-9 9 2-2 9z m-17-6l3-8 9 2-3 9z m-17-4l2-9 9 2-3 9z m-17-6l2-9 9 3-3 8z m-18-5l3-9 8 3-2 9z m-18-5l4-9 8 3-2 8z m-17-6l3-8 9 3-3 9z m-17-4l2-9 9 3-2 8z m-17-6l2-8 9 2-2 9z m-17-4l2-10 9 3-3 9z m-18-6l3-8 8 2-3 8z m-17-5l2-9 9 3-3 9z m-18-5l3-9 8 3-2 8z m-17-5l3-9 8 2-2 10z m-17-5l2-9 9 3-2 8z m-18-6l3-8 9 2-3 9z m-17-5l2-9 10 3-4 9z m-17-5l2-8 9 2-3 9z m-18-5l3-9 8 2-2 10z m-17-5l3-9 8 3-2 8z m-18-5l3-9 9 2-3 9z m-17-6l2-8 9 3-2 8z m-17-5l2-8 9 2-2 9z m-17-5l2-9 9 3-3 9z m-18-5l3-8 9 2-3 9z m-17-5l3-9 8 3-3 8z m-18-5l3-9 8 3-2 8z m-17-5l3-9 8 2-2 9z m-17-6l2-8 9 3-2 8z m-18-5l3-8 9 2-3 9z m-17-5l3-9 9 3-4 8z m-17-5l2-9 9 3-3 9z m-6-309l6-2 1 7-5 1z m12-3l5-2 2 7-5 1z m11-3l6-2 2 6-7 2z m12-3l6-2 1 5-6 2z m11-4l6-1 1 5-5 2z m12-3l6-1 1 5-5 2z m12-3l5-1 2 5-6 2z m11-3l6-1 2 5-7 2z m11-3l7-2 1 6-6 1z m12-3l6-2 1 6-5 1z m12-3l5-2 2 6-6 1z m12-3l5-3 2 6-6 2z m11-4l6-2 1 6-6 2z m11-3l6-2 2 6-6 2z m12-4l5-1 2 6-5 2z m12-3l5-1 2 6-6 2z m11-3l6-1 1 6-5 1z m11-3l7-2 1 6-6 2z m12-3l6-2 1 6-5 1z m12-3l5-2 2 6-6 1z m11-3l6-2 2 6-6 1z m11-3l7-2 1 5-6 2z m12-4l6-1 2 5-6 2z m12-3l5-1 2 5-6 2z m12-3l5-1 2 5-6 2z m11-3l6-2 1 6-5 1z m11-4l6-1 2 6-6 1z m12-3l6-2 2 7-6 1z m12-3l5-2 2 7-6 1z m11-3l6-2 1 6-5 2z m12-3l6-2 1 6-5 2z m11-3l6-2 2 5-6 3z m12-4l5-1 3 5-7 2z m11-3l6-1 2 5-6 2z m12-3l6-1 1 5-5 2z m11-3l6-2 2 6-6 1z m12-3l6-2 2 6-7 1z m12-3l5-2 2 6-6 1z m11-3l6-2 1 6-5 1z m12-3l5-2 2 5-5 2z m11-4l6-2 2 6-6 2z m12-4l6-1 1 6-6 2z m11-3l6-1 1 6-5 2z m12-3l6-1 1 6-5 1z m12-3l5-1 2 6-6 1z m11-3l6-2 2 6-7 2z m11-3l6-2 2 6-6 1z m12-3l6-2 1 6-5 1z m12-3l5-2 2 6-6 1z m11-4l6-1 2 5-7 2z m12-3l6-1 1 5-6 2z m11-3l6-1 1 5-5 2z m12-3l5-1 2 5-5 2z m12-3l5-2 2 6-6 1z m11-4l6-1 1 6-6 1z m11-3l7-2 1 7-6 1z m12-3l6-2 1 7-5 1z m12-3l5-2 2 6-6 2z m12-3l5-2 2 6-6 2z m10-4l7-1 1 5-6 3z m12-3l6-1 2 5-6 2z m12-3l5-1 2 5-6 2z m12-3l1-1 2 7-2 0z m1 559l2 0-2 9-1 0z m-19 5l2-8 9 1-2 9z m-18-3l2-9 9 2-2 9z m-17-3l1-9 9 2-2 8z m-18-3l1-10 9 3-1 8z m-18-3l1-10 10 2-2 9z m-18-4l2-9 9 2-2 9z m-18-3l2-9 9 2-2 8z m-18-4l2-8 9 1-2 9z m-18-3l2-9 9 2-1 9z m-17-3l2-9 8 1-1 10z m-18-4l2-8 8 1-1 10z m-18-3l2-8 9 1-2 9z m-18-3l2-9 9 2-1 9z m-18-3l2-9 9 2-1 9z m-17-3l2-10 8 2-1 9z m-18-4l2-9 8 2-1 9z m-18-3l2-9 9 2-2 8z m-18-3l2-9 9 2-1 8z m-18-3l3-10 8 3-1 8z m-17-4l2-9 8 2-1 9z m-18-3l2-9 8 1-1 10z m0-305l9-2 1 9-8 1z m18-3l9-2 1 10-8 1z m18-3l9-1 1 8-8 2z m18-3l9-1 1 9-9 1z m18-3l9-1 1 9-9 1z m17-2l10-2 1 9-9 1z m18-3l10-2 1 9-9 2z m18-3l10-1 0 8-8 2z m18-3l10-1 0 9-8 1z m18-3l9-2 1 10-8 1z m18-2l9-2 1 9-8 1z m18-3l9-2 1 9-8 1z m18-4l9 0 1 8-9 2z m17-2l10-1 1 8-9 2z m18-3l10-2 1 10-9 1z m18-2l10-2 1 9-9 1z m18-4l10-1 0 9-8 1z m18-3l9 0 1 8-8 2z m18-2l9-2 1 9-8 2z m18-3l9-2 1 10-8 1z m18-2l9-2 1 9-9 1z" horiz-adv-x="2000" />
38
+
39
+ <glyph glyph-name="type_zoom_window_left_bottom" unicode="&#xe814;" d="M969 752a24 24 0 0 1-21-23l0-757a24 24 0 0 1 23-24l937 0a24 24 0 0 1 23 24l0 757a24 24 0 0 1-23 23l-937 0a24 24 0 0 1-2 0z m26-47l889 0 0-710-889 0 0 710z m289-225l-9 0 0-260 9-9 94 0 0 17-86 0 0 244 320 0 0-58 17 0 0 66-8 9-337 0z m328-252l-218 0 0-17 227 0 8 9 0 177-17 0z m-1556 356l-7 0 0-90 14 0 0 83 339 0 0 14-346 0z m360-7l347 0 0 14-347 0z m361 0l131 0 0-202 14 0 0 209-8 7-137 0z m-728-444l14 0 0 346-14 0z m859-119l14 0 0 346-14 0z m-859-59l7-7 182 0 0 14-175 0 0 157-14 0z m859 7l-295 0 0-14 301 0 8 7 0 45-14 0z m-655-14l346 0 0 14-346 0z m183 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 102-89-14-12-103 87-12-15 109-91 6-5 7 6 27 23 8 7-8 7-109 96z m374 331l3-1 0 7-3 0z m8-1l7-1 0 6-6 0z m12-2l6-1 1 6-6 1z m12-1l6-1 1 6-6 1z m12-2l6-1 1 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 0 5-5 2z m12-1l6-1 0 6-5 1z m12-2l6 0 1 5-6 1z m12-1l5-1 2 6-7 1z m12-2l6-1 1 7-7 0z m12-1l6-1 0 6-6 0z m11-2l7-1 0 7-6 0z m12-1l7-1 0 6-5 0z m12-2l6-1 1 6-6 1z m12-1l6-1 1 6-6 0z m13-2l5-1 1 6-6 1z m11-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 1 5-6 1z m12-1l6-1 1 6-7 1z m12-2l6-1 1 7-7 0z m12-1l6-1 0 6-5 0z m11-2l7-1 0 7-5 0z m13-1l6-1 0 6-5 0z m12-2l5-1 1 6-6 1z m12-1l5-1 2 6-7 0z m12-2l5-1 1 6-6 1z m11-2l6 0 1 5-6 1z m12-1l7-1 0 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m12-2l6 0 1 5-6 1z m12-1l6-1 1 6-6 1z m12-2l6-1 1 6-6 1z m12-1l6-1 0 6-5 0z m12-2l6-1 0 7-5 0z m12-1l6-1 1 6-6 0z m12-2l5-1 2 6-7 1z m12-1l6-1 1 6-7 0z m12-2l6-1 0 6-6 1z m11-2l7 0 0 5-6 1z m12-1l7-1 0 6-6 1z m12-2l6 0 1 5-6 2z m12-1l6-1 1 6-6 1z m13-2l5 0 1 5-6 1z m11-1l6-1 1 6-6 1z m12-2l6-1 1 6-6 1z m12-1l6-1 1 6-6 0z m12-2l6-1 1 6-6 1z m12-1l6-2 1 7-6 0z m12-2l6-1 1 6-7 1z m12-1l6-1 1 6-7 0z m12-2l6-1 0 6-5 1z m11-2l7 0 0 5-5 1z m12-1l7-1 0 6-5 1z m13-2l5 0 1 5-6 1z m-6-272l2-6 6 3-2 6z m-13-5l3-6 6 3-3 6z m-12-4l2-6 6 2-2 7z m-13-5l2-6 6 2-2 7z m-13-4l2-7 7 2-3 7z m-13-5l3-7 6 3-2 6z m-12-5l2-6 7 2-3 7z m-13-5l2-6 7 3-3 6z m-13-4l3-6 6 2-2 6z m-12-5l2-6 7 2-3 6z m-13-4l2-7 6 2-1 6z m-13-5l3-7 6 3-3 6z m-12-5l2-6 6 2-2 6z m-13-5l2-6 6 2-2 7z m-13-4l3-7 6 2-3 7z m-12-5l2-6 6 2-2 6z m-13-5l2-6 7 2-3 6z m-13-5l2-6 7 3-3 6z m-13-4l3-7 6 3-2 6z m-12-5l2-6 7 2-3 7z m-13-5l2-6 7 2-2 7z m-13-4l3-7 6 3-2 6z m-12-5l2-7 7 3-3 6z m-13-5l2-6 6 3-1 6z m-13-5l3-6 6 3-3 6z m-12-4l2-6 6 2-2 6z m-13-5l2-6 7 2-3 6z m-13-4l3-7 6 2-3 7z m-12-5l2-7 6 3-2 6z m-13-5l2-6 7 2-3 7z m-13-5l2-6 7 2-2 7z m-13-4l3-6 6 1-2 7z m-12-5l2-6 7 2-3 6z m-13-5l2-6 7 2-2 6z m-13-5l3-6 6 3-2 6z m-12-4l2-7 7 3-3 6z m-13-5l2-6 6 2-1 7z m-13-4l3-7 6 2-3 7z m-12-5l2-7 6 3-2 6z m-13-5l2-7 7 3-3 6z m-13-5l3-6 6 3-2 6z m-12-4l2-7 6 3-2 6z m-13-5l3-6 6 2-3 6z m-13-5l2-6 7 2-2 6z m-13-4l3-7 6 3-2 6z m-12-5l2-7 7 3-3 6z m-13-5l2-6 7 2-2 7z m-13-5l3-6 6 2-2 7z m-12-4l2-7 7 2-3 7z m-13-5l2-7 7 3-2 6z m-13-5l3-6 6 2-2 7z m-12-5l2-6 6 3-2 6z m-13-4l3-6 6 2-3 6z m-13-5l3-6 6 2-2 6z m-12-4l2-7 6 2-2 6z m-7-4l2-6 1 1-3 6z m4 620l11-3 3 10-11 3z m21-6l10-3 3 10-10 3z m21-6l10-2 3 10-11 3z m21-6l10-2 3 10-10 3z m20-5l11-3 2 10-10 3z m21-6l10-3 4 11-11 3z m21-5l10-4 3 11-10 3z m21-6l10-3 3 10-11 3z m20-6l11-3 2 11-10 2z m21-6l11-2 2 10-10 3z m21-6l10-2 3 10-10 3z m21-5l10-3 3 10-11 3z m20-6l10-2 4 10-11 3z m21-5l11-4 2 11-10 3z m21-6l10-3 3 10-10 3z m20-6l11-3 3 11-11 2z m22-5l10-3 3 10-11 3z m20-7l10-2 3 10-10 3z m6-264l2-7 7 1-1 7z m-13-2l0-7 7 1 0 7z m-15-1l2-8 6 2 0 7z m-13-2l0-7 7 1-1 7z m-15-2l1-7 7 1 0 7z m-14-2l1-7 8 2-2 7z m-14-1l1-7 7 1 0 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l0-7 8 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l0-7 8 1-1 8z m-14-1l1-7 6 1 0 7z m-14-2l0-7 8 1-2 7z m-14-2l0-7 7 1 0 8z m-15-1l1-7 8 1-2 7z m-13-2l0-7 7 1 0 7z m-15-2l2-7 6 1-1 8z m-13-1l0-7 7 1-1 7z m-15-2l1-7 7 1-1 7z" horiz-adv-x="2000" />
40
+
41
+ <glyph glyph-name="type_zoom_window_left_center" unicode="&#xe815;" d="M969 752a24 24 0 0 1-21-23l0-757a24 24 0 0 1 23-24l937 0a24 24 0 0 1 23 24l0 757a24 24 0 0 1-23 23l-937 0a24 24 0 0 1-2 0z m26-47l889 0 0-710-889 0 0 710z m289-225l-9 0 0-260 9-9 94 0 0 17-86 0 0 244 320 0 0-58 17 0 0 66-8 9-337 0z m328-252l-218 0 0-17 227 0 8 9 0 177-17 0z m-1556 445l-7 0 0-90 14 0 0 82 339 0 0 15-346 0z m360-8l347 0 0 15-347 0z m361 0l131 0 0-201 14 0 0 209-8 7-137 0z m-728-443l14 0 0 347-14 0z m859-118l14 0 0 346-14 0z m-859-60l7-7 182 0 0 14-175 0 0 157-14 0z m859 7l-295 0 0-14 301 0 8 7 0 45-14 0z m-655-14l346 0 0 14-346 0z m183 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 101-89-13-11-103 85-12-14 109-91 6-5 7 5 27 24 8 8-8 6-109 96z m376 333l9-2 2 8-8 2z m17-4l8-3 3 8-9 3z m16-5l9-2 2 9-8 2z m17-4l8-2 2 8-8 2z m16-4l9-3 2 9-8 2z m17-5l8-2 2 9-8 1z m16-4l9-2 2 8-8 2z m17-4l8-2 2 8-8 2z m17-5l8-2 2 8-8 3z m16-4l9-2 1 8-8 3z m17-5l8-1 2 8-8 2z m17-3l8-3 2 8-9 3z m16-5l8-2 2 8-8 2z m17-4l8-3 2 9-8 2z m16-4l8-3 3 9-9 2z m17-5l8-2 2 8-8 2z m16-4l8-2 3 8-8 2z m17-5l8-1 2 8-8 2z m16-4l8-2 3 8-8 2z m17-4l8-2 2 8-8 2z m16-5l8-2 3 9-8 2z m17-4l8-2 2 8-8 3z m16-4l9-2 2 8-9 2z m17-4l8-3 2 8-8 3z m17-5l8-2 2 8-9 3z m16-4l9-2 1 8-8 2z m17-4l8-3 2 9-8 2z m16-5l9-2 2 9-9 1z m17-4l8-2 2 8-8 2z m16-4l9-2 2 8-8 2z m17-5l8-2 3 8-9 2z m16-4l9-2 2 8-8 3z m17-5l8-1 3 8-9 2z m16-3l9-3 2 8-8 3z m17-5l8-2 3 8-9 2z m16-4l9-3 2 9-8 2z m17-4l8-3 3 9-9 2z m17-5l8-2 2 8-8 2z m16-4l9-3 2 9-9 2z m17-5l8-1 2 8-8 2z m17-4l8-2 2 8-9 2z m16-4l9-2 1 8-8 2z m17-5l8-2 2 9-8 2z m-2-271l2-6 5 2-2 5z m-10-2l1-6 6 1-2 6z m-11-3l1-6 6 2-1 5z m-10-2l1-6 5 1-1 6z m-11-4l1-5 6 2-1 5z m-11-2l2-5 5 1-1 5z m-10-3l1-5 6 2-2 5z m-11-2l1-5 6 1-1 5z m-11-3l2-5 5 2-1 5z m-10-2l1-5 6 1-2 5z m-11-3l1-5 6 1-1 6z m-10-2l1-6 5 2-1 5z m-11-3l1-5 6 1-1 6z m-11-2l2-6 5 2-1 5z m-10-3l1-5 6 1-2 6z m-11-3l1-5 6 2-1 5z m-11-2l2-5 5 1-1 5z m-10-3l1-5 6 2-2 5z m-11-2l2-5 5 1-1 5z m-10-3l1-5 5 2-1 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 5 2-1 5z m-11-2l2-6 5 1-2 6z m-10-3l1-5 5 1-1 6z m-11-2l1-6 5 1-1 6z m-11-3l2-5 5 1-2 6z m-10-2l1-6 5 1-1 6z m-11-3l1-5 5 1-1 5z m-10-3l1-5 5 1-1 5z m-11-2l1-5 5 1-1 5z m-11-3l2-5 5 1-2 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 5 1-1 5z m-11-2l2-6 5 1-2 6z m-10-3l1-5 5 1-1 5z m-11-2l1-6 5 1-1 6z m-10-3l1-5 5 1-1 5z m-11-2l1-6 6 1-2 6z m-11-3l2-5 5 1-1 5z m-10-3l1-5 6 1-2 5z m-11-2l1-5 6 1-1 5z m-11-3l2-5 5 1-1 5z m-10-2l1-5 6 1-2 5z m-11-3l1-5 6 1-1 5z m-10-2l1-6 5 1-1 6z m-11-3l1-6 6 2-1 5z m-11-2l2-6 5 1-1 6z m-10-3l1-6 6 2-2 5z m-11-2l1-6 6 1-1 6z m-11-4l2-5 5 2-1 5z m-10-2l1-5 6 1-2 5z m-11-3l1-5 6 2-1 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 6 2-1 5z m-11-2l2-5 5 1-1 5z m-10-3l2-5 5 1-2 6z m-10-2l1-6 5 2-1 5z m-11-3l1-5 5 1-1 6z m-11-2l2-6 5 2-2 5z m-10-3l1-5 5 1-1 6z m-11-3l1-5 5 2-1 5z m-10-2l1-5 5 1-1 5z m-11-3l1-5 5 2-1 5z m-11-2l2-5 5 1-2 5z m-10-3l1-5 5 2-1 5z m-11-2l1-5 5 1-1 5z m1 522l10-3 2 10-10 3z m20-5l10-3 2 10-10 3z m20-5l10-3 3 10-10 3z m20-6l10-2 3 10-10 2z m20-5l10-2 3 10-10 2z m20-5l11-3 2 11-10 2z m21-6l10-2 2 10-10 2z m20-5l10-2 2 10-10 2z m20-5l11-3 2 10-10 3z m21-5l10-3 2 10-10 3z m20-5l10-3 2 10-10 3z m20-6l10-2 3 10-10 2z m20-5l10-2 3 10-10 2z m20-5l10-3 3 11-10 2z m21-5l10-3 2 10-10 3z m20-5l10-3 2 10-10 3z m20-6l10-3 3 10-11 4z m20-5l10-3 3 10-10 3z m20-5l2-1 2 10-1 1z m-8-262l2-10 10 3-2 9z m-20-5l3-10 10 3-3 10z m-19-5l2-9 10 2-3 10z m-20-4l2-10 10 2-2 10z m-19-5l2-10 9 2-1 10z m-20-5l2-10 10 2-2 10z m-20-5l3-10 9 3-2 10z m-20-5l3-10 10 3-3 10z m-19-5l2-9 10 2-2 10z m-20-4l2-10 10 2-2 10z m-20-5l3-10 10 2-3 10z m-19-4l2-10 10 2-3 9z m-20-5l3-10 10 2-3 10z m-19-5l2-10 10 2-3 10z m-20-5l2-10 10 3-2 9z m-20-5l3-10 9 3-2 10z m-20-5l3-9 10 2-3 10z m-19-4l2-10 10 2-2 10z m-20-5l2-10 10 2-2 10z" horiz-adv-x="2000" />
42
+
43
+ <glyph glyph-name="type_zoom_window_left_top" unicode="&#xe816;" d="M969 752a24 24 0 0 1-21-23l0-757a24 24 0 0 1 23-24l937 0a24 24 0 0 1 23 24l0 757a24 24 0 0 1-23 23l-937 0a24 24 0 0 1-2 0z m26-47l889 0 0-710-889 0 0 710z m289-225l-9 0 0-260 9-9 94 0 0 17-86 0 0 244 320 0 0-58 17 0 0 66-8 9-337 0z m328-252l-218 0 0-17 227 0 8 9 0 177-17 0z m-1556 517l-7 0 0-90 14 0 0 83 339 0 0 14-346 0z m360-7l347 0 0 14-347 0z m361 0l131 0 0-201 14 0 0 208-8 7-137 0z m-728-443l14 0 0 346-14 0z m859-119l14 0 0 346-14 0z m-859-59l7-8 182 0 0 15-175 0 0 156-14 0z m859 7l-295 0 0-15 301 0 8 8 0 45-14 0z m-655-15l346 0 0 15-346 0z m183 453c-67 0-123-50-123-115 0-64 56-115 123-115 67 0 123 51 123 115 0 65-56 115-123 115z m0-24c56 0 100-41 100-91 0-49-44-91-100-91-56 0-100 42-100 91 0 50 44 91 100 91z m103-129l-13-14 101-90-13-11-103 86-12-15 109-90 6-6 7 6 27 24 8 6-8 8-109 96z m381 335l9-4 4 10-9 4z m19-7l10-4 3 10-9 3z m19-7l10-4 3 9-9 4z m20-8l9-3 4 10-10 3z m18-7l10-3 3 9-9 4z m20-7l9-3 4 9-10 4z m19-7l9-4 4 10-10 3z m19-7l9-4 4 10-9 4z m19-7l10-3 3 9-10 4z m19-7l10-4 3 10-9 3z m19-7l10-4 3 10-9 3z m20-8l9-3 3 10-9 3z m18-6l10-4 4 10-10 3z m20-7l9-4 4 9-10 4z m19-8l10-3 3 9-10 4z m19-7l9-3 4 10-9 3z m19-7l10-3 3 9-10 4z m19-7l9-3 4 9-9 4z m19-7l10-4 4 10-10 3z m19-7l10-4 3 10-9 4z m20-7l9-4 4 10-10 3z m19-7l9-4 4 9-10 4z m19-8l9-3 4 10-10 3z m19-7l9-3 4 10-10 3z m19-6l10-4 3 9-9 4z m19-8l10-3 3 9-9 4z m20-7l9-4 4 10-10 4z m18-7l10-3 3 9-9 4z m20-7l9-3 4 9-10 4z m18-7l10-4 4 10-10 3z m20-7l9-4 4 10-9 3z m19-7l10-4 3 10-10 4z m19-7l10-4 3 10-9 3z m19-7l10-4 3 9-10 4z m19-8l10-3 3 10-9 3z m19-7l10-3 4 9-10 4z m20-7l9-3 4 9-10 4z m2-272l1-4 4 0-1 5z m-8-1l1-4 4 1-1 3z m-7-5l3 0 0 4-4 0z m-8 3l0-4 4 0-1 5z m-9-1l1-4 4 1-1 3z m-8-1l1-4 4 0 0 5z m-8-1l1-4 4 1 0 3z m-7-1l0-4 4 0-1 4z m-8-1l0-4 4 0-1 5z m-9-1l1-4 4 1 0 3z m-7-2l0-3 4 0 0 4z m-8 0l0-5 4 1 0 4z m-8-1l0-4 4 0 0 4z m-8-5l5 0-1 4-4 0z m-8 3l1-5 3 1 0 4z m-8-2l1-3 3 0 0 4z m-8-5l5 1-1 4-4 0z m-8 4l0-4 5 0-1 4z m-8-2l1-3 4 0-1 4z m-7-5l3 1 0 4-4 0z m-8 3l0-3 4 0-1 4z m-9-1l1-4 4 1-1 4z m-7-5l4 1-1 4-4 0z m-9 3l1-3 4 0 0 4z m-7-1l0-4 4 1-1 4z m-8-1l0-4 4 1-1 4z m-9-1l1-4 4 1 0 4z m-7-1l0-4 4 1 0 4z m-8-1l0-4 4 1 0 4z m-8-1l0-4 4 1-1 4z m-8-1l0-4 5 1-1 3z m-8-1l1-4 3 0 0 5z m-8-1l1-4 3 1 0 4z m-8-1l0-4 4 1 0 3z m-8-1l0-4 5 0-1 5z m-8-1l1-4 4 1-1 3z m-7-5l3 0 0 4-4 0z m-9 3l1-4 4 0-1 5z m-8-1l1-4 4 1-1 3z m-7-5l4 0-1 4-4 0z m-9 3l1-4 4 0 0 4z m-7-1l0-4 4 1-1 3z m-8-5l4 0-1 4-3 0z m-9 3l1-4 4 0 0 4z m-8-2l1-3 4 0 0 4z m-7 0l0-4 4 0 0 4z m-8-1l0-4 4 1-1 3z m-8-2l0-3 5 0-1 4z m-8 0l0-5 4 1 0 4z m-8-1l1-4 3 0 0 4z m-8-2l0-3 4 0 0 4z m-8 0l0-5 5 1-1 4z m-8-2l1-3 4 0-1 4z m-8-1l1-4 3 1 0 4z m-8 0l1-5 4 1-1 4z m-8-2l0-3 5 0-1 4z m-7-5l4 1-1 4-4 0z m-9 3l1-3 4 0 0 4z m-7-1l0-4 4 1-1 4z m-8-5l4 1-1 4-3 0z m-9 3l1-3 4 0-1 4z m-8-1l1-4 4 1 0 4z m-7-5l4 1 0 3-4 0z m-8 3l0-4 4 0-1 5z m-8-1l0-4 4 1 0 4z m-8-1l0-4 4 1 0 4z m-8-1l1-4 3 1 0 4z m-8-1l0-4 4 1 0 3z m-8-1l0-4 5 0-1 5z m-8-1l1-4 4 1-1 4z m-8-1l1-4 3 1 0 3z m-8-1l1-4 3 0 0 5z m-8-1l0-4 5 1-1 3z m-8-1l1-4 4 0-1 4z m-8-1l1-4 4 0 0 5z m-8-1l1-4 4 1-1 3z m-7-5l4 0-1 4-3 0z m-9 3l1-4 4 0-1 4z m-8-1l1-4 4 0 0 4z m-7-5l4 0 0 4-4 0z m-8 3l0-4 4 0-1 4z m-8-1l0-4 4 0 0 4z m-8-5l4 0 0 4-5 0z m-8 3l1-4 3 0 0 4z m-8-2l0-3 4 0 0 4z m-8 0l0-5 5 1-1 4z m-8-1l0-4 5 0-1 4z m-8-2l1-3 3 0 0 4z m-1 508l12-6 6 12-13 5z m25-11l12-6 5 13-12 5z m25-11l12-5 5 12-12 5z m24-10l13-6 5 13-12 5z m25-11l12-6 6 13-13 5z m25-11l12-5 6 12-13 5z m25-10l12-6 5 13-12 5z m24-11l12-5 6 12-12 5z m25-10l12-6 5 12-12 5z m25-11l12-6 5 13-12 5z m24-11l13-5 5 12-12 5z m25-10l12-6 6 13-13 5z m25-11l12-6 5 13-12 5z m25-11l12-5 5 12-12 5z m24-10l13-6 5 13-12 5z m14-269l2-7 7 1-1 7z m-13-2l0-7 7 1 0 7z m-15-1l2-8 6 2 0 7z m-13-2l0-7 7 1-1 7z m-15-2l1-7 7 1 0 7z m-14-2l1-7 8 2-2 7z m-14-1l1-7 7 1 0 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l1-7 7 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l1-7 7 2-1 7z m-14-1l0-7 8 1-1 7z m-14-2l1-7 7 1-1 7z m-14-2l0-7 8 1-1 8z m-14-1l1-7 6 1 0 7z m-14-2l0-7 8 1-2 7z m-14-2l0-7 7 1 0 8z m-15-1l1-7 8 1-2 7z m-13-2l0-7 7 1 0 7z m-15-2l2-7 6 1-1 8z m-13-1l0-7 7 1-1 7z m-15-2l1-7 7 1-1 7z" horiz-adv-x="2000" />
44
+
45
+ <glyph glyph-name="type_zoom_window_right_bottom" unicode="&#xe817;" d="M1011 752a24 24 0 0 0 22-23l0-757a24 24 0 0 0-24-24l-936 0a24 24 0 0 0-24 24l0 757a24 24 0 0 0 24 23l936 0a24 24 0 0 0 2 0z m-26-47l-889 0 0-710 889 0 0 710z m-289-225l9 0 0-260-9-9-93 0 0 17 85 0 0 244-320 0 0-58-17 0 0 66 8 9 337 0z m-328-252l218 0 0-17-227 0-8 9 0 177 17 0z m1556 356l7 0 0-90-14 0 0 83-339 0 0 14 346 0z m-360-7l-346 0 0 14 346 0z m-361 0l-130 0 0-202-15 0 0 209 8 7 137 0z m728-444l-14 0 0 346 14 0z m-858-119l-15 0 0 346 15 0z m858-59l-7-7-182 0 0 14 175 0 0 157 14 0z m-858 7l294 0 0-14-301 0-8 7 0 45 15 0z m655-14l-347 0 0 14 347 0z m-275 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 101-89-13-12-103 87-12-15 109-91 6-5 7 6 26 23 9 7-9 7-108 96z m-491 330l3 1-1 6-3 0z m-13 5l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-1l1-6 6 1-1 6z m-12-2l1-6 6 1 0 6z m-12-2l1-5 6 0-1 7z m-11-1l0-6 6 1-1 6z m-12-2l0-5 6 0-1 7z m-12-1l0-6 6 1-1 6z m-13-2l2-5 5 0 0 6z m-12-1l2-6 5 1 0 6z m-11-1l1-7 5 1 0 6z m-12-2l0-6 7 1-1 5z m-12-1l0-7 7 1-1 6z m-12-2l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-1l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-2l1-5 6 0-1 7z m-11-1l0-6 6 1-1 6z m-13-2l1-5 6 0-1 7z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0 0 6z m-12-1l1-6 6 1 0 6z m-11-1l0-7 6 1 0 6z m-12-2l0-6 7 1-2 5z m-12-1l0-7 7 1-2 6z m-12-2l1-6 6 1-1 5z m-12-2l1-6 5 1 0 6z m-12-1l1-6 5 1 0 5z m-12-2l1-6 6 1-1 6z m-12-2l1-5 6 0-1 6z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0-1 7z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0 0 6z m-12-1l1-6 6 1-1 6z m-11-2l0-6 6 1-1 6z m-12-1l0-6 6 1-1 5z m-12-1l0-7 6 1-1 6z m-12-2l1-6 5 1 0 5z m-13-2l2-6 5 1 0 6z m-11-1l1-6 5 1 0 5z m-12-2l0-6 7 1-1 6z m-12-2l0-5 7 0-1 6z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0-1 7z m-12-1l1-6 6 1-1 6z m-12-2l1-5 6 0-1 6z m-12-1l1-6 6 1-1 6z m-11-2l0-6 6 1-1 6z m-13-1l1-6 6 1-1 5z m-12-2l1-6 6 1-1 6z m-12-1l2-7 5 2 0 5z m-12-2l1-6 6 1 0 6z m-11-1l0-6 6 1 0 5z m-12-2l0-6 7 1-1 6z m-12-2l0-5 7 0-2 6z m-12-1l1-6 6 1-1 6z m-12-2l1-5 5 0 0 6z m4-280l6-3 3 6-7 3z m12-5l7-3 2 6-6 3z m13-5l6-2 3 6-7 3z m13-5l6-2 3 6-7 3z m12-5l7-2 2 7-6 2z m13-4l6-3 3 7-7 2z m13-5l6-2 2 6-6 3z m13-4l6-3 2 6-6 3z m12-5l6-2 3 6-6 2z m13-5l6-2 2 6-6 2z m13-5l6-2 2 7-6 1z m12-4l6-3 3 7-6 2z m13-5l6-2 2 6-6 2z m13-5l6-2 3 6-7 3z m12-5l7-2 2 7-6 2z m13-4l6-2 3 6-7 2z m13-5l6-2 2 6-6 2z m12-4l7-3 2 6-6 3z m13-5l6-3 3 7-7 2z m12-5l7-2 2 6-6 3z m14-5l6-2 2 6-6 3z m12-4l6-3 3 7-6 2z m13-5l6-3 2 7-6 2z m13-4l6-3 2 6-6 3z m12-5l6-3 3 6-6 3z m13-5l6-2 2 6-6 2z m13-5l6-2 2 6-6 2z m12-5l7-2 2 7-6 2z m13-4l6-3 3 7-7 2z m12-5l7-2 2 6-6 3z m13-5l7-2 2 6-6 3z m13-5l6-1 3 6-7 2z m12-4l7-2 2 6-6 2z m14-5l6-2 2 6-7 2z m12-4l6-3 3 6-6 3z m13-5l6-3 2 7-6 2z m13-5l6-2 2 6-6 3z m12-5l6-2 3 7-6 2z m13-4l6-3 2 7-6 2z m12-5l7-3 2 7-6 2z m13-4l7-3 2 6-6 3z m13-5l6-3 3 7-7 2z m12-5l7-2 2 6-6 2z m13-5l7-2 2 6-7 2z m13-4l6-3 3 7-7 2z m12-5l7-3 2 7-6 2z m14-5l6-2 2 6-7 3z m12-5l6-2 3 6-6 3z m13-5l6-2 2 7-6 2z m13-4l6-3 2 7-6 2z m12-5l6-2 3 6-6 3z m13-4l6-3 2 6-6 3z m12-5l7-2 2 6-6 2z m13-5l7-2 2 6-7 2z m13-5l6-2 3 7-7 1z m12-4l2-1 2 6-1 1z m-15 632l3-10 11 3-3 10z m-20-6l3-10 10 3-3 10z m-21-5l3-10 10 2-2 11z m-21-6l3-10 11 2-4 11z m-20-6l2-10 11 3-3 10z m-21-5l3-11 10 3-3 11z m-21-6l3-11 10 4-2 10z m-21-6l3-10 10 3-2 10z m-20-5l2-11 11 3-3 10z m-21-6l3-10 10 2-3 11z m-21-6l3-10 11 2-4 11z m-21-6l3-10 10 3-2 10z m-20-5l3-10 10 2-3 11z m-21-6l2-11 11 4-3 10z m-21-6l3-10 10 3-3 10z m-21-5l3-11 11 3-3 10z m-21-6l4-10 10 3-3 10z m-20-6l3-10 10 2-3 11z m-1-278l6-1 2 7-8 1z m14-2l7-1 0 7-6 1z m14-1l7-2 1 8-8 1z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-8 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l8-1 0 7-7 1z m14-1l7-2 2 7-8 2z m14-2l8-1 0 7-7 1z m15-2l6-1 1 7-7 1z m13-2l8-1 0 7-6 2z m15-1l7-1 0 7-7 1z m13-2l8-1 1 7-7 1z m15-2l7-1 0 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 0 7-6 1z m14-2l7-1 1 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z" horiz-adv-x="2000" />
46
+
47
+ <glyph glyph-name="type_zoom_window_right_center" unicode="&#xe818;" d="M1011 752a24 24 0 0 0 22-23l0-757a24 24 0 0 0-24-24l-936 0a24 24 0 0 0-24 24l0 757a24 24 0 0 0 24 23l936 0a24 24 0 0 0 2 0z m-26-47l-889 0 0-710 889 0 0 710z m-289-225l9 0 0-260-9-9-93 0 0 17 85 0 0 244-320 0 0-58-17 0 0 66 8 9 337 0z m-328-252l218 0 0-17-227 0-8 9 0 177 17 0z m1556 445l7 0 0-90-14 0 0 82-339 0 0 15 346 0z m-360-8l-346 0 0 15 346 0z m-361 0l-130 0 0-201-15 0 0 209 8 7 137 0z m728-443l-14 0 0 347 14 0z m-858-118l-15 0 0 346 15 0z m858-60l-7-7-182 0 0 14 175 0 0 157 14 0z m-858 7l294 0 0-14-301 0-8 7 0 45 15 0z m655-14l-347 0 0 14 347 0z m-275 453c-67 0-123-51-123-115 0-65 56-115 123-115 67 0 123 50 123 115 0 64-56 115-123 115z m0-24c56 0 100-42 100-91 0-50-44-91-100-91-56 0-100 41-100 91 0 49 44 91 100 91z m103-130l-13-14 101-89-13-11-103 85-12-14 109-91 6-5 7 5 26 24 9 8-9 6-108 96z m-502 339l3-8 8 2-2 8z m-16-5l2-8 8 3-2 8z m-17-3l3-9 8 2-3 9z m-16-5l2-8 8 2-2 8z m-17-4l3-9 8 3-3 8z m-16-4l2-9 8 2-2 8z m-17-5l3-8 8 2-3 8z m-16-4l2-8 8 2-2 8z m-17-5l2-8 9 2-3 9z m-16-4l2-8 8 2-2 9z m-17-4l2-8 8 1-2 9z m-16-5l1-8 9 3-2 8z m-17-4l2-8 8 2-2 8z m-17-4l2-9 8 3-1 8z m-16-4l2-9 8 3-2 8z m-17-5l2-8 8 2-2 8z m-17-4l3-8 8 2-2 8z m-16-4l2-8 8 1-2 9z m-17-5l3-8 8 2-2 8z m-16-4l2-8 8 2-2 8z m-17-4l3-9 8 2-2 9z m-16-5l2-8 9 2-3 9z m-17-4l3-8 8 2-2 8z m-16-5l2-8 8 3-2 8z m-17-4l2-8 9 2-2 9z m-16-4l2-8 8 2-2 8z m-17-4l2-9 8 3-1 8z m-16-4l1-9 9 2-2 8z m-17-5l2-8 8 2-2 8z m-17-4l2-8 9 2-2 8z m-16-5l2-8 8 2-2 8z m-17-4l2-8 9 2-3 9z m-17-4l3-8 8 1-2 9z m-16-5l2-8 9 3-3 8z m-17-4l3-8 8 2-2 8z m-16-4l2-9 9 3-3 8z m-16-4l2-9 8 3-2 8z m-17-5l2-8 9 2-3 8z m-16-4l2-9 8 3-2 8z m-17-4l2-8 8 1-2 9z m-16-5l1-8 9 2-2 8z m-17-4l2-8 8 2-2 8z m-17-4l2-9 8 2-1 9z m5-282l5-2 2 6-5 1z m11-3l5-1 1 6-5 1z m11-2l5-2 1 6-5 1z m10-3l5-1 2 6-5 1z m10-2l6-2 1 5-5 2z m11-3l6-1 1 5-6 1z m11-2l5-2 1 5-5 2z m10-3l6-1 1 5-6 1z m11-2l5-2 2 5-6 2z m10-3l6-1 1 5-5 1z m11-3l6-1 1 5-6 2z m11-2l5-2 2 6-6 1z m10-3l6-1 1 5-5 2z m11-2l6-2 1 6-6 1z m11-3l5-1 1 5-5 2z m10-2l6-2 1 5-6 2z m11-3l5-1 2 5-6 1z m10-2l6-2 1 5-5 2z m11-3l6-1 1 5-6 1z m11-2l5-2 2 5-6 2z m10-3l5-1 2 5-5 1z m11-2l5-2 2 5-6 2z m11-4l5-1 1 6-5 1z m10-2l5-1 1 5-5 2z m11-3l5-1 1 6-5 1z m10-2l5-1 2 5-5 2z m11-3l5-1 1 6-5 1z m11-2l5-1 1 5-5 1z m10-3l5-1 2 5-5 1z m11-2l5-1 1 5-5 1z m11-3l5-1 1 5-5 1z m10-2l5-1 1 5-5 1z m11-3l5-1 1 5-5 1z m10-3l5-1 2 6-5 1z m11-2l5-1 1 5-5 1z m11-3l5-1 1 6-5 1z m10-2l5-1 2 5-5 1z m11-3l5-1 1 6-5 1z m11-2l5-1 1 5-5 1z m10-3l5-1 1 5-5 1z m10-2l6-1 1 5-6 1z m11-3l5-1 2 5-6 1z m10-2l6-1 1 5-5 1z m11-3l6-1 1 5-6 1z m11-3l5-1 2 6-6 1z m10-2l6-2 1 6-5 1z m11-3l6-1 1 6-6 1z m11-2l5-2 1 6-5 1z m10-3l6-1 1 6-6 1z m11-2l5-2 2 5-6 2z m10-3l6-1 1 5-5 1z m11-2l6-2 1 5-6 2z m11-3l5-1 2 5-6 1z m10-2l6-2 1 5-5 2z m11-3l6-1 1 5-6 1z m11-3l5-1 1 5-5 2z m10-2l5-2 2 6-6 1z m11-3l5-1 2 5-6 2z m10-2l5-2 2 6-5 1z m11-3l5-1 1 5-5 2z m11-2l5-2 1 5-5 2z m10-3l5-1 2 5-5 1z m11-2l5-2 1 5-5 2z m11-3l5-1 1 5-5 1z m10-2l5-2 1 5-5 2z m11-3l5-1 1 5-5 1z m-7 533l2-10 10 3-2 10z m-20-5l2-10 10 3-2 10z m-21-5l3-10 10 3-2 10z m-20-5l3-10 10 2-3 10z m-20-5l3-10 10 2-3 10z m-20-5l3-11 10 3-3 10z m-20-6l2-10 10 2-2 10z m-20-5l2-10 10 2-2 10z m-21-6l3-10 10 3-3 10z m-20-5l3-10 10 3-3 10z m-20-5l3-10 10 3-3 10z m-21-5l3-10 11 2-4 10z m-20-5l3-10 10 2-3 10z m-20-5l3-11 10 3-3 10z m-20-6l2-10 11 3-3 10z m-20-5l2-10 10 3-2 10z m-21-6l3-10 10 3-2 11z m-20-5l3-10 10 3-3 10z m-11-3l2-10 2 1-3 10z m0-278l10-3 2 10-10 2z m19-5l10-3 3 10-10 3z m20-5l10-2 2 9-9 3z m20-5l10-2 2 10-10 2z m20-5l9-2 3 10-10 2z m19-5l10-2 3 10-10 2z m20-4l9-3 3 10-10 3z m19-5l10-3 3 10-10 3z m20-5l10-2 2 9-10 3z m20-5l10-2 2 10-10 2z m19-5l10-2 3 10-10 2z m20-4l10-2 2 10-9 1z m20-5l10-2 2 10-10 2z m20-5l10-2 1 10-9 2z m19-4l10-3 2 10-10 2z m20-5l9-3 3 10-10 3z m19-5l10-2 3 9-10 3z m20-5l10-2 2 10-9 2z m20-5l10-2 2 10-10 2z" horiz-adv-x="2000" />
48
+
49
+ <glyph glyph-name="type_zoom_window_right_top" unicode="&#xe819;" d="M1011 752a24 24 0 0 0 22-23l0-757a24 24 0 0 0-24-24l-936 0a24 24 0 0 0-24 24l0 757a24 24 0 0 0 24 23l936 0a24 24 0 0 0 2 0z m-26-47l-889 0 0-710 889 0 0 710z m-289-225l9 0 0-260-9-9-93 0 0 17 85 0 0 244-320 0 0-58-17 0 0 66 8 9 337 0z m-328-252l218 0 0-17-227 0-8 9 0 177 17 0z m1556 517l7 0 0-90-14 0 0 83-339 0 0 14 346 0z m-360-7l-346 0 0 14 346 0z m-361 0l-130 0 0-201-15 0 0 208 8 7 137 0z m728-443l-14 0 0 346 14 0z m-858-119l-15 0 0 346 15 0z m858-59l-7-8-182 0 0 15 175 0 0 156 14 0z m-858 7l294 0 0-15-301 0-8 8 0 45 15 0z m655-15l-347 0 0 15 347 0z m-275 453c-67 0-123-50-123-115 0-64 56-115 123-115 67 0 123 51 123 115 0 65-56 115-123 115z m0-24c56 0 100-41 100-91 0-49-44-91-100-91-56 0-100 42-100 91 0 50 44 91 100 91z m103-129l-13-14 101-90-13-11-103 86-12-15 109-90 6-6 7 6 26 24 9 6-9 8-108 96z m-509 341l4-10 9 4-3 10z m-19-7l3-10 10 4-3 9z m-19-8l4-9 9 4-4 9z m-20-6l4-10 10 3-4 10z m-18-8l3-9 10 3-4 10z m-20-7l4-9 9 3-3 10z m-18-7l3-10 10 4-4 9z m-20-7l4-10 9 4-3 10z m-19-7l4-9 9 3-3 10z m-19-7l3-10 10 4-4 9z m-19-7l3-10 10 4-4 9z m-19-7l3-10 10 3-4 10z m-19-7l3-10 10 4-4 9z m-20-8l4-9 9 4-3 9z m-19-7l4-9 10 3-4 10z m-19-6l4-10 9 3-4 10z m-19-8l3-9 10 3-3 10z m-19-7l4-9 9 3-4 10z m-19-7l3-10 10 4-3 9z m-19-7l3-10 10 4-4 10z m-20-7l4-10 10 4-4 9z m-18-8l3-9 10 4-4 9z m-20-6l4-10 9 3-3 10z m-19-7l4-10 9 3-3 10z m-19-8l3-9 10 4-3 9z m-19-7l4-9 9 3-4 10z m-19-7l3-10 10 4-4 10z m-19-7l3-9 10 3-4 10z m-20-7l4-9 9 3-3 10z m-18-7l3-10 10 4-4 9z m-20-7l4-10 9 4-3 9z m-19-7l4-10 9 4-3 10z m-19-7l4-10 9 4-4 9z m-19-8l3-9 10 4-3 9z m-19-6l3-10 10 3-4 10z m-19-8l3-9 10 3-4 10z m-20-7l4-9 9 3-3 10z m6-282l5 0 0 4-4 1z m9 0l3-1 1 4-4 0z m8-2l3 0 1 4-4 0z m7-1l5 0 0 4-4 1z m8 0l4-1 1 4-4 0z m8-2l4 0 1 4-4 1z m8 0l4-1 1 4-4 0z m8-2l4 0 0 4-3 0z m8-1l4 0 1 4-4 1z m8 0l4-1 1 4-5 0z m8-2l4 0 0 3-4 1z m8-1l4-1 0 5-3 0z m8-1l4 0 0 4-3 0z m8-1l4 0 1 4-5 0z m8-1l3-1 1 5-4 0z m8-1l4 0 0 3-4 1z m8-1l4-1 0 5-4 0z m7-1l5 0 0 4-4 0z m9-1l3 0 1 3-4 1z m8-1l3-1 1 5-4 0z m7-1l5 0 0 4-4 0z m8-1l4 0 1 3-4 1z m8-1l4-1 1 5-4 0z m9-1l3 0 1 3-4 1z m7-1l4-1 0 4-3 1z m8-1l4-1 1 5-4 0z m8-1l4 0 1 3-5 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 4-3 1z m8-1l4-1 0 4-3 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 4-4 1z m8-1l4-1 0 4-4 1z m8-1l4-1 0 4-4 0z m7-2l5 0 0 4-4 1z m9 0l3-1 1 4-4 1z m8-1l3-1 1 4-4 0z m7-2l5 0 0 4-4 1z m8 0l5-1 0 4-4 0z m8-2l4 0 1 4-4 0z m9-1l3 0 1 4-4 1z m7 0l4-1 0 4-3 0z m8-2l4 0 1 4-4 0z m8-1l4 0 1 4-4 1z m8 0l4-1 1 4-5 0z m8-2l4 0 0 4-3 1z m8 0l4-1 0 4-3 0z m8-2l4 0 1 4-5 0z m8-1l4 0 0 4-4 1z m8 0l4-1 0 4-4 0z m8-2l4 0 0 3-3 1z m7-1l5-1 0 5-4 0z m9-1l3 0 1 4-4 0z m8-1l3 0 1 3-4 1z m8-1l4-1 0 5-4 0z m7-1l5 0 0 3-4 1z m8-1l4-1 1 5-4 0z m9-1l3 0 1 4-4 0z m7-1l4 0 1 3-4 1z m8-1l4-1 1 5-4 0z m8-1l4 0 1 3-4 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 5-3 0z m8-1l4 0 0 3-3 1z m8-1l4-1 1 4-5 1z m8-1l4-1 1 4-5 1z m8-1l4-1 0 4-4 1z m8-1l4-1 0 4-3 1z m7-1l5-1 0 4-4 1z m9-1l4-1 0 4-4 1z m8-1l3-1 1 4-4 1z m8-1l4-1 0 4-4 1z m7-1l5-1 0 4-4 1z m8-1l4-1 1 4-4 0z m9-2l3 0 1 4-4 1z m7 0l4-1 1 4-4 1z m8-1l4-1 1 4-4 0z m8-2l4 0 1 4-4 1z m8 0l4-1 1 4-5 0z m8-2l4 0 0 4-3 0z m8-1l4 0 0 4-3 1z m8 0l4-1 1 4-4 0z m8-2l4 0 1 4-5 0z m8-1l4 0 0 4-4 0z m8-1l4 0 0 4-3 0z m8-1l4 0 0 4-4 0z m8 0l4-1 0 4-4 0z m8-2l3 0 1 3-4 1z m-13 517l6-12 12 6-5 11z m-24-10l5-13 12 6-5 12z m-25-11l5-12 12 5-5 12z m-25-10l5-13 13 6-6 12z m-25-11l6-13 12 6-5 12z m-24-11l5-12 13 5-6 12z m-25-10l5-13 13 6-5 12z m-25-11l6-12 12 5-5 12z m-24-11l5-12 12 6-5 11z m-25-10l5-13 13 6-6 12z m-25-11l5-12 13 5-5 12z m-25-10l6-13 12 6-5 12z m-24-11l5-13 12 6-5 12z m-25-11l6-12 11 5-5 12z m-24-10l5-13 12 6-6 12z m-5-282l6-1 2 7-8 1z m14-2l7-1 0 7-6 1z m14-1l7-2 1 8-8 1z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-8 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z m14-1l7-2 1 7-7 2z m14-2l7-1 1 7-7 1z m14-2l8-1 0 7-7 1z m14-1l7-2 2 7-8 2z m14-2l8-1 0 7-7 1z m15-2l6-1 1 7-7 1z m13-2l8-1 0 7-6 2z m15-1l7-1 0 7-7 1z m13-2l8-1 1 7-7 1z m15-2l7-1 0 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 0 7-6 1z m14-2l7-1 1 7-7 2z m14-1l7-1 1 7-7 1z m14-2l7-1 1 7-7 1z" horiz-adv-x="2000" />
50
+
51
+ <glyph glyph-name="zoom_level_2" unicode="&#xe81a;" d="M511 747c0-764 0-764 0-764m-34 195l-211 0 0 36 81 89c12 12 22 24 31 34 9 10 17 20 23 30 7 10 12 20 15 30 4 10 5 21 5 33 0 9-1 17-4 24-2 7-6 13-11 18-5 4-11 8-17 11-7 2-14 3-22 3-15 0-28-3-40-9-12-6-23-13-34-22l-24 27c6 6 13 11 20 16 7 5 15 9 23 12 8 4 17 7 26 9 9 2 19 3 29 3 15 0 28-2 40-6 12-4 22-10 31-18 8-8 15-18 19-29 5-11 7-24 7-38 0-13-2-25-6-37-4-12-10-24-17-35-7-12-16-23-26-35-10-12-21-24-32-36l-65-70 0-1 159 0 0-39m123 131l-82 124 48 0 58-95 58 95 48 0-82-124 86-131-48 0-62 101-63-101-48 0 87 131" horiz-adv-x="1000" />
52
+
53
+ <glyph glyph-name="zoom_level_3" unicode="&#xe81b;" d="M511 747c0-764 0-764 0-764m-43 457c0-11-2-21-5-31-4-9-9-17-15-24-7-7-14-12-23-17-9-4-19-7-30-9l0-1c27-4 48-13 62-27 14-14 22-32 22-54 0-15-3-29-8-41-5-12-13-23-23-32-10-9-23-16-39-21-15-5-34-7-55-7-17 0-33 1-48 4-15 2-29 7-42 14l0 39c14-7 28-12 44-16 16-4 31-6 45-6 14 0 27 2 37 5 10 3 19 7 25 13 7 6 12 13 15 21 4 9 5 18 5 28 0 11-2 20-6 27-4 8-10 14-17 19-8 5-17 8-28 11-11 2-23 3-37 3l-31 0 0 35 31 0c12 0 23 2 33 5 10 3 18 7 25 13 6 6 11 13 15 20 3 8 5 17 5 26 0 9-2 16-4 22-3 6-7 12-12 16-5 5-11 8-19 10-7 3-15 4-23 4-17 0-31-3-44-8-13-5-25-12-36-20l-21 29c5 5 12 9 19 13 7 4 15 8 24 11 8 3 17 6 27 8 10 2 20 2 31 2 16 0 31-2 44-6 12-4 23-10 31-17 9-8 15-17 20-27 4-10 6-22 6-34m134-129l-82 124 48 0 58-95 58 95 48 0-83-124 87-131-48 0-62 101-63-101-48 0 87 131" horiz-adv-x="1000" />
54
+
55
+ <glyph glyph-name="zoom_level_15" unicode="&#xe81c;" d="M511 747c0-764 0-764 0-764m-302 228l-41 0 0 212c0 7 0 14 0 21 0 8 0 15 0 23 1 7 1 15 1 21 0 7 1 13 1 19-3-3-5-6-7-8-2-2-4-3-6-5-2-2-5-4-7-6-2-2-5-5-8-8l-35-28-22 29 89 69 35 0 0-339m180 55l4-5c-2-8-5-17-8-27-3-9-6-19-10-28-3-10-7-19-11-29-4-9-8-19-12-27l-32 0c2 9 5 19 7 29 2 10 4 21 6 31 3 10 4 20 6 29 2 10 3 19 5 27l45 0m162 153c15 0 29-2 42-6 14-4 25-11 35-19 10-8 18-19 23-31 6-13 9-27 9-43 0-18-3-34-8-48-6-14-13-26-24-35-10-10-23-18-38-23-15-5-33-8-53-8-8 0-15 1-23 2-8 0-15 2-22 3-7 1-14 3-20 6-6 2-12 5-17 8l0 40c5-4 11-7 18-10 7-3 14-5 21-7 8-2 16-3 23-4 8-1 15-2 21-2 13 0 24 2 33 5 10 3 18 7 25 13 6 6 11 14 15 23 3 9 5 20 5 32 0 22-7 39-20 51-14 12-34 17-60 17-4 0-8 0-13 0-5-1-10-1-15-2-5 0-9-1-14-2-4 0-8-1-11-2l-21 14 13 159 160 0 0-38-124 0-9-97c5 0 12 1 20 3 8 1 18 1 29 1m230-77l-82 124 48 0 58-95 58 95 48 0-83-124 87-131-48 0-62 101-63-101-48 0 87 131" horiz-adv-x="1000" />
56
+
57
+ <glyph glyph-name="zoom_level_25" unicode="&#xe81d;" d="M511 747c0-764 0-764 0-764m-224 226l-211 0 0 36 81 88c11 13 22 24 31 35 9 10 17 20 23 30 7 10 12 20 15 30 3 10 5 21 5 32 0 10-1 18-4 25-3 6-6 12-11 17-5 5-11 9-17 11-7 3-15 4-23 4-14 0-28-3-40-9-11-6-23-14-33-23l-24 28c6 5 13 11 20 15 7 5 15 10 23 13 8 4 17 6 26 8 9 3 19 4 29 4 15 0 28-2 40-7 12-4 22-10 30-18 9-7 15-17 20-28 4-11 7-24 7-38 0-13-2-26-7-38-4-11-9-23-16-35-8-11-16-23-26-34-10-12-21-24-33-37l-65-69 0-2 160 0 0-38m112 55l3-6c-2-8-4-17-7-26-3-10-7-19-10-29-4-9-8-19-12-28-4-10-7-19-11-28l-32 0c2 10 4 20 6 30 3 10 5 20 7 30 2 11 4 20 6 30 1 10 3 19 4 27l46 0m161 153c16 0 30-2 43-7 13-4 25-10 35-19 9-8 17-18 23-31 5-12 8-26 8-43 0-17-3-33-8-47-5-14-13-26-23-36-11-10-23-17-39-22-15-5-32-8-52-8-8 0-16 1-24 1-7 1-15 2-22 4-7 1-13 3-20 5-6 3-12 5-17 8l0 40c5-3 11-6 18-9 7-3 14-5 22-7 7-2 15-4 23-5 7-1 14-1 21-1 12 0 23 1 33 4 9 3 17 8 24 14 7 6 12 13 15 22 4 9 6 20 6 33 0 22-7 39-21 50-13 12-33 18-59 18-4 0-9 0-14-1-5 0-9 0-14-1-5-1-10-1-14-2-5-1-8-1-12-2l-21 13 13 160 160 0 0-39-123 0-9-97c5 1 11 2 19 3 8 1 18 2 29 2m230-78l-82 124 48 0 58-95 58 95 48 0-82-124 87-130-48 0-63 101-62-101-48 0 86 130" horiz-adv-x="1000" />
58
+
59
+ <glyph glyph-name="zoom_level_default" unicode="&#xe81e;" d="M511 747c0-764 0-764 0-764m-432 389l842 0 0-44-842 0z" horiz-adv-x="1000" />
60
+
61
+ <glyph glyph-name="cursor_type_pointer" unicode="&#xe81f;" d="M463 754l-125-3a19 19 0 0 1-18-20l8-360-45 46a19 19 0 0 1-13 5l-88 5a19 19 0 0 1-19-21l8-110a19 19 0 0 1 4-10l191-263 0-66a19 19 0 0 1 19-20l370 0a19 19 0 0 1 19 20l0 92 58 102a19 19 0 0 1 2 6l14 59a19 19 0 0 1 0 4l5 205a19 19 0 0 1-5 13l-47 47a19 19 0 0 1-10 5l-68 17-39 34a19 19 0 0 1-13 5l-74-3-9 25a19 19 0 0 1-18 12l-87 0 0 156a19 19 0 0 1-20 18z m-18-39l0-154a19 19 0 0 1 18-19l93 0 10-26a19 19 0 0 1 18-12l80 4 37-33a19 19 0 0 1 8-5l68-16 38-37-5-192-12-57-60-104a19 19 0 0 1-2-10l0-79-332 0 0 54a19 19 0 0 1-4 11l-191 264-7 84 58-3 74-76a19 19 0 0 1 33 14l-8 390 86 2z m38-157l-38-2 4-162 39 2-5 162z m125-34l-38-2 9-145 38 2-9 145z m130-39l-39-1 5-137 38 2-4 136z" horiz-adv-x="1000" />
62
+
63
+ <glyph glyph-name="lens_shape_none" unicode="&#xe820;" d="M723 550l-23 23-423-423 23-23z m-446 0l23 23 423-423-23-23z" horiz-adv-x="1000" />
64
+
65
+ <glyph glyph-name="zoom-in" unicode="&#xe821;" d="M453 698c-162 0-293-132-293-294 0-161 131-293 293-293 162 0 294 132 294 293 0 162-132 294-294 294z m0-58c131 0 236-105 236-236 0-130-105-236-236-236-131 0-236 106-236 236 0 131 105 236 236 236z m2-108a29 29 0 0 1-29-29l-3-197a29 29 0 1 1 57 0l3 196a29 29 0 0 1-28 30z m-100-97a29 29 0 1 1-1-58l197-3a29 29 0 1 1 1 57l-197 4z m280-194a29 29 0 0 1-20-49l187-187a29 29 0 1 1 41 41l-187 186a29 29 0 0 1-21 9z" horiz-adv-x="1000" />
66
+ </font>
67
+ </defs>
68
+ </svg>
trunk/assets/fonts/fontello.ttf ADDED
Binary file
trunk/assets/fonts/fontello.woff ADDED
Binary file
trunk/assets/fonts/fontello.woff2 ADDED
Binary file
trunk/assets/images/discount.png ADDED
Binary file
trunk/assets/images/icon.svg ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="20"
13
+ height="20"
14
+ id="svg2"
15
+ version="1.1"
16
+ inkscape:version="0.48.3.1 r9886"
17
+ sodipodi:docname="icon.svg">
18
+ <defs
19
+ id="defs4" />
20
+ <sodipodi:namedview
21
+ id="base"
22
+ pagecolor="#ffffff"
23
+ bordercolor="#666666"
24
+ borderopacity="1.0"
25
+ inkscape:pageopacity="0.0"
26
+ inkscape:pageshadow="2"
27
+ inkscape:zoom="28.110758"
28
+ inkscape:cx="6.6378035"
29
+ inkscape:cy="9.4092616"
30
+ inkscape:document-units="px"
31
+ inkscape:current-layer="layer1"
32
+ showgrid="false"
33
+ inkscape:window-width="1120"
34
+ inkscape:window-height="699"
35
+ inkscape:window-x="0"
36
+ inkscape:window-y="19"
37
+ inkscape:window-maximized="0" />
38
+ <metadata
39
+ id="metadata7">
40
+ <rdf:RDF>
41
+ <cc:Work
42
+ rdf:about="">
43
+ <dc:format>image/svg+xml</dc:format>
44
+ <dc:type
45
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
46
+ <dc:title></dc:title>
47
+ </cc:Work>
48
+ </rdf:RDF>
49
+ </metadata>
50
+ <g
51
+ inkscape:label="Layer 1"
52
+ inkscape:groupmode="layer"
53
+ id="layer1"
54
+ transform="translate(0,-1032.3622)">
55
+ <path
56
+ sodipodi:type="arc"
57
+ style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:48, 2;stroke-dashoffset:0"
58
+ id="path2985"
59
+ sodipodi:cx="8.3833218"
60
+ sodipodi:cy="9.1243391"
61
+ sodipodi:rx="4.3049493"
62
+ sodipodi:ry="4.3049493"
63
+ d="m 12.688271,9.1243391 a 4.3049493,4.3049493 0 1 1 -8.6098985,0 4.3049493,4.3049493 0 1 1 8.6098985,0 z"
64
+ transform="matrix(-1.3079553,0,0,1.3079553,23.960761,1029.3362)" />
65
+ <rect
66
+ style="fill:none;stroke:#ffffff;stroke-width:2.61591052999999985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:62.78185283999999911, 2.61591055000000017;stroke-dashoffset:0"
67
+ id="rect2991"
68
+ width="8.3966293"
69
+ height="1.5805421"
70
+ x="598.75842"
71
+ y="855.4184"
72
+ transform="matrix(-0.81471685,0.579859,0.579859,0.81471685,0,0)" />
73
+ <path
74
+ style="fill:none;stroke:#ffffff;stroke-width:1.09081018000000007px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
75
+ d="m 12.995751,1038.9919 0,4.557"
76
+ id="path3799"
77
+ inkscape:connector-curvature="0" />
78
+ <path
79
+ inkscape:connector-curvature="0"
80
+ id="path3803"
81
+ d="m 15.274251,1041.2704 -4.557,0"
82
+ style="fill:none;stroke:#ffffff;stroke-width:1.09081018000000007px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
83
+ </g>
84
+ </svg>
trunk/assets/images/img1_large.png ADDED
Binary file
trunk/assets/images/img1_medium.png ADDED
Binary file
trunk/assets/images/product-gallery-zoom.png ADDED
Binary file
trunk/assets/images/question_mark.svg ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ id="svg2"
13
+ height="14"
14
+ width="14"
15
+ version="1.0"
16
+ inkscape:version="0.48.3.1 r9886"
17
+ sodipodi:docname="question_mark.svg">
18
+ <metadata
19
+ id="metadata10">
20
+ <rdf:RDF>
21
+ <cc:Work
22
+ rdf:about="">
23
+ <dc:format>image/svg+xml</dc:format>
24
+ <dc:type
25
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <defs
30
+ id="defs8" />
31
+ <sodipodi:namedview
32
+ pagecolor="#ffffff"
33
+ bordercolor="#666666"
34
+ borderopacity="1"
35
+ objecttolerance="10"
36
+ gridtolerance="10"
37
+ guidetolerance="10"
38
+ inkscape:pageopacity="0"
39
+ inkscape:pageshadow="2"
40
+ inkscape:window-width="1094"
41
+ inkscape:window-height="675"
42
+ id="namedview6"
43
+ showgrid="false"
44
+ inkscape:zoom="19.47"
45
+ inkscape:cx="11.241964"
46
+ inkscape:cy="1.3867488"
47
+ inkscape:window-x="0"
48
+ inkscape:window-y="0"
49
+ inkscape:window-maximized="0"
50
+ inkscape:current-layer="svg2" />
51
+ <g
52
+ id="layer1"
53
+ transform="matrix(0.05392912,0,0,0.05598356,1.607088,1.401644)">
54
+ <path
55
+ id="path2413"
56
+ d="M 100,0 C 44.8,0 0,44.8 0,100 0,155.2 44.8,200 100,200 155.2,200 200,155.2 200,100 200,44.8 155.2,0 100,0 z m 0,12.812 c 48.13,0 87.19,39.058 87.19,87.188 0,48.13 -39.06,87.19 -87.19,87.19 C 51.87,187.19 12.812,148.13 12.812,100 12.812,51.87 51.87,12.812 100,12.812 z m 1.47,21.25 c -5.45,0.03 -10.653,0.737 -15.282,2.063 -4.699,1.346 -9.126,3.484 -12.876,6.219 -3.238,2.362 -6.333,5.391 -8.687,8.531 -4.159,5.549 -6.461,11.651 -7.063,18.687 -0.04,0.468 -0.07,0.868 -0.062,0.876 0.016,0.016 21.702,2.687 21.812,2.687 0.053,0 0.113,-0.234 0.282,-0.937 1.941,-8.085 5.486,-13.521 10.968,-16.813 4.32,-2.594 9.808,-3.612 15.778,-2.969 2.74,0.295 5.21,0.96 7.38,2 2.71,1.301 5.18,3.361 6.94,5.813 1.54,2.156 2.46,4.584 2.75,7.312 0.08,0.759 0.05,2.48 -0.03,3.219 -0.23,1.826 -0.7,3.378 -1.5,4.969 -0.81,1.597 -1.48,2.514 -2.76,3.812 -2.03,2.077 -5.18,4.829 -10.78,9.407 -3.6,2.944 -6.04,5.156 -8.12,7.343 -4.943,5.179 -7.191,9.069 -8.564,14.719 -0.905,3.72 -1.256,7.55 -1.156,13.19 0.025,1.4 0.062,2.73 0.062,2.97 v 0.43 h 21.598 l 0.03,-2.4 c 0.03,-3.27 0.21,-5.37 0.56,-7.41 0.57,-3.27 1.43,-5 3.94,-7.81 1.6,-1.8 3.7,-3.76 6.93,-6.47 4.77,-3.991 8.11,-6.99 11.26,-10.125 4.91,-4.907 7.46,-8.26 9.28,-12.187 1.43,-3.092 2.22,-6.166 2.46,-9.532 0.06,-0.816 0.07,-3.03 0,-3.968 -0.45,-7.043 -3.1,-13.253 -8.15,-19.032 -0.8,-0.909 -2.78,-2.887 -3.72,-3.718 -4.96,-4.394 -10.69,-7.353 -17.56,-9.094 -4.19,-1.062 -8.23,-1.6 -13.35,-1.75 -0.78,-0.023 -1.59,-0.036 -2.37,-0.032 z m -10.908,103.6 v 22 h 21.998 v -22 H 90.562 z"
57
+ inkscape:connector-curvature="0" />
58
+ </g>
59
+ </svg>
trunk/assets/images/rating.png ADDED
Binary file
trunk/assets/images/silkypress_logo.png ADDED
Binary file
trunk/assets/images/tinyMCE_button.png ADDED
Binary file
trunk/assets/images/type_image_inline.svg ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="112"
13
+ height="100"
14
+ id="svg4067"
15
+ version="1.1"
16
+ inkscape:version="0.48.3.1 r9886"
17
+ sodipodi:docname="type_image_inline.svg">
18
+ <defs
19
+ id="defs4069" />
20
+ <sodipodi:namedview
21
+ id="base"
22
+ pagecolor="#ffffff"
23
+ bordercolor="#666666"
24
+ borderopacity="1.0"
25
+ inkscape:pageopacity="0.0"
26
+ inkscape:pageshadow="2"
27
+ inkscape:zoom="2.065"
28
+ inkscape:cx="79.476624"
29
+ inkscape:cy="50.104364"
30
+ inkscape:document-units="px"
31
+ inkscape:current-layer="layer1"
32
+ showgrid="false"
33
+ inkscape:window-width="729"
34
+ inkscape:window-height="403"
35
+ inkscape:window-x="877"
36
+ inkscape:window-y="363"
37
+ inkscape:window-maximized="0" />
38
+ <metadata
39
+ id="metadata4072">
40
+ <rdf:RDF>
41
+ <cc:Work
42
+ rdf:about="">
43
+ <dc:format>image/svg+xml</dc:format>
44
+ <dc:type
45
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
46
+ <dc:title></dc:title>
47
+ </cc:Work>
48
+ </rdf:RDF>
49
+ </metadata>
50
+ <g
51
+ inkscape:label="Layer 1"
52
+ inkscape:groupmode="layer"
53
+ id="layer1"
54
+ transform="translate(0,-952.36218)">
55
+ <rect
56
+ style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:5.68464231000000009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
57
+ id="rect3790"
58
+ width="106.31535"
59
+ height="94.315361"
60
+ x="2.6994605"
61
+ y="955.49017"
62
+ ry="11.5" />
63
+ <rect
64
+ style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 8;stroke-dashoffset:0"
65
+ id="rect3792"
66
+ width="38.25"
67
+ height="32.5"
68
+ x="38.163113"
69
+ y="978.8587"
70
+ ry="0" />
71
+ <path
72
+ sodipodi:type="arc"
73
+ style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
74
+ id="path3794"
75
+ sodipodi:cx="378.25"
76
+ sodipodi:cy="786.36218"
77
+ sodipodi:rx="9.75"
78
+ sodipodi:ry="8.5"
79
+ d="m 388,786.36218 a 9.75,8.5 0 1 1 -19.5,0 9.75,8.5 0 1 1 19.5,0 z"
80
+ transform="matrix(0.63157895,0,0,0.63157895,-186.94214,494.45885)" />
81
+ <path
82
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
83
+ d="m 57.913121,993.60864 6,4.99996 -1.5,1.25 -6,-4.74996"
84
+ id="path3798"
85
+ inkscape:connector-curvature="0" />
86
+ </g>
87
+ </svg>
trunk/assets/js/bootstrap.3.2.0.min.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.2.0 (http://getbootstrap.com)
3
+ * Copyright 2011-2014 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
trunk/assets/js/bootstrap.min.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ /*!
8
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=a029c53ecbca7e0801ba)
9
+ * Config saved to config.json and https://gist.github.com/a029c53ecbca7e0801ba
10
+ */
11
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.alert");n||o.data("bs.alert",n=new i(this)),"string"==typeof e&&n[e].call(o)})}var o='[data-dismiss="alert"]',i=function(e){t(e).on("click",o,this.close)};i.VERSION="3.3.2",i.TRANSITION_DURATION=150,i.prototype.close=function(e){function o(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\s]*$)/,""));var a=t(s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",o).emulateTransitionEnd(i.TRANSITION_DURATION):o())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=i,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",o,i.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.button"),s="object"==typeof e&&e;n||i.data("bs.button",n=new o(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.isLoading=!1};o.VERSION="3.3.2",o.DEFAULTS={loadingText:"loading..."},o.prototype.setState=function(e){var o="disabled",i=this.$element,n=i.is("input")?"val":"html",s=i.data();e+="Text",null==s.resetText&&i.data("resetText",i[n]()),setTimeout(t.proxy(function(){i[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,i.addClass(o).attr(o,o)):this.isLoading&&(this.isLoading=!1,i.removeClass(o).removeAttr(o))},this),0)},o.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var o=this.$element.find("input");"radio"==o.prop("type")&&(o.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&o.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));t&&this.$element.toggleClass("active")};var i=t.fn.button;t.fn.button=e,t.fn.button.Constructor=o,t.fn.button.noConflict=function(){return t.fn.button=i,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(o){var i=t(o.target);i.hasClass("btn")||(i=i.closest(".btn")),e.call(i,"toggle"),o.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){e&&3===e.which||(t(n).remove(),t(s).each(function(){var i=t(this),n=o(i),s={relatedTarget:this};n.hasClass("open")&&(n.trigger(e=t.Event("hide.bs.dropdown",s)),e.isDefaultPrevented()||(i.attr("aria-expanded","false"),n.removeClass("open").trigger("hidden.bs.dropdown",s)))}))}function o(e){var o=e.attr("data-target");o||(o=e.attr("href"),o=o&&/#[A-Za-z]/.test(o)&&o.replace(/.*(?=#[^\s]*$)/,""));var i=o&&t(o);return i&&i.length?i:e.parent()}function i(e){return this.each(function(){var o=t(this),i=o.data("bs.dropdown");i||o.data("bs.dropdown",i=new a(this)),"string"==typeof e&&i[e].call(o)})}var n=".dropdown-backdrop",s='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.2",a.prototype.toggle=function(i){var n=t(this);if(!n.is(".disabled, :disabled")){var s=o(n),a=s.hasClass("open");if(e(),!a){"ontouchstart"in document.documentElement&&!s.closest(".navbar-nav").length&&t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click",e);var r={relatedTarget:this};if(s.trigger(i=t.Event("show.bs.dropdown",r)),i.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger("shown.bs.dropdown",r)}return!1}},a.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var i=t(this);if(e.preventDefault(),e.stopPropagation(),!i.is(".disabled, :disabled")){var n=o(i),a=n.hasClass("open");if(!a&&27!=e.which||a&&27==e.which)return 27==e.which&&n.find(s).trigger("focus"),i.trigger("click");var r=" li:not(.disabled):visible a",l=n.find('[role="menu"]'+r+', [role="listbox"]'+r);if(l.length){var p=l.index(e.target);38==e.which&&p>0&&p--,40==e.which&&p<l.length-1&&p++,~p||(p=0),l.eq(p).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=i,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",e).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,a.prototype.toggle).on("keydown.bs.dropdown.data-api",s,a.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',a.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',a.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.tooltip"),s="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||i.data("bs.tooltip",n=new o(this,s)),"string"==typeof e&&n[e]())})}var o=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",t,e)};o.VERSION="3.3.2",o.TRANSITION_DURATION=150,o.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},o.prototype.init=function(e,o,i){if(this.enabled=!0,this.type=e,this.$element=t(o),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&t(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},o.prototype.getDefaults=function(){return o.DEFAULTS},o.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},o.prototype.getDelegateOptions=function(){var e={},o=this.getDefaults();return this._options&&t.each(this._options,function(t,i){o[t]!=i&&(e[t]=i)}),e},o.prototype.enter=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return o&&o.$tip&&o.$tip.is(":visible")?void(o.hoverState="in"):(o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),clearTimeout(o.timeout),o.hoverState="in",o.options.delay&&o.options.delay.show?void(o.timeout=setTimeout(function(){"in"==o.hoverState&&o.show()},o.options.delay.show)):o.show())},o.prototype.leave=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),clearTimeout(o.timeout),o.hoverState="out",o.options.delay&&o.options.delay.hide?void(o.timeout=setTimeout(function(){"out"==o.hoverState&&o.hide()},o.options.delay.hide)):o.hide()},o.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var i=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!i)return;var n=this,s=this.tip(),a=this.getUID(this.type);this.setContent(),s.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&s.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,s[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,p=l.test(r);p&&(r=r.replace(l,"")||"top"),s.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?s.appendTo(this.options.container):s.insertAfter(this.$element);var h=this.getPosition(),d=s[0].offsetWidth,c=s[0].offsetHeight;if(p){var f=r,u=this.options.container?t(this.options.container):this.$element.parent(),g=this.getPosition(u);r="bottom"==r&&h.bottom+c>g.bottom?"top":"top"==r&&h.top-c<g.top?"bottom":"right"==r&&h.right+d>g.width?"left":"left"==r&&h.left-d<g.left?"right":r,s.removeClass(f).addClass(r)}var v=this.getCalculatedOffset(r,h,d,c);this.applyPlacement(v,r);var b=function(){var t=n.hoverState;n.$element.trigger("shown.bs."+n.type),n.hoverState=null,"out"==t&&n.leave(n)};t.support.transition&&this.$tip.hasClass("fade")?s.one("bsTransitionEnd",b).emulateTransitionEnd(o.TRANSITION_DURATION):b()}},o.prototype.applyPlacement=function(e,o){var i=this.tip(),n=i[0].offsetWidth,s=i[0].offsetHeight,a=parseInt(i.css("margin-top"),10),r=parseInt(i.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(r)&&(r=0),e.top=e.top+a,e.left=e.left+r,t.offset.setOffset(i[0],t.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),i.addClass("in");var l=i[0].offsetWidth,p=i[0].offsetHeight;"top"==o&&p!=s&&(e.top=e.top+s-p);var h=this.getViewportAdjustedDelta(o,e,l,p);h.left?e.left+=h.left:e.top+=h.top;var d=/top|bottom/.test(o),c=d?2*h.left-n+l:2*h.top-s+p,f=d?"offsetWidth":"offsetHeight";i.offset(e),this.replaceArrow(c,i[0][f],d)},o.prototype.replaceArrow=function(t,e,o){this.arrow().css(o?"left":"top",50*(1-t/e)+"%").css(o?"top":"left","")},o.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},o.prototype.hide=function(e){function i(){"in"!=n.hoverState&&s.detach(),n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),e&&e()}var n=this,s=t(this.$tip),a=t.Event("hide.bs."+this.type);return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i(),this.hoverState=null,this)},o.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},o.prototype.hasContent=function(){return this.getTitle()},o.prototype.getPosition=function(e){e=e||this.$element;var o=e[0],i="BODY"==o.tagName,n=o.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var s=i?{top:0,left:0}:e.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},r=i?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,a,r,s)},o.prototype.getCalculatedOffset=function(t,e,o,i){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-o/2}:"top"==t?{top:e.top-i,left:e.left+e.width/2-o/2}:"left"==t?{top:e.top+e.height/2-i/2,left:e.left-o}:{top:e.top+e.height/2-i/2,left:e.left+e.width}},o.prototype.getViewportAdjustedDelta=function(t,e,o,i){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+i;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var p=e.left-s,h=e.left+s+o;p<a.left?n.left=a.left-p:h>a.width&&(n.left=a.left+a.width-h)}return n},o.prototype.getTitle=function(){var t,e=this.$element,o=this.options;return t=e.attr("data-original-title")||("function"==typeof o.title?o.title.call(e[0]):o.title)},o.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},o.prototype.tip=function(){return this.$tip=this.$tip||t(this.options.template)},o.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},o.prototype.enable=function(){this.enabled=!0},o.prototype.disable=function(){this.enabled=!1},o.prototype.toggleEnabled=function(){this.enabled=!this.enabled},o.prototype.toggle=function(e){var o=this;e&&(o=t(e.currentTarget).data("bs."+this.type),o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o))),o.tip().hasClass("in")?o.leave(o):o.enter(o)},o.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type)})};var i=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=o,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=i,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.tab");n||i.data("bs.tab",n=new o(this)),"string"==typeof e&&n[e]()})}var o=function(e){this.element=t(e)};o.VERSION="3.3.2",o.TRANSITION_DURATION=150,o.prototype.show=function(){var e=this.element,o=e.closest("ul:not(.dropdown-menu)"),i=e.data("target");if(i||(i=e.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=o.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(i);this.activate(e.closest("li"),o),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},o.prototype.activate=function(e,i,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=i.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!i.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(o.TRANSITION_DURATION):s(),a.removeClass("in")};var i=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=o,t.fn.tab.noConflict=function(){return t.fn.tab=i,this};var n=function(o){o.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery);
trunk/assets/js/image_zoom-init.js ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ;(function(a){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|android|ipad|playbook|silk|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);
2
+
3
+ !function(a){function b(){var a=document.createElement("p"),b=!1;if(a.addEventListener)a.addEventListener("DOMAttrModified",function(){b=!0},!1);else{if(!a.attachEvent)return!1;a.attachEvent("onDOMAttrModified",function(){b=!0})}return a.setAttribute("id","target"),b}function c(b,c){if(b){var d=this.data("attr-old-value");if(c.attributeName.indexOf("style")>=0){d.style||(d.style={});var e=c.attributeName.split(".");c.attributeName=e[0],c.oldValue=d.style[e[1]],c.newValue=e[1]+":"+this.prop("style")[a.camelCase(e[1])],d.style[e[1]]=c.newValue}else c.oldValue=d[c.attributeName],c.newValue=this.attr(c.attributeName),d[c.attributeName]=c.newValue;this.data("attr-old-value",d)}}var d=window.MutationObserver||window.WebKitMutationObserver;a.fn.attrchange=function(e,f){if("object"==typeof e){var g={trackValues:!1,callback:a.noop};if("function"==typeof e?g.callback=e:a.extend(g,e),g.trackValues&&this.each(function(b,c){for(var d,e={},f=0,g=c.attributes,h=g.length;h>f;f++)d=g.item(f),e[d.nodeName]=d.value;a(this).data("attr-old-value",e)}),d){var h={subtree:!1,attributes:!0,attributeOldValue:g.trackValues},i=new d(function(b){b.forEach(function(b){var c=b.target;g.trackValues&&(b.newValue=a(c).attr(b.attributeName)),"connected"===a(c).data("attrchange-status")&&g.callback.call(c,b)})});return this.data("attrchange-method","Mutation Observer").data("attrchange-status","connected").data("attrchange-obs",i).each(function(){i.observe(this,h)})}return b()?this.data("attrchange-method","DOMAttrModified").data("attrchange-status","connected").on("DOMAttrModified",function(b){b.originalEvent&&(b=b.originalEvent),b.attributeName=b.attrName,b.oldValue=b.prevValue,"connected"===a(this).data("attrchange-status")&&g.callback.call(this,b)}):"onpropertychange"in document.body?this.data("attrchange-method","propertychange").data("attrchange-status","connected").on("propertychange",function(b){b.attributeName=window.event.propertyName,c.call(a(this),g.trackValues,b),"connected"===a(this).data("attrchange-status")&&g.callback.call(this,b)}):this}return"string"==typeof e&&a.fn.attrchange.hasOwnProperty("extensions")&&a.fn.attrchange.extensions.hasOwnProperty(e)?a.fn.attrchange.extensions[e].call(this,f):void 0}}(jQuery);
4
+
5
+
6
+ jQuery(document).ready(function( $ ){
7
+
8
+ if($.browser.mobile && IZ.enable_mobile != '1' ) {
9
+ return;
10
+ }
11
+
12
+ var options = IZ.options;
13
+
14
+ // Fix for the Lazy Load plugin with jQuery.sonar
15
+ $("img[data-lazy-src]").each(function(){
16
+ $(this).attr('data-zoom-image', $(this).data('lazy-src'));
17
+ });
18
+
19
+ // Get the image url from data-large_image
20
+ $("img[data-large_image]").each(function(){
21
+ $(this).attr('data-zoom-image', $(this).data('large_image'));
22
+ });
23
+
24
+
25
+ // Start the zoom for the normal images
26
+ options.zIndex = 112400;
27
+ $(".zoooom, .zoooom img").image_zoom(options);
28
+
29
+ // WooCommerce category pages
30
+ if ( IZ.woo_categories == '1' ) {
31
+ $(".tax-product_cat .products img, .post-type-archive-product .products img").image_zoom(options);
32
+ }
33
+
34
+ // Fix for the LazyLoad (unveil.js) plugins
35
+ if (typeof $.unveil === "function") {
36
+ $("img.unveil").unveil(0, function() {
37
+ $(this).load(function() {
38
+ $("img.zoooom, .zoooom img").image_zoom(options);
39
+ });
40
+ });
41
+ }
42
+
43
+
44
+ // Resize the zoom windows when resizing the page
45
+ $(window).bind('resize', function(e) {
46
+ window.resizeEvt;
47
+ $(window).resize(function() {
48
+ clearTimeout(window.resizeEvt);
49
+ window.resizeEvt = setTimeout(function() {
50
+ $(".zoomContainer").remove();
51
+ $(".zoooom, .zoooom img, .attachment-shop_single, .attachment-shop_thumbnail.flex-active-slide img").image_zoom(options);
52
+ $(".tax-product_cat .products img").image_zoom(options);
53
+ }, 500);
54
+ });
55
+ });
56
+
57
+
58
+ // Remove the zoom when hovering on the submenu
59
+ function restart_on_hover( elem ) {
60
+ elem.hover(function(){
61
+ if ( $('.zoomContainer').length === 0 ) {
62
+ $(this).image_zoom(IZ.options);
63
+ }
64
+ });
65
+ };
66
+ $('.sub-menu li').hover(function(){
67
+ $('.zoomContainer').remove();
68
+ });
69
+ restart_on_hover($('.zoooom, .zoooom img'));
70
+
71
+
72
+ // Show zoom on the WooCommerce gallery
73
+ if ( IZ.with_woocommerce == '1' ) {
74
+ $(".attachment-shop_single").image_zoom(options);
75
+ restart_on_hover($('.attachment-shop_single'));
76
+
77
+ $("a[data-rel^='zoomImage']").each(function(index){
78
+ $(this).click(function(event){
79
+ // If there are more than one WooCommerce gallery, exchange the thumbnail with the closest .attachment-shop_single
80
+ var obj1 = $(".attachment-shop_single");
81
+ if ( obj1.length > 1 ) {
82
+ var obj1 = $(this).closest('.images').find( $(".attachment-shop_single") );
83
+ }
84
+ var obj2 = $(this).find("img");
85
+
86
+ event.preventDefault();
87
+
88
+ if ( obj2.hasClass('attachment-shop_single') === false ) {
89
+
90
+ // Remove the srcset and sizes
91
+ obj1.removeAttr('srcset').removeAttr('sizes');
92
+ obj2.removeAttr('srcset').removeAttr('sizes');
93
+
94
+ var thumb_src = obj2.attr('src');
95
+
96
+ // Exchange the attributes
97
+ $.each(['src', 'alt', 'title'], function(key,attr) {
98
+ var temp;
99
+ if ( obj1.attr( attr ) ) temp = obj1.attr( attr );
100
+ if ( obj2.attr( attr ) ) {
101
+ obj1.attr(attr, obj2.attr(attr) );
102
+ } else {
103
+ obj1.removeAttr( attr );
104
+ }
105
+ if ( IZ.exchange_thumbnails == '1' ) {
106
+ if ( temp && temp.length > 0 ) {
107
+ obj2.attr(attr, temp);
108
+ } else {
109
+ obj2.removeAttr( attr );
110
+ }
111
+ }
112
+ });
113
+
114
+ // Exchange the link sources
115
+ var temp;
116
+ temp = obj2.parent().attr('href');
117
+ if ( IZ.exchange_thumbnails == '1' ) {
118
+ obj2.parent().attr('href', obj1.parent().attr('href'));
119
+ }
120
+ obj1.parent().attr('href', temp );
121
+
122
+ // Set the obj1.src = the link source
123
+ obj1.attr('src', temp );
124
+
125
+ // Set the obj2.src = data-thumbnail-src
126
+ if ( obj1.data('thumbnail-src') && IZ.exchange_thumbnails == '1' ) {
127
+ obj2.attr( 'src', obj1.attr('data-thumbnail-src'));
128
+ }
129
+
130
+ // Set the obj1.data-thumbnail-src
131
+ obj1.attr('data-thumbnail-src', thumb_src );
132
+
133
+ // Replace the data-zoom-image
134
+ temp = obj1.data('zoom-image');
135
+ if ( !obj2.data('zoom-image') ) obj2.data('zoom-image', '');
136
+ obj1.data('zoom-image', obj2.data('zoom-image'));
137
+ if( ! temp ) temp = '';
138
+ obj2.data('zoom-image', temp);
139
+
140
+ // Remove the old zoom and reactive the new zoom
141
+ $(".zoomContainer").remove();
142
+ $(".attachment-shop_single").image_zoom(options);
143
+ restart_on_hover($('.attachment-shop_single'));
144
+ }
145
+
146
+ });
147
+ });
148
+ }
149
+
150
+
151
+ // Show zoom on the WooCommerce 3.0.+ gallery with slider
152
+ if ( IZ.with_woocommerce == '1' && (IZ.woo_slider == '1' || $('.woo_product_slider_enabled').length > 0 )) {
153
+ if ( $(".woocommerce-product-gallery img").length > 0 ) {
154
+
155
+ var first_img = ".woocommerce-product-gallery__wrapper img";
156
+ setTimeout( function() {
157
+ if ( $(".flex-viewport").length > 0 ) {
158
+ first_img = ".woocommerce-product-gallery__wrapper .flex-active-slide img";
159
+ }
160
+ $(first_img).first().image_zoom( options );
161
+ restart_on_hover($(first_img).first());
162
+ }, 500 );
163
+
164
+ var flexslider_counter = 0;
165
+ var old_value = "";
166
+ $(".woocommerce-product-gallery__wrapper").attrchange({
167
+ trackValues: true,
168
+ callback: function(event) {
169
+ if ( event.newValue != old_value ) {
170
+ $(".zoomContainer").remove();
171
+ setTimeout( function() {
172
+ $(first_img).first().image_zoom(options);
173
+ restart_on_hover($(first_img).first());
174
+ }, 550);
175
+ }
176
+ old_value = event.newValue;
177
+ }
178
+ });
179
+
180
+ // Resize the zoom windows when resizing the page
181
+ $(window).bind('resize', function(e) {
182
+ window.resizeEvt;
183
+ $(window).resize(function() {
184
+ clearTimeout(window.resizeEvt);
185
+ window.resizeEvt = setTimeout(function() {
186
+ $(".zoomContainer").remove();
187
+ restart_on_hover($(first_img).first());
188
+ }, 300);
189
+ });
190
+ });
191
+
192
+ // Remove the click action on the images
193
+ $(".woocommerce-product-gallery img").click(function(e){
194
+ e.preventDefault();
195
+ });
196
+
197
+ }
198
+ }
199
+
200
+
201
+
202
+
203
+ // Show zoom on the WooCommerce 3.0.+ gallery without slider
204
+ if ( IZ.with_woocommerce == '1' && (IZ.woo_slider == '0' || $('.woo_product_slider_disabled').length > 0)) {
205
+ var first_img = $('.woocommerce-product-gallery__image:first-child img');
206
+
207
+ // Zoom on the first image
208
+ first_img.image_zoom(options);
209
+ restart_on_hover(first_img);
210
+
211
+ // Remove the click action on the images
212
+ $('.woocommerce-product-gallery__image img').click(function(e){
213
+ e.preventDefault();
214
+ });
215
+
216
+
217
+ $('.woocommerce-product-gallery__image img').each(function(i) {
218
+ $(this).removeAttr('data-large_image');
219
+ $(this).removeAttr('data-large_image_width');
220
+ $(this).removeAttr('data-large_image_height');
221
+ $(this).removeAttr('srcset');
222
+ $(this).removeAttr('sizes');
223
+ });
224
+
225
+ // Switch the thumbnail with the main image
226
+ $(".woocommerce-product-gallery__image:nth-child(n+2) img").each(function(i){
227
+ $(this).click(function(e){
228
+ var this_thumb = $(this);
229
+ // Exchange the attributes
230
+ $.each(['alt', 'title', 'data-src'], function(key,attr) {
231
+ var temp;
232
+ if ( first_img.attr( attr ) ) temp = first_img.attr( attr );
233
+ if ( this_thumb.attr( attr ) ) {
234
+ first_img.attr(attr, this_thumb.attr(attr) );
235
+ } else {
236
+ first_img.removeAttr( attr );
237
+ }
238
+ if ( IZ.exchange_thumbnails == '1' ) {
239
+ if ( temp && temp.length > 0 ) {
240
+ this_thumb.attr(attr, temp);
241
+ } else {
242
+ this_thumb.removeAttr( attr );
243
+ }
244
+ }
245
+
246
+ });
247
+
248
+ var thumb_src = this_thumb.attr('src');
249
+
250
+
251
+ // Exchange the link sources
252
+ var temp;
253
+ temp = this_thumb.parent().attr('href');
254
+ if ( IZ.exchange_thumbnails == '1' ) {
255
+ this_thumb.parent().attr('href', first_img.parent().attr('href'));
256
+ }
257
+ first_img.parent().attr('href', temp );
258
+
259
+ // Set the first_img.src = the link source
260
+ first_img.attr('src', temp );
261
+
262
+ // Set the this_thumb.src = data-thumbnail-src
263
+ if ( first_img.data('thumbnail-src') && IZ.exchange_thumbnails == '1' ) {
264
+ this_thumb.attr( 'src', first_img.attr('data-thumbnail-src'));
265
+ }
266
+
267
+ // Set the first_img.data-thumbnail-src
268
+ first_img.attr('data-thumbnail-src', thumb_src );
269
+
270
+ // Replace the data-zoom-image
271
+ temp = first_img.data('zoom-image');
272
+ if ( !this_thumb.data('zoom-image') ) this_thumb.data('zoom-image', '');
273
+ first_img.data('zoom-image', this_thumb.data('zoom-image'));
274
+ if( ! temp ) temp = '';
275
+ this_thumb.data('zoom-image', temp);
276
+
277
+
278
+ // Remove the old zoom and reactive the new zoom
279
+ $(".zoomContainer").remove();
280
+ first_img.image_zoom(options);
281
+ restart_on_hover(first_img);
282
+
283
+ });
284
+ });
285
+ }
286
+ });
trunk/assets/js/image_zoom.settings.min.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ /*! Image Zoooom - v0.1.0 - 2015-12-17
2
+ * Copyright (c) 2015 Diana Burduja; Licensed MIT license */
3
+ jQuery(document).ready(function(a){function b(){var b={},e={lensShape:a("input[name=lensShape]:checked").val(),cursorType:a("input[name=cursorType]:checked").val(),zwEasing:parseInt(a("#zwEasing").val()),lensSize:parseInt(a("#lensSize").val()),lensColour:a("#lensColour").val(),lensOverlay:a("#lensOverlay").is(":checked"),borderThickness:parseInt(a("#borderThickness").val()),borderColor:a("#borderColor").val(),borderRadius:parseInt(a("#borderRadius").val()),zwWidth:parseInt(a("#zwWidth").val()),zwHeight:parseInt(a("#zwHeight").val()),zwShadow:parseInt(a("#zwShadow").val()),zwPadding:parseInt(a("#zwPadding").val()),zwBorderThickness:parseInt(a("#zwBorderThickness").val()),zwBorderColor:a("#zwBorderColor").val(),zwBorderRadius:parseInt(a("#zwBorderRadius").val()),lensFade:1e3*parseFloat(a("#lensFade").val()),zwFade:1e3*parseFloat(a("#zwFade").val()),tint:a("#tint").is(":checked"),tintColor:a("#tintColor").val(),tintOpacity:parseFloat(a("#tintOpacity").val())};switch(c(e),e.tintOpacity>1&&(e.tintOpacity=1),e.tintOpacity<0&&(e.tintOpacity=0),"zoom"===e.cursorType&&(e.cursorType="url(../images/cursor_type_zoom.svg) auto"),e.lensOverlay===!0&&(e.lensOverlay="http://localhost/sb-test/wp-content/plugins/wp-image-zoooom-pro/assets/images/lens-overlay-1.png"),e.lensShape){case"none":b={zoomType:"inner",cursor:e.cursorType,easingAmount:e.zwEasing};break;case"square":case"round":b={lensShape:e.lensShape,zoomType:"lens",lensSize:e.lensSize,borderSize:e.borderThickness,borderColour:e.borderColor,cursor:e.cursorType,lensFadeIn:e.lensFade,lensFadeOut:e.lensFade},e.tint===!0&&(b.tint=!0,b.tintColour=e.tintColor,b.tintOpacity=e.tintOpacity);break;case"zoom_window":b={lensShape:"square",lensSize:e.lensSize,lensBorderSize:e.borderThickness,lensBorderColour:e.borderColor,lensColour:e.lensColour,lensOverlay:e.lensOverlay,borderRadius:e.zwBorderRadius,cursor:e.cursorType,zoomWindowWidth:e.zwWidth,zoomWindowHeight:e.zwHeight,zoomWindowShadow:e.zwShadow,borderSize:e.zwBorderThickness,borderColour:e.zwBorderColor,zoomWindowOffsetx:e.zwPadding,lensFadeIn:e.lensFade,lensFadeOut:e.lensFade,zoomWindowFadeIn:e.zwFade,zoomWindowFadeOut:e.zwFade,easingAmount:e.zwEasing,zoomWindowPosition:1},e.tint===!0&&(b.tint=!0,b.tintColour=e.tintColor,b.tintOpacity=e.tintOpacity),a("#demo_wrapper").css("text-align","left")}a("#demo").image_zoom(b),a(window).bind("resize",function(){a(window).resize(function(){clearTimeout(window.resizeEvt),window.resizeEvt=setTimeout(function(){a(".zoomContainer").remove(),a("#demo").image_zoom(b)},300)})}),d(e)}function c(b){(isNaN(b.zwEasing)||b.zwEasing<0||b.zwEasing>200)&&(e("<b>Animation Easing Effect</b> accepts integers between 0 and 200. Your value was stripped to 12"),b.zwEasing=12,a("#zwEasing").val("12")),(isNaN(b.lensSize)||b.lensSize<20||b.lensSize>2e3)&&(e("<b>Lens Size</b> accepts integers between 20 and 2000. Your value was reset to 200"),b.lensSize=200,a("#lensSize").val("200")),(isNaN(b.borderThickness)||b.borderThickness<0||b.borderThickness>200)&&(e("<b>Border Thickness</b> accepts integers between 0 and 200. Your value was reset to 1"),b.borderThickness=1,a("#borderThickness").val("1")),(isNaN(b.lensFade)||b.lensFade<0||b.lensFade>1e4)&&(e("<b>Fade Time</b> accepts integers between 0 and 10. Your value was reset to 1"),b.lensFade=1,a("#lensFade").val("1")),(isNaN(b.tintOpacity)||b.tintOpacity<0||b.tintOpacity>1)&&(e("<b>Tint Opacity</b> accepts a number between 0 and 1. Your value was reset to 0.5"),b.tintOpacity=.5,a("#tintOpacity").val("0.5")),(isNaN(b.zwWidth)||b.zwWidth<0||b.zwWidth>2e3)&&(e("<b>Zoom Window Width</b> accepts a number between 0 and 2000. Your value was reset to 400"),b.zwWidth=400,a("#zwWidth").val("400")),(isNaN(b.zwHeight)||b.zwHeight<0||b.zwHeight>2e3)&&(e("<b>Zoom Window Height</b> accepts a number between 0 and 2000. Your value was reset to 360"),b.zwHeight=360,a("#zwHeight").val("360")),(isNaN(b.zwBorderThickness)||b.zwBorderThickness<0||b.zwBorderThickness>200)&&(e("<b>Border Thickness</b> accepts integers between 0 and 200. Your value was reset to 4"),b.zwBorderThickness=4,a("#zwBorderThickness").val("4")),(isNaN(b.zwBorderRadius)||b.zwBorderRadius<0||b.zwBorderRadius>500)&&(e("<b>Rounded Corners</b> accepts integers between 0 and 500. Your value was reset to 0"),b.zwBorderRadius=0,a("#zwBorderRadius").val("0")),(isNaN(b.zwFade)||b.zwFade<0||b.zwFade>1e4)&&(e("<b>Fade Time</b> accepts integers between 0 and 10. Your value was reset to 0"),b.zwFade=0,a("#zwFade").val("0"))}function d(b){switch(a("#tab_lens, #tab_zoom_window").removeClass("disabled"),a("#tab_lens a").attr("href","#lens_settings"),a("#tab_zoom_window a").attr("href","#zoom_window_settings"),a("#lensSize").removeAttr("disabled"),a("#lensColour").removeAttr("disabled"),a("#lensBgImage").removeAttr("disabled"),a("#tintColor").removeAttr("disabled"),a("#tintOpacity").removeAttr("disabled"),a("#lensColour").removeAttr("disabled"),a("#lensOverlay").removeAttr("disabled"),b.lensShape){case"none":a("#tab_lens, #tab_zoom_window").addClass("disabled"),a("#tab_lens a").attr("href",""),a("#tab_zoom_window a").attr("href",""),a("#lensColour").attr("disabled","disabled"),a("#lensBgImage").attr("disabled","disabled");break;case"square":case"round":a("#tab_zoom_window").addClass("disabled"),a("#tab_zoom_window a").attr("href",""),a("#lensColour").attr("disabled","disabled"),a("#lensBgImage").attr("disabled","disabled");break;case"zoom_window":a("#lensSize").attr("disabled","disabled")}b.tint===!1?(a("#tintColor").attr("disabled","disabled"),a("#tintOpacity").attr("disabled","disabled")):(a("#lensColour").attr("disabled","disabled"),a("#lensOverlay").attr("disabled","disabled"))}function e(b){a("#alert_messages").html('<div class="alert alert-dismissable alert-danger"><button type="button" class="close" data-dismiss="alert">&times;</button>'+b+"</div>")}a('[data-toggle="tooltip"]').tooltip(),a("#demo").length>0&&b(),a(".form-group input").change(b)});
trunk/assets/js/jquery.image_zoom.min.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! Image Zoooom - v0.2 - 2016-05-11
2
+ * Copyright (c) 2016 Diana Burduja; Licensed MIT license
3
+
4
+ This is a very strongly modified version of the https://github.com/elevateweb/elevatezoom jQuery plugin. */
5
+ (function($,window,document,undefined){"use strict";var ImageZoooom={init:function(options,elem){var self=this;self.elem=elem;self.$elem=$(elem);self.options=options;self.img_big={src:self.$elem.attr("src")};if(self.$elem.data("zoom-image")){self.img_big.src=self.$elem.data("zoom-image")}else if(self.$elem.attr("srcset")){var set=self.$elem.attr("srcset").split(",");var max_width=0;var max_src="";$.each(set,function(i,src){var parts=$.trim(src).split(" ");if(parseInt(parts[1])>max_width){max_width=parseInt(parts[1]);max_src=parts[0]}});if(max_src!==""){self.img_big.src=max_src}}self.ratio={width:1,height:1};self.zw={height:parseInt(self.options.zoomWindowHeight),width:parseInt(self.options.zoomWindowWidth)};self.lens={height:self.options.lensSize,width:self.options.lensSize};self.screen={height:$(document).height(),width:$(document).width()};if(self.options.tint){self.options.lensColour="none";self.options.lensOpacity="1"}if(self.options.zoomType==="inner"){self.options.showLens=false}self.$elem.parent().removeAttr("title").removeAttr("alt");if(self.options.responsive===true&&self.screen.width<=self.options.responsiveThreshold){self.options.zoomType="inner";self.options.showLens=false}setTimeout(function(){var newImg=new Image;newImg.onload=function(){self.img_big.width=newImg.width;self.img_big.height=newImg.height;self.startZoom()};newImg.src=self.img_big.src},1)},buildZoomContainer:function(){var self=this;self.zoomContainer=$("<div />").addClass("zoomContainer").css({"-webkit-transform":"translateZ(0)",position:"absolute",left:self.img_small.offset.left+"px",top:self.img_small.offset.top+"px",height:self.img_small.height+"px",width:self.img_small.width+"px","z-index":"999"}).appendTo("body")},buildZoomLens:function(){var self=this;if(self.options.containLensZoom){self.zoomContainer.css("overflow","hidden")}var lensStyle={"background-position":"0px 0px","float":"left",display:"none",border:self.options.borderSize+"px solid "+self.options.borderColour,width:self.options.lensSize+"px",height:self.options.lensSize+"px","border-radius":self.options.borderRadius+"px",cursor:self.options.cursor,"background-repeat":"no-repeat",position:"absolute",overflow:"hidden","z-index":"999"};if(self.options.tint===true){lensStyle["-webkit-transform"]="translateZ(0)";lensStyle["opacity"]=self.options.lensOpacity;lensStyle["-ms-filter"]="progid:DXImageTransform.Microsoft.Alpha(Opacity="+self.options.lensOpacity*100+")";lensStyle["filter"]="alpha(opacity= "+self.options.lensOpacity*100+")"}if(self.options.lensShape==="round"){var lensRadius=self.options.lensSize/2+self.options.borderSize+"px";lensStyle["-webkit-border-radius"]=lensRadius;lensStyle["-moz-border-radius"]=lensRadius;lensStyle["border-radius"]=lensRadius}self.zoomLens=$("<div />").addClass("zoomLens").css(lensStyle).appendTo(self.zoomContainer).click(function(){self.$elem.trigger("click")})},buildZoomWindow:function(){var self=this;self.lens.height=self.zw.height/self.ratio.height;if(self.img_big.height<self.zw.height){self.lens.height=self.img_small.height}self.lens.width=self.zw.width/self.ratio.width;if(self.img_big.width<self.zw.width){self.lens.width=self.img_small.width}var lensStyle={"background-position":"0px 0px",display:"none",overflow:"hidden","z-index":"999","-webkit-transform":"translateZ(0)",opacity:self.options.lensOpacity,"-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity="+self.options.lensOpacity*100+")",filter:"alpha(opacity= "+self.options.lensOpacity*100+")",zoom:1,width:self.lens.width+"px",height:self.lens.height+"px","background-color":self.options.lensColour,cursor:self.options.cursor,"border-radius":self.options.borderRadius+"px",border:self.options.lensBorderSize+"px solid "+self.options.lensBorderColour,"background-repeat":"no-repeat",position:"absolute","box-shadow":"-0px -0px 10px rgba(0, 0, 0, 0.4)"};if(self.options.lensOverlay!==false){lensStyle["background"]="url("+self.options.lensOverlay+") "+self.options.lensColour}self.zoomLens=$("<div />").addClass("zoomLens").css(lensStyle).appendTo(self.zoomContainer).click(function(){self.$elem.trigger("click")});var zoomWindowStyle={overflow:"hidden","background-position":"0px 0px","text-align":"center","background-color":self.options.zoomWindowBgColour,width:self.zw.width+"px",height:self.zw.height+"px","float":"left","border-radius":self.options.borderRadius+"px","background-size":self.img_big.width/self.currentZoomLevel+"px "+self.img_big.height/self.currentZoomLevel+"px",display:"none","z-index":"999",border:self.options.borderSize+"px solid "+self.options.borderColour,"background-repeat":"no-repeat",position:"absolute"};if(self.options.zoomWindowShadow>0){var zoomWindowShadowText=self.options.zoomWindowShadow*2+"px "+self.options.zoomWindowShadow*2+"px "+self.options.zoomWindowShadow+"px #ccc";zoomWindowStyle["box-shadow"]=zoomWindowShadowText;zoomWindowStyle["-moz-box-shadow"]=zoomWindowShadowText;zoomWindowStyle["-webkit-box-shadow"]=zoomWindowShadowText;zoomWindowStyle["-khtml-box-shadow"]=zoomWindowShadowText}return zoomWindowStyle},buildZoomInner:function(){var self=this;var borderWidth=self.$elem.css("border-left-width");var innerStyle={overflow:"hidden","margin-left":borderWidth,"margin-top":borderWidth,"background-position":"0px 0px",width:self.img_small.width+"px",height:self.img_small.height+"px","float":"left","border-radius":self.options.borderRadius+"px",display:"none",cursor:self.options.cursor,"background-repeat":"no-repeat",position:"absolute","z-index":"999"};return innerStyle},buildTint:function(){var self=this;if(!self.options.tint){return}var tintStyle={display:"block",position:"absolute","background-color":self.options.tintColour,filter:"alpha(opacity=0)",border:"none",opacity:0,"z-index":250,width:self.img_small.width+"px",height:self.img_small.height+"px"};self.tintContainer=$("<div />").addClass("tintContainer");self.zoomTint=$("<div />").addClass("zoomTint").css(tintStyle);self.zoomLens.wrap(self.tintContainer);self.zoomLens.after(self.zoomTint);var zoomTintImageCss={position:"absolute",left:"0px",top:"0px","z-index":"250",opacity:"0","max-width":"none",width:self.img_small.width+"px",height:self.img_small.height+"px"};if(self.options.zoomType==="window"){zoomTintImageCss.opacity=1}self.zoomTintImage=$("<img />").css(zoomTintImageCss).attr("src",self.img_big.src).appendTo(self.zoomLens).click(function(){self.$elem.trigger("click")})},startZoom:function(){var self=this;self.isWindowActive=false;self.isLensActive=false;self.isTintActive=false;self.zoomLock=1;self.scrollingLock=false;self.changeBgSize=false;self.currentZoomLevel=self.options.zoomLevel;self.img_small={src:self.$elem.attr("src"),width:self.$elem.width(),height:self.$elem.height(),offset:self.$elem.offset()};self.ratio={width:self.img_big.width/self.img_small.width/self.currentZoomLevel,height:self.img_big.height/self.img_small.height/self.currentZoomLevel};if((self.ratio.height<1||self.ratio.width<1)&&self.options.scrollZoom!==true){return false}self.img_small.offset=self.$elem.offset();self.buildZoomContainer();var zoomWindowStyle={};switch(self.options.zoomType){case"lens":self.buildZoomLens();self.buildTint();break;case"window":zoomWindowStyle=self.buildZoomWindow();self.buildTint();break;case"inner":zoomWindowStyle=self.buildZoomInner();break}var appendTo="body";if(!isNaN(self.options.zoomWindowPosition)){appendTo=self.zoomContainer}self.zoomWindow=$("<div />").addClass("zoomWindow").css(zoomWindowStyle).appendTo(appendTo).click(function(){self.$elem.trigger("click")});var customText=$("<div />").addClass("iz_watermark").css({width:self.img_small.width+"px",height:self.img_small.height+"px","vertical-align":self.options.customTextVAlign,display:"table-cell","text-align":self.options.customTextAlign,color:self.options.customTextColor,"font-size":self.options.customTextSize+"px",padding:"3px"}).html(self.options.customText);if($(".iz_watermark").length>0){$(".iz_watermark").remove()}self.zoomWindow.after(customText);self.zoomWindowContainer=$("<div/>").addClass("zoomWindowContainer").css("width",self.zw.width);self.zoomWindow.wrap(self.zoomWindowContainer);var backgroundImage={backgroundImage:"url('"+self.img_big.src+"')"};if(self.options.zoomType==="lens"){self.zoomLens.css(backgroundImage)}else{self.zoomWindow.css(backgroundImage)}self.registerTouchEvents();self.registerMouseEvents();self.registerScrollZoom();self.zoomContainer.add(self.$elem).mouseenter(function(){self.setElements(true)}).mouseleave(function(){if(!self.scrollLock){self.setElements(false)}});if(self.options.zoomType!=="inner"){self.zoomWindow.mouseenter(function(){self.setElements(false)})}else{self.showZoomWindow(false)}},registerTouchEvents:function(){var self=this;self.zoomContainer.bind("touchstart",function(e){e.preventDefault();var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];self.mouse={left:parseInt(touch.pageX-self.img_small.offset.left),top:parseInt(touch.pageY-self.img_small.offset.top)};self.setPosition(touch);self.setElements(true)});self.zoomContainer.bind("touchend",function(){if(!self.scrollLock){self.setElements(false)}});self.zoomContainer.bind("touchmove",function(e){e.preventDefault();var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];self.mouse={left:parseInt(touch.pageX-self.img_small.offset.left),top:parseInt(touch.pageY-self.img_small.offset.top)};self.setPosition(touch)})},registerMouseEvents:function(){var self=this;var registerMouseMove=function(e){self.mouse={left:parseInt(e.pageX-self.img_small.offset.left),top:parseInt(e.pageY-self.img_small.offset.top)};if(self.lastX!==e.clientX||self.lastY!==e.clientY){self.setPosition(e);self.currentLoc=e}self.lastX=e.clientX;self.lastY=e.clientY};var registerMouseAndShowWindow=function(e){if(self.outOfBound===false){self.setElements(true)}registerMouseMove(e)};self.$elem.bind("mousemove",registerMouseAndShowWindow);self.zoomContainer.bind("mousemove",registerMouseAndShowWindow);if(self.options.zoomType==="inner"){self.zoomWindow.bind("mousemove",registerMouseMove)}else{self.zoomLens.bind("mousemove",registerMouseMove);if(self.options.tint){self.zoomTint.bind("mousemove",registerMouseMove)}}},registerScrollZoom:function(){var self=this;if(!self.options.scrollZoom){return false}if(self.options.zoomLevel!==1){self.changeZoomLevel(self.currentZoomLevel)}var minZoomLevel=self.options.scrollZoomIncrement*2;if(self.options.minZoomLevel){minZoomLevel=self.options.minZoomLevel}var registerScrollZoomEvent=function(e){self.scrollLock=true;clearTimeout($.data(this,"timer"));$.data(this,"timer",setTimeout(function(){self.scrollLock=false},250));var theEvent=e.originalEvent.wheelDelta||e.originalEvent.detail*-1;e.stopImmediatePropagation();e.stopPropagation();e.preventDefault();var changeZoom=0;self.currentZoomLevel=parseFloat(self.currentZoomLevel);if(theEvent>0){if(self.currentZoomLevel>=minZoomLevel){changeZoom=self.currentZoomLevel-self.options.scrollZoomIncrement}}else{changeZoom=self.currentZoomLevel+self.options.scrollZoomIncrement}self.changeZoomLevel(changeZoom);return false};self.zoomContainer.add(self.$elem).bind("mousewheel DOMMouseScroll MozMousePixelScroll",registerScrollZoomEvent)},setElements:function(type){var self=this;if(!self.options.zoomEnabled){return false}if(!self.isWindowSet){return}self.showZoomWindow(type);self.showLens(type);self.showTint(type)},setPosition:function(e){var self=this;if(!self.options.zoomEnabled){return false}if(self.options.tint&&self.options.zoomType!=="inner"){self.zoomTint.css({top:0,left:0})}if(self.options.responsive&&!self.options.scrollZoom&&self.options.showLens){if(self.options.zoomType==="lens"){self.zoomLens.css({width:self.options.lensSize+"px",height:self.options.lensSize+"px"})}else{var lensHeight=self.zw.height/self.ratio.height;if(self.img_small.height<self.zw.width/self.ratio.width){lensHeight=self.img_small.height}var lensWidth=self.zw.width/self.ratio.width;if(self.img_small.width<self.zw.width/self.ratio.height){lensWidth=self.img_small.width}self.zoomLens.css({width:lensWidth+"px",height:lensHeight+"px"});if(self.options.tint){self.zoomTintImage.css({width:self.img_small.width+"px",height:self.img_small.height+"px"})}}}self.zoomContainer.css({top:self.img_small.offset.top,left:self.img_small.offset.left});var bound={top:false,bottom:false,left:false,right:false};if(self.options.zoomType==="window"){bound.height=self.zoomLens.height()/2;bound.width=self.zoomLens.width()/2}if(self.options.zoomType==="inner"){bound.height=self.img_small.height/2/self.ratio.height;bound.width=self.img_small.width/2/self.ratio.width}bound.top=self.mouse.top<bound.height;bound.bottom=self.mouse.top>self.img_small.height-bound.height-self.options.lensBorderSize*2;bound.left=self.mouse.left<bound.width;bound.right=self.mouse.left>self.img_small.width-bound.width-self.options.lensBorderSize*2;self.bound=bound;if(self.mouse.left<=0||self.mouse.top<0||self.mouse.left>self.img_small.width||self.mouse.top>self.img_small.height){self.outOfBound=true;self.setElements(false);return}else{self.outOfBound=false;var lensLeftPos=0;var lensTopPos=0;if(self.options.showLens){lensLeftPos=self.mouse.left-self.zoomLens.width()/2;lensTopPos=self.mouse.top-self.zoomLens.height()/2}if(bound.top){lensTopPos=0}if(bound.left){self.windowLeftPos=0;lensLeftPos=0;self.tintpos=0}switch(self.options.zoomType){case"window":if(bound.bottom){lensTopPos=Math.max(self.img_small.height-self.zoomLens.height()-self.options.lensBorderSize*2,0)}if(bound.right){lensLeftPos=self.img_small.width-self.zoomLens.width()-self.options.lensBorderSize*2}if(self.options.tint){self.setTintPosition(e)}break;case"inner":if(bound.bottom){lensTopPos=Math.max(self.img_small.height-self.options.lensBorderSize*2,0)}if(bound.right){lensLeftPos=-self.options.lensBorderSize*2}break;case"lens":self.windowLeftPos=self.zoomLens.width()/2-self.mouse.left*self.ratio.width;self.windowTopPos=self.zoomLens.height()/2-self.mouse.top*self.ratio.height;self.zoomLens.css({backgroundPosition:self.windowLeftPos+"px "+self.windowTopPos+"px"});self.changeBackgroundSize();if(self.options.tint){self.setTintPosition(e)}break}self.setWindowPosition(e);if(self.options.showLens){if(self.fullwidth&&self.options.zoomType!=="lens"){lensLeftPos=0}self.zoomLens.css({left:lensLeftPos+"px",top:lensTopPos+"px"})}}},showZoomWindow:function(on){var self=this;if(self.isWindowActive===on){return}self.fadeEffect(self.zoomWindow,on,self.options.zoomWindowFadeIn,self.options.zoomWindowFadeOut);self.isWindowActive=on},showLens:function(on){var self=this;if(!self.options.showLens){return}if(self.isLensActive===on){return}self.fadeEffect(self.zoomLens,on,self.options.lensFadeIn,self.options.lensFadeOut);self.isLensActive=on},showTint:function(on){var self=this;if(!self.options.tint||self.options.zoomType==="inner"){return}if(self.isTintActive===on){return}if(on){self.zoomTint.css({opacity:self.options.tintOpacity}).animate()}self.fadeEffect(self.zoomTint,on,"slow","slow");self.isTintActive=on},fadeEffect:function(element,action,time_in,time_out){if(action){if(time_in>0){element.stop(true,true,false).fadeIn(time_in)}else{element.show()}}else{if(time_out>0){element.stop(true,true).fadeOut(time_out)}else{element.hide()}}},setWindowPosition:function(e){var self=this;if(self.options.zoomType==="inner"){self.options.zoomWindowPosition=1}self.options.zoomWindowOffsetx=parseInt(self.options.zoomWindowOffsetx);self.options.zoomWindowOffsety=parseInt(self.options.zoomWindowOffsety);var windowOffsetTop=self.options.zoomWindowOffsety;var windowOffsetLeft=self.img_small.width;if(!isNaN(self.options.zoomWindowPosition)){switch(self.options.zoomWindowPosition){case 4:case 5:case 6:case 7:case 8:windowOffsetTop=self.img_small.height;break;case 12:case 13:case 14:case 15:case 16:windowOffsetTop=-self.zoomWindow.height()-self.options.borderSize*2;break;case 1:case 11:windowOffsetTop=self.options.zoomWindowOffsety;break;case 2:case 10:windowOffsetTop=self.img_small.height/2-self.zw.height/2;break;case 3:case 9:windowOffsetTop=self.img_small.height-self.zoomWindow.height()-self.options.borderSize*2;break}switch(self.options.zoomWindowPosition){case 1:case 2:case 3:case 4:case 16:windowOffsetLeft=self.img_small.width+self.options.zoomWindowOffsetx;if(self.options.responsive===true&&self.options.zoomType==="window"){if(self.$elem.offset().left+windowOffsetLeft+self.zw.width>=self.screen.width){self.zw.width=self.screen.width-self.$elem.offset().left-windowOffsetLeft-20;self.zoomWindow.css({width:self.zw.width});self.zoomLens.css({width:self.zw.width/self.ratio.width})}}break;case 8:case 9:case 10:case 11:case 12:if(self.options.responsive===true&&self.options.zoomType==="window"){if(self.zw.width+self.options.borderSize*2+self.options.zoomWindowOffsetx>=self.$elem.offset().left){self.zw.width=self.$elem.offset().left-self.options.borderSize*2-self.options.zoomWindowOffsetx-20;self.zoomWindow.css({width:self.zw.width});self.zoomLens.css({width:self.zw.width/self.ratio.width})}}windowOffsetLeft=-self.zw.width-self.options.borderSize*2-self.options.zoomWindowOffsetx*2;break;case 5:case 15:windowOffsetLeft=self.img_small.width-self.zoomWindow.width()-self.options.borderSize*2;break;case 6:case 14:windowOffsetLeft=self.img_small.width/2-self.zw.width/2-self.options.borderSize*2;break;case 7:case 13:windowOffsetLeft=0;break}}else{var externalContainer=$("#"+self.options.zoomWindowPosition).offset();windowOffsetTop=externalContainer.top;windowOffsetLeft=externalContainer.left}self.isWindowSet=true;windowOffsetTop=windowOffsetTop+self.options.zoomWindowOffsety;windowOffsetLeft=windowOffsetLeft+self.options.zoomWindowOffsetx;self.zoomWindow.css({top:windowOffsetTop,left:windowOffsetLeft});if(self.options.zoomType==="inner"){self.zoomWindow.css({top:0,left:0})}self.windowLeftPos=self.zoomWindow.width()/2-self.mouse.left*self.ratio.width;self.windowTopPos=self.zoomWindow.height()/2-self.mouse.top*self.ratio.height;if(self.bound.top){self.windowTopPos=0}if(self.bound.left){self.windowLeftPos=0}if(self.bound.bottom){self.windowTopPos=(self.img_big.height/self.currentZoomLevel-self.zoomWindow.height())*-1}if(self.bound.right){self.windowLeftPos=(self.img_big.width/self.currentZoomLevel-self.zoomWindow.width())*-1}if(self.fullheight){self.windowTopPos=0}if(self.fullwidth){self.windowLeftPos=0}if(self.options.zoomType==="window"||self.options.zoomType==="inner"){if(self.zoomLock===1){if(self.ratio.width<=1){self.windowLeftPos=0}if(self.ratio.height<=1){self.windowTopPos=0}}if(self.img_big.height<self.zw.height){self.windowTopPos=0}if(self.img_big.width<self.zw.width){self.windowLeftPos=0}if(self.options.easingAmount>0){self.easingEffect(e)}else{self.changeBackgroundSize();self.zoomWindow.css({backgroundPosition:self.windowLeftPos+"px "+self.windowTopPos+"px"})}}},changeBackgroundSize:function(){var self=this;if(!self.changeBgSize){return}var newvalue=self.newvaluewidth;if(self.img_small.height>self.img_small.width){newvalue=self.newvalueheight}var bgSize={"background-size":self.img_big.width/self.newvalue+"px "+self.img_big.height/self.newvalue+"px"};if(self.options.zoomType==="lens"){self.zoomLens.css(bgSize)}self.zoomWindow.css(bgSize);self.changeBgSize=false},easingEffect:function(){var self=this;if(!self.xp){self.xp=0}if(!self.yp){self.yp=0}if(!self.loop){self.loop=setInterval(function(){self.xp+=(self.windowLeftPos-self.xp)/self.options.easingAmount;self.yp+=(self.windowTopPos-self.yp)/self.options.easingAmount;if(self.scrollingLock){clearInterval(self.loop);self.xp=self.zoomWindow.width()/2-self.mouse.left*self.ratio.width;self.yp=self.zoomWindow.height()/2-self.mouse.top*self.ratio.height;self.changeBackgroundSize();self.zoomWindow.css({backgroundPosition:self.windowLeftPos+"px "+self.windowTopPos+"px"});self.scrollingLock=false;self.loop=false}else{self.changeBackgroundSize();self.zoomWindow.css({backgroundPosition:self.xp+"px "+self.yp+"px"})}},16)}},setTintPosition:function(){var self=this;if(!self.options.tint){return}self.tintpos=self.zoomLens.width()/2-self.mouse.left;self.tintposy=self.zoomLens.height()/2-self.mouse.top;if(self.bound.top||self.fullheight){self.tintposy=0}if(self.bound.left||self.fullwidth){self.tintpos=0}if(self.bound.bottom){self.tintposy=(self.img_small.height-self.zoomLens.height()-self.options.lensBorderSize*2)*-1}if(self.bound.right){self.tintpos=(self.img_small.width-self.zoomLens.width()-self.options.lensBorderSize*2)*-1}self.zoomTintImage.css({left:self.tintpos+"px",top:self.tintposy+"px"})},changeZoomLevel:function(value){var self=this;self.scrollingLock=true;var newvalue=parseFloat(value).toFixed(2);self.newvalue=newvalue;var maxHeight=self.img_big.height/self.zw.height;var maxWidth=self.img_big.width/self.zw.width;if(self.options.zoomType!=="inner"){if(maxHeight<=newvalue){self.newvalueheight=maxHeight;self.fullheight=true}else{self.newvalueheight=newvalue;self.fullheight=false}self.ratio.height=self.img_big.height/self.newvalueheight/self.img_small.height;if(maxWidth<=newvalue){self.newvaluewidth=maxWidth;self.fullwidth=true}else{self.newvaluewidth=newvalue;self.fullwidth=false}self.ratio.width=self.img_big.width/self.newvaluewidth/self.img_small.width}else{maxHeight=parseFloat(self.img_big.height/self.img_small.height).toFixed(2);maxWidth=parseFloat(self.img_big.width/self.img_small.width).toFixed(2);newvalue=Math.min(maxHeight,maxWidth,newvalue);self.newvalueheight=newvalue;self.ratio.height=self.img_big.height/newvalue/self.img_small.height;if(maxHeight<=newvalue){self.fullheight=true}else{self.fullheight=false}self.ratio.width=self.img_big.width/newvalue/self.img_small.width;if(maxWidth<=newvalue){self.newvaluewidth=maxWidth;self.fullwidth=true}else{self.newvaluewidth=newvalue;self.fullwidth=false}}var scrcontinue=true;if(self.options.zoomType==="inner"&&self.newvaluewidth>maxWidth){scrcontinue=false;self.fullheight=true;self.fullwidth=true}if(scrcontinue){self.zoomLock=0;self.changeZoom=true;if(self.zw.height/self.ratio.height<=self.img_small.height){self.currentZoomLevel=self.newvalueheight;self.changeBgSize=true;if(self.options.zoomType==="window"){self.zoomLens.css({height:String(self.zw.height/self.ratio.height)+"px"})}}if(self.zw.width/self.ratio.width<=self.img_small.width){if(self.options.zoomType!=="inner"&&self.newvaluewidth>self.newvalueheight){self.currentZoomLevel=self.newvaluewidth}self.changeBgSize=true;if(self.options.zoomType==="window"){self.zoomLens.css({width:String(self.zw.width/self.ratio.width)+"px"})}}if(self.options.zoomType==="inner"){self.changeBgSize=true;if(self.img_small.width!==self.img_small.height){self.currentZoomLevel=self.newvaluewidth}}}self.setPosition(self.currentLoc)}};$.fn.image_zoom=function(options){return this.each(function(){function F(){}var settings=$.extend(true,{},$.fn.image_zoom.options,options);F.prototype=ImageZoooom;var zoom=new F;zoom.init(settings,this)})};$.fn.image_zoom.options={zoomEnabled:true,zoomLevel:1,scrollZoom:false,scrollZoomIncrement:.1,minZoomLevel:false,maxZoomLevel:false,easingAmount:12,lensSize:200,zoomWindowWidth:400,zoomWindowHeight:360,zoomWindowOffsetx:0,zoomWindowOffsety:0,zoomWindowPosition:1,zoomWindowBgColour:"#fff",zoomWindowShadow:4,lensFadeIn:false,lensFadeOut:false,lensOverlay:false,zoomWindowFadeIn:false,zoomWindowFadeOut:false,zoomWindowAlwaysShow:false,zoomTintFadeIn:false,zoomTintFadeOut:false,borderSize:4,showLens:true,borderColour:"#888",borderRadius:0,lensBorderSize:1,lensBorderColour:"#000",lensShape:"square",zoomType:"window",containLensZoom:false,lensColour:"white",lensOpacity:.4,lenszoom:false,tint:false,tintColour:"#333",tintOpacity:.4,cursor:"default",responsive:false,responsiveThreshold:550,customText:"",customTextSize:12,customTextColor:"#ccc",customTextAlign:"bottom",customTextVAlign:"right",onComplete:$.noop}})(jQuery,window,document);
trunk/assets/js/tinyMCE-button.js ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function() {
2
+ tinymce.PluginManager.add('image_zoom_button', function( editor, url ) {
3
+
4
+ /*
5
+ var this_js = tinyMCEPreInit.mceInit.content.external_plugins.image_zoom_button;
6
+ var this_png_button = this_js.replace('js/tinyMCE-button.js', 'images/tinyMCE_button.png');
7
+ */
8
+ function toggle_zoom() {
9
+ var content = editor.selection.getContent();
10
+ var zoom_class = 'zoooom';
11
+
12
+ if ( content.indexOf('img ') < 0 ) {
13
+ alert('First you have to select the image to which you want to add the zoom feature');
14
+ return false;
15
+ }
16
+
17
+ if ( content.indexOf( zoom_class ) < 0 ) {
18
+ if ( content.indexOf('size-full') > 0 ) {
19
+ alert('You can add the zoom feature only to non full-size images');
20
+ return false;
21
+ }
22
+ editor.dom.addClass( editor.selection.getNode(), zoom_class );
23
+ this.active(true);
24
+ } else {
25
+ editor.dom.removeClass( editor.selection.getNode(), zoom_class );
26
+ this.active(false);
27
+ }
28
+ }
29
+
30
+ var this_button = {
31
+ title: 'Image Zoom',
32
+ stateSelector: 'img.zoooom',
33
+ onClick: toggle_zoom,
34
+ };
35
+ if ( typeof jQuery('#toplevel_page_zoooom_settings img').attr('src') !== 'undefined' ) {
36
+ this_button.image = jQuery('#toplevel_page_zoooom_settings img').attr('src').replace('icon.svg', 'tinyMCE_button.png');
37
+ } else {
38
+ this_button.text = 'Image Zoom';
39
+ }
40
+
41
+ editor.addButton('image_zoom_button', this_button);
42
+ });
43
+ })();
44
+
45
+
trunk/image-zoooom.php ADDED
@@ -0,0 +1,511 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Name: WP Image Zoom
4
+ * Plugin URI: https://wordpress.org/plugins/wp-image-zoooom/
5
+ * Description: Add zoom effect over the an image, whether it is an image in a post/page or the featured image of a product in a WooCommerce shop
6
+ * Version: 1.16
7
+ * Author: SilkyPress
8
+ * Author URI: https://www.silkypress.com
9
+ * License: GPL2
10
+ *
11
+ * Text Domain: wp-image-zoooom
12
+ * Domain Path: /languages/
13
+ *
14
+ */
15
+
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit; // Exit if accessed directly
18
+ }
19
+
20
+ if ( ! class_exists( 'ImageZoooom' ) ) :
21
+ /**
22
+ * Main ImageZoooom Class
23
+ *
24
+ * @class ImageZoooom
25
+ */
26
+ final class ImageZoooom {
27
+ public $plugin;
28
+ public $theme = '';
29
+ protected static $_instance = null;
30
+
31
+
32
+ /**
33
+ * Main ImageZoooom Instance
34
+ *
35
+ * Ensures only one instance of ImageZoooom is loaded or can be loaded
36
+ *
37
+ * @static
38
+ * @return ImageZoooom - Main instance
39
+ */
40
+ public static function instance() {
41
+ if ( is_null( self::$_instance ) ) {
42
+ self::$_instance = new self();
43
+ }
44
+ return self::$_instance;
45
+ }
46
+
47
+ /**
48
+ * Cloning is forbidden.
49
+ */
50
+ public function __clone() {
51
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'wp-image-zoooom' ), '1.0' );
52
+ }
53
+
54
+ /**
55
+ * Unserializing instances of this class is forbidden.
56
+ */
57
+ public function __wakeup() {
58
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'wp-image-zoooom' ), '1.0' );
59
+ }
60
+
61
+ /**
62
+ * Image Zoooom Constructor
63
+ * @access public
64
+ * @return ImageZoooom
65
+ */
66
+ public function __construct() {
67
+ global $_wp_theme_features;
68
+
69
+ $this->theme = strtolower(get_template());
70
+ add_action('init', array($this, 'plugins_url'));
71
+ include_once( 'includes/settings.php' );
72
+ $this->plugin = wp_image_zoooom_settings('plugin');
73
+
74
+ if ( is_admin() ) {
75
+ $this->load_plugin_textdomain();
76
+ include_once( 'includes/image-zoom-admin.php' );
77
+ // include_once( 'includes/image-zoom-notices.php' );
78
+ include_once( 'includes/image-zoom-warnings.php' );
79
+ }
80
+ add_action( 'template_redirect', array( $this, 'template_redirect' ) );
81
+ add_action( 'vc_after_init', array( $this, 'js_composer' ) );
82
+ }
83
+
84
+ /**
85
+ * Show the javascripts in the front-end
86
+ * Hooked to template_redirect in $this->__construct()
87
+ * @access public
88
+ */
89
+ public function template_redirect() {
90
+
91
+ $general = $this->get_option_general();
92
+
93
+ if ( isset($general['enable_mobile']) && empty($general['enable_mobile']) && wp_is_mobile() )
94
+ return false;
95
+
96
+ // Adjust the zoom to WooCommerce 3.0.+
97
+ if ( $general['enable_woocommerce'] && class_exists('woocommerce') && version_compare( WC_VERSION, '3.0', '>') ) {
98
+ remove_theme_support( 'wc-product-gallery-zoom' );
99
+ remove_theme_support( 'wc-product-gallery-lightbox' );
100
+ add_theme_support( 'wc-product-gallery-slider' );
101
+
102
+ if ($this->theme('kiddy') || $this->theme('flatsome')) {
103
+ remove_theme_support( 'wc-product-gallery-slider' );
104
+ }
105
+ }
106
+
107
+ add_filter( 'woocommerce_single_product_image_html', array( $this, 'woocommerce_single_product_image_html' ) );
108
+ add_filter( 'woocommerce_single_product_image_thumbnail_html', array( $this, 'woocommerce_single_product_image_thumbnail_html' ) );
109
+
110
+ add_filter( 'woocommerce_single_product_image_html', array( $this, 'remove_prettyPhoto' ) );
111
+ add_filter( 'woocommerce_single_product_image_thumbnail_html', array( $this, 'remove_prettyPhoto' ) );
112
+ // add_filter( 'single_product_large_thumbnail_size', array( $this, 'single_product_large_thumbnail_size'), 40 );
113
+ // add_filter( 'single_product_small_thumbnail_size', array( $this, 'single_product_small_thumbnail_size'), 40 );
114
+
115
+ add_filter( 'the_content', array( $this, 'find_bigger_image' ), 40 );
116
+
117
+ add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ) );
118
+ add_action( 'wp_head', array( $this, 'wp_head_compatibilities' ) );
119
+
120
+ add_filter( 'wp_calculate_image_srcset', array( $this, 'wp_calculate_image_srcset' ), 40, 5 );
121
+ }
122
+
123
+ /**
124
+ * If the full image isn't in the srcset, then add it
125
+ */
126
+ function wp_calculate_image_srcset($sources, $size_array, $image_src, $image_meta, $attachment_id ) {
127
+ if ( ! isset( $image_meta['width'] ) ) {
128
+ return $sources;
129
+ }
130
+ if ( ! is_array( $sources ) ) {
131
+ $sources = array();
132
+ }
133
+ if ( isset( $sources[ $image_meta['width'] ] ) ) {
134
+ return $sources;
135
+ }
136
+
137
+ if ( is_array($size_array) && count($size_array) == 2 && isset($image_meta['height']) && isset($image_meta['width'])) {
138
+ $ratio = $size_array[0] * $image_meta['height'] / $size_array[1] / $image_meta['width'];
139
+ if ( $ratio > 1.03 || $ratio < 0.97 ) return $sources;
140
+ }
141
+
142
+ $url = str_replace( wp_basename( $image_src ), wp_basename( $image_meta['file'] ), $image_src );
143
+ $sources[$image_meta['width']] = array(
144
+ 'url' => $url,
145
+ 'descriptor' => 'w',
146
+ 'value' => $image_meta['width'],
147
+ );
148
+ return $sources;
149
+ }
150
+
151
+ /**
152
+ * Add zoom option in the vc_single_image shortcode in Visual Composer
153
+ */
154
+ function js_composer() {
155
+ if ( ! defined( 'WPB_VC_VERSION' ) ) return false;
156
+ $param = WPBMap::getParam( 'vc_single_image', 'style' );
157
+ if ( is_array( $param ) ) {
158
+ $param['value'][__( 'WP Image Zoooom', 'wp-image-zoooom' )] = 'zoooom';
159
+ vc_update_shortcode_param( 'vc_single_image', $param );
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Add data-thumbnail-src to the main product image
165
+ */
166
+ function woocommerce_single_product_image_html( $content ) {
167
+ if ( !strstr( $content, 'attachment-shop_single' ) ) {
168
+ $content = preg_replace('/ class="([^"]+)" alt="/i', ' class="attachment-shop_single $1" alt="', $content);
169
+ }
170
+ $thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id(), 'shop_thumbnail' );
171
+
172
+ if ( ! isset( $thumbnail[0] ) ) return $content;
173
+
174
+ $thumbnail_data = ' data-thumbnail-src="'.$thumbnail[0].'"';
175
+
176
+ $content = str_replace( ' title="', $thumbnail_data . ' title="', $content );
177
+
178
+ return $content;
179
+ }
180
+
181
+ /**
182
+ * Force the WooCommerce to use the "src" attribute
183
+ */
184
+ function woocommerce_single_product_image_thumbnail_html( $content ) {
185
+ $content = str_replace('class="attachment-shop_single size-shop_single"', 'class="attachment-shop_thumbnail size-shop_thumbnail"', $content);
186
+
187
+ if ( !strstr( $content, 'attachment-shop_thumbnail' ) ) {
188
+ $content = str_replace(' class="', ' class="attachment-shop_thumbnail ', $content);
189
+ }
190
+
191
+ if ( strstr( $content, 'attachment-shop_single' ) ) {
192
+ $content = str_replace('attachment-shop_single', '', $content);
193
+ }
194
+
195
+ // Fix for the 2.8.6+ Virtue theme, see https://wordpress.org/support/topic/woocommerce_single_product_image_html-filter/
196
+ if ($this->theme('virtue')) {
197
+ $content = str_replace('attachment-shop_thumbnail wp-post-image', 'attachment-shop_single wp-post-image', $content);
198
+ }
199
+ return $content;
200
+ }
201
+
202
+ /**
203
+ * Remove the lightbox
204
+ */
205
+ function remove_prettyPhoto( $content ) {
206
+ $replace = array( 'data-rel="prettyPhoto"', 'data-rel="lightbox"', 'data-rel="prettyPhoto[product-gallery]"', 'data-rel="lightbox[product-gallery]"', 'data-rel="prettyPhoto[]"');
207
+
208
+ return str_replace( $replace, 'data-rel="zoomImage"', $content );
209
+ }
210
+
211
+
212
+ /**
213
+ * Find bigger image if class="zoooom" and there is no srcset
214
+ *
215
+ * Note: the srcset is not be set if for some reason
216
+ * the _wp_attachment_metadata for the image is not present
217
+ */
218
+ function find_bigger_image( $content ) {
219
+ if ( ! preg_match_all( '/<img [^>]+>/', $content, $matches ) ) {
220
+ return $content;
221
+ }
222
+
223
+ foreach( $matches[0] as $image ) {
224
+ // the image has to have the class "zoooom"
225
+ if ( false === strpos( $image, 'zoooom' ) ) {
226
+ continue;
227
+ }
228
+ // the image was tagged to skip this step
229
+ if ( false !== strpos( $image, 'skip-data-zoom-image' ) ) {
230
+ continue;
231
+ }
232
+ // the image does not have the srcset
233
+ if ( false !== strpos( $image, ' srcset=' ) ) {
234
+ continue;
235
+ }
236
+ // the image has an "-300x400.jpg" type ending
237
+ if ( 0 == preg_match( '@ src="([^"]+)(-[0-9]+x[0-9]+).(jpg|png|gif)"@', $image) ) {
238
+ continue;
239
+ }
240
+
241
+ // link the full-sized image to the data-zoom-image attribute
242
+ $full_image = preg_replace( '@^(.*) src="(.*)(-[0-9]+x[0-9]+).(jpg|png|gif)"(.*)$@', '$2.$4', $image );
243
+ $full_image_attr = ' data-zoom-image="' . $full_image . '"';
244
+ $full_image_img = str_replace(' src=', $full_image_attr. ' src=', $image);
245
+ $content = str_replace( $image, $full_image_img, $content);
246
+ }
247
+
248
+ return $content;
249
+ }
250
+
251
+
252
+ /**
253
+ * wp_head compatibilities
254
+ */
255
+ function wp_head_compatibilities() {
256
+ if ($this->theme('bridge')) {
257
+ echo '<style type="text/css"> .wrapper { z-index: 40 !important; } </style>' . PHP_EOL;
258
+ }
259
+
260
+ if ($this->theme('nouveau')) {
261
+ echo '<style type="text/css"> .wrapper { z-index: 100 !important; } </style>' . PHP_EOL;
262
+ }
263
+
264
+ if ($this->theme('artcore')) {
265
+ echo '<style type="text/css"> .sidebar-menu-push { z-index: 40 !important; } </style>' . PHP_EOL;
266
+ }
267
+
268
+ // Many of the select-themes.com themes add a wrapper on the whole page
269
+ $select_themes = array(
270
+ 'kloe', 'startit', 'kudos', 'moments', 'ayro', 'suprema', 'ultima', 'geko', 'target', 'coney', 'aton', 'ukiyo', 'zenit', 'mixtape', 'scribbler', 'alecta', 'cityrama', 'bazaar'
271
+ );
272
+ foreach( $select_themes as $_theme ) {
273
+ if ($this->theme($_theme) ) { ?>
274
+ <style type="text/css"> .qodef-wrapper { z-index: 200 !important; } </style>
275
+ <?php
276
+ }
277
+ }
278
+
279
+ if ($this->theme('dorianwp')) {
280
+ echo '<style type="text/css">.edgtf-side-menu-slide-from-right .edgtf-wrapper {z-index: 20;}</style>' . PHP_EOL;
281
+ }
282
+
283
+ if ( defined('LP_PLUGIN_FILE')) {
284
+ echo '<style type="text/css">body.content-item-only .learn-press-content-item-only { z-index: 990; } .single-lp_course #wpadminbar{z-index:900;}</style>' . PHP_EOL;
285
+ }
286
+ }
287
+
288
+
289
+ /**
290
+ * Enqueue the jquery.image_zoom.js
291
+ * Hooked to wp_enqueue_scripts in $this->template_redirect
292
+ * @access public
293
+ */
294
+ public function wp_enqueue_scripts() {
295
+ $v = $this->plugin['version'];
296
+ $url = $this->plugin['url'];
297
+ $prefix = '.min';
298
+
299
+ // Load the jquery.image_zoom.js
300
+ wp_register_script( 'image_zoooom', $url.'assets/js/jquery.image_zoom'.$prefix.'.js', array( 'jquery' ), $v, false);
301
+ wp_enqueue_script( 'image_zoooom' );
302
+
303
+ // Load the image_zoom-init.js
304
+ wp_register_script( 'image_zoooom-init', $url. 'assets/js/image_zoom-init.js', array( 'jquery' ), $v, false);
305
+ wp_localize_script( 'image_zoooom-init', 'IZ', $this->get_localize_vars());
306
+ wp_enqueue_script( 'image_zoooom-init' );
307
+
308
+ // Remove the prettyPhoto
309
+ if ( $this->woocommerce_is_active() && function_exists('is_product') && is_product() ) {
310
+ wp_dequeue_script( 'prettyPhoto' );
311
+ wp_dequeue_script( 'prettyPhoto-init' );
312
+ }
313
+ }
314
+
315
+ function get_localize_vars() {
316
+ $general = $this->get_option_general();
317
+ $options = $this->get_options_for_zoom();
318
+
319
+ $default = array(
320
+ 'with_woocommerce' => '1',
321
+ 'exchange_thumbnails' => '1',
322
+ 'woo_categories' => (isset($general['woo_cat']) && $general['woo_cat'] == 1 ) ? '1' : '0',
323
+ 'enable_mobile' => $general['enable_mobile'],
324
+ 'options' => $options,
325
+ 'woo_slider' => '0',
326
+ );
327
+
328
+ if (class_exists('woocommerce') && version_compare( WC_VERSION, '3.0', '>') && current_theme_supports( 'wc-product-gallery-slider' )) {
329
+ $default['woo_slider'] = 1;
330
+ }
331
+
332
+ $with_woocommerce = true;
333
+ if ( ! $this->woocommerce_is_active() )
334
+ $default['with_woocommerce'] = '0';
335
+
336
+ if ( !function_exists( 'is_product' ) || !is_product() )
337
+ $default['with_woocommerce'] = '0';
338
+
339
+ if ( isset($general['enable_woocommerce']) && empty($general['enable_woocommerce']))
340
+ $default['with_woocommerce'] = '0';
341
+
342
+ if ( isset($general['exchange_thumbnails']) && empty($general['exchange_thumbnails']))
343
+ $default['exchange_thumbnails'] = '0';
344
+
345
+ return $default;
346
+ }
347
+
348
+ function get_options_for_zoom() {
349
+ $i = get_option( 'zoooom_settings' );
350
+ $o = array();
351
+
352
+ switch ( $i['lensShape'] ) {
353
+ case 'none' :
354
+ $o = array(
355
+ 'zoomType' => 'inner',
356
+ 'cursor' => $i['cursorType'],
357
+ 'easingAmount' => $i['zwEasing'],
358
+ );
359
+ break;
360
+ case 'square' :
361
+ case 'round' :
362
+ $o = array(
363
+ 'lensShape' => $i['lensShape'],
364
+ 'zoomType' => 'lens',
365
+ 'lensSize' => $i['lensSize'],
366
+ 'borderSize' => $i['borderThickness'],
367
+ 'borderColour' => $i['borderColor'],
368
+ 'cursor' => $i['cursorType'],
369
+ 'lensFadeIn' => $i['lensFade'],
370
+ 'lensFadeOut' => $i['lensFade'],
371
+ );
372
+ if ( $i['tint'] == true ) {
373
+ $o['tint'] = 'true';
374
+ $o['tintColour'] = $i['tintColor'];
375
+ $o['tintOpacity'] = $i['tintOpacity'];
376
+ }
377
+
378
+ break;
379
+ case 'square' :
380
+ break;
381
+ case 'zoom_window' :
382
+ $o = array(
383
+ 'lensShape' => 'square',
384
+ 'lensSize' => $i['lensSize'],
385
+ 'lensBorderSize' => $i['borderThickness'],
386
+ 'lensBorderColour' => $i['borderColor'],
387
+ 'borderRadius' => $i['zwBorderRadius'],
388
+ 'cursor' => $i['cursorType'],
389
+ 'zoomWindowWidth' => $i['zwWidth'],
390
+ 'zoomWindowHeight' => $i['zwHeight'],
391
+ 'zoomWindowOffsetx' => $i['zwPadding'],
392
+ 'borderSize' => $i['zwBorderThickness'],
393
+ 'borderColour' => $i['zwBorderColor'],
394
+ 'zoomWindowShadow' => $i['zwShadow'],
395
+ 'lensFadeIn' => $i['lensFade'],
396
+ 'lensFadeOut' => $i['lensFade'],
397
+ 'zoomWindowFadeIn' => $i['zwFade'],
398
+ 'zoomWindowFadeOut' => $i['zwFade'],
399
+ 'easingAmount' => $i['zwEasing'],
400
+ );
401
+
402
+ if ( $i['tint'] == true ) {
403
+ $o['tint'] = 'true';
404
+ $o['tintColour'] = $i['tintColor'];
405
+ $o['tintOpacity'] = $i['tintOpacity'];
406
+ }
407
+
408
+ break;
409
+ }
410
+ return $o;
411
+ }
412
+
413
+
414
+
415
+ /** Helper function ****************************************/
416
+
417
+ public function theme($string) {
418
+ $string = strtolower($string);
419
+ if (empty($this->theme)) {
420
+ $this->theme = strtolower(get_template());
421
+ }
422
+ if (strpos($this->theme, $string ) !== false)
423
+ return true;
424
+
425
+ return false;
426
+ }
427
+
428
+ function plugins_url() {
429
+ define('IMAGE_ZOOM_FILE', __FILE__);
430
+ define('IMAGE_ZOOM_URL', plugins_url('/', __FILE__));
431
+ define('IMAGE_ZOOM_PATH', plugin_dir_path(__FILE__));
432
+ $this->plugin['url'] = IMAGE_ZOOM_URL;
433
+ $this->plugin['path'] = IMAGE_ZOOM_PATH;
434
+ }
435
+
436
+
437
+ /**
438
+ * Check if WooCommerce is activated
439
+ * @access public
440
+ * @return bool
441
+ */
442
+ public function woocommerce_is_active() {
443
+ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
444
+ return true;
445
+ }
446
+ return false;
447
+ }
448
+
449
+ public function get_option_general() {
450
+ $general = get_option('zoooom_general');
451
+
452
+ if (!isset($general['enable_woocommerce']))
453
+ $general['enable_woocommerce'] = true;
454
+
455
+ if (!isset($general['exchange_thumbnails']))
456
+ $general['exchange_thumbnails'] = true;
457
+
458
+ if ( !isset( $general['enable_mobile'] ) )
459
+ $general['enable_mobile'] = false;
460
+
461
+ $general['force_woocommerce'] = false;
462
+
463
+ if ( !isset( $general['woo_cat'] ) )
464
+ $general['woo_cat'] = false;
465
+
466
+ if ( ! $this->woocommerce_is_active() ) {
467
+ $general['woo_cat'] = false;
468
+ }
469
+
470
+ return $general;
471
+ }
472
+
473
+ public function load_plugin_textdomain() {
474
+ load_plugin_textdomain( 'wp-image-zoooom', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
475
+ }
476
+
477
+
478
+
479
+ }
480
+
481
+ endif;
482
+
483
+ /**
484
+ * Returns the main instance of ImageZoooom
485
+ *
486
+ * @return ImageZoooom
487
+ */
488
+ function ImageZoooom() {
489
+ return ImageZoooom::instance();
490
+ }
491
+
492
+ ImageZoooom();
493
+
494
+ /**
495
+ * * Plugin action link to Settings page
496
+ * */
497
+ function wp_image_zoooom_plugin_action_links( $links ) {
498
+
499
+ $settings_link = '<a href="admin.php?page=zoooom_settings">' .
500
+ esc_html( __('Settings', 'wp-image-zoooom' ) ) . '</a>';
501
+
502
+ return array_merge( array( $settings_link), $links );
503
+
504
+ }
505
+ add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'wp_image_zoooom_plugin_action_links' );
506
+
507
+ if ( ! function_exists( 'x_disable_wp_image_srcset' ) ) :
508
+ function x_disable_wp_image_srcset() {
509
+ return true;
510
+ }
511
+ endif;
trunk/includes/image-zoom-admin-general.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once 'image-zoom-forms-helper.php';
4
+
5
+ $iz_admin = new ImageZoooom_Admin;
6
+ $iz_forms_helper = new ImageZoooom_FormsHelper;
7
+
8
+ $assets_url = IMAGE_ZOOM_URL . '/assets';
9
+
10
+ $settings = get_option('zoooom_general');
11
+ if ( $settings == false ) {
12
+ $settings = $iz_admin->validate_general( null );
13
+ }
14
+
15
+ $messages = $iz_admin->show_messages();
16
+
17
+ include_once( 'premium-tooltips.php' );
18
+
19
+ ?>
20
+ <style type="text/css">
21
+ .form-group { display:flex; align-items: center; }
22
+ .control-label{ height: auto; }
23
+ </style>
24
+
25
+ <script type="text/javascript">
26
+
27
+ jQuery(document).ready(function($) {
28
+ $('[data-toggle="tooltip"]').tooltip();
29
+ });
30
+ </script>
31
+
32
+ <?php $brand = '<img src="'. $assets_url.'/images/silkypress_logo.png" /> <a href="https://www.silkypress.com/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner" target="_blank">SilkyPress.com</a>';?>
33
+ <h2><?php printf(esc_html__('WP Image Zoom by %1$s', 'wp-image-zoooom'), $brand); ?></h2>
34
+
35
+ <div class="wrap">
36
+
37
+
38
+ <h3 class="nav-tab-wrapper woo-nav-tab-wrapper">
39
+
40
+ <a href="?page=zoooom_settings&tab=general" class="nav-tab nav-tab-active"><?php _e('General Settings', 'wp-image-zoooom'); ?></a>
41
+
42
+ <a href="?page=zoooom_settings&tab=settings" class="nav-tab"><?php _e('Zoom Settings', 'wp-image-zoooom'); ?></a>
43
+
44
+ </h3>
45
+
46
+ <div class="panel panel-default">
47
+ <div class="panel-body">
48
+ <div class="row">
49
+
50
+
51
+
52
+ <div class="col-lg-12">
53
+ <?php echo $messages; ?>
54
+ <div id="alert_messages">
55
+ </div>
56
+ </div>
57
+
58
+
59
+
60
+
61
+ <form class="form-horizontal" method="post" action="" id="form_settings">
62
+
63
+ <?php
64
+ $iz_forms_helper->label_class = 'col-sm-6 control-label';
65
+
66
+ foreach ( array('enable_woocommerce', 'exchange_thumbnails', 'woo_cat', 'woo_variations', 'enable_mobile', 'remove_lightbox_thumbnails', 'remove_lightbox', 'force_attachments', 'flexslider', 'huge_it_gallery', 'enable_fancybox', 'enable_jetpack_carousel' ) as $_field ) {
67
+ $this_settings = $iz_admin->get_settings( $_field);
68
+ $this_settings['value'] = '';
69
+ if ( isset( $settings[$_field] ) ) {
70
+ $this_settings['value'] = $settings[$_field];
71
+ }
72
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
73
+ }
74
+
75
+ ?>
76
+
77
+ <div class="form-group">
78
+ <div class="col-lg-6">
79
+ <input type="hidden" name="tab" value="general" />
80
+ <button type="submit" class="btn btn-primary"><?php _e('Save changes', 'wp-image-zoooom'); ?></button>
81
+ </div>
82
+ </div>
83
+
84
+ <?php wp_nonce_field( 'iz_general' ); ?>
85
+
86
+ </form>
87
+
88
+
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </div>
93
+
94
+ <?php include_once('right_columns.php'); ?>
trunk/includes/image-zoom-admin-template.php ADDED
@@ -0,0 +1,224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once 'image-zoom-forms-helper.php';
4
+
5
+ $iz_admin = new ImageZoooom_Admin;
6
+ $iz_forms_helper = new ImageZoooom_FormsHelper;
7
+
8
+ $assets_url = IMAGE_ZOOM_URL . '/assets';
9
+
10
+ $settings = get_option( 'zoooom_settings' );
11
+ if ( $settings == false ) {
12
+ $settings = $iz_admin->validate_settings( array() );
13
+ }
14
+ $messages = $iz_admin->show_messages();
15
+
16
+
17
+ include_once( 'premium-tooltips.php' );
18
+
19
+ ?>
20
+
21
+ <?php $brand = '<img src="'. IMAGE_ZOOM_URL .'assets/images/silkypress_logo.png" /> <a href="https://www.silkypress.com/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner" target="_blank">SilkyPress.com</a>';?>
22
+ <h2><?php printf(esc_html__('WP Image Zoom by %1$s', 'wp-image-zoooom'), $brand); ?></h2>
23
+
24
+ <div class="wrap">
25
+
26
+
27
+ <h3 class="nav-tab-wrapper woo-nav-tab-wrapper">
28
+
29
+ <a href="?page=zoooom_settings&tab=general" class="nav-tab"><?php _e('General Settings', 'wp-image-zoooom'); ?></a>
30
+
31
+ <a href="?page=zoooom_settings&tab=settings" class="nav-tab nav-tab-active"><?php _e('Zoom Settings', 'wp-image-zoooom'); ?></a>
32
+
33
+ </h2>
34
+
35
+ <div class="panel panel-default">
36
+ <div class="panel-body">
37
+ <div class="row">
38
+
39
+
40
+ <?php echo $messages; ?>
41
+ <div id="alert_messages">
42
+ </div>
43
+
44
+ <form class="form-horizontal" method="post" action="" id="form_settings">
45
+
46
+ <div class="form-group">
47
+ <?php echo load_steps(__('Step 1', 'wp-image-zoooom'), __('Choose the Lens Shape', 'wp-image-zoooom')); ?>
48
+
49
+ <?php
50
+ $lensShape = $iz_admin->get_settings( 'lensShape', $settings['lensShape']);
51
+
52
+ $lensShape['value'] = $settings['lensShape'];
53
+ if ( ! isset($lensShape['value'] ) ) $lensShape['value'] = '';
54
+ ?>
55
+ <div class="btn-group" data-toggle="buttons" id="btn-group-style-circle">
56
+ <?php foreach( $lensShape['values'] as $_id => $_value ) : ?>
57
+ <?php $toggle = ( ! empty($_value[1]) ) ? ' data-toggle="tooltip" data-placement="top" title="'.$_value[1].'" data-original-title="' . $_value[1] . '"' : ''; ?>
58
+ <label class="btn btn-default<?php echo ($lensShape['value'] == $_id) ? ' active' : '' ?> ">
59
+ <input type="radio" name="<?php echo $lensShape['name'] ?>" id="<?php echo $_id ?>" value="<?php echo $_id ?>" <?php echo ($lensShape['value'] == $_id) ? 'checked' : '' ?> />
60
+ <div class="icon-in-label ndd-spot-icon icon-style-1"<?php echo $toggle; ?>>
61
+ <div class="ndd-icon-main-element">
62
+ <i class="<?php echo $_value[0]; ?>"></i>
63
+ </div>
64
+ </div>
65
+ </label>
66
+ <?php endforeach; ?>
67
+ </div>
68
+
69
+ <div style="clear: both; margin-bottom: 50px;"></div>
70
+
71
+
72
+ <?php echo load_steps(__('Step 2', 'wp-image-zoooom'), __('Check your configuration changes on the image', 'wp-image-zoooom')); ?>
73
+ <img id="demo" src="<?php echo $assets_url ?>/images/img1_medium.png" data-zoom-image="<?php echo $assets_url ?>/images/img1_large.png" width="300" />
74
+
75
+
76
+ <div style="clear: both; margin-bottom: 50px;"></div>
77
+
78
+ <?php echo load_steps(__('Step 3', 'wp-image-zoooom'), __('Make more fine-grained configurations on the zoom', 'wp-image-zoooom')); ?>
79
+ <ul class="nav nav-tabs">
80
+ <li class="" id="tab_padding" style="width: 40px;"> &nbsp; </li>
81
+ <li class="active" id="tab_general">
82
+ <a href="#general_settings" data-toggle="tab" aria-expanded="true"><?php _e('General', 'wp-image-zoooom'); ?></a>
83
+ </li>
84
+ <li class="" id="tab_lens">
85
+ <a href="#lens_settings" data-toggle="tab" aria-expanded="false"><?php _e('Lens', 'wp-image-zoooom'); ?></a>
86
+ </li>
87
+ <li class="" id="tab_zoom_window">
88
+ <a href="#zoom_window_settings" data-toggle="tab" aria-expanded="false"><?php _e('Zoom Window', 'wp-image-zoooom'); ?></a>
89
+ </li>
90
+ <li class="" id="tab_custom_text">
91
+ <a href="#custom_text" data-toggle="tab" aria-expanded="false"><?php _e('Custom Text', 'wp-image-zoooom'); ?></a>
92
+ </li>
93
+ </ul>
94
+
95
+ <div class="tab-content">
96
+ <div class="tab-pane fade active in" id="general_settings">
97
+ <?php
98
+
99
+ foreach ( array('cursorType', 'zwEasing', 'onClick', 'ratio' ) as $_field ) {
100
+ $this_settings = $iz_admin->get_settings( $_field);
101
+ $this_settings['value'] = '';
102
+ if ( isset( $settings[$_field] ) ) {
103
+ $this_settings['value'] = $settings[$_field];
104
+ }
105
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
106
+ }
107
+ ?>
108
+
109
+ </div>
110
+ <div class="tab-pane fade" id="lens_settings">
111
+ <?php
112
+
113
+ $fields = array(
114
+ 'lensSize',
115
+ 'lensColour',
116
+ 'lensOverlay',
117
+ 'borderThickness',
118
+ 'borderColor',
119
+ 'lensFade',
120
+ 'tint',
121
+ 'tintColor',
122
+ 'tintOpacity',
123
+ );
124
+
125
+ foreach ( $fields as $_field ) {
126
+ $this_settings = $iz_admin->get_settings( $_field);
127
+ $this_settings['value'] = '';
128
+ if ( isset( $settings[$_field] ) ) {
129
+ $this_settings['value'] = $settings[$_field];
130
+ }
131
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
132
+ }
133
+
134
+ ?>
135
+ </div>
136
+
137
+ <div class="tab-pane fade" id="zoom_window_settings">
138
+ <?php
139
+
140
+ $fields = array(
141
+ 'zwWidth',
142
+ 'zwHeight',
143
+ 'zwResponsive',
144
+ 'zwResponsiveThreshold',
145
+ 'zwPositioning',
146
+ 'zwPadding',
147
+ 'zwBorderThickness',
148
+ 'zwBorderColor',
149
+ 'zwShadow',
150
+ 'zwBorderRadius',
151
+ 'mousewheelZoom',
152
+ 'zwFade',
153
+ );
154
+
155
+ foreach ( $fields as $_field ) {
156
+ $this_settings = $iz_admin->get_settings( $_field);
157
+ $this_settings['value'] = '';
158
+ if ( isset( $settings[$_field] ) ) {
159
+ $this_settings['value'] = $settings[$_field];
160
+ }
161
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
162
+ }
163
+
164
+ ?>
165
+ </div>
166
+
167
+ <div class="tab-pane fade" id="custom_text">
168
+ <?php
169
+
170
+ $fields = array(
171
+ 'customText',
172
+ 'customTextSize',
173
+ 'customTextColor',
174
+ 'customTextAlign',
175
+ );
176
+
177
+ foreach ( $fields as $_field ) {
178
+ $this_settings = $iz_admin->get_settings( $_field);
179
+ $this_settings['value'] = '';
180
+ if ( isset( $settings[$_field] ) ) {
181
+ $this_settings['value'] = $settings[$_field];
182
+ }
183
+ $iz_forms_helper->input($this_settings['input_form'], $this_settings);
184
+ }
185
+
186
+ ?>
187
+ </div>
188
+
189
+ </div><!-- close "tab-content" -->
190
+
191
+
192
+ <?php echo load_steps(__('Step 4', 'wp-image-zoooom'), __('Don\'t forget to save the changes in order to apply them on the website', 'wp-image-zoooom')); ?>
193
+ <div class="form-group">
194
+ <div class="col-lg-6">
195
+ <button type="submit" class="btn btn-primary"><?php _e('Save changes', 'wp-image-zoooom'); ?></button>
196
+ </div>
197
+ </div>
198
+
199
+ </div><!-- close "form-group" -->
200
+
201
+ <?php wp_nonce_field( 'iz_template' ); ?>
202
+ </form>
203
+
204
+
205
+ </div>
206
+ </div>
207
+ </div>
208
+
209
+
210
+ </div><!-- close wrap -->
211
+
212
+
213
+ <?php include_once('right_columns.php'); ?>
214
+
215
+ <?php
216
+
217
+ function load_steps($step, $description) {
218
+ return '<div class="steps">
219
+ <span class="steps_nr">'. $step .':</span>
220
+ <span class="steps_desc">' . $description . '</span>
221
+ </div>' . "\n";
222
+ }
223
+
224
+ ?>
trunk/includes/image-zoom-admin.php ADDED
@@ -0,0 +1,432 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ /**
8
+ * ImageZoooom_Admin
9
+ */
10
+ class ImageZoooom_Admin {
11
+
12
+ public $messages = array();
13
+ private $tab = 'general';
14
+ public $plugin;
15
+
16
+ /**
17
+ * Constructor
18
+ */
19
+ public function __construct() {
20
+ add_action( 'admin_menu', array( $this, 'admin_menu' ) );
21
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
22
+ add_action( 'admin_head', array( $this, 'iz_add_tinymce_button' ) );
23
+ $this->plugin = wp_image_zoooom_settings('plugin');
24
+ }
25
+
26
+ /**
27
+ * Add menu items
28
+ */
29
+ public function admin_menu() {
30
+ add_menu_page(
31
+ __( 'WP Image Zoom', 'wp-image-zoooom' ),
32
+ __( 'WP Image Zoom', 'wp-image-zoooom' ),
33
+ 'administrator',
34
+ 'zoooom_settings',
35
+ array( $this, 'admin_settings_page' ),
36
+ IMAGE_ZOOM_URL . 'assets/images/icon.svg'
37
+ );
38
+ }
39
+
40
+ /**
41
+ * Load the javascript and css scripts
42
+ */
43
+ public function admin_enqueue_scripts( $hook ) {
44
+ if ( $hook != 'toplevel_page_zoooom_settings' )
45
+ return false;
46
+
47
+ $url = IMAGE_ZOOM_URL. 'assets/';
48
+ $version = $this->plugin['version'];
49
+
50
+ // Register the javascript files
51
+ if ( $this->plugin['testing'] == true ) {
52
+ wp_register_script( 'bootstrap', $url. 'js/bootstrap.3.2.0.min.js' , array( 'jquery' ), $version, true );
53
+ wp_register_script( 'image_zoooom', $url.'js/jquery.image_zoom.js' , array( 'jquery' ), $version, true );
54
+ if ( !isset($_GET['tab']) || $_GET['tab'] == 'settings' ) {
55
+ wp_register_script( 'zoooom-settings', $url. 'js/image_zoom.settings.free.js', array( 'image_zoooom' ), $version, true );
56
+ }
57
+ } else {
58
+ wp_register_script( 'bootstrap', $url.'js/bootstrap.3.2.0.min.js', array( 'jquery' ), $version, true );
59
+ wp_register_script( 'image_zoooom', $url.'js/jquery.image_zoom.min.js', array( 'jquery' ), $version, true );
60
+ if ( !isset($_GET['tab']) || $_GET['tab'] == 'settings' ) {
61
+ wp_register_script( 'zoooom-settings', $url.'js/image_zoom.settings.min.js', array( 'image_zoooom' ), $version, true );
62
+ }
63
+ }
64
+
65
+ // Enqueue the javascript files
66
+ wp_enqueue_script( 'bootstrap' );
67
+ wp_enqueue_script( 'image_zoooom' );
68
+ wp_enqueue_script( 'zoooom-settings' );
69
+
70
+ // Register the css files
71
+ wp_register_style( 'bootstrap', $url.'css/bootstrap.min.css', array(), $version );
72
+ if ( $this->plugin['testing'] == true ) {
73
+ wp_register_style( 'zoooom', $url.'css/style.css', array(), $version );
74
+ } else {
75
+ wp_register_style( 'zoooom', $url.'css/style.min.css', array(), $version );
76
+ }
77
+
78
+ // Enqueue the css files
79
+ wp_enqueue_style( 'bootstrap' );
80
+ wp_enqueue_style( 'zoooom' );
81
+ }
82
+
83
+ /**
84
+ * Build an array with settings that will be used in the form
85
+ * @access public
86
+ */
87
+ public function get_settings( $id = '' ) {
88
+ $settings = wp_image_zoooom_settings('settings');
89
+ $pro_fields = wp_image_zoooom_settings('pro_fields');
90
+
91
+ $settings = array_merge( $settings, $pro_fields );
92
+
93
+ if ( isset( $settings[$id] ) ) {
94
+ $settings[$id]['name'] = $id;
95
+ return $settings[$id];
96
+ } elseif ( empty( $id ) ) {
97
+ return $settings;
98
+ }
99
+ return false;
100
+ }
101
+
102
+ /**
103
+ * Output the admin page
104
+ * @access public
105
+ */
106
+ public function admin_settings_page() {
107
+
108
+ if ( isset( $_GET['tab'] ) && $_GET['tab'] == 'general' ) {
109
+ if ( ! empty( $_POST ) ) {
110
+ check_admin_referer('iz_general');
111
+ $new_settings = $this->validate_general( $_POST );
112
+ update_option( 'zoooom_general', $new_settings );
113
+ $this->add_message( 'success', '<b>'.__('Your settings have been saved.', 'wp-image-zoooom') . '</b>' );
114
+ }
115
+
116
+ $template = IMAGE_ZOOM_PATH . "/includes/image-zoom-admin-general.php";
117
+ load_template( $template );
118
+
119
+ $this->tab = 'general';
120
+
121
+ return;
122
+ }
123
+
124
+ if ( ! empty( $_POST ) ) {
125
+ check_admin_referer('iz_template');
126
+ $new_settings = $this->validate_settings( $_POST );
127
+ $new_settings_js = $this->generate_js_settings( $new_settings );
128
+ update_option( 'zoooom_settings', $new_settings );
129
+ update_option( 'zoooom_settings_js', $new_settings_js );
130
+ $this->add_message( 'success', '<b>'.__('Your settings have been saved.', 'wp-image-zoooom') . '</b>' );
131
+ }
132
+
133
+ $template = IMAGE_ZOOM_PATH . "/includes/image-zoom-admin-template.php";
134
+ load_template( $template );
135
+
136
+ $this->tab = 'settings';
137
+ }
138
+
139
+ /**
140
+ * Build the jquery.image_zoom.js options and save them directly in the database
141
+ * @access private
142
+ */
143
+ private function generate_js_settings( $settings ) {
144
+ $options = array();
145
+ switch ( $settings['lensShape'] ) {
146
+ case 'none' :
147
+ $options[] = 'zoomType : "inner"';
148
+ $options[] = 'cursor: "'.$settings['cursorType'].'"';
149
+ $options[] = 'easingAmount: '.$settings['zwEasing'];
150
+ break;
151
+ case 'square' :
152
+ case 'round' :
153
+ $options[] = 'lensShape : "' .$settings['lensShape'].'"';
154
+ $options[] = 'zoomType : "lens"';
155
+ $options[] = 'lensSize : "' .$settings['lensSize'].'"';
156
+ $options[] = 'borderSize : "' .$settings['borderThickness'].'"';
157
+ $options[] = 'borderColour : "' .$settings['borderColor'].'"';
158
+ $options[] = 'cursor : "' .$settings['cursorType'].'"';
159
+ $options[] = 'lensFadeIn : "' .$settings['lensFade'].'"';
160
+ $options[] = 'lensFadeOut : "' .$settings['lensFade'].'"';
161
+ if ( $settings['tint'] == true ) {
162
+ $options[] = 'tint : true';
163
+ $options[] = 'tintColour: "' . $settings['tintColor'] . '"';
164
+ $options[] = 'tintOpacity: "' . $settings['tintOpacity'] . '"';
165
+ }
166
+
167
+ break;
168
+ case 'square' :
169
+ break;
170
+ case 'zoom_window' :
171
+ $options[] = 'lensShape : "square"';
172
+ $options[] = 'lensSize : "' .$settings['lensSize'].'"';
173
+ $options[] = 'lensBorderSize : "' .$settings['borderThickness'].'"';
174
+ $options[] = 'lensBorderColour: "' .$settings['borderColor'].'"';
175
+ $options[] = 'borderRadius : "' .$settings['zwBorderRadius'].'"';
176
+ $options[] = 'cursor : "' .$settings['cursorType'].'"';
177
+ $options[] = 'zoomWindowWidth : "' .$settings['zwWidth'].'"';
178
+ $options[] = 'zoomWindowHeight: "' .$settings['zwHeight'].'"';
179
+ $options[] = 'zoomWindowOffsetx: "' .$settings['zwPadding'].'"';
180
+ $options[] = 'borderSize : "' .$settings['zwBorderThickness'].'"';
181
+ $options[] = 'borderColour : "' .$settings['zwBorderColor'].'"';
182
+ $options[] = 'zoomWindowShadow : "' .$settings['zwShadow'].'"';
183
+ $options[] = 'lensFadeIn : "' .$settings['lensFade'].'"';
184
+ $options[] = 'lensFadeOut : "' .$settings['lensFade'].'"';
185
+ $options[] = 'zoomWindowFadeIn :"' .$settings['zwFade'].'"';
186
+ $options[] = 'zoomWindowFadeOut :"' .$settings['zwFade'].'"';
187
+ $options[] = 'easingAmount : "'.$settings['zwEasing'].'"';
188
+ if ( $settings['tint'] == true ) {
189
+ $options[] = 'tint : true';
190
+ $options[] = 'tintColour: "' . $settings['tintColor'] . '"';
191
+ $options[] = 'tintOpacity: "' . $settings['tintOpacity'] . '"';
192
+ }
193
+
194
+ break;
195
+ }
196
+ if (count($options) == 0) return false;
197
+
198
+ $options = implode(', ', $options);
199
+
200
+ return $options;
201
+ }
202
+
203
+
204
+ /**
205
+ * Check the validity of the settings. The validity has to be the same as the javascript validation in image-zoom.settings.js
206
+ * @access public
207
+ */
208
+ public function validate_settings( $post ) {
209
+ $settings = $this->get_settings();
210
+
211
+ $new_settings = array();
212
+ foreach ( $settings as $_key => $_value ) {
213
+ if ( isset( $post[$_key] ) && $post[$_key] != $_value['value'] ) {
214
+ $new_settings[$_key] = $post[$_key];
215
+ } else {
216
+ $new_settings[$_key] = $_value['value'];
217
+ }
218
+ }
219
+
220
+ $new_settings['lensShape'] = $this->validateValuesSet('lensShape', $new_settings['lensShape']);
221
+ $new_settings['cursorType'] = $this->validateValuesSet('cursorType', $new_settings['cursorType']);
222
+ $new_settings['zwEasing'] = $this->validateRange('zwEasing', $new_settings['zwEasing'], 'int', 0, 200);
223
+ $new_settings['lensSize'] = $this->validateRange('lensSize', $new_settings['lensSize'], 'int', 20, 2000);
224
+ $new_settings['borderThickness'] = $this->validateRange('borderThickness', $new_settings['borderThickness'], 'int', 0, 200);
225
+ $new_settings['borderColor'] = $this->validateColor('borderColor', $new_settings['borderColor']);
226
+ $new_settings['lensFade'] = $this->validateRange('lensFade', $new_settings['lensFade'], 'float', 0, 10);
227
+ $new_settings['tint'] = $this->validateCheckbox('tint', $new_settings['tint']);
228
+ $new_settings['tintColor'] = $this->validateColor('tintColor', $new_settings['tintColor']);
229
+ $new_settings['tintOpacity'] = $this->validateRange('tintOpacity', $new_settings['tintOpacity'], 'float', 0, 1);
230
+ $new_settings['zwWidth'] = $this->validateRange('zwWidth', $new_settings['zwWidth'], 'int', 0, 2000);
231
+ $new_settings['zwHeight'] = $this->validateRange('zwHeight', $new_settings['zwHeight'], 'int', 0, 2000);
232
+ $new_settings['zwPadding'] = $this->validateRange('zwPadding', $new_settings['zwPadding'], 'int', 0, 200 );
233
+ $new_settings['zwBorderThickness'] = $this->validateRange('zwBorderThickness', $new_settings['zwBorderThickness'], 'int', 0, 200);
234
+ $new_settings['zwBorderRadius'] = $this->validateRange('zwBorderRadius', $new_settings['zwBorderRadius'], 'int', 0, 500);
235
+ $new_settings['zwShadow'] = $this->validateRange('zwShadow', $new_settings['zwShadow'], 'int', 0, 500);
236
+ $new_settings['zwFade'] = $this->validateRange('zwFade', $new_settings['zwFade'], 'float', 0, 10);
237
+
238
+ return $new_settings;
239
+ }
240
+
241
+ public function validate_general( $post = null) {
242
+ $settings = $this->get_settings();
243
+
244
+ if( $post == null ) {
245
+ return array(
246
+ 'enable_woocommerce' => true,
247
+ 'exchange_thumbnails' => true,
248
+ 'enable_mobile' => false,
249
+ 'woo_cat' => false,
250
+ 'force_woocommerce' => true,
251
+ );
252
+ }
253
+
254
+ if ( ! isset( $post['enable_woocommerce'] ) )
255
+ $post['enable_woocommerce'] = false;
256
+ if ( ! isset( $post['exchange_thumbnails'] ) )
257
+ $post['exchange_thumbnails'] = false;
258
+ if ( ! isset( $post['enable_mobile'] ) )
259
+ $post['enable_mobile'] = false;
260
+ if ( ! isset( $post['woo_cat'] ) )
261
+ $post['woo_cat'] = false;
262
+ if ( ! isset( $post['force_woocommerce'] ) )
263
+ $post['force_woocommerce'] = false;
264
+
265
+ $new_settings = array(
266
+ 'enable_woocommerce' => $this->validateCheckbox('enable_woocommerce', $post['enable_woocommerce']),
267
+ 'exchange_thumbnails' => $this->validateCheckbox('exchange_thumbnails', $post['exchange_thumbnails']),
268
+ 'enable_mobile' => $this->validateCheckbox('enable_mobile', $post['enable_mobile']),
269
+ 'woo_cat' => $this->validateCheckbox('woo_cat', $post['woo_cat']),
270
+ 'force_woocommerce' => $this->validateCheckbox('force_woocommerce', $post['force_woocommerce']),
271
+ );
272
+
273
+ return $new_settings;
274
+ }
275
+
276
+ /**
277
+ * Helper to validate a checkbox
278
+ * @access private
279
+ */
280
+ private function validateCheckbox( $id, $value ) {
281
+ $settings = $this->get_settings();
282
+
283
+ if ( $value == 'on' ) $value = true;
284
+
285
+ if ( !is_bool($value) ) {
286
+ $value = $settings[$id]['value'];
287
+ $this->add_message('info', __('Unrecognized <b>'.$settings[$id]['label'].'</b>. The value was reset to default', 'wp-image-zoooom') );
288
+ } else {
289
+ }
290
+ return $value;
291
+ }
292
+
293
+ /**
294
+ * Helper to validate a color
295
+ * @access private
296
+ */
297
+ private function validateColor( $id, $value ) {
298
+ $settings = $this->get_settings();
299
+
300
+ if ( !preg_match('/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value) ) {
301
+ $value = $settings[$id]['value'];
302
+ $message = __('Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>', 'wp-image-zoooom');
303
+ $message = wp_kses($message, array('b' => array()));
304
+ $message = sprintf($message, $settings[$id]['label'], $settings[$id]['value']);
305
+ $this->add_message('info', $message);
306
+ }
307
+ return $value;
308
+ }
309
+
310
+ /**
311
+ * Helper to validate the value out of a set of values
312
+ * @access private
313
+ */
314
+ private function validateValuesSet( $id, $value ) {
315
+ $settings = $this->get_settings();
316
+
317
+ if ( !array_key_exists($value, $settings[$id]['values']) ) {
318
+ $value = $settings[$id]['value'];
319
+ $message = __('Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>', 'wp-image-zoooom');
320
+ $message = wp_kses($message, array('b' => array()));
321
+ $message = sprintf($message, $settings[$id]['label'], $settings[$id]['value']);
322
+ $this->add_message('info', $message);
323
+ }
324
+ return $value;
325
+ }
326
+
327
+ /**
328
+ * Helper to validate an integer of a float
329
+ * @access private
330
+ */
331
+ private function validateRange( $id, $value, $type, $min, $max ) {
332
+ $settings = $this->get_settings();
333
+
334
+ if ( $type == 'int' ) $new_value = (int)$value;
335
+ if ( $type == 'float' ) $new_value = (float)$value;
336
+
337
+ if ( !is_numeric($value) || $new_value < $min || $new_value > $max ) {
338
+ $new_value = $settings[$id]['value'];
339
+ $message = __('<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>%4$s</b>', 'wp-image-zoooom');
340
+ $message = wp_kses($message, array('b' => array()));
341
+ $message = sprintf($message, $settings[$id]['label'], $settings[$id]['value']);
342
+ $this->add_message('info', $message);
343
+ }
344
+ return $new_value;
345
+ }
346
+
347
+
348
+ /**
349
+ * Add a message to the $this->messages array
350
+ * @type accepted types: success, error, info, block
351
+ * @access private
352
+ */
353
+ private function add_message( $type = 'success', $text ) {
354
+ global $comment;
355
+ $messages = $this->messages;
356
+ $messages[] = array('type' => $type, 'text' => $text);
357
+ $comment[] = array('type' => $type, 'text' => $text);
358
+ $this->messages = $messages;
359
+ }
360
+
361
+ /**
362
+ * Output the form messages
363
+ * @access public
364
+ */
365
+ public function show_messages() {
366
+ global $comment;
367
+ if ( sizeof( $comment ) == 0 ) return;
368
+ $output = '';
369
+ foreach ( $comment as $message ) {
370
+ $output .= '<div class="alert alert-'.$message['type'].'">
371
+ <button type="button" class="close" data-dismiss="alert">&times;</button>
372
+ '. $message['text'] .'</div>';
373
+ }
374
+ return $output;
375
+ }
376
+
377
+
378
+ /**
379
+ * Add a button to the TinyMCE toolbar
380
+ * @access public
381
+ */
382
+ function iz_add_tinymce_button() {
383
+ global $typenow;
384
+
385
+ if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) {
386
+ return;
387
+ }
388
+
389
+ $allowed_types = array( 'post', 'page' );
390
+
391
+ if ( defined('LEARNDASH_VERSION') ) {
392
+ $learndash_types = array( 'sfwd-courses', 'sfwd-lessons', 'sfwd-topic', 'sfwd-quiz', 'sfwd-certificates', 'sfwd-assignment');
393
+ $allowed_types = array_merge( $allowed_types, $learndash_types );
394
+
395
+ }
396
+ /*
397
+ if( ! in_array( $typenow, $allowed_types ) )
398
+ return;
399
+ */
400
+
401
+ if ( isset( $_GET['page'] ) && $_GET['page'] == 'wplister-templates' )
402
+ return;
403
+
404
+ if ( get_user_option('rich_editing') != 'true')
405
+ return;
406
+
407
+ add_filter('mce_external_plugins', array( $this, 'iz_add_tinymce_plugin' ) );
408
+ add_filter('mce_buttons', array( $this, 'iz_register_tinymce_button' ) );
409
+ }
410
+
411
+ /**
412
+ * Register the plugin with the TinyMCE plugins manager
413
+ * @access public
414
+ */
415
+ function iz_add_tinymce_plugin($plugin_array) {
416
+ $plugin_array['image_zoom_button'] = IMAGE_ZOOM_URL . 'assets/js/tinyMCE-button.js';
417
+ return $plugin_array;
418
+ }
419
+
420
+ /**
421
+ * Register the button with the TinyMCE manager
422
+ */
423
+ function iz_register_tinymce_button($buttons) {
424
+ array_push($buttons, 'image_zoom_button');
425
+ return $buttons;
426
+ }
427
+
428
+
429
+ }
430
+
431
+
432
+ return new ImageZoooom_Admin();
trunk/includes/image-zoom-forms-helper.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class ImageZoooom_FormsHelper {
4
+
5
+ public $label_class = 'col-sm-5 control-label';
6
+
7
+ public function input( $type, $settings = array() ) {
8
+ if ( !isset($settings['label'] )) return;
9
+ if ( !isset($settings['name'] )) return;
10
+ $allowed_types = array( 'radio', 'input_text', 'buttons', 'input_color', 'checkbox' );
11
+
12
+ if ( ! in_array( $type, $allowed_types ) ) {
13
+ return;
14
+ }
15
+ $this->form_group_before( $settings, $type );
16
+ call_user_func( array($this, $type), $settings );
17
+ $this->form_group_after( $settings );
18
+ }
19
+
20
+ function form_group_before( $args = array(), $type ) {
21
+ $disabled = ( isset($args['pro']) && $args['pro']) ? true : false;
22
+
23
+ $output = "\t\t" . '<div class="form-group';
24
+ if ( $type == 'radio' || $type == 'buttons' ) {
25
+ $output .= ($disabled) ? ' disabled' : '';
26
+ } else {
27
+ $output .= ($disabled) ? ' disabled-short' : '';
28
+ }
29
+ $output .= '">' . PHP_EOL;
30
+
31
+ $output .= "\t\t" . '<label class="'. $this->label_class .'">'. $args['label'] . PHP_EOL;
32
+ if ( $disabled ) {
33
+ $output .= "\t\t" . '<img src="'.IMAGE_ZOOM_URL.'assets/images/question_mark.svg" />' . PHP_EOL;
34
+ }
35
+ if ( isset($args['description']) && !$disabled ) {
36
+ $output .= "\t\t" . $this->tooltip( $args['description'] );
37
+ }
38
+ $output .= "\t\t" . '</label>' . PHP_EOL;
39
+
40
+ echo $output;
41
+ }
42
+
43
+ function form_group_after( $args = array() ) {
44
+ echo "\t\t" . '</div>' . PHP_EOL;
45
+ }
46
+
47
+ public function radio($args = array()) {
48
+ if ( !isset($args['values'] ) || count($args['values']) == 0 ) return;
49
+ if ( !isset($args['active'] ) ) $args['active'] = '';
50
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
51
+ ?>
52
+ <?php foreach ($args['values'] as $_id => $_label) : ?>
53
+ <div class="radio"><label>
54
+ <input type="radio" name="<?php echo $args['name'] ?>" id="<?php echo $_id ?>" value="<?php echo $_id ?>" <?php if ($_id == $args['active']) echo 'checked=""'; ?> <?php echo $disabled; ?>>
55
+ <?php echo $_label ?>
56
+ </label></div>
57
+ <?php endforeach; ?>
58
+ <?php
59
+ }
60
+
61
+ public function input_text( $args = array() ) {
62
+ if ( ! isset($args['value'] ) ) $args['value'] = '';
63
+ if ( ! isset($args['description'] ) ) $args['description'] = '';
64
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
65
+ ?>
66
+ <?php if (isset($args['post_input'])) : ?>
67
+ <div class="input-group">
68
+ <?php else : ?>
69
+ <div class="input-group">
70
+ <?php endif; ?>
71
+ <input type="text" class="form-control" id="<?php echo $args['name']?>" name="<?php echo $args['name'] ?>" value="<?php echo $args['value'] ?>" <?php echo $disabled; ?> />
72
+ <?php if (isset($args['post_input'])) : ?><span class="input-group-addon"><?php echo $args['post_input'] ?></span>
73
+ <?php endif; ?>
74
+ </div>
75
+ <?php
76
+ }
77
+
78
+
79
+ public function input_color( $args = array() ) {
80
+ if ( ! isset($args['value'] ) ) $args['value'] = '';
81
+ ?>
82
+ <div class="input-group">
83
+ <input type="color" class="form-control" id="<?php echo $args['name'] ?>" name="<?php echo $args['name'] ?>" value="<?php echo $args['value'] ?>">
84
+ <span class="input-group-addon" id="color-text-color-hex"><?php echo $args['value'] ?></span>
85
+ </div>
86
+
87
+ <?php
88
+ }
89
+
90
+ public function checkbox( $args = array() ) {
91
+ if ( ! isset($args['value'] ) ) $args['value'] = false;
92
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
93
+ ?>
94
+ <div class="input-group input-group-checkbox">
95
+ <label>
96
+ <input type="checkbox" id="<?php echo $args['name'] ?>" name="<?php echo $args['name'] ?>" <?php echo ($args['value'] == true) ? 'checked=""' : '' ?> <?php $disabled; ?>/>
97
+ </label>
98
+ </div>
99
+ <?php
100
+ }
101
+
102
+ public function buttons( $args = array() ) {
103
+ if ( ! isset($args['values'] ) || count($args['values']) == 0 ) return;
104
+ if ( ! isset($args['value'] ) ) $args['value'] = '';
105
+ if ( ! isset($args['buttons'] ) ) $args['buttons'] = 'image';
106
+ $disabled = ( isset($args['pro']) && $args['pro']) ? ' disabled="disabled"': '';
107
+ ?>
108
+ <div class="col-sm-7">
109
+ <div class="btn-group btn-group-no-margin" data-toggle="buttons" id="btn-group-style-circle">
110
+ <?php foreach( $args['values'] as $_id => $_value ) : ?>
111
+ <?php $toggle = ( ! empty($_value[1]) ) ? ' data-toggle="tooltip" data-placement="top" title="'.$_value[1].'" data-original-title="' . $_value[1] . '"' : ''; ?>
112
+ <label class="btn btn-default<?php echo ($args['value'] == $_id) ? ' active' : '' ?> ">
113
+ <input type="radio" name="<?php echo $args['name'] ?>" id="<?php echo $_id ?>" value="<?php echo $_id ?>" <?php echo ($args['value'] == $_id) ? 'checked' : '' ?> <?php echo $disabled; ?> />
114
+ <div class="icon-in-label ndd-spot-icon icon-style-1" <?php echo $toggle; ?>>
115
+ <div class="ndd-icon-main-element">
116
+ <?php if($args['buttons'] == 'image') : ?>
117
+ <img src="<?php echo IMAGE_ZOOM_URL.'assets/' . $_value[0] ?>"<?php echo $toggle; ?> />
118
+ <?php else : ?>
119
+ <i class="<?php echo $_value[0]; ?>"></i>
120
+ <?php endif; ?>
121
+ </div>
122
+ </div>
123
+ </label>
124
+ <?php endforeach; ?>
125
+ </div>
126
+ </div>
127
+ <?php
128
+ }
129
+
130
+ public function tooltip( $description = '' ) {
131
+ if ( empty($description) ) return '';
132
+ return '<img src="'.IMAGE_ZOOM_URL.'assets/images/question_mark.svg" data-toggle="tooltip" data-placement="top" title="" data-original-title="'.$description.'" />';
133
+ }
134
+
135
+ }
136
+
137
+ ?>
trunk/includes/image-zoom-notices.php ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ /**
8
+ * ImageZoooom_Notices
9
+ */
10
+ class ImageZoooom_Notices {
11
+
12
+ var $main = '';
13
+ var $activation_time = '';
14
+ var $version = '';
15
+ var $dismiss_notice = '';
16
+ var $expiration_days = 3;
17
+
18
+ /**
19
+ * Constructor
20
+ */
21
+ public function __construct() {
22
+
23
+ $this->main = new ImageZoooom();
24
+
25
+ $this->set_variables();
26
+
27
+ if ( $this->dismiss_notice == 1 ) {
28
+ return;
29
+ }
30
+
31
+ add_action( 'admin_notices', array( $this, 'admin_notices' ) );
32
+ add_action( 'wp_ajax_zoooom_notice_dismiss', array( $this, 'notice_dismiss' ) );
33
+ }
34
+
35
+ /**
36
+ * Hooked from 'admin_notices'
37
+ */
38
+ public function admin_notices() {
39
+
40
+ if ( ! $notice = $this->choose_notice() )
41
+ return;
42
+
43
+ $message = $this->get_message( $notice );
44
+
45
+ $this->print_message( $notice, $message );
46
+
47
+ }
48
+
49
+ /**
50
+ * Get the options from the database or set them on install or upgrade
51
+ */
52
+ public function set_variables() {
53
+ $now = time();
54
+
55
+ $this->activation_time = get_option( 'zoooom_activation_time', '' );
56
+ $this->version = get_option( 'zoooom_version', '' );
57
+ $this->dismiss_notice = get_option( 'zoooom_dismiss_notice', false );
58
+
59
+ if ( empty( $this->activation_time ) || version_compare( $this->version, $this->main->version, '<' ) ) {
60
+ $this->activation_time = $now;
61
+ update_option( 'zoooom_activation_time', $now );
62
+ update_option( 'zoooom_version', $this->main->version );
63
+ update_option( 'zoooom_dismiss_notice', false );
64
+ }
65
+
66
+ }
67
+
68
+ /**
69
+ * Choose which notice to be shown
70
+ */
71
+ public function choose_notice() {
72
+ $now = time();
73
+
74
+ $days_passed = ceil( ( $now - $this->activation_time ) / 86400 );
75
+
76
+ switch ( $days_passed ) {
77
+ case 1 : return '1_day';
78
+ case 2 : return '2_day';
79
+ case 3 : return '3_day';
80
+ case 4 :
81
+ case 5 :
82
+ case 6 :
83
+ case 7 : return '7_day';
84
+ case 8 :
85
+ case 9 :
86
+ case 10 :
87
+ case 11 :
88
+ case 12 : return '12_day';
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Get the text of the message
94
+ */
95
+ public function get_message( $notice ) {
96
+
97
+ $message = '';
98
+ $percentage = '40';
99
+
100
+ $expiration_date = $this->activation_time + ( $this->expiration_days * 86400 );
101
+ $expiration_date = date( get_option( 'date_format') , $expiration_date );
102
+
103
+
104
+ if ( $notice == '12_days' ) {
105
+ $link = 'https://www.silkypress.com/wp-image-zoooom-pro-offer/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
106
+ } else {
107
+ $link = 'https://www.silkypress.com/wp-image-zoooom-pro-special-offer/?a=' . $this->convert_numbers_letters( $this->activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
108
+ }
109
+
110
+ $lower_part = sprintf( '<div style="margin-top: 7px;"><a href="%s" target="_blank">%s</a> | <a href="#" class="dismiss_notice" target="_parent">%s</a></div>', $link, 'Get WP Image Zoooom PRO', 'Dismiss this notice' );
111
+
112
+ switch ( $notice ) {
113
+ case '1_day' :
114
+ $message = '<div><b>Limited offer ending on '. $expiration_date .'</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
115
+ break;
116
+
117
+ case '2_day' :
118
+ $message = '<div><b>Limited offer ending in 1 day (on '. $expiration_date .')</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
119
+ break;
120
+
121
+ case '3_day' :
122
+ $message = '<div><b>Limited offer ending today</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
123
+ break;
124
+
125
+ case '7_day' :
126
+ $message = '';
127
+ break;
128
+
129
+ case '12_day' :
130
+ $message = '<div><b>Special Offer</b>: 30% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
131
+ break;
132
+ }
133
+
134
+ return $message;
135
+ }
136
+
137
+
138
+
139
+ /**
140
+ * Print the message
141
+ */
142
+ public function print_message( $option_name = '', $message = '' ) {
143
+ if ( empty( $message ) || empty( $option_name ) )
144
+ return;
145
+
146
+ ?>
147
+ <style type="text/css">
148
+ .zoooom_note{ color: #bc1117; }
149
+ #zoooom_notice { display: block; padding: }
150
+ #zoooom_notice b { color: #bc1117; }
151
+ #zoooom_notice a { text-decoration: none; font-weight: bold; }
152
+ #zoooom_notice a.dismiss_notice { font-weight: normal; }
153
+ </style>
154
+
155
+ <script type='text/javascript'>
156
+ jQuery(function($){
157
+ $(document).on( 'click', '.zoooom_notice .dismiss_notice', function() {
158
+
159
+ var data = {
160
+ action: 'zoooom_notice_dismiss',
161
+ option: '<?php echo $option_name; ?>'
162
+ };
163
+ $.post(ajaxurl, data, function(response ) {
164
+ $('#zoooom_notice').fadeOut('slow');
165
+ });
166
+ });
167
+ });
168
+ </script>
169
+
170
+ <div id="zoooom_notice" class="updated notice zoooom_notice is-dismissible">
171
+ <p><?php echo $message ?></p>
172
+ <button type="button" class="notice-dismiss">
173
+ <span class="screen-reader-text"><?php _e('Dismiss this notice'); ?></span>
174
+ </button>
175
+ </div>
176
+ <?php
177
+
178
+ }
179
+
180
+ function convert_numbers_letters( $text, $from = 'numbers' ) {
181
+ $alphabet = str_split('abcdefghij');
182
+ $numbers = str_split('0123456789');
183
+
184
+ if ( $from == 'numbers' ) {
185
+ return str_replace( $numbers, $alphabet, $text );
186
+ } else {
187
+ return str_replace( $alphabet, $numbers, $text );
188
+ }
189
+ }
190
+
191
+ /**
192
+ * Ajax response for `notice_dismiss` action
193
+ */
194
+ function notice_dismiss() {
195
+
196
+ update_option( 'zoooom_dismiss_notice', 1 );
197
+
198
+ wp_die();
199
+ }
200
+ }
201
+
202
+
203
+ return new ImageZoooom_Notices();
trunk/includes/image-zoom-warnings.php ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ /**
8
+ * ImageZoooom_Warnings
9
+ */
10
+ class ImageZoooom_Warnings {
11
+
12
+ /**
13
+ * Constructor
14
+ */
15
+ public function __construct() {
16
+
17
+ add_action( 'wp_ajax_iz_dismiss', array( $this, 'notice_dismiss' ) );
18
+
19
+ if ( ! function_exists( 'is_plugin_active' ) ) {
20
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
21
+ }
22
+
23
+ if ( isset( $_SERVER ) && isset( $_SERVER['REQUEST_URI'] ) ) {
24
+ if ( strpos( $_SERVER['REQUEST_URI'], 'zoooom_settings' ) === false )
25
+ return;
26
+ }
27
+
28
+ $this->check_jetpack();
29
+ $this->check_avada();
30
+ $this->check_shopkeeper();
31
+ $this->check_bwf_minify();
32
+ }
33
+
34
+ /**
35
+ * Warning about BWF settings
36
+ */
37
+ function check_bwf_minify() {
38
+
39
+ if ( ! is_plugin_active( 'bwp-minify/bwp-minify.php' ) ) return false;
40
+
41
+ $option = get_option( 'iz_dismiss_bwp_minify', '' );
42
+
43
+ if ( !empty( $option ) ) {
44
+ return;
45
+ }
46
+
47
+ add_action( 'admin_notices', array( $this, 'check_bwf_notice' ) );
48
+
49
+ }
50
+
51
+ /**
52
+ * Show a warning about the BWF Minify Settings
53
+ */
54
+ function check_bwf_notice() {
55
+ $id = 'iz_dismiss_bwp_minify';
56
+ $class = 'notice notice-warning is-dismissible';
57
+ $url = 'https://www.silkypress.com/wp-content/uploads/2016/09/image-zoom-bwp.png';
58
+ $message = sprintf(__( '<b>If the zoom does not show up</b> on your website, it could be because you need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts to NOT minify” option in the BWP Minify settings, as shown in <a href="%1$s" target="_blank">this screenshot</a>.', 'wp-image-zoooom' ), $url);;
59
+
60
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
61
+
62
+ $this->dismiss_js( $id );
63
+
64
+ }
65
+
66
+
67
+
68
+
69
+
70
+ /**
71
+ * Check if the Avada theme is active
72
+ */
73
+ function check_avada() {
74
+ if ( get_template() != 'Avada' ) return false;
75
+
76
+
77
+ if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) return false;
78
+
79
+ $option = get_option( 'iz_dismiss_avada', '' );
80
+
81
+ if ( !empty( $option ) ) {
82
+ return;
83
+ }
84
+
85
+ add_action( 'admin_notices', array( $this, 'check_avada_notice' ) );
86
+
87
+ }
88
+
89
+
90
+
91
+ /**
92
+ * Check if for the Shopkeeper theme
93
+ */
94
+ function check_shopkeeper() {
95
+ if ( get_template() != 'twentysixteen' ) return false;
96
+
97
+
98
+ if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) return false;
99
+
100
+ $option = get_option( 'iz_dismiss_shopkeeper', '' );
101
+
102
+ if ( !empty( $option ) ) {
103
+ return;
104
+ }
105
+
106
+ add_action( 'admin_notices', array( $this, 'check_shopkeeper_notice' ) );
107
+
108
+ }
109
+
110
+
111
+
112
+ /**
113
+ * Show a warning about the Avada theme
114
+ */
115
+ function check_avada_notice() {
116
+ $id = 'iz_dismiss_avada';
117
+ $class = 'notice notice-warning is-dismissible';
118
+ $flexslider_url = 'https://woocommerce.com/flexslider/';
119
+ $pro_url = 'https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
120
+ $message = sprintf( __( 'The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products gallery with the Avada theme. The Avada theme changes entirely the default WooCommerce gallery with the <a href="%1$s" target="_blank">Flexslider gallery</a> and the zoom plugin does not support the Flexslider gallery. Please check the <a href="%2$s" target="_blank">PRO version</a> of the plugin for compatibility with the Flexslider gallery.', 'wp-image-zoooom' ), $flexslider_url, $pro_url );
121
+
122
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
123
+
124
+ $this->dismiss_js( $id );
125
+
126
+ }
127
+
128
+
129
+ /**
130
+ * Show a warning about the Shopkeeper theme
131
+ */
132
+ function check_shopkeeper_notice() {
133
+ $id = 'iz_dismiss_shopkeeper';
134
+ $class = 'notice notice-warning is-dismissible';
135
+ $class = 'updated settings-error notice is-dismissible';
136
+ $pro_url = 'https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
137
+ $message = sprintf( __( 'The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the default WooCommerce gallery with a custom made gallery not supported by the free version of the WP Image Zoom plugin. Please check the <a href="%1$s" target="_blank">PRO version</a> of the plugin for compatibility with the Shopkeeper\'s gallery.', 'wp-image-zoooom' ), $pro_url );
138
+
139
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
140
+
141
+ $this->dismiss_js( $id );
142
+
143
+ }
144
+
145
+
146
+ /**
147
+ * Check if Jetpack Photon module is active
148
+ */
149
+ function check_jetpack() {
150
+ if ( ! defined('JETPACK__VERSION' ) ) {
151
+ return;
152
+ }
153
+
154
+ if ( ! Jetpack::is_module_active( 'photon' ) ) {
155
+ return;
156
+ }
157
+
158
+ $option = get_option( 'iz_dismiss_jetpack', '' );
159
+
160
+ if ( !empty( $option ) ) {
161
+ return;
162
+ }
163
+
164
+ add_action( 'admin_notices', array( $this, 'check_jetpack_notice' ) );
165
+ }
166
+
167
+ /**
168
+ * Show a warning about Jetpack Photon module
169
+ */
170
+ function check_jetpack_notice() {
171
+ $id = 'iz_dismiss_jetpack';
172
+ $class = 'notice notice-warning is-dismissible';
173
+ $message = __( 'WP Image Zoom plugin is not compatible with the <a href="admin.php?page=jetpack">Jetpack Photon</a> module. If you find that the zoom is not working, try to deactivate the Photon module and see if that solves it.', 'wp-image-zoooom' );
174
+
175
+ printf( '<div class="%1$s" id="%2$s"><p>%3$s</p></div>', $class, $id, $message );
176
+
177
+ $this->dismiss_js( $id );
178
+
179
+ }
180
+
181
+ /**
182
+ * Allow the dismiss button to remove the notice
183
+ */
184
+ function dismiss_js( $slug ) {
185
+ ?>
186
+ <script type='text/javascript'>
187
+ jQuery(function($){
188
+ $(document).on( 'click', '#<?php echo $slug; ?> .notice-dismiss', function() {
189
+ var data = {
190
+ action: 'iz_dismiss',
191
+ option: '<?php echo $slug; ?>',
192
+ };
193
+ $.post(ajaxurl, data, function(response ) {
194
+ $('#<?php echo $slug; ?>').fadeOut('slow');
195
+ });
196
+ });
197
+ });
198
+ </script>
199
+ <?php
200
+ }
201
+
202
+
203
+ /**
204
+ * Ajax response for `notice_dismiss` action
205
+ */
206
+ function notice_dismiss() {
207
+
208
+ $option = $_POST['option'];
209
+
210
+ update_option( $option, 1 );
211
+
212
+ wp_die();
213
+ }
214
+
215
+ }
216
+
217
+
218
+ return new ImageZoooom_Warnings();
trunk/includes/image-zoom.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
+ }
6
+
7
+ if ( ! class_exists( 'ImageZoooom' ) ) :
8
+ /**
9
+ * Main ImageZoooom Class
10
+ *
11
+ * @class ImageZoooom
12
+ */
13
+ final class ImageZoooom {
14
+ public $version = '1.0.0';
15
+ protected static $_instance = null;
16
+
17
+ /**
18
+ * Main ImageZoooom Instance
19
+ *
20
+ * Ensures only one instance of ImageZoooom is loaded or can be loaded
21
+ *
22
+ * @static
23
+ * @return ImageZoooom - Main instance
24
+ */
25
+ public static function instance() {
26
+ if ( is_null( self::$_instance ) ) {
27
+ self::$_instance = new self();
28
+ }
29
+ return self::$_instance;
30
+ }
31
+
32
+ /**
33
+ * Cloning is forbidden.
34
+ */
35
+ public function __clone() {
36
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'zoooom' ), '1.0' );
37
+ }
38
+
39
+ /**
40
+ * Unserializing instances of this class is forbidden.
41
+ */
42
+ public function __wakeup() {
43
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'zoooom' ), '1.0' );
44
+ }
45
+
46
+ /**
47
+ * Image Zoooom Constructor
48
+ * @access public
49
+ * @return ImageZoooom
50
+ */
51
+ public function __construct() {
52
+
53
+ if ( is_admin() ) {
54
+ include_once( 'includes/image-zoom-admin.php' );
55
+ add_action( 'admin_menu', 'add_menu' );
56
+ add_action( 'admin_init', 'register_mysettings' );
57
+ } else {
58
+ include_once( 'includes/image-zoom-page.php' );
59
+ }
60
+ }
61
+
62
+ }
63
+
64
+ endif;
65
+
66
+ /**
67
+ * Returns the main instance of ImageZoooom
68
+ *
69
+ * @return ImageZoooom
70
+ */
71
+ function ImageZoooom() {
72
+ return ImageZoooom::instance();
73
+ }
trunk/includes/premium-tooltips.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $message = __('Only available in <a href="%1$s" target="_blank">PRO version</a>', 'wp-image-zoooom');
4
+ $message = wp_kses( $message, array('a' => array('href' => array(), 'target'=> array())));
5
+ $message = sprintf( $message, 'https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner');
6
+
7
+
8
+ ?>
9
+
10
+ <div id="wpfc-premium-tooltip" style="display:none;width: 230px; height: 60px; position: absolute; margin-left: 354px; margin-top: 112px; color: white;">
11
+ <div style="float:left;width:13px;">
12
+ <div style="width: 0px; height: 0px; border-top: 6px solid transparent; border-right: 6px solid #333333; border-bottom: 6px solid transparent; float: right; margin-right: 0px; margin-top: 16px;"></div>
13
+ </div>
14
+ <div style="font-family:sans-serif;font-size:13px;text-align: center; border-radius: 5px; float: left; background-color: rgb(51, 51, 51); color: white; width: 210px; padding: 10px 0px;">
15
+ <label><?php echo $message; ?></label>
16
+ </div>
17
+ </div>
18
+
19
+ <script type="text/javascript">
20
+ jQuery(document).ready(function($){
21
+ $(".form-group.disabled-short").click(function(e){
22
+ if(typeof window.tooltip != "undefined"){
23
+ clearTimeout(window.tooltip);
24
+ }
25
+
26
+ var inputCon = $(e.currentTarget).find(".input-group");
27
+ var left = 30;
28
+
29
+
30
+ $(e.currentTarget).children().each(function(i, child){
31
+ left += $(child).width();
32
+ });
33
+
34
+ var offsetTop = $(e.currentTarget).offset().top - 38;
35
+ offsetTop -= $('h2').offset().top - 52;
36
+
37
+ $("#wpfc-premium-tooltip").css({"margin-left" : left + "px", "margin-top" : offsetTop + "px"});
38
+ $("#wpfc-premium-tooltip").fadeIn( "slow", function() {
39
+ window.tooltip = setTimeout(function(){ $("#wpfc-premium-tooltip").hide(); }, 1000);
40
+ });
41
+ return false;
42
+ });
43
+
44
+ $(".form-group.disabled").click(function(e){
45
+ if(typeof window.tooltip != "undefined"){
46
+ clearTimeout(window.tooltip);
47
+ }
48
+
49
+ var left = $(e.currentTarget).width();
50
+ var offsetTop = $(e.currentTarget).offset().top - 38;
51
+ offsetTop -= $('h2').offset().top - 52;
52
+
53
+ $("#wpfc-premium-tooltip").css({"margin-left" : left + "px", "margin-top" : offsetTop + "px"});
54
+ $("#wpfc-premium-tooltip").fadeIn( "slow", function() {
55
+ window.tooltip = setTimeout(function(){ $("#wpfc-premium-tooltip").hide(); }, 1000);
56
+ });
57
+ return false;
58
+
59
+
60
+ });
61
+ });
62
+ </script>
63
+
trunk/includes/right_columns.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $now = time();
4
+
5
+ $zoooom_activation_time = get_option( 'zoooom_activation_time', '' );
6
+ $zoooom_version = get_option( 'zoooom_version', '' );
7
+ $plugin = wp_image_zoooom_settings('plugin');
8
+
9
+ if ( empty( $zoooom_activation_time ) || version_compare( $zoooom_version, $plugin['version'], '<' ) ) {
10
+ $zoooom_activation_time = $now;
11
+ update_option( 'zoooom_activation_time', $now );
12
+ update_option( 'zoooom_version', $plugin['version']);
13
+ }
14
+
15
+
16
+ $show_discount = false;
17
+ if ( $now - 3*86400 < $zoooom_activation_time ) {
18
+ $show_discount = true;
19
+ }
20
+
21
+ $start_date = date('j M', $zoooom_activation_time - 3*86400 );
22
+ $end_date = date('j M', $zoooom_activation_time + 2*86400 );
23
+
24
+
25
+
26
+ function iz_convert_numbers_letters( $text, $from = 'numbers' ) {
27
+ $alphabet = str_split('abcdefghij');
28
+ $numbers = str_split('0123456789');
29
+
30
+ if ( $from == 'numbers' ) {
31
+ return str_replace( $numbers, $alphabet, $text );
32
+ } else {
33
+ return str_replace( $alphabet, $numbers, $text );
34
+ }
35
+ }
36
+
37
+ $offer_link = 'https://www.silkypress.com/wp-image-zoom-plugin/?a=' . iz_convert_numbers_letters( $zoooom_activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
38
+
39
+
40
+ ?>
41
+
42
+
43
+ <div id="right_column_metaboxes">
44
+
45
+ <?php if ( $show_discount ) : ?>
46
+ <div class="panel main_container">
47
+ <div class="container_title">
48
+ <h3><img src="<?php echo site_url(); ?>/wp-content/plugins/wp-image-zoooom/assets/images/icon.svg" /> <?php _e('WP Image Zoooom Pro', 'wp-image-zoooom'); ?></h3>
49
+ </div>
50
+ <div class="metabox-holder discount" style="text-align: center;">
51
+
52
+ <p>Shhh... Can you keep a secret?</p>
53
+
54
+ <p>
55
+ <span style="color: #bc1117; font-size: 24px;">30% OFF</span><br />
56
+ only between <span style="color: #bc1117;"><?php echo $start_date; ?> - <?php echo $end_date; ?></span>.
57
+
58
+ </p>
59
+ <p>Don't tell anyone.</p>
60
+ <p style="text-align: center;">
61
+ <a href="<?php echo $offer_link; ?>" target="_blank" class="button" rel="noreferrer"><?php _e('Upgrade to PRO', 'wp-image-zoooom'); ?></a>
62
+ </p>
63
+ </div>
64
+ </div>
65
+ <?php endif; ?>
66
+
67
+ <?php if ( class_exists('woocommerce') ) : ?>
68
+ <div class="panel main_container">
69
+ <div class="container_title" style="position: relative;">
70
+ <span class="ribbon bottom-left ribbon-danger">
71
+ <small>new</small>
72
+ </span>
73
+ <h3>Elegant Product Gallery with Zoom</h3>
74
+ </div>
75
+ <div class="metabox-holder product-gallery-plugin" style="text-align: center;">
76
+
77
+ <p>If you're looking on replacing entirely the WooCommerce gallery with a very elegant one, then check out this plugin.</p>
78
+
79
+ <p>
80
+ <span style="color: #bc1117;">I know you'll love it.</span>.
81
+ </p>
82
+ <p style="text-align: center;">
83
+ <a href="https://www.silkypress.com/elegant-product-gallery-zoom/" target="_blank" class="button" rel="noreferrer">Ok, let's see it</a>
84
+ </p>
85
+ </div>
86
+ </div>
87
+ <?php endif; ?>
88
+
89
+
90
+ <div class="panel main_container">
91
+ <div class="container_title">
92
+ <h3><?php _e('Like this Plugin?', 'wp-image-zoooom'); ?></h3>
93
+ </div>
94
+ <div class="metabox-holder rating" style="text-align: center;">
95
+ <p><?php _e('Share your opinion with the world on the WordPress.org Plugin Repository.', 'wp-image-zoooom'); ?></p>
96
+ <p><a href="https://wordpress.org/plugins/wp-image-zoooom/" target="_blank" class="button"><?php _e('Rate it on WordPress.org', 'wp-image-zoooom'); ?></a></p>
97
+ </div>
98
+ </div>
99
+ </div>
100
+
101
+ <div style="clear: both"></div>
102
+
trunk/includes/settings.php ADDED
@@ -0,0 +1,338 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!function_exists('wp_image_zoooom_settings')) {
4
+ function wp_image_zoooom_settings($type) {
5
+
6
+ $l = 'wp-image-zoooom';
7
+
8
+ $plugin = array(
9
+ 'version' => '1.16',
10
+ 'plugin_name' => 'WP Image Zoom',
11
+ 'plugin_file' => str_replace('includes/settings.php', 'image-zoooom.php', __FILE__),
12
+ 'plugin_server' => 'https://www.silkypress.com',
13
+ 'author' => 'Diana Burduja',
14
+ 'testing' => false,
15
+ );
16
+ if ($type == 'plugin') return $plugin;
17
+
18
+ $settings = array(
19
+ 'lensShape' => array(
20
+ 'label' => __('Lens Shape', $l),
21
+ 'values' => array(
22
+ 'none' => array('icon-lens_shape_none', __('No Lens', $l)),
23
+ 'round' => array('icon-lens_shape_circle', __('Circle Lens', $l)),
24
+ 'square' => array('icon-lens_shape_square', __('Square Lens', $l)),
25
+ 'zoom_window' => array('icon-type_zoom_window', __('With Zoom Window', $l)),
26
+ ),
27
+ 'value' => 'zoom_window',
28
+ 'input_form' => 'buttons',
29
+ 'buttons' => 'i',
30
+ ),
31
+ 'cursorType' => array(
32
+ 'label' => __('Cursor Type', $l),
33
+ 'values' => array(
34
+ 'default' => array('icon-cursor_type_default', __('Default', $l ) ),
35
+ 'pointer' => array('icon-cursor_type_pointer', __('Pointer', $l ) ),
36
+ 'crosshair' => array('icon-cursor_type_crosshair', __('Crosshair', $l ) ),
37
+ 'zoom-in' => array('icon-zoom-in', __('Zoom', $l ) ),
38
+ ),
39
+ 'value' => 'default',
40
+ 'input_form' => 'buttons',
41
+ 'buttons' => 'i',
42
+ ),
43
+ 'zwEasing' => array(
44
+ 'label' => __('Animation Easing Effect', $l ),
45
+ 'value' => 12,
46
+ 'description' => __('A number between 0 and 200 to represent the degree of the Animation Easing Effect', $l ),
47
+ 'input_form' => 'input_text',
48
+ ),
49
+
50
+ 'lensSize' => array(
51
+ 'label' => __('Lens Size', $l ),
52
+ 'post_input' => 'px',
53
+ 'value' => 200,
54
+ 'description' => __('For Circle Lens it means the diameters, for Square Lens it means the width', $l ),
55
+ 'input_form' => 'input_text',
56
+ ),
57
+ 'borderThickness' => array(
58
+ 'label' => __('Border Thickness', $l ),
59
+ 'post_input' => 'px',
60
+ 'value' => 1,
61
+ 'input_form' => 'input_text',
62
+ ),
63
+ 'borderColor' => array(
64
+ 'label' => __('Border Color', $l ),
65
+ 'value' => '#ffffff',
66
+ 'input_form' => 'input_color',
67
+ ),
68
+ 'lensFade' => array(
69
+ 'label' => __('Fade Time', $l ),
70
+ 'post_input' => 'sec',
71
+ 'value' => 1,
72
+ 'description' => __('The amount of time it takes for the Lens to slowly appear or dissapear', $l),
73
+ 'input_form' => 'input_text',
74
+ ),
75
+ 'tint' => array(
76
+ 'label' => __('Tint', $l),
77
+ 'value' => false,
78
+ 'description' => __('A color that will layed on top the of non-magnified image in order to emphasize the lens', $l),
79
+ 'input_form' => 'checkbox',
80
+ ),
81
+ 'tintColor' =>array(
82
+ 'label' => __('Tint Color', $l),
83
+ 'value' => '#ffffff',
84
+ 'input_form' => 'input_color',
85
+ ),
86
+ 'tintOpacity' => array(
87
+ 'label' => __('Tint Opacity', $l),
88
+ 'value' => '0.5',
89
+ 'post_input' => '%',
90
+ 'input_form' => 'input_text',
91
+ ),
92
+ 'zwWidth' => array(
93
+ 'label' => __('Zoom Window Width', $l),
94
+ 'post_input' => 'px',
95
+ 'value' => 400,
96
+ 'input_form' => 'input_text',
97
+ ),
98
+ 'zwHeight' => array(
99
+ 'label' => __('Zoom Window Height', $l),
100
+ 'post_input' => 'px',
101
+ 'value' => 360,
102
+ 'input_form' => 'input_text',
103
+ ),
104
+ 'zwPadding' => array(
105
+ 'label' => __('Distance from the Main Image', $l),
106
+ 'post_input' => 'px',
107
+ 'value' => 10,
108
+ 'input_form' => 'input_text',
109
+ ),
110
+ 'zwBorderThickness' => array(
111
+ 'label' => __('Border Thickness', $l),
112
+ 'post_input' => 'px',
113
+ 'value' => 4,
114
+ 'input_form' => 'input_text',
115
+ ),
116
+ 'zwShadow' => array(
117
+ 'label' => __('Shadow Thickness', $l),
118
+ 'post_input' => 'px',
119
+ 'value' => 4,
120
+ 'input_form' => 'input_text',
121
+ 'description' => __('Use 0px to remove the shadow', $l),
122
+ ),
123
+ 'zwBorderColor' => array(
124
+ 'label' => __('Border Color', $l),
125
+ 'value' => '#888888',
126
+ 'input_form' => 'input_color',
127
+ ),
128
+ 'zwBorderRadius' => array(
129
+ 'label' => __('Rounded Corners', $l),
130
+ 'post_input' => 'px',
131
+ 'value' => 0,
132
+ 'input_form' => 'input_text',
133
+ ),
134
+ 'zwFade' => array(
135
+ 'label' => __('Fade Time', $l),
136
+ 'post_input' => 'sec',
137
+ 'value' => 0,
138
+ 'description' => __('The amount of time it takes for the Zoom Window to slowly appear or disappear', $l),
139
+ 'input_form' => 'input_text',
140
+ ),
141
+ 'enable_woocommerce' => array(
142
+ 'label' => __('Enable the zoom on WooCommerce products', $l),
143
+ 'value' => true,
144
+ 'input_form' => 'checkbox',
145
+ ),
146
+ 'exchange_thumbnails' => array(
147
+ 'label' => __('Exchange the thumbnail with main image on WooCommerce products', $l),
148
+ 'value' => true,
149
+ 'input_form' => 'checkbox',
150
+ 'description' => __('On a WooCommerce gallery, when clicking on a thumbnail, not only the main image will be replaced with the thumbnail\'s image, but also the thumbnail will be replaced with the main image', $l),
151
+ ),
152
+ 'enable_mobile' => array(
153
+ 'label' => __('Enable the zoom on mobile devices', $l),
154
+ 'value' => false,
155
+ 'input_form' => 'checkbox',
156
+ 'description' => __('Tablets are also considered mobile devices'),
157
+ ),
158
+ 'woo_cat' => array(
159
+ 'label' => __('Enable the zoom on WooCommerce category pages', $l),
160
+ 'value' => false,
161
+ 'input_form' => 'checkbox',
162
+ ),
163
+
164
+ 'force_woocommerce' => array(
165
+ 'label' => __('Force it to work on WooCommerce', $l),
166
+ 'value' => true,
167
+ 'input_form' => 'checkbox',
168
+ ),
169
+ );
170
+ if ($type == 'settings') return $settings;
171
+
172
+
173
+ $pro_fields = array(
174
+ 'remove_lightbox_thumbnails' => array(
175
+ 'label' => __('Remove the Lightbox on thumbnail images', $l),
176
+ 'value' => false,
177
+ 'pro' => true,
178
+ 'input_form' => 'checkbox',
179
+ 'description' => __('Some themes implement a Lightbox for WooCommerce galleris that opens on click. Enabling this checkbox will remove the Lightbox on thumbnail images and leave it only on the main image', 'wp-image-zoooom'),
180
+ ),
181
+ 'remove_lightbox' => array(
182
+ 'label' => __('Remove the Lightbox', $l),
183
+ 'value' => false,
184
+ 'pro' => true,
185
+ 'input_form' => 'checkbox',
186
+ 'description' => __('Some themes implement a Lightbox that opens on click on the image. Enabling this checkbox will remove the Lightbox'),
187
+ ),
188
+ 'woo_variations' => array(
189
+ 'label' => __('Enable on WooCommerce variation products', $l),
190
+ 'value' => false,
191
+ 'pro' => true,
192
+ 'input_form' => 'checkbox',
193
+ ),
194
+ 'force_attachments' => array(
195
+ 'label' => __('Enable on attachments pages', $l),
196
+ 'value' => false,
197
+ 'pro' => true,
198
+ 'input_form' => 'checkbox',
199
+ ),
200
+ 'flexslider' => array(
201
+ 'label' => __('FlexSlider container class', $l),
202
+ 'value' => '',
203
+ 'pro' => true,
204
+ 'input_form' => 'input_text',
205
+ ),
206
+ 'enable_fancybox' => array(
207
+ 'label' => __('Enable inside <a href="http://fancyapps.com/fancybox/" target="_blank">fancyBox</a> lightbox', $l),
208
+ 'value' => false,
209
+ 'pro' => true,
210
+ 'input_form' => 'checkbox',
211
+ ),
212
+ 'enable_jetpack_carousel' => array(
213
+ 'label' => __('Enable inside <a href="https://jetpack.com/ support/carousel/" target="_blank">Jetpack Carousel</a> lightbox', $l),
214
+ 'value' => false,
215
+ 'pro' => true,
216
+ 'input_form' => 'checkbox',
217
+ ),
218
+
219
+ 'huge_it_gallery' => array(
220
+ 'label' => __('Huge IT Gallery id', $l),
221
+ 'value' => '',
222
+ 'pro' => true,
223
+ 'input_form' => 'input_text',
224
+ ),
225
+ 'onClick' => array(
226
+ 'label' => __('Enable the zoom on ...', $l),
227
+ 'values' => array(
228
+ 'false' => 'mouse hover',
229
+ 'true' => 'mouse click',
230
+ ),
231
+ 'value' => 'false',
232
+ 'input_form' => 'radio',
233
+ 'pro' => true,
234
+ ),
235
+ 'ratio' => array(
236
+ 'label' => __('Zoom Level', $l),
237
+ 'values' => array(
238
+ 'default' => array( 'icon-zoom_level_default', __('Default', $l) ),
239
+ '1.5' => array( 'icon-zoom_level_15', __('1,5 times', $l) ),
240
+ '2' => array( 'icon-zoom_level_2', __('2 times', $l) ),
241
+ '2.5' => array( 'icon-zoom_level_25', __('2,5 times', $l) ),
242
+ '3' => array( 'icon-zoom_level_3', __('3 times', $l) ),
243
+ ),
244
+ 'value' => 'default',
245
+ 'input_form' => 'buttons',
246
+ 'pro' => true,
247
+ 'buttons' => 'i',
248
+ ),
249
+ 'lensColour' => array(
250
+ 'label' => __('Lens Color', $l ),
251
+ 'value' => '#ffffff',
252
+ 'pro' => true,
253
+ 'input_form' => 'input_color',
254
+ ),
255
+ 'lensOverlay' => array(
256
+ 'label' => __('Show as Grid', $l ),
257
+ 'value' => false,
258
+ 'pro' => true,
259
+ 'input_form' => 'checkbox',
260
+ ),
261
+ 'zwResponsive' => array(
262
+ 'label' => __('Responsive', $l),
263
+ 'input_form' => 'checkbox',
264
+ 'pro' => true,
265
+ 'value' => false,
266
+ ),
267
+ 'zwResponsiveThreshold' => array(
268
+ 'label' => __('Responsive Threshold', $l),
269
+ 'pro' => true,
270
+ 'post_input' => 'px',
271
+ 'value' => '',
272
+ 'input_form' => 'input_text',
273
+ ),
274
+ 'zwPositioning' => array(
275
+ 'label' => __('Positioning', $l),
276
+ 'values' => array(
277
+ 'right_top' => array('icon-type_zoom_window_right_top', __('Right Top', $l)),
278
+ 'right_bottom' => array('icon-type_zoom_window_right_bottom', __('Right Bottom', $l)),
279
+ 'right_center' => array('icon-type_zoom_window_right_center', __('Right Center', $l)),
280
+ 'left_top' => array('icon-type_zoom_window_left_top', __('Left Top', $l)),
281
+ 'left_bottom' => array('icon-type_zoom_window_left_bottom', __('Left Bottom', $l)),
282
+ 'left_center' => array('icon-type_zoom_window_left_center', __('Left Center', $l)),
283
+ ),
284
+ 'pro' => true,
285
+ 'value' => '',
286
+ 'disabled' => true,
287
+ 'input_form' => 'buttons',
288
+ 'buttons' => 'i',
289
+ ),
290
+ 'mousewheelZoom' => array(
291
+ 'label' => __('Mousewheel Zoom', $l),
292
+ 'value' => '',
293
+ 'pro' => true,
294
+ 'input_form' => 'checkbox',
295
+ ),
296
+ 'customText' => array(
297
+ 'label' => __('Text on the image', $l),
298
+ 'value' => __('', $l),
299
+ 'input_form' => 'input_text',
300
+ 'pro' => true,
301
+ ),
302
+ 'customTextSize' => array(
303
+ 'label' => __('Text Size', $l),
304
+ 'post_input' => 'px',
305
+ 'value' => '',
306
+ 'input_form' => 'input_text',
307
+ 'pro' => true,
308
+ ),
309
+ 'customTextColor' => array(
310
+ 'label' => __('Text Color', $l),
311
+ 'value' => '',
312
+ 'input_form' => 'input_color',
313
+ 'pro' => true,
314
+ ),
315
+ 'customTextAlign' => array(
316
+ 'label' => __('Text Align', $l),
317
+ 'values' => array(
318
+ 'top_left' => array('icon-text_align_top_left', __('Top Left', $l ) ),
319
+ 'top_center' => array('icon-text_align_top_center', __('Top Center', $l ) ),
320
+ 'top_right' => array('icon-text_align_top_right', __('Top Right', $l ) ),
321
+ 'bottom_left' => array('icon-text_align_bottom_left', __('Bottom Left', $l ) ),
322
+ 'bottom_center' => array('icon-text_align_bottom_center', __('Bottom Center', $l ) ),
323
+ 'bottom_right' => array('icon-text_align_bottom_right', __('Bottom Right', $l ) ),
324
+ ),
325
+ 'value' => '',
326
+ 'input_form' => 'buttons',
327
+ 'pro' => true,
328
+ 'buttons' => 'i',
329
+ ),
330
+
331
+
332
+ );
333
+ if ($type == 'pro_fields') return $pro_fields;
334
+
335
+ }
336
+ }
337
+
338
+ ?>
trunk/languages/wp-image-zoooom-fr_FR.mo ADDED
Binary file
trunk/languages/wp-image-zoooom-fr_FR.po ADDED
@@ -0,0 +1,548 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2017 WP Image Zoom
2
+ # This file is distributed under the same license as the WP Image Zoom package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Image Zoom 1.12\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-image-zoooom\n"
7
+ "POT-Creation-Date: 2017-07-10 05:01+0200\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2017-07-10 06:47+0200\n"
12
+ "Language-Team: \n"
13
+ "X-Generator: Poedit 2.0\n"
14
+ "Last-Translator: \n"
15
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
16
+ "Language: fr_FR\n"
17
+
18
+ #: image-zoooom.php:51 image-zoooom.php:58 includes/image-zoom.php:36
19
+ #: includes/image-zoom.php:43
20
+ msgid "Cheatin&#8217; huh?"
21
+ msgstr "Cheatin&#8217; huh?"
22
+
23
+ #: image-zoooom.php:158
24
+ msgid "WP Image Zoooom"
25
+ msgstr "WP Image Zoooom"
26
+
27
+ #: image-zoooom.php:481
28
+ msgid "Settings"
29
+ msgstr "Paramètres"
30
+
31
+ #: includes/image-zoom-admin-general.php:33
32
+ #: includes/image-zoom-admin-template.php:22
33
+ msgid "WP Image Zoom by %1$s"
34
+ msgstr "WP Image Zoom par %1$s"
35
+
36
+ #: includes/image-zoom-admin-general.php:40
37
+ #: includes/image-zoom-admin-template.php:29
38
+ msgid "General Settings"
39
+ msgstr "Paramètres généraux"
40
+
41
+ #: includes/image-zoom-admin-general.php:42
42
+ #: includes/image-zoom-admin-template.php:31
43
+ msgid "Zoom Settings"
44
+ msgstr "Paramètres de Zoom"
45
+
46
+ #: includes/image-zoom-admin-general.php:80
47
+ #: includes/image-zoom-admin-template.php:195
48
+ msgid "Save changes"
49
+ msgstr "Enregistrer les changements"
50
+
51
+ #: includes/image-zoom-admin-template.php:47
52
+ msgid "Step 1"
53
+ msgstr "Étape N°1"
54
+
55
+ #: includes/image-zoom-admin-template.php:47
56
+ msgid "Choose the Lens Shape"
57
+ msgstr "Choisissez la forme de la lentille"
58
+
59
+ #: includes/image-zoom-admin-template.php:72
60
+ msgid "Step 2"
61
+ msgstr "Étape N°2"
62
+
63
+ #: includes/image-zoom-admin-template.php:72
64
+ msgid "Check your configuration changes on the image"
65
+ msgstr "Vérifiez les changements de configuration sur cette image"
66
+
67
+ #: includes/image-zoom-admin-template.php:78
68
+ msgid "Step 3"
69
+ msgstr "Étape N°3"
70
+
71
+ #: includes/image-zoom-admin-template.php:78
72
+ msgid "Make more fine-grained configurations on the zoom"
73
+ msgstr "Affinez la configuration du zoom"
74
+
75
+ #: includes/image-zoom-admin-template.php:82
76
+ msgid "General"
77
+ msgstr "Général"
78
+
79
+ #: includes/image-zoom-admin-template.php:85
80
+ msgid "Lens"
81
+ msgstr "Lentille"
82
+
83
+ #: includes/image-zoom-admin-template.php:88
84
+ msgid "Zoom Window"
85
+ msgstr "Fenètre de Zoom"
86
+
87
+ #: includes/image-zoom-admin-template.php:91
88
+ msgid "Custom Text"
89
+ msgstr "Customisation du texte"
90
+
91
+ #: includes/image-zoom-admin-template.php:192
92
+ msgid "Step 4"
93
+ msgstr "Étape N°4"
94
+
95
+ #: includes/image-zoom-admin-template.php:192
96
+ msgid "Don't forget to save the changes in order to apply them on the website"
97
+ msgstr ""
98
+ "N'oubliez pas de sauvegarder les changements dans chaque onglet pour qu'ils "
99
+ "soient appliqués"
100
+
101
+ #. Plugin Name of the plugin/theme
102
+ #: includes/image-zoom-admin.php:31 includes/image-zoom-admin.php:32
103
+ msgid "WP Image Zoom"
104
+ msgstr "WP Image Zoom"
105
+
106
+ #: includes/image-zoom-admin.php:113 includes/image-zoom-admin.php:130
107
+ msgid "Your settings have been saved."
108
+ msgstr "Vos paramètres ont été sauvegardés."
109
+
110
+ #: includes/image-zoom-admin.php:302 includes/image-zoom-admin.php:319
111
+ msgid "Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>"
112
+ msgstr "Ignoré <b>%1$s</b>. La valeur a été réinitialisé à <b>%2$s</b>"
113
+
114
+ #: includes/image-zoom-admin.php:339
115
+ msgid ""
116
+ "<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>"
117
+ "%4$s</b>"
118
+ msgstr ""
119
+ "<b>%1$s</b> accepte les valeurs entre %2$s and %3$s. Votre valeur a été "
120
+ "réinitialisé à <b>%4$s</b>"
121
+
122
+ #: includes/image-zoom-notices.php:173
123
+ msgid "Dismiss this notice"
124
+ msgstr "Ne tenez pas compte de cet avertissement"
125
+
126
+ #: includes/image-zoom-warnings.php:58
127
+ msgid ""
128
+ "<b>If the zoom does not show up</b> on your website, it could be because you "
129
+ "need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts "
130
+ "to NOT minify” option in the BWP Minify settings, as shown in <a href=\"%1$s"
131
+ "\" target=\"_blank\">this screenshot</a>."
132
+ msgstr ""
133
+ "<b>Si le zoom ne s'affiche pas</b> sur votre site, cela pourrait être dû au "
134
+ "fait que vous devriez ajouter “image_zoooom-init” et “image_zoooom” au "
135
+ "“Scripts to NOT minify” option dans les paramètres de réduction de BWP, "
136
+ "montré dans la capture d'écran <a href=\"%1$s\" target=\"_blank\"></a>."
137
+
138
+ #: includes/image-zoom-warnings.php:120
139
+ msgid ""
140
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
141
+ "gallery with the Avada theme. The Avada theme changes entirely the default "
142
+ "WooCommerce gallery with the <a href=\"%1$s\" target=\"_blank\">Flexslider "
143
+ "gallery</a> and the zoom plugin does not support the Flexslider gallery. "
144
+ "Please check the <a href=\"%2$s\" target=\"_blank\">PRO version</a> of the "
145
+ "plugin for compatibility with the Flexslider gallery."
146
+ msgstr ""
147
+ "Le plugin WP Image Zoom <b>ne fonctionnera pas</b> sur les produits de la "
148
+ "galerie de WooCommerce avec le Thème Avada. Le Thème Avada change "
149
+ "complètement la galerie par défaut de WooCommerce avec la <a href=\"%1$s\" "
150
+ "target=\"_blank\">gallerie Flexslider</a> et WP Image Zoom ne supporte pas "
151
+ "la galerie Flexslider. S'il vous plait vérifier <a href=\"%2$s\" target="
152
+ "\"_blank\"> en version PRO</a> de ce plugin pour obtenir la compatibilité "
153
+ "avec la gallerie Flexslider."
154
+
155
+ #: includes/image-zoom-warnings.php:137
156
+ msgid ""
157
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
158
+ "gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the "
159
+ "default WooCommerce gallery with a custom made gallery not supported by the "
160
+ "free version of the WP Image Zoom plugin. Please check the <a href=\"%1$s\" "
161
+ "target=\"_blank\">PRO version</a> of the plugin for compatibility with the "
162
+ "Shopkeeper's gallery."
163
+ msgstr ""
164
+ "Le plugin WP Image Zoom <b>ne fonctionnera pas</b> sur les produits de la "
165
+ "galerie de WooCommerce avec le Thème Shopkeeper. Le Thème Shopkeeper change "
166
+ "complètement la galerie par défaut de WooCommerce avec une customisation de "
167
+ "la gallerie qui n'est pas supporté par la version gratuite de WP Image Zoom "
168
+ "plugin. S'il vous plait vérifier <a href=\"%2$s\" target=\"_blank\"> en "
169
+ "version PRO</a> de ce plugin pour obtenir la compatibilité avec la gallerie "
170
+ "Shopkeeper."
171
+
172
+ #: includes/image-zoom-warnings.php:173
173
+ msgid ""
174
+ "WP Image Zoom plugin is not compatible with the <a href=\"admin.php?"
175
+ "page=jetpack\">Jetpack Photon</a> module. If you find that the zoom is not "
176
+ "working, try to deactivate the Photon module and see if that solves it."
177
+ msgstr ""
178
+ "Le plugin WP Image Zoom n'est pas compatible avec le module <a href=\"admin."
179
+ "php?page=jetpack\">Jetpack Photon</a>. Si vous constater que le zoom ne "
180
+ "fonctionne pas, essayer de désactiver le module Photon pour voir si cela "
181
+ "peut résoudre le problème."
182
+
183
+ #: includes/premium-tooltips.php:3
184
+ msgid "Only available in <a href=\"%1$s\" target=\"_blank\">PRO version</a>"
185
+ msgstr ""
186
+ "Seulement disponible dans <a href=\"%1$s\" target=\"_blank\">en version PRO</"
187
+ "a>"
188
+
189
+ #: includes/right_columns.php:48
190
+ msgid "WP Image Zoooom Pro"
191
+ msgstr "WP Image Zoooom Pro"
192
+
193
+ #: includes/right_columns.php:61
194
+ msgid "Upgrade to PRO"
195
+ msgstr "Débloquer en PRO"
196
+
197
+ #: includes/right_columns.php:92
198
+ msgid "Like this Plugin?"
199
+ msgstr "Vous aimez ce plugin ?"
200
+
201
+ #: includes/right_columns.php:95
202
+ msgid ""
203
+ "Share your opinion with the world on the WordPress.org Plugin Repository."
204
+ msgstr ""
205
+ "Partagez votre opinion avec le monde sur <a href=\"https://wordpress.org"
206
+ "\">WordPress.org</a>."
207
+
208
+ #: includes/right_columns.php:96
209
+ msgid "Rate it on WordPress.org"
210
+ msgstr "Évaluez nous sur WordPress.org"
211
+
212
+ #: includes/settings.php:18
213
+ msgid "Lens Shape"
214
+ msgstr "Forme de la lentille"
215
+
216
+ #: includes/settings.php:20
217
+ msgid "No Lens"
218
+ msgstr "Pas de lentille"
219
+
220
+ #: includes/settings.php:21
221
+ msgid "Circle Lens"
222
+ msgstr "Cercle sur l'image"
223
+
224
+ #: includes/settings.php:22
225
+ msgid "Square Lens"
226
+ msgstr "Carré sur l'image"
227
+
228
+ #: includes/settings.php:23
229
+ msgid "With Zoom Window"
230
+ msgstr "Fenêtre à coté de l'image"
231
+
232
+ #: includes/settings.php:30
233
+ msgid "Cursor Type"
234
+ msgstr "Type de curseur lors du survol de l'image"
235
+
236
+ #: includes/settings.php:32 includes/settings.php:234
237
+ msgid "Default"
238
+ msgstr "Par défaut"
239
+
240
+ #: includes/settings.php:33
241
+ msgid "Pointer"
242
+ msgstr "Main qui pointe du doight"
243
+
244
+ #: includes/settings.php:34
245
+ msgid "Crosshair"
246
+ msgstr "Croix"
247
+
248
+ #: includes/settings.php:35
249
+ msgid "Zoom"
250
+ msgstr "Zoom"
251
+
252
+ #: includes/settings.php:42
253
+ msgid "Animation Easing Effect"
254
+ msgstr "Faciliter l'effet d'animation"
255
+
256
+ #: includes/settings.php:44
257
+ msgid ""
258
+ "A number between 0 and 200 to represent the degree of the Animation Easing "
259
+ "Effect"
260
+ msgstr "Un nombre entre 0 et 200 pour représenter le degré d'effet d'animation"
261
+
262
+ #: includes/settings.php:49
263
+ msgid "Lens Size"
264
+ msgstr "Taille de la lentille"
265
+
266
+ #: includes/settings.php:52
267
+ msgid ""
268
+ "For Circle Lens it means the diameters, for Square Lens it means the width"
269
+ msgstr ""
270
+ "Pour le cercle sur l'image cela signifie les diamètres, pour le carré sur "
271
+ "l'image cela signifie la largeur"
272
+
273
+ #: includes/settings.php:56 includes/settings.php:109
274
+ msgid "Border Thickness"
275
+ msgstr "Épaisseur de la bordure"
276
+
277
+ #: includes/settings.php:62 includes/settings.php:122
278
+ msgid "Border Color"
279
+ msgstr "Couleur de la bordure"
280
+
281
+ #: includes/settings.php:67 includes/settings.php:133
282
+ msgid "Fade Time"
283
+ msgstr "Temps de fonte"
284
+
285
+ #: includes/settings.php:70
286
+ msgid "The amount of time it takes for the Lens to slowly appear or dissapear"
287
+ msgstr ""
288
+ "Temps nécessaire pour que la lentille apparaisse lentement ou disparaisse"
289
+
290
+ #: includes/settings.php:74
291
+ msgid "Tint"
292
+ msgstr "Teinte"
293
+
294
+ #: includes/settings.php:76
295
+ msgid ""
296
+ "A color that will layed on top the of non-magnified image in order to "
297
+ "emphasize the lens"
298
+ msgstr ""
299
+ "Une couleur sera placée au dessus de l'image originale afin de souligner la "
300
+ "lentille"
301
+
302
+ #: includes/settings.php:80
303
+ msgid "Tint Color"
304
+ msgstr "Couleur de la teinte"
305
+
306
+ #: includes/settings.php:85
307
+ msgid "Tint Opacity"
308
+ msgstr "Opacité de la teinte"
309
+
310
+ #: includes/settings.php:91
311
+ msgid "Zoom Window Width"
312
+ msgstr "Largeur de la fenêtre de zoom"
313
+
314
+ #: includes/settings.php:97
315
+ msgid "Zoom Window Height"
316
+ msgstr "Hauteur de la fenêtre de zoom"
317
+
318
+ #: includes/settings.php:103
319
+ msgid "Distance from the Main Image"
320
+ msgstr "Distance entre la fenêtre de zoom et l'image originale"
321
+
322
+ #: includes/settings.php:115
323
+ msgid "Shadow Thickness"
324
+ msgstr "Épaisseur de l'ombre"
325
+
326
+ #: includes/settings.php:119
327
+ msgid "Use 0px to remove the shadow"
328
+ msgstr "Utiliser 0px pour enlever l'ombre"
329
+
330
+ #: includes/settings.php:127
331
+ msgid "Rounded Corners"
332
+ msgstr "Coins arrondis"
333
+
334
+ #: includes/settings.php:136
335
+ msgid ""
336
+ "The amount of time it takes for the Zoom Window to slowly appear or disappear"
337
+ msgstr "Temps pour que la fenêtre de Zoom apparaisse ou disparaisse lentement"
338
+
339
+ #: includes/settings.php:140
340
+ msgid "Enable the zoom on WooCommerce products"
341
+ msgstr "Activer le zoom sur les produits WooCommerce"
342
+
343
+ #: includes/settings.php:145
344
+ msgid "Exchange the thumbnail with main image on WooCommerce products"
345
+ msgstr ""
346
+ "Échangez la vignette avec l'image principale sur les produits WooCommerce"
347
+
348
+ #: includes/settings.php:148
349
+ msgid ""
350
+ "On a WooCommerce gallery, when clicking on a thumbnail, not only the main "
351
+ "image will be replaced with the thumbnail's image, but also the thumbnail "
352
+ "will be replaced with the main image"
353
+ msgstr ""
354
+ "Sur une galerie WooCommerce, en cliquant sur une vignette, non seulement "
355
+ "l'image principale sera remplacée par l'image miniature, mais aussi la "
356
+ "vignette sera remplacée par l'image principale"
357
+
358
+ #: includes/settings.php:151
359
+ msgid "Enable the zoom on mobile devices"
360
+ msgstr "Activer le zoom sur les appareils mobiles"
361
+
362
+ #: includes/settings.php:154
363
+ msgid "Tablets are also considered mobile devices"
364
+ msgstr "Les tablettes sont également considéres comme des appareils mobiles"
365
+
366
+ #: includes/settings.php:157
367
+ msgid "Enable the zoom on WooCommerce category pages"
368
+ msgstr "Activez le zoom sur les pages de catégorie WooCommerce"
369
+
370
+ #: includes/settings.php:163
371
+ msgid "Force it to work on WooCommerce"
372
+ msgstr "Forcez-le à travailler sur WooCommerce"
373
+
374
+ #: includes/settings.php:173
375
+ msgid "Remove the Lightbox on thumbnail images"
376
+ msgstr "Supprimez la Lightbox sur les images miniatures"
377
+
378
+ #: includes/settings.php:179
379
+ msgid "Remove the Lightbox"
380
+ msgstr "Supprimer la Lightbox"
381
+
382
+ #: includes/settings.php:185
383
+ msgid "Enable on WooCommerce variation products"
384
+ msgstr "Activer sur WooCommerce la variation des produits"
385
+
386
+ #: includes/settings.php:191
387
+ msgid "Enable on attachments pages"
388
+ msgstr "Activer sur les pages attachées"
389
+
390
+ #: includes/settings.php:197
391
+ msgid "FlexSlider container class"
392
+ msgstr "Classe de conteneur FlexSlider"
393
+
394
+ #: includes/settings.php:203
395
+ msgid ""
396
+ "Enable inside <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
397
+ "\">fancyBox</a> lightbox"
398
+ msgstr ""
399
+ "Activer <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
400
+ "\">fancyBox</a> à l'intérieur de la lightbox"
401
+
402
+ #: includes/settings.php:209
403
+ msgid ""
404
+ "Enable inside <a href=\"https://jetpack.com/ support/carousel/\" target="
405
+ "\"_blank\">Jetpack Carousel</a> lightbox"
406
+ msgstr ""
407
+ "Activer <a href=\"https://jetpack.com/ support/carousel/\" target=\"_blank"
408
+ "\">Jetpack Carousel</a> à l'intérieur de la lightbox"
409
+
410
+ #: includes/settings.php:216
411
+ msgid "Huge IT Gallery id"
412
+ msgstr "Énorme IT Gallery id"
413
+
414
+ #: includes/settings.php:222
415
+ msgid "Enable the zoom on ..."
416
+ msgstr "Activer le zoom sur ..."
417
+
418
+ #: includes/settings.php:232
419
+ msgid "Zoom Level"
420
+ msgstr "Niveau de zoom"
421
+
422
+ #: includes/settings.php:235
423
+ msgid "1,5 times"
424
+ msgstr "X 1,5 fois"
425
+
426
+ #: includes/settings.php:236
427
+ msgid "2 times"
428
+ msgstr "X 2 fois"
429
+
430
+ #: includes/settings.php:237
431
+ msgid "2,5 times"
432
+ msgstr "X 2,5 fois"
433
+
434
+ #: includes/settings.php:238
435
+ msgid "3 times"
436
+ msgstr "X 3 fois"
437
+
438
+ #: includes/settings.php:246
439
+ msgid "Lens Color"
440
+ msgstr "X 3 fois"
441
+
442
+ #: includes/settings.php:252
443
+ msgid "Show as Grid"
444
+ msgstr "Afficher comme une grille"
445
+
446
+ #: includes/settings.php:258
447
+ msgid "Responsive"
448
+ msgstr ""
449
+ "Responsive (adaptatif sur tout les supports, mobiles, tablettes, site "
450
+ "Internet, etc)"
451
+
452
+ #: includes/settings.php:264
453
+ msgid "Responsive Threshold"
454
+ msgstr ""
455
+ "Seuil adaptatif sur tout les supports, mobiles, tablettes, site Internet, etc"
456
+
457
+ #: includes/settings.php:271
458
+ msgid "Positioning"
459
+ msgstr "Positionnement"
460
+
461
+ #: includes/settings.php:273
462
+ msgid "Right Top"
463
+ msgstr "En haut à droite"
464
+
465
+ #: includes/settings.php:274
466
+ msgid "Right Bottom"
467
+ msgstr "Bouton à droite"
468
+
469
+ #: includes/settings.php:275
470
+ msgid "Right Center"
471
+ msgstr "Centrer à droite"
472
+
473
+ #: includes/settings.php:276
474
+ msgid "Left Top"
475
+ msgstr "En haut à gauche"
476
+
477
+ #: includes/settings.php:277
478
+ msgid "Left Bottom"
479
+ msgstr "Bouton à gauche"
480
+
481
+ #: includes/settings.php:278
482
+ msgid "Left Center"
483
+ msgstr "Centrer à gauche"
484
+
485
+ #: includes/settings.php:287
486
+ msgid "Mousewheel Zoom"
487
+ msgstr "Zoom avec la roulette de la souris"
488
+
489
+ #: includes/settings.php:293
490
+ msgid "Text on the image"
491
+ msgstr "Texte sur l'image"
492
+
493
+ #: includes/settings.php:299
494
+ msgid "Text Size"
495
+ msgstr "Taille du texte"
496
+
497
+ #: includes/settings.php:306
498
+ msgid "Text Color"
499
+ msgstr "Couleur du texte"
500
+
501
+ #: includes/settings.php:312
502
+ msgid "Text Align"
503
+ msgstr "Alignement du texte"
504
+
505
+ #: includes/settings.php:314
506
+ msgid "Top Left"
507
+ msgstr "En haut à gauche"
508
+
509
+ #: includes/settings.php:315
510
+ msgid "Top Center"
511
+ msgstr "En haut au centre"
512
+
513
+ #: includes/settings.php:316
514
+ msgid "Top Right"
515
+ msgstr "En haut à droite"
516
+
517
+ #: includes/settings.php:317
518
+ msgid "Bottom Left"
519
+ msgstr "Bouton à gauche"
520
+
521
+ #: includes/settings.php:318
522
+ msgid "Bottom Center"
523
+ msgstr "Bouton au centre"
524
+
525
+ #: includes/settings.php:319
526
+ msgid "Bottom Right"
527
+ msgstr "Bouton à droite"
528
+
529
+ #. Plugin URI of the plugin/theme
530
+ msgid "https://wordpress.org/plugins/wp-image-zoooom/"
531
+ msgstr "https://wordpress.org/plugins/wp-image-zoooom/"
532
+
533
+ #. Description of the plugin/theme
534
+ msgid ""
535
+ "Add zoom effect over the an image, whether it is an image in a post/page or "
536
+ "the featured image of a product in a WooCommerce shop"
537
+ msgstr ""
538
+ "Ajouter un effet de zoom sur une image, qu'il s'agisse d'une image dans un "
539
+ "article ou une page ou sur l'image en vedette d'un produit de vente en ligne "
540
+ "dans WooCommerce"
541
+
542
+ #. Author of the plugin/theme
543
+ msgid "SilkyPress"
544
+ msgstr "SilkyPress"
545
+
546
+ #. Author URI of the plugin/theme
547
+ msgid "https://www.silkypress.com"
548
+ msgstr "https://www.silkypress.com"
trunk/languages/wp-image-zoooom-ro_RO.mo ADDED
Binary file
trunk/languages/wp-image-zoooom-ro_RO.po ADDED
@@ -0,0 +1,545 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2017 WP Image Zoom
2
+ # This file is distributed under the same license as the WP Image Zoom package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Image Zoom 1.4\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-image-zoooom\n"
7
+ "POT-Creation-Date: 2017-07-09 12:33:44+00:00\n"
8
+ "PO-Revision-Date: 2017-07-20 10:52+0100\n"
9
+ "Last-Translator: Diana Burduja <diana@wootips.com>\n"
10
+ "Language-Team: \n"
11
+ "Language: ro\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 1.6.10\n"
16
+ "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
17
+ "2:1));\n"
18
+
19
+ #: image-zoooom.php:51 image-zoooom.php:58 includes/image-zoom.php:36
20
+ #: includes/image-zoom.php:43
21
+ msgid "Cheatin&#8217; huh?"
22
+ msgstr "Trisam?"
23
+
24
+ #: image-zoooom.php:158
25
+ msgid "WP Image Zoooom"
26
+ msgstr "WP Image Zoooom"
27
+
28
+ #: image-zoooom.php:481
29
+ msgid "Settings"
30
+ msgstr "Setari"
31
+
32
+ #: includes/image-zoom-admin-general.php:33
33
+ #: includes/image-zoom-admin-template.php:22
34
+ msgid "WP Image Zoom by %1$s"
35
+ msgstr "WP Image Zoom de %1$s"
36
+
37
+ #: includes/image-zoom-admin-general.php:40
38
+ #: includes/image-zoom-admin-template.php:29
39
+ msgid "General Settings"
40
+ msgstr "Setari generale"
41
+
42
+ #: includes/image-zoom-admin-general.php:42
43
+ #: includes/image-zoom-admin-template.php:31
44
+ msgid "Zoom Settings"
45
+ msgstr "Setari zoom"
46
+
47
+ #: includes/image-zoom-admin-general.php:80
48
+ #: includes/image-zoom-admin-template.php:195
49
+ msgid "Save changes"
50
+ msgstr "Salveaza"
51
+
52
+ #: includes/image-zoom-admin-template.php:47
53
+ msgid "Step 1"
54
+ msgstr "Pasul 1"
55
+
56
+ #: includes/image-zoom-admin-template.php:47
57
+ msgid "Choose the Lens Shape"
58
+ msgstr "Alege forma lentilei"
59
+
60
+ #: includes/image-zoom-admin-template.php:72
61
+ msgid "Step 2"
62
+ msgstr "Pasul 2"
63
+
64
+ #: includes/image-zoom-admin-template.php:72
65
+ msgid "Check your configuration changes on the image"
66
+ msgstr "Verifica pe image schimbarile de configurare"
67
+
68
+ #: includes/image-zoom-admin-template.php:78
69
+ msgid "Step 3"
70
+ msgstr "Pasul 3"
71
+
72
+ #: includes/image-zoom-admin-template.php:78
73
+ msgid "Make more fine-grained configurations on the zoom"
74
+ msgstr "Configureaza zoom-ul in detaliu"
75
+
76
+ #: includes/image-zoom-admin-template.php:82
77
+ msgid "General"
78
+ msgstr "General"
79
+
80
+ #: includes/image-zoom-admin-template.php:85
81
+ msgid "Lens"
82
+ msgstr "Lentila"
83
+
84
+ #: includes/image-zoom-admin-template.php:88
85
+ msgid "Zoom Window"
86
+ msgstr "Fereastra zoom"
87
+
88
+ #: includes/image-zoom-admin-template.php:91
89
+ msgid "Custom Text"
90
+ msgstr "Text personalizat"
91
+
92
+ #: includes/image-zoom-admin-template.php:192
93
+ msgid "Step 4"
94
+ msgstr "Pasul 4"
95
+
96
+ #: includes/image-zoom-admin-template.php:192
97
+ msgid "Don't forget to save the changes in order to apply them on the website"
98
+ msgstr "Nu uita sa salvezi schimbarile pentru a fi aplicate pe site"
99
+
100
+ #. Plugin Name of the plugin/theme
101
+ #: includes/image-zoom-admin.php:31 includes/image-zoom-admin.php:32
102
+ msgid "WP Image Zoom"
103
+ msgstr "WP Image Zoom"
104
+
105
+ #: includes/image-zoom-admin.php:113 includes/image-zoom-admin.php:130
106
+ msgid "Your settings have been saved."
107
+ msgstr "Setarile au fost salvate."
108
+
109
+ #: includes/image-zoom-admin.php:302 includes/image-zoom-admin.php:319
110
+ msgid "Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>"
111
+ msgstr "Valoarea <b>%1$s</b> nu e acceptabila. A fost resetata la <b>%2$s</b>."
112
+
113
+ #: includes/image-zoom-admin.php:339
114
+ msgid ""
115
+ "<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>"
116
+ "%4$s</b>"
117
+ msgstr ""
118
+ "<b>%1$s</b> accepta valori intre %2$s si %3$s. Valoarea a fost resetata la "
119
+ "<b>%4$s</b>."
120
+
121
+ #: includes/image-zoom-notices.php:173
122
+ msgid "Dismiss this notice"
123
+ msgstr "Ignora aceasta notita."
124
+
125
+ #: includes/image-zoom-warnings.php:58
126
+ msgid ""
127
+ "<b>If the zoom does not show up</b> on your website, it could be because you "
128
+ "need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts "
129
+ "to NOT minify” option in the BWP Minify settings, as shown in <a href=\"%1$s"
130
+ "\" target=\"_blank\">this screenshot</a>."
131
+ msgstr ""
132
+ "<b>Daca zoom-ul nu apare</b> pe site-ul dvs., ati putea remedia situatia "
133
+ "daca adaugati “image_zoooom-init” si “image_zoooom” la optiunea “Scripts to "
134
+ "NOT minify” in BWP Minify settings, asa cum e aratat in <a href=\"%1$s\" "
135
+ "target=\"_blank\">acest screenshot</a>."
136
+
137
+ #: includes/image-zoom-warnings.php:120
138
+ msgid ""
139
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
140
+ "gallery with the Avada theme. The Avada theme changes entirely the default "
141
+ "WooCommerce gallery with the <a href=\"%1$s\" target=\"_blank\">Flexslider "
142
+ "gallery</a> and the zoom plugin does not support the Flexslider gallery. "
143
+ "Please check the <a href=\"%2$s\" target=\"_blank\">PRO version</a> of the "
144
+ "plugin for compatibility with the Flexslider gallery."
145
+ msgstr ""
146
+ "Plugin-ul WP Image Zoom <b>nu va functiona</b> pe produsele WooCommerce cu "
147
+ "tema Avada. Tema Avada schimba in totalitate galeria WooCommerce gallery cu "
148
+ "galeria <a href=\"%1$s\" target=\"_blank\">Flexslider</a> si plugin-ul nu e "
149
+ "compatibil cu galeria Flexslider. Va rugam sa verificati <a href=\"%2$s\" "
150
+ "target=\"_blank\">varianta PRO</a> a plugin-ului pentru compatibilitate cu "
151
+ "galeria Flexslider."
152
+
153
+ #: includes/image-zoom-warnings.php:137
154
+ msgid ""
155
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
156
+ "gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the "
157
+ "default WooCommerce gallery with a custom made gallery not supported by the "
158
+ "free version of the WP Image Zoom plugin. Please check the <a href=\"%1$s\" "
159
+ "target=\"_blank\">PRO version</a> of the plugin for compatibility with the "
160
+ "Shopkeeper's gallery."
161
+ msgstr ""
162
+ "Plugin-ul WP Image Zoom <b>nu va functiona</b> pe produsele WooCommerce cu "
163
+ "tema Shopkeeper. Tema Shopkeeper schimba in totalitate galeria WooCommerce "
164
+ "gallery cu propria galerie care e incompatibila cu varianta gratuita a "
165
+ "pluginului WP Image Zoom. Va rugam sa verificati <a href=\"%2$s\" target="
166
+ "\"_blank\">varianta PRO</a> a plugin-ului pentru compatibilitate cu galeria "
167
+ "themei Shopkeeper."
168
+
169
+ #: includes/image-zoom-warnings.php:173
170
+ msgid ""
171
+ "WP Image Zoom plugin is not compatible with the <a href=\"admin.php?"
172
+ "page=jetpack\">Jetpack Photon</a> module. If you find that the zoom is not "
173
+ "working, try to deactivate the Photon module and see if that solves it."
174
+ msgstr ""
175
+ "Plugin-ul WP Image Zoom nu e compatibil cu modulul <a href=\"admin.php?"
176
+ "page=jetpack\">Jetpack Photon</a>. In cazul in care zoom-ul nu functioneaza, "
177
+ "va rugam sa dezactivati modulul Photon si sa verificati din nou."
178
+
179
+ #: includes/premium-tooltips.php:3
180
+ msgid "Only available in <a href=\"%1$s\" target=\"_blank\">PRO version</a>"
181
+ msgstr "Disponibil doar in <a href=\"%1$s\" target=\"_blank\">varianta PRO</a>"
182
+
183
+ #: includes/right_columns.php:48
184
+ msgid "WP Image Zoooom Pro"
185
+ msgstr "WP Image Zoooom Pro"
186
+
187
+ #: includes/right_columns.php:61
188
+ msgid "Upgrade to PRO"
189
+ msgstr "Upgradeaza la PRO"
190
+
191
+ #: includes/right_columns.php:92
192
+ msgid "Like this Plugin?"
193
+ msgstr "E un plugin bun?"
194
+
195
+ #: includes/right_columns.php:95
196
+ msgid ""
197
+ "Share your opinion with the world on the WordPress.org Plugin Repository."
198
+ msgstr "Impartaseste-ti opinia pe WordPress.org Plugin Repository."
199
+
200
+ #: includes/right_columns.php:96
201
+ msgid "Rate it on WordPress.org"
202
+ msgstr "Voteaza plugin-ul pe WordPress.org"
203
+
204
+ #: includes/settings.php:18
205
+ msgid "Lens Shape"
206
+ msgstr "Forma lentilei"
207
+
208
+ #: includes/settings.php:20
209
+ msgid "No Lens"
210
+ msgstr "Fara lentila"
211
+
212
+ #: includes/settings.php:21
213
+ msgid "Circle Lens"
214
+ msgstr "Lentila circulara"
215
+
216
+ #: includes/settings.php:22
217
+ msgid "Square Lens"
218
+ msgstr "Lentila patrata"
219
+
220
+ #: includes/settings.php:23
221
+ msgid "With Zoom Window"
222
+ msgstr "cu fereastra zoom"
223
+
224
+ #: includes/settings.php:30
225
+ msgid "Cursor Type"
226
+ msgstr "Tip cursor"
227
+
228
+ #: includes/settings.php:32 includes/settings.php:234
229
+ msgid "Default"
230
+ msgstr "Default"
231
+
232
+ #: includes/settings.php:33
233
+ msgid "Pointer"
234
+ msgstr "Indicator"
235
+
236
+ #: includes/settings.php:34
237
+ msgid "Crosshair"
238
+ msgstr "Crosshair"
239
+
240
+ #: includes/settings.php:35
241
+ msgid "Zoom"
242
+ msgstr "Zoom"
243
+
244
+ #: includes/settings.php:42
245
+ msgid "Animation Easing Effect"
246
+ msgstr "Efect de relaxare a animatiei"
247
+
248
+ #: includes/settings.php:44
249
+ msgid ""
250
+ "A number between 0 and 200 to represent the degree of the Animation Easing "
251
+ "Effect"
252
+ msgstr "Un numar intre 0 si 200"
253
+
254
+ #: includes/settings.php:49
255
+ msgid "Lens Size"
256
+ msgstr "Marimea lentilei"
257
+
258
+ #: includes/settings.php:52
259
+ msgid ""
260
+ "For Circle Lens it means the diameters, for Square Lens it means the width"
261
+ msgstr ""
262
+ "Marimea lentilei este diametrul pentru lentila circulara si latimea pentru "
263
+ "lentila patrata"
264
+
265
+ #: includes/settings.php:56 includes/settings.php:109
266
+ msgid "Border Thickness"
267
+ msgstr "Grosimea marginii"
268
+
269
+ #: includes/settings.php:62 includes/settings.php:122
270
+ msgid "Border Color"
271
+ msgstr "Culoarea marginii"
272
+
273
+ #: includes/settings.php:67 includes/settings.php:133
274
+ msgid "Fade Time"
275
+ msgstr "Timpul de disparitie"
276
+
277
+ #: includes/settings.php:70
278
+ msgid "The amount of time it takes for the Lens to slowly appear or dissapear"
279
+ msgstr "Timpul necesar pentru a lentila sa dispara sau sa apara"
280
+
281
+ #: includes/settings.php:74
282
+ msgid "Tint"
283
+ msgstr "Tenta"
284
+
285
+ #: includes/settings.php:76
286
+ msgid ""
287
+ "A color that will layed on top the of non-magnified image in order to "
288
+ "emphasize the lens"
289
+ msgstr ""
290
+ "O culoare pusa peste zona nemarita a imaginii pentru a accentua lentila"
291
+
292
+ #: includes/settings.php:80
293
+ msgid "Tint Color"
294
+ msgstr "Culoarea tentei"
295
+
296
+ #: includes/settings.php:85
297
+ msgid "Tint Opacity"
298
+ msgstr "Opacitatea tentei"
299
+
300
+ #: includes/settings.php:91
301
+ msgid "Zoom Window Width"
302
+ msgstr "Latimea ferestrei zoom"
303
+
304
+ #: includes/settings.php:97
305
+ msgid "Zoom Window Height"
306
+ msgstr "Inaltimea ferestrei zoom"
307
+
308
+ #: includes/settings.php:103
309
+ msgid "Distance from the Main Image"
310
+ msgstr "Distanta de la imagina principala"
311
+
312
+ #: includes/settings.php:115
313
+ msgid "Shadow Thickness"
314
+ msgstr "Grosimea umbrei"
315
+
316
+ #: includes/settings.php:119
317
+ msgid "Use 0px to remove the shadow"
318
+ msgstr "Scrie 0px pentru a inlatura umbra"
319
+
320
+ #: includes/settings.php:127
321
+ msgid "Rounded Corners"
322
+ msgstr "Colturi rotunjite"
323
+
324
+ #: includes/settings.php:136
325
+ msgid ""
326
+ "The amount of time it takes for the Zoom Window to slowly appear or disappear"
327
+ msgstr "Timpul necesar pentru a fereastra zoom sa apara sau sa dispara"
328
+
329
+ #: includes/settings.php:140
330
+ msgid "Enable the zoom on WooCommerce products"
331
+ msgstr "Activeaza zoom-ul pe produsele WooCommerce"
332
+
333
+ #: includes/settings.php:145
334
+ msgid "Exchange the thumbnail with main image on WooCommerce products"
335
+ msgstr "Schimba pozele mici cu poza principala in produsele WooCommerce"
336
+
337
+ #: includes/settings.php:148
338
+ msgid ""
339
+ "On a WooCommerce gallery, when clicking on a thumbnail, not only the main "
340
+ "image will be replaced with the thumbnail's image, but also the thumbnail "
341
+ "will be replaced with the main image"
342
+ msgstr ""
343
+ "Pentru o galerie WooCommerce, cand dati click pe o poza mica, nu doar poza "
344
+ "principala va fi schimbata cu poza mica, ci si poza mica va fi schimbata cu "
345
+ "poza principala."
346
+
347
+ #: includes/settings.php:151
348
+ msgid "Enable the zoom on mobile devices"
349
+ msgstr "Activeaza zoom-ul pe dispozitive mobile"
350
+
351
+ #: includes/settings.php:154
352
+ msgid "Tablets are also considered mobile devices"
353
+ msgstr "Si tabletele sunt considerate dispozitive mobile"
354
+
355
+ #: includes/settings.php:157
356
+ msgid "Enable the zoom on WooCommerce category pages"
357
+ msgstr "Activeaza zoom pe paginile cu categorii WooCommerce"
358
+
359
+ #: includes/settings.php:163
360
+ msgid "Force it to work on WooCommerce"
361
+ msgstr "Forteaza zoom-ul pe WooCommerce"
362
+
363
+ #: includes/settings.php:173
364
+ msgid "Remove the Lightbox on thumbnail images"
365
+ msgstr "Indepartati Lightbox-ul de pe pozele mici"
366
+
367
+ #: includes/settings.php:179
368
+ msgid "Remove the Lightbox"
369
+ msgstr "Indepartati Lightbox-ul"
370
+
371
+ #: includes/settings.php:185
372
+ msgid "Enable on WooCommerce variation products"
373
+ msgstr "Activati zoom-ul pe produsele variate din WooCommerce"
374
+
375
+ #: includes/settings.php:191
376
+ msgid "Enable on attachments pages"
377
+ msgstr "Activati zoom-ul pe paginile attachment"
378
+
379
+ #: includes/settings.php:197
380
+ msgid "FlexSlider container class"
381
+ msgstr "Clasa container-ului FlexSlider"
382
+
383
+ #: includes/settings.php:203
384
+ msgid ""
385
+ "Enable inside <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
386
+ "\">fancyBox</a> lightbox"
387
+ msgstr ""
388
+ "Activati zoom-ul pe pozele interne dintr-o galerie <a href=\"http://"
389
+ "fancyapps.com/fancybox/\" target=\"_blank\">fancyBox</a> lightbox."
390
+
391
+ #: includes/settings.php:209
392
+ msgid ""
393
+ "Enable inside <a href=\"https://jetpack.com/ support/carousel/\" target="
394
+ "\"_blank\">Jetpack Carousel</a> lightbox"
395
+ msgstr ""
396
+ "Activati zoom-ul pe pozele interne dintr-o galerie <a href=\"https://jetpack."
397
+ "com/ support/carousel/\" target=\"_blank\">Jetpack Carousel</a> lightbox."
398
+
399
+ #: includes/settings.php:216
400
+ msgid "Huge IT Gallery id"
401
+ msgstr "Id-ul Huge IT Gallery"
402
+
403
+ #: includes/settings.php:222
404
+ msgid "Enable the zoom on ..."
405
+ msgstr "Activeaza zoom-ul pe ..."
406
+
407
+ #: includes/settings.php:232
408
+ msgid "Zoom Level"
409
+ msgstr "Nivelul zoom-ului"
410
+
411
+ #: includes/settings.php:235
412
+ msgid "1,5 times"
413
+ msgstr "de 1,5 ori"
414
+
415
+ #: includes/settings.php:236
416
+ msgid "2 times"
417
+ msgstr "de 2 ori"
418
+
419
+ #: includes/settings.php:237
420
+ msgid "2,5 times"
421
+ msgstr "de 2,5 ori"
422
+
423
+ #: includes/settings.php:238
424
+ msgid "3 times"
425
+ msgstr "de 3 ori"
426
+
427
+ #: includes/settings.php:246
428
+ msgid "Lens Color"
429
+ msgstr "Culoarea lentilei"
430
+
431
+ #: includes/settings.php:252
432
+ msgid "Show as Grid"
433
+ msgstr "Arata ca si grila"
434
+
435
+ #: includes/settings.php:258
436
+ msgid "Responsive"
437
+ msgstr "Responsive"
438
+
439
+ #: includes/settings.php:264
440
+ msgid "Responsive Threshold"
441
+ msgstr "Pragul pentru responsive"
442
+
443
+ #: includes/settings.php:271
444
+ msgid "Positioning"
445
+ msgstr "Pozitionarea"
446
+
447
+ #: includes/settings.php:273
448
+ msgid "Right Top"
449
+ msgstr "Dreapta-sus"
450
+
451
+ #: includes/settings.php:274
452
+ msgid "Right Bottom"
453
+ msgstr "Dreapta-jos"
454
+
455
+ #: includes/settings.php:275
456
+ msgid "Right Center"
457
+ msgstr "Dreapta-centru"
458
+
459
+ #: includes/settings.php:276
460
+ msgid "Left Top"
461
+ msgstr "Stanga-sus"
462
+
463
+ #: includes/settings.php:277
464
+ msgid "Left Bottom"
465
+ msgstr "Stanga-jos"
466
+
467
+ #: includes/settings.php:278
468
+ msgid "Left Center"
469
+ msgstr "Stanga-centru"
470
+
471
+ #: includes/settings.php:287
472
+ msgid "Mousewheel Zoom"
473
+ msgstr "Zoom cu rotita mouse-ului"
474
+
475
+ #: includes/settings.php:293
476
+ msgid "Text on the image"
477
+ msgstr "Text pe imagine"
478
+
479
+ #: includes/settings.php:299
480
+ msgid "Text Size"
481
+ msgstr "Marimea text-ului"
482
+
483
+ #: includes/settings.php:306
484
+ msgid "Text Color"
485
+ msgstr "Culoarea textului"
486
+
487
+ #: includes/settings.php:312
488
+ msgid "Text Align"
489
+ msgstr "Pozitionarea textului"
490
+
491
+ #: includes/settings.php:314
492
+ msgid "Top Left"
493
+ msgstr "Sus stanga"
494
+
495
+ #: includes/settings.php:315
496
+ msgid "Top Center"
497
+ msgstr "Sus centru"
498
+
499
+ #: includes/settings.php:316
500
+ msgid "Top Right"
501
+ msgstr "Sus dreapta"
502
+
503
+ #: includes/settings.php:317
504
+ msgid "Bottom Left"
505
+ msgstr "Jos stanga"
506
+
507
+ #: includes/settings.php:318
508
+ msgid "Bottom Center"
509
+ msgstr "Jos centru"
510
+
511
+ #: includes/settings.php:319
512
+ msgid "Bottom Right"
513
+ msgstr "Jos dreapta"
514
+
515
+ #. Plugin URI of the plugin/theme
516
+ msgid "https://wordpress.org/plugins/wp-image-zoooom/"
517
+ msgstr "https://wordpress.org/plugins/wp-image-zoooom/"
518
+
519
+ #. Description of the plugin/theme
520
+ msgid ""
521
+ "Add zoom effect over the an image, whether it is an image in a post/page or "
522
+ "the featured image of a product in a WooCommerce shop"
523
+ msgstr ""
524
+ "Adauga efectul de zoom unei imagini, fie ca e o imagine intr-un post sau "
525
+ "pagina, sau the e imaginea principala a unui produs WooCommerce"
526
+
527
+ #. Author of the plugin/theme
528
+ msgid "SilkyPress"
529
+ msgstr "SilkyPress"
530
+
531
+ #. Author URI of the plugin/theme
532
+ msgid "https://www.silkypress.com"
533
+ msgstr "https://www.silkypress.com"
534
+
535
+ #~ msgid "Move"
536
+ #~ msgstr "Misca"
537
+
538
+ #~ msgid "Compatible with LazyLoad (unveil.js)"
539
+ #~ msgstr "Compatibil cu LazyLoad (unveil.js)"
540
+
541
+ #~ msgid "Center Top"
542
+ #~ msgstr "Centru sus"
543
+
544
+ #~ msgid "Center Bottom"
545
+ #~ msgstr "Centru jos"
trunk/languages/wp-image-zoooom.pot ADDED
@@ -0,0 +1,497 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2017 WP Image Zoom
2
+ # This file is distributed under the same license as the WP Image Zoom package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Image Zoom 1.12\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-image-zoooom\n"
7
+ "POT-Creation-Date: 2017-07-09 12:33:44+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+
15
+ #: image-zoooom.php:51 image-zoooom.php:58 includes/image-zoom.php:36
16
+ #: includes/image-zoom.php:43
17
+ msgid "Cheatin&#8217; huh?"
18
+ msgstr ""
19
+
20
+ #: image-zoooom.php:158
21
+ msgid "WP Image Zoooom"
22
+ msgstr ""
23
+
24
+ #: image-zoooom.php:481
25
+ msgid "Settings"
26
+ msgstr ""
27
+
28
+ #: includes/image-zoom-admin-general.php:33
29
+ #: includes/image-zoom-admin-template.php:22
30
+ msgid "WP Image Zoom by %1$s"
31
+ msgstr ""
32
+
33
+ #: includes/image-zoom-admin-general.php:40
34
+ #: includes/image-zoom-admin-template.php:29
35
+ msgid "General Settings"
36
+ msgstr ""
37
+
38
+ #: includes/image-zoom-admin-general.php:42
39
+ #: includes/image-zoom-admin-template.php:31
40
+ msgid "Zoom Settings"
41
+ msgstr ""
42
+
43
+ #: includes/image-zoom-admin-general.php:80
44
+ #: includes/image-zoom-admin-template.php:195
45
+ msgid "Save changes"
46
+ msgstr ""
47
+
48
+ #: includes/image-zoom-admin-template.php:47
49
+ msgid "Step 1"
50
+ msgstr ""
51
+
52
+ #: includes/image-zoom-admin-template.php:47
53
+ msgid "Choose the Lens Shape"
54
+ msgstr ""
55
+
56
+ #: includes/image-zoom-admin-template.php:72
57
+ msgid "Step 2"
58
+ msgstr ""
59
+
60
+ #: includes/image-zoom-admin-template.php:72
61
+ msgid "Check your configuration changes on the image"
62
+ msgstr ""
63
+
64
+ #: includes/image-zoom-admin-template.php:78
65
+ msgid "Step 3"
66
+ msgstr ""
67
+
68
+ #: includes/image-zoom-admin-template.php:78
69
+ msgid "Make more fine-grained configurations on the zoom"
70
+ msgstr ""
71
+
72
+ #: includes/image-zoom-admin-template.php:82
73
+ msgid "General"
74
+ msgstr ""
75
+
76
+ #: includes/image-zoom-admin-template.php:85
77
+ msgid "Lens"
78
+ msgstr ""
79
+
80
+ #: includes/image-zoom-admin-template.php:88
81
+ msgid "Zoom Window"
82
+ msgstr ""
83
+
84
+ #: includes/image-zoom-admin-template.php:91
85
+ msgid "Custom Text"
86
+ msgstr ""
87
+
88
+ #: includes/image-zoom-admin-template.php:192
89
+ msgid "Step 4"
90
+ msgstr ""
91
+
92
+ #: includes/image-zoom-admin-template.php:192
93
+ msgid "Don't forget to save the changes in order to apply them on the website"
94
+ msgstr ""
95
+
96
+ #. #-#-#-#-# wp-image-zoooom.pot (WP Image Zoom 1.12) #-#-#-#-#
97
+ #. Plugin Name of the plugin/theme
98
+ #: includes/image-zoom-admin.php:31 includes/image-zoom-admin.php:32
99
+ msgid "WP Image Zoom"
100
+ msgstr ""
101
+
102
+ #: includes/image-zoom-admin.php:113 includes/image-zoom-admin.php:130
103
+ msgid "Your settings have been saved."
104
+ msgstr ""
105
+
106
+ #: includes/image-zoom-admin.php:302 includes/image-zoom-admin.php:319
107
+ msgid "Unrecognized <b>%1$s</b>. The value was reset to <b>%2$s</b>"
108
+ msgstr ""
109
+
110
+ #: includes/image-zoom-admin.php:339
111
+ msgid ""
112
+ "<b>%1$s</b> accepts values between %2$s and %3$s. Your value was reset to <b>"
113
+ "%4$s</b>"
114
+ msgstr ""
115
+
116
+ #: includes/image-zoom-notices.php:173
117
+ msgid "Dismiss this notice"
118
+ msgstr ""
119
+
120
+ #: includes/image-zoom-warnings.php:58
121
+ msgid ""
122
+ "<b>If the zoom does not show up</b> on your website, it could be because you "
123
+ "need to add the “image_zoooom-init” and the “image_zoooom” to the “Scripts "
124
+ "to NOT minify” option in the BWP Minify settings, as shown in <a href=\"%1$s"
125
+ "\" target=\"_blank\">this screenshot</a>."
126
+ msgstr ""
127
+
128
+ #: includes/image-zoom-warnings.php:120
129
+ msgid ""
130
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
131
+ "gallery with the Avada theme. The Avada theme changes entirely the default "
132
+ "WooCommerce gallery with the <a href=\"%1$s\" target=\"_blank\">Flexslider "
133
+ "gallery</a> and the zoom plugin does not support the Flexslider gallery. "
134
+ "Please check the <a href=\"%2$s\" target=\"_blank\">PRO version</a> of the "
135
+ "plugin for compatibility with the Flexslider gallery."
136
+ msgstr ""
137
+
138
+ #: includes/image-zoom-warnings.php:137
139
+ msgid ""
140
+ "The WP Image Zoom plugin <b>will not work</b> on the WooCommerce products "
141
+ "gallery with the Shopkeeper theme. The Shopkeeper theme changes entirely the "
142
+ "default WooCommerce gallery with a custom made gallery not supported by the "
143
+ "free version of the WP Image Zoom plugin. Please check the <a href=\"%1$s\" "
144
+ "target=\"_blank\">PRO version</a> of the plugin for compatibility with the "
145
+ "Shopkeeper's gallery."
146
+ msgstr ""
147
+
148
+ #: includes/image-zoom-warnings.php:173
149
+ msgid ""
150
+ "WP Image Zoom plugin is not compatible with the <a href=\"admin.php?"
151
+ "page=jetpack\">Jetpack Photon</a> module. If you find that the zoom is not "
152
+ "working, try to deactivate the Photon module and see if that solves it."
153
+ msgstr ""
154
+
155
+ #: includes/premium-tooltips.php:3
156
+ msgid "Only available in <a href=\"%1$s\" target=\"_blank\">PRO version</a>"
157
+ msgstr ""
158
+
159
+ #: includes/right_columns.php:48
160
+ msgid "WP Image Zoooom Pro"
161
+ msgstr ""
162
+
163
+ #: includes/right_columns.php:61
164
+ msgid "Upgrade to PRO"
165
+ msgstr ""
166
+
167
+ #: includes/right_columns.php:92
168
+ msgid "Like this Plugin?"
169
+ msgstr ""
170
+
171
+ #: includes/right_columns.php:95
172
+ msgid ""
173
+ "Share your opinion with the world on the WordPress.org Plugin Repository."
174
+ msgstr ""
175
+
176
+ #: includes/right_columns.php:96
177
+ msgid "Rate it on WordPress.org"
178
+ msgstr ""
179
+
180
+ #: includes/settings.php:18
181
+ msgid "Lens Shape"
182
+ msgstr ""
183
+
184
+ #: includes/settings.php:20
185
+ msgid "No Lens"
186
+ msgstr ""
187
+
188
+ #: includes/settings.php:21
189
+ msgid "Circle Lens"
190
+ msgstr ""
191
+
192
+ #: includes/settings.php:22
193
+ msgid "Square Lens"
194
+ msgstr ""
195
+
196
+ #: includes/settings.php:23
197
+ msgid "With Zoom Window"
198
+ msgstr ""
199
+
200
+ #: includes/settings.php:30
201
+ msgid "Cursor Type"
202
+ msgstr ""
203
+
204
+ #: includes/settings.php:32 includes/settings.php:234
205
+ msgid "Default"
206
+ msgstr ""
207
+
208
+ #: includes/settings.php:33
209
+ msgid "Pointer"
210
+ msgstr ""
211
+
212
+ #: includes/settings.php:34
213
+ msgid "Crosshair"
214
+ msgstr ""
215
+
216
+ #: includes/settings.php:35
217
+ msgid "Zoom"
218
+ msgstr ""
219
+
220
+ #: includes/settings.php:42
221
+ msgid "Animation Easing Effect"
222
+ msgstr ""
223
+
224
+ #: includes/settings.php:44
225
+ msgid ""
226
+ "A number between 0 and 200 to represent the degree of the Animation Easing "
227
+ "Effect"
228
+ msgstr ""
229
+
230
+ #: includes/settings.php:49
231
+ msgid "Lens Size"
232
+ msgstr ""
233
+
234
+ #: includes/settings.php:52
235
+ msgid ""
236
+ "For Circle Lens it means the diameters, for Square Lens it means the width"
237
+ msgstr ""
238
+
239
+ #: includes/settings.php:56 includes/settings.php:109
240
+ msgid "Border Thickness"
241
+ msgstr ""
242
+
243
+ #: includes/settings.php:62 includes/settings.php:122
244
+ msgid "Border Color"
245
+ msgstr ""
246
+
247
+ #: includes/settings.php:67 includes/settings.php:133
248
+ msgid "Fade Time"
249
+ msgstr ""
250
+
251
+ #: includes/settings.php:70
252
+ msgid "The amount of time it takes for the Lens to slowly appear or dissapear"
253
+ msgstr ""
254
+
255
+ #: includes/settings.php:74
256
+ msgid "Tint"
257
+ msgstr ""
258
+
259
+ #: includes/settings.php:76
260
+ msgid ""
261
+ "A color that will layed on top the of non-magnified image in order to "
262
+ "emphasize the lens"
263
+ msgstr ""
264
+
265
+ #: includes/settings.php:80
266
+ msgid "Tint Color"
267
+ msgstr ""
268
+
269
+ #: includes/settings.php:85
270
+ msgid "Tint Opacity"
271
+ msgstr ""
272
+
273
+ #: includes/settings.php:91
274
+ msgid "Zoom Window Width"
275
+ msgstr ""
276
+
277
+ #: includes/settings.php:97
278
+ msgid "Zoom Window Height"
279
+ msgstr ""
280
+
281
+ #: includes/settings.php:103
282
+ msgid "Distance from the Main Image"
283
+ msgstr ""
284
+
285
+ #: includes/settings.php:115
286
+ msgid "Shadow Thickness"
287
+ msgstr ""
288
+
289
+ #: includes/settings.php:119
290
+ msgid "Use 0px to remove the shadow"
291
+ msgstr ""
292
+
293
+ #: includes/settings.php:127
294
+ msgid "Rounded Corners"
295
+ msgstr ""
296
+
297
+ #: includes/settings.php:136
298
+ msgid ""
299
+ "The amount of time it takes for the Zoom Window to slowly appear or disappear"
300
+ msgstr ""
301
+
302
+ #: includes/settings.php:140
303
+ msgid "Enable the zoom on WooCommerce products"
304
+ msgstr ""
305
+
306
+ #: includes/settings.php:145
307
+ msgid "Exchange the thumbnail with main image on WooCommerce products"
308
+ msgstr ""
309
+
310
+ #: includes/settings.php:148
311
+ msgid ""
312
+ "On a WooCommerce gallery, when clicking on a thumbnail, not only the main "
313
+ "image will be replaced with the thumbnail's image, but also the thumbnail "
314
+ "will be replaced with the main image"
315
+ msgstr ""
316
+
317
+ #: includes/settings.php:151
318
+ msgid "Enable the zoom on mobile devices"
319
+ msgstr ""
320
+
321
+ #: includes/settings.php:154
322
+ msgid "Tablets are also considered mobile devices"
323
+ msgstr ""
324
+
325
+ #: includes/settings.php:157
326
+ msgid "Enable the zoom on WooCommerce category pages"
327
+ msgstr ""
328
+
329
+ #: includes/settings.php:163
330
+ msgid "Force it to work on WooCommerce"
331
+ msgstr ""
332
+
333
+ #: includes/settings.php:173
334
+ msgid "Remove the Lightbox on thumbnail images"
335
+ msgstr ""
336
+
337
+ #: includes/settings.php:179
338
+ msgid "Remove the Lightbox"
339
+ msgstr ""
340
+
341
+ #: includes/settings.php:185
342
+ msgid "Enable on WooCommerce variation products"
343
+ msgstr ""
344
+
345
+ #: includes/settings.php:191
346
+ msgid "Enable on attachments pages"
347
+ msgstr ""
348
+
349
+ #: includes/settings.php:197
350
+ msgid "FlexSlider container class"
351
+ msgstr ""
352
+
353
+ #: includes/settings.php:203
354
+ msgid ""
355
+ "Enable inside <a href=\"http://fancyapps.com/fancybox/\" target=\"_blank"
356
+ "\">fancyBox</a> lightbox"
357
+ msgstr ""
358
+
359
+ #: includes/settings.php:209
360
+ msgid ""
361
+ "Enable inside <a href=\"https://jetpack.com/ support/carousel/\" target="
362
+ "\"_blank\">Jetpack Carousel</a> lightbox"
363
+ msgstr ""
364
+
365
+ #: includes/settings.php:216
366
+ msgid "Huge IT Gallery id"
367
+ msgstr ""
368
+
369
+ #: includes/settings.php:222
370
+ msgid "Enable the zoom on ..."
371
+ msgstr ""
372
+
373
+ #: includes/settings.php:232
374
+ msgid "Zoom Level"
375
+ msgstr ""
376
+
377
+ #: includes/settings.php:235
378
+ msgid "1,5 times"
379
+ msgstr ""
380
+
381
+ #: includes/settings.php:236
382
+ msgid "2 times"
383
+ msgstr ""
384
+
385
+ #: includes/settings.php:237
386
+ msgid "2,5 times"
387
+ msgstr ""
388
+
389
+ #: includes/settings.php:238
390
+ msgid "3 times"
391
+ msgstr ""
392
+
393
+ #: includes/settings.php:246
394
+ msgid "Lens Color"
395
+ msgstr ""
396
+
397
+ #: includes/settings.php:252
398
+ msgid "Show as Grid"
399
+ msgstr ""
400
+
401
+ #: includes/settings.php:258
402
+ msgid "Responsive"
403
+ msgstr ""
404
+
405
+ #: includes/settings.php:264
406
+ msgid "Responsive Threshold"
407
+ msgstr ""
408
+
409
+ #: includes/settings.php:271
410
+ msgid "Positioning"
411
+ msgstr ""
412
+
413
+ #: includes/settings.php:273
414
+ msgid "Right Top"
415
+ msgstr ""
416
+
417
+ #: includes/settings.php:274
418
+ msgid "Right Bottom"
419
+ msgstr ""
420
+
421
+ #: includes/settings.php:275
422
+ msgid "Right Center"
423
+ msgstr ""
424
+
425
+ #: includes/settings.php:276
426
+ msgid "Left Top"
427
+ msgstr ""
428
+
429
+ #: includes/settings.php:277
430
+ msgid "Left Bottom"
431
+ msgstr ""
432
+
433
+ #: includes/settings.php:278
434
+ msgid "Left Center"
435
+ msgstr ""
436
+
437
+ #: includes/settings.php:287
438
+ msgid "Mousewheel Zoom"
439
+ msgstr ""
440
+
441
+ #: includes/settings.php:293
442
+ msgid "Text on the image"
443
+ msgstr ""
444
+
445
+ #: includes/settings.php:299
446
+ msgid "Text Size"
447
+ msgstr ""
448
+
449
+ #: includes/settings.php:306
450
+ msgid "Text Color"
451
+ msgstr ""
452
+
453
+ #: includes/settings.php:312
454
+ msgid "Text Align"
455
+ msgstr ""
456
+
457
+ #: includes/settings.php:314
458
+ msgid "Top Left"
459
+ msgstr ""
460
+
461
+ #: includes/settings.php:315
462
+ msgid "Top Center"
463
+ msgstr ""
464
+
465
+ #: includes/settings.php:316
466
+ msgid "Top Right"
467
+ msgstr ""
468
+
469
+ #: includes/settings.php:317
470
+ msgid "Bottom Left"
471
+ msgstr ""
472
+
473
+ #: includes/settings.php:318
474
+ msgid "Bottom Center"
475
+ msgstr ""
476
+
477
+ #: includes/settings.php:319
478
+ msgid "Bottom Right"
479
+ msgstr ""
480
+
481
+ #. Plugin URI of the plugin/theme
482
+ msgid "https://wordpress.org/plugins/wp-image-zoooom/"
483
+ msgstr ""
484
+
485
+ #. Description of the plugin/theme
486
+ msgid ""
487
+ "Add zoom effect over the an image, whether it is an image in a post/page or "
488
+ "the featured image of a product in a WooCommerce shop"
489
+ msgstr ""
490
+
491
+ #. Author of the plugin/theme
492
+ msgid "SilkyPress"
493
+ msgstr ""
494
+
495
+ #. Author URI of the plugin/theme
496
+ msgid "https://www.silkypress.com"
497
+ msgstr ""
trunk/readme.txt ADDED
@@ -0,0 +1,331 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WP Image Zoom ===
2
+ Created: 21/11/2015
3
+ Contributors: diana_burduja
4
+ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=diana.burduja@gmail.com&lc=AT&item_name=Diana%20Burduja&item_number=WP%2dImage%2dZoooom%2dplugin&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
5
+ Email: diana@burduja.eu
6
+ Tags: e-commerce, featured image, hover over image zoom, image, image zoom, image zoom plugin, image magnification, image magnifier, jquery picture zoom, magnifier, magnify image, magnifying glass, mouse over image zoom, panorama, picture zoom, product image, product zoom, product magnification, product magnifier, responsive, woocommerce product zoom, woocommerce zoom, woocommerce magnifying glass, zoom, zoom image, zoom plugin, woocommerce image zoom, woocommerce product image zoom, woocommerce zoom magnifier
7
+ Requires at least: 3.0.1
8
+ Tested up to: 4.8
9
+ Stable tag: 1.16
10
+ License: GPLv3
11
+ License URI: http://www.gnu.org/licenses/gpl-3.0.html
12
+
13
+ Awesome image zoom plugin for images in posts/pages and for WooCommerce products.
14
+
15
+ == Description ==
16
+
17
+ = Awesome image zoom for images in posts/pages and for WooCommerce products =
18
+
19
+ WP Image Zoom is a robust, modern and very configurable image zoom plugin. It allows you to easily create a magnifying glass on your images, all from a very intuitive WP admin interface.
20
+
21
+ Your visitors will be able to see the beautiful details of your images. This will improve your users' experience and hopefully also your revenue.
22
+
23
+ [youtube https://www.youtube.com/watch?v=jIuhEUGurHY]
24
+
25
+ = Features =
26
+
27
+ * **4 Zooming Types** - Inner zoom, Round lens, Square lens and outer zoom (with Zoom Window).
28
+ * **Animation Easing Effect** - the zooming lense will follow the mouse over the image with a sleak delay. This will add a touch of elegance to the zooming experience.
29
+ * **Fade Effect** - the zoomed part will gracefully fade in or fade out.
30
+ * **Extremely configurable** - control zooming lens size, border color, border size, shadow, rounded corner, and others ...
31
+ * **Works with WooCommerce** - easily enable the zoom on all your products' images. Only a checkbox away.
32
+ * **Works in Pages and Posts** - within the post's/page's editor you'll find a button for applying the zooming effect on any image.
33
+
34
+ = Why should you upgrade to WP Image Zoooom Pro? =
35
+
36
+ * Responsive (the zoom window will fit to the browser width)
37
+ * Mousewheel Zoom
38
+ * Works with WooCommerce variations
39
+ * Works with Portfolio images
40
+ * Works with Easy Digital Downloads featured images
41
+ * Works with MarketPress - WordPress eCommerce
42
+ * Zoom within Lightboxes and Carousels
43
+ * You can place a text on the image like a watermark
44
+ * You can choose the zoom window position (left or right from the image)
45
+ * You can use on more than one image on the same page
46
+ * Custom theme support
47
+
48
+ = Notes =
49
+
50
+ * This plugin is provided "as-is"; within the scope of WordPress. We will update this plugin to remain secure, and to follow WP coding standards.
51
+ * If you prefer more dedicated support, with more advanced and powerful plugin features, please consider upgrading to [WP Image Zoooom Pro](https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner).
52
+
53
+
54
+ == Installation ==
55
+
56
+ * From the WP admin panel, click "Plugins" -> "Add new".
57
+ * In the browser input box, type "WP Image Zoom".
58
+ * Select the "WP Image Zoom" plugin and click "Install".
59
+ * Activate the plugin.
60
+
61
+ OR...
62
+
63
+ * Download the plugin from this page.
64
+ * Save the .zip file to a location on your computer.
65
+ * Open the WP admin panel, and click "Plugins" -> "Add new".
66
+ * Click "upload".. then browse to the .zip file downloaded from this page.
67
+ * Click "Install".. and then "Activate plugin".
68
+
69
+ OR...
70
+
71
+ * Download the plugin from this page.
72
+ * Extract the .zip file to a location on your computer.
73
+ * Use either FTP or your hosts cPanel to gain access to your website file directories.
74
+ * Browse to the `wp-content/plugins` directory.
75
+ * Upload the extracted `wp-image-zoooom` folder to this directory location.
76
+ * Open the WP admin panel.. click the "Plugins" page.. and click "Activate" under the newly added "WP Image Zoom" plugin.
77
+
78
+ == Frequently Asked Questions ==
79
+
80
+ = Does it work with caching plugins ? =
81
+ Yes
82
+
83
+ = If I have Visual Composer installed, how do I apply the zoom? =
84
+ You can apply the zoom on the Single Image element from Visual Composer. See the following [screenshot](https://ps.w.org/wp-image-zoooom/trunk/screenshot-7.jpg).
85
+
86
+ = It displays the zoom lens, but the picture is not enlarged =
87
+ In order for the zoom to work you have to upload a bigger picture than the one presented on the website. For more control over the zoom level you can try upgrading to the PRO version. There you can set the zoom level to 2x or 3x the size of the presented picture.
88
+
89
+ In case you did upload a bigger picture and the zoom still isn't working, you might try to deactivate the Jetpack Photon module. The module resizes the image and interferes with the zoom.
90
+
91
+ = The zoom window is about 1cm lower than the zoomed image =
92
+ This is an effect caused by the WordPres Admin Bar. Try logging out and check the zoom again.
93
+
94
+ Another cause could be the sticky header. When the page is loaded, the zoom window is built and set in the right position (next to the zoomed image). When you scroll down, the sticky header changes its height but the zoom window keeps staying in the same position. In order to solve this you can choose between removing the header's sticky effect or upgrading to the WP Image Zoooom PRO, as there the zoom window is totally differently built and the sticky header doesn't affect the zoom position.
95
+
96
+ Another cause could be the "CSS Animation" settings within Visual Composer. If you want to keep the animation effect and still have the zoom, I recommend you upgrade to the WP Image Zoooom PRO.
97
+
98
+ = How to zoom an image without the button in the editor? =
99
+ When you add a CSS class called 'zoooom' to any image, the zoom will be applied on that particular image. Remember that the zooming works only when the displayed image is smaller than the loaded image (i.e. the image is shrinked with "width" and "height" attributes).
100
+
101
+ = If I want to use a "lazy load" plugin will it work? =
102
+ We can ensure compatibility with [Unveil Lazy Load](https://wordpress.org/plugins/unveil-lazy-load/), [WP images lazy loading](https://wordpress.org/plugins/wp-images-lazy-loading/) and [Lazy Load](https://wordpress.org/plugins/lazy-load/) plugins.
103
+
104
+
105
+ = My image is within a tab =
106
+ The zoom lens is built on page load relative to the image and it will be shown in mouse hover no matter if the image is hidden in another tab. We cannot do anything about this, the zoom is not built to work with images within tabs.
107
+
108
+ Alternatively you can upgrade to the Pro version, as there the zoom lens is built on mouse hover and not on page load, which means that the zoom will work also with images within tabs.
109
+
110
+ = Known Incompatibilities =
111
+
112
+ * **Black Studio Tiny MCE Widget** plugin and **SiteOrigin Widgets Bundle** plugin makes the Image Zoooom button doesn't show in the Edit Post and Edit Page editor
113
+
114
+ * The zoom doesn't work well with **Image Carousel** on **Avada** theme. You cannot use the zoom and the carousel on the same page.
115
+
116
+ * The zoom doesn't work at all with the **WooCommerce Dynamic Gallery** plugin.
117
+
118
+ * The zoom will not work with the WooCommerce gallery on the **Avada** theme. The Avada theme changes entirely the default WooCommerce gallery with the [Flexslider gallery](https://woocommerce.com/flexslider/) and the zoom plugin does not support the Flexslider gallery. Please check the [PRO version](https://www.silkypress.com/wp-image-zoom-plugin/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner) of the plugin for compatibility with the Flexslider gallery.
119
+
120
+ = Credits =
121
+
122
+ * Demo photo from http://pixabay.com/en/wordcloud-tagcloud-cloud-text-tag-679951/ under CC0 Public Domain license
123
+
124
+
125
+ == Screenshots ==
126
+
127
+ 1. Configuration menu for the Round Lens
128
+
129
+ 2. Configuration menu for the Square Lens
130
+
131
+ 3. Configuration menu for the Zoom Window
132
+
133
+ 4. Application of zoom on an image in a post
134
+
135
+ 5. General configuration menu
136
+
137
+ 6. WooCommerce product page with the Zoom Window applied on the featured image
138
+
139
+ 7. Apply the zoom from Visual Composer, the Single Image element
140
+
141
+ == Changelog ==
142
+
143
+ = 1.16 =
144
+ * 09/14/2017
145
+ * Feature: support select-themes.com which add a wrapper on top of the page
146
+
147
+ = 1.15 =
148
+ * 08/20/2017
149
+ * Feature: support zoom for images within Courses and Quizzes for LearnPress
150
+ * Fix: the "Enable zoom on WooCommerce category pages" works also on archive pages
151
+
152
+ = 1.14 =
153
+ * 08/16/2017
154
+ * Add French and Romanian translations
155
+
156
+ = 1.13 =
157
+ * 07/11/2017
158
+ * Fix: https://wordpress.org/support/topic/conflict-with-black-studio-tinymce-widget-3/
159
+ * Fix: the zoom overtakes the hover action when a dropdown menu is open
160
+ * Feature: compatibility with the Dorian theme
161
+
162
+ = 1.12 =
163
+ * 06/10/2017
164
+ * Feature: support for custom post type
165
+
166
+ = 1.11 =
167
+ * 06/07/2017
168
+ * Fix: when a caching plugin is present, a tablet is still considered a mobile device
169
+ * Fix: remove woocommerce slider support for the Kiddy theme
170
+ * Fix: with jQuery v<1.11 the mobile browser needs to be checked with $. instead of jQuery.
171
+
172
+ = 1.10 =
173
+ * 05/10/2017
174
+ * Fix: warning for the Shopkeeper theme
175
+ * Fix: don't add/remove theme support for the gallery if is not enabled for WooCommerce
176
+
177
+ = 1.9 =
178
+ * 04/09/2017
179
+ * Fix: if the image has data-large_image attribute, then use that for the zoom
180
+ * Fix: if data-zoom-image attribute present, then exchange it with the thumbnails in WooCommerce gallery
181
+ * Fix: remove click action on the WooCommerce images
182
+
183
+ = 1.8 =
184
+ * 04/04/2017
185
+ * Feature: compatibility with WooCommerce 3.0.+
186
+
187
+ = 1.7 =
188
+ * 03/27/2017
189
+ * Feature: compatibility with the Nouveau theme
190
+ * Feature: compatibility with the WP-Cache Super for the `enable on mobiles` option
191
+ * Fix: don't add the full size image to the srcset if the image is cropped
192
+ * Fix: replace the `move` cursor type with `zoom-in`
193
+ * Fix: compatibility with the 2.8.6+ Virtue theme, see https://wordpress.org/support/topic/woocommerce_single_product_image_html-filter/
194
+
195
+ = 1.6 =
196
+ * 02/21/2017
197
+ * Feature: compatibility with the Lazy Load plugin (https://wordpress.org/plugins/lazy-load/)
198
+ * Fix: remove the "Compatible with LazyLoad (unveil)" option and apply the fix automatically if the $.unveil function is present
199
+
200
+ = 1.5 =
201
+ * 01/22/2017
202
+ * Feature: plugin ready for translation
203
+ * Feature: translation for Romanian
204
+
205
+ = 1.4 =
206
+ * 12/08/2016
207
+ * Feature: "Exchange the thumbnail with the main image on WooCommerce products" option
208
+ * Feature: compatibility with the Artcore theme
209
+ * Feature: show a notice about BWP Minify configurations
210
+
211
+ = 1.3.1 =
212
+ * 09/16/2016
213
+ * Fix: remove the prettyPhoto only if WooCommerce is active and only on product pages
214
+
215
+ = 1.3.0 =
216
+ * 08/17/2016
217
+ * Fix: PHP Notice when adding two arrays without checking first the variable type
218
+ * Fix: add the attachment-shop_single and attachment-thumbnail classes to the WooCommerce product images if these are missing
219
+ * Added grayed out fields as in the PRO version
220
+
221
+ = 1.2.9 =
222
+ * 07/20/2016
223
+ * Fix: if the full image isn't present in the srcset, add it
224
+ * Fix: compatibility with the Bridge theme
225
+ * Fix: set the data-zoom-image attribute as having priority over the srcset attribute
226
+
227
+ = 1.2.8 =
228
+ * 04/21/2016
229
+ * Fix: For WooCommerce galleries keep the thumnail's src in data-thumbnail-src. This will fix some esthetic issue with long images
230
+ * Feature: add data-zoom-image attribute if the srcset is not present, but the "zoooom" class is present
231
+
232
+ = 1.2.7 =
233
+ * 04/11/2016
234
+ * Feature: add TinyMCE button to the LearnDash post types
235
+
236
+ = 1.2.6 =
237
+ * 02/14/2016
238
+ * Feature: Enable the zoom on the WooCommerce category pages
239
+ * Fix: replaced the <?= ?> with <?php echo ?> to make it work for PHP < 5.4 and short_open_tag = Off
240
+ * Feature: you can tag a div with "zoooom" class in order to apply the zoom
241
+ * Feature: compatibility with Visual Composer
242
+
243
+ = 1.2.5 =
244
+ * 01/19/2016
245
+ * Added admin-notices
246
+
247
+ = 1.2.4 =
248
+ * 12/24/2015
249
+ * Fix: With WordPress 4.4 the WooCommerce thumbnail images were not switched for the main image
250
+
251
+ = 1.2.3 =
252
+ * 11/21/2015
253
+ * Fix: The tooltips for checkboxes were not working
254
+ * Fix: 'Distance from the Main Image' was not having an effect on the frontend
255
+ * Fix: removed the mousewheel zoom as it was not working
256
+ * Fix: TinyMCE in the WP-Lister Templates was not working
257
+
258
+ = 1.2.2 =
259
+ * 11/06/2015
260
+ * Fix: 'Force to work on woocommerce' also on JPEG files
261
+
262
+ = 1.2.1 =
263
+ * 10/20/2015
264
+ * Added compatibility with LazyLoad (unveil.js)
265
+ * Fix: with round and square lens the zoom was flickering when getting out of the image area. (https://wordpress.org/support/topic/lazyload-conflicts-more)
266
+
267
+ = 1.2.0 =
268
+ * 10/13/2015
269
+ * Added .pot file for translation.
270
+
271
+ = 1.1.4 =
272
+ * 10/07/2015
273
+ * Fix: https://wordpress.org/support/topic/problem-when-resize-window (regenerate the zoomed image when the page is resized)
274
+ * Fix: https://wordpress.org/support/topic/not-working-1307 (when choosing another image from woocommerce gallery, if the image is not big enough to generate a zoom, it was still showing the previously chosen image)
275
+
276
+ = 1.1.3 =
277
+ * 08/18/2015
278
+ * The Shadow Thickness was not working.
279
+
280
+ = 1.1.2 =
281
+ * 08/05/2015
282
+ * Remove the WooCommerce lightbox. It doesn't make sense to have the lightbox and zoom at the same time
283
+
284
+ = 1.1.1 =
285
+ * 08/04/2015
286
+ * Fix: https://wordpress.org/support/topic/not-working-1307 (force it to work with WooCommerce images, even when the templates tries to load a smaller size image)
287
+
288
+ = 1.1.0 =
289
+ * 08/03/2015
290
+ * Update to WP 4.2.3
291
+
292
+ = 1.0.9 =
293
+ * 06/29/2015
294
+ * Fix: https://wordpress.org/support/topic/zoom-appears-behind-an-product-image
295
+
296
+ = 1.0.8 =
297
+ * 06/23/2015
298
+ * Fix: https://wordpress.org/support/topic/zoom-configuration-settings-not-available
299
+
300
+ = 1.0.7 =
301
+ * 06/21/2015
302
+ * Added: right side box with WP Image Zoooom Pro
303
+
304
+ = 1.0.6 =
305
+ * 06/03/2015
306
+ * Fix: https://wordpress.org/support/topic/the-zoom-button-does-not-appear (it was assumed that the path to the plugin is the standard one. Now it loads the .png from a path relative to tinyMCE-button.js)
307
+
308
+ = 1.0.5 =
309
+ * 06/01/2015
310
+ * Fix: https://wordpress.org/support/topic/parse-error-334 (retrieval of static variables for PHP<5.2 is done differently)
311
+
312
+ = 1.0.4 =
313
+ * 05/27/2015
314
+ * Fix: solved the JS bug that was leading to "works in the upper-left of the image"
315
+
316
+ = 1.0.3 =
317
+ * 05/26/2015
318
+ * Fix: add version number to the css, otherwise the css was taken from the cache from the previous version
319
+
320
+ = 1.0.2 =
321
+ * 05/26/2015
322
+ * Added: "Like this Plugin?" box in the admin
323
+ * Tweak: refactored the "Zoom Settings" page in the admin and added steps
324
+
325
+ = 1.0 =
326
+ * 05/19/2015
327
+ * Initial commit
328
+
329
+ == Upgrade Notice ==
330
+
331
+ Nothing at the moment
trunk/screenshot-1.jpg ADDED
Binary file
trunk/screenshot-2.jpg ADDED
Binary file
trunk/screenshot-3.jpg ADDED
Binary file
trunk/screenshot-4.jpg ADDED
Binary file
trunk/screenshot-5.jpg ADDED
Binary file
trunk/screenshot-6.jpg ADDED
Binary file
trunk/screenshot-7.jpg ADDED
Binary file