slow-steps 0.1.1 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/.DS_Store +0 -0
  3. data/_includes/footer/footer_full.html +42 -18
  4. data/_includes/functions/calc-svg-coord.html +40 -0
  5. data/_includes/functions/pull_page_args.html +31 -0
  6. data/_includes/head/.DS_Store +0 -0
  7. data/_includes/head/head.html +1 -2
  8. data/_includes/scripts.html +12 -0
  9. data/_includes/vimeoPlayer.html +12 -0
  10. data/_layouts/about.html +53 -21
  11. data/_layouts/default.html +2 -4
  12. data/_layouts/env/clinician.html +96 -25
  13. data/_layouts/env/landing.html +35 -18
  14. data/_layouts/env/pwp.html +100 -30
  15. data/_layouts/feed.html +7 -3
  16. data/_layouts/full-width.html +11 -0
  17. data/_sass/_functions.sass +2 -0
  18. data/_sass/_mixins.sass +100 -0
  19. data/_sass/_variables.sass +5 -0
  20. data/_sass/about.sass +16 -30
  21. data/_sass/colors/_variables.sass +27 -6
  22. data/_sass/colors/breakpoints/{768.sass → 1024.sass} +2 -2
  23. data/_sass/colors/env/_clinician.sass +1 -1
  24. data/_sass/colors/global.sass +2 -0
  25. data/_sass/env/breakpoints/768.sass +15 -42
  26. data/_sass/env/clinician.sass +35 -133
  27. data/_sass/env/landing.sass +35 -53
  28. data/_sass/env/pwp.sass +44 -152
  29. data/_sass/feed.sass +43 -23
  30. data/_sass/footer_full.sass +139 -48
  31. data/_sass/global.sass +297 -4
  32. data/_sass/navigation/breakpoints/{768.sass → 1024.sass} +6 -3
  33. data/_sass/navigation/burger.sass +1 -1
  34. data/_sass/navigation/env/clinician.sass +1 -10
  35. data/_sass/navigation/env/landing.sass +6 -9
  36. data/_sass/navigation/env/pwp.sass +1 -14
  37. data/_sass/navigation/global.sass +4 -3
  38. data/assets/css/env/gaitq_clinician.sass +9 -5
  39. data/assets/css/env/gaitq_landing.sass +4 -0
  40. data/assets/css/env/gaitq_pwp.sass +8 -4
  41. data/assets/css/gaitq_about.sass +22 -0
  42. data/assets/css/gaitq_global.sass +8 -4
  43. data/assets/css/gaitq_post.sass +1 -0
  44. data/assets/js/mobile-nav-slider.js +2 -2
  45. data/assets/js/svg_aos.js +25 -0
  46. data/assets/js/svg_text_width.js +44 -0
  47. metadata +15 -5
  48. data/assets/css/img_handler.sass +0 -5
@@ -2,66 +2,83 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
+ <!--
6
+
7
+ Last full read through 27/12/2020
8
+
9
+ ##############################################
10
+ # Landing Layout /_layouts/env/landing.html
11
+ ##############################################
12
+
13
+ -->
14
+
5
15
  <div class="landing__page">
6
- {% assign env = site.data.menu.navigation | where: 'env', 'pwp' %}{% assign env = env[0] %}
16
+ <!-- setup liquid variables -->
17
+ {%- assign env = site.data.menu.navigation | where: 'env', 'pwp' -%}
18
+ {%- assign env = env[0] -%}
7
19
 
8
- {% assign cta = env.submenu | where: 'id', 'cta' %}{% assign cta = cta[0] %}
20
+ {%- assign cta = env.submenu | where: 'id', 'cta' -%}
21
+ {%- assign cta = cta[0] -%}
9
22
 
10
- {% assign cta_2 = env.submenu | where: 'id', 'landing' %}{% assign cta_2 = cta_2[0] %}
23
+ {%- assign cta_2 = env.submenu | where: 'id', 'landing' -%}
24
+ {%- assign cta_2 = cta_2[0] -%}
11
25
 
