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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd34733d1843e4e27502c6013bdfcc2f1a8550681d93567f6d107276f2a5b1d8
4
- data.tar.gz: d7fbf1db79bdbcf602526b92160a7286f3a56f4a64164f0dce65b7437382cd22
3
+ metadata.gz: ea0adad81a3cdbea1a8db232f1da78ab42069e6e86e52bef7ce62f17860b9867
4
+ data.tar.gz: 2dd0710e2683aaba83cc677066fb7d55bbb581372d044977c879c0e1e887eea2
5
5
  SHA512:
6
- metadata.gz: 731535f31508600501b23c473a9e2edfab5e536e5afbeb66edc4884d1737d001e4bffff0731e6ae9342392ff5325b3e27e9bb5d7f4653d08bf30fc4b296613c4
7
- data.tar.gz: 4e10a526240dfd3afc7bb8ee3ec067c01f41735cf0963581b37a6c8d00b718968077e3d4712e3f9511486f362cb36a7bc7ddb1fa2dddcc6efd323f33762432d4
6
+ metadata.gz: 37704673dbcb40560041f0ad82b94842ce2b11edeb21dcf49bb5850b9b5cb5969cce20f82f7ff5fd233bb0113745904f44821460a0f2578010a4bd9c38ecb5d7
7
+ data.tar.gz: b75c4f3e0db8825fbd23f3475bc1e2329c360edb50f9cc44f8ee3c4e2540418796f18583c6505b8372582c08f2c9869aa8c32ce4bc53f88685a65350e3047826
Binary file
@@ -1,43 +1,67 @@
1
1
  <!-- footer -->
2
- <footer class="ft-wrapper">
2
+ <footer class="ft__wrapper">
3
3
 
4
4
  <div class="ft__head">
5
- <a href="{{ site.baseurl }}/">
6
- {% include /branding/site-logo.svg %}</a>
5
+
7
6
  </div>
8
7
  <div class="ft__body">
9
8
 
10
- <section class="ft__sitemap">
9
+ <div class="ft__contact ft__col">
10
+
11
+ <a href="{{ site.baseurl }}/">
12
+ {% include /branding/site-logo.svg %}
13
+ </a>
14
+ <div class="ft__contact__add">
15
+ <ul class="ft__contact--list">
16
+ {% for item in site.postal_add %}
17
+ <li class="address">{{ item[1] }}</li>
18
+ {% endfor %}
19
+ <li>{{ site.phone }}</li>
20
+ <li>{{ site.email }}</li>
21
+ </ul>
22
+
23
+ </div>
24
+ </div>
25
+
26
+ <div class="ft__sitemap ft__col">
11
27
  <div class="ft__sitemap--menu">
28
+ <h3 class="ft__sitemap--header">INFORMATION FOR</h3>
29
+
30
+ <div class="ft__sitemap--env-wrap">
12
31
  {% for item in site.data.menu.navigation %}
13
- <h2 class="ft__sitemap--header">{{ item.name }}</h2>
14
- <ul class="ft__sitemap--submenu">
32
+
33
+ <div class="ft__sitemap--env">
34
+
35
+ <h4 class="ft__sitemap--env-header">{{ item.name }}</h4>
36
+ <ul class="ft__sitemap--submenu">
15
37
  {% for sub in item.submenu %}
16
- <li><a href="{{ sub.url }}">{{ sub.name }}</a></li>
38
+ <li><a href="{{ sub.url }}">{{ sub.alt }}</a></li>
17
39
  {% endfor %}
18
- </ul>
40
+ </ul>
41
+ </div>
42
+
19
43
  {% endfor %}
20
- </div>
21
- </section>
22
44
 
23
- <!-- quick contact form -->
45
+ </div>
46
+ </div>
47
+ </div>
24
48
 
25
- <section class="ft__contact">
26
- {% include /forms/mc-register.html %}
27
- </section>
28
49
  </div>
29
50
  <!-- footer base and copyright -->
30
51
 
31
52
  <div class="ft__base">
32
- <a href="{{ site.author.url }}" class="slogan">made slowly</a>
53
+
54
+ <p class="copyright">&copy; <script>
55
+ document.write(new Date().getFullYear())
56
+ </script> {{ site.title }}</p>
57
+
58
+
33
59
  <div class="legal-links">
34
60
  {% for item in site.data.menu.legals %}
35
61
  <a href="{{ item.url }}">{{ item.name }}</a>
36
62
  {% endfor %}
