trusty-festivity-extension 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +33 -0
  4. data/README.md +2 -0
  5. data/Rakefile +110 -0
  6. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  7. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  8. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  9. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  10. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  11. data/app/assets/images/pct-black.png +0 -0
  12. data/app/assets/images/skins/pghkids/footer.png +0 -0
  13. data/app/assets/images/skins/pghkids/footer_mobile.png +0 -0
  14. data/app/assets/images/skins/pghkids/frog.png +0 -0
  15. data/app/assets/images/skins/pghkids/frog_mobile.png +0 -0
  16. data/app/assets/images/skins/pghkids/header.png +0 -0
  17. data/app/assets/images/skins/pghkids/header_mobile.png +0 -0
  18. data/app/assets/images/skins/pghkids/seafoam.jpg +0 -0
  19. data/app/assets/javascripts/admin/festivity_admin.js +22 -0
  20. data/app/assets/javascripts/admin/pages/ajax_image_uploader.js +29 -0
  21. data/app/assets/javascripts/admin/pages/page_bindings.js +94 -0
  22. data/app/assets/javascripts/admin/pages/performances.js +59 -0
  23. data/app/assets/javascripts/admin/sites/categories.js +74 -0
  24. data/app/assets/javascripts/admin/sites/category_types.js +63 -0
  25. data/app/assets/javascripts/admin/sites/site_bindings.js +4 -0
  26. data/app/assets/javascripts/ajaxupload.js +1 -0
  27. data/app/assets/javascripts/bootstrap-sprockets.js +12 -0
  28. data/app/assets/javascripts/bootstrap.js +2306 -0
  29. data/app/assets/javascripts/bootstrap.min.js +7 -0
  30. data/app/assets/javascripts/bootstrap/affix.js +162 -0
  31. data/app/assets/javascripts/bootstrap/alert.js +94 -0
  32. data/app/assets/javascripts/bootstrap/button.js +116 -0
  33. data/app/assets/javascripts/bootstrap/carousel.js +237 -0
  34. data/app/assets/javascripts/bootstrap/collapse.js +211 -0
  35. data/app/assets/javascripts/bootstrap/dropdown.js +161 -0
  36. data/app/assets/javascripts/bootstrap/modal.js +324 -0
  37. data/app/assets/javascripts/bootstrap/popover.js +113 -0
  38. data/app/assets/javascripts/bootstrap/scrollspy.js +175 -0
  39. data/app/assets/javascripts/bootstrap/tab.js +153 -0
  40. data/app/assets/javascripts/bootstrap/tooltip.js +472 -0
  41. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  42. data/app/assets/javascripts/events/event_list_bindings.js +3 -0
  43. data/app/assets/javascripts/events/filters.js +100 -0
  44. data/app/assets/javascripts/festivity.js +1 -0
  45. data/app/assets/javascripts/festivity_app.js +13 -0
  46. data/app/assets/javascripts/jasny-bootstrap.js +1024 -0
  47. data/app/assets/javascripts/jquery-migrate.js +521 -0
  48. data/app/assets/javascripts/jquery.collapse.js +176 -0
  49. data/app/assets/javascripts/jquery.collapse_cookie_storage.js +37 -0
  50. data/app/assets/javascripts/jquery.collapse_storage.js +56 -0
  51. data/app/assets/javascripts/jquery.inputmask.bundle.min.js +10 -0
  52. data/app/assets/javascripts/lodash.min.js +88 -0
  53. data/app/assets/javascripts/readmore.min.js +11 -0
  54. data/app/assets/javascripts/script.js +22 -0
  55. data/app/assets/javascripts/underscore.js +1545 -0
  56. data/app/assets/stylesheets/_bootstrap-compass.scss +9 -0
  57. data/app/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  58. data/app/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  59. data/app/assets/stylesheets/_bootstrap.scss +50 -0
  60. data/app/assets/stylesheets/_defaults.scss +6 -0
  61. data/app/assets/stylesheets/_event_filter_bar.scss +78 -0
  62. data/app/assets/stylesheets/_faq.scss +48 -0
  63. data/app/assets/stylesheets/_filter-bar-mobile.scss +32 -0
  64. data/app/assets/stylesheets/_footer.scss +18 -0
  65. data/app/assets/stylesheets/_global.scss +30 -0
  66. data/app/assets/stylesheets/_header.scss +95 -0
  67. data/app/assets/stylesheets/_landing_page.scss +62 -0
  68. data/app/assets/stylesheets/_locations.scss +17 -0
  69. data/app/assets/stylesheets/_media-queries.scss +9 -0
  70. data/app/assets/stylesheets/_mixins.scss +17 -0
  71. data/app/assets/stylesheets/_nav.scss +128 -0
  72. data/app/assets/stylesheets/_normalize.scss +375 -0
  73. data/app/assets/stylesheets/_overrides.scss +11 -0
  74. data/app/assets/stylesheets/_page-template.scss +124 -0
  75. data/app/assets/stylesheets/_related_events.scss +20 -0
  76. data/app/assets/stylesheets/_search-results.scss +20 -0
  77. data/app/assets/stylesheets/_utils.scss +8 -0
  78. data/app/assets/stylesheets/admin/festivity_admin.scss +28 -0
  79. data/app/assets/stylesheets/admin/modules/_category_styles.scss +23 -0
  80. data/app/assets/stylesheets/admin/modules/_form_styles.scss +40 -0
  81. data/app/assets/stylesheets/admin/modules/_list_styles.scss +30 -0
  82. data/app/assets/stylesheets/admin/modules/_variables.scss +3 -0
  83. data/app/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  84. data/app/assets/stylesheets/bootstrap/_badges.scss +67 -0
  85. data/app/assets/stylesheets/bootstrap/_breadcrumbs.scss +26 -0
  86. data/app/assets/stylesheets/bootstrap/_button-groups.scss +243 -0
  87. data/app/assets/stylesheets/bootstrap/_buttons.scss +160 -0
  88. data/app/assets/stylesheets/bootstrap/_carousel.scss +269 -0
  89. data/app/assets/stylesheets/bootstrap/_close.scss +36 -0
  90. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  91. data/app/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  92. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +214 -0
  93. data/app/assets/stylesheets/bootstrap/_forms.scss +570 -0
  94. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +301 -0
  95. data/app/assets/stylesheets/bootstrap/_grid.scss +84 -0
  96. data/app/assets/stylesheets/bootstrap/_input-groups.scss +166 -0
  97. data/app/assets/stylesheets/bootstrap/_jumbotron.scss +50 -0
  98. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  99. data/app/assets/stylesheets/bootstrap/_list-group.scss +124 -0
  100. data/app/assets/stylesheets/bootstrap/_media.scss +61 -0
  101. data/app/assets/stylesheets/bootstrap/_mixins.scss +39 -0
  102. data/app/assets/stylesheets/bootstrap/_modals.scss +148 -0
  103. data/app/assets/stylesheets/bootstrap/_navbar.scss +663 -0
  104. data/app/assets/stylesheets/bootstrap/_navs.scss +244 -0
  105. data/app/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  106. data/app/assets/stylesheets/bootstrap/_pager.scss +54 -0
  107. data/app/assets/stylesheets/bootstrap/_pagination.scss +88 -0
  108. data/app/assets/stylesheets/bootstrap/_panels.scss +265 -0
  109. data/app/assets/stylesheets/bootstrap/_popovers.scss +135 -0
  110. data/app/assets/stylesheets/bootstrap/_print.scss +107 -0
  111. data/app/assets/stylesheets/bootstrap/_progress-bars.scss +87 -0
  112. data/app/assets/stylesheets/bootstrap/_responsive-embed.scss +35 -0
  113. data/app/assets/stylesheets/bootstrap/_responsive-utilities.scss +177 -0
  114. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +150 -0
  115. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  116. data/app/assets/stylesheets/bootstrap/_theme.scss +273 -0
  117. data/app/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  118. data/app/assets/stylesheets/bootstrap/_tooltip.scss +103 -0
  119. data/app/assets/stylesheets/bootstrap/_type.scss +298 -0
  120. data/app/assets/stylesheets/bootstrap/_utilities.scss +56 -0
  121. data/app/assets/stylesheets/bootstrap/_variables.scss +862 -0
  122. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  123. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
  124. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +11 -0
  125. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  126. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +52 -0
  127. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  128. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  129. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +88 -0
  130. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
  131. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  132. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  133. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  134. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +33 -0
  135. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  136. data/app/assets/stylesheets/bootstrap/mixins/_list-group.scss +31 -0
  137. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  138. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  139. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
  140. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +23 -0
  141. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  142. data/app/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  143. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  144. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  145. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
  146. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  147. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  148. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  149. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +11 -0
  150. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  151. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  152. data/app/assets/stylesheets/events/_event-list-item.scss +85 -0
  153. data/app/assets/stylesheets/events/_event_template.scss +66 -0
  154. data/app/assets/stylesheets/events/_filter-bar.scss +5 -0
  155. data/app/assets/stylesheets/festivity.scss +35 -0
  156. data/app/assets/stylesheets/skins/pghkids/_events.scss +17 -0
  157. data/app/assets/stylesheets/skins/pghkids/_footer.scss +22 -0
  158. data/app/assets/stylesheets/skins/pghkids/_global.scss +42 -0
  159. data/app/assets/stylesheets/skins/pghkids/_header.scss +27 -0
  160. data/app/assets/stylesheets/skins/pghkids/_home.scss +113 -0
  161. data/app/assets/stylesheets/skins/pghkids/skin.scss +8 -0
  162. data/app/assets/stylesheets/vars/_vars_color.scss +6 -0
  163. data/app/assets/stylesheets/vars/_vars_media-queries.scss +5 -0
  164. data/app/assets/stylesheets/vars/_vars_type.scss +1 -0
  165. data/app/controllers/admin/festivity_categories_controller.rb +31 -0
  166. data/app/controllers/admin/festivity_category_types_controller.rb +31 -0
  167. data/app/controllers/admin/festivity_performances_controller.rb +21 -0
  168. data/app/controllers/festivity_events_controller.rb +71 -0
  169. data/app/controllers/festivity_location_areas_controller.rb +17 -0
  170. data/app/controllers/festivity_locations_controller.rb +19 -0
  171. data/app/controllers/search_controller.rb +17 -0
  172. data/app/helpers/admin/festivity_performances_helper.rb +3 -0
  173. data/app/helpers/admin/snippets_helper.rb +3 -0
  174. data/app/helpers/festivity_events_helper.rb +12 -0
  175. data/app/helpers/festivity_locations_helper.rb +4 -0
  176. data/app/models/festivity_base_page.rb +23 -0
  177. data/app/models/festivity_category.rb +17 -0
  178. data/app/models/festivity_category_type.rb +14 -0
  179. data/app/models/festivity_event_list.rb +90 -0
  180. data/app/models/festivity_event_list/festivity_event.rb +40 -0
  181. data/app/models/festivity_event_list/festivity_event_performance.rb +10 -0
  182. data/app/models/festivity_event_list/festivity_location.rb +15 -0
  183. data/app/models/festivity_event_page.rb +55 -0
  184. data/app/models/festivity_location_area_page.rb +5 -0
  185. data/app/models/festivity_location_page.rb +3 -0
  186. data/app/models/festivity_market_page.rb +3 -0
  187. data/app/models/festivity_page_category.rb +4 -0
  188. data/app/models/festivity_performance.rb +29 -0
  189. data/app/views/admin/pages/_festivity_base_fields.html.haml +75 -0
  190. data/app/views/admin/pages/_festivity_featured_image_fields.html.haml +3 -0
  191. data/app/views/admin/pages/_festivity_includes.html.haml +2 -0
  192. data/app/views/admin/pages/_festivity_location_fields.html.haml +26 -0
  193. data/app/views/admin/pages/partials/_categories.html.haml +18 -0
  194. data/app/views/admin/pages/partials/_category.html.haml +4 -0
  195. data/app/views/admin/pages/partials/_featured_image.html.haml +18 -0
  196. data/app/views/admin/pages/partials/_performance.html.haml +13 -0
  197. data/app/views/admin/pages/partials/_performances.html.haml +11 -0
  198. data/app/views/admin/pages/partials/_performances_table.html.haml +15 -0
  199. data/app/views/admin/sites/_festivity_site_fields.html.haml +26 -0
  200. data/app/views/admin/sites/partials/_category.html.haml +7 -0
  201. data/app/views/admin/sites/partials/_category_popup.html.haml +19 -0
  202. data/app/views/admin/sites/partials/_category_popups.haml +27 -0
  203. data/app/views/admin/sites/partials/_category_section.html.haml +7 -0
  204. data/app/views/admin/sites/partials/_category_types.html.haml +23 -0
  205. data/app/views/admin/sites/partials/_filters.html.haml +25 -0
  206. data/app/views/admin/sites/partials/_new_category.html.haml +3 -0
  207. data/app/views/admin/sites/partials/_new_category_type.html.haml +3 -0
  208. data/app/views/festivity_events/_event_filters.html.haml +39 -0
  209. data/app/views/festivity_events/_event_list.html.haml +62 -0
  210. data/app/views/festivity_events/_filter_bar_mobile.html.haml +22 -0
  211. data/app/views/festivity_events/index.html.haml +34 -0
  212. data/app/views/festivity_events/show.html.haml +152 -0
  213. data/app/views/festivity_location_areas/show.html.haml +29 -0
  214. data/app/views/festivity_locations/show.html.haml +66 -0
  215. data/app/views/header/_meta_tags.html.haml +8 -0
  216. data/app/views/navigation/_subnav_one_column.html.haml +15 -0
  217. data/app/views/navigation/_subnav_three_column.html.haml +7 -0
  218. data/app/views/navigation/_three_column_item.html.haml +11 -0
  219. data/app/views/search/_page.html.haml +1 -0
  220. data/app/views/search/_pagination_links.html.haml +7 -0
  221. data/app/views/search/_result_item.html.haml +6 -0
  222. data/app/views/search/show.html.haml +19 -0
  223. data/config/initializers/pluralizations.rb +0 -0
  224. data/config/initializers/radiant_config.rb +1 -0
  225. data/config/locales/en.yml +16 -0
  226. data/config/routes.rb +14 -0
  227. data/config/trustygems.yml +2 -0
  228. data/db/content/layouts/base.html +174 -0
  229. data/db/content/layouts/normal.html +5 -0
  230. data/db/fixtures/home_pages.yml +40 -0
  231. data/db/fixtures/layouts.yml +2 -0
  232. data/db/fixtures/pages.yml +23 -0
  233. data/db/fixtures/sites.yml +57 -0
  234. data/db/fixtures/users.yml +8 -0
  235. data/db/migrate/200150325136087799_add_event_performances_view.rb +27 -0
  236. data/db/migrate/200150425136087799_update_event_performances_view_with_site.rb +27 -0
  237. data/db/migrate/20150123175758_add_site_fields.rb +15 -0
  238. data/db/migrate/20150127090858995_add_base_event_fields.rb +24 -0
  239. data/db/migrate/20150127091005232_add_market_and_event_fields.rb +29 -0
  240. data/db/migrate/20150204113325731_add_category_types_table.rb +15 -0
  241. data/db/migrate/20150204113427832_add_categories_table.rb +15 -0
  242. data/db/migrate/20150204113510326_add_page_categories_table.rb +12 -0
  243. data/db/migrate/20150226131727777_add_location_page_fields.rb +19 -0
  244. data/db/migrate/20150302135485569_add_performances_table.rb +19 -0
  245. data/db/migrate/20150324135487799_add_indexes.rb +21 -0
  246. data/festivity_extension.rb +25 -0
  247. data/lib/festivity/admin/assets_helper.rb +17 -0
  248. data/lib/festivity/engine.rb +9 -0
  249. data/lib/festivity/extensions/page_extensions.rb +61 -0
  250. data/lib/festivity/extensions/pages_helper_extensions.rb +11 -0
  251. data/lib/festivity/extensions/paperclipped_extensions.rb +22 -0
  252. data/lib/festivity/extensions/site_extensions.rb +40 -0
  253. data/lib/festivity/mixins/not_found.rb +10 -0
  254. data/lib/tags/header_tags.rb +41 -0
  255. data/lib/tags/navigation_tags.rb +55 -0
  256. data/lib/tasks/active_record_utils.rb +35 -0
  257. data/lib/tasks/festivity_extension_tasks.rake +7 -0
  258. data/lib/tasks/setup.rake +101 -0
  259. data/lib/trusty-festivity-extension.rb +8 -0
  260. data/trusty-festivity-extension.gemspec +37 -0
  261. metadata +442 -0