12
26
  <div class="page__half">
13
27
 
14
28
  <div class="env__text env--pwp">
15
29
 
16
- <a class="landing__link" aria-label="Read more about how our products help people with Parkinson's" href="{{ env.url | relative_url }}">
30
+ <a class="landing__link" aria-label="{{ env.aria }}" href="{{ env.url | relative_url }}">
17
31
 
18
32
  <h3 class="landing__title">{{ env.name | upcase }}</h3></a>
19
33
 
20
34
  <div class="landing__strap">
21
35
  <p>{{ site.data.copy.landing.landing.pwp }}</p>
22
36
  <div class="landing__cta">
23
- <a class="primary__cta" aria-label="Register for clinical trails of our device" href="{{ cta.url }}">Sign up</a>
24
- <a class="secondary__cta" aria-label="More information on who we are and how we help people with Parkinson's" href="{{ cta_2.url }}">More Info</a>
37
+ <a class="primary__cta" aria-label="{{ cta.aria }}" href="{{ cta.url }}">Sign up</a>
38
+ <a class="secondary__cta" aria-label="{{ cta_2.aria }}" href="{{ cta_2.url }}">More Info</a>
25
39
  </div>
26
40
  </div>
27
41
 
28
42
  </div>
29
43
 
30
44
  <div class="hero__overlay env--pwp">
31
- {% picture {{ page.pwp.image | prepend: 'content/' }}
32
- --img class="hero__image pwp__hero"
33
- --alt {{ page.pwp.alt }} %}</div>
45
+ {%- picture {{ page.pwp.image | prepend: 'content/' }}
46
+ --img class="hero__image hero__filter pwp__hero h-100"
47
+ --alt {{ page.pwp.alt }} -%}</div>
34
48
 
35
49
  </div>
36
50
 
37
- {% assign env = site.data.menu.navigation | where: 'env', 'clinician' %}{% assign env = env[0] %}
51
+ {%- assign env = site.data.menu.navigation | where: 'env', 'clinician' -%}
52
+ {%- assign env = env[0] -%}
38
53
 
39
- {% assign cta = env.submenu | where: 'id', 'cta' %}{% assign cta = cta[0] %}
54
+ {%- assign cta = env.submenu | where: 'id', 'cta' -%}
55
+ {%- assign cta = cta[0] -%}
40
56
 
41
- {% assign cta_2 = env.submenu | where: 'id', 'landing' %}{% assign cta_2 = cta_2[0] %}
57
+ {%- assign cta_2 = env.submenu | where: 'id', 'landing' -%}
58
+ {%- assign cta_2 = cta_2[0] -%}
42
59
 
43
60
  <div class="page__half">
44
61
 
45
62
  <div class="env__text env--clinician">
46
63
 
47
- <a class="landing__link" href="{{ env.url | relative_url }}">
64
+ <a class="landing__link" aria-label="{{ env.aria }}" href="{{ env.url | relative_url }}">
48
65
 
49
66
  <h3 class="landing__title">{{ env.name | upcase }}</h3></a>
50
67
 
51
68
  <div class="landing__strap">
52
69
  <p>{{ site.data.copy.landing.landing.clinician }}</p>
53
70
  <div class="landing__cta">
54
- <a class="primary__cta" href="{{ cta.url }}">Register interest</a>
55
- <a class="secondary__cta" href="{{ cta_2.url }}">More Info</a>
71
+ <a class="primary__cta" aria-label="{{ cta.aria }}" href="{{ cta.url }}">Register interest</a>
72
+ <a class="secondary__cta" aria-label="{{ cta_2.aria }}" href="{{ cta_2.url }}">More Info</a>
56
73
  </div>
57
74
  </div>
58
75
 
59
76
  </div>
60
77
 
61
78
  <div class="hero__overlay env--clinician">
