scrivito_editors 0.66.0 → 0.70.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/imgly_sdk/ui/night/blur/blur.png +0 -0
  3. data/app/assets/images/imgly_sdk/ui/night/buttons/back.png +0 -0
  4. data/app/assets/images/imgly_sdk/ui/night/buttons/done-highlighted.png +0 -0
  5. data/app/assets/images/imgly_sdk/ui/night/buttons/done.png +0 -0
  6. data/app/assets/images/imgly_sdk/ui/night/cancel.png +0 -0
  7. data/app/assets/images/imgly_sdk/ui/night/close.png +0 -0
  8. data/app/assets/images/imgly_sdk/ui/night/crop/16-9.png +0 -0
  9. data/app/assets/images/imgly_sdk/ui/night/crop/4-3.png +0 -0
  10. data/app/assets/images/imgly_sdk/ui/night/crop/custom.png +0 -0
  11. data/app/assets/images/imgly_sdk/ui/night/crop/square.png +0 -0
  12. data/app/assets/images/imgly_sdk/ui/night/crosshair.png +0 -0
  13. data/app/assets/images/imgly_sdk/ui/night/filters/a15.png +0 -0
  14. data/app/assets/images/imgly_sdk/ui/night/filters/breeze.png +0 -0
  15. data/app/assets/images/imgly_sdk/ui/night/filters/bw.png +0 -0
  16. data/app/assets/images/imgly_sdk/ui/night/filters/bwhard.png +0 -0
  17. data/app/assets/images/imgly_sdk/ui/night/filters/celsius.png +0 -0
  18. data/app/assets/images/imgly_sdk/ui/night/filters/chest.png +0 -0
  19. data/app/assets/images/imgly_sdk/ui/night/filters/default.png +0 -0
  20. data/app/assets/images/imgly_sdk/ui/night/filters/fixie.png +0 -0
  21. data/app/assets/images/imgly_sdk/ui/night/filters/food.png +0 -0
  22. data/app/assets/images/imgly_sdk/ui/night/filters/fridge.png +0 -0
  23. data/app/assets/images/imgly_sdk/ui/night/filters/front.png +0 -0
  24. data/app/assets/images/imgly_sdk/ui/night/filters/glam.png +0 -0
  25. data/app/assets/images/imgly_sdk/ui/night/filters/gobblin.png +0 -0
  26. data/app/assets/images/imgly_sdk/ui/night/filters/identity.png +0 -0
  27. data/app/assets/images/imgly_sdk/ui/night/filters/k1.png +0 -0
  28. data/app/assets/images/imgly_sdk/ui/night/filters/k2.png +0 -0
  29. data/app/assets/images/imgly_sdk/ui/night/filters/k6.png +0 -0
  30. data/app/assets/images/imgly_sdk/ui/night/filters/kdynamic.png +0 -0
  31. data/app/assets/images/imgly_sdk/ui/night/filters/lenin.png +0 -0
  32. data/app/assets/images/imgly_sdk/ui/night/filters/lomo.png +0 -0
  33. data/app/assets/images/imgly_sdk/ui/night/filters/mellow.png +0 -0
  34. data/app/assets/images/imgly_sdk/ui/night/filters/morning.png +0 -0
  35. data/app/assets/images/imgly_sdk/ui/night/filters/orchid.png +0 -0
  36. data/app/assets/images/imgly_sdk/ui/night/filters/pola.png +0 -0
  37. data/app/assets/images/imgly_sdk/ui/night/filters/pola669.png +0 -0
  38. data/app/assets/images/imgly_sdk/ui/night/filters/quozi.png +0 -0
  39. data/app/assets/images/imgly_sdk/ui/night/filters/semired.png +0 -0
  40. data/app/assets/images/imgly_sdk/ui/night/filters/sunny.png +0 -0
  41. data/app/assets/images/imgly_sdk/ui/night/filters/texas.png +0 -0
  42. data/app/assets/images/imgly_sdk/ui/night/filters/x400.png +0 -0
  43. data/app/assets/images/imgly_sdk/ui/night/flip/horizontal.png +0 -0
  44. data/app/assets/images/imgly_sdk/ui/night/flip/vertical.png +0 -0
  45. data/app/assets/images/imgly_sdk/ui/night/loading.gif +0 -0
  46. data/app/assets/images/imgly_sdk/ui/night/operations/brightness.png +0 -0
  47. data/app/assets/images/imgly_sdk/ui/night/operations/contrast.png +0 -0
  48. data/app/assets/images/imgly_sdk/ui/night/operations/crop.png +0 -0
  49. data/app/assets/images/imgly_sdk/ui/night/operations/filters.png +0 -0
  50. data/app/assets/images/imgly_sdk/ui/night/operations/flip.png +0 -0
  51. data/app/assets/images/imgly_sdk/ui/night/operations/focus.png +0 -0
  52. data/app/assets/images/imgly_sdk/ui/night/operations/frames.png +0 -0
  53. data/app/assets/images/imgly_sdk/ui/night/operations/orientation.png +0 -0
  54. data/app/assets/images/imgly_sdk/ui/night/operations/radial-blur.png +0 -0
  55. data/app/assets/images/imgly_sdk/ui/night/operations/rotation.png +0 -0
  56. data/app/assets/images/imgly_sdk/ui/night/operations/saturation.png +0 -0
  57. data/app/assets/images/imgly_sdk/ui/night/operations/stickers.png +0 -0
  58. data/app/assets/images/imgly_sdk/ui/night/operations/text.png +0 -0
  59. data/app/assets/images/imgly_sdk/ui/night/operations/tilt-shift.png +0 -0
  60. data/app/assets/images/imgly_sdk/ui/night/rotation/left.png +0 -0
  61. data/app/assets/images/imgly_sdk/ui/night/rotation/right.png +0 -0
  62. data/app/assets/images/imgly_sdk/ui/night/slider/minus.png +0 -0
  63. data/app/assets/images/imgly_sdk/ui/night/slider/plus.png +0 -0
  64. data/app/assets/images/imgly_sdk/ui/night/top/aspect.png +0 -0
  65. data/app/assets/images/imgly_sdk/ui/night/top/new.png +0 -0
  66. data/app/assets/images/imgly_sdk/ui/night/top/original.png +0 -0
  67. data/app/assets/images/imgly_sdk/ui/night/top/undo.png +0 -0
  68. data/app/assets/images/imgly_sdk/ui/night/top/zoom-in.png +0 -0
  69. data/app/assets/images/imgly_sdk/ui/night/top/zoom-out.png +0 -0
  70. data/app/assets/images/imgly_sdk/ui/night/transparency.png +0 -0
  71. data/app/assets/images/imgly_sdk/ui/night/upload.png +0 -0
  72. data/app/assets/javascripts/canvas-to-blob.js +95 -0
  73. data/app/assets/javascripts/imglykit.js +19998 -0
  74. data/app/assets/javascripts/scrivito_editors/binary_editor.js.coffee +21 -18
  75. data/app/assets/javascripts/scrivito_editors/date_editor.js.coffee +15 -6
  76. data/app/assets/javascripts/scrivito_editors/helpers/file_dropzone.js.coffee +11 -5
  77. data/app/assets/javascripts/scrivito_editors/helpers/setup_binary_button_container.js.coffee +6 -0
  78. data/app/assets/javascripts/scrivito_editors/html_editor.js.coffee +1 -0
  79. data/app/assets/javascripts/scrivito_editors/{image_editor.js.coffee → image_drop_editor.js.coffee} +1 -1
  80. data/app/assets/javascripts/scrivito_editors/image_editor.js.coffee.erb +76 -0
  81. data/app/assets/javascripts/scrivito_editors/reload.js.coffee +12 -0
  82. data/app/assets/javascripts/scrivito_editors/slider_editor.js.coffee +1 -1
  83. data/app/assets/javascripts/scrivito_editors/string_editor.js.coffee +6 -3
  84. data/app/assets/javascripts/scrivito_editors/stringlist_editor.js.coffee +13 -0
  85. data/app/assets/javascripts/scrivito_editors_core.js +2 -0
  86. data/app/assets/stylesheets/imglykit-night-ui.css +1098 -0
  87. data/app/assets/stylesheets/scrivito-editors-imglykit-override.css +9 -0
  88. data/app/assets/stylesheets/scrivito_editors.css +2 -0
  89. data/app/assets/stylesheets/scrivito_editors/editors/button_container.css +29 -0
  90. data/app/assets/stylesheets/scrivito_editors/editors/{image_editor.css → image_drop_editor.css} +0 -0
  91. data/app/assets/stylesheets/scrivito_editors/icons.css.erb +1 -54
  92. data/app/assets/stylesheets/scrivito_editors/stringlist_editor.css +24 -0
  93. data/lib/scrivito_editors/engine.rb +20 -0
  94. data/vendor/assets/javascripts/jquery.caret.js +2 -0
  95. data/vendor/assets/javascripts/jquery.tag-editor.js +340 -0
  96. data/vendor/assets/stylesheets/jquery.tag-editor.css +49 -0
  97. metadata +91 -10
  98. data/Rakefile +0 -16
  99. data/app/assets/stylesheets/scrivito_editors/binary_editor.css +0 -14