37
63
  </div>
38
- <p class="copyright">&copy; <script>
39
- document.write(new Date().getFullYear())
40
- </script> {{ site.title }} Limited</p>
64
+ <a href="{{ site.author.url }}" class="slogan">made slowly</a>
41
65
  </div>
42
66
 
43
67
  </footer>
@@ -0,0 +1,40 @@
1
+ <!-- Take inputs from page front matter and calculate the coordinates of the svg elements -->
2
+ {% assign image_handle = include.image_handle %}
3
+
4
+ {% if page[image_handle].augment %}
5
+
6
+ <!-- get image dimensions -->
7
+ {%- assign imageX = page[image_handle].augment.image | split: ', ' | first -%}
8
+ {%- assign imageY = page[image_handle].augment.image | split: ', ' | last -%}
9
+
10
+ <!-- pre-assign arrays for circle centers and line ends -->
11
+ {% assign cX = '' | split: ',' %}
12
+ {% assign cY = '' | split: ',' %}
13
+
14
+ <!-- loop over all the requested labels -->
15
+ {% for item in page[image_handle].augment.labels %}
16
+
17
+ <!-- x(i) and y(i) -->
18
+ {% assign ix = item.coord | split: ', ' | first %}
19
+ {% assign iy = item.coord | split: ', ' | last %}
20
+
21
+ <!-- calculate circle centers as percentage of image size -->
22
+ {% assign cx = ix | times: 100 | divided_by: imageX | append: ', ' %}
23
+ {% assign cy = iy | times: 100 | divided_by: imageY | append: ', ' %}
24
+ <!-- push into arrays -->
25
+ {% assign cX = cX | push: cx %}
26
+ {% assign cY = cY | push: cy %}
27
+
28
+ {% endfor %}
29
+
30
+ {% endif %}
31
+
32
+ <!--
33
+ in: [imageX, imageY] pixels
34
+ [x, y] pixels
35
+
36
+ out: cX = [cx_1, cx_2, ... , cx_n]
37
+ cY = [cy_1, cy_2, ... , cy_n]
38
+
39
+ X1 = [x1_1, x1_2, ... , x1_n]
40
+ -->
@@ -0,0 +1,31 @@
1
+
2
+ <script type="text/javascript">
3
+
4
+ function svg_aug_contained_image(){
5
+
6
+ var x_i = document.getElementsByClassName("image--guarantee")[0].offsetWidth ;
7
+ var y_i = document.getElementsByClassName("image--guarantee")[0].offsetHeight ;
8
+ /* ge scg labels */
9
+ var svg = document.querySelectorAll('.svg__augment > .augment--guarantee');
10
+
11
+ /* origanal image width in pixels */
12
+ var x_0 = {{ page.guarantee.augment.image | split: ', ' | first }} ;
13
+ var y_0 = {{ page.guarantee.augment.image | split: ', ' | last }} ;
14
+
15
+ for (let i = 0; i < svg.length; i++) {
16
+ /* origanal x position in pixels */
17
+ var dx_0 = parseInt( svg[i].getAttribute('x'), 10 ) / 100 ;
18
+ var dy_0 = parseInt( svg[i].getAttribute('y'), 10 ) / 100 ;
19
+
20
+ var dx_0Pixel = dx_0 * x_0 ;
21
+ var dy_0Pixel = dy_0 * y_0 ;
22
+
23
+ svg[i].setAttribute("x", (dx_0Pixel - ( x_0 / 2) + (x_i / 2) ) / x_i * 100 + '%');
24
+ svg[i].setAttribute("y", (dy_0Pixel - ( y_0 / 2) + (y_i / 2) ) / y_i * 100 + '%');
25
+ };
26
+
27
+ }
28
+
29
+ //window.setInterval(svg_aug_contained_image, 200 )
30
+
31
+ </script>
Binary file
@@ -56,9 +56,8 @@
56
56
  <link rel="stylesheet" type="text/css" title="made slowly has all the style" href="{{ site.baseurl }}/assets/css/gaitq_feed.css" media="screen" />
57
57
  {% endif %}
58
58
 
59
- {% if page.id %} <!-- it's a post -->
60
59
  <link rel="stylesheet" type="text/css" title="made slowly has all the style" href="{{ site.baseurl }}/assets/css/gaitq_post.css" media="screen" />
61
- {% endif %}
60
+
62
61
 
63
62
  {% if page.env %}
64
63
  {% include /head/env/conditional.html %}
