zurb-foundation-5 5.2.2

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 (123) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/.editorconfig +9 -0
  4. data/.gitignore +46 -0
  5. data/.travis.yml +34 -0
  6. data/CONTRIBUTING.md +55 -0
  7. data/Gemfile +3 -0
  8. data/Gemfile.lock +16 -0
  9. data/Gruntfile.js +222 -0
  10. data/LICENSE +22 -0
  11. data/README.md +44 -0
  12. data/bower.json +20 -0
  13. data/composer.json +9 -0
  14. data/foundation.gemspec +21 -0
  15. data/humans.txt +8 -0
  16. data/js/foundation/foundation.abide.js +299 -0
  17. data/js/foundation/foundation.accordion.js +54 -0
  18. data/js/foundation/foundation.alert.js +43 -0
  19. data/js/foundation/foundation.clearing.js +531 -0
  20. data/js/foundation/foundation.dropdown.js +306 -0
  21. data/js/foundation/foundation.equalizer.js +68 -0
  22. data/js/foundation/foundation.interchange.js +331 -0
  23. data/js/foundation/foundation.joyride.js +849 -0
  24. data/js/foundation/foundation.js +609 -0
  25. data/js/foundation/foundation.magellan.js +173 -0
  26. data/js/foundation/foundation.offcanvas.js +50 -0
  27. data/js/foundation/foundation.orbit.js +606 -0
  28. data/js/foundation/foundation.reveal.js +427 -0
  29. data/js/foundation/foundation.slider.js +200 -0
  30. data/js/foundation/foundation.tab.js +168 -0
  31. data/js/foundation/foundation.tooltip.js +272 -0
  32. data/js/foundation/foundation.topbar.js +422 -0
  33. data/karma.conf.js +114 -0
  34. data/lib/foundation/engine.rb +20 -0
  35. data/lib/foundation/generators/USAGE +15 -0
  36. data/lib/foundation/generators/install_generator.rb +54 -0
  37. data/lib/foundation/generators/templates/application.html.erb +47 -0
  38. data/lib/foundation/generators/templates/application.html.haml +31 -0
  39. data/lib/foundation/generators/templates/application.html.slim +35 -0
  40. data/lib/foundation/sprockets.rb +4 -0
  41. data/lib/foundation/version.rb +3 -0
  42. data/lib/scss.js +114 -0
  43. data/lib/zurb-foundation.rb +33 -0
  44. data/package.json +48 -0
  45. data/robots.txt +4 -0
  46. data/run-tests.sh +83 -0
  47. data/sache.json +5 -0
  48. data/scss/foundation.scss +45 -0
  49. data/scss/foundation/_functions.scss +101 -0
  50. data/scss/foundation/_settings.scss +1279 -0
  51. data/scss/foundation/components/_accordion.scss +52 -0
  52. data/scss/foundation/components/_alert-boxes.scss +126 -0
  53. data/scss/foundation/components/_block-grid.scss +132 -0
  54. data/scss/foundation/components/_breadcrumbs.scss +127 -0
  55. data/scss/foundation/components/_button-groups.scss +108 -0
  56. data/scss/foundation/components/_buttons.scss +222 -0
  57. data/scss/foundation/components/_clearing.scss +247 -0
  58. data/scss/foundation/components/_dropdown-buttons.scss +129 -0
  59. data/scss/foundation/components/_dropdown.scss +248 -0
  60. data/scss/foundation/components/_flex-video.scss +51 -0
  61. data/scss/foundation/components/_forms.scss +496 -0
  62. data/scss/foundation/components/_global.scss +365 -0
  63. data/scss/foundation/components/_grid.scss +261 -0
  64. data/scss/foundation/components/_inline-lists.scss +56 -0
  65. data/scss/foundation/components/_joyride.scss +220 -0
  66. data/scss/foundation/components/_keystrokes.scss +61 -0
  67. data/scss/foundation/components/_labels.scss +104 -0
  68. data/scss/foundation/components/_magellan.scss +34 -0
  69. data/scss/foundation/components/_offcanvas.scss +381 -0
  70. data/scss/foundation/components/_orbit.scss +415 -0
  71. data/scss/foundation/components/_pagination.scss +150 -0
  72. data/scss/foundation/components/_panels.scss +91 -0
  73. data/scss/foundation/components/_pricing-tables.scss +150 -0
  74. data/scss/foundation/components/_progress-bars.scss +79 -0
  75. data/scss/foundation/components/_range-slider.scss +148 -0
  76. data/scss/foundation/components/_reveal-new.scss +0 -0
  77. data/scss/foundation/components/_reveal.scss +216 -0
  78. data/scss/foundation/components/_side-nav.scss +93 -0
  79. data/scss/foundation/components/_split-buttons.scss +191 -0
  80. data/scss/foundation/components/_sub-nav.scss +125 -0
  81. data/scss/foundation/components/_switch.scss +294 -0
  82. data/scss/foundation/components/_tables.scss +97 -0
  83. data/scss/foundation/components/_tabs.scss +105 -0
  84. data/scss/foundation/components/_thumbs.scss +68 -0
  85. data/scss/foundation/components/_tooltips.scss +140 -0
  86. data/scss/foundation/components/_top-bar.scss +640 -0
  87. data/scss/foundation/components/_type.scss +493 -0
  88. data/scss/foundation/components/_visibility.scss +345 -0
  89. data/scss/foundation/test.html +0 -0
  90. data/scss/normalize.scss +423 -0
  91. data/spec/abide/abide.js +173 -0
  92. data/spec/abide/advanced.html +22 -0
  93. data/spec/abide/basic.html +13 -0
  94. data/spec/accordion/accordion.js +94 -0
  95. data/spec/accordion/basic.html +39 -0
  96. data/spec/accordion/grid.html +44 -0
  97. data/spec/accordion/multiexpand.html +20 -0
  98. data/spec/alert/alert.js +35 -0
  99. data/spec/alert/basic.html +4 -0
  100. data/spec/clearing/222.gif +0 -0
  101. data/spec/clearing/777.gif +0 -0
  102. data/spec/clearing/basic.html +5 -0
  103. data/spec/clearing/ccc.gif +0 -0
  104. data/spec/clearing/clearing.js +55 -0
  105. data/spec/dropdown/basic.html +10 -0
  106. data/spec/dropdown/dropdown.js +65 -0
  107. data/spec/equalizer/basic.html +24 -0
  108. data/spec/equalizer/equalizer.js +30 -0
  109. data/spec/framework/framework.js +14 -0
  110. data/spec/helpers.js +37 -0
  111. data/spec/interchange/basic.html +3 -0
  112. data/spec/interchange/interchange.js +60 -0
  113. data/spec/joyride/joyride.js +14 -0
  114. data/spec/magellan/magellan.js +14 -0
  115. data/spec/offcanvas/offcanvas.js +14 -0
  116. data/spec/orbit/orbit.js +14 -0
  117. data/spec/reveal/reveal.js +14 -0
  118. data/spec/tab/tab.js +14 -0
  119. data/spec/tooltip/tooltip.js +14 -0
  120. data/spec/topbar/multidropdown.html +60 -0
  121. data/spec/topbar/sticky.html +31 -0
  122. data/spec/topbar/topbar.js +96 -0
  123. metadata +238 -0