@@ -1,22 +1,25 @@
1
1
  scrivito.on 'content', (content) ->
2
2
  return unless scrivito.in_editable_view()
3
- fields = $(content).find('[data-scrivito-field-type=binary]:not([data-editor])')
4
- scrivito.editors._file_dropzone fields,
5
- (el, file) -> el.scrivito('save', file).then(-> el.scrivito('reload')),
6
- 'image-editor-dragover'
7
- fields.filter('[data-scrivito-editors-allow-delete]').each -> setup_delete_btn $(this)
3
+ fields = $(content).find('''
4
+ [data-scrivito-field-type=binary]:not([data-editor]),
5
+ [data-editor~=binary]
6
+ ''')
8
7
 
9
- setup_delete_btn = (el) ->
10
- return unless el.scrivito('content')
11
- container = if el.prop('tagName') is 'IMG'
12
- css_class = 'scrivito-editor-image-container'
13
- el.wrap("<div class=#{css_class}></div>") unless el.parent(".#{css_class}").length
14
- el.parent(".#{css_class}")
15
- else
16
- el
8
+ fields.each ->
9
+ element = $(this)
10
+ container = scrivito.editors._setup_binary_button_container(element,
11
+ 'scrivito-editor-binary-button-container')
17
12
 
18
- return if container.find('.delete-binary').length
19
- $("<a href=# class='delete-binary editing-button editing-red delete'>
20
- <i class='editing-icon editing-icon-trash'></i></a>")
21
- .prependTo(container)
22
- .click -> el.scrivito('save', null).then(-> el.scrivito('reload')) and off
13
+ scrivito.editors._file_dropzone container,
14
+ (_, file) -> element.scrivito('save', file).then(-> element.scrivito('reload')),
15
+ 'image-editor-dragover'
16
+
17
+ if element.scrivito('content') && element.is('[data-scrivito-editors-allow-delete]')
18
+ setup_delete_btn(container, element)
19
+
20
+ setup_delete_btn = (container, element) ->
21
+ if container && container.find('.delete-binary').length == 0
22
+ $("<a href='#' class='delete-binary editing-button'>
23
+ <i class='editing-icon editing-icon-trash'></i></a>")
24
+ .prependTo(container)
25
+ .click -> element.scrivito('save', null).then(-> element.scrivito('reload')) and off
@@ -15,14 +15,20 @@ $ ->
15
15
  # Prevent the property view to close when the ESC key is pressed.
16
16
  event.stopPropagation()
17
17
 
18
- save = (dateTimeText) ->
19
- datetimepicker_element = $(this)
20
- cmsField = datetimepicker_element.data('cmsField')
21
- datetime = datetimepicker_element.datetimepicker('getDate')
18
+ save = (datetimepickerElement, dateTimeText, additionalDoneEvent) ->
19
+ cmsField = datetimepickerElement.data('cmsField')
20
+ datetime = datetimepickerElement.datetimepicker('getDate')
22
21
  cmsField.scrivito('save', datetime)
23
22
  .done ->
24
23
  cmsField.trigger('save.scrivito_editors')
25
- cmsField.scrivito('reload')
24
+ if additionalDoneEvent
25
+ cmsField.trigger(additionalDoneEvent)
26
+
27
+ onClose = (dateTimeText) ->
28
+ save $(this), dateTimeText, 'scrivito_editors:blur'
29
+
30
+ onSelect = (dateTimeText) ->
31
+ save $(this), dateTimeText
26
32
 
27
33
  $('body').on 'click', '[data-scrivito-field-type="date"]:not(.hasDatepicker):not([data-editor]), [data-editor~="date"]', (event) ->
28
34
  event.preventDefault()
@@ -35,7 +41,10 @@ $ ->
35
41
  dateFormat = cmsField.attr('data-date-format')
36
42
  timeFormat = cmsField.attr('data-time-format')
37
43
 
38
- options = onClose: save
44
+ options =
45
+ onClose: onClose
46
+ onSelect: onSelect
47
+
39
48
  options.dateFormat = dateFormat || 'yy-mm-dd'
40
49
  options.timeFormat = timeFormat if timeFormat
41
50
 
@@ -1,10 +1,16 @@
1
1
  scrivito.editors._file_dropzone = (fields, callback) -> fields.each(-> setup $(this), callback)
2
+
2
3
  setup = (el, callback) ->
3
- field = el.closest('[data-scrivito-field-name]')
4
- el.on 'dragenter', -> field.addClass('image-editor-dragover') and off
5
- el.on 'dragleave', -> field.removeClass('image-editor-dragover') and off
4
+ el.on 'dragenter', ->
5
+ el.children().not('img').css(pointerEvents: 'none')
6
+ el.addClass('image-editor-dragover') and off
7
+
8
+ el.on 'dragleave', ->
9
+ el.children().not('img').css(pointerEvents: 'auto')
10
+ el.removeClass('image-editor-dragover') and off
11
+
6
12
  el.on 'drop', (e) ->
7
- field.removeClass 'image-editor-dragover'
13
+ el.removeClass 'image-editor-dragover'
8
14
  if (files = e.originalEvent.dataTransfer?.files)?.length is 1
9
- callback field, files[0]
15
+ callback el, files[0]
10
16
  off
@@ -0,0 +1,6 @@
1
+ scrivito.editors._setup_binary_button_container = (element, container_class) ->
2
+ container = element.parent(".scrivito-editor-button-container")
3
+ if container.length
4
+ container.addClass(container_class)
5
+ else
6
+ element.wrap("<div class='#{container_class} scrivito-editor-button-container' />").parent()
@@ -97,6 +97,7 @@ $ ->
97
97
  cmsField = $(editor.$element)
98
98
  editor.core.destroy()
99
99
  cmsField.removeClass('scrivito_editors_redactor')
100
+ cmsField.trigger('scrivito_editors:blur')
100
101
 
101
102
  # Saves the current editor content to the CMS.
102
103
  saveContents = (editor) ->
@@ -3,7 +3,7 @@ scrivito.on 'content', (content) ->
3
3
  setup = (sel) -> scrivito.editors._file_dropzone $(content).find(sel), save
4
4
  setup 'img[data-scrivito-field-type=linklist]:not([data-editor])'
5
5
  setup 'img[data-scrivito-field-type=reference]:not([data-editor])'
6
- setup '[data-editor~=image]'
6
+ setup '[data-editor~=image_drop]'
7
7
 
8
8
  save = (field, file) ->
9
9
  createImage(file).then (obj) ->
@@ -0,0 +1,76 @@
1
+ scrivito.on 'content', (content) ->
2
+ return unless scrivito.in_editable_view()
3
+ $(content).find( '''
4
+ img[data-scrivito-field-type=binary]:not([data-editor]),
5
+ [data-editor~=image]
6
+ ''').each -> setup_edit_btn $(this)
7
+
8
+ setup_edit_btn = (element) ->
9
+ scrivito.editors._setup_binary_button_container(element, 'scrivito-editor-image-button-container')
10
+
11
+ if element.scrivito('content')
12
+ $("<a href='#' class='edit-image editing-button'>
13
+ <i class='editing-icon editing-icon-edit'></i></a>")
14
+ .insertBefore(element)
15
+ .click (event) ->
16
+ event.preventDefault()
17
+ open_image_editing_dialog(element)
18
+
19
+ open_image_editing_dialog = (element) ->
20
+ content = $("<div class='image_kit_start' />")
21
+ dialog = scrivito.dialog(content, open_image_editing_dialog_options())
22
+ setup_image_kit_container(element, dialog)
23
+
24
+ open_image_editing_dialog_options = ->
25
+ dialog_options =
26
+ color: "dark"
27
+ confirm:
28
+ title: "Confirm"
29
+ color: "green"
30
+ cancel:
31
+ title: "Cancel"
32
+ color: "lightgrey"
33
+
34
+ scrivito_imgly_asset_path_resolver = (path) ->
35
+ <%= ScrivitoEditors::Engine.imgly_assets { |file| image_path(file) }.to_json %>[path]
36
+
37
+ setup_image_kit = (image, container) ->
38
+ new ImglyKit(
39
+ renderer: "canvas"
40
+ assetsUrl: "imgly_sdk"
41
+ image: image
42
+ versionCheck: false
43
+ container: container[0]
44
+ ui:
45
+ enabled: true
46
+ assetPathResolver: scrivito_imgly_asset_path_resolver
47
+ )
48
+
49
+ setup_image_kit_container = (element, dialog) ->
50
+ container = $(".image_kit_start")
51
+ image = new Image()
52
+ url = element.scrivito("content").url
53
+
54
+ #workaround to prevent crossOrigin warnings in chrome and safari
55
+ if url.indexOf("?") < 0
56
+ url += "?" + new Date().getTime()
57
+ else
58
+ url += "&" + new Date().getTime()
59
+
60
+ #Order is important for CORS problem in browsers http://stackoverflow.com/a/18422548
61
+ image.crossOrigin = "Anonymous"
62
+ image.src = url
63
+
64
+ image.onload = ->
65
+ kit = setup_image_kit(image, container)
66
+ kit.ui.selectOperations(except: "stickers")
67
+ kit.run()
68
+ dialog.when_closed.then(=> save_edited_image(element, kit))
69
+
70
+ save_edited_image = (element, kit) ->
71
+ kit.render("blob", "image/jpeg").then (blob) ->
72
+ element.scrivito "save",
73
+ scrivito.upload_binary
74
+ blob: blob
75
+ filename: element.scrivito("content").filename
76
+ .then -> element.scrivito("reload")
@@ -0,0 +1,12 @@
1
+ $ ->
2
+ # Enable `data-reload=true` for automatic reload when an editor is done.
3
+ #
4
+ # For example:
5
+ # scrivito_tag(:div, @obj, :my_attribute, data: { reload: true })
6
+
7
+ selector = '[data-scrivito-field-type][data-reload=true]'
8
+
9
+ scrivito.on 'content', ->
10
+ if scrivito.in_editable_view()
11
+ $(':root').on 'scrivito_editors:blur', selector, (event) ->
12
+ $(this).scrivito("reload")
@@ -11,7 +11,7 @@ $ ->
11
11
  content = ui.value
12
12
  cmsField.scrivito('save', content).done ->
13
13
  cmsField.trigger('save.scrivito_editors')
14
- cmsField.scrivito('reload')
14
+ cmsField.trigger('scrivito_editors:blur')
15
15
 
16
16
  onSlide = (event, ui) ->
17
17
  cmsField = $(@).data('cmsField')
@@ -26,8 +26,7 @@ $ ->
26
26
  cmsField = $(event.currentTarget)
27
27
 
28
28
  save(cmsField).done ->
29
- if cmsField.attr('data-reload') == 'true'
30
- cmsField.scrivito('reload')
29
+ cmsField.trigger('scrivito_editors:blur')
31
30
 
32
31
  finishEditing(cmsField)
33
32
 
@@ -45,7 +44,11 @@ $ ->
45
44
  cleanUp(cmsField)
46
45
 
47
46
  clone = cmsFieldAndPastedContent(cmsField).clone()
48
- clone.find('div:not(:first,:has(br)),p:not(:first)').before('\n')
47
+ # Starting with empty element, entering 3 lines, per browser:
48
+ # Chrome: 1<div>2</div><div>3</div>
49
+ # IE: <p>1</p><p>2</p><p>3</p>
50
+ # Firefox: 1<br>2<br>3<br>
51
+ clone.find('div:not(:has(br)),p:not(:first)').before('\n')
49
52
  clone.find('br').replaceWith('\n')
50
53
  content = clone.text()
51
54
  clone.remove()
@@ -0,0 +1,13 @@
1
+ #= require jquery.caret
2
+ #= require jquery.tag-editor
3
+
4
+ scrivito.on 'content', (content) ->
5
+ if scrivito.in_editable_view()
6
+ $(content).find('''
7
+ [data-scrivito-field-type=stringlist]:not([data-editor]),
8
+ [data-editor~=stringlist]
9
+ ''').each ->
10
+ field = $(this)
11
+ field.tagEditor
12
+ initialTags: field.scrivito('content')
13
+ onChange: (field, editor, tags) -> field.scrivito('save', tags)
@@ -1,4 +1,6 @@
1
1
  //= require redactor
2
+ //= require canvas-to-blob
3
+ //= require imglykit
2
4
  //= require_self
3
5
  //= require_tree ./scrivito_editors
4
6
 
@@ -0,0 +1,1098 @@
1
+ /*!
2
+ * Copyright (c) 2013-2015 9elements GmbH
3
+ *
4
+ * Released under Attribution-NonCommercial 3.0 Unported
5
+ * http://creativecommons.org/licenses/by-nc/3.0/
6
+ *
7
+ * For commercial use, please contact us at contact@9elements.com
8
+ */
9
+ /*
10
+ * Copyright (c) 2013-2015 9elements GmbH
11
+ *
12
+ * Released under Attribution-NonCommercial 3.0 Unported
13
+ * http://creativecommons.org/licenses/by-nc/3.0/
14
+ *
15
+ * For commercial use, please contact us at contact@9elements.com
16
+ */
17
+ /*
18
+ * Copyright (c) 2013-2015 9elements GmbH
19
+ *
20
+ * Released under Attribution-NonCommercial 3.0 Unported
21
+ * http://creativecommons.org/licenses/by-nc/3.0/
22
+ *
23
+ * For commercial use, please contact us at contact@9elements.com
24
+ */
25
+ .imglykit {
26
+ -webkit-border-radius: 5px;
27
+ -moz-border-radius: 5px;
28
+ -ms-border-radius: 5px;
29
+ -o-border-radius: 5px;
30
+ border-radius: 5px;
31
+ -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
32
+ position: absolute;
33
+ width: 100%;
34
+ height: 100%;
35
+ background: #1E1E1E;
36
+ overflow: hidden;
37
+ text-align: left; }
38
+ .imglykit div, .imglykit span, .imglykit applet, .imglykit object, .imglykit iframe,
39
+ .imglykit h1, .imglykit h2, .imglykit h3, .imglykit h4, .imglykit h5, .imglykit h6, .imglykit p, .imglykit blockquote, .imglykit pre,
40
+ .imglykit a, .imglykit abbr, .imglykit acronym, .imglykit address, .imglykit big, .imglykit cite, .imglykit code,
41
+ .imglykit del, .imglykit dfn, .imglykit em, .imglykit img, .imglykit ins, .imglykit kbd, .imglykit q, .imglykit s, .imglykit samp,
42
+ .imglykit small, .imglykit strike, .imglykit strong, .imglykit sub, .imglykit sup, .imglykit tt, .imglykit var,
43
+ .imglykit b, .imglykit u, .imglykit i, .imglykit center,
44
+ .imglykit dl, .imglykit dt, .imglykit dd, .imglykit ol, .imglykit ul, .imglykit li,
45
+ .imglykit fieldset, .imglykit form, .imglykit label, .imglykit legend,
46
+ .imglykit table, .imglykit caption, .imglykit tbody, .imglykit tfoot, .imglykit thead, .imglykit tr, .imglykit th, .imglykit td,
47
+ .imglykit article, .imglykit aside, .imglykit canvas, .imglykit details, .imglykit embed,
48
+ .imglykit figure, .imglykit figcaption, .imglykit footer, .imglykit header, .imglykit hgroup,
49
+ .imglykit menu, .imglykit nav, .imglykit output, .imglykit ruby, .imglykit section, .imglykit summary,
50
+ .imglykit time, .imglykit mark, .imglykit audio, .imglykit video {
51
+ margin: 0;
52
+ padding: 0;
53
+ border: 0;
54
+ font: inherit;
55
+ font-size: 100%;
56
+ vertical-align: baseline; }
57
+ .imglykit table {
58
+ border-collapse: collapse;
59
+ border-spacing: 0; }
60
+ .imglykit caption, .imglykit th, .imglykit td {
61
+ text-align: left;
62
+ font-weight: normal;
63
+ vertical-align: middle; }
64
+ .imglykit q, .imglykit blockquote {
65
+ quotes: none; }
66
+ .imglykit q:before, .imglykit q:after, .imglykit blockquote:before, .imglykit blockquote:after {
67
+ content: "";
68
+ content: none; }
69
+ .imglykit a img {
70
+ border: none; }
71
+ .imglykit * {
72
+ box-sizing: border-box; }
73
+
74
+ .imglykit-float-left {
75
+ float: left; }
76
+
77
+ .imglykit-float-right {
78
+ float: right; }
79
+
80
+ .imglykit-container {
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ display: table;
85
+ width: 100%;
86
+ height: 100%;
87
+ table-layout: fixed; }
88
+
89
+ /*
90
+ * Copyright (c) 2013-2015 9elements GmbH
91
+ *
92
+ * Released under Attribution-NonCommercial 3.0 Unported
93
+ * http://creativecommons.org/licenses/by-nc/3.0/
94
+ *
95
+ * For commercial use, please contact us at contact@9elements.com
96
+ */
97
+ .imglykit-container .imglykit-canvas-container-row {
98
+ display: table-row; }
99
+
100
+ .imglykit-container .imglykit-canvas-container {
101
+ position: relative;
102
+ -webkit-border-radius: 5px;
103
+ -moz-border-radius: 5px;
104
+ -ms-border-radius: 5px;
105
+ -o-border-radius: 5px;
106
+ border-radius: 5px;
107
+ display: table-cell;
108
+ overflow: hidden; }
109
+
110
+ .imglykit-container .imglykit-canvas-inner-container {
111
+ position: relative; }
112
+ .imglykit-container .imglykit-canvas-inner-container canvas {
113
+ cursor: move; }
114
+ .imglykit-container .imglykit-canvas-inner-container .imglykit-canvas-controls {
115
+ position: absolute;
116
+ top: 0;
117
+ left: 0;
118
+ width: 100%;
119
+ height: 100%; }
120
+ .imglykit-container .imglykit-canvas-inner-container .imglykit-canvas-controls.imglykit-canvas-controls-disabled {
121
+ display: none; }
122
+
123
+ .imglykit-webcam-video {
124
+ width: 100px;
125
+ height: 100px; }
126
+
127
+ .imglykit-webcam-button {
128
+ -webkit-border-radius: 26.5px;
129
+ -moz-border-radius: 26.5px;
130
+ -ms-border-radius: 26.5px;
131
+ -o-border-radius: 26.5px;
132
+ border-radius: 26.5px;
133
+ margin: 15px auto 0 !important;
134
+ width: 110px;
135
+ height: 53px;
136
+ padding-top: 7px !important;
137
+ background: #43ADEB;
138
+ cursor: pointer; }
139
+ .imglykit-webcam-button img {
140
+ margin: auto;
141
+ width: 39px !important;
142
+ height: 39px !important; }
143
+
144
+ /*
145
+ * Copyright (c) 2013-2015 9elements GmbH
146
+ *
147
+ * Released under Attribution-NonCommercial 3.0 Unported
148
+ * http://creativecommons.org/licenses/by-nc/3.0/
149
+ *
150
+ * For commercial use, please contact us at contact@9elements.com
151
+ */
152
+ .imglykit-container .imglykit-splash-container {
153
+ display: table;
154
+ width: 100%;
155
+ height: 100%;
156
+ padding: 30px;
157
+ table-layout: fixed; }
158
+ .imglykit-container .imglykit-splash-container.imglykit-header-padding {
159
+ padding-top: 100px; }
160
+ .imglykit-container .imglykit-splash-container .imglykit-splash-cell {
161
+ -webkit-border-radius: 5px;
162
+ -moz-border-radius: 5px;
163
+ -ms-border-radius: 5px;
164
+ -o-border-radius: 5px;
165
+ border-radius: 5px;
166
+ display: table-cell; }
167
+ .imglykit-container .imglykit-splash-container .imglykit-splash-button {
168
+ -webkit-border-radius: 5px;
169
+ -moz-border-radius: 5px;
170
+ -ms-border-radius: 5px;
171
+ -o-border-radius: 5px;
172
+ border-radius: 5px;
173
+ display: inline-block;
174
+ margin-bottom: 10px;
175
+ padding: 0 15px;
176
+ background: #43ADEB;
177
+ font-family: Helvetica, Arial, sans-serif;
178
+ font-size: 18px;
179
+ line-height: 38px;
180
+ font-weight: bold;
181
+ color: white; }
182
+ .imglykit-container .imglykit-splash-container .imglykit-splash-or {
183
+ display: table;
184
+ table-layout: fixed;
185
+ width: 100%;
186
+ height: 30px; }
187
+ .imglykit-container .imglykit-splash-container .imglykit-splash-or-line {
188
+ position: relative;
189
+ display: table-cell; }
190
+ .imglykit-container .imglykit-splash-container .imglykit-splash-or-line:before {
191
+ position: absolute;
192
+ top: 50%;
193
+ left: 0;
194
+ display: block;
195
+ border-top: 1px solid rgba(255, 255, 255, 0.2);
196
+ width: 100%;
197
+ height: 1px;
198
+ content: ''; }
199
+ .imglykit-container .imglykit-splash-container .imglykit-splash-or-word {
200
+ display: table-cell;
201
+ vertical-align: middle;
202
+ width: 30px;
203
+ font-family: Helvetica, Arial, sans-serif;
204
+ font-size: 12px;
205
+ color: rgba(255, 255, 255, 0.2); }
206
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row, .imglykit-container .imglykit-splash-container .imglykit-splash-cell {
207
+ width: 100%;
208
+ text-align: center;
209
+ vertical-align: middle; }
210
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row .imglykit-splash-cell, .imglykit-container .imglykit-splash-container .imglykit-splash-cell .imglykit-splash-cell {
211
+ padding: 10px; }
212
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row {
213
+ display: table-row;
214
+ cursor: pointer; }
215
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row--upload, .imglykit-container .imglykit-splash-container .imglykit-splash-row--camera {
216
+ height: 45%; }
217
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row .imglykit-splash-content {
218
+ margin: auto;
219
+ margin-top: 10px;
220
+ width: 250px;
221
+ font-family: Helvetica, Arial, Verdana; }
222
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row .imglykit-splash-content h1 {
223
+ margin-bottom: 5px;
224
+ font-size: 20px;
225
+ font-weight: bold;
226
+ color: white; }
227
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row .imglykit-splash-content .imglykit-splash-text {
228
+ font-size: 14px;
229
+ color: rgba(255, 255, 255, 0.2); }
230
+ .imglykit-container .imglykit-splash-container .imglykit-splash-row .imglykit-upload-hidden-input {
231
+ position: absolute;
232
+ top: 0;
233
+ left: 0;
234
+ visibility: hidden;
235
+ width: 0;
236
+ height: 0; }
237
+
238
+ /*
239
+ * Copyright (c) 2013-2015 9elements GmbH
240
+ *
241
+ * Released under Attribution-NonCommercial 3.0 Unported
242
+ * http://creativecommons.org/licenses/by-nc/3.0/
243
+ *
244
+ * For commercial use, please contact us at contact@9elements.com
245
+ */
246
+ .imglykit-container .imglykit-header-row {
247
+ display: table-row;
248
+ height: 30px; }
249
+
250
+ .imglykit-container .imglykit-header {
251
+ display: table-cell;
252
+ background: #1A1A1A;
253
+ text-align: center;
254
+ color: white;
255
+ font: bold 11px Helvetica, Arial, sans-serif;
256
+ line-height: 30px;
257
+ position: absolute;
258
+ top: 0;
259
+ left: 0;
260
+ width: 100%;
261
+ height: 30px;
262
+ z-index: 2; }
263
+ .imglykit-container .imglykit-header .imglykit-close-button {
264
+ position: absolute;
265
+ top: 0;
266
+ right: 0;
267
+ cursor: pointer;
268
+ margin-right: 10px; }
269
+ .imglykit-container .imglykit-header .imglykit-close-button img {
270
+ vertical-align: middle; }
271
+
272
+ /*
273
+ * Copyright (c) 2013-2015 9elements GmbH
274
+ *
275
+ * Released under Attribution-NonCommercial 3.0 Unported
276
+ * http://creativecommons.org/licenses/by-nc/3.0/
277
+ *
278
+ * For commercial use, please contact us at contact@9elements.com
279
+ */
280
+ .imglykit-container .imglykit-top-controls-row {
281
+ display: table-row; }
282
+
283
+ .imglykit-container .imglykit-top-controls {
284
+ -webkit-user-select: none;
285
+ -moz-user-select: none;
286
+ user-select: none;
287
+ display: table-cell;
288
+ width: 100%;
289
+ height: 40px;
290
+ color: white;
291
+ font-family: Helvetica, Arial, sans-serif;
292
+ font-size: 16px;
293
+ padding: 0 20px;
294
+ z-index: 2;
295
+ background: #2B2B2B; }
296
+ .imglykit-container .imglykit-top-controls > * * {
297
+ display: inline-block; }
298
+ .imglykit-container .imglykit-top-controls, .imglykit-container .imglykit-top-controls * {
299
+ line-height: 30px; }
300
+ .imglykit-container .imglykit-top-controls.imglykit-header-padding {
301
+ top: 30px; }
302
+
303
+ .imglykit-container .imglykit-top-controls-left, .imglykit-container .imglykit-top-controls-right {
304
+ padding-top: 5px; }
305
+
306
+ .imglykit-container .imglykit-top-controls-left {
307
+ float: left; }
308
+
309
+ .imglykit-container .imglykit-top-controls-right {
310
+ float: right;
311
+ display: none; }
312
+ .imglykit-container .imglykit-top-controls-right .imglykit-zoom-in, .imglykit-container .imglykit-top-controls-right .imglykit-zoom-out {
313
+ padding: 0 15px;
314
+ cursor: pointer;
315
+ border-left: 1px solid #363636; }
316
+ .imglykit-container .imglykit-top-controls-right .imglykit-zoom-in img, .imglykit-container .imglykit-top-controls-right .imglykit-zoom-out img {
317
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
318
+ opacity: 0.4;
319
+ vertical-align: middle; }
320
+ .imglykit-container .imglykit-top-controls-right .imglykit-zoom-in:hover img, .imglykit-container .imglykit-top-controls-right .imglykit-zoom-out:hover img {
321
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
322
+ opacity: 1; }
323
+ .imglykit-container .imglykit-top-controls-right .imglykit-zoom-out {
324
+ padding-right: 0; }
325
+ .imglykit-container .imglykit-top-controls-right .imglykit-zoom-level {
326
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
327
+ opacity: 0.4;
328
+ padding: 0 10px; }
329
+
330
+ .imglykit-container .imglykit-undo {
331
+ cursor: pointer;
332
+ border-right: 1px solid #363636;
333
+ color: rgba(255, 255, 255, 0.4);
334
+ padding: 0 10px;
335
+ display: none; }
336
+ .imglykit-container .imglykit-undo img {
337
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
338
+ opacity: 0.4;
339
+ margin-right: 5px;
340
+ vertical-align: middle; }
341
+
342
+ .imglykit-container .imglykit-export {
343
+ cursor: pointer;
344
+ border-right: 1px solid #363636;
345
+ color: rgba(255, 255, 255, 0.4);
346
+ padding: 0 10px;
347
+ display: none; }
348
+ .imglykit-container .imglykit-export img {
349
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
350
+ opacity: 0.4;
351
+ margin-right: 5px;
352
+ vertical-align: middle; }
353
+
354
+ .imglykit-container .imglykit-new {
355
+ cursor: pointer;
356
+ border-right: 1px solid #363636;
357
+ color: rgba(255, 255, 255, 0.4);
358
+ padding-right: 10px; }
359
+ .imglykit-container .imglykit-new img {
360
+ margin-right: 5px;
361
+ vertical-align: middle; }
362
+
363
+ /*
364
+ * Copyright (c) 2013-2015 9elements GmbH
365
+ *
366
+ * Released under Attribution-NonCommercial 3.0 Unported
367
+ * http://creativecommons.org/licenses/by-nc/3.0/
368
+ *
369
+ * For commercial use, please contact us at contact@9elements.com
370
+ */
371
+ /*
372
+ * Copyright (c) 2013-2015 9elements GmbH
373
+ *
374
+ * Released under Attribution-NonCommercial 3.0 Unported
375
+ * http://creativecommons.org/licenses/by-nc/3.0/
376
+ *
377
+ * For commercial use, please contact us at contact@9elements.com
378
+ */
379
+ .imglykit-container .imglykit-knob {
380
+ -webkit-border-radius: 50%;
381
+ -moz-border-radius: 50%;
382
+ -ms-border-radius: 50%;
383
+ -o-border-radius: 50%;
384
+ border-radius: 50%;
385
+ position: absolute;
386
+ background: white;
387
+ width: 20px;
388
+ height: 20px;
389
+ border: 2px solid rgba(0, 0, 0, 0.3);
390
+ cursor: pointer; }
391
+
392
+ /*
393
+ * Copyright (c) 2013-2015 9elements GmbH
394
+ *
395
+ * Released under Attribution-NonCommercial 3.0 Unported
396
+ * http://creativecommons.org/licenses/by-nc/3.0/
397
+ *
398
+ * For commercial use, please contact us at contact@9elements.com
399
+ */
400
+ .imglykit-container .imglykit-crosshair {
401
+ width: 34px;
402
+ height: 34px;
403
+ cursor: pointer;
404
+ float: left; }
405
+
406
+ /*
407
+ * Copyright (c) 2013-2015 9elements GmbH
408
+ *
409
+ * Released under Attribution-NonCommercial 3.0 Unported
410
+ * http://creativecommons.org/licenses/by-nc/3.0/
411
+ *
412
+ * For commercial use, please contact us at contact@9elements.com
413
+ */
414
+ .imglykit-container .imglykit-transparent-knob {
415
+ -webkit-border-radius: 50%;
416
+ -moz-border-radius: 50%;
417
+ -ms-border-radius: 50%;
418
+ -o-border-radius: 50%;
419
+ border-radius: 50%;
420
+ -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
421
+ -moz-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
422
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
423
+ position: absolute;
424
+ width: 20px;
425
+ height: 20px;
426
+ border: 2px solid rgba(0, 0, 0, 0.5);
427
+ margin-top: -10px;
428
+ margin-left: -10px;
429
+ cursor: pointer; }
430
+
431
+ /*
432
+ * Copyright (c) 2013-2015 9elements GmbH
433
+ *
434
+ * Released under Attribution-NonCommercial 3.0 Unported
435
+ * http://creativecommons.org/licenses/by-nc/3.0/
436
+ *
437
+ * For commercial use, please contact us at contact@9elements.com
438
+ */
439
+ .imglykit .imglykit-loadingOverlay {
440
+ position: absolute;
441
+ z-index: 3;
442
+ top: 0;
443
+ left: 0;
444
+ display: none;
445
+ width: 100%;
446
+ height: 100%;
447
+ background: rgba(30, 30, 30, 0.9); }
448
+
449
+ .imglykit .imglykit-loadingOverlay-content {
450
+ position: absolute;
451
+ top: 50%;
452
+ left: 50%;
453
+ margin-top: -40px;
454
+ margin-left: -75px;
455
+ border-radius: 5px;
456
+ width: 150px;
457
+ height: 70px;
458
+ padding: 10px;
459
+ background: #1E1E1E; }
460
+ .imglykit .imglykit-loadingOverlay-content img {
461
+ display: block;
462
+ margin: auto;
463
+ margin-bottom: 10px; }
464
+ .imglykit .imglykit-loadingOverlay-content span {
465
+ display: block;
466
+ font: bold 11px Helvetica, Arial, sans-serif;
467
+ text-align: center;
468
+ color: white; }
469
+
470
+ /*
471
+ * Copyright (c) 2013-2015 9elements GmbH
472
+ *
473
+ * Released under Attribution-NonCommercial 3.0 Unported
474
+ * http://creativecommons.org/licenses/by-nc/3.0/
475
+ *
476
+ * For commercial use, please contact us at contact@9elements.com
477
+ */
478
+ .imglykit-container .imglykit-controls-row {
479
+ display: table-row; }
480
+
481
+ .imglykit-container .imglykit-controls-container {
482
+ -webkit-user-select: none;
483
+ -moz-user-select: none;
484
+ user-select: none;
485
+ display: table-cell;
486
+ width: 100%;
487
+ height: 80px;
488
+ background: #2B2B2B; }
489
+
490
+ .imglykit-container .imglykit-controls {
491
+ width: 100%;
492
+ text-align: center;
493
+ height: 80px; }
494
+ .imglykit-container .imglykit-controls > div:not(.imglykit-scrollbar-background) > * {
495
+ width: 100%;
496
+ display: table;
497
+ table-layout: fixed; }
498
+ .imglykit-container .imglykit-controls > div:not(.imglykit-scrollbar-background) > * > * {
499
+ display: table-cell;
500
+ vertical-align: top; }
501
+ .imglykit-container .imglykit-controls .imglykit-controls-list-container {
502
+ overflow: hidden;
503
+ height: 80px; }
504
+ .imglykit-container .imglykit-controls .imglykit-controls-list {
505
+ position: absolute;
506
+ width: 100%;
507
+ overflow: hidden;
508
+ overflow-x: auto;
509
+ text-align: center;
510
+ white-space: nowrap;
511
+ height: 80px;
512
+ font-size: 0; }
513
+ .imglykit-container .imglykit-controls li {
514
+ -webkit-transition: background-color 0.2s ease-out;
515
+ -moz-transition: background-color 0.2s ease-out false;
516
+ -o-transition: background-color 0.2s ease-out false;
517
+ transition: background-color 0.2s ease-out;
518
+ display: inline-block;
519
+ position: relative;
520
+ width: 80px;
521
+ height: 80px;
522
+ cursor: pointer;
523
+ line-height: 80px;
524
+ border-left: 1px solid #363636; }
525
+ .imglykit-container .imglykit-controls li:last-child {
526
+ border-right: 1px solid #363636; }
527
+ .imglykit-container .imglykit-controls li.imglykit-controls-item--with-label:hover img {
528
+ margin-bottom: 20px; }
529
+ .imglykit-container .imglykit-controls li img {
530
+ -webkit-transition: all 0.2s ease-out;
531
+ -moz-transition: all 0.2s ease-out false;
532
+ -o-transition: all 0.2s ease-out false;
533
+ transition: all 0.2s ease-out;
534
+ width: 40px;
535
+ vertical-align: middle; }
536
+ .imglykit-container .imglykit-controls li.imglykit-controls-item-active {
537
+ background: rgba(0, 0, 0, 0.3); }
538
+ .imglykit-container .imglykit-controls li .imglykit-controls-label {
539
+ -webkit-transition: all 0.2s ease-out;
540
+ -moz-transition: all 0.2s ease-out false;
541
+ -o-transition: all 0.2s ease-out false;
542
+ transition: all 0.2s ease-out;
543
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
544
+ opacity: 0;
545
+ position: absolute;
546
+ bottom: -20px;
547
+ width: 100%;
548
+ color: white;
549
+ font: bold 10px Helvetica, Arial, sans-serif;
550
+ text-align: center; }
551
+ .imglykit-container .imglykit-controls li:hover .imglykit-controls-label {
552
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
553
+ opacity: 1;
554
+ bottom: 13px; }
555
+ .imglykit-container .imglykit-controls .imglykit-controls-item-label {
556
+ color: white;
557
+ font-size: 10px;
558
+ font-family: Helvetica, Arial, sans-serif;
559
+ font-weight: bold;
560
+ margin-top: 10px; }
561
+ .imglykit-container .imglykit-controls .imglykit-controls-icon {
562
+ width: 80px;
563
+ height: 80px;
564
+ line-height: 80px;
565
+ font-size: 0; }
566
+ .imglykit-container .imglykit-controls .imglykit-controls-icon img {
567
+ vertical-align: middle; }
568
+ .imglykit-container .imglykit-controls .imglykit-controls-item-canvas {
569
+ display: inline-block;
570
+ width: 42px;
571
+ height: 50px;
572
+ vertical-align: middle; }
573
+ .imglykit-container .imglykit-controls li[data-disabled] {
574
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);
575
+ opacity: 0.2; }
576
+ .imglykit-container .imglykit-controls li:hover:not([data-disabled]), .imglykit-container .imglykit-controls .imglykit-controls-button:hover:not([data-disabled]) {
577
+ -webkit-box-shadow: 0 -3px 0 0 #43ADEB inset;
578
+ -moz-box-shadow: 0 -3px 0 0 #43ADEB inset;
579
+ box-shadow: 0 -3px 0 0 #43ADEB inset;
580
+ background-color: rgba(0, 0, 0, 0.3); }
581
+ .imglykit-container .imglykit-controls li:hover:not([data-disabled]) img, .imglykit-container .imglykit-controls .imglykit-controls-button:hover:not([data-disabled]) img {
582
+ -webkit-transform: scale(1.1);
583
+ -moz-transform: scale(1.1);
584
+ -ms-transform: scale(1.1);
585
+ -o-transform: scale(1.1);
586
+ transform: scale(1.1); }
587
+ .imglykit-container .imglykit-controls .imglykit-controls-button {
588
+ -webkit-transition: background-color 0.2s ease-out;
589
+ -moz-transition: background-color 0.2s ease-out false;
590
+ -o-transition: background-color 0.2s ease-out false;
591
+ transition: background-color 0.2s ease-out;
592
+ width: 80px;
593
+ height: 80px;
594
+ line-height: 80px;
595
+ font-size: 0;
596
+ cursor: pointer;
597
+ position: relative; }
598
+ .imglykit-container .imglykit-controls .imglykit-controls-button:first-child {
599
+ border-right: 1px solid #363636; }
600
+ .imglykit-container .imglykit-controls .imglykit-controls-button:last-child {
601
+ border-left: 1px solid #363636; }
602
+ .imglykit-container .imglykit-controls .imglykit-controls-button img {
603
+ vertical-align: middle;
604
+ width: 40px;
605
+ -webkit-transition: all 0.2s ease-out;
606
+ -moz-transition: all 0.2s ease-out false;
607
+ -o-transition: all 0.2s ease-out false;
608
+ transition: all 0.2s ease-out; }
609
+ .imglykit-container .imglykit-controls .imglykit-controls-done .imglykit-controls-done-highlighted {
610
+ display: none;
611
+ position: absolute;
612
+ top: 0;
613
+ left: 0;
614
+ width: 80px;
615
+ height: 80px;
616
+ line-height: 80px; }
617
+ .imglykit-container .imglykit-controls .imglykit-controls-done.highlighted > img {
618
+ display: none; }
619
+ .imglykit-container .imglykit-controls .imglykit-controls-done.highlighted .imglykit-controls-done-highlighted {
620
+ display: block; }
621
+
622
+ /*
623
+ * Copyright (c) 2013-2015 9elements GmbH
624
+ *
625
+ * Released under Attribution-NonCommercial 3.0 Unported
626
+ * http://creativecommons.org/licenses/by-nc/3.0/
627
+ *
628
+ * For commercial use, please contact us at contact@9elements.com
629
+ */
630
+ .imglykit-container .imglykit-controls-overview ul.imglykit-controls-list {
631
+ display: block; }
632
+
633
+ /*
634
+ * Copyright (c) 2013-2015 9elements GmbH
635
+ *
636
+ * Released under Attribution-NonCommercial 3.0 Unported
637
+ * http://creativecommons.org/licenses/by-nc/3.0/
638
+ *
639
+ * For commercial use, please contact us at contact@9elements.com
640
+ */
641
+ .imglykit-container .imglykit-controls-filters ul.imglykit-controls-list li {
642
+ line-height: normal; }
643
+ .imglykit-container .imglykit-controls-filters ul.imglykit-controls-list li img {
644
+ width: 40px;
645
+ height: 40px;
646
+ margin-top: 10px; }
647
+
648
+ /*
649
+ * Copyright (c) 2013-2015 9elements GmbH
650
+ *
651
+ * Released under Attribution-NonCommercial 3.0 Unported
652
+ * http://creativecommons.org/licenses/by-nc/3.0/
653
+ *
654
+ * For commercial use, please contact us at contact@9elements.com
655
+ */
656
+ .imglykit-container .imglykit-controls-stickers ul.imglykit-controls-list li {
657
+ background-size: 42px;
658
+ background-repeat: no-repeat;
659
+ background-position: center center; }
660
+
661
+ /*
662
+ * Copyright (c) 2013-2015 9elements GmbH
663
+ *
664
+ * Released under Attribution-NonCommercial 3.0 Unported
665
+ * http://creativecommons.org/licenses/by-nc/3.0/
666
+ *
667
+ * For commercial use, please contact us at contact@9elements.com
668
+ */
669
+ .imglykit-container .imglykit-canvas-stickers-container {
670
+ position: absolute;
671
+ top: 0;
672
+ left: 0;
673
+ width: 100%;
674
+ height: 100%;
675
+ overflow: hidden; }
676
+ .imglykit-container .imglykit-canvas-stickers-container .imglykit-canvas-stickers {
677
+ position: relative;
678
+ display: inline-block;
679
+ cursor: move; }
680
+ .imglykit-container .imglykit-canvas-stickers-container .imglykit-canvas-stickers .imglykit-knob {
681
+ bottom: 0;
682
+ right: 0; }
683
+
684
+ /*
685
+ * Copyright (c) 2013-2015 9elements GmbH
686
+ *
687
+ * Released under Attribution-NonCommercial 3.0 Unported
688
+ * http://creativecommons.org/licenses/by-nc/3.0/
689
+ *
690
+ * For commercial use, please contact us at contact@9elements.com
691
+ */
692
+ .imglykit-container .imglykit-controls-text ul.imglykit-controls-list li {
693
+ color: white;
694
+ font-size: 32px;
695
+ line-height: 80px; }
696
+
697
+ /*
698
+ * Copyright (c) 2013-2015 9elements GmbH
699
+ *
700
+ * Released under Attribution-NonCommercial 3.0 Unported
701
+ * http://creativecommons.org/licenses/by-nc/3.0/
702
+ *
703
+ * For commercial use, please contact us at contact@9elements.com
704
+ */
705
+ .imglykit-container .imglykit-canvas-text-container {
706
+ position: absolute;
707
+ top: 0;
708
+ left: 0;
709
+ width: 100%;
710
+ height: 100%; }
711
+ .imglykit-container .imglykit-canvas-text-container .imglykit-canvas-text {
712
+ position: relative;
713
+ display: inline-block; }
714
+ .imglykit-container .imglykit-canvas-text-container .imglykit-canvas-text .imglykit-crosshair {
715
+ position: absolute;
716
+ width: 34px;
717
+ height: 34px;
718
+ left: -34px; }
719
+ .imglykit-container .imglykit-canvas-text-container .imglykit-canvas-text .imglykit-canvas-text-textarea {
720
+ position: relative;
721
+ display: inline-block; }
722
+ .imglykit-container .imglykit-canvas-text-container .imglykit-canvas-text .imglykit-canvas-text-textarea textarea {
723
+ background: transparent;
724
+ border: 2px solid white;
725
+ resize: none;
726
+ padding: 0; }
727
+ .imglykit-container .imglykit-canvas-text-container .imglykit-canvas-text .imglykit-canvas-text-textarea .imglykit-knob {
728
+ bottom: -2px;
729
+ right: -8px; }
730
+
731
+ /*
732
+ * Copyright (c) 2013-2015 9elements GmbH
733
+ *
734
+ * Released under Attribution-NonCommercial 3.0 Unported
735
+ * http://creativecommons.org/licenses/by-nc/3.0/
736
+ *
737
+ * For commercial use, please contact us at contact@9elements.com
738
+ */
739
+ .imglykit-container .imglykit-slider {
740
+ display: table;
741
+ table-layout: fixed;
742
+ width: 100%;
743
+ height: 80px;
744
+ line-height: 80px; }
745
+ .imglykit-container .imglykit-slider > * {
746
+ display: table-cell; }
747
+ .imglykit-container .imglykit-slider .imglykit-slider-content {
748
+ position: absolute;
749
+ top: 38px;
750
+ width: 100%; }
751
+ .imglykit-container .imglykit-slider .imglykit-slider-minus, .imglykit-container .imglykit-slider .imglykit-slider-plus {
752
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);
753
+ opacity: 0.2;
754
+ color: white;
755
+ font-size: 12px;
756
+ width: 40px;
757
+ text-align: center; }
758
+ .imglykit-container .imglykit-slider .imglykit-slider-slider {
759
+ width: auto;
760
+ position: relative;
761
+ z-index: 1; }
762
+ .imglykit-container .imglykit-slider .imglykit-slider-slider .imglykit-slider-background, .imglykit-container .imglykit-slider .imglykit-slider-slider .imglykit-slider-fill {
763
+ -webkit-border-radius: 6px;
764
+ -moz-border-radius: 6px;
765
+ -ms-border-radius: 6px;
766
+ -o-border-radius: 6px;
767
+ border-radius: 6px;
768
+ background: #1A1A1A;
769
+ height: 12px;
770
+ top: 50%;
771
+ margin-top: -8px;
772
+ cursor: pointer; }
773
+ .imglykit-container .imglykit-slider .imglykit-slider-slider .imglykit-slider-fill {
774
+ position: absolute;
775
+ background: #43ADEB; }
776
+ .imglykit-container .imglykit-slider .imglykit-slider-slider .imglykit-slider-center-dot {
777
+ -webkit-border-radius: 50%;
778
+ -moz-border-radius: 50%;
779
+ -ms-border-radius: 50%;
780
+ -o-border-radius: 50%;
781
+ border-radius: 50%;
782
+ width: 24px;
783
+ height: 24px;
784
+ background: #43ADEB;
785
+ position: absolute;
786
+ left: 50%;
787
+ top: 50%;
788
+ cursor: pointer;
789
+ margin: -14px 0 0 -12px; }
790
+ .imglykit-container .imglykit-slider .imglykit-slider-slider .imglykit-slider-dot {
791
+ -webkit-border-radius: 50%;
792
+ -moz-border-radius: 50%;
793
+ -ms-border-radius: 50%;
794
+ -o-border-radius: 50%;
795
+ border-radius: 50%;
796
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
797
+ -moz-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
798
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
799
+ width: 30px;
800
+ height: 30px;
801
+ background: white;
802
+ position: absolute;
803
+ left: 50%;
804
+ top: 50%;
805
+ margin: -17px 0 0 -15px;
806
+ cursor: pointer; }
807
+
808
+ /*
809
+ * Copyright (c) 2013-2015 9elements GmbH
810
+ *
811
+ * Released under Attribution-NonCommercial 3.0 Unported
812
+ * http://creativecommons.org/licenses/by-nc/3.0/
813
+ *
814
+ * For commercial use, please contact us at contact@9elements.com
815
+ */
816
+ .imglykit-container .imglykit-color-picker {
817
+ position: relative;
818
+ border-left: 1px solid #363636;
819
+ height: 80px; }
820
+ .imglykit-container .imglykit-color-picker .imglykit-color-picker-color {
821
+ -webkit-border-radius: 3px;
822
+ -moz-border-radius: 3px;
823
+ -ms-border-radius: 3px;
824
+ -o-border-radius: 3px;
825
+ border-radius: 3px;
826
+ background: black;
827
+ margin-top: 15px; }
828
+ .imglykit-container .imglykit-color-picker .imglykit-controls-item-label {
829
+ position: absolute;
830
+ line-height: 11px;
831
+ width: 100%;
832
+ bottom: 10px;
833
+ left: 0; }
834
+ .imglykit-container .imglykit-color-picker .imglykit-transparent-knob {
835
+ pointer-events: none; }
836
+ .imglykit-container .imglykit-color-picker canvas {
837
+ cursor: pointer; }
838
+
839
+ .imglykit-container .imglykit-color-picker-overlay {
840
+ position: absolute;
841
+ cursor: default;
842
+ background: #353535;
843
+ width: 240px;
844
+ height: 240px;
845
+ padding: 20px;
846
+ bottom: 115px;
847
+ right: -80px;
848
+ position: absolute;
849
+ border-color: #353535;
850
+ display: none; }
851
+ .imglykit-container .imglykit-color-picker-overlay:before {
852
+ position: absolute;
853
+ content: "";
854
+ width: 0;
855
+ height: 0;
856
+ border-color: #353535;
857
+ top: 100%;
858
+ left: 50%;
859
+ margin-top: -1px;
860
+ margin-left: -15px;
861
+ border-left: 15px solid transparent;
862
+ border-right: 15px solid transparent;
863
+ border-top: 15px solid #353535;
864
+ border-top-color: inherit; }
865
+ .imglykit-container .imglykit-color-picker-overlay.imglykit-visible {
866
+ display: block; }
867
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-alpha-container {
868
+ width: 200px;
869
+ height: 30px;
870
+ position: relative;
871
+ margin-bottom: 10px; }
872
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-alpha-container canvas {
873
+ background: black;
874
+ position: absolute;
875
+ left: 0;
876
+ top: 0; }
877
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-alpha-container .imglykit-transparent-knob {
878
+ top: 50%; }
879
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-hue-container {
880
+ width: 30px;
881
+ height: 160px;
882
+ position: relative;
883
+ float: left; }
884
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-hue-container canvas {
885
+ background: black;
886
+ position: absolute;
887
+ top: 0;
888
+ left: 0; }
889
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-hue-container .imglykit-transparent-knob {
890
+ left: 50%; }
891
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-saturation-container {
892
+ width: 160px;
893
+ height: 160px;
894
+ position: relative;
895
+ float: left;
896
+ margin-right: 10px; }
897
+ .imglykit-container .imglykit-color-picker-overlay .imglykit-color-picker-saturation-container canvas {
898
+ background: black;
899
+ position: absolute;
900
+ top: 0;
901
+ left: 0; }
902
+
903
+ /*
904
+ * Copyright (c) 2013-2015 9elements GmbH
905
+ *
906
+ * Released under Attribution-NonCommercial 3.0 Unported
907
+ * http://creativecommons.org/licenses/by-nc/3.0/
908
+ *
909
+ * For commercial use, please contact us at contact@9elements.com
910
+ */
911
+ .imglykit-container .imglykit-canvas-crop-container {
912
+ position: absolute;
913
+ top: 0;
914
+ left: 0;
915
+ width: 100%;
916
+ height: 100%;
917
+ display: table;
918
+ table-layout: fixed; }
919
+ .imglykit-container .imglykit-canvas-crop-container.imglykit-canvas-crop-container-hidden {
920
+ display: none; }
921
+ .imglykit-container .imglykit-canvas-crop-container > * {
922
+ display: table-row; }
923
+ .imglykit-container .imglykit-canvas-crop-container > * > * {
924
+ display: table-cell;
925
+ background: rgba(34, 34, 34, 0.9); }
926
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-center-center {
927
+ position: relative;
928
+ background: transparent;
929
+ cursor: move;
930
+ border: 1px solid white; }
931
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-center-center.imglykit-canvas-crop-center-center-nomove {
932
+ cursor: auto; }
933
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-knobs {
934
+ position: absolute;
935
+ top: 0;
936
+ left: 0;
937
+ width: 100%;
938
+ height: 100%; }
939
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-knobs > * {
940
+ -webkit-border-radius: 50%;
941
+ -moz-border-radius: 50%;
942
+ -ms-border-radius: 50%;
943
+ -o-border-radius: 50%;
944
+ border-radius: 50%;
945
+ position: absolute;
946
+ background: white;
947
+ width: 20px;
948
+ height: 20px;
949
+ border: 2px solid rgba(0, 0, 0, 0.3);
950
+ cursor: pointer; }
951
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-knobs [data-corner=top-left] {
952
+ top: -10px;
953
+ left: -10px; }
954
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-knobs [data-corner=top-right] {
955
+ top: -10px;
956
+ right: -10px; }
957
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-knobs [data-corner=bottom-left] {
958
+ bottom: -10px;
959
+ left: -10px; }
960
+ .imglykit-container .imglykit-canvas-crop-container .imglykit-canvas-crop-knobs [data-corner=bottom-right] {
961
+ bottom: -10px;
962
+ right: -10px; }
963
+
964
+ /*
965
+ * Copyright (c) 2013-2015 9elements GmbH
966
+ *
967
+ * Released under Attribution-NonCommercial 3.0 Unported
968
+ * http://creativecommons.org/licenses/by-nc/3.0/
969
+ *
970
+ * For commercial use, please contact us at contact@9elements.com
971
+ */
972
+ .imglykit-container .imglykit-canvas-radial-blur-container {
973
+ position: absolute;
974
+ top: 0;
975
+ left: 0;
976
+ width: 100%;
977
+ height: 100%; }
978
+ .imglykit-container .imglykit-canvas-radial-blur-container .imglykit-canvas-radial-blur-dot {
979
+ -webkit-border-radius: 50%;
980
+ -moz-border-radius: 50%;
981
+ -ms-border-radius: 50%;
982
+ -o-border-radius: 50%;
983
+ border-radius: 50%;
984
+ position: absolute;
985
+ background: white;
986
+ width: 20px;
987
+ height: 20px;
988
+ border: 2px solid rgba(0, 0, 0, 0.3);
989
+ cursor: pointer;
990
+ margin-left: -10px;
991
+ margin-top: -10px; }
992
+ .imglykit-container .imglykit-canvas-radial-blur-container .imglykit-canvas-radial-blur-circle-container {
993
+ position: absolute;
994
+ top: 0;
995
+ left: 0;
996
+ width: 100%;
997
+ height: 100%;
998
+ pointer-events: none;
999
+ overflow: hidden; }
1000
+ .imglykit-container .imglykit-canvas-radial-blur-container .imglykit-canvas-radial-blur-circle {
1001
+ -webkit-border-radius: 50%;
1002
+ -moz-border-radius: 50%;
1003
+ -ms-border-radius: 50%;
1004
+ -o-border-radius: 50%;
1005
+ border-radius: 50%;
1006
+ border: 2px solid white;
1007
+ position: absolute;
1008
+ top: 0;
1009
+ left: 0;
1010
+ width: 100px;
1011
+ height: 100px;
1012
+ pointer-events: none; }
1013
+
1014
+ /*
1015
+ * Copyright (c) 2013-2015 9elements GmbH
1016
+ *
1017
+ * Released under Attribution-NonCommercial 3.0 Unported
1018
+ * http://creativecommons.org/licenses/by-nc/3.0/
1019
+ *
1020
+ * For commercial use, please contact us at contact@9elements.com
1021
+ */
1022
+ .imglykit-container .imglykit-canvas-tilt-shift-container {
1023
+ position: absolute;
1024
+ top: 0;
1025
+ left: 0;
1026
+ width: 100%;
1027
+ height: 100%; }
1028
+ .imglykit-container .imglykit-canvas-tilt-shift-container .imglykit-canvas-tilt-shift-dot {
1029
+ -webkit-border-radius: 50%;
1030
+ -moz-border-radius: 50%;
1031
+ -ms-border-radius: 50%;
1032
+ -o-border-radius: 50%;
1033
+ border-radius: 50%;
1034
+ position: absolute;
1035
+ background: white;
1036
+ width: 20px;
1037
+ height: 20px;
1038
+ border: 2px solid rgba(0, 0, 0, 0.3);
1039
+ cursor: pointer;
1040
+ margin-left: -10px;
1041
+ margin-top: -10px; }
1042
+ .imglykit-container .imglykit-canvas-tilt-shift-container .imglykit-canvas-tilt-shift-rect-container {
1043
+ position: absolute;
1044
+ top: 0;
1045
+ left: 0;
1046
+ width: 100%;
1047
+ height: 100%;
1048
+ pointer-events: none;
1049
+ overflow: hidden; }
1050
+ .imglykit-container .imglykit-canvas-tilt-shift-container .imglykit-canvas-tilt-shift-rect {
1051
+ border: 2px solid white;
1052
+ position: absolute;
1053
+ top: 0;
1054
+ left: 0;
1055
+ width: 100px;
1056
+ height: 100px;
1057
+ pointer-events: none; }
1058
+
1059
+ /*
1060
+ * Copyright (c) 2013-2015 9elements GmbH
1061
+ *
1062
+ * Released under Attribution-NonCommercial 3.0 Unported
1063
+ * http://creativecommons.org/licenses/by-nc/3.0/
1064
+ *
1065
+ * For commercial use, please contact us at contact@9elements.com
1066
+ */
1067
+ .imglykit-container .imglykit-scrollbar-background {
1068
+ -webkit-transition: all 0.3s ease-out;
1069
+ -moz-transition: all 0.3s ease-out false;
1070
+ -o-transition: all 0.3s ease-out false;
1071
+ transition: all 0.3s ease-out;
1072
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
1073
+ opacity: 0;
1074
+ width: 100%;
1075
+ height: 11px;
1076
+ background: #1E1E1E;
1077
+ position: absolute;
1078
+ bottom: 0;
1079
+ left: 0;
1080
+ cursor: pointer; }
1081
+ .imglykit-container .imglykit-scrollbar-background.visible {
1082
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
1083
+ opacity: 1; }
1084
+
1085
+ .imglykit-container .imglykit-scrollbar-button {
1086
+ -webkit-border-radius: 5px;
1087
+ -moz-border-radius: 5px;
1088
+ -ms-border-radius: 5px;
1089
+ -o-border-radius: 5px;
1090
+ border-radius: 5px;
1091
+ background: #43ADEB;
1092
+ height: 7px;
1093
+ position: absolute;
1094
+ left: 0;
1095
+ top: 0;
1096
+ width: 50px;
1097
+ margin: 2px;
1098
+ cursor: pointer; }