@@ -1,4 +1,16 @@
1
1
 
2
+ {% assign scripts = page.scripts | split: ', '%}
3
+ {% if scripts contains 'svg-aos' %}
4
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.6.1/lodash.min.js" ></script>
5
+
6
+ <script type="text/javascript" src="{{ "{{ site.baseurl }}/assets/js/svg_text_width.js" | relative_url }}" async></script>
7
+
8
+ <script type="text/javascript" src="{{ "{{ site.baseurl }}/assets/js/svg_aos.js" | relative_url }}" async></script>
9
+
10
+ {% include functions/pull_page_args.html %}
11
+
12
+ {% endif %}
13
+
2
14
 
3
15
  <script type="text/javascript" src="{{ "{{ site.baseurl }}/assets/js/animate_after_load.js" | relative_url }}" async></script>
4
16
 
@@ -0,0 +1,12 @@
1
+
2
+ <div class="embed-container">
3
+ <iframe
4
+ src="https://player.vimeo.com/video/{{ include.id }}"
5
+ width="500"
6
+ height="281"
7
+ frameborder="0"
8
+ webkitallowfullscreen
9
+ mozallowfullscreen
10
+ allowfullscreen>
11
+ </iframe>
12
+ </div>
@@ -2,26 +2,46 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
- <div class="about__head__bg"></div>
5
+ <!--
6
6
 
7
- <div class="about__head">
8
- <!-- exclude if no title is provided -->
9
- {% if site.data.copy.about[page.env].title %}
10
- {% assign strap = site.data.copy.about[page.env].title %}
7
+ Last full read through 29/12/2020
11
8
 
12
- <h1>
9
+ ##############################################
10
+ # About Layout /_layouts/about.html
11
+ ##############################################
12
+
13
+ -->
14
+
15
+ {% if site.data.copy.about[page.env].title %}
16
+ {% assign strap = site.data.copy.about[page.env].title %}
17
+ {% else %}
18
+ {% assign strap = site.description %}
19
+ {% endif %}
20
+
21
+ <div class="hero hero-65">
22
+
23
+ <div class="hero__overlay h-100">
24
+ {% picture {{ page.hero.image | prepend: 'content/' }}
25
+ --img class="hero__image hero__image--fixed hero-65"
26
+ --alt {{ page.hero.alt }} %}</div>
27
+
28
+ <header class="hero__strap hero__strap--center image__filter--blur hero-65" aria-label="{{ strap }}">
29
+
30
+ <h1 aria-hidden="true" >
13
31
  {% assign n = strap.size | minus: 1 %}
14
32
  {%- for char in (0..n ) -%}
15
33
 
16
- <span style="animation-delay: {{ char | times: 60 | plus: 800 }}ms;">{{ strap | slice: char }}</span>
34
+ <span style="animation-delay: {{ char | times: 40 | plus: 200 }}ms;">{{ strap | slice: char }}</span>
17
35
  {%- endfor -%}</h1>
18
36
 
19
- {% endif %}
37
+ </header>
20
38
 
21
39
  </div>
40
+
41
+
22
42
  <!-- exclude if no text is provided -->
23
43
  {% if site.data.copy.about[page.env].text %}
24
- <div class="about__copy" data-aos="fade-in">
44
+ <div class="about__copy bg--env-100" >
25
45
 
26
46
  {% for item in site.data.copy.about[page.env].text %}
27
47
  <p class="about--copy" data-aos="fade-in">
@@ -32,26 +52,29 @@ layout: default
32
52
 
33
53
  <div class="about__team">
34
54
 
35
- <div class="team__head">
55
+ <div class="team__head bg--env-50">
36
56
  {% for menu in site.data.team.menu %}
37
- <h3 class="team__title team--js-script-{{ menu.script }}" id="team{{ menu.script }}" onclick="team{{ menu.script }}()">
57
+ <h3 class="team__title team--js-script-{{ menu.script }}"
58
+ id="team{{ menu.script }}"
59
+ onclick="team{{ menu.script }}()">
60
+
38
61
  <i class="{{ menu.icon }}"></i>
39
62
  <span class="title__title--text">{{ menu.name }}</span></h3>
40
63
  {% endfor %}
41
64
  </div>
42
65
 
43
- <div class="team__members" onload="display_core()">
66
+ <div class="team__members">
44
67
 
45
68
  {% for member in site.data.team.members %}
46
69
 
47
- <div class=" single__member
70
+ <div class=" single__member single__member--active
48
71
  {% assign ships = member.membership | split: ', ' %}
