jekyll-theme-consulting 0.3.3 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94e77bf5370dec8681cf1bdcf454f61f4ea5ef5ead2c57797b672e71dd16e654
4
- data.tar.gz: 798d30cc55b84fcbc398805136c6e9269b2a537c11415a37759085c4140619ab
3
+ metadata.gz: abad23a2c417ac2d9db0895c402ab9d5e855195d706536c6c7cf0aee18766cc6
4
+ data.tar.gz: 16b5c0e19359200f5c6e46037d3c0a6d985d562b2f1988b7b720603a3b8758d3
5
5
  SHA512:
6
- metadata.gz: 84d8859d898cc5a4985e79a13db6b2f9244abe401466d95e8bcc5bfa4de547ebc5d1446679c85faa03b70b7a43e864a24c8ab4c5ab76dc551195b28a05a02df5
7
- data.tar.gz: 25b4c143ceca28e5f49645f8c09ec31f63b93549d1bdcfdca313754810a893b0f73a66165bd169322256722b638f32605b4075fd1dd1f26bfd2f66e901cd67fd
6
+ metadata.gz: 47ff15e4c18c8a5fbc9acb6c3c5aa405f756a377688937dc48d9b27863f3b89a857c795c82a97ebf50b343ebe9b45bce003b13efe6aff3c6fec5a786cc6d78ea
7
+ data.tar.gz: 9c89bce055854b508232ecee64d66831de5d008916634bd1f9334367f0a97e9cdeb056d8b28fc372e5767af892a16584ffdc5324822ef26d7537229c07dfece7
data/README.md CHANGED
@@ -1,11 +1,23 @@
1
1
  # Consulting - Jekyll theme
2
2
 
3
- > A multilingual jekyll template for businesses.
3
+ > A sober, hassle-free, jekyll template for businesses.
4
4
 
