zurb-foundation-5 5.2.2

Sign up to get free protection for your applications and to get access to all the features.
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
+ }