bookends 2.8.0 → 3.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -8
  3. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-book.eot +0 -0
  4. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-book.svg +0 -0
  5. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-book.ttf +0 -0
  6. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-book.woff +0 -0
  7. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-medium.eot +0 -0
  8. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-medium.svg +0 -0
  9. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-medium.ttf +0 -0
  10. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-medium.woff +0 -0
  11. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-regular.eot +0 -0
  12. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-regular.svg +0 -0
  13. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-regular.ttf +0 -0
  14. data/{fixtures/dummy-rails/app → app}/assets/fonts/bentonsans-regular.woff +0 -0
  15. data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  16. data/app/assets/fonts/glyphicons-halflings-regular.svg +288 -0
  17. data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  18. data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  19. data/app/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  20. data/app/assets/fonts/hk-icon.eot +0 -0
  21. data/app/assets/fonts/hk-icon.svg +268 -0
  22. data/app/assets/fonts/hk-icon.ttf +0 -0
  23. data/app/assets/fonts/hk-icon.woff +0 -0
  24. data/app/assets/fonts/inconsolata-bold.eot +0 -0
  25. data/app/assets/fonts/inconsolata-bold.svg +239 -0
  26. data/app/assets/fonts/inconsolata-bold.ttf +0 -0
  27. data/app/assets/fonts/inconsolata-bold.woff +0 -0
  28. data/app/assets/fonts/inconsolata-regular.eot +0 -0
  29. data/app/assets/fonts/inconsolata-regular.svg +239 -0
  30. data/app/assets/fonts/inconsolata-regular.ttf +0 -0
  31. data/app/assets/fonts/inconsolata-regular.woff +0 -0
  32. data/{lib/bookends/templates/footer_images → app/assets/images/bookends/footer}/footer_sprite.png +0 -0
  33. data/app/assets/images/bookends/footer/footer_sprite@2x.png +0 -0
  34. data/{lib/bookends/templates/footer_images → app/assets/images/bookends/footer}/salesforce.png +0 -0
  35. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/dashboard.svg +0 -0
  36. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/databases.svg +0 -0
  37. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/dataclips.svg +0 -0
  38. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/docs.svg +0 -0
  39. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/elements.svg +0 -0
  40. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/heroku-logo.svg +0 -0
  41. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/navigator-purple.svg +0 -0
  42. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/navigator.svg +0 -0
  43. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/settings.svg +0 -0
  44. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/signout.svg +0 -0
  45. data/{lib/bookends/templates → app/assets/images/bookends}/glostick_icons/support.svg +0 -0
  46. data/{lib/bookends/templates → app/assets/images/bookends}/icons/addons.svg +0 -0
  47. data/{lib/bookends/templates → app/assets/images/bookends}/icons/buildpacks.svg +0 -0
  48. data/{lib/bookends/templates → app/assets/images/bookends}/icons/buttons.svg +0 -0
  49. data/{lib/bookends/templates → app/assets/images/bookends}/icons/connect.svg +0 -0
  50. data/{lib/bookends/templates → app/assets/images/bookends}/icons/elements-information.svg +0 -0
  51. data/{lib/bookends/templates → app/assets/images/bookends}/icons/enterprise.svg +0 -0
  52. data/{lib/bookends/templates → app/assets/images/bookends}/icons/platform.svg +0 -0
  53. data/{lib/bookends/templates → app/assets/images/bookends}/icons/postgres.svg +0 -0
  54. data/{lib/bookends/templates → app/assets/images/bookends}/icons/redis.svg +0 -0
  55. data/{lib/bookends/templates → app/assets/images/bookends}/icons/teams.svg +0 -0
  56. data/app/assets/images/logo.svg +14 -0
  57. data/app/assets/images/nav-dropdown-caret.svg +16 -0
  58. data/app/assets/javascripts/blog-fetcher.js +131 -0
  59. data/{fixtures/dummy-rails/app/assets/javascripts/application.js → app/assets/javascripts/bookends.js} +1 -2
  60. data/{lib/bookends/templates/js → app/assets/javascripts}/header.js +0 -0
  61. data/app/assets/javascripts/heroku-namespace.js +1 -0
  62. data/app/assets/javascripts/lscache.js +359 -0
  63. data/{lib/bookends/templates/js → app/assets/javascripts}/md5.js +0 -0
  64. data/app/assets/javascripts/moment.js +3195 -0
  65. data/{lib/bookends/templates/js → app/assets/javascripts}/newsletter-init.js +1 -1
  66. data/{lib/bookends/templates/js → app/assets/javascripts}/newsletter.js +0 -0
  67. data/app/assets/stylesheets/bookends/_base.scss +21 -0
  68. data/app/assets/stylesheets/bookends/_colors.scss +62 -0
  69. data/app/assets/stylesheets/bookends/_fonts.scss +12 -0
  70. data/{lib/bookends/templates/scss/footer.scss → app/assets/stylesheets/bookends/_footer.scss} +17 -14
  71. data/{lib/bookends/templates/scss/glostick.scss → app/assets/stylesheets/bookends/_glostick.scss} +0 -0
  72. data/app/assets/stylesheets/bookends/_grid-settings.scss +18 -0
  73. data/app/assets/stylesheets/bookends/_header.scss +745 -0
  74. data/app/assets/stylesheets/bookends/_mixins.scss +72 -0
  75. data/app/assets/stylesheets/bookends/_responsive.scss +129 -0
  76. data/app/assets/stylesheets/bookends/_variables.scss +82 -0
  77. data/app/assets/stylesheets/bookends/bookends.scss +13 -0
  78. data/app/controllers/bookends/application_controller.rb +5 -0
  79. data/app/helpers/bookends/application_helper.rb +93 -0
  80. data/{lib/bookends/templates/footer.html → app/views/bookends/_footer.html.erb} +4 -6
  81. data/{lib/bookends/templates/rails_header.html.erb → app/views/bookends/_header.html.erb} +1 -2
  82. data/config/routes.rb +2 -0
  83. data/lib/bookends.rb +2 -2
  84. data/lib/bookends/config.rb +24 -0
  85. data/lib/bookends/engine.rb +15 -2
  86. data/lib/bookends/version.rb +1 -1
  87. data/lib/tasks/bookends_tasks.rake +4 -0
  88. metadata +221 -152
  89. data/.gitignore +0 -17
  90. data/.rspec +0 -2
  91. data/.ruby-version +0 -1
  92. data/.travis.yml +0 -8
  93. data/Gemfile +0 -4
  94. data/bin/bookends +0 -5
  95. data/bin/setup +0 -7
  96. data/bookends.gemspec +0 -31
  97. data/fixtures/dummy-jekyll/.gitkeep +0 -0
  98. data/fixtures/dummy-rails/README.md +0 -9
  99. data/fixtures/dummy-rails/Rakefile +0 -6
  100. data/fixtures/dummy-rails/app/assets/images/.keep +0 -0
  101. data/fixtures/dummy-rails/app/assets/images/bookends/footer/footer_sprite.png +0 -0
  102. data/fixtures/dummy-rails/app/assets/images/bookends/footer/footer_sprite@2x.png +0 -0
  103. data/fixtures/dummy-rails/app/assets/images/bookends/footer/salesforce_heroku_gray.png +0 -0
  104. data/fixtures/dummy-rails/app/assets/stylesheets/application.css.scss +0 -11
  105. data/fixtures/dummy-rails/app/controllers/application_controller.rb +0 -5
  106. data/fixtures/dummy-rails/app/controllers/concerns/.keep +0 -0
  107. data/fixtures/dummy-rails/app/controllers/pages_controller.rb +0 -5
  108. data/fixtures/dummy-rails/app/helpers/application_helper.rb +0 -2
  109. data/fixtures/dummy-rails/app/mailers/.keep +0 -0
  110. data/fixtures/dummy-rails/app/models/.keep +0 -0
  111. data/fixtures/dummy-rails/app/models/concerns/.keep +0 -0
  112. data/fixtures/dummy-rails/app/views/layouts/application.html.erb +0 -16
  113. data/fixtures/dummy-rails/app/views/pages/home.html.erb +0 -1
  114. data/fixtures/dummy-rails/bin/bundle +0 -3
  115. data/fixtures/dummy-rails/bin/rails +0 -4
  116. data/fixtures/dummy-rails/bin/rake +0 -4
  117. data/fixtures/dummy-rails/bin/setup +0 -29
  118. data/fixtures/dummy-rails/config.ru +0 -4
  119. data/fixtures/dummy-rails/config/application.rb +0 -34
  120. data/fixtures/dummy-rails/config/boot.rb +0 -5
  121. data/fixtures/dummy-rails/config/database.yml +0 -25
  122. data/fixtures/dummy-rails/config/environment.rb +0 -5
  123. data/fixtures/dummy-rails/config/environments/development.rb +0 -41
  124. data/fixtures/dummy-rails/config/environments/production.rb +0 -79
  125. data/fixtures/dummy-rails/config/environments/test.rb +0 -42
  126. data/fixtures/dummy-rails/config/initializers/assets.rb +0 -11
  127. data/fixtures/dummy-rails/config/initializers/backtrace_silencers.rb +0 -7
  128. data/fixtures/dummy-rails/config/initializers/cookies_serializer.rb +0 -3
  129. data/fixtures/dummy-rails/config/initializers/filter_parameter_logging.rb +0 -4
  130. data/fixtures/dummy-rails/config/initializers/inflections.rb +0 -16
  131. data/fixtures/dummy-rails/config/initializers/mime_types.rb +0 -4
  132. data/fixtures/dummy-rails/config/initializers/session_store.rb +0 -3
  133. data/fixtures/dummy-rails/config/initializers/wrap_parameters.rb +0 -14
  134. data/fixtures/dummy-rails/config/locales/en.yml +0 -23
  135. data/fixtures/dummy-rails/config/routes.rb +0 -6
  136. data/fixtures/dummy-rails/config/secrets.yml +0 -22
  137. data/fixtures/dummy-rails/db/development.sqlite3 +0 -0
  138. data/fixtures/dummy-rails/lib/assets/.keep +0 -0
  139. data/fixtures/dummy-rails/public/404.html +0 -67
  140. data/fixtures/dummy-rails/public/422.html +0 -67
  141. data/fixtures/dummy-rails/public/500.html +0 -66
  142. data/fixtures/dummy-rails/public/favicon.ico +0 -0
  143. data/lib/bookends/cli.rb +0 -95
  144. data/lib/bookends/config/framework.rb +0 -24
  145. data/lib/bookends/config/turbolinks.rb +0 -18
  146. data/lib/bookends/file_actions.rb +0 -13
  147. data/lib/bookends/flag_handler.rb +0 -17
  148. data/lib/bookends/jekyll_handler.rb +0 -25
  149. data/lib/bookends/rails_handler.rb +0 -41
  150. data/lib/bookends/templates/bookends_helper.rb +0 -63
  151. data/lib/bookends/templates/bookends_helper_spec.rb +0 -57
  152. data/lib/bookends/templates/footer_images/footer_sprite@2x.png +0 -0
  153. data/lib/bookends/templates/icons/kafka.svg +0 -37
  154. data/lib/bookends/templates/icons/spaces.svg +0 -1
  155. data/lib/bookends/templates/jekyll_header.html +0 -102
  156. data/lib/bookends/templates/js/header-turbolinks.js +0 -18
  157. data/lib/bookends/templates/js/newsletter-init-turbolinks.js +0 -6
  158. data/lib/bookends/templates/scss/bookends.scss +0 -21