62
- {% picture {{ page.clinician.image | prepend: 'content/' }}
63
- --img class="hero__image clinician__hero"
64
- --alt {{ page.clinician.alt }} %}</div>
79
+ {%- picture {{ page.clinician.image | prepend: 'content/' }}
80
+ --img class="hero__image hero__filter clinician__hero h-100"
81
+ --alt {{ page.clinician.alt }} -%}</div>
65
82
 
66
83
  </div>
67
84
 
@@ -1,22 +1,36 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
+
5
+ <!--
6
+
7
+ Last full read through 27/12/2020
8
+
9
+ ##############################################
10
+ # PWP Layout /_layouts/env/pwp.html
11
+ ##############################################
12
+
13
+ -->
14
+
15
+
16
+ <!-- assign description with site decsription as fallback -->
17
+
4
18
  {% if site.data.copy.landing.pwp.description %}
5
19
  {% assign description = site.data.copy.landing.pwp.description %}
6
20
  {% else %}
7
21
  {% assign description = site.description %}
8
22
  {% endif %}
9
23
 
10
- <div class="pwp__mast">
24
+ <div class="hero hero-90">
11
25
 
12
- <div class="pwp__overlay">
13
- <div class="pwp__bg">
14
- </div>
15
- </div>
26
+ <div class="hero__overlay">
27
+ {% picture {{ page.hero.image | prepend: 'content/' }}
28
+ --img class="hero__image image__filter--mix h-100"
29
+ --alt {{ page.hero.alt }} %}</div>
16
30
 
17
- <div class="pwp--strap">
31
+ <div class="hero__strap hero__strap--center hero__strap--env">
18
32
  <h1>
19
- <span class="pwp--strap-start">
33
+ <span class="hero__strap--start">
20
34
  {% assign header = site.data.copy.landing.pwp %}
21
35
  {% assign title = header.title | split: " " %}
22
36
  {% assign n = header.split %}
@@ -31,29 +45,46 @@ layout: default
31
45
  </h1>
32
46
  </div>
33
47
 
34
- <div class="pwp__follow"></div>
48
+ <div class="hero__follow"></div>
35
49
 
36
50
  </div>
37
51
 
38
- <div data-aos="fade-in" data-aos-anchor-placement="top-bottom" class="pwp__device--img pwp__device--docked">
52
+ <div class="augmented-image">
53
+
54
+ {% picture {{ page.subhero.image | prepend: 'content/' }}
55
+ --img class="hero__image"
56
+ --alt {{ page.subhero.alt }} %}
39
57
 
40
- <div class="pulsating-circle"></div></div>
58
+ <svg class="svg__augment" viewBox="-50 -50 100 100" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
59
+ <defs>
60
+ <radialGradient id="augmentLED" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
61
+ <stop offset="0%" />
62
+ <stop offset="100%" />
63
+ </radialGradient>
64
+ </defs>
41
65
 
42
- <div class="pwp__straps pwp__device--strap">
66
+ <circle class="svg__augment--pulse" cx="32%" cy="2%" />
67
+ <circle class="svg__augment--led" cx="32%" cy="2%" r=".5" />
68
+
69
+ </svg>
70
+
71
+ </div>
72
+
73
+ <div class="center-text strap__100 strap--opd-trust">
43
74
  <h2>{{ site.data.copy.landing.pwp.subtitle }}</h2>
44
75
  <p data-aos="fade-in">{{ site.data.copy.landing.pwp.strap }}</p>
45
76
  </div>
46
77
 
47
- <div class="pwp__grid-wrap">
78
+ <div class="segment__wrap">
48
79
 
49
- <div class="pwp__grid-col-l">
50
- <div class="pwp__grid__text pwp__straps">
80
+ <div class="segment__left">
81
+ <div class="segment__gaurentee center-text">
51
82
  <div data-aos="fade-right">
52
83
  {% include branding/site-logo.svg %}</div>
53
- <p data-aos="fade-in" class="pwp--guarantee">
84
+ <p data-aos="fade-in" class="strap__guarantee">
54
85
  {{ description }}</p></div>
55
86
 
