swiftfire-jekyll-theme 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +23 -0
  3. data/README.md +107 -0
  4. data/_data/cblocks.yml +31 -0
  5. data/_data/setup.yml +135 -0
  6. data/_data/text-for.yml +53 -0
  7. data/_includes/account-menus.html +82 -0
  8. data/_includes/banner-area.html +57 -0
  9. data/_includes/banner-icon.html +23 -0
  10. data/_includes/banner-title-area.html +30 -0
  11. data/_includes/cblock-row.html +18 -0
  12. data/_includes/cblock.html +20 -0
  13. data/_includes/disqus-comments.html +39 -0
  14. data/_includes/footer.html +16 -0
  15. data/_includes/google-analytics.html +21 -0
  16. data/_includes/head.html +74 -0
  17. data/_includes/menubar-icon.html +23 -0
  18. data/_includes/menubar.html +487 -0
  19. data/_includes/secondary-column.html +37 -0
  20. data/_includes/tertiary-column.html +8 -0
  21. data/_includes/vertical-menu.html +378 -0
  22. data/_includes/widgets/browser-info.html +16 -0
  23. data/_includes/widgets/categories.html +32 -0
  24. data/_includes/widgets/cookie-consent.html +21 -0
  25. data/_includes/widgets/older-posts.html +71 -0
  26. data/_includes/widgets/recent-posts.html +24 -0
  27. data/_includes/widgets/social-media-res/icon-github.html +7 -0
  28. data/_includes/widgets/social-media-res/icon-github.svg +1 -0
  29. data/_includes/widgets/social-media-res/icon-twitter.html +7 -0
  30. data/_includes/widgets/social-media-res/icon-twitter.svg +1 -0
  31. data/_includes/widgets/social-media.html +29 -0
  32. data/_includes/widgets/subscribe.html +18 -0
  33. data/_includes/widgets/youtube-player.html +38 -0
  34. data/_layouts/banner-layout.html +1 -0
  35. data/_layouts/category-page.html +51 -0
  36. data/_layouts/content-blocks.html +6 -0
  37. data/_layouts/default.html +152 -0
  38. data/_layouts/home.html +22 -0
  39. data/_layouts/page.html +30 -0
  40. data/_layouts/post.html +20 -0
  41. data/_sass/classic-jekyll-theme.scss +1178 -0
  42. data/_sass/classic/_banner-area.scss +552 -0
  43. data/_sass/classic/_body.scss +15 -0
  44. data/_sass/classic/_columns.scss +122 -0
  45. data/_sass/classic/_custom.scss +138 -0
  46. data/_sass/classic/_footer.scss +31 -0
  47. data/_sass/classic/_menubar.scss +530 -0
  48. data/_sass/classic/_normalize-override.scss +22 -0
  49. data/_sass/classic/_normalize.scss +447 -0
  50. data/_sass/classic/_page.scss +12 -0
  51. data/_sass/classic/_post.scss +10 -0
  52. data/_sass/classic/_swiftfire.scss +54 -0
  53. data/_sass/classic/_syntax-highlighting.scss +71 -0
  54. data/_sass/classic/_theme-internal.scss +37 -0
  55. data/_sass/classic/_theme-library.scss +85 -0
  56. data/_sass/classic/_vertical-menu.scss +252 -0
  57. data/_sass/classic/_widgets.scss +88 -0
  58. data/assets/img/banner-area-layout.png +0 -0
  59. data/assets/img/cog-wheels-120x68.png +0 -0
  60. data/assets/img/cog-wheels-240x135.png +0 -0
  61. data/assets/img/cog-wheels-30x17.png +0 -0
  62. data/assets/img/cog-wheels-60x43.png +0 -0
  63. data/assets/img/column-panel-layout.png +0 -0
  64. data/assets/img/test-pattern-110x83.png +0 -0
  65. data/assets/img/test-pattern-1280x800.png +0 -0
  66. data/assets/img/test-pattern-220x165.png +0 -0
  67. data/assets/img/test-pattern-55x42.png +0 -0
  68. data/assets/img/test-pattern-640x400.png +0 -0
  69. data/assets/img/top-level-layout.png +0 -0
  70. data/assets/js/cookieconsent.min.js +1 -0
  71. data/assets/main.scss +9 -0
  72. data/assets/templates/comment-section.sf.html +137 -0
  73. data/assets/templates/email-verification-text.sf.html +6 -0
  74. data/assets/templates/request-new-password-text.sf.txt +7 -0
  75. data/icons/android-chrome-192x192.png +0 -0
  76. data/icons/apple-touch-icon.png +0 -0
  77. data/icons/browserconfig.xml +9 -0
  78. data/icons/favicon-16x16.png +0 -0
  79. data/icons/favicon-32x32.png +0 -0
  80. data/icons/favicon.ico +0 -0
  81. data/icons/manifest.json +13 -0
  82. data/icons/mstile-150x150.png +0 -0
  83. data/icons/safari-pinned-tab.svg +14 -0
  84. data/pages/about/about.md +15 -0
  85. data/pages/account/comment-edit.sf.md +60 -0
  86. data/pages/account/comment-review.sf.md +80 -0
  87. data/pages/account/email-verification-failed.sf.md +11 -0
  88. data/pages/account/email-verification-success.sf.md +7 -0
  89. data/pages/account/error.sf.md +13 -0
  90. data/pages/account/forgot-password-continue.sf.md +9 -0
  91. data/pages/account/forgot-password.sf.md +25 -0
  92. data/pages/account/login.sf.md +19 -0
  93. data/pages/account/not-allowed.sf.md +7 -0
  94. data/pages/account/register-continue.sf.md +11 -0
  95. data/pages/account/register.sf.md +30 -0
  96. data/pages/account/request-new-password-failed.sf.md +13 -0
  97. data/pages/account/set-new-password-success.sf.md +7 -0
  98. data/pages/account/set-new-password.sf.md +25 -0
  99. data/pages/categories/classic.md +10 -0
  100. data/pages/categories/example.md +10 -0
  101. data/pages/categories/jekyll.md +10 -0
  102. data/pages/categories/update.md +10 -0
  103. data/pages/classic/01-features.md +36 -0
  104. data/pages/classic/02-setup.md +113 -0
  105. data/pages/classic/03-pages-and-posts.md +25 -0
  106. data/pages/classic/04-posts.md +18 -0
  107. data/pages/classic/05-menus.md +118 -0
  108. data/pages/classic/06-categories.md +38 -0
  109. data/pages/classic/07-terminology.md +35 -0
  110. data/pages/classic/08-versioning.md +23 -0
  111. data/pages/classic/09-problems.md +25 -0
  112. data/pages/contact/contact.md +18 -0
  113. data/pages/cookie-consent/cookie-consent.md +7 -0
  114. data/pages/download/download.md +10 -0
  115. data/pages/jekyll/01-jekyll.md +42 -0
  116. data/pages/jekyll/02-speed.md +88 -0
  117. data/pages/jekyll/03-ruby.md +19 -0
  118. data/pages/jekyll/04-cron-job.md +163 -0
  119. data/pages/layouts/banner-main.md +36 -0
  120. data/pages/layouts/blocks.md +11 -0
  121. data/pages/layouts/landing-page.md +21 -0
  122. data/pages/layouts/no-sec-no-ter.md +28 -0
  123. data/pages/layouts/sec-left-no-ter.md +28 -0
  124. data/pages/layouts/sec-left-ter-right.md +28 -0
  125. data/pages/layouts/sec-right-no-ter.md +28 -0
  126. data/pages/layouts/sec-right-ter-left.md +28 -0
  127. data/pages/menus/external-url.md +28 -0
  128. data/pages/menus/landing-page.md +8 -0
  129. data/pages/menus/submenu-subsections.md +72 -0
  130. data/pages/menus/submenu1.md +22 -0
  131. data/pages/menus/submenu2.md +21 -0
  132. data/pages/menus/submenu3.md +47 -0
  133. data/pages/menus/submenu4.md +36 -0
  134. data/pages/menus/subsubmenu3-1.md +21 -0
  135. data/pages/menus/subsubmenu3-2.md +21 -0
  136. data/pages/menus/subsubmenu4-1.md +31 -0
  137. data/pages/menus/subsubmenu4-2.md +31 -0
  138. metadata +269 -0