@@ -1,4 +1,4 @@
1
- //= require bookends/newsletter
1
+ //= require newsletter
2
2
  var Heroku = Heroku || {};
3
3
 
4
4
  $(function() {
@@ -0,0 +1,21 @@
1
+ *,
2
+ *:after,
3
+ *:before {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ html {
8
+ height: 100%;
9
+ }
10
+
11
+ body {
12
+ min-height: 100%;
13
+ font-family: $font-main;
14
+ font-size: $font-base;
15
+ font-weight: $font-normal;
16
+ line-height: $line-height-base;
17
+ background: $white;
18
+ color: $text-color;
19
+ -webkit-font-smoothing: antialiased;
20
+ margin: 0;
21
+ }
@@ -0,0 +1,62 @@
1
+ // ==========================================================================
2
+ // Colors
3
+ // ==========================================================================
4
+
5
+ //- Monochromatic
6
+ $white: #fff;
7
+ $off-white: #F9F9FB;
8
+ $gray: #9B9FA2;
9
+ $gray-light: #CCCDCF;
10
+ $gray-light-2: #E4E4E7;
11
+ $gray-light-3: #F2F2F5;
12
+ $gray-dark: #73787C;
13
+ $gray-dark-2: #383E40;
14
+ $black: #111;
15
+
16
+ //- Mains
17
+ $purple: #79589F;
18
+ $purple-light: lighten(#79589F, 20%);
19
+ $indigo: #211746;
20
+ $blue: #4A90E2;
21
+ $green: #74C080;
22
+ $orange: #FA9F47;
23
+ $red: #D64242;
24
+
25
+ //- Brand
26
+ $brand-primary: $purple;
27
+ $brand-info: $blue;
28
+ $brand-success: $green;
29
+ $brand-warning: $orange;
30
+ $brand-danger: $red;
31
+
32
+ //- Utility
33
+ $dim: fade-out($black, .5);
34
+ $dimmer: fade-out($black, .2);
35
+ $error: $brand-danger;
36
+ $valid: $brand-success;
37
+ $info: $brand-info;
38
+ $warning: $brand-warning;
39
+
40
+ $brand-facebook: #03539e;
41
+ $brand-twitter: #35ccff;
42
+ $brand-linkedin: #217bc1;
43
+
44
+ $text-color: $gray-dark-2;
45
+ $text-color-light: $gray-dark;
46
+
47
+ //- Gradients
48
+
49
+ $grad-purple: #58488a;
50
+ $grad-purple-blue: #5d64d0;
51
+
52
+ @mixin grad-purple() {
53
+ @include linear-gradient(to bottom, $grad-purple, $grad-purple-blue, $fallback: $grad-purple);
54
+ }
55
+
56
+ @mixin grad-purple-dark() {
57
+ @include linear-gradient(to bottom, #4A4090, #372E6C, $fallback: #4A4090);
58
+ }
59
+
60
+ @mixin grad-gray-light() {
61
+ @include linear-gradient(top, fade-out($gray-light-3, .5), $white 50%, $fallback: $white);
62
+ }
@@ -0,0 +1,12 @@
1
+ // ==========================================================================
2
+ // Fonts
3
+ // ==========================================================================
4
+
5
+ //- Primary font
6
+ @include font-face(BentonSans, 'bentonsans-book', 200, $file-formats: eot woff ttf svg);
7
+ @include font-face(BentonSans, 'bentonsans-regular', normal, $file-formats: eot woff ttf svg);
8
+ @include font-face(BentonSans, 'bentonsans-medium', bold, $file-formats: eot woff ttf svg);
9
+
10
+ //- Monospace font
11
+ @include font-face(Inconsolata, 'inconsolata-bold', bold, $file-formats: eot woff ttf svg);
12
+ @include font-face(Inconsolata, 'inconsolata-regular', normal, $file-formats: eot woff ttf svg);
@@ -11,7 +11,7 @@
11
11
  $asset-path: 'bookends/footer';
12
12
 
13
13
  $footer-width: 94%;
14
- $footer-max-width: 1200px;
14
+ $footer-max-width: 1060px;
15
15
 
16
16
  $color-header: #211746;
17
17
  $color-purple: #6e5baa;
@@ -120,7 +120,7 @@
120
120
  letter-spacing: .1em;
121
121
  color: $color-header;
122
122
 
123
- @include screen($screen: $threshold-tablet) {
123
+ @include screen($screen: $threshold-mobile) {
124
124
  text-align: center;
125
125
  }
126
126
  }
@@ -171,7 +171,7 @@
171
171
  .col {
172
172
  width: 25%;
173
173
  padding-right: 2%;
174
- @include screen($screen: $threshold-tablet) {
174
+ @include screen($screen: $threshold-mobile) {
175
175
  width: auto;
176
176
  padding-right: 0;
177
177
  text-align: center;
@@ -291,7 +291,7 @@
291
291
  .tertiary {
292
292
  p {
293
293
  float: right;
294
- margin: 13px 0 10px;
294
+ margin: 1em 0;
295
295
  padding: 0;
296
296
  font-size: 13px;
297
297
  color: #999;
@@ -369,8 +369,8 @@
369
369
  facebook -42px 0,
370
370
  github -63px 0,
371
371
  vimeo -84px 0,
372
- linkedin -105px 0,
373
372
  instagram -129px 0,
373
+ linkedin -105px 0,
374
374
  newsletter -21px -63px,
375
375
  submit 0 -42px
376
376
  );
@@ -424,15 +424,18 @@
424
424
  min-width: 200px;
425
425
  font-size: 14px;
426
426
  font-weight: normal;
427
- display: block;
428
- position: absolute;
429
- background: #fff;
430
- border-radius: 4px;
431
- z-index: 3;
432
- padding: $dropdown-padding/2 $dropdown-padding;
433
- overflow: visible;
434
- box-shadow: 0 2px 7px fade-out(#000, .825);
435
- text-align: left;
427
+ display: none;
428
+
429
+ @include screen(min-width, $threshold-tablet) {
430
+ display: block;
431
+ position: absolute;
432
+ background: #fff;
433
+ border-radius: 4px;
434
+ z-index: 3;
435
+ padding: $dropdown-padding/2 $dropdown-padding;
436
+ overflow: visible;
437
+ box-shadow: 0 2px 7px fade-out(#000, .825);
438
+ }
436
439
 
437
440
  [class^="heroku-footer-icon-"] {
438
441
  margin-right: 5px;
@@ -0,0 +1,18 @@
1
+ // ==========================================================================
2
+ // Grid settings for Neat
3
+ // ==========================================================================
4
+
5
+ @import "neat-helpers";
6
+
7
+ $default-feature: max-width;
8
+
9
+ // Breakpoints
10
+ $mobile: new-breakpoint($bp-xs); // 480px
11
+ $mobile-landscape: new-breakpoint($bp-sm); // 600px
12
+ $tablet: new-breakpoint($bp-med); // 768px
13
+ $tablet-landscape: new-breakpoint($bp-med-plus); // 1024px
14
+ $desktop: new-breakpoint($bp-lg); // 1100px
15
+ $large-screen: new-breakpoint($bp-xl); // 1400px
16
+
17
+ // Standard Space
18
+ $horizontal-spacer: 6em;
@@ -0,0 +1,745 @@
1
+ // ==========================================================================
2
+ // Headers
3
+ // ==========================================================================
4
+
5
+
6
+ // Header
7
+ //
8
+ // - Navigation
9
+ // - Logo
10
+ // - Hero
11
+
12
+ .wrapper-full {
13
+ -webkit-box-sizing: border-box;
14
+ -moz-box-sizing: border-box;
15
+ box-sizing: border-box;
16
+ margin: 0 auto;
17
+ max-width: 66.25em;
18
+ width: 93.96226%;
19
+ position: relative;
20
+ max-width: none;
21
+ width: 100%;
22
+ padding: 20px;
23
+
24
+ &:after {
25
+ content: "";
26
+ display: table;
27
+ clear: both;
28
+ }
29
+ }
30
+
31
+ #header {
32
+ background-color: #3B2F63;
33
+ @include background-image(radial-gradient(50% top, circle, rgba(84, 90, 182, 0.6) 0%, rgba(84, 90, 182, 0) 75%),
34
+ radial-gradient(right top, circle, rgba(121, 74, 162, 1) 0%, rgba(121, 74 ,162, 0) 57%));
35
+ background-repeat: no-repeat;
36
+ // Show only the top of the gradient when rendering
37
+ // a header without hero
38
+ background-size: 100% 1000px;
39
+ color: lighten($purple, 30%);
40
+ margin: 0;
41
+ }
42
+
43
+ #navigation {
44
+ $padding-nav: 20px;
45
+ $padding-nav-inner: 7px;
46
+ $color-link: #F2EEFF;
47
+ $font-size: 14px;
48
+ $font-size-sm: (($font-size / 1px) - 1) + px;
49
+ $font-size-xs: (($font-size / 1px) - 2) + px;
50
+ $dropdown-padding: 16px;
51
+
52
+ position: relative;
53
+ font-size: 14px;
54
+ font-weight: 600;
55
+ -webkit-font-smoothing: antialiased;
56
+ line-height: 1;
57
+
58
+ * {
59
+ @include box-sizing(border-box);
60
+ }
61
+
62
+ ul {
63
+ position: relative;
64
+ padding: 0;
65
+ list-style: none;
66
+ }
67
+
68
+ li {
69
+ float: left;
70
+ margin: 0;
71
+ padding: 0 10px;
72
+
73
+ @include media($desktop) {
74
+ float: none;
75
+ padding: 0;
76
+ }
77
+
78
+ a {
79
+ text-decoration: none;
80
+ &:hover {
81
+ text-decoration: none;
82
+ }
83
+ }
84
+
85
+ > a {
86
+ display: inline-block;
87
+ padding: $padding-nav-inner 0;
88
+ text-decoration: none;
89
+ color: fade-out($color-link, .4);
90
+
91
+ &:hover {
92
+ color: $white;
93
+ }
94
+
95
+ &:focus {
96
+ outline: 0;
97
+ }
98
+
99
+ &.highlight {
100
+ background: fade-out(black, .8);
101
+ border-radius: $border-radius;
102
+ color: $white;
103
+ padding: 6px 12px;
104
+
105
+ &:hover {
106
+ background: rgba(0, 0, 0, 0.3);
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ .has-dropdown {
113
+
114
+ > a {
115
+
116
+ //Caret
117
+ &:after {
118
+ content: "";
119
+ display: inline-block;
120
+ position: relative;
121
+ top: -1px;
122
+ @include size(10px 6px);
123
+ margin-left: 5px;
124
+ background-image: asset-url('nav-dropdown-caret.svg');
125
+ background-repeat: no-repeat;
126
+ opacity: .5;
127
+ }
128
+ }
129
+
130
+ &[class*="glostick"] {
131
+
132
+ a:after {
133
+ display: none;
134
+ }
135
+ }
136
+
137
+ //Dropdown hover
138
+ &:hover {
139
+
140
+ .dropdown {
141
+ visibility: visible;
142
+ opacity: 1;
143
+ margin-top: 3px;
144
+ @include transition-delay(0s);
145
+ }
146
+
147
+ > a {
148
+ color: $white;
149
+
150
+ &:after {
151
+ opacity: 1;
152
+ }
153
+ }
154
+ }
155
+
156
+ }
157
+
158
+ .dropdown {
159
+ margin-top: 0;
160
+ font-size: $font-sm;
161
+ min-width: 200px;
162
+ font-size: 14px;
163
+ font-weight: normal;
164
+
165
+ @media screen and (min-width: $bp-lg) {
166
+ position: absolute;
167
+ background: $white;
168
+ border-radius: $border-radius;
169
+ z-index: 3;
170
+ padding: $dropdown-padding/2 $dropdown-padding;
171
+ overflow: visible;
172
+ box-shadow: 0 2px 7px fade-out($black, .825);
173
+ }
174
+
175
+ &[class*="glostick"] {
176
+ padding: 0;
177
+
178
+ @include media($desktop) {
179
+ display: none;
180
+ }
181
+ }
182
+
183
+ // Hit area
184
+ &:after {
185
+ content: "";
186
+ position: absolute;
187
+ top: -3px;
188
+ left: 0;
189
+ background: transparent;
190
+ height: 3px;
191
+ width: 100%;
192
+ }
193
+
194
+ // Transition
195
+ visibility: hidden;
196
+ opacity: 0;
197
+ @include transition(visibility 0s 0.15s, opacity 0.15s, margin-top .15s);
198
+
199
+ li a {
200
+ color: #444;
201
+ font-weight: 400;
202
+
203
+ &:hover {
204
+ color: $purple;
205
+ }
206
+
207
+ &.bookends-icon:before {
208
+ background-repeat: no-repeat;
209
+ opacity: .9;
210
+ content: '';
211
+ display: inline-block;
212
+ height: 24px;
213
+ width: 24px;
214
+ vertical-align: middle;
215
+ margin-right: 8px;
216
+ position: relative;
217
+ top: -2px;
218
+ }
219
+
220
+ &.elements:before {
221
+ background-image: asset-url('bookends/icons/elements-information.svg');
222
+ }
223
+ &.addons:before {
224
+ background-image: asset-url('bookends/icons/addons.svg');
225
+ }
226
+ &.buttons:before {
227
+ background-image: asset-url('bookends/icons/buttons.svg');
228
+ }
229
+ &.buildpacks:before {
230
+ background-image: asset-url('bookends/icons/buildpacks.svg');
231
+ }
232
+ &.platform:before {
233
+ background-image: asset-url('bookends/icons/platform.svg');
234
+ }
235
+ &.postgres:before {
236
+ background-image: asset-url('bookends/icons/postgres.svg');
237
+ }
238
+ &.redis:before {
239
+ background-image: asset-url('bookends/icons/redis.svg');
240
+ }
241
+ &.connect:before {
242
+ background-image: asset-url('bookends/icons/connect.svg');
243
+ }
244
+ &.enterprise:before {
245
+ background-image: asset-url('bookends/icons/enterprise.svg');
246
+ }
247
+ &.teams:before {
248
+ background-image: asset-url('bookends/icons/teams.svg');
249
+ }
250
+ }
251
+
252
+ p a {
253
+ color: #222;
254
+ }
255
+
256
+ &.more {
257
+ width: 160%;
258
+ max-width: 160%;
259
+ position: absolute;
260
+ left: 0;
261
+ right: 0;
262
+ display: block;
263
+ padding: $dropdown-padding/2 0 $dropdown-padding 0;
264
+
265
+ .more-title {
266
+ color: #999;
267
+ display: block;
268
+ font-size: 11px;
269
+ text-transform: uppercase;
270
+ letter-spacing: .05em;
271
+ margin: 12px 0 $dropdown-padding/2;
272
+ padding-bottom: ceil($dropdown-padding/1.5);
273
+ border-bottom: 1px solid #ddd;
274
+ }
275
+
276
+ section {
277
+ display: inline-block;
278
+ float: left;
279
+ height: 100%;
280
+ margin: 0;
281
+ padding: 0 $dropdown-padding;
282
+
283
+ @include media($tablet) {
284
+ float: none;
285
+ height: auto;
286
+ padding: 0;
287
+ margin: 12px 0;
288
+ }
289
+
290
+ > ul {
291
+ padding-left: 1px;
292
+ padding-right: 1px;
293
+ }
294
+ }
295
+
296
+ .more-resources,
297
+ .more-languages {
298
+ width: 25%;
299
+
300
+ @include media($tablet) {
301
+ width: 100%;
302
+ }
303
+ }
304
+
305
+ .more-blog {
306
+ width: 50%;
307
+
308
+ @include media($tablet) {
309
+ width: 100%;
310
+ }
311
+
312
+ a {
313
+ color: $purple;
314
+ }
315
+
316
+ h3 {
317
+ margin-top: 13px;
318
+ margin-bottom: 2px;
319
+ padding: 0;
320
+ font-size: 16px;
321
+ line-height: 1.4em;
322
+ text-align: left;
323
+ }
324
+
325
+ p {
326
+ font-size: $font-sm;
327
+ line-height: 1.4;
328
+ color: #333;
329
+ font-weight: 500;
330
+
331
+ a {
332
+ color: #333;
333
+ font-weight: 600;
334
+
335
+ &:hover {
336
+ color: $purple;
337
+ }
338
+ }
339
+ }
340
+
341
+ .blog-date {
342
+ margin: 1px 0;
343
+ color: #888;
344
+ font-size: $font-xs;
345
+ }
346
+ }
347
+
348
+ .btn-inline {
349
+ margin: 5px 0;
350
+ font-size: $font-xs;
351
+ padding-left: 1.5em;
352
+ padding-right: 1.5em;
353
+ }
354
+ }
355
+
356
+ ul {
357
+ margin: 0;
358
+ }
359
+
360
+ li {
361
+ float: none;
362
+ $white-space: nowrap;
363
+ padding: 0;
364
+ }
365
+
366
+ }
367
+
368
+ .main-nav {
369
+ float: left;
370
+ margin: 7px 0 0 15px;
371
+ }
372
+
373
+ @include media($desktop) {
374
+ .nav-more {
375
+ display: none;
376
+ }
377
+ }
378
+
379
+ .tool-nav {
380
+ float: right;
381
+ margin: ($padding-nav-inner + 1) 0 0 0;
382
+
383
+ li {
384
+ font-size: $font-sm;
385
+ padding: 0 ceil($padding-nav-inner/2);
386
+ margin: 0 10px;
387
+ &:last-child {
388
+ padding-right: 0;
389
+ margin-right: 0;
390
+ }
391
+ }
392
+ }
393
+
394
+ .user {
395
+
396
+ li {
397
+ font-size: $font-base;
398
+ }
399
+
400
+ > span {
401
+ color: lighten($purple, 10%);
402
+ color: fade-out($white, .8);
403
+ margin: 0 .2em;
404
+ }
405
+
406
+ &.logged-in {
407
+ > a:first-child {
408
+ margin-right: 12px;
409
+ }
410
+ }
411
+ }
412
+
413
+
414
+
415
+ .nav-wrapper {
416
+ @include media($desktop) {
417
+ display: none;
418
+ overflow: auto;
419
+ }
420
+ }
421
+
422
+ &.active {
423
+
424
+ .nav-wrapper {
425
+
426
+ $nav-wrapper-bg: fade-out(darken($purple, 45%), .05);
427
+
428
+ display: block;
429
+ position: fixed;
430
+ z-index: 11;
431
+ left: 0;
432
+ top: 0;
433
+ width: 100%;
434
+ height: 100%;
435
+ background-color: $nav-wrapper-bg;
436
+
437
+ &:before {
438
+ content: "";
439
+ width: 100%;
440
+ position: fixed;
441
+ top: 0;
442
+ left: 0;
443
+ height: 100px;
444
+ z-index: 0;
445
+ @include linear-gradient($nav-wrapper-bg 50%, fade-out($nav-wrapper-bg, 1) 100%, $fallback: transparent);
446
+ }
447
+ }
448
+
449
+ #logo {
450
+ position: fixed;
451
+ z-index: 12;
452
+
453
+ a {
454
+ @include media($bp-sm) {
455
+ overflow: hidden;
456
+ width: 40px;
457
+ }
458
+ }
459
+ }
460
+
461
+ .main-nav {
462
+ position: relative;
463
+ width: 100%;
464
+ padding: 100px 40px;
465
+ font-size: 1.5em;
466
+ margin: 0;
467
+ z-index: -1;
468
+
469
+ @include media($bp-sm) {
470
+ padding: 100px 20px;
471
+ }
472
+
473
+ }
474
+
475
+ .tool-nav {
476
+ position: fixed;
477
+ top: 20px;
478
+ right: 50px;
479
+ margin: 8px 0 0 0;
480
+
481
+ @include media($bp-sm) {
482
+ width: 100%;
483
+ padding-left: 150px;
484
+ }
485
+
486
+ li {
487
+ float: left;
488
+ margin: 0 16px 0 0;
489
+ padding: 0;
490
+
491
+ }
492
+
493
+ }
494
+
495
+ .glostick__menu-icon:first-child {
496
+ display: none;
497
+ }
498
+
499
+ .site-search {
500
+ margin-right: 0;
501
+ }
502
+
503
+ .dropdown {
504
+ margin-top: 8px;
505
+ margin-bottom: 16px;
506
+ visibility: visible;
507
+ opacity: 1;
508
+ width: 100%;
509
+
510
+ li {
511
+ display: block;
512
+ font-size: 1.25em;
513
+
514
+ a {
515
+ color: fade-out($white, .2);
516
+ font-weight: 500;
517
+
518
+ &:hover {
519
+ color: $blue;
520
+ }
521
+ }
522
+ }
523
+
524
+ &.more {
525
+ margin-top: 35px;
526
+ text-align: left;
527
+ position: relative;
528
+
529
+ section {
530
+ padding: 0 16px 0 0;
531
+ }
532
+
533
+ .more-title {
534
+ color: $purple;
535
+ border-bottom: 1px solid $purple;
536
+ }
537
+
538
+ .btn-default {
539
+ background: transparent;
540
+ color: $white;
541
+ }
542
+
543
+ .more-blog {
544
+
545
+ h3,
546
+ h3 a {
547
+ color: $white;
548
+ }
549
+
550
+ p {
551
+ color: fade-out($white, .2);
552
+
553
+ a {
554
+ color: $white;
555
+ }
556
+ }
557
+ }
558
+ }
559
+
560
+ }
561
+
562
+
563
+ li {
564
+
565
+ &.has-dropdown {
566
+
567
+ .dropdown {
568
+ margin-top: 8px;
569
+ margin-bottom: 16px;
570
+ margin-left: 0;
571
+
572
+ &.more {
573
+ margin-bottom: 0;
574
+ }
575
+ }
576
+
577
+ > a {
578
+ &:after {
579
+ display: none;
580
+ }
581
+ }
582
+ }
583
+
584
+ > a {
585
+ color: fade-out($white, .1);
586
+
587
+ &:hover {
588
+ color: $white;
589
+ }
590
+
591
+ &.highlight {
592
+ background: $purple;
593
+ padding: 9px 12px;
594
+ }
595
+ }
596
+
597
+ .more-link {
598
+ display: none;
599
+ }
600
+ }
601
+
602
+ .mobile-nav {
603
+ position: fixed;
604
+ }
605
+
606
+ }
607
+
608
+ .mobile-nav {
609
+ display: none;
610
+ position: absolute;
611
+ top: 32px;
612
+ right: 23px;
613
+ z-index: 12;
614
+
615
+ @include media($desktop) {
616
+ display: block;
617
+ }
618
+ }
619
+
620
+ .site-search {
621
+ position: relative;
622
+ display: block;
623
+ float: right;
624
+ margin-top: -2px;
625
+ margin-right: -10px;
626
+
627
+ @include media($bp-sm) {
628
+ float: none;
629
+ }
630
+
631
+ .gsc-input input.gsc-input {
632
+ width: 145px !important;
633
+ background: fade-out($white, .9) !important;
634
+ color: $white;
635
+ color: fade-out($white, .5);
636
+ font-size: 13px !important;
637
+ @include transition(.15s ease-in-out);
638
+ -webkit-font-smoothing: subpixel-antialiased;
639
+
640
+ @include media($bp-sm) {
641
+ width: 100% !important;
642
+ }
643
+
644
+ &:hover {
645
+ box-shadow: 0;
646
+ }
647
+
648
+ &:focus {
649
+ background: fade-out($white, .1) !important;
650
+ color: #222;
651
+ }
652
+ }
653
+
654
+ .gsc-search-button {
655
+ // Temporary
656
+ input {
657
+ display: none;
658
+ }
659
+ }
660
+ }
661
+ }
662
+
663
+ #logo {
664
+ float: left;
665
+ font-size: 1em;
666
+ margin: 0;
667
+
668
+ a {
669
+ @include hide-text;
670
+ @include size(143px 40px);
671
+ background-image: url(logo.svg);
672
+ display: block;
673
+ background-repeat: no-repeat;
674
+ }
675
+ }
676
+
677
+ .prop-label {
678
+ display: block;
679
+ float: left;
680
+ padding: .7em 0 0 .8em;
681
+ font-size: 1.25em;
682
+ font-weight: 400;
683
+ }
684
+
685
+ #hero {
686
+ @include background-image(radial-gradient(0% bottom, ellipse, rgba(118, 72, 160, 0.7) 0%, rgba(118, 72, 160, 0) 60%),
687
+ radial-gradient(90% bottom, ellipse, rgba(82, 63, 140, 1) 0%, rgba(82, 63, 140, 0) 40%));
688
+
689
+ color: lighten($purple, 30%);
690
+ padding: 0;
691
+
692
+ .wrapper {
693
+ padding-bottom: 5.625em;
694
+ padding-top: 4em;
695
+ position: relative;
696
+ }
697
+
698
+ .button {
699
+ @include background-image(linear-gradient($white, #E7E4EE));
700
+ background-color: $white;
701
+ color: darken($purple, 10%);
702
+ display: inline-block;
703
+ min-width: 240px;
704
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
705
+ }
706
+
707
+ .header-group {
708
+ margin: 0;
709
+ }
710
+
711
+ h1 {
712
+ color: $white;
713
+ }
714
+
715
+ h2, h3, h4, h5 {
716
+ color: $purple-light;
717
+
718
+ &.white {
719
+ color: $white;
720
+ }
721
+ }
722
+
723
+ h4, h5 {
724
+ font-weight: $font-normal;
725
+ }
726
+ }
727
+
728
+ body.purple {
729
+ background-color: #3B2F63;
730
+ @include background-image(radial-gradient(50% top, circle, rgba(84, 90, 182, 0.6) 0%, rgba(84, 90, 182, 0) 75%),
731
+ radial-gradient(right top, circle, rgba(121, 74, 162, 1) 0%, rgba(121, 74 ,162, 0) 57%));
732
+ background-repeat: no-repeat;
733
+ background-size: 100% 1000px;
734
+ color: lighten($purple, 30%);
735
+ margin: 0;
736
+ padding: 0;
737
+
738
+ #header {
739
+ background: transparent;
740
+ }
741
+
742
+ .page-content {
743
+ background: transparent;
744
+ }
745
+ }