56
- <div class="pwp__straps pwp__grid_keywords">
87
+ <div class="center-text segment__keywords strap--opd-trust">
57
88
  {% assign keyword = site.data.copy.landing.pwp.keywords | split: ", " %}
58
89
  {% for word in (1..keyword.size) %}
59
90
  <h3 data-aos="fade-in">{{ keyword[forloop.index0] }}</h3>
@@ -61,23 +92,62 @@ layout: default
61
92
 
62
93
  </div>
63
94
 
64
- <div class="pwp__grid-col-r">
65
- <div class="pwp__straps pwp__grid_img"></div>
95
+ <div class="segment__right augmented-image" >
96
+
97
+ {% picture {{ page.guarantee.image | prepend: 'content/' }}
98
+ --img class="hero__image image--guarantee h-100"
99
+ --alt {{ page.guarantee.alt }} %}
100
+
101
+ <svg class="svg__augment " width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
102
+
103
+ {% include functions/calc-svg-coord.html image_handle="guarantee" %}
104
+
105
+ {% for item in page.guarantee.augment.labels %}
106
+
107
+ <svg class="svg__labels hidden" x="{{ cX[forloop.index0] | remove: ", " }}%" y="{{ cY[forloop.index0] | remove: ", " }}%" style="overflow: visible">
108
+
109
+ <circle class="svg--elem svg--circle" cx="0%" cy="0%" r="6" />
110
+
111
+ <line class="svg--elem svg--line" x1="0" y1="0" y2="0" />
112
+
113
+ <text class="svg--elem svg--text trans-{% if item.reverse %}right{% else %}left{% endif %}" >{{ item.text }}</text>
114
+
115
+ </svg>
116
+
117
+ {% endfor %}
118
+
119
+ </svg>
120
+
66
121
 
67
- <svg viewBox="-50 -50 100 100" width="40vw" height="100vh" xmlns="http://www.w3.org/2000/svg">
68
- <circle cx="-28%" cy="20%" r="1" fill="white"/>
69
- </svg>
70
122
  </div>
71
123
 
72
124
  </div>
73
125
 
74
- <div data-aos="fade-in" data-aos-anchor-placement="top-bottom" class="pwp__device--img pwp__device--group">
126
+ <div class="augmented-image" >
127
+
128
+ {% picture {{ page.device.image | prepend: 'content/' }}
129
+ --img class="hero__image"
130
+ --alt {{ page.device.alt }} %}
131
+
132
+ {% include functions/calc-svg-coord.html image_handle="device" %}
133
+
134
+ <svg class="svg__augment" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
135
+
136
+ {% for item in page.device.augment.labels %}
75
137
 
76
- <svg width="100vw" height="100%" xmlns="http://www.w3.org/2000/svg">
77
- <circle cx="20%" cy="30%" r="6" fill="white"/>
78
- <line x1="10%" y1="30%" x2="20%" y2="30%" style='stroke:white;stroke-width:2' />
79
- <style>
80
- .text { fill: white; }
81
- </style>
82
- <text data-aos="fade-in" data-aos-anchor-placement="top-center" x="2%" y="31%" class="text" >Controller</text>
83
- </svg></div>
138
+ <svg class="svg__labels hidden" x="{{ cX[forloop.index0] | remove: ", " }}%" y="{{ cY[forloop.index0] | remove: ", " }}%" style="overflow: visible">
139
+
140
+ <circle class="svg--elem svg--circle" cx="0%" cy="0%" r="6" />
141
+
142
+ <line class="svg--elem svg--line" x1="0" y1="0" y2="0" />
143
+
144
+ <text class="svg--elem svg--text trans-{% if item.reverse %}right{% else %}left{% endif %}" >{{ item.text }}</text>
145
+
146
+ </svg>
147
+
148
+ {% endfor %}
149
+
150
+
151
+ </svg>
152
+
153
+ </div>
@@ -20,13 +20,17 @@ layout: default
20
20
 
21
21
  <div class="feed__card">
22
22
 