@@ -0,0 +1,97 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+
7
+ //
8
+ // @name _tables.scss
9
+ // @dependencies _global.scss
10
+ //
11
+
12
+ //
13
+ // @variables
14
+ //
15
+
16
+ $include-html-table-classes: $include-html-classes !default;
17
+
18
+ // These control the background color for the table and even rows
19
+ $table-bg: #fff !default;
20
+ $table-even-row-bg: #f9f9f9 !default;
21
+
22
+ // These control the table cell border style
23
+ $table-border-style: solid !default;
24
+ $table-border-size: 1px !default;
25
+ $table-border-color: #ddd !default;
26
+
27
+ // These control the table head styles
28
+ $table-head-bg: #f5f5f5 !default;
29
+ $table-head-font-size: rem-calc(14) !default;
30
+ $table-head-font-color: #222 !default;
31
+ $table-head-font-weight: bold !default;
32
+ $table-head-padding: rem-calc(8 10 10) !default;
33
+
34
+ // These control the row padding and font styles
35
+ $table-row-padding: rem-calc(9 10) !default;
36
+ $table-row-font-size: rem-calc(14) !default;
37
+ $table-row-font-color: #222 !default;
38
+ $table-line-height: rem-calc(18) !default;
39
+
40
+ // These are for controlling the display and margin of tables
41
+ $table-display: table-cell !default;
42
+ $table-margin-bottom: rem-calc(20) !default;
43
+
44
+
45
+ //
46
+ // @mixins
47
+ //
48
+
49
+ @mixin table {
50
+ background: $table-bg;
51
+ margin-bottom: $table-margin-bottom;
52
+ border: $table-border-style $table-border-size $table-border-color;
53
+
54
+ thead,
55
+ tfoot {
56
+ background: $table-head-bg;
57
+
58
+ tr {
59
+ th,
60
+ td {
61
+ padding: $table-head-padding;
62
+ font-size: $table-head-font-size;
63
+ font-weight: $table-head-font-weight;
64
+ color: $table-head-font-color;
65
+ text-align: $default-float;
66
+ }
67
+ }
68
+ }
69
+
70
+ tr {
71
+ th,
72
+ td {
73
+ padding: $table-row-padding;
74
+ font-size: $table-row-font-size;
75
+ color: $table-row-font-color;
76
+ }
77
+
78
+ &.even,
79
+ &.alt,
80
+ &:nth-of-type(even) { background: $table-even-row-bg; }
81
+ }
82
+
83
+ thead tr th,
84
+ tfoot tr th,
85
+ tbody tr td,
86
+ tr td,
87
+ tfoot tr td { display: $table-display; line-height: $table-line-height; }
88
+ }
89
+
90
+
91
+ @include exports("table") {
92
+ @if $include-html-table-classes {
93
+ table {
94
+ @include table;
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,105 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+ @import "grid";
7
+
8
+ //
9
+ // @variables
10
+ //
11
+
12
+ $include-html-tabs-classes: $include-html-classes !default;
13
+
14
+ $tabs-navigation-padding: rem-calc(16) !default;
15
+ $tabs-navigation-bg-color: #efefef !default;
16
+ $tabs-navigation-active-bg-color: #fff !default;
17
+ $tabs-navigation-hover-bg-color: scale-color($tabs-navigation-bg-color, $lightness: -6%) !default;
18
+ $tabs-navigation-font-color: #222 !default;
19
+ $tabs-navigation-font-size: rem-calc(16) !default;
20
+ $tabs-navigation-font-family: $body-font-family !default;
21
+
22
+ $tabs-content-margin-bottom: rem-calc(24) !default;
23
+ $tabs-content-padding: $column-gutter/2 !default;
24
+
25
+ $tabs-vertical-navigation-margin-bottom: 1.25rem !default;
26
+
27
+ @include exports("tab") {
28
+ @if $include-html-tabs-classes {
29
+ .tabs {
30
+ @include clearfix;
31
+ margin-bottom: 0 !important;
32
+ dd {
33
+ position: relative;
34
+ margin-bottom: 0 !important;
35
+ float: $default-float;
36
+ > a {
37
+ display: block;
38
+ background: $tabs-navigation-bg-color;
39
+ color: $tabs-navigation-font-color;
40
+ padding: $tabs-navigation-padding $tabs-navigation-padding * 2;
41
+ font-family: $tabs-navigation-font-family;
42
+ font-size: $tabs-navigation-font-size;
43
+ &:hover { background: $tabs-navigation-hover-bg-color; }
44
+ }
45
+ &.active a { background: $tabs-navigation-active-bg-color; }
46
+ }
47
+ &.radius {
48
+ dd:first-child {
49
+ a { @include side-radius($default-float, $global-radius); }
50
+ }
51
+ dd:last-child {
52
+ a { @include side-radius($opposite-direction, $global-radius); }
53
+ }
54
+ }
55
+ &.vertical {
56
+ dd {
57
+ position: inherit;
58
+ float: none;
59
+ display: block;
60
+ top: auto;
61
+ }
62
+ }
63
+ }
64
+
65
+ .tabs-content {
66
+ @include clearfix;
67
+ margin-bottom: $tabs-content-margin-bottom;
68
+ width: 100%;
69
+ > .content {
70
+ display: none;
71
+ float: $default-float;
72
+ padding: $tabs-content-padding 0;
73
+ width: 100%;
74
+ &.active { display: block; float: none; }
75
+ &.contained { padding: $tabs-content-padding; }
76
+ }
77
+ &.vertical {
78
+ display: block;
79
+ > .content { padding: 0 $tabs-content-padding; }
80
+ }
81
+ }
82
+ @media #{$medium-up} {
83
+ .tabs {
84
+ &.vertical {
85
+ width: 20%;
86
+ float: $default-float;
87
+ margin-bottom: $tabs-vertical-navigation-margin-bottom;
88
+ }
89
+ }
90
+ .tabs-content {
91
+ &.vertical {
92
+ width: 80%;
93
+ float: $default-float;
94
+ margin-#{$default-float}: -1px;
95
+ }
96
+ }
97
+ }
98
+ .no-js {
99
+ .tabs-content > .content {
100
+ display: block;
101
+ float: none;
102
+ }
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,68 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+
7
+
8
+
9
+ //
10
+ // @name _thumbs.scss
11
+ // @dependencies _globals.scss
12
+ //
13
+
14
+ //
15
+ // @variables
16
+ //
17
+
18
+ $include-html-media-classes: $include-html-classes !default;
19
+
20
+ // We use these to control border styles
21
+ $thumb-border-style: solid !default;
22
+ $thumb-border-width: 4px !default;
23
+ $thumb-border-color: #fff !default;
24
+ $thumb-box-shadow: 0 0 0 1px rgba(#000,.2) !default;
25
+ $thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5) !default;
26
+
27
+ // Radius and transition speed for thumbs
28
+ $thumb-radius: $global-radius !default;
29
+ $thumb-transition-speed: 200ms !default;
30
+
31
+ //
32
+ // @mixins
33
+ //
34
+
35
+ // We use this to create image thumbnail styles.
36
+ //
37
+ // $border-width - Width of border around thumbnail. Default: $thumb-border-width.
38
+ // $box-shadow - Box shadow to apply to thumbnail. Default: $thumb-box-shadow.
39
+ // $box-shadow-hover - Box shadow to apply on hover. Default: $thumb-box-shadow-hover.
40
+ @mixin thumb(
41
+ $border-width:$thumb-border-width,
42
+ $box-shadow:$thumb-box-shadow,
43
+ $box-shadow-hover:$thumb-box-shadow-hover) {
44
+ line-height: 0;
45
+ display: inline-block;
46
+ border: $thumb-border-style $border-width $thumb-border-color;
47
+ max-width: 100%;
48
+ box-shadow: $box-shadow;
49
+
50
+ &:hover,
51
+ &:focus {
52
+ box-shadow: $box-shadow-hover;
53
+ }
54
+ }
55
+
56
+
57
+ @include exports("thumb") {
58
+ @if $include-html-media-classes {
59
+
60
+ /* Image Thumbnails */
61
+ .th {
62
+ @include thumb;
63
+ @include single-transition(all,$thumb-transition-speed,ease-out);
64
+
65
+ &.radius { @include radius($thumb-radius); }
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,140 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+
7
+ //
8
+ // Tooltip Variables
9
+ //
10
+ $include-html-tooltip-classes: $include-html-classes !default;
11
+
12
+ $has-tip-border-bottom: dotted 1px #ccc !default;
13
+ $has-tip-font-weight: bold !default;
14
+ $has-tip-font-color: #333 !default;
15
+ $has-tip-border-bottom-hover: dotted 1px scale-color($primary-color, $lightness: -55%) !default;
16
+ $has-tip-font-color-hover: $primary-color !default;
17
+ $has-tip-cursor-type: help !default;
18
+
19
+ $tooltip-padding: rem-calc(12) !default;
20
+ $tooltip-bg: #333 !default;
21
+ $tooltip-font-size: rem-calc(14) !default;
22
+ $tooltip-font-weight: normal !default;
23
+ $tooltip-font-color: #fff !default;
24
+ $tooltip-line-height: 1.3 !default;
25
+ $tooltip-close-font-size: rem-calc(10) !default;
26
+ $tooltip-close-font-weight: normal !default;
27
+ $tooltip-close-font-color: #777 !default;
28
+ $tooltip-font-size-sml: rem-calc(14) !default;
29
+ $tooltip-radius: $global-radius !default;
30
+ $tooltip-rounded: $global-rounded !default;
31
+ $tooltip-pip-size: 5px !default;
32
+
33
+ @include exports("tooltip") {
34
+ @if $include-html-tooltip-classes {
35
+
36
+ /* Tooltips */
37
+ .has-tip {
38
+ border-bottom: $has-tip-border-bottom;
39
+ cursor: $has-tip-cursor-type;
40
+ font-weight: $has-tip-font-weight;
41
+ color: $has-tip-font-color;
42
+
43
+ &:hover,
44
+ &:focus {
45
+ border-bottom: $has-tip-border-bottom-hover;
46
+ color: $has-tip-font-color-hover;
47
+ }
48
+
49
+ &.tip-left,
50
+ &.tip-right { float: none !important; }
51
+ }
52
+
53
+ .tooltip {
54
+ display: none;
55
+ position: absolute;
56
+ z-index: 999;
57
+ font-weight: $tooltip-font-weight;
58
+ font-size: $tooltip-font-size;
59
+ line-height: $tooltip-line-height;
60
+ padding: $tooltip-padding;
61
+ max-width: 85%;
62
+ #{$default-float}: 50%;
63
+ width: 100%;
64
+ color: $tooltip-font-color;
65
+ background: $tooltip-bg;
66
+
67
+ &>.nub {
68
+ display: block;
69
+ #{$default-float}: $tooltip-pip-size;
70
+ position: absolute;
71
+ width: 0;
72
+ height: 0;
73
+ border: solid $tooltip-pip-size;
74
+ border-color: transparent transparent $tooltip-bg transparent;
75
+ top: -($tooltip-pip-size * 2);
76
+
77
+ &.rtl {
78
+ left: auto;
79
+ #{$opposite-direction}: $tooltip-pip-size;
80
+ }
81
+ }
82
+
83
+ &.radius {
84
+ @include radius($tooltip-radius);
85
+ }
86
+ &.round {
87
+ @include radius($tooltip-rounded);
88
+ &>.nub {
89
+ left: 2rem;
90
+ }
91
+ }
92
+
93
+ &.opened {
94
+ color: $has-tip-font-color-hover !important;
95
+ border-bottom: $has-tip-border-bottom-hover !important;
96
+ }
97
+ }
98
+
99
+ .tap-to-close {
100
+ display: block;
101
+ font-size: $tooltip-close-font-size;
102
+ color: $tooltip-close-font-color;
103
+ font-weight: $tooltip-close-font-weight;
104
+ }
105
+
106
+ @media #{$small} {
107
+ .tooltip {
108
+ &>.nub {
109
+ border-color: transparent transparent $tooltip-bg transparent;
110
+ top: -($tooltip-pip-size * 2);
111
+ }
112
+ &.tip-top>.nub {
113
+ border-color: $tooltip-bg transparent transparent transparent;
114
+ top: auto;
115
+ bottom: -($tooltip-pip-size * 2);
116
+ }
117
+
118
+ &.tip-left,
119
+ &.tip-right { float: none !important; }
120
+
121
+ &.tip-left>.nub {
122
+ border-color: transparent transparent transparent $tooltip-bg;
123
+ right: -($tooltip-pip-size * 2);
124
+ left: auto;
125
+ top: 50%;
126
+ margin-top: -$tooltip-pip-size;
127
+ }
128
+ &.tip-right>.nub {
129
+ border-color: transparent $tooltip-bg transparent transparent;
130
+ right: auto;
131
+ left: -($tooltip-pip-size * 2);
132
+ top: 50%;
133
+ margin-top: -$tooltip-pip-size;
134
+ }
135
+
136
+ }
137
+ }
138
+
139
+ }
140
+ }
@@ -0,0 +1,640 @@
1
+ // Foundation by ZURB
2
+ // foundation.zurb.com
3
+ // Licensed under MIT Open Source
4
+
5
+ @import "global";
6
+ @import "grid";
7
+ @import "buttons";
8
+
9
+ //
10
+ // Top Bar Variables
11
+ //
12
+ $include-html-top-bar-classes: $include-html-classes !default;
13
+
14
+ // Background color for the top bar
15
+ $topbar-bg-color: #333 !default;
16
+ $topbar-bg: $topbar-bg-color !default;
17
+
18
+ // Height and margin
19
+ $topbar-height: 45px !default;
20
+ $topbar-margin-bottom: 0 !default;
21
+
22
+ // Controlling the styles for the title in the top bar
23
+ $topbar-title-weight: normal !default;
24
+ $topbar-title-font-size: rem-calc(17) !default;
25
+
26
+ // Style the top bar dropdown elements
27
+ $topbar-dropdown-bg: #333 !default;
28
+ $topbar-dropdown-link-color: #fff !default;
29
+ $topbar-dropdown-link-bg: #333 !default;
30
+ $topbar-dropdown-link-weight: normal !default;
31
+ $topbar-dropdown-toggle-size: 5px !default;
32
+ $topbar-dropdown-toggle-color: #fff !default;
33
+ $topbar-dropdown-toggle-alpha: 0.4 !default;
34
+
35
+ // Set the link colors and styles for top-level nav
36
+ $topbar-link-color: #fff !default;
37
+ $topbar-link-color-hover: #fff !default;
38
+ $topbar-link-color-active: #fff !default;
39
+ $topbar-link-color-active-hover: #fff !default;
40
+ $topbar-link-weight: normal !default;
41
+ $topbar-link-font-size: rem-calc(13) !default;
42
+ $topbar-link-hover-lightness: -10% !default; // Darken by 10%
43
+ $topbar-link-bg: $topbar-bg !default;
44
+ $topbar-link-bg-hover: #272727 !default;
45
+ $topbar-link-bg-active: $primary-color !default;
46
+ $topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%) !default;
47
+ $topbar-link-font-family: $body-font-family !default;
48
+ $topbar-link-text-transform: none !default;
49
+ $topbar-link-padding: $topbar-height / 3 !default;
50
+
51
+ $topbar-button-font-size: 0.75rem !default;
52
+ $topbar-button-top: 7px !default;
53
+
54
+ $topbar-dropdown-label-color: #777 !default;
55
+ $topbar-dropdown-label-text-transform: uppercase !default;
56
+ $topbar-dropdown-label-font-weight: bold !default;
57
+ $topbar-dropdown-label-font-size: rem-calc(10) !default;
58
+ $topbar-dropdown-label-bg: #333 !default;
59
+
60
+ // Top menu icon styles
61
+ $topbar-menu-link-transform: uppercase !default;
62
+ $topbar-menu-link-font-size: rem-calc(13) !default;
63
+ $topbar-menu-link-weight: bold !default;
64
+ $topbar-menu-link-color: #fff !default;
65
+ $topbar-menu-icon-color: #fff !default;
66
+ $topbar-menu-link-color-toggled: #888 !default;
67
+ $topbar-menu-icon-color-toggled: #888 !default;
68
+
69
+ // Transitions and breakpoint styles
70
+ $topbar-transition-speed: 300ms !default;
71
+ // Using rem-calc for the below breakpoint causes issues with top bar
72
+ $topbar-breakpoint: #{lower-bound($medium-range)} !default; // Change to 9999px for always mobile layout
73
+ $topbar-media-query: $medium-up !default;
74
+
75
+ // Divider Styles
76
+ $topbar-divider-border-bottom: solid 1px scale-color($topbar-bg-color, $lightness: 13%) !default;
77
+ $topbar-divider-border-top: solid 1px scale-color($topbar-bg-color, $lightness: -50%) !default;
78
+
79
+ // Sticky Class
80
+ $topbar-sticky-class: ".sticky" !default;
81
+ $topbar-arrows: true !default; //Set false to remove the triangle icon from the menu item
82
+
83
+ // Accessibility mixins for hiding and showing the menu dropdown items
84
+ @mixin topbar-hide-dropdown {
85
+ // Makes an element visually hidden by default, but visible when focused.
86
+ display: block;
87
+ @include element-invisible();
88
+ }
89
+
90
+ @mixin topbar-show-dropdown {
91
+ display: block;
92
+ @include element-invisible-off();
93
+ position: absolute !important; // Reset the position from static to absolute
94
+ }
95
+
96
+ @include exports("top-bar") {
97
+
98
+ @if $include-html-top-bar-classes {
99
+
100
+ // Used to provide media query values for javascript components.
101
+ // This class is generated despite the value of $include-html-top-bar-classes
102
+ // to ensure width calculations work correctly.
103
+ meta.foundation-mq-topbar {
104
+ font-family: "/" + unquote($topbar-media-query) + "/";
105
+ width: $topbar-breakpoint;
106
+ }
107
+
108
+ /* Wrapped around .top-bar to contain to grid width */
109
+ .contain-to-grid {
110
+ width: 100%;
111
+ background: $topbar-bg;
112
+
113
+ .top-bar { margin-bottom: $topbar-margin-bottom; }
114
+ }
115
+
116
+ // Wrapped around .top-bar to make it stick to the top
117
+ .fixed {
118
+ width: 100%;
119
+ #{$default-float}: 0;
120
+ position: fixed;
121
+ top: 0;
122
+ z-index: 99;
123
+
124
+ &.expanded:not(.top-bar) {
125
+ overflow-y: auto;
126
+ height: auto;
127
+ width: 100%;
128
+ max-height: 100%;
129
+
130
+ .title-area {
131
+ position: fixed;
132
+ width: 100%;
133
+ z-index: 99;
134
+ }
135
+ // Ensure you can scroll the menu on small screens
136
+ .top-bar-section {
137
+ z-index: 98;
138
+ margin-top: $topbar-height;
139
+ }
140
+ }
141
+ }
142
+
143
+ .top-bar {
144
+ overflow: hidden;
145
+ height: $topbar-height;
146
+ line-height: $topbar-height;
147
+ position: relative;
148
+ background: $topbar-bg;
149
+ margin-bottom: $topbar-margin-bottom;
150
+
151
+ // Topbar Global list Styles
152
+ ul {
153
+ margin-bottom: 0;
154
+ list-style: none;
155
+ }
156
+
157
+ .row { max-width: none; }
158
+
159
+ form,
160
+ input { margin-bottom: 0; }
161
+
162
+ input { height: auto; padding-top: .35rem; padding-bottom: .35rem; font-size: $topbar-button-font-size; }
163
+
164
+ .button, button {
165
+ padding-top: .45rem;
166
+ padding-bottom: .35rem;
167
+ margin-bottom: 0;
168
+ font-size: $topbar-button-font-size;
169
+ // position: relative;
170
+ // top: -1px;
171
+
172
+ }
173
+
174
+ // Title Area
175
+ .title-area {
176
+ position: relative;
177
+ margin: 0;
178
+ }
179
+
180
+ .name {
181
+ height: $topbar-height;
182
+ margin: 0;
183
+ font-size: $rem-base;
184
+
185
+ h1 {
186
+ line-height: $topbar-height;
187
+ font-size: $topbar-title-font-size;
188
+ margin: 0;
189
+ a {
190
+ font-weight: $topbar-title-weight;
191
+ color: $topbar-link-color;
192
+ width: 75%;
193
+ display: block;
194
+ padding: 0 $topbar-link-padding;
195
+ }
196
+ }
197
+ }
198
+
199
+ // Menu toggle button on small devices
200
+ .toggle-topbar {
201
+ position: absolute;
202
+ #{$opposite-direction}: 0;
203
+ top: 0;
204
+
205
+ a {
206
+ color: $topbar-link-color;
207
+ text-transform: $topbar-menu-link-transform;
208
+ font-size: $topbar-menu-link-font-size;
209
+ font-weight: $topbar-menu-link-weight;
210
+ position: relative;
211
+ display: block;
212
+ padding: 0 $topbar-link-padding;
213
+ height: $topbar-height;
214
+ line-height: $topbar-height;
215
+ }
216
+
217
+ // Adding the class "menu-icon" will add the 3-line icon people love and adore.
218
+ &.menu-icon {
219
+ #{$opposite-direction}: $topbar-link-padding;
220
+ top: 50%;
221
+ margin-top: -16px;
222
+ padding-#{$default-float}: 40px;
223
+
224
+ a {
225
+ @if $text-direction == rtl {
226
+ text-indent: -58px;
227
+ }
228
+ height: 34px;
229
+ line-height: 33px;
230
+ padding: 0;
231
+ padding-right: 25px;
232
+ color: $topbar-menu-link-color;
233
+ position: relative;
234
+
235
+ &::after {
236
+ content:"";
237
+ position: absolute;
238
+ #{$opposite-direction}: 0;
239
+ display: block;
240
+ width: 16px;
241
+ top:0;
242
+ height: 0;
243
+ // Shh, don't tell, but box-shadows create the menu icon :)
244
+ box-shadow: 0 10px 0 1px $topbar-menu-icon-color,
245
+ 0 16px 0 1px $topbar-menu-icon-color,
246
+ 0 22px 0 1px $topbar-menu-icon-color;
247
+ }
248
+ }
249
+ }
250
+ }
251
+
252
+ // Change things up when the top-bar is expanded
253
+ &.expanded {
254
+ height: auto;
255
+ background: transparent;
256
+
257
+ .title-area { background: $topbar-bg; }
258
+
259
+ .toggle-topbar {
260
+ a { color: $topbar-menu-link-color-toggled;
261
+ &::after {
262
+ // Shh, don't tell, but box-shadows create the menu icon :)
263
+ box-shadow: 0 10px 0 1px $topbar-menu-icon-color-toggled,
264
+ 0 16px 0 1px $topbar-menu-icon-color-toggled,
265
+ 0 22px 0 1px $topbar-menu-icon-color-toggled;
266
+ }
267
+ }
268
+ }
269
+ }
270
+
271
+
272
+
273
+ }
274
+
275
+ // Right and Left Navigation that stacked by default
276
+ .top-bar-section {
277
+ #{$default-float}: 0;
278
+ position: relative;
279
+ width: auto;
280
+ @include single-transition($default-float, $topbar-transition-speed);
281
+
282
+ ul {
283
+ width: 100%;
284
+ height: auto;
285
+ display: block;
286
+ background: $topbar-dropdown-bg;
287
+ font-size: $rem-base;
288
+ margin: 0;
289
+ }
290
+
291
+ .divider,
292
+ [role="separator"] {
293
+ border-top: $topbar-divider-border-top;
294
+ clear: both;
295
+ height: 1px;
296
+ width: 100%;
297
+ }
298
+
299
+ ul li {
300
+ & > a {
301
+ display: block;
302
+ width: 100%;
303
+ color: $topbar-link-color;
304
+ padding: 12px 0 12px 0;
305
+ padding-#{$default-float}: $topbar-link-padding;
306
+ font-family: $topbar-link-font-family;
307
+ font-size: $topbar-link-font-size;
308
+ font-weight: $topbar-link-weight;
309
+ text-transform: $topbar-link-text-transform;
310
+ background: $topbar-dropdown-bg;
311
+
312
+
313
+ &.button {
314
+ font-size: $topbar-link-font-size;
315
+ padding-#{$opposite-direction}: $topbar-link-padding;
316
+ padding-#{$default-float}: $topbar-link-padding;
317
+ @include button-style($bg:$primary-color);
318
+ }
319
+ &.button.secondary { @include button-style($bg:$secondary-color); }
320
+ &.button.success { @include button-style($bg:$success-color); }
321
+ &.button.alert { @include button-style($bg:$alert-color); }
322
+ }
323
+
324
+ > button {
325
+ font-size: $topbar-link-font-size;
326
+ padding-#{$opposite-direction}: $topbar-link-padding;
327
+ padding-#{$default-float}: $topbar-link-padding;
328
+ @include button-style($bg:$primary-color);
329
+
330
+ &.secondary { @include button-style($bg:$secondary-color); }
331
+ &.success { @include button-style($bg:$success-color); }
332
+ &.alert { @include button-style($bg:$alert-color); }
333
+ }
334
+
335
+ // Apply the hover link color when it has that class
336
+ &:hover:not(.has-form) > a {
337
+ background: $topbar-link-bg-hover;
338
+ color: $topbar-link-color-hover;
339
+
340
+ }
341
+
342
+ // Apply the active link color when it has that class
343
+ &.active > a {
344
+ background: $topbar-link-bg-active;
345
+ color: $topbar-link-color-active;
346
+ &:hover {
347
+ background: $topbar-link-bg-active-hover;
348
+ color: $topbar-link-color-active-hover;
349
+ }
350
+ }
351
+ }
352
+
353
+ // Add some extra padding for list items contains buttons
354
+ .has-form { padding: $topbar-link-padding; }
355
+
356
+ // Styling for list items that have a dropdown within them.
357
+ .has-dropdown {
358
+ position: relative;
359
+
360
+ & > a {
361
+ &:after {
362
+ @if ($topbar-arrows){
363
+ @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), $default-float);
364
+ }
365
+ margin-#{$opposite-direction}: $topbar-link-padding;
366
+ margin-top: -($topbar-dropdown-toggle-size / 2) - 2;
367
+ position: absolute;
368
+ top: 50%;
369
+ #{$opposite-direction}: 0;
370
+ }
371
+ }
372
+
373
+ &.moved { position: static;
374
+ & > .dropdown {
375
+ @include topbar-show-dropdown();
376
+ width: 100%;
377
+ }
378
+ & > a:after {
379
+ display: none;
380
+ }
381
+ }
382
+ }
383
+
384
+ // Styling elements inside of dropdowns
385
+ .dropdown {
386
+ position: absolute;
387
+ #{$default-float}: 100%;
388
+ top: 0;
389
+ z-index: 99;
390
+ @include topbar-hide-dropdown();
391
+
392
+ li {
393
+ width: 100%;
394
+ height: auto;
395
+
396
+ a {
397
+ font-weight: $topbar-dropdown-link-weight;
398
+ padding: 8px $topbar-link-padding;
399
+ &.parent-link {
400
+ font-weight: $topbar-link-weight;
401
+ }
402
+ }
403
+
404
+ &.title h5 { margin-bottom: 0;
405
+ a {
406
+ color: $topbar-link-color;
407
+ line-height: $topbar-height / 2;
408
+ display: block;
409
+ }
410
+ }
411
+ &.has-form { padding: 8px $topbar-link-padding; }
412
+ .button, button { top: auto; }
413
+ }
414
+
415
+ label {
416
+ padding: 8px $topbar-link-padding 2px;
417
+ margin-bottom: 0;
418
+ text-transform: $topbar-dropdown-label-text-transform;
419
+ color: $topbar-dropdown-label-color;
420
+ font-weight: $topbar-dropdown-label-font-weight;
421
+ font-size: $topbar-dropdown-label-font-size;
422
+ }
423
+ }
424
+ }
425
+
426
+ .js-generated { display: block; }
427
+
428
+
429
+ // Top Bar styles intended for screen sizes above the breakpoint.
430
+ @media #{$topbar-media-query} {
431
+ .top-bar {
432
+ background: $topbar-bg;
433
+ @include clearfix;
434
+ overflow: visible;
435
+
436
+ .toggle-topbar { display: none; }
437
+
438
+ .title-area { float: $default-float; }
439
+ .name h1 a { width: auto; }
440
+
441
+ input,
442
+ .button,
443
+ button {
444
+ font-size: rem-calc(14);
445
+ position: relative;
446
+ top: $topbar-button-top;
447
+ }
448
+
449
+ &.expanded { background: $topbar-bg; }
450
+ }
451
+
452
+ .contain-to-grid .top-bar {
453
+ max-width: $row-width;
454
+ margin: 0 auto;
455
+ margin-bottom: $topbar-margin-bottom;
456
+ }
457
+
458
+ .top-bar-section {
459
+ @include single-transition(none,0,0);
460
+ #{$default-float}: 0 !important;
461
+
462
+ ul {
463
+ width: auto;
464
+ height: auto !important;
465
+ display: inline;
466
+
467
+ li {
468
+ float: $default-float;
469
+ .js-generated { display: none; }
470
+ }
471
+ }
472
+
473
+ li {
474
+ &.hover {
475
+ > a:not(.button) {
476
+ background: $topbar-link-bg-hover;
477
+ color: $topbar-link-color-hover;
478
+ }
479
+ }
480
+ &:not(.has-form) {
481
+ a:not(.button) {
482
+ padding: 0 $topbar-link-padding;
483
+ line-height: $topbar-height;
484
+ background: $topbar-link-bg;
485
+ &:hover { background: $topbar-link-bg-hover; }
486
+ }
487
+ }
488
+ &.active:not(.has-form) {
489
+ a:not(.button) {
490
+ padding: 0 $topbar-link-padding;
491
+ line-height: $topbar-height;
492
+ color: $topbar-link-color-active;
493
+ background: $topbar-link-bg-active;
494
+ &:hover { background: $topbar-link-bg-active-hover; }
495
+ }
496
+ }
497
+ }
498
+
499
+ .has-dropdown {
500
+
501
+ @if($topbar-arrows){
502
+
503
+ & > a {
504
+ padding-#{$opposite-direction}: $topbar-link-padding + 20 !important;
505
+ &:after {
506
+ @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), top);
507
+ margin-top: -($topbar-dropdown-toggle-size / 2);
508
+ top: $topbar-height / 2;
509
+ }
510
+ }
511
+
512
+ }
513
+
514
+ &.moved { position: relative;
515
+ & > .dropdown {
516
+ @include topbar-hide-dropdown();
517
+ }
518
+ }
519
+
520
+ &.hover, &.not-click:hover {
521
+ & > .dropdown {
522
+ @include topbar-show-dropdown();
523
+ }
524
+ }
525
+
526
+ .dropdown li.has-dropdown {
527
+ & > a {
528
+ &:after {
529
+ border: none;
530
+ content: "\00bb";
531
+ top: 1rem;
532
+ margin-top: -1px;
533
+ #{$opposite-direction}: 5px;
534
+ line-height: 1.2;
535
+ }
536
+ }
537
+ }
538
+
539
+ }
540
+
541
+ .dropdown {
542
+ #{$default-float}: 0;
543
+ top: auto;
544
+ background: transparent;
545
+ min-width: 100%;
546
+
547
+ li {
548
+ a {
549
+ color: $topbar-dropdown-link-color;
550
+ line-height: 1;
551
+ white-space: nowrap;
552
+ padding: 12px $topbar-link-padding;
553
+ background: $topbar-dropdown-link-bg;
554
+ }
555
+
556
+ &:not(.has-form) a:not(.button) {
557
+ color: $topbar-dropdown-link-color;
558
+ background: $topbar-dropdown-link-bg;
559
+ }
560
+ &:not(.has-form):hover > a:not(.button) {
561
+ color: $topbar-link-color-hover;
562
+ background: $topbar-link-bg-hover;
563
+ }
564
+
565
+ label {
566
+ white-space: nowrap;
567
+ background: $topbar-dropdown-label-bg;
568
+ }
569
+
570
+ // Second Level Dropdowns
571
+ .dropdown {
572
+ #{$default-float}: 100%;
573
+ top: 0;
574
+ }
575
+ }
576
+ }
577
+
578
+ & > ul > .divider,
579
+ & > ul > [role="separator"] {
580
+ border-bottom: none;
581
+ border-top: none;
582
+ border-#{$opposite-direction}: $topbar-divider-border-bottom;
583
+ clear: none;
584
+ height: $topbar-height;
585
+ width: 0;
586
+ }
587
+
588
+ .has-form {
589
+ background: $topbar-link-bg;
590
+ padding: 0 $topbar-height / 3;
591
+ height: $topbar-height;
592
+ }
593
+
594
+ // Position overrides for ul.right and ul.left
595
+ .right {
596
+ li .dropdown {
597
+ #{$default-float}: auto;
598
+ #{$opposite-direction}: 0;
599
+
600
+ li .dropdown { #{$opposite-direction}: 100%; }
601
+ }
602
+ }
603
+ .left {
604
+ li .dropdown {
605
+ #{$opposite-direction}: auto;
606
+ #{$default-float}: 0;
607
+
608
+ li .dropdown { #{$default-float}: 100%; }
609
+ }
610
+ }
611
+ }
612
+
613
+ // Degrade gracefully when Javascript is disabled. Displays dropdown and changes
614
+ // background & text color on hover.
615
+ .no-js .top-bar-section {
616
+ ul li {
617
+ // Apply the hover link color when it has that class
618
+ &:hover > a {
619
+ background: $topbar-link-bg-hover;
620
+ color: $topbar-link-color-hover;
621
+ }
622
+
623
+ // Apply the active link color when it has that class
624
+ &:active > a {
625
+ background: $topbar-link-bg-active;
626
+ color: $topbar-link-color-active;
627
+ }
628
+ }
629
+
630
+ .has-dropdown {
631
+ &:hover {
632
+ & > .dropdown {
633
+ @include topbar-show-dropdown();
634
+ }
635
+ }
636
+ }
637
+ }
638
+ }
639
+ }
640
+ }