49
72
  {% for item in ships %}
50
73
  team--{{ item }}
51
74
  {% endfor %} ">
52
75
 
53
76
  <div class="single__member__image">
54
- <img class="member--image"src="{{ member.image | prepend: '/assets/images/content/people/' }}" alt="{{ member.name }} is the {{ member.position }}" />
77
+ <img class="member--image" src="{% if member.image %}{{ member.image | prepend: '/assets/images/content/people/' }}{% else %}{{ 'team-placeholder.jpg' | prepend: '/assets/images/defaults/' }}{% endif %}" alt="{{ member.name }} is the {{ member.position }}" />
55
78
  </div>
56
79
 
57
80
  <div class="single__member__text">
@@ -86,20 +109,29 @@ layout: default
86
109
  </div>
87
110
  </div>
88
111
 
89
- <!-- By default, .single__member is display:none, so in the event of JS disabled we see everyone -->
112
+ <!--
113
+
114
+ -->
90
115
  <script>
91
- /* get core .team__title and style */
116
+ /*
117
+ On load we hide some members.
118
+ '.single__member.single__member--active' is applied to all members, such that all members are 'display: flex' so in the event of no JS we see everyone. Removing '.single__member--active' defaults display to 'display: none'.
119
+ */
120
+
121
+ /* get core .team__title and apply style */
92
122
  const title = document.querySelectorAll(".team__title.team--js-script-core");
93
123
  for(var i = 0; i < title.length; i++)
94
124
  title[i].classList.add('team__title--active');
95
125
 
96
- /* get core .single__member and style */
97
- const members = document.querySelectorAll(".single__member.team--core");
126
+ /* get members that do not belong to '.team--core' and remove '.single__member--active' */
127
+ const members = document.querySelectorAll(".single__member:not(.team--core)");
98
128
  for(var i = 0; i < members.length; i++)
99
- members[i].classList.add('single__member--active');
100
-
129
+ members[i].classList.remove('single__member--active');
101
130
  </script>
102
131
 
132
+ <!--
133
+ For each team we need a script to handle click events on the team menu.
134
+ -->
103
135
  {% for menu in site.data.team.menu %}
104
136
 
105
137
  <script>
@@ -131,7 +163,7 @@ layout: default
131
163
 
132
164
 
133
165
  <script>