23
- {% picture {{ post.image | prepend: 'posts/' }} --alt {{ post.alt }} --img class="feed__card--image" %}
24
-
23
+ <div class="feed__card__image">
24
+ {% picture thumb {{ post.image | prepend: 'posts/' }} --alt {{ post.alt }} --img class="feed__card--image" %}
25
+ </div>
25
26
  <div class="feed__card--text">
26
27
 
27
28
  <a class="feed__card--link" href="{{ site.baseurl }}{{ post.url }}">
28
29
 
29
- <p class="feed__card--title">{{ post.title }}</p></a>
30
+ <h4 class="feed__card--title">{{ post.title }}</h4>
31
+ <p class="post__subtitle">{{ post.subtitle }}</p>
32
+ </a>
33
+ <p class="feed__card--meta">Published <span>{{ post.date | date: "%b %d, %Y" }}</span></p>
30
34
 
31
35
 
32
36
  </div>
@@ -0,0 +1,11 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <section class="fullwidth__wrap">
6
+
7
+
8
+ {{ content }}
9
+
10
+
11
+ </section>
@@ -0,0 +1,2 @@
1
+ @function url-friendly-colour($colour)
2
+ @return '%23' + str-slice('#{$colour}', 2, -1)
@@ -0,0 +1,100 @@
1
+ /* Last full read through 27/12/2020
2
+ *
3
+ *##############################################
4
+ *# Global mixins /_sass/_mixins.sass
5
+ *##############################################
6
+ *
7
+ */
8
+
9
+ @import '_functions'
10
+
11
+ // ##############################################
12
+
13
+ // Image filters
14
+
15
+ // Applied to the actual image with background-color: $env-primary
16
+ @mixin image-filter--mix
17
+ filter: grayscale(1) contrast(.2) brightness(1.8)
18
+ opacity: .6
19
+
20
+ @mixin image-filter-rotate
21
+ filter: grayscale(1) contrast(.8) brightness(.9) sepia(.4) hue-rotate(180deg)
22
+
23
+ // Applied to an overlaying div
24
+ @mixin image-filter--blur
25
+ backdrop-filter: blur(8px)
26
+ background-color: rgba($env-primary, .5)
27
+
28
+
29
+ // ##############################################
30
+
31
+ // Landing page animations - hover and focus
32
+
33
+ @mixin reveal-landing-strap
34
+ height: 30vh
35
+ padding: 0 3rem
36
+
37
+ // Snappy build function, see /_sass/_variables.sass for $bezier-snap
38
+ @mixin build-in($name)
39
+ animation: .8s $bezier-snap 0s 1 $name
40
+
41
+ // Keyframes
42
+ @mixin slide-from-left
43
+ @keyframes slide-from-left
44
+ 0%
45
+ opacity: 0
46
+ transform: translateX(-50vw)
47
+
48
+ 100%
49
+ opacity: 1
50
+ transform: translateX(0)
51
+
52
+
53
+ @mixin slide-from-right
54
+ @keyframes slide-from-right
55
+ 0%
56
+ opacity: 0
57
+ transform: translateX(50vw)
58
+
59
+ 100%
60
+ opacity: 1
61
+ transform: translateX(0)
62
+
63
+
64
+ // Logo using the OPD primary colors
65
+ @mixin logo-primary-colors
66
+ .site__logo--group
67
+ .site__logo--curve
68
+ fill: $opd-orange-confidence
69
+ .site__logo--legvert
70
+ fill: $opd-blue-confidence
71
+ .site__logo--leg45
72
+ fill: $opd-blue-trust
73
+ .site__logo--g,
74
+ .site__logo--a,
75
+ .site__logo__i,
76
+ .site__logo--t
77
+ fill: $opd-blue-confidence
78
+ .site__logo--Q
79
+ fill: $opd-orange-confidence
80
+
81
+
82
+
83
+ // Logo single color function
84
+ @mixin logo-color($color)
85
+ .site__logo--group,
86
+ .site__logo--curve,
87
+ .site__logo--legvert,
88
+ .site__logo--leg45,
89
+ .site__logo--g,
90
+ .site__logo--a,
91
+ .site__logo__i,
92
+ .site__logo--t,
93
+ .site__logo--Q
94
+ fill: $color
95
+
96
+
97
+ @mixin footer-bg($footer-bg-color)
98
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='1278' height='600' %3E%3Cpath d='M1019,600 C1019,600 1019,600 1019,600 C1019,600 1279,600 1279,600 C1279,600 1279,0 1279,0 C1279,0 413,0 413,0 C413,0 413,0 413,0' fill= '#{url-friendly-colour($footer-bg-color)}' fill-opacity='0.99'/%3E%3Cpath d='M1220,600 C1220,600 0,600 0,600 C0,600 0,0 0,0 C0,0 414,0 414,0 C414,0 1020,600 1020,600' fill= '#{url-friendly-colour($footer-bg-color)}' /%3E%3C/svg%3E")
99
+ background-position: center
100
+ background-size: cover
@@ -0,0 +1,5 @@
1
+ // Gllobal variables != color or typography
2
+
3
+ $bezier-snap: cubic-bezier(.75, .86, .88, .62)
4
+
5
+ $bezier-pulse: cubic-bezier(.1, .74, .53, .91)
@@ -1,20 +1,17 @@
1
+ /* Last full read through 29/12/2020
2
+ *
3
+ *##############################################
4
+ *# about /_sass/about.sass
5
+ *##############################################
6
+ *
7
+ */
1
8
 
