swiftfire-jekyll-theme 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,12 @@
1
+ // SCCS for the page design.
2
+
3
+ .page-meta {
4
+ color: $grey-color;
5
+ font-size: $small-1-font-size;
6
+ }
7
+
8
+ .page-title {
9
+ text-align: center;
10
+ margin-top: 2 * $vspacing-unit;
11
+ margin-bottom: 2 * $vspacing-unit;
12
+ }
@@ -0,0 +1,10 @@
1
+ // SCCS for the post design.
2
+
3
+ .post-meta {
4
+ color: $grey-color;
5
+ font-size: $small-1-font-size;
6
+ }
7
+
8
+ .post-title {
9
+ text-align: center;
10
+ }
@@ -0,0 +1,54 @@
1
+ // This file contains class definitions for swiftfire extension
2
+ // to the classic-jekyll-theme.
3
+ //
4
+ // ===============================================================
5
+
6
+
7
+ // Fix the layout of the domain menu subitem labels
8
+
9
+ .menubar {
10
+ @include narrow-layout {
11
+ .item .dropdown .subitem .title .text form button {
12
+ display: flex;
13
+ justify-content: start;
14
+ align-items: center;
15
+ padding-left: $menubar-subitem-indent-narrow;
16
+ }
17
+ }
18
+ @include medium-and-widest-layout {
19
+ .item .dropdown .subitem .title .text form button {
20
+ @include medium-layout { font: $menubar-subitem-font-medium; }
21
+ @include widest-layout { font: $menubar-subitem-font-widest; }
22
+ @include medium-layout { color: $menubar-subitem-color-medium; }
23
+ @include widest-layout { color: $menubar-subitem-color-widest; }
24
+ @include medium-layout { padding: $menubar-subitem-padding-medium; }
25
+ @include widest-layout { padding: $menubar-subitem-padding-widest; }
26
+ }
27
+ }
28
+ }
29
+
30
+
31
+ // Swiftfire items
32
+
33
+ .sf-loginlogout {
34
+ display: flex;
35
+ flex-direction: row;
36
+ justify-content: flex-end;
37
+ padding-right: $hspacing-unit/2;
38
+ width: 100%;
39
+ font-size: $small-2-font-size;
40
+ .sf-loginlogout-firstoption {
41
+ margin: 0 $hspacing-unit/2 0 0;
42
+ }
43
+ .sf-loginlogout-secondoption {
44
+ margin: 0 $hspacing-unit/2 0 $hspacing-unit/2;
45
+ }
46
+ p {
47
+ margin: 0 0 0 0;
48
+ }
49
+ button {
50
+ margin: 0 0 0 0;
51
+ font-size: $small-2-font-size;
52
+ color: black;
53
+ }
54
+ }
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Syntax highlighting styles
3
+ */
4
+ .highlight {
5
+ background: #fff;
6
+ margin-bottom: $vspacing-unit / 2; // Replaces : @extend %vertical-rhythm;
7
+
8
+ .highlighter-rouge & {
9
+ background: #eef;
10
+ }
11
+
12
+ .c { color: #998; font-style: italic } // Comment
13
+ .err { color: #a61717; background-color: #e3d2d2 } // Error
14
+ .k { font-weight: bold } // Keyword
15
+ .o { font-weight: bold } // Operator
16
+ .cm { color: #998; font-style: italic } // Comment.Multiline
17
+ .cp { color: #999; font-weight: bold } // Comment.Preproc
18
+ .c1 { color: #998; font-style: italic } // Comment.Single
19
+ .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
20
+ .gd { color: #000; background-color: #fdd } // Generic.Deleted
21
+ .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
22
+ .ge { font-style: italic } // Generic.Emph
23
+ .gr { color: #a00 } // Generic.Error
24
+ .gh { color: #999 } // Generic.Heading
25
+ .gi { color: #000; background-color: #dfd } // Generic.Inserted
26
+ .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
27
+ .go { color: #888 } // Generic.Output
28
+ .gp { color: #555 } // Generic.Prompt
29
+ .gs { font-weight: bold } // Generic.Strong
30
+ .gu { color: #aaa } // Generic.Subheading
31
+ .gt { color: #a00 } // Generic.Traceback
32
+ .kc { font-weight: bold } // Keyword.Constant
33
+ .kd { font-weight: bold } // Keyword.Declaration
34
+ .kp { font-weight: bold } // Keyword.Pseudo
35
+ .kr { font-weight: bold } // Keyword.Reserved
36
+ .kt { color: #458; font-weight: bold } // Keyword.Type
37
+ .m { color: #099 } // Literal.Number
38
+ .s { color: #d14 } // Literal.String
39
+ .na { color: #008080 } // Name.Attribute
40
+ .nb { color: #0086B3 } // Name.Builtin
41
+ .nc { color: #458; font-weight: bold } // Name.Class
42
+ .no { color: #008080 } // Name.Constant
43
+ .ni { color: #800080 } // Name.Entity
44
+ .ne { color: #900; font-weight: bold } // Name.Exception
45
+ .nf { color: #900; font-weight: bold } // Name.Function
46
+ .nn { color: #555 } // Name.Namespace
47
+ .nt { color: #000080 } // Name.Tag
48
+ .nv { color: #008080 } // Name.Variable
49
+ .ow { font-weight: bold } // Operator.Word
50
+ .w { color: #bbb } // Text.Whitespace
51
+ .mf { color: #099 } // Literal.Number.Float
52
+ .mh { color: #099 } // Literal.Number.Hex
53
+ .mi { color: #099 } // Literal.Number.Integer
54
+ .mo { color: #099 } // Literal.Number.Oct
55
+ .sb { color: #d14 } // Literal.String.Backtick
56
+ .sc { color: #d14 } // Literal.String.Char
57
+ .sd { color: #d14 } // Literal.String.Doc
58
+ .s2 { color: #d14 } // Literal.String.Double
59
+ .se { color: #d14 } // Literal.String.Escape
60
+ .sh { color: #d14 } // Literal.String.Heredoc
61
+ .si { color: #d14 } // Literal.String.Interpol
62
+ .sx { color: #d14 } // Literal.String.Other
63
+ .sr { color: #009926 } // Literal.String.Regex
64
+ .s1 { color: #d14 } // Literal.String.Single
65
+ .ss { color: #990073 } // Literal.String.Symbol
66
+ .bp { color: #999 } // Name.Builtin.Pseudo
67
+ .vc { color: #008080 } // Name.Variable.Class
68
+ .vg { color: #008080 } // Name.Variable.Global
69
+ .vi { color: #008080 } // Name.Variable.Instance
70
+ .il { color: #099 } // Literal.Number.Integer.Long
71
+ }
@@ -0,0 +1,37 @@
1
+ // *********************************************************************************************************************
2
+ // Internals
3
+ // ---------------------------------------------------------------------------------------------------------------------
4
+ // Do not change these definitions
5
+ //
6
+
7
+ // Caculate the width ranges where the layout changes take place
8
+ //
9
+ $widest-min-width: $primary-column-min-width + $secondary-column-width + $tertiary-column-width;
10
+ $medium-max-width: $widest-min-width - 1;
11
+ $medium-min-width: $primary-column-min-width + $secondary-column-width;
12
+ $narrow-max-width: $medium-min-width - 1;
13
+
14
+
15
+ @mixin narrow-layout {
16
+ @media screen and (min-width: 0px) and (max-width: $narrow-max-width) {
17
+ @content
18
+ }
19
+ }
20
+
21
+ @mixin medium-layout {
22
+ @media screen and (min-width: $medium-min-width) and (max-width: $medium-max-width) {
23
+ @content
24
+ }
25
+ }
26
+
27
+ @mixin widest-layout {
28
+ @media screen and (min-width: $widest-min-width) {
29
+ @content
30
+ }
31
+ }
32
+
33
+ @mixin medium-and-widest-layout {
34
+ @media screen and (min-width: $medium-min-width) {
35
+ @content
36
+ }
37
+ }
@@ -0,0 +1,85 @@
1
+ // *********************************************************************************************************************
2
+ // Insets
3
+ // ---------------------------------------------------------------------------------------------------------------------
4
+ // Defines the insets used in the columns and the footer-panel. I.e the empty spaces between text and separators.
5
+ //
6
+ .theme-insets {
7
+ padding-top: $vspacing-unit;
8
+ padding-right: $hspacing-unit;
9
+ padding-bottom: $vspacing-unit;
10
+ padding-left: $hspacing-unit;
11
+ }
12
+
13
+
14
+ // *********************************************************************************************************************
15
+ // Overlay
16
+ // ---------------------------------------------------------------------------------------------------------------------
17
+ // Will place an element over its parent and make it the exact same size.
18
+ //
19
+ // The parent must have its css 'position' property set to 'relative'.
20
+ //
21
+ .overlay {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ height: 100%;
26
+ width: 100%;
27
+ }
28
+
29
+
30
+ // *********************************************************************************************************************
31
+ // display-flex-...
32
+ // ---------------------------------------------------------------------------------------------------------------------
33
+ // Will switch a display property to 'flex' for the narrow, medium resp wide layout and 'none' for all others.
34
+ //
35
+ // Can be used in custom html code to enable/disable elements.
36
+ //
37
+ .display-flex-narrow {
38
+ @include narrow-layout { display: flex; }
39
+ @include medium-layout { display: none; }
40
+ @include widest-layout { display: none; }
41
+ }
42
+ .display-flex-medium {
43
+ @include narrow-layout { display: none; }
44
+ @include medium-layout { display: flex; }
45
+ @include widest-layout { display: none; }
46
+ }
47
+ .display-flex-widest {
48
+ @include narrow-layout { display: none; }
49
+ @include medium-layout { display: none; }
50
+ @include widest-layout { display: flex; }
51
+ }
52
+ .display-flex-medium-and-wide {
53
+ @include narrow-layout { display: none; }
54
+ @include medium-layout { display: flex; }
55
+ @include widest-layout { display: flex; }
56
+ }
57
+
58
+
59
+ // *********************************************************************************************************************
60
+ // display-block-...
61
+ // ---------------------------------------------------------------------------------------------------------------------
62
+ // Will switch a display property to 'block' for the narrow, medium resp wide layout and 'none' for all others.
63
+ //
64
+ // Can be used in custom html code to enable/disable elements.
65
+ //
66
+ .display-block-narrow {
67
+ @include narrow-layout { display: block; }
68
+ @include medium-layout { display: none; }
69
+ @include widest-layout { display: none; }
70
+ }
71
+ .display-block-medium {
72
+ @include narrow-layout { display: none; }
73
+ @include medium-layout { display: block; }
74
+ @include widest-layout { display: none; }
75
+ }
76
+ .display-block-widest {
77
+ @include narrow-layout { display: none; }
78
+ @include medium-layout { display: none; }
79
+ @include widest-layout { display: block; }
80
+ }
81
+ .display-block-medium-and-wide {
82
+ @include narrow-layout { display: none; }
83
+ @include medium-layout { display: block; }
84
+ @include widest-layout { display: block; }
85
+ }
@@ -0,0 +1,252 @@
1
+ // For the vertical menu that can be used on top of the secondary column (wide & mediaum layout) or the
2
+ // primary column (narrow layout).
3
+ //
4
+ // This menu is shown when site.data.setup.navbanner-drop-down-menu is set to 'no'.
5
+ //
6
+ .vmenu-container {
7
+
8
+ // Enable disable
9
+ @include medium-layout { @if $vmenu-enable-medium { display: flex; } @else { display: none; } }
10
+ @include widest-layout { @if $vmenu-enable-widest { display: flex; } @else { display: none; } }
11
+
12
+ // Ordering vertical
13
+ flex-direction: column;
14
+
15
+ // Border of the entire vmenu
16
+ @include medium-layout { border: $vmenu-border-medium; }
17
+ @include widest-layout { border: $vmenu-border-widest; }
18
+
19
+ // Backgound for the entire vmenu
20
+ @include medium-layout { background: $vmenu-background-medium; }
21
+ @include widest-layout { background: $vmenu-background-widest; }
22
+
23
+ // Box appearance for the entire vmenu
24
+ @include medium-layout { box-shadow: $vmenu-box-shadow-medium; }
25
+ @include widest-layout { box-shadow: $vmenu-box-shadow-widest; }
26
+ }
27
+
28
+ .vmenu-container .topTitle {
29
+
30
+ @include medium-layout { @if $vmenu-topTitle-enable-medium { display: flex; } @else { display: none; } }
31
+ @include widest-layout { @if $vmenu-topTitle-enable-widest { display: flex; } @else { display: none; } }
32
+
33
+ @include medium-layout { justify-content: $vmenu-topTitle-justify-content-medium; }
34
+ @include widest-layout { justify-content: $vmenu-topTitle-justify-content-widest; }
35
+
36
+ @include medium-layout { font: $vmenu-topTitle-font-medium; }
37
+ @include widest-layout { font: $vmenu-topTitle-font-widest; }
38
+
39
+ @include medium-layout { color: $vmenu-topTitle-color-medium; }
40
+ @include widest-layout { color: $vmenu-topTitle-color-widest; }
41
+
42
+ @include medium-layout { background: $vmenu-topTitle-background-medium; }
43
+ @include widest-layout { background: $vmenu-topTitle-background-widest; }
44
+
45
+ padding: 0;
46
+ margin: 0;
47
+ width: 100%;
48
+
49
+ @include medium-layout { h1 { padding: $vmenu-topTitle-padding-medium; } }
50
+ @include widest-layout { h1 { padding: $vmenu-topTitle-padding-widest; } }
51
+
52
+ @include medium-layout { h1 { margin: $vmenu-topTitle-margin-medium; } }
53
+ @include widest-layout { h1 { margin: $vmenu-topTitle-margin-widest; } }
54
+ }
55
+
56
+ .vmenu-container .vmenu {
57
+
58
+ // Stack the child elements on top of each other (the child elements are of class 'item')
59
+ display: flex;
60
+ flex-direction: column;
61
+
62
+ // The p's should not drive the display, make them as small as possible
63
+ p { margin: 0px; }
64
+
65
+ a {
66
+ // Remove link underline
67
+ text-decoration: none;
68
+
69
+ // Make sure the whole width and height of the link area is clickable
70
+ display: block;
71
+ }
72
+
73
+ // Make sure the title takes up available space (and since the link is displayed as block, this makes the
74
+ // entire area clickable.
75
+ .title { flex-grow: 1; }
76
+
77
+
78
+ .subitem {
79
+
80
+ // Make the input checkbox invisible
81
+ input { display: none }
82
+
83
+ // Place the components below each other.
84
+ display: flex;
85
+ flex-direction: column;
86
+
87
+ input:checked ~ {
88
+
89
+ // Show the correct symbol for this state.
90
+ .sub,
91
+ .sub-hasLink,
92
+ .sub-isActivePage {
93
+ label .symbol:after { content: $vmenu-subitem-disclosure-symbol-open; }
94
+ }
95
+
96
+ // Show the subsub's
97
+ .subsub,
98
+ .subsub-hasLink,
99
+ .subsub-isActivePage { display: flex }
100
+ }
101
+
102
+ input:disabled ~ {
103
+
104
+ // Show the correct symbol for this state.
105
+ .sub,
106
+ .sub-hasLink,
107
+ .sub-isActivePage {
108
+ label .symbol:after { content: $vmenu-subitem-disclosure-symbol-closed; }
109
+ }
110
+
111
+ // Show the subsub's
112
+ .subsub,
113
+ .subsub-hasLink,
114
+ .subsub-isActivePage { display: none }
115
+ }
116
+
117
+ .sub-isActivePage {
118
+ @include medium-layout { background: $vmenu-subitem-title-background-selected-medium; }
119
+ @include widest-layout { background: $vmenu-subitem-title-background-selected-widest; }
120
+ }
121
+
122
+ .sub,
123
+ .sub-hasLink {
124
+ // Background of the entire subitem
125
+ @include medium-layout { background: $vmenu-subitem-background-medium; }
126
+ @include widest-layout { background: $vmenu-subitem-background-widest; }
127
+ }
128
+
129
+ .sub-hasLink:hover {
130
+ @include medium-layout { background: $vmenu-subitem-title-background-hover-medium; }
131
+ @include widest-layout { background: $vmenu-subitem-title-background-hover-widest; }
132
+ }
133
+
134
+ .sub,
135
+ .sub-hasLink,
136
+ .sub-isActivePage {
137
+
138
+ // Place the components next to each other
139
+ display: flex;
140
+
141
+ .disclosure {
142
+
143
+ // Center the disclosure symbol
144
+ display: flex;
145
+ justify-content: center;
146
+ align-items: center;
147
+
148
+ // Display the proper disclosure symbol
149
+ .symbol:after { content: $vmenu-subitem-disclosure-symbol-closed; }
150
+ }
151
+
152
+ // Border of the entire subitem
153
+ @include medium-layout { border: $vmenu-subitem-border-medium; }
154
+ @include widest-layout { border: $vmenu-subitem-border-widest; }
155
+
156
+
157
+ .disclosure {
158
+ // Create a small separator between symbol and title
159
+ @include medium-layout { border-right: $vmenu-subitem-disclosure-area-border-right-medium; }
160
+ @include widest-layout { border-right: $vmenu-subitem-disclosure-area-border-right-widest; }
161
+
162
+ // Create an indent that can be filled with a disclosure symbol
163
+ @include medium-layout { width: $vmenu-subitem-disclosure-area-width-medium; }
164
+ @include widest-layout { width: $vmenu-subitem-disclosure-area-width-widest; }
165
+ }
166
+
167
+ .title {
168
+
169
+ // The show-hover class is used to show hovering for non-link subitems
170
+ a:hover, .show-hover:hover {
171
+ @include medium-layout { color: $vmenu-subitem-color-hover-medium; }
172
+ @include widest-layout { color: $vmenu-subitem-color-hover-widest; }
173
+ }
174
+
175
+ p {
176
+ // Allow for some padding to position and change the size of this element
177
+ @include medium-layout { padding: $vmenu-subitem-title-padding-medium; }
178
+ @include widest-layout { padding: $vmenu-subitem-title-padding-widest; }
179
+
180
+ // Font for the sub menu title
181
+ @include medium-layout { font: $vmenu-subitem-font-medium; }
182
+ @include widest-layout { font: $vmenu-subitem-font-widest; }
183
+
184
+ // Color for the sub menu title
185
+ @include medium-layout { color: $vmenu-subitem-color-medium; }
186
+ @include widest-layout { color: $vmenu-subitem-color-widest; }
187
+ }
188
+ }
189
+ }
190
+
191
+ .subsub-isActivePage {
192
+ @include medium-layout { background: $vmenu-subsubitem-background-selected-medium; }
193
+ @include widest-layout { background: $vmenu-subsubitem-background-selected-widest; }
194
+ }
195
+
196
+ .subsub,
197
+ .subsub-hasLink {
198
+ @include medium-layout { background: $vmenu-subsubitem-background-medium; }
199
+ @include widest-layout { background: $vmenu-subsubitem-background-widest; }
200
+ }
201
+
202
+ .subsub-hasLink:hover {
203
+ @include medium-layout { background: $vmenu-subsubitem-background-hover-medium; }
204
+ @include widest-layout { background: $vmenu-subsubitem-background-hover-widest; }
205
+ }
206
+
207
+ .subsub,
208
+ .subsub-hasLink,
209
+ .subsub-isActivePage {
210
+
211
+ // Not visible unless the checkbox is active
212
+ display: none;
213
+
214
+ // Set border and background
215
+ @include medium-layout { border: $vmenu-subsubitem-border-medium; }
216
+ @include widest-layout { border: $vmenu-subsubitem-border-widest; }
217
+
218
+ .disclosure {
219
+
220
+ // Create a small separator between symbol and title
221
+ @include medium-layout { border-right: $vmenu-subsubitem-disclosure-area-border-right-medium; }
222
+ @include widest-layout { border-right: $vmenu-subsubitem-disclosure-area-border-right-widest; }
223
+
224
+ // Create an indent that can be filled with a disclosure symbol
225
+ @include medium-layout { width: $vmenu-subsubitem-disclosure-area-width-medium; }
226
+ @include widest-layout { width: $vmenu-subsubitem-disclosure-area-width-widest; }
227
+ }
228
+
229
+ .title {
230
+
231
+ a:hover {
232
+ @include medium-layout { color: $vmenu-subsubitem-color-hover-medium; }
233
+ @include widest-layout { color: $vmenu-subsubitem-color-hover-widest; }
234
+ }
235
+
236
+ p {
237
+ // Allow for some padding to position and change the size of this element
238
+ @include medium-layout { padding: $vmenu-subsubitem-title-padding-medium; }
239
+ @include widest-layout { padding: $vmenu-subsubitem-title-padding-widest; }
240
+
241
+ // Font for the sub menu title
242
+ @include medium-layout { font: $vmenu-subsubitem-font-medium; }
243
+ @include widest-layout { font: $vmenu-subsubitem-font-widest; }
244
+
245
+ // Color for the sub menu title
246
+ @include medium-layout { color: $vmenu-subsubitem-color-medium; }
247
+ @include widest-layout { color: $vmenu-subsubitem-color-widest; }
248
+ }
249
+ }
250
+ }
251
+ }
252
+ }