5
5
  You can preview the theme [here](https://moodule.github.io/jekyll-theme-consulting)
6
6
 
7
7
  ![Consulting Theme](assets/images/screenshot.jpg "Consulting Theme")
8
8
 
9
+ # Features
10
+
11
+ > **Responsive**: out of the box support for all screen sizes, be it smartphones, laptops, tablets...
12
+
13
+ > **Multilingual**: easily manage pages, menu, url, dates, sitemap in several languages
14
+
15
+ > **Customizable**: theme colors, menu, social items can be changed from a central config file
16
+
17
+ > **GDPR ready**: bundled with a cookie consent plugin and a boilerplate privacy policy compliant with GDPR
18
+
19
+ > **SEO ready**: sitemap, robots.txt and tags are automatically generated for the website
20
+
9
21
  # Installation
10
22
 
11
23
  Add this line to your Jekyll site's `Gemfile`:
@@ -39,32 +51,66 @@ and [creating pages](https://jekyllrb.com/docs/pages/).
39
51
  You can use the following custom parameters in `_config.yml`.
40
52
 
41
53
  ### Site
42
- - `subtitle` sets the text for the lighter colored text next to your site's title.
54
+ Both `title` and `subtitle` are displayed side by side :
55
+ - in the tab name
56
+ - at the top of the page, in the header
43
57
 
44
58
  ### Social
45
- - `500px_url`
46
- - `facebook_url`
47
- - `github_url`
48
- - `gitlab_url`
49
- - `googleplus_url`
50
- - `instagram_url`
51
- - `linkedin_url`
52
- - `pinterest_url`
53
- - `slack_url`
54
- - `twitter_url`
59
+ Social icons will appear for each url your fill in, among `facebook_url` etc.
55
60
 
56
61
  ### Contact
57
- - `street_address`
58
- - `city`
59
- - `state`
60
- - `zip_code`
61
- - `country`
62
- - `phone`
63
- - `email`
62
+ Your contact information can be used in contact forms, the footer or anywhere else.
64
63
 
65
64
  ## Publication
66
65
 
67
- To post your website as a Github page, fork this reposity and create a branch named `gh-pages`, then start editing the `_config.yml` file.
66
+ ### On Github Pages
67
+
68
+ In your own website's repository, edit the `_config.yml` file:
69
+
70
+ ```yaml
71
+ url: "https://<github-account-name>.github.io/<repository-name>"
72
+ ```
73
+
74
+ Build the website with:
75
+
76
+ $ JEKYLL_ENV=production bundle exec jekyll build
77
+
78
+ Commit all your work to the current branch.
79
+
80
+ Create a branch named `gh-pages`:
81
+
82
+ $ git checkout -b gh-pages
83
+
84
+ And finally replace the repository's content with the generated webpages:
85
+
86
+ $ mkdir ~/backup
87
+ $ mv ./* ~/backup/
88
+ $ mv ~/backup/.git ./
89
+ $ mv ~/backup/_site/* ./
90
+ $ git add .
91
+ $ git commit -m "First draft"
92
+
93
+ The repository's content is backup in the home directory of the user.
94
+
95
+ And finally push to github
96
+
97
+ $ git push --u origin gh-pages
98
+
99
+ ### On any server
100
+
101
+ In your own website's directory, edit the `_config.yml` file:
102
+
103
+ ```yaml
104
+ url: "https:<domain-name>"
105
+ ```
106
+
107
+ Build the website with:
108
+
109
+ $ JEKYLL_ENV=production bundle exec jekyll build
110
+
111
+ Copy the content of the folder `_site` to your server, most likely in `www`.
112
+
113
+ If necessary, configure your server to serve this directory.
68
114
 
69
115
  # Contributing
70
116
 
@@ -79,10 +125,14 @@ To test the theme, run `bundle exec jekyll serve` and open your browser at `http
79
125
  When the theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
80
126
  To add a custom directory to the theme-gem, please edit the regexp in `jekyll-theme-consulting.gemspec` accordingly.
81
127
 
82
- # Credits
128
+ # Credits
83
129
 
84
130
  Inspired by the work of [@ajlkn][ajlkn].
85
131
 
132
+ Uses the basic template from the [cookie consent plugin][cookieconsent].
133
+
134
+ Space image in the banner: the Pillars of Creation, courtesy of NASA.
135
+
86
136
  Repository [Jekyll logo][jekyll-logo] icon licensed under a [Creative Commons Attribution 4.0 International License][cc4-license].
87
137
 
88
138
  ## License
@@ -92,5 +142,6 @@ The theme is available as open source under the terms of the [CC-BY-4.0](LICENSE
92
142
  [ajlkn]: https://aj.lkn.io/
93
143
  [cc4-license]: http://choosealicense.com/licenses/cc-by-4.0/
94
144
  [contributor-covenant]: http://contributor-covenant.org
145
+ [cookieconsent]: https://github.com/osano/cookieconsent
95
146
  [html5up]: https://html5up.net/
96
147
  [jekyll-logo]: https://github.com/jekyll/brand
@@ -1,5 +1,5 @@
1
1
  <!-- Banner -->
2
- <section id="banner">
2
+ <section id="banner" {% if include.style %}class="{{ include.style.class | default: '' }}" style="background-image: url({{ include.style.image | absolute_url }});"{% endif %}>
3
3
  <div class="content">
4
4
  <header>
5
5
  <h1>{{ include.title }}</h1>
@@ -7,10 +7,7 @@
7
7
  </header>
8
8
  {% if include.description %}<p>{{ include.description }}</p>{% endif %}
9
9
  <ul class="actions">
10
- <li><a href="{{ include.button_url | default: '#' }}" class="button big">{{ include.button_label | default: 'Ask for advice!' }}</a></li>
10
+ <li><a href="{{ include.button.url | default: '#' }}" class="button big">{{ include.button.label | default: 'Ask for advice!' }}</a></li>
11
11
  </ul>
12
12
  </div>
13
- <span class="image object">
14
- <img src="{{ include.image_url | default: 'assets/images/pic01.jpg' | absolute_url }}" alt="" />
15
- </span>
16
13
  </section>
@@ -1,13 +1,38 @@
1
- <!-- Section -->
2
- <section>
3
- <header class="major">
4
- <h2>{{ include.title }}</h2>
5
- </header>
6
- <ul class="contact">
7
- <li class="fa-envelope-o"><a href="#">{{ site.email }}</a></li>
8
- <li class="fa-phone">{{ site.phone }}</li>
9
- <li class="fa-home">{{ site.street_address }}<br />
10
- {{ site.city }}, {{ site.state }} {{ site.zip_code }}<br />
11
- {{ site.country }}</li>
12
- </ul>
13
- </section>
1
+ <section id="contact" class="inverted" style="{{ include.style | default: nil }}">
2
+ <header class="major">
3
+ <h2>Contact Me</h2>
4
+ </header>
5
+ <div class="row gtr-200">
6
+ <div class="col-6 col-12-medium">
7
+ <form method="post" action="#">
8
+ <div class="row gtr-uniform">
9
+ <div class="col-6 col-12-xsmall">
10
+ <input type="text" name="cta-name" id="cta-name" value="" placeholder="Name" />
11
+ </div>
12
+ <div class="col-6 col-12-xsmall">
13
+ <input type="email" name="cta-email" id="cta-email" value="" placeholder="Email" />
14
+ </div>
15
+ <!-- Break -->
16
+ <div class="col-12">
17
+ <textarea name="cta-message" id="cta-message" placeholder="Enter your message" rows="6">Please get back to me!</textarea>
18
+ </div>
19
+ <!-- Break -->
20
+ <div class="col-12">
21
+ <ul class="actions">
22
+ <li><input type="submit" value="Send Message" class="primary button solid fa-envelope" /></li>
23
+ <li><input type="reset" value="Reset" class="icon button fa-undo" /></li>
24
+ </ul>
25
+ </div>
26
+ </div>
27
+ </form>
28
+ </div>
29
+ <div class="col-6 col-12-medium">
30
+ <ul class="contact">
31
+ <li class="icon solid fa-envelope"><a href="#">{{ site.email }}</a></li>
32
+ <li class="icon solid fa-phone">{{ site.phone }}</li>
33
+ <li class="icon solid fa-home">{{ site.street_address }}<br />
34
+ {{ site.zip_code }}, {{ site.city }}</li>
35
+ </ul>
36
+ </div>
37
+ </div>
38
+ </section>
@@ -1,6 +1,11 @@
1
1
  <!-- Footer -->
2
2
  <footer id="footer">
3
3
  <section class="inverted">
4
- <p class="copyright">&copy; {{ site.copyright_holder }}. All rights reserved. Design: <a href="https://github.com/moodule">MOODULE</a>.</p>
4
+ <p class="copyright">
5
+ &copy; {{ site.copyright_holder }}. All rights reserved.
6
+ Design: <a href="https://github.com/moodule">MOODULE</a>.
7
+ {% if site.privacy_policy_url %}<a href="{{ site.privacy_policy_url | absolute_url }}">Privacy policy</a>.{% endif %}
8
+ {% if site.legal_terms_url %}<a href="{{ site.legal_terms_url | absolute_url }}">Legal terms</a>.{% endif %}
9
+ </p>
5
10
  </section>
6
11
  </footer>
@@ -1,5 +1,5 @@
1
1
  <!-- Header -->
2
- <header id="header">
2
+ <header id="header" {% if include.style %}class="{{ include.style.class | default: '' }}" style="background-image: url({{ include.style.image | absolute_url }});"{% endif %}>
3
3
  <a href="{{ '' | absolute_url }}" class="logo">
4
4
  <strong>{{ include.title }}</strong> - {{ include.subtitle }}
5
5
  </a>
@@ -7,6 +7,6 @@
7
7
  <li>
8
8
  <a href="{{ page.url | absolute_url }}" class="{{ page.lang }}">{{ page.lang }}</a>
9
9
  </li>
10
- {% endif%}
10
+ {% endif %}
11
11
  {% endfor %}
12
- </ul>
12
+ </ul>
@@ -3,4 +3,17 @@
3
3
  <script src="{{ 'assets/js/browser.min.js' | absolute_url }}"></script>
4
4
  <script src="{{ 'assets/js/breakpoints.min.js' | absolute_url }}"></script>
5
5
  <script src="{{ 'assets/js/util.js' | absolute_url }}"></script>
6
- <script src="{{ 'assets/js/main.js' | absolute_url }}"></script>
6
+ <script src="{{ 'assets/js/main.js' | absolute_url }}"></script>
7
+ <script src="{{ 'assets/js/cookieconsent.min.js' | absolute_url }}" data-cfasync="false"></script>
8
+ <script>
9
+ window.cookieconsent.initialise({
10
+ "palette": {
11
+ "popup": {
12
+ "background": "#252e39"
13
+ },
14
+ "button": {
15
+ "background": "#14a7d0"
16
+ }
17
+ }
18
+ });
19
+ </script>
@@ -5,8 +5,14 @@
5
5
  {% assign title = page.title | default: site.title %}
6
6
  {% assign subtitle = page.subtitle | default: site.subtitle %}
7
7
  {% assign description = page.description | default: site.description %}
8
+ {% assign header = page.header | default: site.header %}
8
9
 
9
10
  <!DOCTYPE html>
11
+ <!--
12
+ Consulting theme by MOODULE
13
+ https://github.com/moodule
14
+ Free for personal and commercial use under the CCA 4.0 license
15
+ -->
10
16
  <html lang="{{ lang }}">
11
17
 
12
18
  {% include head.html title=title subtitle=subtitle %}
@@ -20,7 +26,7 @@
20
26
  <div id="main">
21
27
  <div class="inner">
22
28
 
23
- {% include header.html title=title subtitle=subtitle %}
29
+ {% include header.html title=title subtitle=subtitle style=header.style %}
24
30
 
25
31
  {{ content }}
26
32
 
data/_layouts/home.html CHANGED
@@ -1,8 +1,11 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
- {% include banner.html title=page.title subtitle=page.subtitle description=page.description button_label=page.cta_label button_url=page.cta_destination %}
4
+ {% assign banner = page.banner | default: site.banner %}
5
+ {% assign title = banner.title | default: page.title | default: site.title %}
6
+ {% assign subtitle = banner.subtitle | default: page.subtitle | default: site.subtitle %}
7
+ {% assign description = banner.description | default: page.description | default: site.description %}
5
8
 
6
- {{ content }}
9
+ {% include banner.html title=title subtitle=subtitle description=description button=banner.button style=banner.style %}
7
10
 
8
- {% include thread.html %}
11
+ {{ content }}
data/_layouts/page.html CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
- {{ content }}
4
+ {{ content }}
data/_layouts/post.html CHANGED
@@ -24,4 +24,4 @@ layout: default
24
24
  {% endif %}
25
25
 
26
26
  <a class="u-url" href="{{ page.url | absolute_url }}" hidden></a>
27
- </article>
27
+ </article>
File without changes
@@ -0,0 +1,402 @@
1
+ .cc-window {
2
+ opacity: 1;
3
+
4
+ -webkit-transition: opacity 1s ease;
5
+ -moz-transition: opacity 1s ease;
6
+ -ms-transition: opacity 1s ease;
7
+ -o-transition: opacity 1s ease;
8
+ transition: opacity 1s ease;
9
+ }
10
+
11
+ .cc-window.cc-invisible {
12
+ opacity: 0;
13
+ }
14
+
15
+ /* only animate ifhas class 'cc-animate' */
16
+ .cc-animate.cc-revoke {
17
+ -webkit-transition: transform 1s ease;
18
+ -moz-transition: transform 1s ease;
19
+ -ms-transition: transform 1s ease;
20
+ -o-transition: transform 1s ease;
21
+ transition: transform 1s ease;
22
+ }
23
+ .cc-animate.cc-revoke.cc-top {
24
+ transform: translateY(-2em);
25
+ }
26
+ .cc-animate.cc-revoke.cc-bottom {
27
+ transform: translateY(2em);
28
+ }
29
+ .cc-animate.cc-revoke.cc-active.cc-top {
30
+ transform: translateY(0);
31
+ }
32
+ .cc-animate.cc-revoke.cc-active.cc-bottom {
33
+ transform: translateY(0);
34
+ }
35
+ .cc-revoke:hover {
36
+ transform: translateY(0);
37
+ }
38
+
39
+ .cc-grower {
40
+ /* Initially we don't want any height, and we want the contents to be hidden */
41
+ max-height: 0;
42
+ overflow: hidden;
43
+
44
+ /* Set our transitions up. */
45
+ -webkit-transition: max-height 1s;
46
+ -moz-transition: max-height 1s;
47
+ -ms-transition: max-height 1s;
48
+ -o-transition: max-height 1s;
49
+ transition: max-height 1s;
50
+ }
51
+
52
+ /* the popup window */
53
+ .cc-window,
54
+ .cc-revoke {
55
+ position: fixed;
56
+ overflow: hidden;
57
+ box-sizing: border-box; /* exclude padding when dealing with width */
58
+
59
+ font-family: Helvetica, Calibri, Arial, sans-serif;
60
+ font-size: 16px; /* by setting the base font here, we can size the rest of the popup using CSS `em` */
61
+ line-height: 1.5em;
62
+
63
+ display: flex;
64
+ flex-wrap: nowrap;
65
+
66
+ /* the following are random unjustified styles - just because - should probably be removed */
67
+ z-index: 9998;
68
+ }
69
+
70
+ .cc-revoke {
71
+ z-index: 9999;
72
+ }
73
+
74
+ .cc-window.cc-static {
75
+ position: static;
76
+ }
77
+
78
+ /* 2 basic types of window - floating / banner */
79
+ .cc-window.cc-floating {
80
+ padding: 2em;
81
+ max-width: 24em; /* 1em == 16px therefore 24em == 384px */
82
+ flex-direction: column;
83
+ }
84
+ .cc-window.cc-banner {
85
+ padding: 1em 1.8em;
86
+ width: 100%;
87
+ flex-direction: row;
88
+ }
89
+
90
+ .cc-revoke {
91
+ padding: 0.5em;
92
+ }
93
+ .cc-revoke:hover {
94
+ text-decoration: underline;
95
+ }
96
+
97
+ .cc-header {
98
+ font-size: 18px;
99
+ font-weight: bold;
100
+ }
101
+
102
+ /* clickable things */
103
+ .cc-btn,
104
+ .cc-link,
105
+ .cc-close,
106
+ .cc-revoke {
107
+ cursor: pointer;
108
+ }
109
+
110
+ .cc-link {
111
+ opacity: 0.8;
112
+ display: inline-block;
113
+ border: none;
114
+ padding: 0.2em;
115
+ text-decoration: underline;
116
+ }
117
+ .cc-link:hover {
118
+ opacity: 1;
119
+ }
120
+ .cc-link:active,
121
+ .cc-link:visited {
122
+ color: initial;
123
+ }
124
+
125
+ .cc-btn {
126
+ display: block;
127
+ padding: 0.4em 0.8em;
128
+ font-size: 0.9em;
129
+ font-weight: bold;
130
+ border-width: 2px;
131
+ border-style: solid;
132
+ text-align: center;
133
+ white-space: nowrap;
134
+ }
135
+
136
+ .cc-highlight .cc-btn:first-child {
137
+ background-color: transparent;
138
+ border-color: transparent;
139
+ }
140
+
141
+ .cc-highlight .cc-btn:first-child:hover,
142
+ .cc-highlight .cc-btn:first-child:focus {
143
+ background-color: transparent;
144
+ text-decoration: underline;
145
+ }
146
+
147
+ .cc-close {
148
+ display: block;
149
+ position: absolute;
150
+ top: 0.5em;
151
+ right: 0.5em;
152
+ font-size: 1.6em;
153
+ opacity: 0.9;
154
+
155
+ /* seeing as this contains text and not an image, the element taller than it is wide (because it is text) */
156
+ /* - we want it to be a square, because it's acting as an icon */
157
+ /* - setting the line height normalizes the height */
158
+ line-height: 0.75;
159
+ }
160
+ .cc-close:hover,
161
+ .cc-close:focus {
162
+ opacity: 1;
163
+ }
164
+
165
+ /* This file should contain styles that modifies the popup layout. */
166
+ /* By layout, we mean the physical position of the elements on the popup window, and the margin / padding around those elements. */
167
+
168
+ .cc-revoke.cc-top {
169
+ top: 0;
170
+ left: 3em;
171
+ border-bottom-left-radius: 0.5em;
172
+ border-bottom-right-radius: 0.5em;
173
+ }
174
+ .cc-revoke.cc-bottom {
175
+ bottom: 0;
176
+ left: 3em;
177
+ border-top-left-radius: 0.5em;
178
+ border-top-right-radius: 0.5em;
179
+ }
180
+ .cc-revoke.cc-left {
181
+ left: 3em;
182
+ right: unset;
183
+ }
184
+ .cc-revoke.cc-right {
185
+ right: 3em;
186
+ left: unset;
187
+ }
188
+
189
+ /**************************************** FLOATING ****************************************/
190
+
191
+ /* these classes position the floating element */
192
+ .cc-top {
193
+ top: 1em;
194
+ }
195
+ .cc-left {
196
+ left: 1em;
197
+ }
198
+ .cc-right {
199
+ right: 1em;
200
+ }
201
+ .cc-bottom {
202
+ bottom: 1em;
203
+ }
204
+
205
+ /* links that are direct decendants should be displayed as block */
206
+ .cc-floating > .cc-link {
207
+ margin-bottom: 1em;
208
+ }
209
+
210
+ .cc-floating .cc-message {
211
+ display: block;
212
+ margin-bottom: 1em;
213
+ }
214
+
215
+ .cc-window.cc-floating .cc-compliance {
216
+ flex: 1 0 auto;
217
+ }
218
+
219
+ /**************************************** BANNER ****************************************/
220
+
221
+ .cc-window.cc-banner {
222
+ align-items: center;
223
+ }
224
+
225
+ .cc-banner.cc-top {
226
+ left: 0;
227
+ right: 0;
228
+ top: 0;
229
+ }
230
+ .cc-banner.cc-bottom {
231
+ left: 0;
232
+ right: 0;
233
+ bottom: 0;
234
+ }
235
+
236
+ .cc-banner .cc-message {
237
+ display: block;
238
+ flex: 1 1 auto;
239
+ max-width: 100%;
240
+ margin-right: 1em;
241
+ }
242
+
243
+ /* COMPLIANCE BOX */
244
+
245
+ .cc-compliance {
246
+ display: flex;
247
+ align-items: center;
248
+ justify-content: space-between;
249
+ }
250
+ .cc-floating .cc-compliance > .cc-btn {
251
+ flex: 1;
252
+ }
253
+
254
+ .cc-btn + .cc-btn {
255
+ margin-left: 0.5em;
256
+ }
257
+
258
+ /* Categories Layout */
259
+ .cc-window.cc-type-categories {
260
+ display : inline-flex;
261
+ flex-direction: column;
262
+ overflow : visible;
263
+ .form{
264
+ text-align: right;
265
+ }
266
+ .cc-btn {
267
+ margin: 0;
268
+ &.cc-save {
269
+ margin : 0;
270
+ display : inline-block;
271
+ }
272
+ }
273
+ }
274
+ .cc-categories {
275
+ display: inline-flex;
276
+ .cc-category{
277
+ display : flex;
278
+ max-width: 100%;
279
+ margin : 0 2px;
280
+ position : relative;
281
+ }
282
+ .cc-btn {
283
+ border-right: none;
284
+ outline : none;
285
+ input[type=checkbox]{
286
+ float: left;
287
+ height: 26px;
288
+ width: calc( 100% - 22px );
289
+ display: block;
290
+ position: absolute;
291
+ top: 0;
292
+ left: 2px;
293
+ cursor: pointer;
294
+ }
295
+ &:not(.cc-info):not(.cc-save){
296
+ padding-left: 26px;
297
+ }
298
+ }
299
+ .cc-info {
300
+ border-left : none;
301
+ border-right: 2px solid lightgrey;
302
+ padding : 4px;
303
+ font-variant: all-small-caps;
304
+ &:focus + .cc-tooltip{
305
+ display: block;
306
+ }
307
+ }
308
+ .cc-tooltip{
309
+ display : none;
310
+ position : absolute;
311
+ z-index : 3;
312
+ width : 190px;
313
+ bottom : 46px;
314
+ padding : 8px;
315
+ border : thin solid lightgrey;
316
+ box-shadow: 1px 1px 4px rgba( 150, 150, 150, .7 );
317
+ &:after{
318
+ content : "";
319
+ width : 10px;
320
+ height : 10px;
321
+ transform : rotate(45deg);
322
+ position : absolute;
323
+ bottom : -7px;
324
+ left : 10px;
325
+ box-shadow: 2px 1px 1px rgba( 200, 200, 200, .5 );
326
+ }
327
+ p {
328
+ margin: 0;
329
+ }
330
+ }
331
+ }
332
+
333
+ @media print {
334
+ .cc-window,
335
+ .cc-revoke {
336
+ display: none;
337
+ }
338
+ }
339
+
340
+ @media screen and (max-width: 900px) {
341
+ .cc-btn {
342
+ white-space: normal;
343
+ }
344
+ }
345
+
346
+ /* dimensions for 'iPhone6 Plus' and lower */
347
+ @media screen and (max-width: 414px) and (orientation: portrait),
348
+ screen and (max-width: 736px) and (orientation: landscape) {
349
+ .cc-window {
350
+ &.cc-top {
351
+ top: 0;
352
+ }
353
+ &.cc-bottom {
354
+ bottom: 0;
355
+ }
356
+ &.cc-banner,
357
+ &.cc-floating,
358
+ &.cc-right,
359
+ &.cc-left {
360
+ left: 0;
361
+ right: 0;
362
+ }
363
+
364
+ &.cc-banner {
365
+ flex-direction: column;
366
+ align-items: unset;
367
+ .cc-compliance {
368
+ flex: 1 1 auto;
369
+ }
370
+ .cc-message {
371
+ margin-right: 0;
372
+ margin-bottom: 1em;
373
+ }
374
+ }
375
+ &.cc-floating {
376
+ max-width: none;
377
+ }
378
+ &.cc-type-categories {
379
+ flex-direction: column;
380
+ }
381
+ .cc-message {
382
+ margin-bottom: 1em;
383
+ }
384
+ .cc-categories{
385
+ flex-direction: column;
386
+ width: 100%;
387
+ margin-right: 8px;
388
+ }
389
+ .cc-category {
390
+ margin: 4px 0;
391
+ .cc-btn:not(.cc-info){
392
+ width: calc( 100% - 16px);
393
+ min-width: 140px;
394
+ }
395
+ }
396
+ }
397
+ }
398
+ @media screen and (max-width: 854px) {
399
+ .cc-window.cc-type-categories .cc-btn.cc-save {
400
+ margin: 8px 0;
401
+ }
402
+ }
@@ -6,70 +6,73 @@
6
6
 
7
7
  /* Banner */
8
8
 
9
- #banner {
10
- @include padding(6em, 0);
11
- @include vendor('display', 'flex');
9
+ #banner {
10
+ @include padding(6em, 0);
11
+ @include vendor('display', 'flex');
12
+ background-size: 100% auto;
13
+ background-position: center -5em;
14
+ background-repeat: no-repeat;
15
+
16
+ h1 {
17
+ margin-top: -0.125em;
18
+ }
19
+
20
+ .content {
21
+ @include vendor('flex-grow', '1');
22
+ @include vendor('flex-shrink', '1');
23
+ width: 50%;
24
+ }
25
+
26
+ .image {
27
+ @include vendor('flex-grow', '0');
28
+ @include vendor('flex-shrink', '0');
29
+ display: block;
30
+ margin: 0 0 _size(element-margin) (_size(element-margin) * 2);
31
+ width: 50%;
32
+
33
+ img {
34
+ height: 100%;
35
+ -moz-object-fit: cover;
36
+ -webkit-object-fit: cover;
37
+ -ms-object-fit: cover;
38
+ object-fit: cover;
39
+ -moz-object-position: center;
40
+ -webkit-object-position: center;
41
+ -ms-object-position: center;
42
+ object-position: center;
43
+ width: 100%;
44
+ }
45
+ }
46
+
47
+ @include orientation(portrait) {
48
+ @include vendor('flex-direction', 'column-reverse');
12
49
 
13
50
  h1 {
14
- margin-top: -0.125em;
51
+ br {
52
+ display: none;
53
+ }
15
54
  }
16
55
 
17
56
  .content {
18
- @include vendor('flex-grow', '1');
19
- @include vendor('flex-shrink', '1');
20
- width: 50%;
57
+ @include vendor('flex-grow', '0');
58
+ @include vendor('flex-shrink', '0');
59
+ width: 100%;
21
60
  }
22
61
 
23
62
  .image {
24
63
  @include vendor('flex-grow', '0');
25
64
  @include vendor('flex-shrink', '0');
26
- display: block;
27
- margin: 0 0 _size(element-margin) (_size(element-margin) * 2);
28
- width: 50%;
29
-
30
- img {
31
- height: 100%;
32
- -moz-object-fit: cover;
33
- -webkit-object-fit: cover;
34
- -ms-object-fit: cover;
35
- object-fit: cover;
36
- -moz-object-position: center;
37
- -webkit-object-position: center;
38
- -ms-object-position: center;
39
- object-position: center;
40
- width: 100%;
41
- }
65
+ margin: 0 0 (_size(element-margin) * 2) 0;
66
+ height: 25em;
67
+ max-height: 50vh;
68
+ min-height: 18em;
69
+ width: 100%;
42
70
  }
43
71
 
44
- @include orientation(portrait) {
45
- @include vendor('flex-direction', 'column-reverse');
46
-
47
- h1 {
48
- br {
49
- display: none;
50
- }
51
- }
52
-
53
- .content {
54
- @include vendor('flex-grow', '0');
55
- @include vendor('flex-shrink', '0');
56
- width: 100%;
57
- }
58
-
72
+ @include breakpoint('<=xsmall') {
59
73
  .image {
60
- @include vendor('flex-grow', '0');
61
- @include vendor('flex-shrink', '0');
62
- margin: 0 0 (_size(element-margin) * 2) 0;
63
- height: 25em;
64
- max-height: 50vh;
65
- min-height: 18em;
66
- width: 100%;
67
- }
68
-
69
- @include breakpoint('<=xsmall') {
70
- .image {
71
- max-height: 35vh;
72
- }
74
+ max-height: 35vh;
73
75
  }
74
76
  }
75
- }
77
+ }
78
+ }
@@ -9,8 +9,10 @@
9
9
  #header {
10
10
  @include vendor('display', 'flex');
11
11
  border-bottom: solid 5px _palette(accent);
12
- padding: 2em 0 1em 0;
13
12
  position: relative;
13
+ background-size: 100% auto;
14
+ background-position: center top;
15
+ background-repeat: no-repeat;
14
16
 
15
17
  > * {
16
18
  margin-bottom: 0;
@@ -29,6 +31,7 @@
29
31
 
30
32
  .language {
31
33
  position: absolute;
34
+ padding: 0 1em 0 0;
32
35
  right: 0;
33
36
  text-align: right;
34
37
 
@@ -58,8 +61,11 @@
58
61
  font-weight: bold;
59
62
  }
60
63
  }
64
+ }
61
65
 