2
- .about__head
3
- align-items: center
4
- backdrop-filter: blur(8px)
5
- background-color: rgba($env-primary, .5)
6
- color: $white
7
- display: flex
8
- height: $mobile-navbar-height * 4
9
- justify-content: center
10
- padding-top: $mobile-navbar-height
11
- text-align: center
12
- span
13
- animation-duration: .1s
14
- animation-fill-mode: forwards
15
- animation-iteration-count: 1
16
- animation-name: fadeInOpacity
17
- opacity: 0
9
+
10
+ .hero
11
+ overflow: hidden
12
+
13
+ .hero__image--fixed
14
+ position: fixed
18
15
 
19
16
  @keyframes fadeInOpacity
20
17
  0%
@@ -24,20 +21,8 @@
24
21
  opacity: 1
25
22
 
26
23
 
27
- .about__head__bg
28
- background-image: url($baseurl + 'assets/img/pwp_device_group.png')
29
- filter: contrast(3) brightness(.6)
30
- background-position: center
31
- background-repeat: no-repeat
32
- background-size: cover
33
- height: $mobile-navbar-height * 5
34
- position: fixed
35
- width: 100vw
36
- z-index: -1
37
-
38
24
  .about__copy
39
25
  align-items: center
40
- background-color: $env-primary
41
26
  color: $white
42
27
  display: flex
43
28
  flex-direction: column
@@ -55,7 +40,6 @@
55
40
 
56
41
  .team__head
57
42
  align-items: flex-end
58
- background-color: rgba($env-primary, .5)
59
43
  border-bottom: solid 1px $opd-blue-confidence
60
44
  display: flex
61
45
  height: 10rem
@@ -66,6 +50,7 @@
66
50
  color: $opd-blue-confidence
67
51
  padding-bottom: 2rem
68
52
  transition: .4s ease-out
53
+ cursor: pointer
69
54
  i
70
55
  font-size: $font-size * 1.2
71
56
  transition: .4s ease-out
@@ -149,7 +134,8 @@
149
134
 
150
135
  .info__conceal
151
136
  align-items: flex-end
152
- background-image: linear-gradient(rgba(0,0,0,0), $white, $white)
137
+ // NOTE: when linear-gradient(rgba(0,0,0,0) ...) we get a shadow on safari
138
+ background-image: linear-gradient(rgba($pure-white,0), $white, $white)
153
139
  color: $black
154
140
  cursor: pointer
155
141
  display: flex