@@ -0,0 +1,663 @@
1
+ //
2
+ // Navbars
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Wrapper and base class
7
+ //
8
+ // Provide a static navbar from which we expand to create full-width, fixed, and
9
+ // other navbar variations.
10
+
11
+ .navbar {
12
+ position: relative;
13
+ min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
14
+ margin-bottom: $navbar-margin-bottom;
15
+ border: 1px solid transparent;
16
+
17
+ // Prevent floats from breaking the navbar
18
+ @include clearfix;
19
+
20
+ @media (min-width: $grid-float-breakpoint) {
21
+ border-radius: $navbar-border-radius;
22
+ }
23
+ }
24
+
25
+
26
+ // Navbar heading
27
+ //
28
+ // Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
29
+ // styling of responsive aspects.
30
+
31
+ .navbar-header {
32
+ @include clearfix;
33
+
34
+ @media (min-width: $grid-float-breakpoint) {
35
+ float: left;
36
+ }
37
+ }
38
+
39
+
40
+ // Navbar collapse (body)
41
+ //
42
+ // Group your navbar content into this for easy collapsing and expanding across
43
+ // various device sizes. By default, this content is collapsed when <768px, but
44
+ // will expand past that for a horizontal display.
45
+ //
46
+ // To start (on mobile devices) the navbar links, forms, and buttons are stacked
47
+ // vertically and include a `max-height` to overflow in case you have too much
48
+ // content for the user's viewport.
49
+
50
+ .navbar-collapse {
51
+ overflow-x: visible;
52
+ padding-right: $navbar-padding-horizontal;
53
+ padding-left: $navbar-padding-horizontal;
54
+ border-top: 1px solid transparent;
55
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
56
+ @include clearfix;
57
+ -webkit-overflow-scrolling: touch;
58
+
59
+ &.in {
60
+ overflow-y: auto;
61
+ }
62
+
63
+ @media (min-width: $grid-float-breakpoint) {
64
+ width: auto;
65
+ border-top: 0;
66
+ box-shadow: none;
67
+
68
+ &.collapse {
69
+ display: block !important;
70
+ visibility: visible !important;
71
+ height: auto !important;
72
+ padding-bottom: 0; // Override default setting
73
+ overflow: visible !important;
74
+ }
75
+
76
+ &.in {
77
+ overflow-y: visible;
78
+ }
79
+
80
+ // Undo the collapse side padding for navbars with containers to ensure
81
+ // alignment of right-aligned contents.
82
+ .navbar-fixed-top &,
83
+ .navbar-static-top &,
84
+ .navbar-fixed-bottom & {
85
+ padding-left: 0;
86
+ padding-right: 0;
87
+ }
88
+ }
89
+ }
90
+
91
+ .navbar-fixed-top,
92
+ .navbar-fixed-bottom {
93
+ .navbar-collapse {
94
+ max-height: $navbar-collapse-max-height;
95
+
96
+ @media (max-device-width: $screen-xs-min) and (orientation: landscape) {
97
+ max-height: 200px;
98
+ }
99
+ }
100
+ }
101
+
102
+
103
+ // Both navbar header and collapse
104
+ //
105
+ // When a container is present, change the behavior of the header and collapse.
106
+
107
+ .container,
108
+ .container-fluid {
109
+ > .navbar-header,
110
+ > .navbar-collapse {
111
+ margin-right: -$navbar-padding-horizontal;
112
+ margin-left: -$navbar-padding-horizontal;
113
+
114
+ @media (min-width: $grid-float-breakpoint) {
115
+ margin-right: 0;
116
+ margin-left: 0;
117
+ }
118
+ }
119
+ }
120
+
121
+
122
+ //
123
+ // Navbar alignment options
124
+ //
125
+ // Display the navbar across the entirety of the page or fixed it to the top or
126
+ // bottom of the page.
127
+
128
+ // Static top (unfixed, but 100% wide) navbar
129
+ .navbar-static-top {
130
+ z-index: $zindex-navbar;
131
+ border-width: 0 0 1px;
132
+
133
+ @media (min-width: $grid-float-breakpoint) {
134
+ border-radius: 0;
135
+ }
136
+ }
137
+
138
+ // Fix the top/bottom navbars when screen real estate supports it
139
+ .navbar-fixed-top,
140
+ .navbar-fixed-bottom {
141
+ position: fixed;
142
+ right: 0;
143
+ left: 0;
144
+ z-index: $zindex-navbar-fixed;
145
+
146
+ // Undo the rounded corners
147
+ @media (min-width: $grid-float-breakpoint) {
148
+ border-radius: 0;
149
+ }
150
+ }
151
+ .navbar-fixed-top {
152
+ top: 0;
153
+ border-width: 0 0 1px;
154
+ }
155
+ .navbar-fixed-bottom {
156
+ bottom: 0;
157
+ margin-bottom: 0; // override .navbar defaults
158
+ border-width: 1px 0 0;
159
+ }
160
+
161
+
162
+ // Brand/project name
163
+
164
+ .navbar-brand {
165
+ float: left;
166
+ padding: $navbar-padding-vertical $navbar-padding-horizontal;
167
+ font-size: $font-size-large;
168
+ line-height: $line-height-computed;
169
+ height: $navbar-height;
170
+
171
+ &:hover,
172
+ &:focus {
173
+ text-decoration: none;
174
+ }
175
+
176
+ > img {
177
+ display: block;
178
+ }
179
+
180
+ @media (min-width: $grid-float-breakpoint) {
181
+ .navbar > .container &,
182
+ .navbar > .container-fluid & {
183
+ margin-left: -$navbar-padding-horizontal;
184
+ }
185
+ }
186
+ }
187
+
188
+
189
+ // Navbar toggle
190
+ //
191
+ // Custom button for toggling the `.navbar-collapse`, powered by the collapse
192
+ // JavaScript plugin.
193
+
194
+ .navbar-toggle {
195
+ position: relative;
196
+ float: right;
197
+ margin-right: $navbar-padding-horizontal;
198
+ padding: 9px 10px;
199
+ @include navbar-vertical-align(34px);
200
+ background-color: transparent;
201
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
202
+ border: 1px solid transparent;
203
+ border-radius: $border-radius-base;
204
+
205
+ // We remove the `outline` here, but later compensate by attaching `:hover`
206
+ // styles to `:focus`.
207
+ &:focus {
208
+ outline: 0;
209
+ }
210
+
211
+ // Bars
212
+ .icon-bar {
213
+ display: block;
214
+ width: 22px;
215
+ height: 2px;
216
+ border-radius: 1px;
217
+ }
218
+ .icon-bar + .icon-bar {
219
+ margin-top: 4px;
220
+ }
221
+
222
+ @media (min-width: $grid-float-breakpoint) {
223
+ display: none;
224
+ }
225
+ }
226
+
227
+
228
+ // Navbar nav links
229
+ //
230
+ // Builds on top of the `.nav` components with its own modifier class to make
231
+ // the nav the full height of the horizontal nav (above 768px).
232
+
233
+ .navbar-nav {
234
+ margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);
235
+
236
+ > li > a {
237
+ padding-top: 10px;
238
+ padding-bottom: 10px;
239
+ line-height: $line-height-computed;
240
+ }
241
+
242
+ @media (max-width: $grid-float-breakpoint-max) {
243
+ // Dropdowns get custom display when collapsed
244
+ .open .dropdown-menu {
245
+ position: static;
246
+ float: none;
247
+ width: auto;
248
+ margin-top: 0;
249
+ background-color: transparent;
250
+ border: 0;
251
+ box-shadow: none;
252
+ > li > a,
253
+ .dropdown-header {
254
+ padding: 5px 15px 5px 25px;
255
+ }
256
+ > li > a {
257
+ line-height: $line-height-computed;
258
+ &:hover,
259
+ &:focus {
260
+ background-image: none;
261
+ }
262
+ }
263
+ }
264
+ }
265
+
266
+ // Uncollapse the nav
267
+ @media (min-width: $grid-float-breakpoint) {
268
+ float: left;
269
+ margin: 0;
270
+
271
+ > li {
272
+ float: left;
273
+ > a {
274
+ padding-top: $navbar-padding-vertical;
275
+ padding-bottom: $navbar-padding-vertical;
276
+ }
277
+ }
278
+ }
279
+ }
280
+
281
+
282
+ // Navbar form
283
+ //
284
+ // Extension of the `.form-inline` with some extra flavor for optimum display in
285
+ // our navbars.
286
+
287
+ .navbar-form {
288
+ margin-left: -$navbar-padding-horizontal;
289
+ margin-right: -$navbar-padding-horizontal;
290
+ padding: 10px $navbar-padding-horizontal;
291
+ border-top: 1px solid transparent;
292
+ border-bottom: 1px solid transparent;
293
+ $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
294
+ @include box-shadow($shadow);
295
+
296
+ // Mixin behavior for optimum display
297
+ @include form-inline;
298
+
299
+ .form-group {
300
+ @media (max-width: $grid-float-breakpoint-max) {
301
+ margin-bottom: 5px;
302
+
303
+ &:last-child {
304
+ margin-bottom: 0;
305
+ }
306
+ }
307
+ }
308
+
309
+ // Vertically center in expanded, horizontal navbar
310
+ @include navbar-vertical-align($input-height-base);
311
+
312
+ // Undo 100% width for pull classes
313
+ @media (min-width: $grid-float-breakpoint) {
314
+ width: auto;
315
+ border: 0;
316
+ margin-left: 0;
317
+ margin-right: 0;
318
+ padding-top: 0;
319
+ padding-bottom: 0;
320
+ @include box-shadow(none);
321
+ }
322
+ }
323
+
324
+
325
+ // Dropdown menus
326
+
327
+ // Menu position and menu carets
328
+ .navbar-nav > li > .dropdown-menu {
329
+ margin-top: 0;
330
+ @include border-top-radius(0);
331
+ }
332
+ // Menu position and menu caret support for dropups via extra dropup class
333
+ .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
334
+ margin-bottom: 0;
335
+ @include border-top-radius($navbar-border-radius);
336
+ @include border-bottom-radius(0);
337
+ }
338
+
339
+
340
+ // Buttons in navbars
341
+ //
342
+ // Vertically center a button within a navbar (when *not* in a form).
343
+
344
+ .navbar-btn {
345
+ @include navbar-vertical-align($input-height-base);
346
+
347
+ &.btn-sm {
348
+ @include navbar-vertical-align($input-height-small);
349
+ }
350
+ &.btn-xs {
351
+ @include navbar-vertical-align(22);
352
+ }
353
+ }
354
+
355
+
356
+ // Text in navbars
357
+ //
358
+ // Add a class to make any element properly align itself vertically within the navbars.
359
+
360
+ .navbar-text {
361
+ @include navbar-vertical-align($line-height-computed);
362
+
363
+ @media (min-width: $grid-float-breakpoint) {
364
+ float: left;
365
+ margin-left: $navbar-padding-horizontal;
366
+ margin-right: $navbar-padding-horizontal;
367
+ }
368
+ }
369
+
370
+
371
+ // Component alignment
372
+ //
373
+ // Repurpose the pull utilities as their own navbar utilities to avoid specificity
374
+ // issues with parents and chaining. Only do this when the navbar is uncollapsed
375
+ // though so that navbar contents properly stack and align in mobile.
376
+ //
377
+ // Declared after the navbar components to ensure more specificity on the margins.
378
+
379
+ @media (min-width: $grid-float-breakpoint) {
380
+ .navbar-left {
381
+ float: left !important;
382
+ }
383
+ .navbar-right {
384
+ float: right !important;
385
+ margin-right: -$navbar-padding-horizontal;
386
+
387
+ ~ .navbar-right {
388
+ margin-right: 0;
389
+ }
390
+ }
391
+ }
392
+
393
+
394
+ // Alternate navbars
395
+ // --------------------------------------------------
396
+
397
+ // Default navbar
398
+ .navbar-default {
399
+ background-color: $navbar-default-bg;
400
+ border-color: $navbar-default-border;
401
+
402
+ .navbar-brand {
403
+ color: $navbar-default-brand-color;
404
+ &:hover,
405
+ &:focus {
406
+ color: $navbar-default-brand-hover-color;
407
+ background-color: $navbar-default-brand-hover-bg;
408
+ }
409
+ }
410
+
411
+ .navbar-text {
412
+ color: $navbar-default-color;
413
+ }
414
+
415
+ .navbar-nav {
416
+ > li > a {
417
+ color: $navbar-default-link-color;
418
+
419
+ &:hover,
420
+ &:focus {
421
+ color: $navbar-default-link-hover-color;
422
+ background-color: $navbar-default-link-hover-bg;
423
+ }
424
+ }
425
+ > .active > a {
426
+ &,
427
+ &:hover,
428
+ &:focus {
429
+ color: $navbar-default-link-active-color;
430
+ background-color: $navbar-default-link-active-bg;
431
+ }
432
+ }
433
+ > .disabled > a {
434
+ &,
435
+ &:hover,
436
+ &:focus {
437
+ color: $navbar-default-link-disabled-color;
438
+ background-color: $navbar-default-link-disabled-bg;
439
+ }
440
+ }
441
+ }
442
+
443
+ .navbar-toggle {
444
+ border-color: $navbar-default-toggle-border-color;
445
+ &:hover,
446
+ &:focus {
447
+ background-color: $navbar-default-toggle-hover-bg;
448
+ }
449
+ .icon-bar {
450
+ background-color: $navbar-default-toggle-icon-bar-bg;
451
+ }
452
+ }
453
+
454
+ .navbar-collapse,
455
+ .navbar-form {
456
+ border-color: $navbar-default-border;
457
+ }
458
+
459
+ // Dropdown menu items
460
+ .navbar-nav {
461
+ // Remove background color from open dropdown
462
+ > .open > a {
463
+ &,
464
+ &:hover,
465
+ &:focus {
466
+ background-color: $navbar-default-link-active-bg;
467
+ color: $navbar-default-link-active-color;
468
+ }
469
+ }
470
+
471
+ @media (max-width: $grid-float-breakpoint-max) {
472
+ // Dropdowns get custom display when collapsed
473
+ .open .dropdown-menu {
474
+ > li > a {
475
+ color: $navbar-default-link-color;
476
+ &:hover,
477
+ &:focus {
478
+ color: $navbar-default-link-hover-color;
479
+ background-color: $navbar-default-link-hover-bg;
480
+ }
481
+ }
482
+ > .active > a {
483
+ &,
484
+ &:hover,
485
+ &:focus {
486
+ color: $navbar-default-link-active-color;
487
+ background-color: $navbar-default-link-active-bg;
488
+ }
489
+ }
490
+ > .disabled > a {
491
+ &,
492
+ &:hover,
493
+ &:focus {
494
+ color: $navbar-default-link-disabled-color;
495
+ background-color: $navbar-default-link-disabled-bg;
496
+ }
497
+ }
498
+ }
499
+ }
500
+ }
501
+
502
+
503
+ // Links in navbars
504
+ //
505
+ // Add a class to ensure links outside the navbar nav are colored correctly.
506
+
507
+ .navbar-link {
508
+ color: $navbar-default-link-color;
509
+ &:hover {
510
+ color: $navbar-default-link-hover-color;
511
+ }
512
+ }
513
+
514
+ .btn-link {
515
+ color: $navbar-default-link-color;
516
+ &:hover,
517
+ &:focus {
518
+ color: $navbar-default-link-hover-color;
519
+ }
520
+ &[disabled],
521
+ fieldset[disabled] & {
522
+ &:hover,
523
+ &:focus {
524
+ color: $navbar-default-link-disabled-color;
525
+ }
526
+ }
527
+ }
528
+ }
529
+
530
+ // Inverse navbar
531
+
532
+ .navbar-inverse {
533
+ background-color: $navbar-inverse-bg;
534
+ border-color: $navbar-inverse-border;
535
+
536
+ .navbar-brand {
537
+ color: $navbar-inverse-brand-color;
538
+ &:hover,
539
+ &:focus {
540
+ color: $navbar-inverse-brand-hover-color;
541
+ background-color: $navbar-inverse-brand-hover-bg;
542
+ }
543
+ }
544
+
545
+ .navbar-text {
546
+ color: $navbar-inverse-color;
547
+ }
548
+
549
+ .navbar-nav {
550
+ > li > a {
551
+ color: $navbar-inverse-link-color;
552
+
553
+ &:hover,
554
+ &:focus {
555
+ color: $navbar-inverse-link-hover-color;
556
+ background-color: $navbar-inverse-link-hover-bg;
557
+ }
558
+ }
559
+ > .active > a {
560
+ &,
561
+ &:hover,
562
+ &:focus {
563
+ color: $navbar-inverse-link-active-color;
564
+ background-color: $navbar-inverse-link-active-bg;
565
+ }
566
+ }
567
+ > .disabled > a {
568
+ &,
569
+ &:hover,
570
+ &:focus {
571
+ color: $navbar-inverse-link-disabled-color;
572
+ background-color: $navbar-inverse-link-disabled-bg;
573
+ }
574
+ }
575
+ }
576
+
577
+ // Darken the responsive nav toggle
578
+ .navbar-toggle {
579
+ border-color: $navbar-inverse-toggle-border-color;
580
+ &:hover,
581
+ &:focus {
582
+ background-color: $navbar-inverse-toggle-hover-bg;
583
+ }
584
+ .icon-bar {
585
+ background-color: $navbar-inverse-toggle-icon-bar-bg;
586
+ }
587
+ }
588
+
589
+ .navbar-collapse,
590
+ .navbar-form {
591
+ border-color: darken($navbar-inverse-bg, 7%);
592
+ }
593
+
594
+ // Dropdowns
595
+ .navbar-nav {
596
+ > .open > a {
597
+ &,
598
+ &:hover,
599
+ &:focus {
600
+ background-color: $navbar-inverse-link-active-bg;
601
+ color: $navbar-inverse-link-active-color;
602
+ }
603
+ }
604
+
605
+ @media (max-width: $grid-float-breakpoint-max) {
606
+ // Dropdowns get custom display
607
+ .open .dropdown-menu {
608
+ > .dropdown-header {
609
+ border-color: $navbar-inverse-border;
610
+ }
611
+ .divider {
612
+ background-color: $navbar-inverse-border;
613
+ }
614
+ > li > a {
615
+ color: $navbar-inverse-link-color;
616
+ &:hover,
617
+ &:focus {
618
+ color: $navbar-inverse-link-hover-color;
619
+ background-color: $navbar-inverse-link-hover-bg;
620
+ }
621
+ }
622
+ > .active > a {
623
+ &,
624
+ &:hover,
625
+ &:focus {
626
+ color: $navbar-inverse-link-active-color;
627
+ background-color: $navbar-inverse-link-active-bg;
628
+ }
629
+ }
630
+ > .disabled > a {
631
+ &,
632
+ &:hover,
633
+ &:focus {
634
+ color: $navbar-inverse-link-disabled-color;
635
+ background-color: $navbar-inverse-link-disabled-bg;
636
+ }
637
+ }
638
+ }
639
+ }
640
+ }
641
+
642
+ .navbar-link {
643
+ color: $navbar-inverse-link-color;
644
+ &:hover {
645
+ color: $navbar-inverse-link-hover-color;
646
+ }
647
+ }
648
+
649
+ .btn-link {
650
+ color: $navbar-inverse-link-color;
651
+ &:hover,
652
+ &:focus {
653
+ color: $navbar-inverse-link-hover-color;
654
+ }
655
+ &[disabled],
656
+ fieldset[disabled] & {
657
+ &:hover,
658
+ &:focus {
659
+ color: $navbar-inverse-link-disabled-color;
660
+ }
661
+ }
662
+ }
663
+ }