62
- @include breakpoint('<=small') {
63
- padding-left: 4em;
64
- }
66
+ /* Inverted */
67
+
68
+ #header.inverted {
69
+ background-color: _palette(bg-alt-inverted);
70
+ border-bottom: solid 5px _palette(accent-inverted);
65
71
  }
@@ -25,7 +25,8 @@
25
25
  }
26
26
 
27
27
  #header {
28
- margin: 0 6em 0 6em;
28
+ padding: 2em 6em 1em 6em;
29
+ margin: 0;
29
30
  }
30
31
 
31
32
  @include breakpoint('<=xlarge') {
@@ -34,7 +35,7 @@
34
35
  }
35
36
 
36
37
  #header {
37
- margin: 0 5em 0 5em;
38
+ padding: 2em 5em 1em 5em;
38
39
  }
39
40
  }
40
41
 
@@ -44,7 +45,7 @@
44
45
  }
45
46
 
46
47
  #header {
47
- margin: 0 4em 0 4em;
48
+ padding: 2em 4em 1em 4em;
48
49
  }
49
50
  }
50
51
 
@@ -52,10 +53,6 @@
52
53
  > .inner > section {
53
54
  @include padding(3em, 3em);
54
55
  }
55
-
56
- #header {
57
- margin: 0 3em 0 3em;
58
- }
59
56
  }
