spina-template 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.gitignore +17 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/app/.DS_Store +0 -0
  9. data/app/assets/.DS_Store +0 -0
  10. data/app/assets/images/.DS_Store +0 -0
  11. data/app/assets/images/spina/arrow-left.png +0 -0
  12. data/app/assets/images/spina/arrow-right.png +0 -0
  13. data/app/assets/images/spina/bg.jpg +0 -0
  14. data/app/assets/images/spina/danger-zone-ribbon.png +0 -0
  15. data/app/assets/images/spina/datepicker.png +0 -0
  16. data/app/assets/images/spina/divider.png +0 -0
  17. data/app/assets/images/spina/marker.png +0 -0
  18. data/app/assets/images/spina/mask.png +0 -0
  19. data/app/assets/images/spina/wheel.png +0 -0
  20. data/app/assets/javascripts/.DS_Store +0 -0
  21. data/app/assets/javascripts/spina/dropdown.js.coffee +64 -0
  22. data/app/assets/javascripts/spina/galleryselect.js.coffee +12 -0
  23. data/app/assets/javascripts/spina/modal.js.coffee +54 -0
  24. data/app/assets/javascripts/spina/switch.js.coffee +41 -0
  25. data/app/assets/javascripts/spina/tabs.js.coffee +13 -0
  26. data/app/assets/javascripts/spina/uploads.js.coffee +45 -0
  27. data/app/assets/javascripts/spina.js.coffee.erb +154 -0
  28. data/app/assets/stylesheets/.DS_Store +0 -0
  29. data/app/assets/stylesheets/spina/_admin_editing.css.sass +29 -0
  30. data/app/assets/stylesheets/spina/_buttons.css.sass +334 -0
  31. data/app/assets/stylesheets/spina/_cards.css.sass +57 -0
  32. data/app/assets/stylesheets/spina/_configuration.css.sass +16 -0
  33. data/app/assets/stylesheets/spina/_custom_animations.css.sass +61 -0
  34. data/app/assets/stylesheets/spina/_farbtastic.css.sass +37 -0
  35. data/app/assets/stylesheets/spina/_fonts.css.sass +14 -0
  36. data/app/assets/stylesheets/spina/_forms.css.sass +473 -0
  37. data/app/assets/stylesheets/spina/_gallery.css.sass +121 -0
  38. data/app/assets/stylesheets/spina/_grid.css.sass +12 -0
  39. data/app/assets/stylesheets/spina/_labels.css.sass +28 -0
  40. data/app/assets/stylesheets/spina/_login.css.sass +32 -0
  41. data/app/assets/stylesheets/spina/_mixins.css.scss +13 -0
  42. data/app/assets/stylesheets/spina/_modal.css.sass +158 -0
  43. data/app/assets/stylesheets/spina/_sortable_lists.css.sass +161 -0
  44. data/app/assets/stylesheets/spina/_tables.css.sass +144 -0
  45. data/app/assets/stylesheets/spina/_wysihtml5.css.sass +73 -0
  46. data/app/assets/stylesheets/spina/wysihtml5_textarea.css.sass +14 -0
  47. data/app/assets/stylesheets/spina.css.sass +521 -0
  48. data/lib/spina/template/version.rb +5 -0
  49. data/lib/spina/template.rb +12 -0
  50. data/spina-template.gemspec +26 -0
  51. data/vendor/.DS_Store +0 -0
  52. data/vendor/assets/.DS_Store +0 -0
  53. data/vendor/assets/javascripts/.DS_Store +0 -0
  54. data/vendor/assets/javascripts/spina/jquery.customfileinput.js +85 -0
  55. data/vendor/assets/javascripts/spina/jquery.datatables.js +12099 -0
  56. data/vendor/assets/javascripts/spina/jquery.farbtastic.js +345 -0
  57. data/vendor/assets/javascripts/spina/jquery.nestable.js +485 -0
  58. data/vendor/assets/javascripts/spina/jquery.sortable.js +3 -0
  59. data/vendor/assets/javascripts/spina/jquery.ui.datepicker-nl.js +23 -0
  60. data/vendor/assets/javascripts/spina/jquery.ui.js +6 -0
  61. data/vendor/assets/javascripts/spina/morris.js +1767 -0
  62. data/vendor/assets/javascripts/spina/nprogress.js +274 -0
  63. data/vendor/assets/javascripts/spina/raphael.js +8111 -0
  64. data/vendor/assets/javascripts/spina/wysihtml5.js +269 -0
  65. data/vendor/assets/javascripts/spina/wysihtml5_parser_rules.js +551 -0
  66. data/vendor/assets/stylesheets/.DS_Store +0 -0
  67. data/vendor/assets/stylesheets/spina/_animate.css +1 -0
  68. data/vendor/assets/stylesheets/spina/_morris.css +2 -0
  69. data/vendor/assets/stylesheets/spina/_normalize.css +396 -0
  70. data/vendor/assets/stylesheets/spina/_nprogress.css.scss +85 -0
  71. metadata +197 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 00bdd7df8525c183ce0fdfbb2ada2f7d43ff2576