134
-
166
+ /* Watch for clicks on more info and reveal text */
135
167
  document.querySelectorAll('.info__conceal').forEach(function(el){
136
168
  el.addEventListener('click', function() {
137
169
  this.classList.toggle('info__reveal');
@@ -8,11 +8,9 @@ layout: compress
8
8
 
9
9
  {{ content }}
10
10
 
11
- {% if page.layout == "env/landing" or page.layout == "error-page" %}
11
+ {% if page.layout != "error-page" %}
12
12
 
13
- {% else %}
14
-
15
- {% include footer/footer.html %}
13
+ {% include footer/footer_full.html %}
16
14
 
17
15
  {% endif %}
18
16
 
@@ -2,47 +2,118 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
- <div class="clinician__hero">
5
+ <!--
6
6
 
7
- <div class="clinician__overlay">
8
- <div class="clinician__bg">
9
- </div>
10
- </div>
7
+ Last full read through 27/12/2020
8
+
9
+ ##############################################
10
+ # Clinician Layout/_layouts/env/clinician.html
11
+ ##############################################
12
+
13
+ -->
14
+
15
+ <!-- assign description with site decsription as fallback -->
11
16
 
12
- <div class="clinician__strap">
13
- <h1>{{ site.data.copy.about.clinician.title }}</h1>
14
- <p data-aos="fade-up">{{ site.data.copy.about.clinician.description }}</p>
17
+ {% if site.data.copy.landing.clinician.description %}
18
+ {% assign description = site.data.copy.landing.clinician.description %}
19
+ {% else %}
20
+ {% assign description = site.description %}
21
+ {% endif %}
22
+
23
+ <div class="hero hero-65">
24
+
25
+ <div class="hero__overlay">
26
+ {% picture {{ page.hero.image | prepend: 'content/' }}
27
+ --img class="hero__image image__filter--mix"
28
+ --alt {{ page.hero.alt }} %}</div>
29
+
30
+ <div class="hero__strap hero__strap--baseline bg--env-100">
31
+ <h2>{{ site.data.copy.landing.clinician.title }}</h2>
32
+ <p data-aos="fade-up">{{ site.data.copy.landing.clinician.description }}</p>
15
33
  </div>
16
34
 
17
- <div class="clinician__follow"></div>
35
+ <div class="hero__follow"></div>
18
36
 
19
37
  </div>
20
38
 
21
39
 
22
- {% picture
23
- {{ page.image | prepend: 'content/' }}
24
- --img class="clinician__hero__2"
25
- --alt {{ page.image_alt }} %}
40
+ <div class="augmented-image">
26
41
 
42
+ {% picture {{ page.subhero.image | prepend: 'content/' }}
43
+ --img class="hero__image"
44
+ --alt {{ page.subhero.alt }} %}
27
45
 
46
+ <svg class="svg__augment" viewBox="-50 -50 100 100" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
47
+ <defs>
48
+ <radialGradient id="augmentLED" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
49
+ <stop offset="0%" />
50
+ <stop offset="100%" />
51
+ </radialGradient>
52
+ </defs>
53
+
54
+ <circle class="svg__augment--pulse" cx="32%" cy="2%" />
55
+ <circle class="svg__augment--led" cx="32%" cy="2%" r=".5" />
56
+
57
+ </svg>
58
+
59
+ </div>
60
+
61
+ <div class="segment__wrap">
62
+
63
+ <div class="segment__left">
64
+
65
+
66
+ <div class="center-text segment__keywords strap--opd-trust">
67
+ {% assign keyword = site.data.copy.landing.clinician.keywords | split: ", " %}
68
+ {% for word in (1..keyword.size) %}
69
+ <h3 data-aos="fade-in">{{ keyword[forloop.index0] }}</h3>
70
+ {% endfor %}</div>
71
+
72
+ <!-- setup liquid variables -->
73
+ {%- assign env = site.data.menu.navigation | where: 'env', 'clinician' -%}
74
+ {%- assign env = env[0] -%}
75
+
76
+ {%- assign cta = env.submenu | where: 'id', 'cta' -%}
77
+ {%- assign cta = cta[0] -%}
78
+
79
+ <a class="action__call" aria-label="{{ cta.aria }}" href="{{ cta.url }}">
80
+ <span>{{ cta.alt }}</span>
81
+ <!-- svg arrow -->
82
+ <svg width="13px" height="10px" viewBox="0 0 13 10">
83
+ <path d="M1,5 L11,5"></path>
84
+ <polyline points="8 1 12 5 8 9"></polyline></svg>
85
+ </a>
28
86
 
29
- <div class="clinician__grid-wrap">
30
87
 
31
- <div class="clinician__grid-col-l">
32
- <div class="clinician__straps clinician__grid_img"></div>
33
- </div>
34
- <div class="clinician__grid-col-r">
35
- <div class="clinician__straps "></div>
36
88
  </div>
37
89
 
38
- <div class="clinician__grid__text">
90
+ <div class="segment__right augmented-image" >
91
+
92
+ {% picture {{ page.guarantee.image | prepend: 'content/' }}
93
+ --img class="hero__image image--guarantee h-100"
94
+ --alt {{ page.guarantee.alt }} %}
95
+
96
+ <svg class="svg__augment " width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
97
+
98
+ {% include functions/calc-svg-coord.html image_handle="guarantee" %}
99
+
100
+ {% for item in page.guarantee.augment.labels %}
101
+
102
+ <svg class="svg__labels hidden" x="{{ cX[forloop.index0] | remove: ", " }}%" y="{{ cY[forloop.index0] | remove: ", " }}%" style="overflow: visible">
103
+
104
+ <circle class="svg--elem svg--circle" cx="0%" cy="0%" r="6" />
105
+
106
+ <line class="svg--elem svg--line" x1="0" y1="0" y2="0" />
107
+
108
+ <text class="svg--elem svg--text trans-{% if item.reverse %}right{% else %}left{% endif %}" >{{ item.text }}</text>
109
+
110
+ </svg>
111
+
112
+ {% endfor %}
113
+
114
+ </svg>
39
115
 
40
- {% assign keyword = site.data.copy.about.clinician.keywords | split: ", " %}
41
- {% for word in (1..keyword.size) %}
42
- <p class="clinician__grid--keywords" data-aos="fade-in" data-aos-anchor-placement="top-bottom">{{ keyword[forloop.index0] }}</p>
43
- {% endfor %}
44
116
 
45
- <div class="action__call"></div>
46
117
  </div>
47
118
 
48
119
  </div>