60
57
  }
61
58
  }
data/_sass/main.scss CHANGED
@@ -36,6 +36,7 @@
36
36
  @import 'components/section';
37
37
  @import 'components/form';
38
38
  @import 'components/box';
39
+ @import 'components/cookieconsent';
39
40
  @import 'components/icon';
40
41
  @import 'components/image';
41
42
  @import 'components/list';
@@ -0,0 +1 @@
1
+ !function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,function(e){return t(arguments[1])||""})},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setHours(r.getHours()+24*(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n=0;if(0===e.length)return n;for(t=0,i=e.length;t<i;++t)n=(n<<5)-n+e.charCodeAt(t),n|=0;return n},normaliseHex:function(e){return"#"==e[0]&&(e=e.substr(1)),3==e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e},getContrast:function(e){return e=this.normaliseHex(e),(299*parseInt(e.substr(0,2),16)+587*parseInt(e.substr(2,2),16)+114*parseInt(e.substr(4,2),16))/1e3>=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38+(t>>16),n=38+(t>>8&255),o=38+(255&t);return"#"+(16777216+65536*(i<255?i<1?0:i:255)+256*(n<255?n<1?0:n:255)+(o<255?o<1?0:o:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&void 0!==e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var n={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"&#x274c;",target:"_blank",policy:"Cookie Policy"},elements:{header:'<span class="cc-header">{{header}}</span>&nbsp;',message:'<span id="cookieconsent:desc" class="cc-message">{{message}}</span>',messagelink:'<span id="cookieconsent:desc" class="cc-message">{{message}} <a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a></span>',dismiss:'<a aria-label="dismiss cookie message" role=button tabindex="0" class="cc-btn cc-dismiss">{{dismiss}}</a>',allow:'<a aria-label="allow cookies" role=button tabindex="0" class="cc-btn cc-allow">{{allow}}</a>',deny:'<a aria-label="deny cookies" role=button tabindex="0" class="cc-btn cc-deny">{{deny}}</a>',link:'<a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a>',close:'<span aria-label="dismiss cookie message" role=button tabindex="0" class="cc-close">{{close}}</span>'},window:'<div role="dialog" aria-live="polite" aria-label="cookieconsent" aria-describedby="cookieconsent:desc" class="cc-window {{classes}}">\x3c!--googleoff: all--\x3e{{children}}\x3c!--googleon: all--\x3e</div>',revokeBtn:'<div class="cc-revoke {{classes}}">{{policy}}</div>',compliance:{info:'<div class="cc-compliance">{{dismiss}}</div>',"opt-in":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>',"opt-out":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function o(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(n){var o=this.options,s=document.createElement("div"),r=o.container&&1===o.container.nodeType?o.container:document.body;s.innerHTML=n;var a=s.children[0];return a.style.display="none",t.hasClass(a,"cc-window")&&e.hasTransition&&t.addClass(a,"cc-invisible"),this.onButtonClick=function(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0));t.hasClass(o,"cc-revoke")&&this.revokeChoice()}.bind(this),a.addEventListener("click",this.onButtonClick),o.autoAttach&&(r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a)),a}function l(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function u(e,t){for(var i=0,n=e.length;i<n;++i){var o=e[i];if(o instanceof RegExp&&o.test(t)||"string"==typeof o&&o.length&&o===t)return!0}return!1}return o.prototype.initialise=function(i){this.options&&this.destroy(),t.deepExtend(this.options={},n),t.isPlainObject(i)&&t.deepExtend(this.options,i),function(){var t=this.options.onInitialise.bind(this);if(!window.navigator.cookieEnabled)return t(e.status.deny),!0;if(window.CookiesOK||window.navigator.CookiesOK)return t(e.status.allow),!0;var i=Object.keys(e.status),n=this.getStatus(),o=i.indexOf(n)>=0;o&&t(n);return o}.call(this)&&(this.options.enabled=!1),u(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),u(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var o=this.options.window.replace("{{classes}}",function(){var i=this.options,n="top"==i.position||"bottom"==i.position?"banner":"floating";t.isMobile()&&(n="floating");var o=["cc-"+n,"cc-type-"+i.type,"cc-theme-"+i.theme];i.static&&o.push("cc-static");o.push.apply(o,a.call(this));(function(i){var n=t.hash(JSON.stringify(i)),o="cc-color-override-"+n,s=t.isPlainObject(i);this.customStyleSelector=s?o:null,s&&function(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||l(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var u=document.createElement("style");document.head.appendChild(u),e.customStyles[i]={references:1,element:u.sheet};var h=-1;for(var p in s)s.hasOwnProperty(p)&&u.sheet.insertRule(p+"{"+s[p].join(";")+"}",++h)}(n,i,"."+o);return s}).call(this,this.options.palette);this.customStyleSelector&&o.push(this.customStyleSelector);return o}.call(this).join(" ")).replace("{{children}}",function(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message);Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info);e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];o||(o=i.layouts.basic);return t.interpolateString(o,function(t){return e[t]})}.call(this)),s=this.options.overrideHTML;if("string"==typeof s&&s.length&&(o=s),this.options.static){var r=c.call(this,'<div class="cc-grower">'+o+"</div>");r.style.display="",this.element=r.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=c.call(this,o);(function(){var i=this.setStatus.bind(this),n=this.close.bind(this),o=this.options.dismissOnTimeout;"number"==typeof o&&o>=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;u<r;u++)if(!s)for(var h=0;h<a;h++)s||(s=t.hasClass(o.path[u],c[h]));s||(i(e.status.dismiss),n(!0),window.removeEventListener("click",l),window.removeEventListener("touchend",l),this.onWindowClick=null)}.bind(this);this.options.enabled&&(this.onWindowClick=l,window.addEventListener("click",l),window.addEventListener("touchend",l))}}).call(this),function(){"info"!=this.options.type&&(this.options.revokable=!0);t.isMobile()&&(this.options.animateRevokable=!1);if(this.options.revokable){var e=a.call(this);this.options.animateRevokable&&e.push("cc-animate"),this.customStyleSelector&&e.push(this.customStyleSelector);var i=this.options.revokeBtn.replace("{{classes}}",e.join(" ")).replace("{{policy}}",this.options.content.policy);this.revokeBtn=c.call(this,i);var n=this.revokeBtn;if(this.options.animateRevokable){var o=t.throttle(function(e){var i=!1,o=window.innerHeight-20;t.hasClass(n,"cc-top")&&e.clientY<20&&(i=!0),t.hasClass(n,"cc-bottom")&&e.clientY>o&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}.call(this),this.options.autoOpen&&this.autoOpen()},o.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},o.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},o.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},o.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&r.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,i),20)}},o.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},o.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},o.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},o.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},o.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},o.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},o.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},o.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},o.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},o.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},o}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?s(i):{code:i.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?s({error:i.statusMessage}):{code:i.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}},function(t){e(s(t))}):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function i(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i),this.currentServiceIndex=-1}function n(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function o(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r<a;++r){var c=o[r].split(":",2);s.setRequestHeader(c[0].replace(/^\s+|\s+$/g,""),c[1].replace(/^\s+|\s+$/g,""))}"function"==typeof t&&(s.onreadystatechange=function(){s.readyState>3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return i.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex<this.options.services.length&&!e);return e},i.prototype.getServiceByIdx=function(e){var i=this.options.services[e];if("function"==typeof i){var n=i();return n.name&&t.deepExtend(n,this.options.serviceDefinitions[n.name](n)),n}return"string"==typeof i?this.options.serviceDefinitions[i]():t.isPlainObject(i)?this.options.serviceDefinitions[i.name](i):null},i.prototype.locate=function(e,t){var i=this.getNextService();i?(this.callbackComplete=e,this.callbackError=t,this.runService(i,this.runNextServiceOnError.bind(this))):t(new Error("No services to run"))},i.prototype.setupUrl=function(e){var t=this.getCurrentServiceOpts();return e.url.replace(/\{(.*?)\}/g,function(i,n){if("callback"===n){var o="callback"+Date.now();return window[o]=function(t){e.__JSONP_DATA=JSON.stringify(t)},o}if(n in t.interpolateUrl)return t.interpolateUrl[n]})},i.prototype.runService=function(e,t){var i=this;e&&e.url&&e.callback&&(e.isScript?n:o)(this.setupUrl(e),function(n){var o=n?n.responseText:"";e.__JSONP_DATA&&(o=e.__JSONP_DATA,delete e.__JSONP_DATA),i.runServiceCallback.call(i,t,e,o)},this.options.timeout,e.data,e.headers)},i.prototype.runServiceCallback=function(e,t,i){var n=this,o=t.callback(function(t){o||n.onServiceResult.call(n,e,t)},i);o&&this.onServiceResult.call(this,e,o)},i.prototype.onServiceResult=function(e,t){t instanceof Error||t&&t.error?e.call(this,t,null):e.call(this,null,t)},i.prototype.runNextServiceOnError=function(e,t){if(e){this.logError(e);var i=this.getNextService();i?this.runService(i,this.runNextServiceOnError.bind(this)):this.completeService.call(this,this.callbackError,new Error("All services failed"))}else this.completeService.call(this,this.callbackComplete,t)},i.prototype.getCurrentServiceOpts=function(){var e=this.options.services[this.currentServiceIndex];return"string"==typeof e?{name:e}:"function"==typeof e?e():t.isPlainObject(e)?e:{}},i.prototype.completeService=function(e,t){this.currentServiceIndex=-1,e&&e(t)},i.prototype.logError=function(e){var t=this.currentServiceIndex,i=this.getServiceByIdx(t);console.warn("The service["+t+"] ("+i.url+") responded with the following error",e)},i}(),e.Law=function(){var e={regionalLaw:!0,hasLaw:["AT","BE","BG","HR","CZ","CY","DK","EE","FI","FR","DE","EL","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","SK","ES","SE","GB","UK","GR","EU"],revokable:["HR","CY","DK","EE","FR","DE","LV","LT","NL","PT","ES"],explicitAction:["HR","IT","ES"]};function i(e){this.initialise.apply(this,arguments)}return i.prototype.initialise=function(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i)},i.prototype.get=function(e){var t=this.options;return{hasLaw:t.hasLaw.indexOf(e)>=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},i.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},i}(),e.initialise=function(i,n,o){var s=new e.Law(i.law);n||(n=function(){}),o||(o=function(){});var r=Object.keys(e.status),a=t.getCookie("cookieconsent_status");r.indexOf(a)>=0?n(new e.Popup(i)):e.getCountryCode(i,function(t){delete i.law,delete i.location,t.code&&(i=s.applyLaw(i,t.code)),n(new e.Popup(i))},function(t){delete i.law,delete i.location,o(t,new e.Popup(i))})},e.getCountryCode=function(t,i,n){t.law&&t.law.countryCode?i({code:t.law.countryCode}):t.location?new e.Location(t.location).locate(function(e){i(e||{})},n):i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{});
data/sitemap.md ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ layout: sitemap
3
+ permalink: /sitemap.xml
4
+ ---
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-consulting
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Mougeolle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-21 00:00:00.000000000 Z
11
+ date: 2019-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -62,7 +62,6 @@ files:
62
62
  - LICENSE
63
63
  - README.md
64
64
  - _includes/banner.html
65
- - _includes/bouncing.svg
66
65
  - _includes/contact.html
67
66
  - _includes/date.html
68
67
  - _includes/footer.html
@@ -82,7 +81,7 @@ files:
82
81
  - _layouts/page.html
83
82
  - _layouts/post.html
84
83
  - _layouts/redirect.html
85
- - _layouts/sitemap.xml
84
+ - _layouts/sitemap.html
86
85
  - _sass/base/_page.scss
87
86
  - _sass/base/_reset.scss
88
87
  - _sass/base/_typography.scss
@@ -90,6 +89,7 @@ files:
90
89
  - _sass/components/_box.scss
91
90
  - _sass/components/_button.scss
92
91
  - _sass/components/_contact.scss
92
+ - _sass/components/_cookieconsent.scss
93
93
  - _sass/components/_facts.scss
94
94
  - _sass/components/_features.scss
95
95
  - _sass/components/_form.scss
@@ -152,6 +152,7 @@ files:
152
152
  - assets/images/pic09.jpg
153
153
  - assets/images/pic10.jpg
154
154
  - assets/images/pic11.jpg
155
+ - assets/images/pillars-of-creation.jpg
155
156
  - assets/images/screenshot.jpg
156
157
  - assets/images/thumbs/01.jpg
157
158
  - assets/images/thumbs/02.jpg
@@ -163,6 +164,7 @@ files:
163
164
  - assets/images/thumbs/08.jpg
164
165
  - assets/js/breakpoints.min.js
165
166
  - assets/js/browser.min.js
167
+ - assets/js/cookieconsent.min.js
166
168
  - assets/js/jquery.min.js
167
169
  - assets/js/main.js
168
170
  - assets/js/util.js
@@ -181,6 +183,7 @@ files:
181
183
  - assets/webfonts/fa-solid-900.ttf
182
184
  - assets/webfonts/fa-solid-900.woff
183
185
  - assets/webfonts/fa-solid-900.woff2
186
+ - sitemap.md
184
187
  homepage: https://github.com/moodule/jekyll-theme-consulting
185
188
  licenses:
186
189
  - CC-BY-4.0
@@ -204,5 +207,5 @@ rubyforge_project:
204
207
  rubygems_version: 2.7.6.2
205
208
  signing_key:
206
209
  specification_version: 4
207
- summary: A sober Jekyll template for businesses, with multilingual support.
210
+ summary: A sober, hassle-free, full-featured, Jekyll template for businesses.
208
211
  test_files: []
@@ -1,53 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- xmlns:dc="http://purl.org/dc/elements/1.1/"
4
- xmlns:cc="http://creativecommons.org/ns#"
5
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
- xmlns:svg="http://www.w3.org/2000/svg"
7
- xmlns="http://www.w3.org/2000/svg"
8
- id="svg4709"
9
- version="1.1"
10
- preserveAspectRatio="{{ include.alignment }} meet"
11
- width="{{ include.width }}"
12
- height="{{ include.height }}"
13
- viewBox="{{ include.view-box }}"
14
- fill="{{ include.fill }}"
15
- fill-opacity="{{ include.opacity }}">
16
- <defs
17
- id="defs4703" />
18
- <metadata
19
- id="metadata4706">
20
- <rdf:RDF>
21
- <cc:Work
22
- rdf:about="">
23
- <dc:format>image/svg+xml</dc:format>
24
- <dc:type
25
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26
- <dc:title></dc:title>
27
- </cc:Work>
28
- </rdf:RDF>
29
- </metadata>
30
- <g
31
- transform="translate(0,-177)"
32
- id="layer1">
33
- <path
34
- id="path4079"
35
- d="M 180,252.99343 A 161.29763,18.552469 0 0 0 18.702358,271.54579 161.29763,18.552469 0 0 0 180,290.09815 161.29763,18.552469 0 0 0 341.29764,271.54579 161.29763,18.552469 0 0 0 180,252.99343 Z m -4.29225,3.04943 A 143.84518,15.756892 0 0 1 319.5527,271.80004 143.84518,15.756892 0 0 1 175.70775,287.5567 143.84518,15.756892 0 0 1 31.862794,271.80004 143.84518,15.756892 0 0 1 175.70775,256.04286 Z"
36
- style="display:inline;" />
37
- <path
38
- id="path4897"
39
- d="M 180.00026,259.01994 A 119.52375,12.80648 0 0 0 60.476291,271.82691 119.52375,12.80648 0 0 0 180.00026,284.63336 119.52375,12.80648 0 0 0 299.52371,271.82691 119.52375,12.80648 0 0 0 180.00026,259.01994 Z m 0.45734,1.88464 a 93.001042,10.715625 0 0 1 93.00104,10.71563 93.001042,10.715625 0 0 1 -93.00104,10.71562 93.001042,10.715625 0 0 1 -93.001043,-10.71562 93.001042,10.715625 0 0 1 93.001043,-10.71563 z"
40
- style="display:inline;" />
41
- <path
42
- id="rect4865"
43
- d="m 179.57318,201.90247 a 4.1010414,5.9247762 0 0 0 -3.83077,5.51853 h -0.0465 a 53.652364,173.78127 0 0 1 1.66915,40.10507 94.634349,28.224152 0 0 1 0.0806,0.67851 94.634349,28.224152 0 0 1 -53.27271,25.36228 v 0.007 a 60.589583,3.5915198 0 0 0 -4.7625,1.40043 60.589583,3.5915198 0 0 0 60.63454,3.58634 60.589583,3.5915198 0 0 0 60.54462,-3.59151 h -60.58958 l 60.58905,-0.0109 a 60.589583,3.5915198 0 0 0 -5.29113,-1.44591 v -0.0124 a 94.634341,28.224152 0 0 1 -52.91667,-25.29509 52.545509,173.78127 0 0 1 1.57406,-40.78359 h -0.0336 a 4.1010414,5.9247762 0 0 0 -3.83336,-5.51852 z"
44
- style="display:inline;" />
45
- <ellipse
46
- ry="5.1877427"
47
- rx="5.5455174"
48
- cy="191.16115"
49
- cx="180"
50
- id="path4105"
51
- style="display:inline;" />
52
- </g>
53
- </svg>