4
+ data.tar.gz: c812da14e47a74e1d392359ea83dd5d9b1bc3a0f
5
+ SHA512:
6
+ metadata.gz: 4472ffeec75c71772a4f73229bc112eac3a4e5f149f0a2b4b07cf06764faa1f85d0291001739f2b07e04df1180bd1c84945b5399f7e721dbc204b0d89b5354b2
7
+ data.tar.gz: 09cd68e61acbbeb2c532408c86dcc481848b1bf6820bba0f03fe0d2399d797f76d5ff9e6cd504f8e18a42268953fc25f9505fa80f8469eedc3e8d8d349444e6b
data/.DS_Store ADDED
Binary file
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in spina-template.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Bram Jetten
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Spina::Template
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'spina-template'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install spina-template
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/app/.DS_Store ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,64 @@
1
+ $(document).on 'click', 'body.dropdown', ->
2
+ closeDropdown()
3
+
4
+ $(document).on 'click', '[data-trigger="dropdown"]', ->
5
+ trigger = $(this)
6
+ dropdown = $(trigger.attr('data-target'))
7
+ body = $('body')
8
+
9
+ if body.hasClass('dropdown')
10
+ trigger.removeClass('button-active')
11
+ body.removeClass('dropdown')
12
+ dropdown.hide()
13
+ else
14
+ trigger.addClass('button-active')
15
+ body.addClass('dropdown')
16
+ dropdown.show()
17
+
18
+ return false
19
+
20
+ $(document).on 'click', '[data-dropdown] ul, [data-dropdown] .sliding-dropdown', (e) ->
21
+ e.stopPropagation()
22
+
23
+ $(document).on 'click', '.slide-controls .previous, .slide-controls .next', (e) ->
24
+ e.preventDefault()
25
+
26
+ # Get sliding dropdown
27
+ sliding_dropdown = $(this).parents('.sliding-dropdown')
28
+
29
+ # Get active title
30
+ active_title = sliding_dropdown.find('.slide-title.active')
31
+
32
+ # Get previous and next titles
33
+ previous = active_title.prev('.slide-title')
34
+ next = active_title.next('.slide-title')
35
+
36
+ if $(this).hasClass('previous') and previous.length > 0
37
+ sliding_dropdown.find('.slide-title').removeClass('active')
38
+ previous.addClass('active')
39
+ target = previous.data('target')
40
+ sliding_dropdown.find('.slide').removeClass('active')
41
+ $(target).addClass('active')
42
+
43
+ else if $(this).hasClass('next') and next.length > 0
44
+ sliding_dropdown.find('.slide-title').removeClass('active')
45
+ next.addClass('active')
46
+ target = next.data('target')
47
+ sliding_dropdown.find('.slide').removeClass('active')
48
+ $(target).addClass('active')
49
+
50
+ if sliding_dropdown.find('.slide-title.active').next('.slide-title').length > 0
51
+ sliding_dropdown.find('.next').removeClass('muted')
52
+ else
53
+ sliding_dropdown.find('.next').addClass('muted')
54
+
55
+ if sliding_dropdown.find('.slide-title.active').prev('.slide-title').length > 0
56
+ sliding_dropdown.find('.previous').removeClass('muted')
57
+ else
58
+ sliding_dropdown.find('.previous').addClass('muted')
59
+
60
+ closeDropdown = ->
61
+ $('body').removeClass('dropdown')
62
+ $('[data-dropdown] ul, [data-dropdown] .sliding-dropdown').hide()
63
+ $('[data-trigger="dropdown"]').removeClass('button-active')
64
+ return false
@@ -0,0 +1,12 @@
1
+ $(document).on 'click', '.gallery .item', ->
2
+ gallery = $(this).parents('.gallery')
3
+
4
+ if gallery.data('multiselect') != undefined
5
+ $(this).toggleClass('selected')
6
+ checkbox = $(this).find('input:checkbox')
7
+ checkbox.prop("checked", !checkbox.prop("checked"))
8
+ else
9
+ gallery.find('.item').removeClass('selected')
10
+ gallery.find('.item input').prop('checked', false)
11
+ $(this).toggleClass('selected')
12
+ $(this).find('input').prop('checked', true)
@@ -0,0 +1,54 @@
1
+ # jQuery plugin
2
+ $.hideModal = ->
3
+ hideModal()
4
+
5
+ $.fn.modal = ->
6
+ showModal($(this))
7
+
8
+ $(document).on 'click', 'a[data-toggle="modal"]', ->
9
+ link = $(this)
10
+ modal = $(link.attr('href'))
11
+ showModal(modal)
12
+
13
+ $(document).on 'click', 'body.overlay', ->
14
+ hideModal()
15
+
16
+ $(document).on 'click', '[data-dismiss="modal"]', ->
17
+ hideModal()
18
+
19
+ $(document).on 'keyup', 'body.overlay', (e) ->
20
+ hideModal() if e.keyCode == 27
21
+
22
+ $(document).on 'click', '.modal', (e) ->
23
+ e.stopPropagation()
24
+
25
+ hideModal = ->
26
+ $('body').removeClass('overlay')
27
+ $('#overlay .modal').addClass('flyOut')
28
+ $('#overlay').fadeOut 300, ->
29
+ $(this).remove()
30
+ return false
31
+
32
+ showModal = (element) ->
33
+ modal = element.clone()
34
+ modal.addClass('animated flyIn')
35
+
36
+ if $('#overlay').length < 1
37
+ $('body').append('<div id="overlay"></div>')
38
+ else
39
+ $('#overlay').html('')
40
+
41
+ maxheight = window.innerHeight - (window.innerHeight / 8) - 150
42
+
43
+ modal.css({"margin-top": window.innerHeight / 8})
44
+ modal.find('section').css({"max-height": maxheight})
45
+
46
+ modal.appendTo('#overlay')
47
+ $('#overlay').fadeIn(400)
48
+ modal.show()
49
+
50
+ modal.find('input[type="file"][data-customfileinput]').customFileInput()
51
+ modal.find('.new_photo').uploadPhoto()
52
+
53
+ $('body').addClass('overlay')
54
+ return false
@@ -0,0 +1,41 @@
1
+ # jQuery plugin checkbox
2
+ $.fn.spinaSwitch = ->
3
+ return this.each ->
4
+ unless $(this).attr('data-plugin-switch')
5
+ input = $(this)
6
+ input.attr('data-plugin-switch', true)
7
+ input.hide()
8
+
9
+ # Check if it is checked
10
+ if input.is(':checked')
11
+ klass = "switch active"
12
+ else
13
+ klass = "switch"
14
+
15
+ # Insert new HTML into the DOM
16
+ input.after('<a href="#' + input.attr("id") + '" class="' + klass + '">
17
+ <span class="knob"></span>
18
+ </a>')
19
+
20
+ # Click handlers for checkbox
21
+ $(document).on 'click', 'a.switch', (e) ->
22
+ toggleSwitch(e)
23
+
24
+ $(document).on 'touchend', 'a.switch', (e) ->
25
+ toggleSwitch(e)
26
+
27
+ toggleSwitch = (e) ->
28
+ checkbox = $(e.currentTarget)
29
+ input = $(checkbox.attr("href"))
30
+
31
+ if checkbox.hasClass('activated') || checkbox.hasClass('active')
32
+ checkbox.removeClass('active')
33
+ checkbox.removeClass('activated')
34
+ checkbox.addClass('deactivated')
35
+ input.prop("checked", false)
36
+ else
37
+ checkbox.addClass('activated')
38
+ checkbox.removeClass('deactivated')
39
+ input.prop("checked", true)
40
+
41
+ return false
@@ -0,0 +1,13 @@
1
+ $(document).on 'click', '.tabs li a[href^="#"]', ->
2
+ link = $(this)
3
+ tabs = link.parents('.tabs')
4
+
5
+ # Remove active
6
+ $('.tab-content').removeClass('active')
7
+ tabs.find('li').removeClass('active')
8
+
9
+ # Add active
10
+ link.parent('li').addClass('active')
11
+ $(link.attr('href')).addClass('active')
12
+
13
+ return false
@@ -0,0 +1,45 @@
1
+ # Upload photo
2
+ $.fn.uploadPhoto = ->
3
+ $(this).fileupload
4
+ dataType: "script"
5
+ singleFileUploads: true
6
+ dropZone: $(this).find('.photo-field')
7
+ maxNumberOfFiles: 1
8
+ add: (e, data) ->
9
+ types = /(\.|\/)(gif|jpe?g|png)$/i
10
+ file = data.files[0]
11
+ if types.test(file.type) || types.test(file.name)
12
+ NProgress.start()
13
+ $(this).find('.customfile').addClass('loading')
14
+ data.submit()
15
+ else
16
+ alert("#{file.name} is geen gif-, jpeg- of png-bestand")
17
+ progress: (e, data) ->
18
+ if data.context
19
+ NProgress.set(data.loaded / data.total)
20
+ done: (e, data) ->
21
+ $(this).find('.customfile').removeClass('loading')
22
+ NProgress.done()
23
+
24
+ # Upload document
25
+ $.fn.uploadDocument = ->
26
+ $(this).fileupload
27
+ dataType: "script"
28
+ singleFileUploads: true
29
+ dropZone: $(this).find('.attachment-field')
30
+ maxNumberOfFiles: 1
31
+ add: (e, data) ->
32
+ types = /(\.|\/)(pdf|docx?|rtf|txt)$/i
33
+ file = data.files[0]
34
+ if types.test(file.type) || types.test(file.name)
35
+ NProgress.start()
36
+ $(this).find('.customfile').addClass('loading')
37
+ data.submit()
38
+ else
39
+ alert("#{file.name} is geen pdf-, word-, txt- of rtf-bestand")
40
+ progress: (e, data) ->
41
+ if data.context
42
+ NProgress.set(data.loaded / data.total)
43
+ done: (e, data) ->
44
+ $(this).find('.customfile').removeClass('loading')
45
+ NProgress.done()
@@ -0,0 +1,154 @@
1
+ #= require spina/jquery.datatables
2
+ #= require spina/jquery.ui
3
+ #= require spina/jquery.ui.datepicker-nl
4
+ #= require spina/jquery.sortable
5
+ #= require spina/jquery.nestable
6
+ #= require spina/jquery.customfileinput
7
+ #= require spina/jquery.farbtastic
8
+ #= require jquery-fileupload/basic
9
+ #= require spina/raphael
10
+ #= require spina/morris
11
+ #= require spina/nprogress
12
+ #= require spina/wysihtml5
13
+ #= require spina/wysihtml5_parser_rules
14
+
15
+ #= require spina/switch
16
+ #= require spina/modal
17
+ #= require spina/tabs
18
+ #= require spina/dropdown
19
+ #= require spina/galleryselect
20
+ #= require spina/uploads
21
+
22
+ # Nprogress
23
+ $(document).on 'page:fetch', -> NProgress.start()
24
+ $(document).on 'page:change', -> NProgress.done()
25
+ $(document).on 'page:restore', -> NProgress.remove()
26
+
27
+ # Clickable TR's
28
+ $(document).on 'click', '.table-clickable tbody tr', ->
29
+ checkbox = $(this).find('input[type="checkbox"]:first, input[type="radio"]:first')
30
+ checkbox.prop("checked", !checkbox.prop("checked"))
31
+
32
+ # Search inputs
33
+ $(document).on 'keyup', '.search-input input', (e) ->
34
+ $(this).parent().removeClass('animated small-shake')
35
+ if $(this).val() == ""
36
+ $(this).parent().find('.clear-input').fadeOut(200)
37
+ if e.keyCode == 13
38
+ $(this).parent().addClass('animated small-shake')
39
+ else
40
+ $(this).parent().find('.clear-input').fadeIn(200)
41
+
42
+ $(document).on 'click', '.clear-input', ->
43
+ link = $(this)
44
+ input = link.siblings('input')
45
+ input.val("")
46
+ input.focus()
47
+ input.trigger("keyup")
48
+ link.fadeOut(200)
49
+ return false
50
+
51
+ $(document).on 'keyup + change', '.table-container .search-input input', ->
52
+ datatable = $(this).parent().parent().find('table.datatable').dataTable()
53
+ datatable.fnFilter($(this).val())
54
+
55
+ $(document).on 'change', '.dd', ->
56
+ serialized = $(this).nestable('serialize')
57
+ sort_url = $(this).data('sort-url')
58
+ $.post sort_url, { list: serialized }
59
+
60
+ # Datatables
61
+
62
+ ready = ->
63
+
64
+ # Custom file
65
+ $('input[type="file"][data-customfileinput]:visible').each ->
66
+ $(this).customFileInput()
67
+
68
+ # Image upload
69
+ $('.new_photo').uploadPhoto()
70
+
71
+ # Colorpicker
72
+ $('.colorpicker').each ->
73
+ colorpicker = $(this).find('.colorpicker-container')
74
+ field = $(this).find('input')
75
+
76
+ $.farbtastic colorpicker, (color) ->
77
+ field.val(color)
78
+ field.css('color', color)
79
+
80
+ $('.colorpicker input').focus ->
81
+ container = $(this).parent()
82
+ colorpicker = container.find('.colorpicker-container')
83
+ $.farbtastic(colorpicker).setColor($(this).val())
84
+ container.find('.farbtastic').show()
85
+
86
+ $('.colorpicker input').blur ->
87
+ container = $(this).parent()
88
+ container.find('.farbtastic').hide()
89
+
90
+ # Document upload
91
+ $('.new_document').uploadDocument()
92
+
93
+ # Login wrapper
94
+ $('#login_wrapper').css('margin-top', $(document).innerHeight() / 8)
95
+
96
+ # Wysihtml5 editor
97
+ $('.wysihtml5-container').each ->
98
+ container = $(this)
99
+ textarea = container.find('textarea')
100
+ toolbar = container.find('.toolbar')
101
+
102
+ editor = new wysihtml5.Editor textarea.attr('id'), {
103
+ toolbar: toolbar.attr('id'),
104
+ useLineBreaks: false,
105
+ parserRules: wysihtml5ParserRules,
106
+ stylesheets: ["<%= asset_path 'spina/wysihtml5_textarea.css' %>"]
107
+ }
108
+
109
+ editor.on "load", ->
110
+ container.data("wysihtml5", editor)
111
+
112
+ editor.on "focus", ->
113
+ container.find(".choose-text-type").fadeIn(100)
114
+
115
+ editor.on "blur", ->
116
+ container.find(".choose-text-type").fadeOut(100)
117
+
118
+ $(".dd").nestable
119
+ maxDepth: 3
120
+
121
+ # Switch
122
+ if $('input[data-switch]').length > 0
123
+ $('input[data-switch]').spinaSwitch()
124
+
125
+ # Datepicker
126
+ if $('.datepicker').length > 0
127
+ $('.datepicker').datepicker()
128
+
129
+ # Datatable
130
+ if $('.datatable').length > 0
131
+ $('table.datatable').dataTable
132
+ "bLengthChange": false,
133
+ "oLanguage": {
134
+ "sProcessing": "Bezig...",
135
+ "sLengthMenu": "_MENU_ resultaten weergeven",
136
+ "sZeroRecords": "Geen resultaten gevonden",
137
+ "sInfo": "_START_ tot _END_ van _TOTAL_ resultaten",
138
+ "sInfoEmpty": "Geen resultaten om weer te geven",
139
+ "sInfoFiltered": " (gefilterd uit _MAX_ resultaten)",
140
+ "sInfoPostFix": "",
141
+ "sSearch": "Zoeken:",
142
+ "sEmptyTable": "Geen resultaten aanwezig in de tabel",
143
+ "sInfoThousands": ".",
144
+ "sLoadingRecords": "Een moment geduld aub - bezig met laden...",
145
+ "oPaginate": {
146
+ "sFirst": "Eerste",
147
+ "sLast": "Laatste",
148
+ "sNext": "Volgende",
149
+ "sPrevious": "Vorige"
150
+ }
151
+ }
152
+
153
+ $(document).ready(ready)
154
+ $(document).on 'page:load', ready
Binary file
@@ -0,0 +1,29 @@
1
+ // Configuration
2
+ @import configuration
3
+
4
+ // Normalizing
5
+ @import spina/normalize
6
+
7
+ // Mixins
8
+ @import bourbon
9
+ @import neat
10
+ @import mixins
11
+
12
+ // Grid
13
+ @import grid
14
+
15
+ // Fonts
16
+ @import fonts
17
+
18
+ #admin_bar
19
+ background: #f5f5f5
20
+ border-bottom: 1px solid #ddd
21
+ font-family: "Proxima Nova"
22
+ padding: 12px 12px 8px 0
23
+ text-align: right
24
+
25
+ // Styles
26
+ @import buttons
27
+
28
+ .button.button-hollow
29
+ background: #fff