@@ -0,0 +1,15 @@
1
+ // Settings for the body panel in the layout "defaults.html"
2
+ //
3
+ .body-panel {
4
+
5
+ // Layout top-to-bottom for the top level
6
+ // This arranges the banner-area, column-panel, footer-separator and footer-panel (from "default.html")
7
+ display: flex;
8
+ flex-direction: column;
9
+ justify-content: flex-start;
10
+
11
+ // Setting a background on the entire site
12
+ @include widest-layout { background: $background-widest; }
13
+ @include medium-layout { background: $background-medium; }
14
+ @include narrow-layout { background: $background-narrow; }
15
+ }
@@ -0,0 +1,122 @@
1
+ // *********************************************************************************************************************
2
+ // Column panel settings
3
+ // ---------------------------------------------------------------------------------------------------------------------
4
+ //
5
+
6
+ .secondary-column {
7
+
8
+ // Use the theme insets to keep the content of the column away from the edges.
9
+ @extend .theme-insets;
10
+
11
+ // Set the background
12
+ @include narrow-layout { background: $secondary-column-background-narrow; }
13
+ @include medium-layout { background: $secondary-column-background-medium; }
14
+ @include widest-layout { background: $secondary-column-background-widest; }
15
+ }
16
+
17
+ main {
18
+
19
+ // Use the theme insets to keep the content of the column away from the edges.
20
+ @extend .theme-insets;
21
+
22
+ // Set the background
23
+ @include narrow-layout { background: $primary-column-background-narrow; }
24
+ @include medium-layout { background: $primary-column-background-medium; }
25
+ @include widest-layout { background: $primary-column-background-widest; }
26
+ }
27
+
28
+ .tertiary-column {
29
+
30
+ // Use the theme insets to keep the content of the column away from the edges.
31
+ @extend .theme-insets;
32
+
33
+ // Set the background
34
+ @include narrow-layout { background: $tertiary-column-background-narrow; }
35
+ @include medium-layout { background: $tertiary-column-background-medium; }
36
+ @include widest-layout { background: $tertiary-column-background-widest; }
37
+ }
38
+
39
+ // The layout for the column panel is the main driver for the RWD aspects of this theme.
40
+ //
41
+ .column-panel {
42
+
43
+ // Layout
44
+ display: flex;
45
+
46
+ @include narrow-layout {
47
+
48
+ // Background for the entire panel
49
+ background: $column-panel-background-narrow;
50
+
51
+ // This layout is column based, i.e. the content is displayed over one another.
52
+ flex-direction: column;
53
+
54
+ // The primary column must be displayed on top, use the 'order' property to enforce this.
55
+ .primary-column { order: 1; }
56
+
57
+ // The secondary column is put below the primary the second place
58
+ .secondary-column { order: 2; }
59
+
60
+ // Unused
61
+ .tertiary-column,
62
+ .secondary-separator,
63
+ .tertiary-separator,
64
+ .secondary-column .vmenu-container { display: none; }
65
+ }
66
+
67
+ @include medium-layout {
68
+
69
+ // Background for the entire panel
70
+ background: $column-panel-background-medium;
71
+
72
+ // This layout is row based
73
+ flex-direction: row;
74
+
75
+ // The secondary column uses a fixed witdh and hosts both the secondary and tertiary column content
76
+ .secondary-column { width: $secondary-column-width; }
77
+
78
+ // The primary column can grow
79
+ .primary-column { flex: 1 1 auto; width: 1px; } // A width must be specified
80
+
81
+ // Unused
82
+ .tertiary-separator,
83
+ .secondary-widget-separator,
84
+ .tertiary-column,
85
+ .primary-column .vmenu-container { display: none; }
86
+ }
87
+
88
+ @include widest-layout {
89
+
90
+ // Background for the entire panel
91
+ background: $column-panel-background-widest;
92
+
93
+ // This layout is row based
94
+ flex-direction: row;
95
+
96
+ // The secondary and tertiary columns uses a fixed witdh
97
+ .secondary-column { width: $secondary-column-width; }
98
+ .tertiary-column { width: $tertiary-column-width; }
99
+
100
+ // The primary column can grow
101
+ .primary-column { flex: 1 1 auto; width: 1px; } // A width must be specified
102
+
103
+ // Unused
104
+ .secondary-column .tertiary-column-content,
105
+ .tertiary-widget-separator,
106
+ .secondary-widget-separator,
107
+ .primary-column .vmenu-container { display: none }
108
+ }
109
+ }
110
+
111
+
112
+ // The column separator
113
+ .secondary-separator, .tertiary-separator {
114
+ margin-top: $column-separator-top-spacing;
115
+ margin-left: 0;
116
+ margin-bottom: $column-separator-bottom-spacing;
117
+ margin-right: 0;
118
+ @include medium-layout { border-right: 1px solid $column-separator-color-medium; }
119
+ @include widest-layout { border-right: 1px solid $column-separator-color-widest; }
120
+ @if $column-separator-display { display: block; } @else { display: none; }
121
+ }
122
+
@@ -0,0 +1,138 @@
1
+ // This file contains class definitions for support of page and post layout.
2
+ //
3
+ // ===============================================================
4
+ // Text styles, use as follows in *.md files:
5
+ //
6
+ // {:.text-boxed-float-left}
7
+ // This is the text that will be in the box on the left hand side.
8
+ //
9
+ // ===============================================================
10
+
11
+ // text centered in a column
12
+ .text-centered {
13
+ text-align: center;
14
+ }
15
+
16
+ // text centered in a column and bold
17
+ .text-centered-bold {
18
+ text-align: center;
19
+ font-weight: bold;
20
+ }
21
+
22
+ // A floating text box on the right hand side.
23
+ .text-boxed-float-right {
24
+ float: right;
25
+ font-size: $small-1-font-size;
26
+ font-style: italic;
27
+ border: 1px solid lightgray;
28
+ margin: $vspacing-unit/2 0 $vspacing-unit/2 $hspacing-unit;
29
+ padding: 0 $hspacing-unit/2;
30
+ width: 25%
31
+ }
32
+
33
+ // A floating text box on the left hand side
34
+ .text-boxed-float-left {
35
+ float: left;
36
+ font-size: $small-1-font-size;
37
+ font-style: italic;
38
+ border: 1px solid lightgray;
39
+ margin: $vspacing-unit/2 $hspacing-unit $vspacing-unit/2 0;
40
+ padding: 0 $hspacing-unit/2;
41
+ width: 25%
42
+ }
43
+
44
+
45
+ // ===============================================================
46
+ // Image styles, use as follows in *.md files:
47
+ //
48
+ // ![image-name](image-source){:.image-centered}
49
+ //
50
+ // ===============================================================
51
+
52
+ // An image centered in a column with nothing on either side
53
+ .image-centered {
54
+ display: block;
55
+ max-width: 80%;
56
+ margin-left: auto;
57
+ margin-right: auto;
58
+ }
59
+
60
+ // An image floating centered with text on both sides
61
+ .image-float-center {
62
+ display: block;
63
+ max-width: 40%;
64
+ float: center;
65
+ margin: $vspacing-unit $hspacing-unit
66
+ }
67
+
68
+ // An image float right (with text flowing on the left side)
69
+ .image-float-right {
70
+ display: block;
71
+ max-width: 50%;
72
+ float: right;
73
+ margin: $vspacing-unit 0 $vspacing-unit $hspacing-unit
74
+ }
75
+
76
+ // An image float left (with text flowing on the right side)
77
+ .image-float-left {
78
+ display: block;
79
+ max-width: 50%;
80
+ float: left;
81
+ margin: $vspacing-unit $hspacing-unit $vspacing-unit 0
82
+ }
83
+
84
+
85
+ // ===============================================================
86
+ // Content blocks support.
87
+ // ===============================================================
88
+
89
+ .cblock-row-title {
90
+ text-align: center;
91
+ }
92
+
93
+ .cblock-row {
94
+ display: flex;
95
+ flex-direction: row;
96
+ flex-wrap: wrap;
97
+ justify-content: center;
98
+ }
99
+
100
+ .cblock {
101
+ display: block;
102
+ width: 200px;
103
+ margin: $vspacing-unit $hspacing-unit;
104
+ }
105
+
106
+ .cblock-name {
107
+ text-align: center;
108
+ }
109
+
110
+ .cblock-image {
111
+ display: block;
112
+ width: 150px;
113
+ height: 150px;
114
+ margin-left: auto;
115
+ margin-right: auto;
116
+ }
117
+
118
+ .cblock-description {
119
+ text-align: center;
120
+ font-size: $small-1-font-size;
121
+ }
122
+
123
+ .cblock-store {
124
+ text-align: center;
125
+ font-size: $small-1-font-size;
126
+ }
127
+
128
+ // ===============================================================
129
+ // General
130
+ // ===============================================================
131
+
132
+ .highlighter-rouge {
133
+ background: #eee;
134
+ }
135
+
136
+ .highlight {
137
+ overflow-x: auto;
138
+ }
@@ -0,0 +1,31 @@
1
+ // Footer related SCCS
2
+
3
+ // This is the element between the column panel and the footer.
4
+ .footer-separator {
5
+ @if $footer-separator-display { display: block; } @else { display: none; }
6
+ width: 100%;
7
+ margin: 0;
8
+ @include narrow-layout { border-bottom: 1px solid $footer-separator-color-narrow; }
9
+ @include medium-layout { border-bottom: 1px solid $footer-separator-color-medium; }
10
+ @include widest-layout { border-bottom: 1px solid $footer-separator-color-widest; }
11
+ }
12
+
13
+ .footer-panel {
14
+ @extend .theme-insets;
15
+ text-align: center;
16
+ @include narrow-layout {
17
+ font: $footer-font-narrow;
18
+ color: $footer-color-narrow;
19
+ background: $footer-background-narrow;
20
+ }
21
+ @include medium-layout {
22
+ font: $footer-font-medium;
23
+ color: $footer-color-medium;
24
+ background: $footer-background-medium;
25
+ }
26
+ @include widest-layout {
27
+ font: $footer-font-widest;
28
+ color: $footer-color-widest;
29
+ background: $footer-background-widest;
30
+ }
31
+ }
@@ -0,0 +1,530 @@
1
+ .menubar {
2
+
3
+ // Positioning & size
4
+ @include narrow-layout { height: auto; }
5
+ @include medium-layout { height: $menubar-height-medium; }
6
+ @include widest-layout { height: $menubar-height-widest; }
7
+
8
+ // Never display input elements
9
+ input { display: none; }
10
+
11
+ @include narrow-layout {
12
+
13
+ // Only displayed when the menu symbol is checked
14
+ display: none;
15
+
16
+ // Display the menu items vertically.
17
+ flex-direction: column;
18
+
19
+ // Appearances
20
+ background: $menubar-background-narrow;
21
+
22
+ // Make sure the separator is empty
23
+ .item-separator:after { content: none; }
24
+
25
+ // Show it as a line across the whle screen
26
+ .item-separator {
27
+ width: 100%;
28
+ height: $menubar-item-separator-line-width-narrow;
29
+ background-color: $menubar-item-separator-line-color-narrow;
30
+ }
31
+
32
+ .item,
33
+ .item-narrow-only {
34
+
35
+ // Layout
36
+ display: flex;
37
+ flex-direction: column;
38
+
39
+ // Format the link (area)
40
+ a {
41
+ // Make the link area as big as possible
42
+ width: 100%;
43
+ height: 100%;
44
+
45
+ // Remove link underlining
46
+ text-decoration: none;
47
+ }
48
+
49
+ // Implement selection changes
50
+ input:checked ~ {
51
+
52
+ // Show submenu when selected
53
+ .dropdown, .dropdown-narrow { display: flex; }
54
+
55
+ // When the submenu is open, show the appropriate symbol
56
+ .title .symbol .code:after { content: $menubar-item-title-symbol-code-open-narrow; }
57
+ }
58
+
59
+ .title {
60
+
61
+ // Layout
62
+ display: flex; // Default = row layout
63
+
64
+ // Set the height
65
+ height: $menubar-item-height-narrow;
66
+
67
+ // Use the item color for all elements
68
+ background: $menubar-item-background-narrow;
69
+ &:hover { background: $menubar-item-background-hover-narrow; }
70
+
71
+ // Create the hover effect
72
+ &:hover { background: $menubar-item-background-hover-narrow; }
73
+
74
+ .symbol {
75
+
76
+ // Layout: Center the disclosure symbol
77
+ display: flex;
78
+ justify-content: center;
79
+ align-items: center;
80
+
81
+ // The width of the tap area with the disclosure symbol in it
82
+ width: $menubar-item-disclosure-symbol-width-narrow;
83
+
84
+ // Load the disclosure symbol for the closed state
85
+ .code:after { content: $menubar-item-title-symbol-code-closed-narrow; }
86
+
87
+ // Show a clickable symbol over the disclosure symbol
88
+ .code { cursor: pointer; }
89
+ }
90
+
91
+ .text {
92
+
93
+ // Layout: Center vertically and justify-left
94
+ display: flex;
95
+ justify-content: start;
96
+ align-items: center;
97
+
98
+ // Takes up remainder of .title width
99
+ .text { width: 100%; }
100
+
101
+ // Use the item color for all elements
102
+ p { color: $menubar-item-color-narrow; }
103
+
104
+ // Hover effect
105
+ &:hover { p { color: $menubar-item-color-hover-narrow; } }
106
+ }
107
+ }
108
+
109
+ .dropdown,
110
+ .dropdown-narrow {
111
+
112
+ // Disable submenu by default
113
+ display: none;
114
+
115
+ // Subitems are stacked vertically
116
+ flex-direction: column;
117
+
118
+ .subitem-separator {
119
+ display: block;
120
+ width: 100%;
121
+ height: $menubar-subitem-separator-line-width-narrow;
122
+ background-color: $menubar-subitem-separator-line-color-narrow;
123
+ }
124
+
125
+ .subitem {
126
+
127
+ // If the checkbox is checked
128
+ input:checked ~ {
129
+
130
+ // Show submenu
131
+ .sub-dropdown, .sub-dropdown-narrow { display: flex; }
132
+
133
+ // When the submenu is open, show the appropriate symbol
134
+ .title .symbol .code:after { content: $menubar-subitem-title-symbol-code-open-narrow; }
135
+ }
136
+
137
+ .title {
138
+
139
+ // Layout (row oriented)
140
+ display: flex;
141
+
142
+ // Appearance
143
+ background: $menubar-subitem-background-narrow;
144
+ &:hover { background: $menubar-subitem-background-hover-narrow; }
145
+
146
+ // Height
147
+ height: $menubar-subitem-height-narrow;
148
+
149
+ // The disclosure symbol
150
+ .symbol { width: $menubar-item-disclosure-symbol-width-narrow; }
151
+
152
+ .text a {
153
+ display: flex;
154
+ justify-content: start;
155
+ align-items: center;
156
+ }
157
+
158
+ p { padding-left: $menubar-subitem-indent-narrow; }
159
+ }
160
+
161
+ .sub-dropdown,
162
+ .sub-dropdown-narrow {
163
+
164
+ // Disable by default
165
+ display: none;
166
+
167
+ // Subitems are stacked vertically
168
+ flex-direction: column;
169
+
170
+ .subsubitem-separator {
171
+ display: block;
172
+ width: 100%;
173
+ height: $menubar-subsubitem-separator-line-width-narrow;
174
+ background-color: $menubar-subsubitem-separator-line-color-narrow;
175
+ }
176
+
177
+ .subsubitem .title {
178
+
179
+ // Layout (row oriented)
180
+ display: flex;
181
+
182
+ // Appearance
183
+ background: $menubar-subsubitem-background-narrow;
184
+ &:hover { background: $menubar-subsubitem-background-hover-narrow; }
185
+
186
+ // Height
187
+ height: $menubar-subsubitem-height-narrow;
188
+
189
+ .text a {
190
+ display: flex;
191
+ justify-content: start;
192
+ align-items: center;
193
+ }
194
+
195
+ p { padding-left: $menubar-subsubitem-indent-narrow; }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+
202
+ .isActiveSelection {
203
+ background: $menubar-item-background-selected-narrow;
204
+ .title .text p { color: $menubar-item-color-selected-narrow }
205
+ }
206
+ }
207
+
208
+ @include medium-and-widest-layout {
209
+
210
+ // Check if it must be displayed
211
+ @include medium-layout { @if $menubar-enabled-medium { display: flex; } @else { display: none; } }
212
+ @include widest-layout { @if $menubar-enabled-widest { display: flex; } @else { display: none; } }
213
+
214
+ // Appearances
215
+ @include medium-layout {
216
+ background: $menubar-background-medium;
217
+ border: $menubar-border-medium;
218
+ box-shadow: $menubar-box-shadow-medium;
219
+ }
220
+ @include widest-layout {
221
+ background: $menubar-background-widest;
222
+ border: $menubar-border-widest;
223
+ box-shadow: $menubar-box-shadow-widest;
224
+ }
225
+
226
+ // Positioning of items and item-separators.
227
+ flex-direction: row;
228
+ @include medium-layout {
229
+ justify-content: $menubar-justify-content-medium;
230
+ align-items: $menubar-align-items-medium;
231
+ }
232
+ @include widest-layout {
233
+ justify-content: $menubar-justify-content-widest;
234
+ align-items: $menubar-align-items-widest;
235
+ }
236
+
237
+ .menubar-icon {
238
+
239
+ @include medium-layout {
240
+ width: $menubar-icon-width-medium;
241
+ height: $menubar-icon-height-medium;
242
+ padding: $menubar-icon-padding-medium;
243
+ }
244
+ @include widest-layout {
245
+ width: $menubar-icon-width-widest;
246
+ height: $menubar-icon-height-widest;
247
+ padding: $menubar-icon-padding-widest;
248
+ }
249
+ }
250
+
251
+ // Content (icon image)
252
+ // Note: Firefox needs the 'after' attribute to display the icon. Other browsers seem fine without it.
253
+ // Issue no 19.
254
+ .menubar-icon:after {
255
+ @include medium-layout { content: $menubar-icon-url-medium; }
256
+ @include widest-layout { content: $menubar-icon-url-widest; }
257
+ }
258
+
259
+ .item-separator {
260
+
261
+ @include medium-layout {
262
+
263
+ // Appearance
264
+ color: $menubar-item-separator-symbol-color-medium;
265
+ background: $menubar-item-separator-symbol-background-medium;
266
+
267
+ // Set padding
268
+ padding: $menubar-item-separator-symbol-padding-medium;
269
+
270
+ // Set the separator symbol
271
+ p:after { content: $menubar-item-separator-symbol-medium; }
272
+
273
+ // The font for the separator
274
+ p { font: $menubar-item-separator-symbol-font-medium; }
275
+ }
276
+
277
+ @include widest-layout {
278
+
279
+ // Appearance
280
+ color: $menubar-item-separator-symbol-color-widest;
281
+ background: $menubar-item-separator-symbol-background-widest;
282
+
283
+ // Set padding
284
+ padding: $menubar-item-separator-symbol-padding-widest;
285
+
286
+ // Set the separator symbol
287
+ p:after { content: $menubar-item-separator-symbol-widest; }
288
+
289
+ // The font for the separator
290
+ p { font: $menubar-item-separator-symbol-font-widest; }
291
+ }
292
+ }
293
+
294
+ // Make all p's as small as possible
295
+ p { margin: 0; padding: 0; }
296
+
297
+
298
+ .item-narrow-only { display: none; }
299
+
300
+ .item {
301
+
302
+ // Vertical layout
303
+ display: flex;
304
+ flex-direction: column;
305
+
306
+ // Make this the baseline reverence for the dropdown box
307
+ position: relative;
308
+
309
+ // Appearances
310
+ p {
311
+ // Prevent wrapping of the (sub) menu items
312
+ white-space: nowrap;
313
+
314
+ // Font color
315
+ @include medium-layout { color: $menubar-item-color-medium; }
316
+ @include widest-layout { color: $menubar-item-color-widest; }
317
+
318
+ // Font
319
+ @include medium-layout { font: $menubar-item-font-medium; }
320
+ @include widest-layout { font: $menubar-item-font-widest; }
321
+ }
322
+
323
+ // Set background
324
+ @include medium-layout { background: $menubar-item-background-medium; }
325
+ @include widest-layout { background: $menubar-item-background-widest; }
326
+
327
+ // Hover effect
328
+ &:hover {
329
+
330
+ // Display the submenu if the user hovers the mouse over it
331
+ .dropdown { display: block; }
332
+
333
+ p {
334
+ // Change font color
335
+ @include medium-layout { color: $menubar-item-color-hover-medium; }
336
+ @include widest-layout { color: $menubar-item-color-hover-widest; }
337
+ }
338
+
339
+ // Change item background
340
+ @include medium-layout { background: $menubar-item-background-hover-medium; }
341
+ @include widest-layout { background: $menubar-item-background-hover-widest; }
342
+ }
343
+
344
+ a {
345
+ // Make the entire hightlight block clickable
346
+ display: block;
347
+
348
+ // Remove the link underlining
349
+ text-decoration: none;
350
+ }
351
+
352
+ // Sizing of the items
353
+ a, .paddingAsLink {
354
+ @include medium-layout { padding: $menubar-item-padding-medium; }
355
+ @include widest-layout { padding: $menubar-item-padding-widest; }
356
+ }
357
+
358
+ .title {
359
+ @include medium-layout { height: $menubar-item-height-medium; }
360
+ @include widest-layout { height: $menubar-item-height-widest; }
361
+ }
362
+
363
+ .dropdown,
364
+ .dropdown-narrow {
365
+
366
+ // Visibility depends on hovering over the item
367
+ display: none;
368
+
369
+ // Don't show the separators
370
+ .subitem-separator { display: none; }
371
+
372
+ // Position the dropdown box below the item.
373
+ position: absolute;
374
+ top: 100%;
375
+
376
+ // Make it at least as wide as the parent
377
+ min-width: 100%;
378
+
379
+ // Appearances
380
+ @include medium-layout { margin: $menubar-dropdown-margin-medium; }
381
+ @include widest-layout { margin: $menubar-dropdown-margin-widest; }
382
+
383
+ @include medium-layout { padding: $menubar-dropdown-padding-medium; }
384
+ @include widest-layout { padding: $menubar-dropdown-padding-widest; }
385
+
386
+ @include medium-layout { background: $menubar-dropdown-background-medium; }
387
+ @include widest-layout { background: $menubar-dropdown-background-widest; }
388
+
389
+ @include medium-layout { border: $menubar-dropdown-border-medium; }
390
+ @include widest-layout { border: $menubar-dropdown-border-widest; }
391
+
392
+ @include medium-layout { box-shadow: $menubar-dropdown-box-shadow-medium; }
393
+ @include widest-layout { box-shadow: $menubar-dropdown-box-shadow-widest; }
394
+
395
+ .subitem {
396
+
397
+ // To anchor the sub-dropdown
398
+ position: relative;
399
+
400
+ // Appearances
401
+ p {
402
+ @include medium-layout { font: $menubar-subitem-font-medium; }
403
+ @include widest-layout { font: $menubar-subitem-font-widest; }
404
+
405
+ @include medium-layout { color: $menubar-subitem-color-medium; }
406
+ @include widest-layout { color: $menubar-subitem-color-widest; }
407
+ }
408
+
409
+ @include medium-layout { background: $menubar-subitem-background-medium; }
410
+ @include widest-layout { background: $menubar-subitem-background-widest; }
411
+
412
+ // Hover effect
413
+ &:hover {
414
+
415
+ // Show the sub-dropdown only on hover
416
+ .sub-dropdown { display: flex; }
417
+
418
+ p {
419
+ @include medium-layout { color: $menubar-subitem-color-hover-medium; }
420
+ @include widest-layout { color: $menubar-subitem-color-hover-widest; }
421
+ }
422
+
423
+ @include medium-layout { background: $menubar-subitem-background-hover-medium; }
424
+ @include widest-layout { background: $menubar-subitem-background-hover-widest; }
425
+ }
426
+
427
+ // Sizing of the subitems
428
+ a, .paddingAsLink {
429
+ @include medium-layout { padding: $menubar-subitem-padding-medium; }
430
+ @include widest-layout { padding: $menubar-subitem-padding-widest; }
431
+ }
432
+
433
+ .sub-dropdown {
434
+
435
+ // Do not display (until hover over the subitem)
436
+ display: none;
437
+
438
+ // Position it relative to the subitem
439
+ position: absolute;
440
+
441
+ // Position it adjacent to the subitem
442
+ top: 0;
443
+ left: 100%;
444
+
445
+ // Make it at least as wide as the parent
446
+ min-width: 100%;
447
+
448
+ // Stack the sub-sub item vertically
449
+ flex-direction: column;
450
+
451
+ // Formatting the appearance
452
+ @include medium-layout { background: $menubar-sub-dropdown-background-medium; }
453
+ @include widest-layout { background: $menubar-sub-dropdown-background-widest; }
454
+
455
+ @include medium-layout { border: $menubar-sub-dropdown-border-medium; }
456
+ @include widest-layout { border: $menubar-sub-dropdown-border-widest; }
457
+
458
+ @include medium-layout { box-shadow: $menubar-sub-dropdown-box-shadow-medium; }
459
+ @include widest-layout { box-shadow: $menubar-sub-dropdown-box-shadow-widest; }
460
+
461
+ .subsubitem {
462
+
463
+ // Appearance
464
+ p {
465
+ @include medium-layout { font: $menubar-subsubitem-font-medium; }
466
+ @include widest-layout { font: $menubar-subsubitem-font-widest; }
467
+
468
+ @include medium-layout { color: $menubar-subsubitem-color-medium; }
469
+ @include widest-layout { color: $menubar-subsubitem-color-widest; }
470
+ }
471
+
472
+ @include medium-layout { background: $menubar-subsubitem-background-medium; }
473
+ @include widest-layout { background: $menubar-subsubitem-background-widest; }
474
+
475
+ // Hover effect
476
+ &:hover {
477
+ p {
478
+ @include medium-layout { color: $menubar-subsubitem-color-hover-medium; }
479
+ @include widest-layout { color: $menubar-subsubitem-color-hover-widest; }
480
+ }
481
+
482
+ @include medium-layout { background: $menubar-subsubitem-background-hover-medium; }
483
+ @include widest-layout { background: $menubar-subsubitem-background-hover-widest; }
484
+ }
485
+
486
+ // Sizing of the subitems
487
+ a, .paddingAsLink {
488
+ @include medium-layout { padding: $menubar-subsubitem-padding-medium; }
489
+ @include widest-layout { padding: $menubar-subsubitem-padding-widest; }
490
+ }
491
+ }
492
+
493
+ // Show selection for pages that match a menu entry
494
+ // Note that this setting overrides the setting in .subsubitem and hence be placed after it.
495
+ .isActiveSelection {
496
+ @include medium-layout { background: $menubar-subsubitem-background-selected-medium; }
497
+ @include widest-layout { background: $menubar-subsubitem-background-selected-widest; }
498
+ p {
499
+ @include medium-layout { color: $menubar-subsubitem-color-selected-medium; }
500
+ @include widest-layout { color: $menubar-subsubitem-color-selected-widest; }
501
+ }
502
+ }
503
+ }
504
+ }
505
+
506
+ // Show selection for pages that match a menu entry
507
+ // Note that this setting overrides the setting in .subitem and hence be placed after it.
508
+ .isActiveSelection {
509
+ @include medium-layout { background: $menubar-subitem-background-selected-medium; }
510
+ @include widest-layout { background: $menubar-subitem-background-selected-widest; }
511
+ p {
512
+ @include medium-layout { color: $menubar-subitem-color-selected-medium; }
513
+ @include widest-layout { color: $menubar-subitem-color-selected-widest; }
514
+ }
515
+ }
516
+ }
517
+ }
518
+
519
+ // Show selection for pages that match a menu entry
520
+ // Note that this setting overrides the setting in .item and hence be placed after it.
521
+ .isActiveSelection {
522
+ @include medium-layout { background: $menubar-item-background-selected-medium; }
523
+ @include widest-layout { background: $menubar-item-background-selected-widest; }
524
+ p {
525
+ @include medium-layout { color: $menubar-item-color-selected-medium; }
526
+ @include widest-layout { color: $menubar-item-color-selected-widest; }
527
+ }
528
+ }
529
+ }
530
+ }