Browse code

Update

Benjamin Roth authored on17/08/2023 00:07:19
Showing15 changed files
... ...
@@ -1,3 +1,7 @@
1 1
 vr_wa_ajax:
2 2
     resource: "@VonrotenbergWeinanlieferungBundle/src/Controller/Frontend/Ajax/"
3 3
     type: annotation
4
+
5
+app.controller:
6
+    resource: ../src/Controller/Backend
7
+    type: annotation
... ...
@@ -13,12 +13,17 @@ use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungLeseartModel;
13 13
 use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungReservationModel;
14 14
 use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungSlotsModel;
15 15
 use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungStandortModel;
16
+use Contao\ArrayUtil;
17
+
18
+ArrayUtil::arrayInsert($GLOBALS['BE_MOD'],1,[
19
+    'weinanlieferung' => [
20
+        'weinanlieferung' => [
21
+            'tables'     => array('tl_vr_wa_standort', 'tl_vr_wa_slot', 'tl_vr_wa_rebsorte','tl_vr_wa_leseart','tl_vr_wa_reservation'),
22
+            'stylesheet' => array('bundles/vonrotenbergweinanlieferung/css/backend.css')
23
+        ]
24
+    ]
25
+]);
16 26
 
17
-$GLOBALS['BE_MOD']['content']['weinanlieferung'] = array
18
-(
19
-    'tables'     => array('tl_vr_wa_standort', 'tl_vr_wa_slot', 'tl_vr_wa_rebsorte','tl_vr_wa_leseart'),
20
-    'stylesheet' => array('bundles/vonrotenbergweinanlieferung/css/backend.css')
21
-);
22 27
 
23 28
 $GLOBALS['TL_MODELS']['tl_vr_wa_slot'] = WeinanlieferungSlotsModel::class;
24 29
 $GLOBALS['TL_MODELS']['tl_vr_wa_standort'] = WeinanlieferungStandortModel::class;
... ...
@@ -18,6 +18,11 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array
18 18
     // Config
19 19
     'config' => array
20 20
     (
21
+        'dataContainer'    => DC_Table::class,
22
+//        'doNotCopyRecords' => true,
23
+//        'doNotDeleteRecords' => true,
24
+        'backlink'         => 'do=weinanlieferung',
25
+        'enableVersioning' => true,
21 26
         'sql'              => array
22 27
         (
23 28
             'keys' => array
... ...
@@ -28,6 +33,79 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array
28 33
         )
29 34
     ),
30 35
 
36
+    // List
37
+    'list' => array
38
+    (
39
+        'sorting' => array
40
+        (
41
+            'mode' => DataContainer::MODE_SORTED,
42
+            'fields' => array('pid'/*,'(SELECT s.time FROM tl_vr_wa_slot s WHERE s.id = tl_vr_wa_reservation.pid) ASC'*/),
43
+            //            'disableGrouping' => true,
44
+            'panelLayout' => 'filter;sort,limit',
45
+        ),
46
+        'label' => array(
47
+            'fields'                  => array('pid','behaelter','uid'),
48
+            'format'                  => '%s',
49
+            'showColumns'             => true,
50
+        ),
51
+        'global_operations' => array
52
+        (
53
+            'all' => array
54
+            (
55
+                'href'                => 'act=select',
56
+                'class'               => 'header_edit_all',
57
+                'attributes'          => 'onclick="Backend.getScrollOffset()" accesskey="e"'
58
+            )
59
+        ),
60
+        'operations' => array
61
+        (
62
+            'edit' => array
63
+            (
64
+                'href'                => 'act=edit',
65
+                'icon'                => 'edit.gif',
66
+            ),
67
+            'copy' => array
68
+            (
69
+                'href'                => 'act=paste&mode=copy',
70
+                'icon'                => 'copy.svg'
71
+            ),
72
+            'cut' => array
73
+            (
74
+                'href'                => 'act=paste&mode=cut',
75
+                'icon'                => 'cut.svg',
76
+                'attributes'          => 'onclick="Backend.getScrollOffset()"'
77
+            ),
78
+            'delete' => array
79
+            (
80
+                'href'                => 'act=delete',
81
+                'icon'                => 'delete.gif',
82
+            ),
83
+            'toggle' => array
84
+            (
85
+                'href'                => 'act=toggle&field=buchbar',
86
+                'icon'                => 'visible.svg',
87
+                'showInHeader'        => true
88
+            ),
89
+            'show' => array
90
+            (
91
+                'icon'                => 'show.gif',
92
+            ),
93
+        )
94
+    ),
95
+
96
+    // Palettes
97
+    'palettes' => array
98
+    (
99
+        '__selector__' => array(),
100
+        'default' => 'pid,behaelter,upload,uid,sorten'
101
+    ),
102
+
103
+    // Subpalettes
104
+    'subpalettes' => array
105
+    (
106
+    ),
107
+
108
+    // Fields
31 109
     'fields' => array
32 110
     (
33 111
         'id'          => array
... ...
@@ -36,13 +114,9 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array
36 114
         ),
37 115
         'pid'         => array
38 116
         (
117
+            'inputType' => 'select',
39 118
             'foreignKey' => 'tl_vr_wa_slot.time',
40
-            'sql'        => "int(10) unsigned NOT NULL default '0'",
41
-            'relation'   => array('type' => 'belongsTo', 'load' => 'lazy')
42
-        ),
43
-        'rootid'         => array
44
-        (
45
-            'foreignKey' => 'tl_page.title',
119
+            'eval'       => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true),
46 120
             'sql'        => "int(10) unsigned NOT NULL default '0'",
47 121
             'relation'   => array('type' => 'belongsTo', 'load' => 'lazy')
48 122
         ),
... ...
@@ -52,20 +126,23 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array
52 126
         ),
53 127
         'uid'         => array
54 128
         (
129
+            'inputType' => 'select',
55 130
             'foreignKey' => 'tl_member.username',
131
+            'eval'       => array('mandatory'=>true,'chosen'=>true,'includeBlankOption'=>true),
56 132
             'sql'        => "int(10) unsigned NOT NULL default '0'",
57 133
             'relation'   => array('type' => 'belongsTo', 'load' => 'lazy')
58 134
         ),
59 135
         'behaelter'         => array
60 136
         (
137
+            'inputType'               => 'text',
138
+            'eval'       => array('rgxp'=>'natural'),
61 139
             'sql'        => "smallint(3) unsigned NOT NULL default 0",
62 140
         ),
63 141
         'sorten'       => array
64 142
         (
65
-            'foreignKey'   => 'tl_vr_wa_rebsorte.title',
143
+            'inputType'               => 'checkbox',
66 144
             'eval'  => array('multiple'=>true, 'csv'=>';'),
67 145
             'sql'       => "blob NULL",
68
-            'relation'   => array('type' => 'hasMany', 'load' => 'lazy')
69 146
         ),
70 147
         'upload' => array
71 148
         (
72 149
new file mode 100644
... ...
@@ -0,0 +1,84 @@
1
+{% extends "@ContaoCore/Backend/be_page.html.twig" %}
2
+{% block headline %}
3
+  <span>Weinanlieferung</span> <span>Buchungsübersicht</span>
4
+{% endblock %}
5
+
6
+{% block error %}
7
+{% endblock %}
8
+
9
+{% block main %}
10
+  <div id="tl_buttons">
11
+    <a href="/contao?do=weinanlieferung&table=tl_vr_wa_reservation&act=create&rt={{ request_token }}&ref={{ ref }}" class="header_new" title="" accesskey="n" onclick="Backend.getScrollOffset()">Neu</a>
12
+  </div>
13
+  <div class="tl_listing_container">
14
+    <div>
15
+
16
+      {% block content %}
17
+        {% if days is defined and days|length %}
18
+          <div class="list">
19
+            {% for day,slots in days %}
20
+              <h3 class="tl_folder_list px-1 text-lg text-primary mt-2">{{ day|date('d.m.Y') }}</h3>
21
+              {% for time,bookings in slots %}
22
+                <h3 class="tl_folder_list px-1 row u-items-center">
23
+                  <div class="col-2 pl-0">{{ time|date('H:i') }}</div>
24
+                  <div class="col-3">
25
+                    <div class="t-label">Verfügbare Behälterkapazität</div>
26
+                    {{ bookings.behaelterAvailable }}
27
+                  </div>
28
+                  <div class="col">
29
+                    <div class="t-label">Verarbeitete Sorten</div>
30
+                    {{ bookings.sorten|join(', ') }}
31
+                  </div>
32
+                </h3>
33
+              <div class="bookings u-row-striped">
34
+                {% for booking in bookings.items %}
35
+                  <div class="row u-items-center ml-2">
36
+                    <div class="col-2 time icon-uhr-outline">
37
+                      <div class="t-label">Uhrzeit</div>
38
+                      {{ booking.slot.time|date('H:i') }}
39
+                    </div>
40
+                    <div class="col-3 behaelter icon-behaelter-outline">
41
+                      <div class="t-label">Gebuchte Behälterkapazität</div>
42
+                      {{ booking.behaelter }}
43
+                      <div class="t-label">Anliefernde Sorten</div>
44
+                      {{ booking.sorte|join(', ') }}
45
+                    </div>
46
+                    <div class="col-5 rebsorten icon-reben-outline">
47
+                      <div class="t-label">Mitglied</div>
48
+                      {{ booking.member.memberno is defined ? '<div>'~booking.member.memberno~'</div>' : '' }}
49
+                      <div>{{ booking.member.firstname }} {{ booking.member.lastname }}</div>
50
+                    </div>
51
+                    <div class="col u-text-right action">
52
+                      <a
53
+                        href="/contao?do=weinanlieferung&table=tl_vr_wa_reservation&act=edit&id={{ booking.id }}&rt={{ request_token }}&ref={{ ref }}"
54
+{#                        onclick="Backend.openModalIframe({'title':'Quellelement ID {{ booking.id }} bearbeiten','url':this.href});return false"#}
55
+                        title="Element ID {{ booking.id }} bearbeiten"
56
+                      ><img src="/system/themes/flexible/icons/edit.svg" width="16" height="16" alt="Element ID {{ booking.id }} bearbeiten"></a>
57
+                      <a
58
+                        href="/contao?do=weinanlieferung&table=tl_vr_wa_reservation&act=delete&id={{ booking.id }}&rt={{ request_token }}"
59
+                        onclick="if(!confirm('Soll das Element ID {{ booking.id }} wirklich gelöscht werden?'))return false;Backend.getScrollOffset()"
60
+                        title="Element ID {{ booking.id }} löschen"
61
+                      ><img src="/system/themes/flexible/icons/delete.svg" width="16" height="16" alt="Element ID {{ booking.id }} löschen"></a>
62
+                    </div>
63
+                  </div>
64
+                {% endfor %}
65
+              </div>
66
+              {% endfor %}
67
+            {% endfor %}
68
+          </div>
69
+        {% else %}
70
+          <div class="placeholder">
71
+            <h6 class="placeholder-title">Sie haben noch keine Anlieferungszeiten reserviert</h6>
72
+            <div class="placeholder-subtitle">Sobald Sie Anlieferungszeiten reserviert haben, werden diese hier aufgelistet.</div>
73
+            <div class="placeholder-commands u-center">
74
+              <div class="m-1">
75
+                <a href="{{ insert_tag('link_url::2') }}" class="btn btn-info">Zur Reservierung</a>
76
+              </div>
77
+            </div>
78
+          </div>
79
+        {% endif %}
80
+      {% endblock %}
81
+
82
+    </div>
83
+  </div>
84
+{% endblock %}
0 85
new file mode 100644
... ...
@@ -0,0 +1,47 @@
1
+<div hx-get="{{ insert_tag('env::request') }}" hx-headers='{"VR-Ajax": "WaBookedModule"}' hx-trigger="updateWaBooking from:body" class="{{ class }} content-wrapper block"{{ cssID }}{% if style is defined and style is not empty %} style="{{ style }}"{% endif %}>
2
+
3
+    {% block content %}
4
+        {% if days is defined and days|length %}
5
+            <div class="list">
6
+                {% for day,bookings in days %}
7
+                    <h3 class="toggler-dis u-flex u-items-center mt-2">{{ day|date('d.m.Y') }}</h3>
8
+                    <div class="accordion-dis">
9
+                        <div class="bookings">
10
+                            {% for booking in bookings %}
11
+                                <div class="row u-items-center">
12
+                                    <div class="col-2 time icon-uhr-outline">
13
+                                        <span class="t-label">Uhrzeit</span>
14
+                                        {{ booking.slot.time|date('H:i') }}
15
+                                    </div>
16
+                                    <div class="col-3 behaelter icon-behaelter-outline">
17
+                                        <span class="t-label">Gebuchte Behälterkapazität</span>
18
+                                        {{ booking.behaelter }}
19
+                                    </div>
20
+                                    <div class="col-5 rebsorten icon-reben-outline">
21
+                                        <span class="t-label">Anliefernde Sorten</span>
22
+                                        {{ booking.sorte|join(', ') }}
23
+                                    </div>
24
+                                    <div class="col u-text-right action">
25
+                                        <a hx-get="/_ajax/vr_wa/v1/slot?do=booking&id={{ booking.id }}" hx-target="body" hx-swap="beforeend" href="javascript:;" class="btn btn--xs m-0">Anzeigen</a>
26
+                                        <a hx-get="/_ajax/vr_wa/v1/slot?do=delete&id={{ booking.id }}" hx-target="body" hx-swap="beforeend" hx-confirm="Sind Sie sicher, dass Sie diese Reservierung löschen möchten?" href="javascript:;" class="btn btn--xs btn-danger m-0">Löschen</a>
27
+                                    </div>
28
+                                </div>
29
+                            {% endfor %}
30
+                        </div>
31
+                    </div>
32
+                {% endfor %}
33
+            </div>
34
+        {% else %}
35
+            <div class="placeholder">
36
+                <h6 class="placeholder-title">Sie haben noch keine Anlieferungszeiten reserviert</h6>
37
+                <div class="placeholder-subtitle">Sobald Sie Anlieferungszeiten reserviert haben, werden diese hier aufgelistet.</div>
38
+                <div class="placeholder-commands u-center">
39
+                    <div class="m-1">
40
+                        <a href="{{ insert_tag('link_url::2') }}" class="btn btn-info">Zur Reservierung</a>
41
+                    </div>
42
+                </div>
43
+            </div>
44
+        {% endif %}
45
+    {% endblock %}
46
+
47
+</div>
0 48
new file mode 100644
... ...
@@ -0,0 +1,95 @@
1
+<div hx-get="{{ insert_tag('env::request') }}" hx-headers='{"VR-Ajax": "WaSlotsModule"}' hx-trigger="updateWaList from:body, updateWaBooking from:body" class="{{ class }} content-wrapper block"{{ cssID }}{% if style is defined and style is not empty %} style="{{ style }}"{% endif %}>
2
+
3
+    {% block filter %}
4
+        <form hx-get="{{ pageUrl is defined ? pageUrl : '' }}" hx-push-url="true" hx-headers='{"VR-Ajax": "WaSlotsModule"}' hx-trigger="change, submit" hx-target="closest .content-wrapper" class="filter">
5
+            <div class="row">
6
+                <div class="col-md-3 kapazitaet">
7
+                    <select name="filter_kapazitaet">
8
+                        <option value="">-</option>
9
+                        {% for option in filter.kapazitaet.options %}
10
+                            <option value="{{ option }}"{% if filter.kapazitaet.selected is defined and filter.kapazitaet.selected == option %} selected{% endif %}>{{ option }}</option>
11
+                        {% endfor %}
12
+                    </select>
13
+                </div>
14
+                <div class="col-md-3 sorte">
15
+                    <select name="filter_sorte">
16
+                        <option value="">-</option>
17
+                        {% for key, option in filter.sorte.options %}
18
+                            <option value="{{ key }}"{% if filter.sorte.selected is defined and filter.sorte.selected == key %} selected{% endif %}>{{ option }}</option>
19
+                        {% endfor %}
20
+                    </select>
21
+                </div>
22
+                <div class="col-md-3 leseart">
23
+                    <select name="filter_leseart">
24
+                        <option value="">-</option>
25
+                        {% for key, option in filter.leseart.options %}
26
+                            <option value="{{ key }}"{% if filter.leseart.selected is defined and filter.leseart.selected == key %} selected{% endif %}>{{ option }}</option>
27
+                        {% endfor %}
28
+                    </select>
29
+                </div>
30
+                <div class="col submit"><button class="u-block w-100p">Filter übernehmen</button></div>
31
+            </div>
32
+        </form>
33
+    {% endblock %}
34
+
35
+    {% block content %}
36
+        {% if days is defined and days|length %}
37
+            <div class="list">
38
+                {% for day,slots in days %}
39
+                    <h3 class="toggler-dis u-flex u-items-center mt-2">{{ day|date('d.m.Y') }}</h3>
40
+                    <div class="accordion-dis">
41
+                        <div class="slots">
42
+                            {% for slot in slots %}
43
+                                <div class="row u-items-center{{ not slot.buchbar ? ' error' : '' }}{{ slot.gebucht ? ' booked' : '' }}">
44
+                                    <div class="col-2 time icon-uhr-outline">
45
+                                        <span class="t-label">Uhrzeit</span>
46
+                                        {{ slot.time|date('H:i') }}
47
+                                    </div>
48
+                                    <div class="col-3 behaelter icon-behaelter-outline">
49
+                                        <span class="t-label">Verfügbare Behälterkapazität</span>
50
+                                        {{ slot.behaelterAvailable }}
51
+                                    </div>
52
+                                    <div class="col-5 rebsorten icon-reben-outline">
53
+                                        <span class="t-label">Verarbeitete Sorten</span>
54
+                                        {{ slot.sorte|join(', ') }}
55
+                                    </div>
56
+                                    <div class="col u-text-right action">
57
+                                        <a hx-get="/_ajax/vr_wa/v1/slot?do=details&id={{ slot.id }}" hx-target="body" hx-swap="beforeend" href="javascript:;" class="btn btn--xs m-0">Anzeigen &amp; Buchen</a>
58
+                                    </div>
59
+                                </div>
60
+                            {% endfor %}
61
+                        </div>
62
+                    </div>
63
+                {% endfor %}
64
+            </div>
65
+        {% else %}
66
+            <div class="placeholder">
67
+                <h6 class="placeholder-title">Derzeit sind keine buchbaren Anlieferungszeiten verfügbar</h6>
68
+                <div class="placeholder-subtitle">Sie können uns auch gerne anrufen.</div>
69
+            </div>
70
+        {% endif %}
71
+    {% endblock %}
72
+
73
+    {% block script %}
74
+        {#<script>
75
+            jQuery(function($) {
76
+                $(".mod_wa_slots_list").accordion({
77
+                    // Put custom options here
78
+                    heightStyle: 'content',
79
+                    header: '.toggler',
80
+                    collapsible: true,
81
+                    create: function(event, ui) {
82
+                        ui.header.addClass('active');
83
+                        $('.toggler').attr('tabindex', 0);
84
+                    },
85
+                    activate: function(event, ui) {
86
+                        ui.newHeader.addClass('active');
87
+                        ui.oldHeader.removeClass('active');
88
+                        $('.toggler').attr('tabindex', 0);
89
+                    }
90
+                });
91
+            });
92
+        </script>#}
93
+    {% endblock %}
94
+
95
+</div>
0 96
deleted file mode 100644
... ...
@@ -1,47 +0,0 @@
1
-<div hx-get="{{ insert_tag('env::request') }}" hx-headers='{"VR-Ajax": "WaBookedModule"}' hx-trigger="updateWaBooking from:body" class="{{ class }} content-wrapper block"{{ cssID }}{% if style is defined and style is not empty %} style="{{ style }}"{% endif %}>
2
-
3
-    {% block content %}
4
-        {% if days is defined and days|length %}
5
-            <div class="list">
6
-                {% for day,bookings in days %}
7
-                    <h3 class="toggler-dis u-flex u-items-center mt-2">{{ day|date('d.m.Y') }}</h3>
8
-                    <div class="accordion-dis">
9
-                        <div class="bookings">
10
-                            {% for booking in bookings %}
11
-                                <div class="row u-items-center">
12
-                                    <div class="col-2 time icon-uhr-outline">
13
-                                        <span class="t-label">Uhrzeit</span>
14
-                                        {{ booking.slot.time|date('H:i') }}
15
-                                    </div>
16
-                                    <div class="col-3 behaelter icon-behaelter-outline">
17
-                                        <span class="t-label">Gebuchte Behälterkapazität</span>
18
-                                        {{ booking.behaelter }}
19
-                                    </div>
20
-                                    <div class="col-5 rebsorten icon-reben-outline">
21
-                                        <span class="t-label">Anliefernde Sorten</span>
22
-                                        {{ booking.sorte|join(', ') }}
23
-                                    </div>
24
-                                    <div class="col u-text-right action">
25
-                                        <a hx-get="/_ajax/vr_wa/v1/slot?do=booking&id={{ booking.id }}" hx-target="body" hx-swap="beforeend" href="javascript:;" class="btn btn--xs m-0">Anzeigen</a>
26
-                                        <a hx-get="/_ajax/vr_wa/v1/slot?do=delete&id={{ booking.id }}" hx-target="body" hx-swap="beforeend" hx-confirm="Sind Sie sicher, dass Sie diese Reservierung löschen möchten?" href="javascript:;" class="btn btn--xs btn-danger m-0">Löschen</a>
27
-                                    </div>
28
-                                </div>
29
-                            {% endfor %}
30
-                        </div>
31
-                    </div>
32
-                {% endfor %}
33
-            </div>
34
-        {% else %}
35
-            <div class="placeholder">
36
-                <h6 class="placeholder-title">Sie haben noch keine Anlieferungszeiten reserviert</h6>
37
-                <div class="placeholder-subtitle">Sobald Sie Anlieferungszeiten reserviert haben, werden diese hier aufgelistet.</div>
38
-                <div class="placeholder-commands u-center">
39
-                    <div class="m-1">
40
-                        <a href="{{ insert_tag('link_url::2') }}" class="btn btn-info">Zur Reservierung</a>
41
-                    </div>
42
-                </div>
43
-            </div>
44
-        {% endif %}
45
-    {% endblock %}
46
-
47
-</div>
48 0
deleted file mode 100644
... ...
@@ -1,95 +0,0 @@
1
-<div hx-get="{{ insert_tag('env::request') }}" hx-headers='{"VR-Ajax": "WaSlotsModule"}' hx-trigger="updateWaList from:body, updateWaBooking from:body" class="{{ class }} content-wrapper block"{{ cssID }}{% if style is defined and style is not empty %} style="{{ style }}"{% endif %}>
2
-
3
-    {% block filter %}
4
-        <form hx-get="{{ pageUrl is defined ? pageUrl : '' }}" hx-push-url="true" hx-headers='{"VR-Ajax": "WaSlotsModule"}' hx-trigger="change, submit" hx-target="closest .content-wrapper" class="filter">
5
-            <div class="row">
6
-                <div class="col-md-3 kapazitaet">
7
-                    <select name="filter_kapazitaet">
8
-                        <option value="">-</option>
9
-                        {% for option in filter.kapazitaet.options %}
10
-                            <option value="{{ option }}"{% if filter.kapazitaet.selected is defined and filter.kapazitaet.selected == option %} selected{% endif %}>{{ option }}</option>
11
-                        {% endfor %}
12
-                    </select>
13
-                </div>
14
-                <div class="col-md-3 sorte">
15
-                    <select name="filter_sorte">
16
-                        <option value="">-</option>
17
-                        {% for key, option in filter.sorte.options %}
18
-                            <option value="{{ key }}"{% if filter.sorte.selected is defined and filter.sorte.selected == key %} selected{% endif %}>{{ option }}</option>
19
-                        {% endfor %}
20
-                    </select>
21
-                </div>
22
-                <div class="col-md-3 leseart">
23
-                    <select name="filter_leseart">
24
-                        <option value="">-</option>
25
-                        {% for key, option in filter.leseart.options %}
26
-                            <option value="{{ key }}"{% if filter.leseart.selected is defined and filter.leseart.selected == key %} selected{% endif %}>{{ option }}</option>
27
-                        {% endfor %}
28
-                    </select>
29
-                </div>
30
-                <div class="col submit"><button class="u-block w-100p">Filter übernehmen</button></div>
31
-            </div>
32
-        </form>
33
-    {% endblock %}
34
-
35
-    {% block content %}
36
-        {% if days is defined and days|length %}
37
-            <div class="list">
38
-                {% for day,slots in days %}
39
-                    <h3 class="toggler-dis u-flex u-items-center mt-2">{{ day|date('d.m.Y') }}</h3>
40
-                    <div class="accordion-dis">
41
-                        <div class="slots">
42
-                            {% for slot in slots %}
43
-                                <div class="row u-items-center{{ not slot.buchbar ? ' error' : '' }}{{ slot.gebucht ? ' booked' : '' }}">
44
-                                    <div class="col-2 time icon-uhr-outline">
45
-                                        <span class="t-label">Uhrzeit</span>
46
-                                        {{ slot.time|date('H:i') }}
47
-                                    </div>
48
-                                    <div class="col-3 behaelter icon-behaelter-outline">
49
-                                        <span class="t-label">Verfügbare Behälterkapazität</span>
50
-                                        {{ slot.behaelterAvailable }}
51
-                                    </div>
52
-                                    <div class="col-5 rebsorten icon-reben-outline">
53
-                                        <span class="t-label">Verarbeitete Sorten</span>
54
-                                        {{ slot.sorte|join(', ') }}
55
-                                    </div>
56
-                                    <div class="col u-text-right action">
57
-                                        <a hx-get="/_ajax/vr_wa/v1/slot?do=details&id={{ slot.id }}" hx-target="body" hx-swap="beforeend" href="javascript:;" class="btn btn--xs m-0">Anzeigen &amp; Buchen</a>
58
-                                    </div>
59
-                                </div>
60
-                            {% endfor %}
61
-                        </div>
62
-                    </div>
63
-                {% endfor %}
64
-            </div>
65
-        {% else %}
66
-            <div class="placeholder">
67
-                <h6 class="placeholder-title">Derzeit sind keine buchbaren Anlieferungszeiten verfügbar</h6>
68
-                <div class="placeholder-subtitle">Sie können uns auch gerne anrufen.</div>
69
-            </div>
70
-        {% endif %}
71
-    {% endblock %}
72
-
73
-    {% block script %}
74
-        {#<script>
75
-            jQuery(function($) {
76
-                $(".mod_wa_slots_list").accordion({
77
-                    // Put custom options here
78
-                    heightStyle: 'content',
79
-                    header: '.toggler',
80
-                    collapsible: true,
81
-                    create: function(event, ui) {
82
-                        ui.header.addClass('active');
83
-                        $('.toggler').attr('tabindex', 0);
84
-                    },
85
-                    activate: function(event, ui) {
86
-                        ui.newHeader.addClass('active');
87
-                        ui.oldHeader.removeClass('active');
88
-                        $('.toggler').attr('tabindex', 0);
89
-                    }
90
-                });
91
-            });
92
-        </script>#}
93
-    {% endblock %}
94
-
95
-</div>
... ...
@@ -1,3 +1,8 @@
1
+:root {
2
+  --color-opacity: 1;
3
+  --border-opacity: 1;
4
+}
5
+
1 6
 .header_rebsorte,
2 7
 .header_leseart {
3 8
   padding:3px 0 3px 21px;
... ...
@@ -11,3 +16,6290 @@
11 16
 .header_leseart {
12 17
   background-image:url("/bundles/vonrotenbergweinanlieferung/images/icons/schere.svg");
13 18
 }
19
+
20
+
21
+.t-label {
22
+  color: #999;
23
+  font-size: 0.8rem;
24
+  line-height: 1.875em;
25
+  font-weight: 500;
26
+}
27
+
28
+.u-row-striped > *:nth-child(even) {
29
+  background-color: #fff6ef;
30
+}
31
+
32
+
33
+/* Use for spacing out elements vertically */
34
+.row {
35
+  flex: 1;
36
+  flex-wrap: wrap;
37
+  padding: 0.5rem 0;
38
+  display: flex;
39
+  /* GRID */
40
+  /* Auto align col to left in row */
41
+  /* Auto align col to middle in row */
42
+  /* Auto align col to right in row */
43
+  /* Dividers for mobile layout */
44
+  /* Base sizing where everything is 100% width */
45
+  /* Column sizes for various viewports */
46
+  /* Columns without the spacing */
47
+}
48
+
49
+.row::after {
50
+  content: "";
51
+  clear: both;
52
+  display: table;
53
+}
54
+
55
+.row.row--no-wrap {
56
+  flex-wrap: nowrap;
57
+  overflow-x: auto; /* Can be disabled to remove scroll bar */
58
+}
59
+
60
+.row .col {
61
+  display: block;
62
+  flex: 1;
63
+  padding: 0.15rem 0.75rem;
64
+}
65
+
66
+.row .offset-right {
67
+  margin-left: 0;
68
+  margin-right: auto;
69
+}
70
+
71
+.row .offset-center {
72
+  margin-left: auto;
73
+  margin-right: auto;
74
+}
75
+
76
+.row .offset-left {
77
+  margin-left: auto;
78
+  margin-right: 0;
79
+}
80
+
81
+.row.divided [class^=col], .row.divided [class*=" col"] {
82
+  box-shadow: 0 -1px 0 0 rgba(173, 181, 189, 0.5);
83
+}
84
+
85
+.row [class^=col-],
86
+.row [class*=" col-"] {
87
+  width: 100%;
88
+  margin-left: 0;
89
+  padding: 0 0.5rem;
90
+}
91
+
92
+@media screen and (min-width: 768px) {
93
+  .row .col-1 {
94
+    width: 8.3333333333%;
95
+  }
96
+}
97
+@media screen and (min-width: 768px) {
98
+  .row .col-2 {
99
+    width: 16.6666666667%;
100
+  }
101
+}
102
+@media screen and (min-width: 768px) {
103
+  .row .col-3 {
104
+    width: 25%;
105
+  }
106
+}
107
+@media screen and (min-width: 768px) {
108
+  .row .col-4 {
109
+    width: 33.3333333333%;
110
+  }
111
+}
112
+@media screen and (min-width: 768px) {
113
+  .row .col-5 {
114
+    width: 41.6666666667%;
115
+  }
116
+}
117
+@media screen and (min-width: 768px) {
118
+  .row .col-6 {
119
+    width: 50%;
120
+  }
121
+}
122
+@media screen and (min-width: 768px) {
123
+  .row .col-7 {
124
+    width: 58.3333333333%;
125
+  }
126
+}
127
+@media screen and (min-width: 768px) {
128
+  .row .col-8 {
129
+    width: 66.6666666667%;
130
+  }
131
+}
132
+@media screen and (min-width: 768px) {
133
+  .row .col-9 {
134
+    width: 75%;
135
+  }
136
+}
137
+@media screen and (min-width: 768px) {
138
+  .row .col-10 {
139
+    width: 83.3333333333%;
140
+  }
141
+}
142
+@media screen and (min-width: 768px) {
143
+  .row .col-11 {
144
+    width: 91.6666666667%;
145
+  }
146
+}
147
+@media screen and (min-width: 768px) {
148
+  .row .col-12 {
149
+    width: 100%;
150
+  }
151
+}
152
+.row .col-xs-1 {
153
+  width: 8.3333333333%;
154
+}
155
+
156
+.row .col-xs-2 {
157
+  width: 16.6666666667%;
158
+}
159
+
160
+.row .col-xs-3 {
161
+  width: 25%;
162
+}
163
+
164
+.row .col-xs-4 {
165
+  width: 33.3333333333%;
166
+}
167
+
168
+.row .col-xs-5 {
169
+  width: 41.6666666667%;
170
+}
171
+
172
+.row .col-xs-6 {
173
+  width: 50%;
174
+}
175
+
176
+.row .col-xs-7 {
177
+  width: 58.3333333333%;
178
+}
179
+
180
+.row .col-xs-8 {
181
+  width: 66.6666666667%;
182
+}
183
+
184
+.row .col-xs-9 {
185
+  width: 75%;
186
+}
187
+
188
+.row .col-xs-10 {
189
+  width: 83.3333333333%;
190
+}
191
+
192
+.row .col-xs-11 {
193
+  width: 91.6666666667%;
194
+}
195
+
196
+.row .col-xs-12 {
197
+  width: 100%;
198
+}
199
+
200
+@media screen and (min-width: 640px) {
201
+  .row .col-sm-1 {
202
+    width: 8.3333333333%;
203
+  }
204
+  .row .col-sm-2 {
205
+    width: 16.6666666667%;
206
+  }
207
+  .row .col-sm-3 {
208
+    width: 25%;
209
+  }
210
+  .row .col-sm-4 {
211
+    width: 33.3333333333%;
212
+  }
213
+  .row .col-sm-5 {
214
+    width: 41.6666666667%;
215
+  }
216
+  .row .col-sm-6 {
217
+    width: 50%;
218
+  }
219
+  .row .col-sm-7 {
220
+    width: 58.3333333333%;
221
+  }
222
+  .row .col-sm-8 {
223
+    width: 66.6666666667%;
224
+  }
225
+  .row .col-sm-9 {
226
+    width: 75%;
227
+  }
228
+  .row .col-sm-10 {
229
+    width: 83.3333333333%;
230
+  }
231
+  .row .col-sm-11 {
232
+    width: 91.6666666667%;
233
+  }
234
+  .row .col-sm-12 {
235
+    width: 100%;
236
+  }
237
+}
238
+@media screen and (min-width: 768px) {
239
+  .row .col-md-1 {
240
+    width: 8.3333333333%;
241
+  }
242
+  .row .col-md-2 {
243
+    width: 16.6666666667%;
244
+  }
245
+  .row .col-md-3 {
246
+    width: 25%;
247
+  }
248
+  .row .col-md-4 {
249
+    width: 33.3333333333%;
250
+  }
251
+  .row .col-md-5 {
252
+    width: 41.6666666667%;
253
+  }
254
+  .row .col-md-6 {
255
+    width: 50%;
256
+  }
257
+  .row .col-md-7 {
258
+    width: 58.3333333333%;
259
+  }
260
+  .row .col-md-8 {
261
+    width: 66.6666666667%;
262
+  }
263
+  .row .col-md-9 {
264
+    width: 75%;
265
+  }
266
+  .row .col-md-10 {
267
+    width: 83.3333333333%;
268
+  }
269
+  .row .col-md-11 {
270
+    width: 91.6666666667%;
271
+  }
272
+  .row .col-md-12 {
273
+    width: 100%;
274
+  }
275
+}
276
+@media screen and (min-width: 1024px) {
277
+  .row .col-lg-1 {
278
+    width: 8.3333333333%;
279
+  }
280
+  .row .col-lg-2 {
281
+    width: 16.6666666667%;
282
+  }
283
+  .row .col-lg-3 {
284
+    width: 25%;
285
+  }
286
+  .row .col-lg-4 {
287
+    width: 33.3333333333%;
288
+  }
289
+  .row .col-lg-5 {
290
+    width: 41.6666666667%;
291
+  }
292
+  .row .col-lg-6 {
293
+    width: 50%;
294
+  }
295
+  .row .col-lg-7 {
296
+    width: 58.3333333333%;
297
+  }
298
+  .row .col-lg-8 {
299
+    width: 66.6666666667%;
300
+  }
301
+  .row .col-lg-9 {
302
+    width: 75%;
303
+  }
304
+  .row .col-lg-10 {
305
+    width: 83.3333333333%;
306
+  }
307
+  .row .col-lg-11 {
308
+    width: 91.6666666667%;
309
+  }
310
+  .row .col-lg-12 {
311
+    width: 100%;
312
+  }
313
+}
314
+@media screen and (min-width: 1280px) {
315
+  .row .col-xl-1 {
316
+    width: 8.3333333333%;
317
+  }
318
+  .row .col-xl-2 {
319
+    width: 16.6666666667%;
320
+  }
321
+  .row .col-xl-3 {
322
+    width: 25%;
323
+  }
324
+  .row .col-xl-4 {
325
+    width: 33.3333333333%;
326
+  }
327
+  .row .col-xl-5 {
328
+    width: 41.6666666667%;
329
+  }
330
+  .row .col-xl-6 {
331
+    width: 50%;
332
+  }
333
+  .row .col-xl-7 {
334
+    width: 58.3333333333%;
335
+  }
336
+  .row .col-xl-8 {
337
+    width: 66.6666666667%;
338
+  }
339
+  .row .col-xl-9 {
340
+    width: 75%;
341
+  }
342
+  .row .col-xl-10 {
343
+    width: 83.3333333333%;
344
+  }
345
+  .row .col-xl-11 {
346
+    width: 91.6666666667%;
347
+  }
348
+  .row .col-xl-12 {
349
+    width: 100%;
350
+  }
351
+}
352
+@media screen and (min-width: 640px) {
353
+  .row .offset-1 {
354
+    margin-left: 8.3333333333%;
355
+  }
356
+}
357
+@media screen and (min-width: 640px) {
358
+  .row .offset-2 {
359
+    margin-left: 16.6666666667%;
360
+  }
361
+}
362
+@media screen and (min-width: 640px) {
363
+  .row .offset-3 {
364
+    margin-left: 25%;
365
+  }
366
+}
367
+@media screen and (min-width: 640px) {
368
+  .row .offset-4 {
369
+    margin-left: 33.3333333333%;
370
+  }
371
+}
372
+@media screen and (min-width: 640px) {
373
+  .row .offset-5 {
374
+    margin-left: 41.6666666667%;
375
+  }
376
+}
377
+@media screen and (min-width: 640px) {
378
+  .row .offset-6 {
379
+    margin-left: 50%;
380
+  }
381
+}
382
+@media screen and (min-width: 640px) {
383
+  .row .offset-7 {
384
+    margin-left: 58.3333333333%;
385
+  }
386
+}
387
+@media screen and (min-width: 640px) {
388
+  .row .offset-8 {
389
+    margin-left: 66.6666666667%;
390
+  }
391
+}
392
+@media screen and (min-width: 640px) {
393
+  .row .offset-9 {
394
+    margin-left: 75%;
395
+  }
396
+}
397
+@media screen and (min-width: 640px) {
398
+  .row .offset-10 {
399
+    margin-left: 83.3333333333%;
400
+  }
401
+}
402
+@media screen and (min-width: 640px) {
403
+  .row .offset-11 {
404
+    margin-left: 91.6666666667%;
405
+  }
406
+}
407
+@media screen and (min-width: 640px) {
408
+  .row .offset-12 {
409
+    margin-left: 100%;
410
+  }
411
+}
412
+.row.no-space [class^=col-], .row.no-space [class*=" col-"] {
413
+  padding: 0;
414
+}
415
+
416
+/* Margin */
417
+.m-0 {
418
+  margin: 0rem !important;
419
+}
420
+
421
+.mt-0,
422
+.my-0 {
423
+  margin-top: 0rem !important;
424
+}
425
+
426
+.mb-0,
427
+.my-0 {
428
+  margin-bottom: 0rem !important;
429
+}
430
+
431
+.ml-0,
432
+.mx-0 {
433
+  margin-left: 0rem !important;
434
+}
435
+
436
+.mr-0,
437
+.mx-0 {
438
+  margin-right: 0rem !important;
439
+}
440
+
441
+/* Spacing */
442
+.p-0 {
443
+  padding: 0rem !important;
444
+}
445
+
446
+.pt-0,
447
+.py-0 {
448
+  padding-top: 0rem !important;
449
+}
450
+
451
+.pb-0,
452
+.py-0 {
453
+  padding-bottom: 0rem !important;
454
+}
455
+
456
+.pl-0,
457
+.px-0 {
458
+  padding-left: 0rem !important;
459
+}
460
+
461
+.pr-0,
462
+.px-0 {
463
+  padding-right: 0rem !important;
464
+}
465
+
466
+/* Margin */
467
+.m-1 {
468
+  margin: 0.5rem !important;
469
+}
470
+
471
+.mt-1,
472
+.my-1 {
473
+  margin-top: 0.5rem !important;
474
+}
475
+
476
+.mb-1,
477
+.my-1 {
478
+  margin-bottom: 0.5rem !important;
479
+}
480
+
481
+.ml-1,
482
+.mx-1 {
483
+  margin-left: 0.5rem !important;
484
+}
485
+
486
+.mr-1,
487
+.mx-1 {
488
+  margin-right: 0.5rem !important;
489
+}
490
+
491
+/* Spacing */
492
+.p-1 {
493
+  padding: 0.5rem !important;
494
+}
495
+
496
+.pt-1,
497
+.py-1 {
498
+  padding-top: 0.5rem !important;
499
+}
500
+
501
+.pb-1,
502
+.py-1 {
503
+  padding-bottom: 0.5rem !important;
504
+}
505
+
506
+.pl-1,
507
+.px-1 {
508
+  padding-left: 0.5rem !important;
509
+}
510
+
511
+.pr-1,
512
+.px-1 {
513
+  padding-right: 0.5rem !important;
514
+}
515
+
516
+/* Margin */
517
+.m-2 {
518
+  margin: 1rem !important;
519
+}
520
+
521
+.mt-2,
522
+.my-2 {
523
+  margin-top: 1rem !important;
524
+}
525
+
526
+.mb-2,
527
+.my-2 {
528
+  margin-bottom: 1rem !important;
529
+}
530
+
531
+.ml-2,
532
+.mx-2 {
533
+  margin-left: 1rem !important;
534
+}
535
+
536
+.mr-2,
537
+.mx-2 {
538
+  margin-right: 1rem !important;
539
+}
540
+
541
+/* Spacing */
542
+.p-2 {
543
+  padding: 1rem !important;
544
+}
545
+
546
+.pt-2,
547
+.py-2 {
548
+  padding-top: 1rem !important;
549
+}
550
+
551
+.pb-2,
552
+.py-2 {
553
+  padding-bottom: 1rem !important;
554
+}
555
+
556
+.pl-2,
557
+.px-2 {
558
+  padding-left: 1rem !important;
559
+}
560
+
561
+.pr-2,
562
+.px-2 {
563
+  padding-right: 1rem !important;
564
+}
565
+
566
+/* Margin */
567
+.m-3 {
568
+  margin: 1.5rem !important;
569
+}
570
+
571
+.mt-3,
572
+.my-3 {
573
+  margin-top: 1.5rem !important;
574
+}
575
+
576
+.mb-3,
577
+.my-3 {
578
+  margin-bottom: 1.5rem !important;
579
+}
580
+
581
+.ml-3,
582
+.mx-3 {
583
+  margin-left: 1.5rem !important;
584
+}
585
+
586
+.mr-3,
587
+.mx-3 {
588
+  margin-right: 1.5rem !important;
589
+}
590
+
591
+/* Spacing */
592
+.p-3 {
593
+  padding: 1.5rem !important;
594
+}
595
+
596
+.pt-3,
597
+.py-3 {
598
+  padding-top: 1.5rem !important;
599
+}
600
+
601
+.pb-3,
602
+.py-3 {
603
+  padding-bottom: 1.5rem !important;
604
+}
605
+
606
+.pl-3,
607
+.px-3 {
608
+  padding-left: 1.5rem !important;
609
+}
610
+
611
+.pr-3,
612
+.px-3 {
613
+  padding-right: 1.5rem !important;
614
+}
615
+
616
+/* Margin */
617
+.m-4 {
618
+  margin: 2rem !important;
619
+}
620
+
621
+.mt-4,
622
+.my-4 {
623
+  margin-top: 2rem !important;
624
+}
625
+
626
+.mb-4,
627
+.my-4 {
628
+  margin-bottom: 2rem !important;
629
+}
630
+
631
+.ml-4,
632
+.mx-4 {
633
+  margin-left: 2rem !important;
634
+}
635
+
636
+.mr-4,
637
+.mx-4 {
638
+  margin-right: 2rem !important;
639
+}
640
+
641
+/* Spacing */
642
+.p-4 {
643
+  padding: 2rem !important;
644
+}
645
+
646
+.pt-4,
647
+.py-4 {
648
+  padding-top: 2rem !important;
649
+}
650
+
651
+.pb-4,
652
+.py-4 {
653
+  padding-bottom: 2rem !important;
654
+}
655
+
656
+.pl-4,
657
+.px-4 {
658
+  padding-left: 2rem !important;
659
+}
660
+
661
+.pr-4,
662
+.px-4 {
663
+  padding-right: 2rem !important;
664
+}
665
+
666
+/* Margin */
667
+.m-5 {
668
+  margin: 2.5rem !important;
669
+}
670
+
671
+.mt-5,
672
+.my-5 {
673
+  margin-top: 2.5rem !important;
674
+}
675
+
676
+.mb-5,
677
+.my-5 {
678
+  margin-bottom: 2.5rem !important;
679
+}
680
+
681
+.ml-5,
682
+.mx-5 {
683
+  margin-left: 2.5rem !important;
684
+}
685
+
686
+.mr-5,
687
+.mx-5 {
688
+  margin-right: 2.5rem !important;
689
+}
690
+
691
+/* Spacing */
692
+.p-5 {
693
+  padding: 2.5rem !important;
694
+}
695
+
696
+.pt-5,
697
+.py-5 {
698
+  padding-top: 2.5rem !important;
699
+}
700
+
701
+.pb-5,
702
+.py-5 {
703
+  padding-bottom: 2.5rem !important;
704
+}
705
+
706
+.pl-5,
707
+.px-5 {
708
+  padding-left: 2.5rem !important;
709
+}
710
+
711
+.pr-5,
712
+.px-5 {
713
+  padding-right: 2.5rem !important;
714
+}
715
+
716
+/* Margin */
717
+.m-6 {
718
+  margin: 3rem !important;
719
+}
720
+
721
+.mt-6,
722
+.my-6 {
723
+  margin-top: 3rem !important;
724
+}
725
+
726
+.mb-6,
727
+.my-6 {
728
+  margin-bottom: 3rem !important;
729
+}
730
+
731
+.ml-6,
732
+.mx-6 {
733
+  margin-left: 3rem !important;
734
+}
735
+
736
+.mr-6,
737
+.mx-6 {
738
+  margin-right: 3rem !important;
739
+}
740
+
741
+/* Spacing */
742
+.p-6 {
743
+  padding: 3rem !important;
744
+}
745
+
746
+.pt-6,
747
+.py-6 {
748
+  padding-top: 3rem !important;
749
+}
750
+
751
+.pb-6,
752
+.py-6 {
753
+  padding-bottom: 3rem !important;
754
+}
755
+
756
+.pl-6,
757
+.px-6 {
758
+  padding-left: 3rem !important;
759
+}
760
+
761
+.pr-6,
762
+.px-6 {
763
+  padding-right: 3rem !important;
764
+}
765
+
766
+/* Margin */
767
+.m-8 {
768
+  margin: 4rem !important;
769
+}
770
+
771
+.mt-8,
772
+.my-8 {
773
+  margin-top: 4rem !important;
774
+}
775
+
776
+.mb-8,
777
+.my-8 {
778
+  margin-bottom: 4rem !important;
779
+}
780
+
781
+.ml-8,
782
+.mx-8 {
783
+  margin-left: 4rem !important;
784
+}
785
+
786
+.mr-8,
787
+.mx-8 {
788
+  margin-right: 4rem !important;
789
+}
790
+
791
+/* Spacing */
792
+.p-8 {
793
+  padding: 4rem !important;
794
+}
795
+
796
+.pt-8,
797
+.py-8 {
798
+  padding-top: 4rem !important;
799
+}
800
+
801
+.pb-8,
802
+.py-8 {
803
+  padding-bottom: 4rem !important;
804
+}
805
+
806
+.pl-8,
807
+.px-8 {
808
+  padding-left: 4rem !important;
809
+}
810
+
811
+.pr-8,
812
+.px-8 {
813
+  padding-right: 4rem !important;
814
+}
815
+
816
+/* Margin */
817
+.m-10 {
818
+  margin: 5rem !important;
819
+}
820
+
821
+.mt-10,
822
+.my-10 {
823
+  margin-top: 5rem !important;
824
+}
825
+
826
+.mb-10,
827
+.my-10 {
828
+  margin-bottom: 5rem !important;
829
+}
830
+
831
+.ml-10,
832
+.mx-10 {
833
+  margin-left: 5rem !important;
834
+}
835
+
836
+.mr-10,
837
+.mx-10 {
838
+  margin-right: 5rem !important;
839
+}
840
+
841
+/* Spacing */
842
+.p-10 {
843
+  padding: 5rem !important;
844
+}
845
+
846
+.pt-10,
847
+.py-10 {
848
+  padding-top: 5rem !important;
849
+}
850
+
851
+.pb-10,
852
+.py-10 {
853
+  padding-bottom: 5rem !important;
854
+}
855
+
856
+.pl-10,
857
+.px-10 {
858
+  padding-left: 5rem !important;
859
+}
860
+
861
+.pr-10,
862
+.px-10 {
863
+  padding-right: 5rem !important;
864
+}
865
+
866
+/* Margin */
867
+.m-12 {
868
+  margin: 6rem !important;
869
+}
870
+
871
+.mt-12,
872
+.my-12 {
873
+  margin-top: 6rem !important;
874
+}
875
+
876
+.mb-12,
877
+.my-12 {
878
+  margin-bottom: 6rem !important;
879
+}
880
+
881
+.ml-12,
882
+.mx-12 {
883
+  margin-left: 6rem !important;
884
+}
885
+
886
+.mr-12,
887
+.mx-12 {
888
+  margin-right: 6rem !important;
889
+}
890
+
891
+/* Spacing */
892
+.p-12 {
893
+  padding: 6rem !important;
894
+}
895
+
896
+.pt-12,
897
+.py-12 {
898
+  padding-top: 6rem !important;
899
+}
900
+
901
+.pb-12,
902
+.py-12 {
903
+  padding-bottom: 6rem !important;
904
+}
905
+
906
+.pl-12,
907
+.px-12 {
908
+  padding-left: 6rem !important;
909
+}
910
+
911
+.pr-12,
912
+.px-12 {
913
+  padding-right: 6rem !important;
914
+}
915
+
916
+/* Margin */
917
+.m-16 {
918
+  margin: 8rem !important;
919
+}
920
+
921
+.mt-16,
922
+.my-16 {
923
+  margin-top: 8rem !important;
924
+}
925
+
926
+.mb-16,
927
+.my-16 {
928
+  margin-bottom: 8rem !important;
929
+}
930
+
931
+.ml-16,
932
+.mx-16 {
933
+  margin-left: 8rem !important;
934
+}
935
+
936
+.mr-16,
937
+.mx-16 {
938
+  margin-right: 8rem !important;
939
+}
940
+
941
+/* Spacing */
942
+.p-16 {
943
+  padding: 8rem !important;
944
+}
945
+
946
+.pt-16,
947
+.py-16 {
948
+  padding-top: 8rem !important;
949
+}
950
+
951
+.pb-16,
952
+.py-16 {
953
+  padding-bottom: 8rem !important;
954
+}
955
+
956
+.pl-16,
957
+.px-16 {
958
+  padding-left: 8rem !important;
959
+}
960
+
961
+.pr-16,
962
+.px-16 {
963
+  padding-right: 8rem !important;
964
+}
965
+
966
+/* Margin */
967
+.m-20 {
968
+  margin: 10rem !important;
969
+}
970
+
971
+.mt-20,
972
+.my-20 {
973
+  margin-top: 10rem !important;
974
+}
975
+
976
+.mb-20,
977
+.my-20 {
978
+  margin-bottom: 10rem !important;
979
+}
980
+
981
+.ml-20,
982
+.mx-20 {
983
+  margin-left: 10rem !important;
984
+}
985
+
986
+.mr-20,
987
+.mx-20 {
988
+  margin-right: 10rem !important;
989
+}
990
+
991
+/* Spacing */
992
+.p-20 {
993
+  padding: 10rem !important;
994
+}
995
+
996
+.pt-20,
997
+.py-20 {
998
+  padding-top: 10rem !important;
999
+}
1000
+
1001
+.pb-20,
1002
+.py-20 {
1003
+  padding-bottom: 10rem !important;
1004
+}
1005
+
1006
+.pl-20,
1007
+.px-20 {
1008
+  padding-left: 10rem !important;
1009
+}
1010
+
1011
+.pr-20,
1012
+.px-20 {
1013
+  padding-right: 10rem !important;
1014
+}
1015
+
1016
+/* Margin */
1017
+.m-24 {
1018
+  margin: 12rem !important;
1019
+}
1020
+
1021
+.mt-24,
1022
+.my-24 {
1023
+  margin-top: 12rem !important;
1024
+}
1025
+
1026
+.mb-24,
1027
+.my-24 {
1028
+  margin-bottom: 12rem !important;
1029
+}
1030
+
1031
+.ml-24,
1032
+.mx-24 {
1033
+  margin-left: 12rem !important;
1034
+}
1035
+
1036
+.mr-24,
1037
+.mx-24 {
1038
+  margin-right: 12rem !important;
1039
+}
1040
+
1041
+/* Spacing */
1042
+.p-24 {
1043
+  padding: 12rem !important;
1044
+}
1045
+
1046
+.pt-24,
1047
+.py-24 {
1048
+  padding-top: 12rem !important;
1049
+}
1050
+
1051
+.pb-24,
1052
+.py-24 {
1053
+  padding-bottom: 12rem !important;
1054
+}
1055
+
1056
+.pl-24,
1057
+.px-24 {
1058
+  padding-left: 12rem !important;
1059
+}
1060
+
1061
+.pr-24,
1062
+.px-24 {
1063
+  padding-right: 12rem !important;
1064
+}
1065
+
1066
+/* Margin */
1067
+.m-32 {
1068
+  margin: 16rem !important;
1069
+}
1070
+
1071
+.mt-32,
1072
+.my-32 {
1073
+  margin-top: 16rem !important;
1074
+}
1075
+
1076
+.mb-32,
1077
+.my-32 {
1078
+  margin-bottom: 16rem !important;
1079
+}
1080
+
1081
+.ml-32,
1082
+.mx-32 {
1083
+  margin-left: 16rem !important;
1084
+}
1085
+
1086
+.mr-32,
1087
+.mx-32 {
1088
+  margin-right: 16rem !important;
1089
+}
1090
+
1091
+/* Spacing */
1092
+.p-32 {
1093
+  padding: 16rem !important;
1094
+}
1095
+
1096
+.pt-32,
1097
+.py-32 {
1098
+  padding-top: 16rem !important;
1099
+}
1100
+
1101
+.pb-32,
1102
+.py-32 {
1103
+  padding-bottom: 16rem !important;
1104
+}
1105
+
1106
+.pl-32,
1107
+.px-32 {
1108
+  padding-left: 16rem !important;
1109
+}
1110
+
1111
+.pr-32,
1112
+.px-32 {
1113
+  padding-right: 16rem !important;
1114
+}
1115
+
1116
+.ml-auto,
1117
+.mx-auto {
1118
+  margin-left: auto !important;
1119
+}
1120
+
1121
+.mr-auto,
1122
+.mx-auto {
1123
+  margin-right: auto !important;
1124
+}
1125
+
1126
+.mt-auto,
1127
+.my-auto {
1128
+  margin-top: auto !important;
1129
+}
1130
+
1131
+.mb-auto,
1132
+.my-auto {
1133
+  margin-bottom: auto !important;
1134
+}
1135
+
1136
+@media screen and (min-width: 640px) {
1137
+  /* Margin */
1138
+  .m-0-sm {
1139
+    margin: 0rem !important;
1140
+  }
1141
+  .mt-0-sm,
1142
+  .my-0-sm {
1143
+    margin-top: 0rem !important;
1144
+  }
1145
+  .mb-0-sm,
1146
+  .my-0-sm {
1147
+    margin-bottom: 0rem !important;
1148
+  }
1149
+  .ml-0-sm,
1150
+  .mx-0-sm {
1151
+    margin-left: 0rem !important;
1152
+  }
1153
+  .mr-0-sm,
1154
+  .mx-0-sm {
1155
+    margin-right: 0rem !important;
1156
+  }
1157
+  /* Spacing */
1158
+  .p-0-sm {
1159
+    padding: 0rem !important;
1160
+  }
1161
+  .pt-0-sm,
1162
+  .py-0-sm {
1163
+    padding-top: 0rem !important;
1164
+  }
1165
+  .pb-0-sm,
1166
+  .py-0-sm {
1167
+    padding-bottom: 0rem !important;
1168
+  }
1169
+  .pl-0-sm,
1170
+  .px-0-sm {
1171
+    padding-left: 0rem !important;
1172
+  }
1173
+  .pr-0-sm,
1174
+  .px-0-sm {
1175
+    padding-right: 0rem !important;
1176
+  }
1177
+  .ml-auto-sm,
1178
+  .mx-auto-sm {
1179
+    margin-left: auto !important;
1180
+  }
1181
+  .mr-auto-sm,
1182
+  .mx-auto-sm {
1183
+    margin-right: auto !important;
1184
+  }
1185
+  .mt-auto-sm,
1186
+  .my-auto-sm {
1187
+    margin-top: auto !important;
1188
+  }
1189
+  .mb-auto-sm,
1190
+  .my-auto-sm {
1191
+    margin-bottom: auto !important;
1192
+  }
1193
+}
1194
+@media screen and (min-width: 640px) {
1195
+  /* Margin */
1196
+  .m-1-sm {
1197
+    margin: 0.5rem !important;
1198
+  }
1199
+  .mt-1-sm,
1200
+  .my-1-sm {
1201
+    margin-top: 0.5rem !important;
1202
+  }
1203
+  .mb-1-sm,
1204
+  .my-1-sm {
1205
+    margin-bottom: 0.5rem !important;
1206
+  }
1207
+  .ml-1-sm,
1208
+  .mx-1-sm {
1209
+    margin-left: 0.5rem !important;
1210
+  }
1211
+  .mr-1-sm,
1212
+  .mx-1-sm {
1213
+    margin-right: 0.5rem !important;
1214
+  }
1215
+  /* Spacing */
1216
+  .p-1-sm {
1217
+    padding: 0.5rem !important;
1218
+  }
1219
+  .pt-1-sm,
1220
+  .py-1-sm {
1221
+    padding-top: 0.5rem !important;
1222
+  }
1223
+  .pb-1-sm,
1224
+  .py-1-sm {
1225
+    padding-bottom: 0.5rem !important;
1226
+  }
1227
+  .pl-1-sm,
1228
+  .px-1-sm {
1229
+    padding-left: 0.5rem !important;
1230
+  }
1231
+  .pr-1-sm,
1232
+  .px-1-sm {
1233
+    padding-right: 0.5rem !important;
1234
+  }
1235
+  .ml-auto-sm,
1236
+  .mx-auto-sm {
1237
+    margin-left: auto !important;
1238
+  }
1239
+  .mr-auto-sm,
1240
+  .mx-auto-sm {
1241
+    margin-right: auto !important;
1242
+  }
1243
+  .mt-auto-sm,
1244
+  .my-auto-sm {
1245
+    margin-top: auto !important;
1246
+  }
1247
+  .mb-auto-sm,
1248
+  .my-auto-sm {
1249
+    margin-bottom: auto !important;
1250
+  }
1251
+}
1252
+@media screen and (min-width: 640px) {
1253
+  /* Margin */
1254
+  .m-2-sm {
1255
+    margin: 1rem !important;
1256
+  }
1257
+  .mt-2-sm,
1258
+  .my-2-sm {
1259
+    margin-top: 1rem !important;
1260
+  }
1261
+  .mb-2-sm,
1262
+  .my-2-sm {
1263
+    margin-bottom: 1rem !important;
1264
+  }
1265
+  .ml-2-sm,
1266
+  .mx-2-sm {
1267
+    margin-left: 1rem !important;
1268
+  }
1269
+  .mr-2-sm,
1270
+  .mx-2-sm {
1271
+    margin-right: 1rem !important;
1272
+  }
1273
+  /* Spacing */
1274
+  .p-2-sm {
1275
+    padding: 1rem !important;
1276
+  }
1277
+  .pt-2-sm,
1278
+  .py-2-sm {
1279
+    padding-top: 1rem !important;
1280
+  }
1281
+  .pb-2-sm,
1282
+  .py-2-sm {
1283
+    padding-bottom: 1rem !important;
1284
+  }
1285
+  .pl-2-sm,
1286
+  .px-2-sm {
1287
+    padding-left: 1rem !important;
1288
+  }
1289
+  .pr-2-sm,
1290
+  .px-2-sm {
1291
+    padding-right: 1rem !important;
1292
+  }
1293
+  .ml-auto-sm,
1294
+  .mx-auto-sm {
1295
+    margin-left: auto !important;
1296
+  }
1297
+  .mr-auto-sm,
1298
+  .mx-auto-sm {
1299
+    margin-right: auto !important;
1300
+  }
1301
+  .mt-auto-sm,
1302
+  .my-auto-sm {
1303
+    margin-top: auto !important;
1304
+  }
1305
+  .mb-auto-sm,
1306
+  .my-auto-sm {
1307
+    margin-bottom: auto !important;
1308
+  }
1309
+}
1310
+@media screen and (min-width: 640px) {
1311
+  /* Margin */
1312
+  .m-3-sm {
1313
+    margin: 1.5rem !important;
1314
+  }
1315
+  .mt-3-sm,
1316
+  .my-3-sm {
1317
+    margin-top: 1.5rem !important;
1318
+  }
1319
+  .mb-3-sm,
1320
+  .my-3-sm {
1321
+    margin-bottom: 1.5rem !important;
1322
+  }
1323
+  .ml-3-sm,
1324
+  .mx-3-sm {
1325
+    margin-left: 1.5rem !important;
1326
+  }
1327
+  .mr-3-sm,
1328
+  .mx-3-sm {
1329
+    margin-right: 1.5rem !important;
1330
+  }
1331
+  /* Spacing */
1332
+  .p-3-sm {
1333
+    padding: 1.5rem !important;
1334
+  }
1335
+  .pt-3-sm,
1336
+  .py-3-sm {
1337
+    padding-top: 1.5rem !important;
1338
+  }
1339
+  .pb-3-sm,
1340
+  .py-3-sm {
1341
+    padding-bottom: 1.5rem !important;
1342
+  }
1343
+  .pl-3-sm,
1344
+  .px-3-sm {
1345
+    padding-left: 1.5rem !important;
1346
+  }
1347
+  .pr-3-sm,
1348
+  .px-3-sm {
1349
+    padding-right: 1.5rem !important;
1350
+  }
1351
+  .ml-auto-sm,
1352
+  .mx-auto-sm {
1353
+    margin-left: auto !important;
1354
+  }
1355
+  .mr-auto-sm,
1356
+  .mx-auto-sm {
1357
+    margin-right: auto !important;
1358
+  }
1359
+  .mt-auto-sm,
1360
+  .my-auto-sm {
1361
+    margin-top: auto !important;
1362
+  }
1363
+  .mb-auto-sm,
1364
+  .my-auto-sm {
1365
+    margin-bottom: auto !important;
1366
+  }
1367
+}
1368
+@media screen and (min-width: 640px) {
1369
+  /* Margin */
1370
+  .m-4-sm {
1371
+    margin: 2rem !important;
1372
+  }
1373
+  .mt-4-sm,
1374
+  .my-4-sm {
1375
+    margin-top: 2rem !important;
1376
+  }
1377
+  .mb-4-sm,
1378
+  .my-4-sm {
1379
+    margin-bottom: 2rem !important;
1380
+  }
1381
+  .ml-4-sm,
1382
+  .mx-4-sm {
1383
+    margin-left: 2rem !important;
1384
+  }
1385
+  .mr-4-sm,
1386
+  .mx-4-sm {
1387
+    margin-right: 2rem !important;
1388
+  }
1389
+  /* Spacing */
1390
+  .p-4-sm {
1391
+    padding: 2rem !important;
1392
+  }
1393
+  .pt-4-sm,
1394
+  .py-4-sm {
1395
+    padding-top: 2rem !important;
1396
+  }
1397
+  .pb-4-sm,
1398
+  .py-4-sm {
1399
+    padding-bottom: 2rem !important;
1400
+  }
1401
+  .pl-4-sm,
1402
+  .px-4-sm {
1403
+    padding-left: 2rem !important;
1404
+  }
1405
+  .pr-4-sm,
1406
+  .px-4-sm {
1407
+    padding-right: 2rem !important;
1408
+  }
1409
+  .ml-auto-sm,
1410
+  .mx-auto-sm {
1411
+    margin-left: auto !important;
1412
+  }
1413
+  .mr-auto-sm,
1414
+  .mx-auto-sm {
1415
+    margin-right: auto !important;
1416
+  }
1417
+  .mt-auto-sm,
1418
+  .my-auto-sm {
1419
+    margin-top: auto !important;
1420
+  }
1421
+  .mb-auto-sm,
1422
+  .my-auto-sm {
1423
+    margin-bottom: auto !important;
1424
+  }
1425
+}
1426
+@media screen and (min-width: 640px) {
1427
+  /* Margin */
1428
+  .m-5-sm {
1429
+    margin: 2.5rem !important;
1430
+  }
1431
+  .mt-5-sm,
1432
+  .my-5-sm {
1433
+    margin-top: 2.5rem !important;
1434
+  }
1435
+  .mb-5-sm,
1436
+  .my-5-sm {
1437
+    margin-bottom: 2.5rem !important;
1438
+  }
1439
+  .ml-5-sm,
1440
+  .mx-5-sm {
1441
+    margin-left: 2.5rem !important;
1442
+  }
1443
+  .mr-5-sm,
1444
+  .mx-5-sm {
1445
+    margin-right: 2.5rem !important;
1446
+  }
1447
+  /* Spacing */
1448
+  .p-5-sm {
1449
+    padding: 2.5rem !important;
1450
+  }
1451
+  .pt-5-sm,
1452
+  .py-5-sm {
1453
+    padding-top: 2.5rem !important;
1454
+  }
1455
+  .pb-5-sm,
1456
+  .py-5-sm {
1457
+    padding-bottom: 2.5rem !important;
1458
+  }
1459
+  .pl-5-sm,
1460
+  .px-5-sm {
1461
+    padding-left: 2.5rem !important;
1462
+  }
1463
+  .pr-5-sm,
1464
+  .px-5-sm {
1465
+    padding-right: 2.5rem !important;
1466
+  }
1467
+  .ml-auto-sm,
1468
+  .mx-auto-sm {
1469
+    margin-left: auto !important;
1470
+  }
1471
+  .mr-auto-sm,
1472
+  .mx-auto-sm {
1473
+    margin-right: auto !important;
1474
+  }
1475
+  .mt-auto-sm,
1476
+  .my-auto-sm {
1477
+    margin-top: auto !important;
1478
+  }
1479
+  .mb-auto-sm,
1480
+  .my-auto-sm {
1481
+    margin-bottom: auto !important;
1482
+  }
1483
+}
1484
+@media screen and (min-width: 640px) {
1485
+  /* Margin */
1486
+  .m-6-sm {
1487
+    margin: 3rem !important;
1488
+  }
1489
+  .mt-6-sm,
1490
+  .my-6-sm {
1491
+    margin-top: 3rem !important;
1492
+  }
1493
+  .mb-6-sm,
1494
+  .my-6-sm {
1495
+    margin-bottom: 3rem !important;
1496
+  }
1497
+  .ml-6-sm,
1498
+  .mx-6-sm {
1499
+    margin-left: 3rem !important;
1500
+  }
1501
+  .mr-6-sm,
1502
+  .mx-6-sm {
1503
+    margin-right: 3rem !important;
1504
+  }
1505
+  /* Spacing */
1506
+  .p-6-sm {
1507
+    padding: 3rem !important;
1508
+  }
1509
+  .pt-6-sm,
1510
+  .py-6-sm {
1511
+    padding-top: 3rem !important;
1512
+  }
1513
+  .pb-6-sm,
1514
+  .py-6-sm {
1515
+    padding-bottom: 3rem !important;
1516
+  }
1517
+  .pl-6-sm,
1518
+  .px-6-sm {
1519
+    padding-left: 3rem !important;
1520
+  }
1521
+  .pr-6-sm,
1522
+  .px-6-sm {
1523
+    padding-right: 3rem !important;
1524
+  }
1525
+  .ml-auto-sm,
1526
+  .mx-auto-sm {
1527
+    margin-left: auto !important;
1528
+  }
1529
+  .mr-auto-sm,
1530
+  .mx-auto-sm {
1531
+    margin-right: auto !important;
1532
+  }
1533
+  .mt-auto-sm,
1534
+  .my-auto-sm {
1535
+    margin-top: auto !important;
1536
+  }
1537
+  .mb-auto-sm,
1538
+  .my-auto-sm {
1539
+    margin-bottom: auto !important;
1540
+  }
1541
+}
1542
+@media screen and (min-width: 640px) {
1543
+  /* Margin */
1544
+  .m-8-sm {
1545
+    margin: 4rem !important;
1546
+  }
1547
+  .mt-8-sm,
1548
+  .my-8-sm {
1549
+    margin-top: 4rem !important;
1550
+  }
1551
+  .mb-8-sm,
1552
+  .my-8-sm {
1553
+    margin-bottom: 4rem !important;
1554
+  }
1555
+  .ml-8-sm,
1556
+  .mx-8-sm {
1557
+    margin-left: 4rem !important;
1558
+  }
1559
+  .mr-8-sm,
1560
+  .mx-8-sm {
1561
+    margin-right: 4rem !important;
1562
+  }
1563
+  /* Spacing */
1564
+  .p-8-sm {
1565
+    padding: 4rem !important;
1566
+  }
1567
+  .pt-8-sm,
1568
+  .py-8-sm {
1569
+    padding-top: 4rem !important;
1570
+  }
1571
+  .pb-8-sm,
1572
+  .py-8-sm {
1573
+    padding-bottom: 4rem !important;
1574
+  }
1575
+  .pl-8-sm,
1576
+  .px-8-sm {
1577
+    padding-left: 4rem !important;
1578
+  }
1579
+  .pr-8-sm,
1580
+  .px-8-sm {
1581
+    padding-right: 4rem !important;
1582
+  }
1583
+  .ml-auto-sm,
1584
+  .mx-auto-sm {
1585
+    margin-left: auto !important;
1586
+  }
1587
+  .mr-auto-sm,
1588
+  .mx-auto-sm {
1589
+    margin-right: auto !important;
1590
+  }
1591
+  .mt-auto-sm,
1592
+  .my-auto-sm {
1593
+    margin-top: auto !important;
1594
+  }
1595
+  .mb-auto-sm,
1596
+  .my-auto-sm {
1597
+    margin-bottom: auto !important;
1598
+  }
1599
+}
1600
+@media screen and (min-width: 640px) {
1601
+  /* Margin */
1602
+  .m-10-sm {
1603
+    margin: 5rem !important;
1604
+  }
1605
+  .mt-10-sm,
1606
+  .my-10-sm {
1607
+    margin-top: 5rem !important;
1608
+  }
1609
+  .mb-10-sm,
1610
+  .my-10-sm {
1611
+    margin-bottom: 5rem !important;
1612
+  }
1613
+  .ml-10-sm,
1614
+  .mx-10-sm {
1615
+    margin-left: 5rem !important;
1616
+  }
1617
+  .mr-10-sm,
1618
+  .mx-10-sm {
1619
+    margin-right: 5rem !important;
1620
+  }
1621
+  /* Spacing */
1622
+  .p-10-sm {
1623
+    padding: 5rem !important;
1624
+  }
1625
+  .pt-10-sm,
1626
+  .py-10-sm {
1627
+    padding-top: 5rem !important;
1628
+  }
1629
+  .pb-10-sm,
1630
+  .py-10-sm {
1631
+    padding-bottom: 5rem !important;
1632
+  }
1633
+  .pl-10-sm,
1634
+  .px-10-sm {
1635
+    padding-left: 5rem !important;
1636
+  }
1637
+  .pr-10-sm,
1638
+  .px-10-sm {
1639
+    padding-right: 5rem !important;
1640
+  }
1641
+  .ml-auto-sm,
1642
+  .mx-auto-sm {
1643
+    margin-left: auto !important;
1644
+  }
1645
+  .mr-auto-sm,
1646
+  .mx-auto-sm {
1647
+    margin-right: auto !important;
1648
+  }
1649
+  .mt-auto-sm,
1650
+  .my-auto-sm {
1651
+    margin-top: auto !important;
1652
+  }
1653
+  .mb-auto-sm,
1654
+  .my-auto-sm {
1655
+    margin-bottom: auto !important;
1656
+  }
1657
+}
1658
+@media screen and (min-width: 640px) {
1659
+  /* Margin */
1660
+  .m-12-sm {
1661
+    margin: 6rem !important;
1662
+  }
1663
+  .mt-12-sm,
1664
+  .my-12-sm {
1665
+    margin-top: 6rem !important;
1666
+  }
1667
+  .mb-12-sm,
1668
+  .my-12-sm {
1669
+    margin-bottom: 6rem !important;
1670
+  }
1671
+  .ml-12-sm,
1672
+  .mx-12-sm {
1673
+    margin-left: 6rem !important;
1674
+  }
1675
+  .mr-12-sm,
1676
+  .mx-12-sm {
1677
+    margin-right: 6rem !important;
1678
+  }
1679
+  /* Spacing */
1680
+  .p-12-sm {
1681
+    padding: 6rem !important;
1682
+  }
1683
+  .pt-12-sm,
1684
+  .py-12-sm {
1685
+    padding-top: 6rem !important;
1686
+  }
1687
+  .pb-12-sm,
1688
+  .py-12-sm {
1689
+    padding-bottom: 6rem !important;
1690
+  }
1691
+  .pl-12-sm,
1692
+  .px-12-sm {
1693
+    padding-left: 6rem !important;
1694
+  }
1695
+  .pr-12-sm,
1696
+  .px-12-sm {
1697
+    padding-right: 6rem !important;
1698
+  }
1699
+  .ml-auto-sm,
1700
+  .mx-auto-sm {
1701
+    margin-left: auto !important;
1702
+  }
1703
+  .mr-auto-sm,
1704
+  .mx-auto-sm {
1705
+    margin-right: auto !important;
1706
+  }
1707
+  .mt-auto-sm,
1708
+  .my-auto-sm {
1709
+    margin-top: auto !important;
1710
+  }
1711
+  .mb-auto-sm,
1712
+  .my-auto-sm {
1713
+    margin-bottom: auto !important;
1714
+  }
1715
+}
1716
+@media screen and (min-width: 640px) {
1717
+  /* Margin */
1718
+  .m-16-sm {
1719
+    margin: 8rem !important;
1720
+  }
1721
+  .mt-16-sm,
1722
+  .my-16-sm {
1723
+    margin-top: 8rem !important;
1724
+  }
1725
+  .mb-16-sm,
1726
+  .my-16-sm {
1727
+    margin-bottom: 8rem !important;
1728
+  }
1729
+  .ml-16-sm,
1730
+  .mx-16-sm {
1731
+    margin-left: 8rem !important;
1732
+  }
1733
+  .mr-16-sm,
1734
+  .mx-16-sm {
1735
+    margin-right: 8rem !important;
1736
+  }
1737
+  /* Spacing */
1738
+  .p-16-sm {
1739
+    padding: 8rem !important;
1740
+  }
1741
+  .pt-16-sm,
1742
+  .py-16-sm {
1743
+    padding-top: 8rem !important;
1744
+  }
1745
+  .pb-16-sm,
1746
+  .py-16-sm {
1747
+    padding-bottom: 8rem !important;
1748
+  }
1749
+  .pl-16-sm,
1750
+  .px-16-sm {
1751
+    padding-left: 8rem !important;
1752
+  }
1753
+  .pr-16-sm,
1754
+  .px-16-sm {
1755
+    padding-right: 8rem !important;
1756
+  }
1757
+  .ml-auto-sm,
1758
+  .mx-auto-sm {
1759
+    margin-left: auto !important;
1760
+  }
1761
+  .mr-auto-sm,
1762
+  .mx-auto-sm {
1763
+    margin-right: auto !important;
1764
+  }
1765
+  .mt-auto-sm,
1766
+  .my-auto-sm {
1767
+    margin-top: auto !important;
1768
+  }
1769
+  .mb-auto-sm,
1770
+  .my-auto-sm {
1771
+    margin-bottom: auto !important;
1772
+  }
1773
+}
1774
+@media screen and (min-width: 640px) {
1775
+  /* Margin */
1776
+  .m-20-sm {
1777
+    margin: 10rem !important;
1778
+  }
1779
+  .mt-20-sm,
1780
+  .my-20-sm {
1781
+    margin-top: 10rem !important;
1782
+  }
1783
+  .mb-20-sm,
1784
+  .my-20-sm {
1785
+    margin-bottom: 10rem !important;
1786
+  }
1787
+  .ml-20-sm,
1788
+  .mx-20-sm {
1789
+    margin-left: 10rem !important;
1790
+  }
1791
+  .mr-20-sm,
1792
+  .mx-20-sm {
1793
+    margin-right: 10rem !important;
1794
+  }
1795
+  /* Spacing */
1796
+  .p-20-sm {
1797
+    padding: 10rem !important;
1798
+  }
1799
+  .pt-20-sm,
1800
+  .py-20-sm {
1801
+    padding-top: 10rem !important;
1802
+  }
1803
+  .pb-20-sm,
1804
+  .py-20-sm {
1805
+    padding-bottom: 10rem !important;
1806
+  }
1807
+  .pl-20-sm,
1808
+  .px-20-sm {
1809
+    padding-left: 10rem !important;
1810
+  }
1811
+  .pr-20-sm,
1812
+  .px-20-sm {
1813
+    padding-right: 10rem !important;
1814
+  }
1815
+  .ml-auto-sm,
1816
+  .mx-auto-sm {
1817
+    margin-left: auto !important;
1818
+  }
1819
+  .mr-auto-sm,
1820
+  .mx-auto-sm {
1821
+    margin-right: auto !important;
1822
+  }
1823
+  .mt-auto-sm,
1824
+  .my-auto-sm {
1825
+    margin-top: auto !important;
1826
+  }
1827
+  .mb-auto-sm,
1828
+  .my-auto-sm {
1829
+    margin-bottom: auto !important;
1830
+  }
1831
+}
1832
+@media screen and (min-width: 640px) {
1833
+  /* Margin */
1834
+  .m-24-sm {
1835
+    margin: 12rem !important;
1836
+  }
1837
+  .mt-24-sm,
1838
+  .my-24-sm {
1839
+    margin-top: 12rem !important;
1840
+  }
1841
+  .mb-24-sm,
1842
+  .my-24-sm {
1843
+    margin-bottom: 12rem !important;
1844
+  }
1845
+  .ml-24-sm,
1846
+  .mx-24-sm {
1847
+    margin-left: 12rem !important;
1848
+  }
1849
+  .mr-24-sm,
1850
+  .mx-24-sm {
1851
+    margin-right: 12rem !important;
1852
+  }
1853
+  /* Spacing */
1854
+  .p-24-sm {
1855
+    padding: 12rem !important;
1856
+  }
1857
+  .pt-24-sm,
1858
+  .py-24-sm {
1859
+    padding-top: 12rem !important;
1860
+  }
1861
+  .pb-24-sm,
1862
+  .py-24-sm {
1863
+    padding-bottom: 12rem !important;
1864
+  }
1865
+  .pl-24-sm,
1866
+  .px-24-sm {
1867
+    padding-left: 12rem !important;
1868
+  }
1869
+  .pr-24-sm,
1870
+  .px-24-sm {
1871
+    padding-right: 12rem !important;
1872
+  }
1873
+  .ml-auto-sm,
1874
+  .mx-auto-sm {
1875
+    margin-left: auto !important;
1876
+  }
1877
+  .mr-auto-sm,
1878
+  .mx-auto-sm {
1879
+    margin-right: auto !important;
1880
+  }
1881
+  .mt-auto-sm,
1882
+  .my-auto-sm {
1883
+    margin-top: auto !important;
1884
+  }
1885
+  .mb-auto-sm,
1886
+  .my-auto-sm {
1887
+    margin-bottom: auto !important;
1888
+  }
1889
+}
1890
+@media screen and (min-width: 640px) {
1891
+  /* Margin */
1892
+  .m-32-sm {
1893
+    margin: 16rem !important;
1894
+  }
1895
+  .mt-32-sm,
1896
+  .my-32-sm {
1897
+    margin-top: 16rem !important;
1898
+  }
1899
+  .mb-32-sm,
1900
+  .my-32-sm {
1901
+    margin-bottom: 16rem !important;
1902
+  }
1903
+  .ml-32-sm,
1904
+  .mx-32-sm {
1905
+    margin-left: 16rem !important;
1906
+  }
1907
+  .mr-32-sm,
1908
+  .mx-32-sm {
1909
+    margin-right: 16rem !important;
1910
+  }
1911
+  /* Spacing */
1912
+  .p-32-sm {
1913
+    padding: 16rem !important;
1914
+  }
1915
+  .pt-32-sm,
1916
+  .py-32-sm {
1917
+    padding-top: 16rem !important;
1918
+  }
1919
+  .pb-32-sm,
1920
+  .py-32-sm {
1921
+    padding-bottom: 16rem !important;
1922
+  }
1923
+  .pl-32-sm,
1924
+  .px-32-sm {
1925
+    padding-left: 16rem !important;
1926
+  }
1927
+  .pr-32-sm,
1928
+  .px-32-sm {
1929
+    padding-right: 16rem !important;
1930
+  }
1931
+  .ml-auto-sm,
1932
+  .mx-auto-sm {
1933
+    margin-left: auto !important;
1934
+  }
1935
+  .mr-auto-sm,
1936
+  .mx-auto-sm {
1937
+    margin-right: auto !important;
1938
+  }
1939
+  .mt-auto-sm,
1940
+  .my-auto-sm {
1941
+    margin-top: auto !important;
1942
+  }
1943
+  .mb-auto-sm,
1944
+  .my-auto-sm {
1945
+    margin-bottom: auto !important;
1946
+  }
1947
+}
1948
+@media screen and (min-width: 768px) {
1949
+  /* Margin */
1950
+  .m-0-md {
1951
+    margin: 0rem !important;
1952
+  }
1953
+  .mt-0-md,
1954
+  .my-0-md {
1955
+    margin-top: 0rem !important;
1956
+  }
1957
+  .mb-0-md,
1958
+  .my-0-md {
1959
+    margin-bottom: 0rem !important;
1960
+  }
1961
+  .ml-0-md,
1962
+  .mx-0-md {
1963
+    margin-left: 0rem !important;
1964
+  }
1965
+  .mr-0-md,
1966
+  .mx-0-md {
1967
+    margin-right: 0rem !important;
1968
+  }
1969
+  /* Spacing */
1970
+  .p-0-md {
1971
+    padding: 0rem !important;
1972
+  }
1973
+  .pt-0-md,
1974
+  .py-0-md {
1975
+    padding-top: 0rem !important;
1976
+  }
1977
+  .pb-0-md,
1978
+  .py-0-md {
1979
+    padding-bottom: 0rem !important;
1980
+  }
1981
+  .pl-0-md,
1982
+  .px-0-md {
1983
+    padding-left: 0rem !important;
1984
+  }
1985
+  .pr-0-md,
1986
+  .px-0-md {
1987
+    padding-right: 0rem !important;
1988
+  }
1989
+  .ml-auto-md,
1990
+  .mx-auto-md {
1991
+    margin-left: auto !important;
1992
+  }
1993
+  .mr-auto-md,
1994
+  .mx-auto-md {
1995
+    margin-right: auto !important;
1996
+  }
1997
+  .mt-auto-md,
1998
+  .my-auto-md {
1999
+    margin-top: auto !important;
2000
+  }
2001
+  .mb-auto-md,
2002
+  .my-auto-md {
2003
+    margin-bottom: auto !important;
2004
+  }
2005
+}
2006
+@media screen and (min-width: 768px) {
2007
+  /* Margin */
2008
+  .m-1-md {
2009
+    margin: 0.5rem !important;
2010
+  }
2011
+  .mt-1-md,
2012
+  .my-1-md {
2013
+    margin-top: 0.5rem !important;
2014
+  }
2015
+  .mb-1-md,
2016
+  .my-1-md {
2017
+    margin-bottom: 0.5rem !important;
2018
+  }
2019
+  .ml-1-md,
2020
+  .mx-1-md {
2021
+    margin-left: 0.5rem !important;
2022
+  }
2023
+  .mr-1-md,
2024
+  .mx-1-md {
2025
+    margin-right: 0.5rem !important;
2026
+  }
2027
+  /* Spacing */
2028
+  .p-1-md {
2029
+    padding: 0.5rem !important;
2030
+  }
2031
+  .pt-1-md,
2032
+  .py-1-md {
2033
+    padding-top: 0.5rem !important;
2034
+  }
2035
+  .pb-1-md,
2036
+  .py-1-md {
2037
+    padding-bottom: 0.5rem !important;
2038
+  }
2039
+  .pl-1-md,
2040
+  .px-1-md {
2041
+    padding-left: 0.5rem !important;
2042
+  }
2043
+  .pr-1-md,
2044
+  .px-1-md {
2045
+    padding-right: 0.5rem !important;
2046
+  }
2047
+  .ml-auto-md,
2048
+  .mx-auto-md {
2049
+    margin-left: auto !important;
2050
+  }
2051
+  .mr-auto-md,
2052
+  .mx-auto-md {
2053
+    margin-right: auto !important;
2054
+  }
2055
+  .mt-auto-md,
2056
+  .my-auto-md {
2057
+    margin-top: auto !important;
2058
+  }
2059
+  .mb-auto-md,
2060
+  .my-auto-md {
2061
+    margin-bottom: auto !important;
2062
+  }
2063
+}
2064
+@media screen and (min-width: 768px) {
2065
+  /* Margin */
2066
+  .m-2-md {
2067
+    margin: 1rem !important;
2068
+  }
2069
+  .mt-2-md,
2070
+  .my-2-md {
2071
+    margin-top: 1rem !important;
2072
+  }
2073
+  .mb-2-md,
2074
+  .my-2-md {
2075
+    margin-bottom: 1rem !important;
2076
+  }
2077
+  .ml-2-md,
2078
+  .mx-2-md {
2079
+    margin-left: 1rem !important;
2080
+  }
2081
+  .mr-2-md,
2082
+  .mx-2-md {
2083
+    margin-right: 1rem !important;
2084
+  }
2085
+  /* Spacing */
2086
+  .p-2-md {
2087
+    padding: 1rem !important;
2088
+  }
2089
+  .pt-2-md,
2090
+  .py-2-md {
2091
+    padding-top: 1rem !important;
2092
+  }
2093
+  .pb-2-md,
2094
+  .py-2-md {
2095
+    padding-bottom: 1rem !important;
2096
+  }
2097
+  .pl-2-md,
2098
+  .px-2-md {
2099
+    padding-left: 1rem !important;
2100
+  }
2101
+  .pr-2-md,
2102
+  .px-2-md {
2103
+    padding-right: 1rem !important;
2104
+  }
2105
+  .ml-auto-md,
2106
+  .mx-auto-md {
2107
+    margin-left: auto !important;
2108
+  }
2109
+  .mr-auto-md,
2110
+  .mx-auto-md {
2111
+    margin-right: auto !important;
2112
+  }
2113
+  .mt-auto-md,
2114
+  .my-auto-md {
2115
+    margin-top: auto !important;
2116
+  }
2117
+  .mb-auto-md,
2118
+  .my-auto-md {
2119
+    margin-bottom: auto !important;
2120
+  }
2121
+}
2122
+@media screen and (min-width: 768px) {
2123
+  /* Margin */
2124
+  .m-3-md {
2125
+    margin: 1.5rem !important;
2126
+  }
2127
+  .mt-3-md,
2128
+  .my-3-md {
2129
+    margin-top: 1.5rem !important;
2130
+  }
2131
+  .mb-3-md,
2132
+  .my-3-md {
2133
+    margin-bottom: 1.5rem !important;
2134
+  }
2135
+  .ml-3-md,
2136
+  .mx-3-md {
2137
+    margin-left: 1.5rem !important;
2138
+  }
2139
+  .mr-3-md,
2140
+  .mx-3-md {
2141
+    margin-right: 1.5rem !important;
2142
+  }
2143
+  /* Spacing */
2144
+  .p-3-md {
2145
+    padding: 1.5rem !important;
2146
+  }
2147
+  .pt-3-md,
2148
+  .py-3-md {
2149
+    padding-top: 1.5rem !important;
2150
+  }
2151
+  .pb-3-md,
2152
+  .py-3-md {
2153
+    padding-bottom: 1.5rem !important;
2154
+  }
2155
+  .pl-3-md,
2156
+  .px-3-md {
2157
+    padding-left: 1.5rem !important;
2158
+  }
2159
+  .pr-3-md,
2160
+  .px-3-md {
2161
+    padding-right: 1.5rem !important;
2162
+  }
2163
+  .ml-auto-md,
2164
+  .mx-auto-md {
2165
+    margin-left: auto !important;
2166
+  }
2167
+  .mr-auto-md,
2168
+  .mx-auto-md {
2169
+    margin-right: auto !important;
2170
+  }
2171
+  .mt-auto-md,
2172
+  .my-auto-md {
2173
+    margin-top: auto !important;
2174
+  }
2175
+  .mb-auto-md,
2176
+  .my-auto-md {
2177
+    margin-bottom: auto !important;
2178
+  }
2179
+}
2180
+@media screen and (min-width: 768px) {
2181
+  /* Margin */
2182
+  .m-4-md {
2183
+    margin: 2rem !important;
2184
+  }
2185
+  .mt-4-md,
2186
+  .my-4-md {
2187
+    margin-top: 2rem !important;
2188
+  }
2189
+  .mb-4-md,
2190
+  .my-4-md {
2191
+    margin-bottom: 2rem !important;
2192
+  }
2193
+  .ml-4-md,
2194
+  .mx-4-md {
2195
+    margin-left: 2rem !important;
2196
+  }
2197
+  .mr-4-md,
2198
+  .mx-4-md {
2199
+    margin-right: 2rem !important;
2200
+  }
2201
+  /* Spacing */
2202
+  .p-4-md {
2203
+    padding: 2rem !important;
2204
+  }
2205
+  .pt-4-md,
2206
+  .py-4-md {
2207
+    padding-top: 2rem !important;
2208
+  }
2209
+  .pb-4-md,
2210
+  .py-4-md {
2211
+    padding-bottom: 2rem !important;
2212
+  }
2213
+  .pl-4-md,
2214
+  .px-4-md {
2215
+    padding-left: 2rem !important;
2216
+  }
2217
+  .pr-4-md,
2218
+  .px-4-md {
2219
+    padding-right: 2rem !important;
2220
+  }
2221
+  .ml-auto-md,
2222
+  .mx-auto-md {
2223
+    margin-left: auto !important;
2224
+  }
2225
+  .mr-auto-md,
2226
+  .mx-auto-md {
2227
+    margin-right: auto !important;
2228
+  }
2229
+  .mt-auto-md,
2230
+  .my-auto-md {
2231
+    margin-top: auto !important;
2232
+  }
2233
+  .mb-auto-md,
2234
+  .my-auto-md {
2235
+    margin-bottom: auto !important;
2236
+  }
2237
+}
2238
+@media screen and (min-width: 768px) {
2239
+  /* Margin */
2240
+  .m-5-md {
2241
+    margin: 2.5rem !important;
2242
+  }
2243
+  .mt-5-md,
2244
+  .my-5-md {
2245
+    margin-top: 2.5rem !important;
2246
+  }
2247
+  .mb-5-md,
2248
+  .my-5-md {
2249
+    margin-bottom: 2.5rem !important;
2250
+  }
2251
+  .ml-5-md,
2252
+  .mx-5-md {
2253
+    margin-left: 2.5rem !important;
2254
+  }
2255
+  .mr-5-md,
2256
+  .mx-5-md {
2257
+    margin-right: 2.5rem !important;
2258
+  }
2259
+  /* Spacing */
2260
+  .p-5-md {
2261
+    padding: 2.5rem !important;
2262
+  }
2263
+  .pt-5-md,
2264
+  .py-5-md {
2265
+    padding-top: 2.5rem !important;
2266
+  }
2267
+  .pb-5-md,
2268
+  .py-5-md {
2269
+    padding-bottom: 2.5rem !important;
2270
+  }
2271
+  .pl-5-md,
2272
+  .px-5-md {
2273
+    padding-left: 2.5rem !important;
2274
+  }
2275
+  .pr-5-md,
2276
+  .px-5-md {
2277
+    padding-right: 2.5rem !important;
2278
+  }
2279
+  .ml-auto-md,
2280
+  .mx-auto-md {
2281
+    margin-left: auto !important;
2282
+  }
2283
+  .mr-auto-md,
2284
+  .mx-auto-md {
2285
+    margin-right: auto !important;
2286
+  }
2287
+  .mt-auto-md,
2288
+  .my-auto-md {
2289
+    margin-top: auto !important;
2290
+  }
2291
+  .mb-auto-md,
2292
+  .my-auto-md {
2293
+    margin-bottom: auto !important;
2294
+  }
2295
+}
2296
+@media screen and (min-width: 768px) {
2297
+  /* Margin */
2298
+  .m-6-md {
2299
+    margin: 3rem !important;
2300
+  }
2301
+  .mt-6-md,
2302
+  .my-6-md {
2303
+    margin-top: 3rem !important;
2304
+  }
2305
+  .mb-6-md,
2306
+  .my-6-md {
2307
+    margin-bottom: 3rem !important;
2308
+  }
2309
+  .ml-6-md,
2310
+  .mx-6-md {
2311
+    margin-left: 3rem !important;
2312
+  }
2313
+  .mr-6-md,
2314
+  .mx-6-md {
2315
+    margin-right: 3rem !important;
2316
+  }
2317
+  /* Spacing */
2318
+  .p-6-md {
2319
+    padding: 3rem !important;
2320
+  }
2321
+  .pt-6-md,
2322
+  .py-6-md {
2323
+    padding-top: 3rem !important;
2324
+  }
2325
+  .pb-6-md,
2326
+  .py-6-md {
2327
+    padding-bottom: 3rem !important;
2328
+  }
2329
+  .pl-6-md,
2330
+  .px-6-md {
2331
+    padding-left: 3rem !important;
2332
+  }
2333
+  .pr-6-md,
2334
+  .px-6-md {
2335
+    padding-right: 3rem !important;
2336
+  }
2337
+  .ml-auto-md,
2338
+  .mx-auto-md {
2339
+    margin-left: auto !important;
2340
+  }
2341
+  .mr-auto-md,
2342
+  .mx-auto-md {
2343
+    margin-right: auto !important;
2344
+  }
2345
+  .mt-auto-md,
2346
+  .my-auto-md {
2347
+    margin-top: auto !important;
2348
+  }
2349
+  .mb-auto-md,
2350
+  .my-auto-md {
2351
+    margin-bottom: auto !important;
2352
+  }
2353
+}
2354
+@media screen and (min-width: 768px) {
2355
+  /* Margin */
2356
+  .m-8-md {
2357
+    margin: 4rem !important;
2358
+  }
2359
+  .mt-8-md,
2360
+  .my-8-md {
2361
+    margin-top: 4rem !important;
2362
+  }
2363
+  .mb-8-md,
2364
+  .my-8-md {
2365
+    margin-bottom: 4rem !important;
2366
+  }
2367
+  .ml-8-md,
2368
+  .mx-8-md {
2369
+    margin-left: 4rem !important;
2370
+  }
2371
+  .mr-8-md,
2372
+  .mx-8-md {
2373
+    margin-right: 4rem !important;
2374
+  }
2375
+  /* Spacing */
2376
+  .p-8-md {
2377
+    padding: 4rem !important;
2378
+  }
2379
+  .pt-8-md,
2380
+  .py-8-md {
2381
+    padding-top: 4rem !important;
2382
+  }
2383
+  .pb-8-md,
2384
+  .py-8-md {
2385
+    padding-bottom: 4rem !important;
2386
+  }
2387
+  .pl-8-md,
2388
+  .px-8-md {
2389
+    padding-left: 4rem !important;
2390
+  }
2391
+  .pr-8-md,
2392
+  .px-8-md {
2393
+    padding-right: 4rem !important;
2394
+  }
2395
+  .ml-auto-md,
2396
+  .mx-auto-md {
2397
+    margin-left: auto !important;
2398
+  }
2399
+  .mr-auto-md,
2400
+  .mx-auto-md {
2401
+    margin-right: auto !important;
2402
+  }
2403
+  .mt-auto-md,
2404
+  .my-auto-md {
2405
+    margin-top: auto !important;
2406
+  }
2407
+  .mb-auto-md,
2408
+  .my-auto-md {
2409
+    margin-bottom: auto !important;
2410
+  }
2411
+}
2412
+@media screen and (min-width: 768px) {
2413
+  /* Margin */
2414
+  .m-10-md {
2415
+    margin: 5rem !important;
2416
+  }
2417
+  .mt-10-md,
2418
+  .my-10-md {
2419
+    margin-top: 5rem !important;
2420
+  }
2421
+  .mb-10-md,
2422
+  .my-10-md {
2423
+    margin-bottom: 5rem !important;
2424
+  }
2425
+  .ml-10-md,
2426
+  .mx-10-md {
2427
+    margin-left: 5rem !important;
2428
+  }
2429
+  .mr-10-md,
2430
+  .mx-10-md {
2431
+    margin-right: 5rem !important;
2432
+  }
2433
+  /* Spacing */
2434
+  .p-10-md {
2435
+    padding: 5rem !important;
2436
+  }
2437
+  .pt-10-md,
2438
+  .py-10-md {
2439
+    padding-top: 5rem !important;
2440
+  }
2441
+  .pb-10-md,
2442
+  .py-10-md {
2443
+    padding-bottom: 5rem !important;
2444
+  }
2445
+  .pl-10-md,
2446
+  .px-10-md {
2447
+    padding-left: 5rem !important;
2448
+  }
2449
+  .pr-10-md,
2450
+  .px-10-md {
2451
+    padding-right: 5rem !important;
2452
+  }
2453
+  .ml-auto-md,
2454
+  .mx-auto-md {
2455
+    margin-left: auto !important;
2456
+  }
2457
+  .mr-auto-md,
2458
+  .mx-auto-md {
2459
+    margin-right: auto !important;
2460
+  }
2461
+  .mt-auto-md,
2462
+  .my-auto-md {
2463
+    margin-top: auto !important;
2464
+  }
2465
+  .mb-auto-md,
2466
+  .my-auto-md {
2467
+    margin-bottom: auto !important;
2468
+  }
2469
+}
2470
+@media screen and (min-width: 768px) {
2471
+  /* Margin */
2472
+  .m-12-md {
2473
+    margin: 6rem !important;
2474
+  }
2475
+  .mt-12-md,
2476
+  .my-12-md {
2477
+    margin-top: 6rem !important;
2478
+  }
2479
+  .mb-12-md,
2480
+  .my-12-md {
2481
+    margin-bottom: 6rem !important;
2482
+  }
2483
+  .ml-12-md,
2484
+  .mx-12-md {
2485
+    margin-left: 6rem !important;
2486
+  }
2487
+  .mr-12-md,
2488
+  .mx-12-md {
2489
+    margin-right: 6rem !important;
2490
+  }
2491
+  /* Spacing */
2492
+  .p-12-md {
2493
+    padding: 6rem !important;
2494
+  }
2495
+  .pt-12-md,
2496
+  .py-12-md {
2497
+    padding-top: 6rem !important;
2498
+  }
2499
+  .pb-12-md,
2500
+  .py-12-md {
2501
+    padding-bottom: 6rem !important;
2502
+  }
2503
+  .pl-12-md,
2504
+  .px-12-md {
2505
+    padding-left: 6rem !important;
2506
+  }
2507
+  .pr-12-md,
2508
+  .px-12-md {
2509
+    padding-right: 6rem !important;
2510
+  }
2511
+  .ml-auto-md,
2512
+  .mx-auto-md {
2513
+    margin-left: auto !important;
2514
+  }
2515
+  .mr-auto-md,
2516
+  .mx-auto-md {
2517
+    margin-right: auto !important;
2518
+  }
2519
+  .mt-auto-md,
2520
+  .my-auto-md {
2521
+    margin-top: auto !important;
2522
+  }
2523
+  .mb-auto-md,
2524
+  .my-auto-md {
2525
+    margin-bottom: auto !important;
2526
+  }
2527
+}
2528
+@media screen and (min-width: 768px) {
2529
+  /* Margin */
2530
+  .m-16-md {
2531
+    margin: 8rem !important;
2532
+  }
2533
+  .mt-16-md,
2534
+  .my-16-md {
2535
+    margin-top: 8rem !important;
2536
+  }
2537
+  .mb-16-md,
2538
+  .my-16-md {
2539
+    margin-bottom: 8rem !important;
2540
+  }
2541
+  .ml-16-md,
2542
+  .mx-16-md {
2543
+    margin-left: 8rem !important;
2544
+  }
2545
+  .mr-16-md,
2546
+  .mx-16-md {
2547
+    margin-right: 8rem !important;
2548
+  }
2549
+  /* Spacing */
2550
+  .p-16-md {
2551
+    padding: 8rem !important;
2552
+  }
2553
+  .pt-16-md,
2554
+  .py-16-md {
2555
+    padding-top: 8rem !important;
2556
+  }
2557
+  .pb-16-md,
2558
+  .py-16-md {
2559
+    padding-bottom: 8rem !important;
2560
+  }
2561
+  .pl-16-md,
2562
+  .px-16-md {
2563
+    padding-left: 8rem !important;
2564
+  }
2565
+  .pr-16-md,
2566
+  .px-16-md {
2567
+    padding-right: 8rem !important;
2568
+  }
2569
+  .ml-auto-md,
2570
+  .mx-auto-md {
2571
+    margin-left: auto !important;
2572
+  }
2573
+  .mr-auto-md,
2574
+  .mx-auto-md {
2575
+    margin-right: auto !important;
2576
+  }
2577
+  .mt-auto-md,
2578
+  .my-auto-md {
2579
+    margin-top: auto !important;
2580
+  }
2581
+  .mb-auto-md,
2582
+  .my-auto-md {
2583
+    margin-bottom: auto !important;
2584
+  }
2585
+}
2586
+@media screen and (min-width: 768px) {
2587
+  /* Margin */
2588
+  .m-20-md {
2589
+    margin: 10rem !important;
2590
+  }
2591
+  .mt-20-md,
2592
+  .my-20-md {
2593
+    margin-top: 10rem !important;
2594
+  }
2595
+  .mb-20-md,
2596
+  .my-20-md {
2597
+    margin-bottom: 10rem !important;
2598
+  }
2599
+  .ml-20-md,
2600
+  .mx-20-md {
2601
+    margin-left: 10rem !important;
2602
+  }
2603
+  .mr-20-md,
2604
+  .mx-20-md {
2605
+    margin-right: 10rem !important;
2606
+  }
2607
+  /* Spacing */
2608
+  .p-20-md {
2609
+    padding: 10rem !important;
2610
+  }
2611
+  .pt-20-md,
2612
+  .py-20-md {
2613
+    padding-top: 10rem !important;
2614
+  }
2615
+  .pb-20-md,
2616
+  .py-20-md {
2617
+    padding-bottom: 10rem !important;
2618
+  }
2619
+  .pl-20-md,
2620
+  .px-20-md {
2621
+    padding-left: 10rem !important;
2622
+  }
2623
+  .pr-20-md,
2624
+  .px-20-md {
2625
+    padding-right: 10rem !important;
2626
+  }
2627
+  .ml-auto-md,
2628
+  .mx-auto-md {
2629
+    margin-left: auto !important;
2630
+  }
2631
+  .mr-auto-md,
2632
+  .mx-auto-md {
2633
+    margin-right: auto !important;
2634
+  }
2635
+  .mt-auto-md,
2636
+  .my-auto-md {
2637
+    margin-top: auto !important;
2638
+  }
2639
+  .mb-auto-md,
2640
+  .my-auto-md {
2641
+    margin-bottom: auto !important;
2642
+  }
2643
+}
2644
+@media screen and (min-width: 768px) {
2645
+  /* Margin */
2646
+  .m-24-md {
2647
+    margin: 12rem !important;
2648
+  }
2649
+  .mt-24-md,
2650
+  .my-24-md {
2651
+    margin-top: 12rem !important;
2652
+  }
2653
+  .mb-24-md,
2654
+  .my-24-md {
2655
+    margin-bottom: 12rem !important;
2656
+  }
2657
+  .ml-24-md,
2658
+  .mx-24-md {
2659
+    margin-left: 12rem !important;
2660
+  }
2661
+  .mr-24-md,
2662
+  .mx-24-md {
2663
+    margin-right: 12rem !important;
2664
+  }
2665
+  /* Spacing */
2666
+  .p-24-md {
2667
+    padding: 12rem !important;
2668
+  }
2669
+  .pt-24-md,
2670
+  .py-24-md {
2671
+    padding-top: 12rem !important;
2672
+  }
2673
+  .pb-24-md,
2674
+  .py-24-md {
2675
+    padding-bottom: 12rem !important;
2676
+  }
2677
+  .pl-24-md,
2678
+  .px-24-md {
2679
+    padding-left: 12rem !important;
2680
+  }
2681
+  .pr-24-md,
2682
+  .px-24-md {
2683
+    padding-right: 12rem !important;
2684
+  }
2685
+  .ml-auto-md,
2686
+  .mx-auto-md {
2687
+    margin-left: auto !important;
2688
+  }
2689
+  .mr-auto-md,
2690
+  .mx-auto-md {
2691
+    margin-right: auto !important;
2692
+  }
2693
+  .mt-auto-md,
2694
+  .my-auto-md {
2695
+    margin-top: auto !important;
2696
+  }
2697
+  .mb-auto-md,
2698
+  .my-auto-md {
2699
+    margin-bottom: auto !important;
2700
+  }
2701
+}
2702
+@media screen and (min-width: 768px) {
2703
+  /* Margin */
2704
+  .m-32-md {
2705
+    margin: 16rem !important;
2706
+  }
2707
+  .mt-32-md,
2708
+  .my-32-md {
2709
+    margin-top: 16rem !important;
2710
+  }
2711
+  .mb-32-md,
2712
+  .my-32-md {
2713
+    margin-bottom: 16rem !important;
2714
+  }
2715
+  .ml-32-md,
2716
+  .mx-32-md {
2717
+    margin-left: 16rem !important;
2718
+  }
2719
+  .mr-32-md,
2720
+  .mx-32-md {
2721
+    margin-right: 16rem !important;
2722
+  }
2723
+  /* Spacing */
2724
+  .p-32-md {
2725
+    padding: 16rem !important;
2726
+  }
2727
+  .pt-32-md,
2728
+  .py-32-md {
2729
+    padding-top: 16rem !important;
2730
+  }
2731
+  .pb-32-md,
2732
+  .py-32-md {
2733
+    padding-bottom: 16rem !important;
2734
+  }
2735
+  .pl-32-md,
2736
+  .px-32-md {
2737
+    padding-left: 16rem !important;
2738
+  }
2739
+  .pr-32-md,
2740
+  .px-32-md {
2741
+    padding-right: 16rem !important;
2742
+  }
2743
+  .ml-auto-md,
2744
+  .mx-auto-md {
2745
+    margin-left: auto !important;
2746
+  }
2747
+  .mr-auto-md,
2748
+  .mx-auto-md {
2749
+    margin-right: auto !important;
2750
+  }
2751
+  .mt-auto-md,
2752
+  .my-auto-md {
2753
+    margin-top: auto !important;
2754
+  }
2755
+  .mb-auto-md,
2756
+  .my-auto-md {
2757
+    margin-bottom: auto !important;
2758
+  }
2759
+}
2760
+@media screen and (min-width: 1024px) {
2761
+  /* Margin */
2762
+  .m-0-lg {
2763
+    margin: 0rem !important;
2764
+  }
2765
+  .mt-0-lg,
2766
+  .my-0-lg {
2767
+    margin-top: 0rem !important;
2768
+  }
2769
+  .mb-0-lg,
2770
+  .my-0-lg {
2771
+    margin-bottom: 0rem !important;
2772
+  }
2773
+  .ml-0-lg,
2774
+  .mx-0-lg {
2775
+    margin-left: 0rem !important;
2776
+  }
2777
+  .mr-0-lg,
2778
+  .mx-0-lg {
2779
+    margin-right: 0rem !important;
2780
+  }
2781
+  /* Spacing */
2782
+  .p-0-lg {
2783
+    padding: 0rem !important;
2784
+  }
2785
+  .pt-0-lg,
2786
+  .py-0-lg {
2787
+    padding-top: 0rem !important;
2788
+  }
2789
+  .pb-0-lg,
2790
+  .py-0-lg {
2791
+    padding-bottom: 0rem !important;
2792
+  }
2793
+  .pl-0-lg,
2794
+  .px-0-lg {
2795
+    padding-left: 0rem !important;
2796
+  }
2797
+  .pr-0-lg,
2798
+  .px-0-lg {
2799
+    padding-right: 0rem !important;
2800
+  }
2801
+  .ml-auto-lg,
2802
+  .mx-auto-lg {
2803
+    margin-left: auto !important;
2804
+  }
2805
+  .mr-auto-lg,
2806
+  .mx-auto-lg {
2807
+    margin-right: auto !important;
2808
+  }
2809
+  .mt-auto-lg,
2810
+  .my-auto-lg {
2811
+    margin-top: auto !important;
2812
+  }
2813
+  .mb-auto-lg,
2814
+  .my-auto-lg {
2815
+    margin-bottom: auto !important;
2816
+  }
2817
+}
2818
+@media screen and (min-width: 1024px) {
2819
+  /* Margin */
2820
+  .m-1-lg {
2821
+    margin: 0.5rem !important;
2822
+  }
2823
+  .mt-1-lg,
2824
+  .my-1-lg {
2825
+    margin-top: 0.5rem !important;
2826
+  }
2827
+  .mb-1-lg,
2828
+  .my-1-lg {
2829
+    margin-bottom: 0.5rem !important;
2830
+  }
2831
+  .ml-1-lg,
2832
+  .mx-1-lg {
2833
+    margin-left: 0.5rem !important;
2834
+  }
2835
+  .mr-1-lg,
2836
+  .mx-1-lg {
2837
+    margin-right: 0.5rem !important;
2838
+  }
2839
+  /* Spacing */
2840
+  .p-1-lg {
2841
+    padding: 0.5rem !important;
2842
+  }
2843
+  .pt-1-lg,
2844
+  .py-1-lg {
2845
+    padding-top: 0.5rem !important;
2846
+  }
2847
+  .pb-1-lg,
2848
+  .py-1-lg {
2849
+    padding-bottom: 0.5rem !important;
2850
+  }
2851
+  .pl-1-lg,
2852
+  .px-1-lg {
2853
+    padding-left: 0.5rem !important;
2854
+  }
2855
+  .pr-1-lg,
2856
+  .px-1-lg {
2857
+    padding-right: 0.5rem !important;
2858
+  }
2859
+  .ml-auto-lg,
2860
+  .mx-auto-lg {
2861
+    margin-left: auto !important;
2862
+  }
2863
+  .mr-auto-lg,
2864
+  .mx-auto-lg {
2865
+    margin-right: auto !important;
2866
+  }
2867
+  .mt-auto-lg,
2868
+  .my-auto-lg {
2869
+    margin-top: auto !important;
2870
+  }
2871
+  .mb-auto-lg,
2872
+  .my-auto-lg {
2873
+    margin-bottom: auto !important;
2874
+  }
2875
+}
2876
+@media screen and (min-width: 1024px) {
2877
+  /* Margin */
2878
+  .m-2-lg {
2879
+    margin: 1rem !important;
2880
+  }
2881
+  .mt-2-lg,
2882
+  .my-2-lg {
2883
+    margin-top: 1rem !important;
2884
+  }
2885
+  .mb-2-lg,
2886
+  .my-2-lg {
2887
+    margin-bottom: 1rem !important;
2888
+  }
2889
+  .ml-2-lg,
2890
+  .mx-2-lg {
2891
+    margin-left: 1rem !important;
2892
+  }
2893
+  .mr-2-lg,
2894
+  .mx-2-lg {
2895
+    margin-right: 1rem !important;
2896
+  }
2897
+  /* Spacing */
2898
+  .p-2-lg {
2899
+    padding: 1rem !important;
2900
+  }
2901
+  .pt-2-lg,
2902
+  .py-2-lg {
2903
+    padding-top: 1rem !important;
2904
+  }
2905
+  .pb-2-lg,
2906
+  .py-2-lg {
2907
+    padding-bottom: 1rem !important;
2908
+  }
2909
+  .pl-2-lg,
2910
+  .px-2-lg {
2911
+    padding-left: 1rem !important;
2912
+  }
2913
+  .pr-2-lg,
2914
+  .px-2-lg {
2915
+    padding-right: 1rem !important;
2916
+  }
2917
+  .ml-auto-lg,
2918
+  .mx-auto-lg {
2919
+    margin-left: auto !important;
2920
+  }
2921
+  .mr-auto-lg,
2922
+  .mx-auto-lg {
2923
+    margin-right: auto !important;
2924
+  }
2925
+  .mt-auto-lg,
2926
+  .my-auto-lg {
2927
+    margin-top: auto !important;
2928
+  }
2929
+  .mb-auto-lg,
2930
+  .my-auto-lg {
2931
+    margin-bottom: auto !important;
2932
+  }
2933
+}
2934
+@media screen and (min-width: 1024px) {
2935
+  /* Margin */
2936
+  .m-3-lg {
2937
+    margin: 1.5rem !important;
2938
+  }
2939
+  .mt-3-lg,
2940
+  .my-3-lg {
2941
+    margin-top: 1.5rem !important;
2942
+  }
2943
+  .mb-3-lg,
2944
+  .my-3-lg {
2945
+    margin-bottom: 1.5rem !important;
2946
+  }
2947
+  .ml-3-lg,
2948
+  .mx-3-lg {
2949
+    margin-left: 1.5rem !important;
2950
+  }
2951
+  .mr-3-lg,
2952
+  .mx-3-lg {
2953
+    margin-right: 1.5rem !important;
2954
+  }
2955
+  /* Spacing */
2956
+  .p-3-lg {
2957
+    padding: 1.5rem !important;
2958
+  }
2959
+  .pt-3-lg,
2960
+  .py-3-lg {
2961
+    padding-top: 1.5rem !important;
2962
+  }
2963
+  .pb-3-lg,
2964
+  .py-3-lg {
2965
+    padding-bottom: 1.5rem !important;
2966
+  }
2967
+  .pl-3-lg,
2968
+  .px-3-lg {
2969
+    padding-left: 1.5rem !important;
2970
+  }
2971
+  .pr-3-lg,
2972
+  .px-3-lg {
2973
+    padding-right: 1.5rem !important;
2974
+  }
2975
+  .ml-auto-lg,
2976
+  .mx-auto-lg {
2977
+    margin-left: auto !important;
2978
+  }
2979
+  .mr-auto-lg,
2980
+  .mx-auto-lg {
2981
+    margin-right: auto !important;
2982
+  }
2983
+  .mt-auto-lg,
2984
+  .my-auto-lg {
2985
+    margin-top: auto !important;
2986
+  }
2987
+  .mb-auto-lg,
2988
+  .my-auto-lg {
2989
+    margin-bottom: auto !important;
2990
+  }
2991
+}
2992
+@media screen and (min-width: 1024px) {
2993
+  /* Margin */
2994
+  .m-4-lg {
2995
+    margin: 2rem !important;
2996
+  }
2997
+  .mt-4-lg,
2998
+  .my-4-lg {
2999
+    margin-top: 2rem !important;
3000
+  }
3001
+  .mb-4-lg,
3002
+  .my-4-lg {
3003
+    margin-bottom: 2rem !important;
3004
+  }
3005
+  .ml-4-lg,
3006
+  .mx-4-lg {
3007
+    margin-left: 2rem !important;
3008
+  }
3009
+  .mr-4-lg,
3010
+  .mx-4-lg {
3011
+    margin-right: 2rem !important;
3012
+  }
3013
+  /* Spacing */
3014
+  .p-4-lg {
3015
+    padding: 2rem !important;
3016
+  }
3017
+  .pt-4-lg,
3018
+  .py-4-lg {
3019
+    padding-top: 2rem !important;
3020
+  }
3021
+  .pb-4-lg,
3022
+  .py-4-lg {
3023
+    padding-bottom: 2rem !important;
3024
+  }
3025
+  .pl-4-lg,
3026
+  .px-4-lg {
3027
+    padding-left: 2rem !important;
3028
+  }
3029
+  .pr-4-lg,
3030
+  .px-4-lg {
3031
+    padding-right: 2rem !important;
3032
+  }
3033
+  .ml-auto-lg,
3034
+  .mx-auto-lg {
3035
+    margin-left: auto !important;
3036
+  }
3037
+  .mr-auto-lg,
3038
+  .mx-auto-lg {
3039
+    margin-right: auto !important;
3040
+  }
3041
+  .mt-auto-lg,
3042
+  .my-auto-lg {
3043
+    margin-top: auto !important;
3044
+  }
3045
+  .mb-auto-lg,
3046
+  .my-auto-lg {
3047
+    margin-bottom: auto !important;
3048
+  }
3049
+}
3050
+@media screen and (min-width: 1024px) {
3051
+  /* Margin */
3052
+  .m-5-lg {
3053
+    margin: 2.5rem !important;
3054
+  }
3055
+  .mt-5-lg,
3056
+  .my-5-lg {
3057
+    margin-top: 2.5rem !important;
3058
+  }
3059
+  .mb-5-lg,
3060
+  .my-5-lg {
3061
+    margin-bottom: 2.5rem !important;
3062
+  }
3063
+  .ml-5-lg,
3064
+  .mx-5-lg {
3065
+    margin-left: 2.5rem !important;
3066
+  }
3067
+  .mr-5-lg,
3068
+  .mx-5-lg {
3069
+    margin-right: 2.5rem !important;
3070
+  }
3071
+  /* Spacing */
3072
+  .p-5-lg {
3073
+    padding: 2.5rem !important;
3074
+  }
3075
+  .pt-5-lg,
3076
+  .py-5-lg {
3077
+    padding-top: 2.5rem !important;
3078
+  }
3079
+  .pb-5-lg,
3080
+  .py-5-lg {
3081
+    padding-bottom: 2.5rem !important;
3082
+  }
3083
+  .pl-5-lg,
3084
+  .px-5-lg {
3085
+    padding-left: 2.5rem !important;
3086
+  }
3087
+  .pr-5-lg,
3088
+  .px-5-lg {
3089
+    padding-right: 2.5rem !important;
3090
+  }
3091
+  .ml-auto-lg,
3092
+  .mx-auto-lg {
3093
+    margin-left: auto !important;
3094
+  }
3095
+  .mr-auto-lg,
3096
+  .mx-auto-lg {
3097
+    margin-right: auto !important;
3098
+  }
3099
+  .mt-auto-lg,
3100
+  .my-auto-lg {
3101
+    margin-top: auto !important;
3102
+  }
3103
+  .mb-auto-lg,
3104
+  .my-auto-lg {
3105
+    margin-bottom: auto !important;
3106
+  }
3107
+}
3108
+@media screen and (min-width: 1024px) {
3109
+  /* Margin */
3110
+  .m-6-lg {
3111
+    margin: 3rem !important;
3112
+  }
3113
+  .mt-6-lg,
3114
+  .my-6-lg {
3115
+    margin-top: 3rem !important;
3116
+  }
3117
+  .mb-6-lg,
3118
+  .my-6-lg {
3119
+    margin-bottom: 3rem !important;
3120
+  }
3121
+  .ml-6-lg,
3122
+  .mx-6-lg {
3123
+    margin-left: 3rem !important;
3124
+  }
3125
+  .mr-6-lg,
3126
+  .mx-6-lg {
3127
+    margin-right: 3rem !important;
3128
+  }
3129
+  /* Spacing */
3130
+  .p-6-lg {
3131
+    padding: 3rem !important;
3132
+  }
3133
+  .pt-6-lg,
3134
+  .py-6-lg {
3135
+    padding-top: 3rem !important;
3136
+  }
3137
+  .pb-6-lg,
3138
+  .py-6-lg {
3139
+    padding-bottom: 3rem !important;
3140
+  }
3141
+  .pl-6-lg,
3142
+  .px-6-lg {
3143
+    padding-left: 3rem !important;
3144
+  }
3145
+  .pr-6-lg,
3146
+  .px-6-lg {
3147
+    padding-right: 3rem !important;
3148
+  }
3149
+  .ml-auto-lg,
3150
+  .mx-auto-lg {
3151
+    margin-left: auto !important;
3152
+  }
3153
+  .mr-auto-lg,
3154
+  .mx-auto-lg {
3155
+    margin-right: auto !important;
3156
+  }
3157
+  .mt-auto-lg,
3158
+  .my-auto-lg {
3159
+    margin-top: auto !important;
3160
+  }
3161
+  .mb-auto-lg,
3162
+  .my-auto-lg {
3163
+    margin-bottom: auto !important;
3164
+  }
3165
+}
3166
+@media screen and (min-width: 1024px) {
3167
+  /* Margin */
3168
+  .m-8-lg {
3169
+    margin: 4rem !important;
3170
+  }
3171
+  .mt-8-lg,
3172
+  .my-8-lg {
3173
+    margin-top: 4rem !important;
3174
+  }
3175
+  .mb-8-lg,
3176
+  .my-8-lg {
3177
+    margin-bottom: 4rem !important;
3178
+  }
3179
+  .ml-8-lg,
3180
+  .mx-8-lg {
3181
+    margin-left: 4rem !important;
3182
+  }
3183
+  .mr-8-lg,
3184
+  .mx-8-lg {
3185
+    margin-right: 4rem !important;
3186
+  }
3187
+  /* Spacing */
3188
+  .p-8-lg {
3189
+    padding: 4rem !important;
3190
+  }
3191
+  .pt-8-lg,
3192
+  .py-8-lg {
3193
+    padding-top: 4rem !important;
3194
+  }
3195
+  .pb-8-lg,
3196
+  .py-8-lg {
3197
+    padding-bottom: 4rem !important;
3198
+  }
3199
+  .pl-8-lg,
3200
+  .px-8-lg {
3201
+    padding-left: 4rem !important;
3202
+  }
3203
+  .pr-8-lg,
3204
+  .px-8-lg {
3205
+    padding-right: 4rem !important;
3206
+  }
3207
+  .ml-auto-lg,
3208
+  .mx-auto-lg {
3209
+    margin-left: auto !important;
3210
+  }
3211
+  .mr-auto-lg,
3212
+  .mx-auto-lg {
3213
+    margin-right: auto !important;
3214
+  }
3215
+  .mt-auto-lg,
3216
+  .my-auto-lg {
3217
+    margin-top: auto !important;
3218
+  }
3219
+  .mb-auto-lg,
3220
+  .my-auto-lg {
3221
+    margin-bottom: auto !important;
3222
+  }
3223
+}
3224
+@media screen and (min-width: 1024px) {
3225
+  /* Margin */
3226
+  .m-10-lg {
3227
+    margin: 5rem !important;
3228
+  }
3229
+  .mt-10-lg,
3230
+  .my-10-lg {
3231
+    margin-top: 5rem !important;
3232
+  }
3233
+  .mb-10-lg,
3234
+  .my-10-lg {
3235
+    margin-bottom: 5rem !important;
3236
+  }
3237
+  .ml-10-lg,
3238
+  .mx-10-lg {
3239
+    margin-left: 5rem !important;
3240
+  }
3241
+  .mr-10-lg,
3242
+  .mx-10-lg {
3243
+    margin-right: 5rem !important;
3244
+  }
3245
+  /* Spacing */
3246
+  .p-10-lg {
3247
+    padding: 5rem !important;
3248
+  }
3249
+  .pt-10-lg,
3250
+  .py-10-lg {
3251
+    padding-top: 5rem !important;
3252
+  }
3253
+  .pb-10-lg,
3254
+  .py-10-lg {
3255
+    padding-bottom: 5rem !important;
3256
+  }
3257
+  .pl-10-lg,
3258
+  .px-10-lg {
3259
+    padding-left: 5rem !important;
3260
+  }
3261
+  .pr-10-lg,
3262
+  .px-10-lg {
3263
+    padding-right: 5rem !important;
3264
+  }
3265
+  .ml-auto-lg,
3266
+  .mx-auto-lg {
3267
+    margin-left: auto !important;
3268
+  }
3269
+  .mr-auto-lg,
3270
+  .mx-auto-lg {
3271
+    margin-right: auto !important;
3272
+  }
3273
+  .mt-auto-lg,
3274
+  .my-auto-lg {
3275
+    margin-top: auto !important;
3276
+  }
3277
+  .mb-auto-lg,
3278
+  .my-auto-lg {
3279
+    margin-bottom: auto !important;
3280
+  }
3281
+}
3282
+@media screen and (min-width: 1024px) {
3283
+  /* Margin */
3284
+  .m-12-lg {
3285
+    margin: 6rem !important;
3286
+  }
3287
+  .mt-12-lg,
3288
+  .my-12-lg {
3289
+    margin-top: 6rem !important;
3290
+  }
3291
+  .mb-12-lg,
3292
+  .my-12-lg {
3293
+    margin-bottom: 6rem !important;
3294
+  }
3295
+  .ml-12-lg,
3296
+  .mx-12-lg {
3297
+    margin-left: 6rem !important;
3298
+  }
3299
+  .mr-12-lg,
3300
+  .mx-12-lg {
3301
+    margin-right: 6rem !important;
3302
+  }
3303
+  /* Spacing */
3304
+  .p-12-lg {
3305
+    padding: 6rem !important;
3306
+  }
3307
+  .pt-12-lg,
3308
+  .py-12-lg {
3309
+    padding-top: 6rem !important;
3310
+  }
3311
+  .pb-12-lg,
3312
+  .py-12-lg {
3313
+    padding-bottom: 6rem !important;
3314
+  }
3315
+  .pl-12-lg,
3316
+  .px-12-lg {
3317
+    padding-left: 6rem !important;
3318
+  }
3319
+  .pr-12-lg,
3320
+  .px-12-lg {
3321
+    padding-right: 6rem !important;
3322
+  }
3323
+  .ml-auto-lg,
3324
+  .mx-auto-lg {
3325
+    margin-left: auto !important;
3326
+  }
3327
+  .mr-auto-lg,
3328
+  .mx-auto-lg {
3329
+    margin-right: auto !important;
3330
+  }
3331
+  .mt-auto-lg,
3332
+  .my-auto-lg {
3333
+    margin-top: auto !important;
3334
+  }
3335
+  .mb-auto-lg,
3336
+  .my-auto-lg {
3337
+    margin-bottom: auto !important;
3338
+  }
3339
+}
3340
+@media screen and (min-width: 1024px) {
3341
+  /* Margin */
3342
+  .m-16-lg {
3343
+    margin: 8rem !important;
3344
+  }
3345
+  .mt-16-lg,
3346
+  .my-16-lg {
3347
+    margin-top: 8rem !important;
3348
+  }
3349
+  .mb-16-lg,
3350
+  .my-16-lg {
3351
+    margin-bottom: 8rem !important;
3352
+  }
3353
+  .ml-16-lg,
3354
+  .mx-16-lg {
3355
+    margin-left: 8rem !important;
3356
+  }
3357
+  .mr-16-lg,
3358
+  .mx-16-lg {
3359
+    margin-right: 8rem !important;
3360
+  }
3361
+  /* Spacing */
3362
+  .p-16-lg {
3363
+    padding: 8rem !important;
3364
+  }
3365
+  .pt-16-lg,
3366
+  .py-16-lg {
3367
+    padding-top: 8rem !important;
3368
+  }
3369
+  .pb-16-lg,
3370
+  .py-16-lg {
3371
+    padding-bottom: 8rem !important;
3372
+  }
3373
+  .pl-16-lg,
3374
+  .px-16-lg {
3375
+    padding-left: 8rem !important;
3376
+  }
3377
+  .pr-16-lg,
3378
+  .px-16-lg {
3379
+    padding-right: 8rem !important;
3380
+  }
3381
+  .ml-auto-lg,
3382
+  .mx-auto-lg {
3383
+    margin-left: auto !important;
3384
+  }
3385
+  .mr-auto-lg,
3386
+  .mx-auto-lg {
3387
+    margin-right: auto !important;
3388
+  }
3389
+  .mt-auto-lg,
3390
+  .my-auto-lg {
3391
+    margin-top: auto !important;
3392
+  }
3393
+  .mb-auto-lg,
3394
+  .my-auto-lg {
3395
+    margin-bottom: auto !important;
3396
+  }
3397
+}
3398
+@media screen and (min-width: 1024px) {
3399
+  /* Margin */
3400
+  .m-20-lg {
3401
+    margin: 10rem !important;
3402
+  }
3403
+  .mt-20-lg,
3404
+  .my-20-lg {
3405
+    margin-top: 10rem !important;
3406
+  }
3407
+  .mb-20-lg,
3408
+  .my-20-lg {
3409
+    margin-bottom: 10rem !important;
3410
+  }
3411
+  .ml-20-lg,
3412
+  .mx-20-lg {
3413
+    margin-left: 10rem !important;
3414
+  }
3415
+  .mr-20-lg,
3416
+  .mx-20-lg {
3417
+    margin-right: 10rem !important;
3418
+  }
3419
+  /* Spacing */
3420
+  .p-20-lg {
3421
+    padding: 10rem !important;
3422
+  }
3423
+  .pt-20-lg,
3424
+  .py-20-lg {
3425
+    padding-top: 10rem !important;
3426
+  }
3427
+  .pb-20-lg,
3428
+  .py-20-lg {
3429
+    padding-bottom: 10rem !important;
3430
+  }
3431
+  .pl-20-lg,
3432
+  .px-20-lg {
3433
+    padding-left: 10rem !important;
3434
+  }
3435
+  .pr-20-lg,
3436
+  .px-20-lg {
3437
+    padding-right: 10rem !important;
3438
+  }
3439
+  .ml-auto-lg,
3440
+  .mx-auto-lg {
3441
+    margin-left: auto !important;
3442
+  }
3443
+  .mr-auto-lg,
3444
+  .mx-auto-lg {
3445
+    margin-right: auto !important;
3446
+  }
3447
+  .mt-auto-lg,
3448
+  .my-auto-lg {
3449
+    margin-top: auto !important;
3450
+  }
3451
+  .mb-auto-lg,
3452
+  .my-auto-lg {
3453
+    margin-bottom: auto !important;
3454
+  }
3455
+}
3456
+@media screen and (min-width: 1024px) {
3457
+  /* Margin */
3458
+  .m-24-lg {
3459
+    margin: 12rem !important;
3460
+  }
3461
+  .mt-24-lg,
3462
+  .my-24-lg {
3463
+    margin-top: 12rem !important;
3464
+  }
3465
+  .mb-24-lg,
3466
+  .my-24-lg {
3467
+    margin-bottom: 12rem !important;
3468
+  }
3469
+  .ml-24-lg,
3470
+  .mx-24-lg {
3471
+    margin-left: 12rem !important;
3472
+  }
3473
+  .mr-24-lg,
3474
+  .mx-24-lg {
3475
+    margin-right: 12rem !important;
3476
+  }
3477
+  /* Spacing */
3478
+  .p-24-lg {
3479
+    padding: 12rem !important;
3480
+  }
3481
+  .pt-24-lg,
3482
+  .py-24-lg {
3483
+    padding-top: 12rem !important;
3484
+  }
3485
+  .pb-24-lg,
3486
+  .py-24-lg {
3487
+    padding-bottom: 12rem !important;
3488
+  }
3489
+  .pl-24-lg,
3490
+  .px-24-lg {
3491
+    padding-left: 12rem !important;
3492
+  }
3493
+  .pr-24-lg,
3494
+  .px-24-lg {
3495
+    padding-right: 12rem !important;
3496
+  }
3497
+  .ml-auto-lg,
3498
+  .mx-auto-lg {
3499
+    margin-left: auto !important;
3500
+  }
3501
+  .mr-auto-lg,
3502
+  .mx-auto-lg {
3503
+    margin-right: auto !important;
3504
+  }
3505
+  .mt-auto-lg,
3506
+  .my-auto-lg {
3507
+    margin-top: auto !important;
3508
+  }
3509
+  .mb-auto-lg,
3510
+  .my-auto-lg {
3511
+    margin-bottom: auto !important;
3512
+  }
3513
+}
3514
+@media screen and (min-width: 1024px) {
3515
+  /* Margin */
3516
+  .m-32-lg {
3517
+    margin: 16rem !important;
3518
+  }
3519
+  .mt-32-lg,
3520
+  .my-32-lg {
3521
+    margin-top: 16rem !important;
3522
+  }
3523
+  .mb-32-lg,
3524
+  .my-32-lg {
3525
+    margin-bottom: 16rem !important;
3526
+  }
3527
+  .ml-32-lg,
3528
+  .mx-32-lg {
3529
+    margin-left: 16rem !important;
3530
+  }
3531
+  .mr-32-lg,
3532
+  .mx-32-lg {
3533
+    margin-right: 16rem !important;
3534
+  }
3535
+  /* Spacing */
3536
+  .p-32-lg {
3537
+    padding: 16rem !important;
3538
+  }
3539
+  .pt-32-lg,
3540
+  .py-32-lg {
3541
+    padding-top: 16rem !important;
3542
+  }
3543
+  .pb-32-lg,
3544
+  .py-32-lg {
3545
+    padding-bottom: 16rem !important;
3546
+  }
3547
+  .pl-32-lg,
3548
+  .px-32-lg {
3549
+    padding-left: 16rem !important;
3550
+  }
3551
+  .pr-32-lg,
3552
+  .px-32-lg {
3553
+    padding-right: 16rem !important;
3554
+  }
3555
+  .ml-auto-lg,
3556
+  .mx-auto-lg {
3557
+    margin-left: auto !important;
3558
+  }
3559
+  .mr-auto-lg,
3560
+  .mx-auto-lg {
3561
+    margin-right: auto !important;
3562
+  }
3563
+  .mt-auto-lg,
3564
+  .my-auto-lg {
3565
+    margin-top: auto !important;
3566
+  }
3567
+  .mb-auto-lg,
3568
+  .my-auto-lg {
3569
+    margin-bottom: auto !important;
3570
+  }
3571
+}
3572
+@media screen and (min-width: 1280px) {
3573
+  /* Margin */
3574
+  .m-0-xl {
3575
+    margin: 0rem !important;
3576
+  }
3577
+  .mt-0-xl,
3578
+  .my-0-xl {
3579
+    margin-top: 0rem !important;
3580
+  }
3581
+  .mb-0-xl,
3582
+  .my-0-xl {
3583
+    margin-bottom: 0rem !important;
3584
+  }
3585
+  .ml-0-xl,
3586
+  .mx-0-xl {
3587
+    margin-left: 0rem !important;
3588
+  }
3589
+  .mr-0-xl,
3590
+  .mx-0-xl {
3591
+    margin-right: 0rem !important;
3592
+  }
3593
+  /* Spacing */
3594
+  .p-0-xl {
3595
+    padding: 0rem !important;
3596
+  }
3597
+  .pt-0-xl,
3598
+  .py-0-xl {
3599
+    padding-top: 0rem !important;
3600
+  }
3601
+  .pb-0-xl,
3602
+  .py-0-xl {
3603
+    padding-bottom: 0rem !important;
3604
+  }
3605
+  .pl-0-xl,
3606
+  .px-0-xl {
3607
+    padding-left: 0rem !important;
3608
+  }
3609
+  .pr-0-xl,
3610
+  .px-0-xl {
3611
+    padding-right: 0rem !important;
3612
+  }
3613
+  .ml-auto-xl,
3614
+  .mx-auto-xl {
3615
+    margin-left: auto !important;
3616
+  }
3617
+  .mr-auto-xl,
3618
+  .mx-auto-xl {
3619
+    margin-right: auto !important;
3620
+  }
3621
+  .mt-auto-xl,
3622
+  .my-auto-xl {
3623
+    margin-top: auto !important;
3624
+  }
3625
+  .mb-auto-xl,
3626
+  .my-auto-xl {
3627
+    margin-bottom: auto !important;
3628
+  }
3629
+}
3630
+@media screen and (min-width: 1280px) {
3631
+  /* Margin */
3632
+  .m-1-xl {
3633
+    margin: 0.5rem !important;
3634
+  }
3635
+  .mt-1-xl,
3636
+  .my-1-xl {
3637
+    margin-top: 0.5rem !important;
3638
+  }
3639
+  .mb-1-xl,
3640
+  .my-1-xl {
3641
+    margin-bottom: 0.5rem !important;
3642
+  }
3643
+  .ml-1-xl,
3644
+  .mx-1-xl {
3645
+    margin-left: 0.5rem !important;
3646
+  }
3647
+  .mr-1-xl,
3648
+  .mx-1-xl {
3649
+    margin-right: 0.5rem !important;
3650
+  }
3651
+  /* Spacing */
3652
+  .p-1-xl {
3653
+    padding: 0.5rem !important;
3654
+  }
3655
+  .pt-1-xl,
3656
+  .py-1-xl {
3657
+    padding-top: 0.5rem !important;
3658
+  }
3659
+  .pb-1-xl,
3660
+  .py-1-xl {
3661
+    padding-bottom: 0.5rem !important;
3662
+  }
3663
+  .pl-1-xl,
3664
+  .px-1-xl {
3665
+    padding-left: 0.5rem !important;
3666
+  }
3667
+  .pr-1-xl,
3668
+  .px-1-xl {
3669
+    padding-right: 0.5rem !important;
3670
+  }
3671
+  .ml-auto-xl,
3672
+  .mx-auto-xl {
3673
+    margin-left: auto !important;
3674
+  }
3675
+  .mr-auto-xl,
3676
+  .mx-auto-xl {
3677
+    margin-right: auto !important;
3678
+  }
3679
+  .mt-auto-xl,
3680
+  .my-auto-xl {
3681
+    margin-top: auto !important;
3682
+  }
3683
+  .mb-auto-xl,
3684
+  .my-auto-xl {
3685
+    margin-bottom: auto !important;
3686
+  }
3687
+}
3688
+@media screen and (min-width: 1280px) {
3689
+  /* Margin */
3690
+  .m-2-xl {
3691
+    margin: 1rem !important;
3692
+  }
3693
+  .mt-2-xl,
3694
+  .my-2-xl {
3695
+    margin-top: 1rem !important;
3696
+  }
3697
+  .mb-2-xl,
3698
+  .my-2-xl {
3699
+    margin-bottom: 1rem !important;
3700
+  }
3701
+  .ml-2-xl,
3702
+  .mx-2-xl {
3703
+    margin-left: 1rem !important;
3704
+  }
3705
+  .mr-2-xl,
3706
+  .mx-2-xl {
3707
+    margin-right: 1rem !important;
3708
+  }
3709
+  /* Spacing */
3710
+  .p-2-xl {
3711
+    padding: 1rem !important;
3712
+  }
3713
+  .pt-2-xl,
3714
+  .py-2-xl {
3715
+    padding-top: 1rem !important;
3716
+  }
3717
+  .pb-2-xl,
3718
+  .py-2-xl {
3719
+    padding-bottom: 1rem !important;
3720
+  }
3721
+  .pl-2-xl,
3722
+  .px-2-xl {
3723
+    padding-left: 1rem !important;
3724
+  }
3725
+  .pr-2-xl,
3726
+  .px-2-xl {
3727
+    padding-right: 1rem !important;
3728
+  }
3729
+  .ml-auto-xl,
3730
+  .mx-auto-xl {
3731
+    margin-left: auto !important;
3732
+  }
3733
+  .mr-auto-xl,
3734
+  .mx-auto-xl {
3735
+    margin-right: auto !important;
3736
+  }
3737
+  .mt-auto-xl,
3738
+  .my-auto-xl {
3739
+    margin-top: auto !important;
3740
+  }
3741
+  .mb-auto-xl,
3742
+  .my-auto-xl {
3743
+    margin-bottom: auto !important;
3744
+  }
3745
+}
3746
+@media screen and (min-width: 1280px) {
3747
+  /* Margin */
3748
+  .m-3-xl {
3749
+    margin: 1.5rem !important;
3750
+  }
3751
+  .mt-3-xl,
3752
+  .my-3-xl {
3753
+    margin-top: 1.5rem !important;
3754
+  }
3755
+  .mb-3-xl,
3756
+  .my-3-xl {
3757
+    margin-bottom: 1.5rem !important;
3758
+  }
3759
+  .ml-3-xl,
3760
+  .mx-3-xl {
3761
+    margin-left: 1.5rem !important;
3762
+  }
3763
+  .mr-3-xl,
3764
+  .mx-3-xl {
3765
+    margin-right: 1.5rem !important;
3766
+  }
3767
+  /* Spacing */
3768
+  .p-3-xl {
3769
+    padding: 1.5rem !important;
3770
+  }
3771
+  .pt-3-xl,
3772
+  .py-3-xl {
3773
+    padding-top: 1.5rem !important;
3774
+  }
3775
+  .pb-3-xl,
3776
+  .py-3-xl {
3777
+    padding-bottom: 1.5rem !important;
3778
+  }
3779
+  .pl-3-xl,
3780
+  .px-3-xl {
3781
+    padding-left: 1.5rem !important;
3782
+  }
3783
+  .pr-3-xl,
3784
+  .px-3-xl {
3785
+    padding-right: 1.5rem !important;
3786
+  }
3787
+  .ml-auto-xl,
3788
+  .mx-auto-xl {
3789
+    margin-left: auto !important;
3790
+  }
3791
+  .mr-auto-xl,
3792
+  .mx-auto-xl {
3793
+    margin-right: auto !important;
3794
+  }
3795
+  .mt-auto-xl,
3796
+  .my-auto-xl {
3797
+    margin-top: auto !important;
3798
+  }
3799
+  .mb-auto-xl,
3800
+  .my-auto-xl {
3801
+    margin-bottom: auto !important;
3802
+  }
3803
+}
3804
+@media screen and (min-width: 1280px) {
3805
+  /* Margin */
3806
+  .m-4-xl {
3807
+    margin: 2rem !important;
3808
+  }
3809
+  .mt-4-xl,
3810
+  .my-4-xl {
3811
+    margin-top: 2rem !important;
3812
+  }
3813
+  .mb-4-xl,
3814
+  .my-4-xl {
3815
+    margin-bottom: 2rem !important;
3816
+  }
3817
+  .ml-4-xl,
3818
+  .mx-4-xl {
3819
+    margin-left: 2rem !important;
3820
+  }
3821
+  .mr-4-xl,
3822
+  .mx-4-xl {
3823
+    margin-right: 2rem !important;
3824
+  }
3825
+  /* Spacing */
3826
+  .p-4-xl {
3827
+    padding: 2rem !important;
3828
+  }
3829
+  .pt-4-xl,
3830
+  .py-4-xl {
3831
+    padding-top: 2rem !important;
3832
+  }
3833
+  .pb-4-xl,
3834
+  .py-4-xl {
3835
+    padding-bottom: 2rem !important;
3836
+  }
3837
+  .pl-4-xl,
3838
+  .px-4-xl {
3839
+    padding-left: 2rem !important;
3840
+  }
3841
+  .pr-4-xl,
3842
+  .px-4-xl {
3843
+    padding-right: 2rem !important;
3844
+  }
3845
+  .ml-auto-xl,
3846
+  .mx-auto-xl {
3847
+    margin-left: auto !important;
3848
+  }
3849
+  .mr-auto-xl,
3850
+  .mx-auto-xl {
3851
+    margin-right: auto !important;
3852
+  }
3853
+  .mt-auto-xl,
3854
+  .my-auto-xl {
3855
+    margin-top: auto !important;
3856
+  }
3857
+  .mb-auto-xl,
3858
+  .my-auto-xl {
3859
+    margin-bottom: auto !important;
3860
+  }
3861
+}
3862
+@media screen and (min-width: 1280px) {
3863
+  /* Margin */
3864
+  .m-5-xl {
3865
+    margin: 2.5rem !important;
3866
+  }
3867
+  .mt-5-xl,
3868
+  .my-5-xl {
3869
+    margin-top: 2.5rem !important;
3870
+  }
3871
+  .mb-5-xl,
3872
+  .my-5-xl {
3873
+    margin-bottom: 2.5rem !important;
3874
+  }
3875
+  .ml-5-xl,
3876
+  .mx-5-xl {
3877
+    margin-left: 2.5rem !important;
3878
+  }
3879
+  .mr-5-xl,
3880
+  .mx-5-xl {
3881
+    margin-right: 2.5rem !important;
3882
+  }
3883
+  /* Spacing */
3884
+  .p-5-xl {
3885
+    padding: 2.5rem !important;
3886
+  }
3887
+  .pt-5-xl,
3888
+  .py-5-xl {
3889
+    padding-top: 2.5rem !important;
3890
+  }
3891
+  .pb-5-xl,
3892
+  .py-5-xl {
3893
+    padding-bottom: 2.5rem !important;
3894
+  }
3895
+  .pl-5-xl,
3896
+  .px-5-xl {
3897
+    padding-left: 2.5rem !important;
3898
+  }
3899
+  .pr-5-xl,
3900
+  .px-5-xl {
3901
+    padding-right: 2.5rem !important;
3902
+  }
3903
+  .ml-auto-xl,
3904
+  .mx-auto-xl {
3905
+    margin-left: auto !important;
3906
+  }
3907
+  .mr-auto-xl,
3908
+  .mx-auto-xl {
3909
+    margin-right: auto !important;
3910
+  }
3911
+  .mt-auto-xl,
3912
+  .my-auto-xl {
3913
+    margin-top: auto !important;
3914
+  }
3915
+  .mb-auto-xl,
3916
+  .my-auto-xl {
3917
+    margin-bottom: auto !important;
3918
+  }
3919
+}
3920
+@media screen and (min-width: 1280px) {
3921
+  /* Margin */
3922
+  .m-6-xl {
3923
+    margin: 3rem !important;
3924
+  }
3925
+  .mt-6-xl,
3926
+  .my-6-xl {
3927
+    margin-top: 3rem !important;
3928
+  }
3929
+  .mb-6-xl,
3930
+  .my-6-xl {
3931
+    margin-bottom: 3rem !important;
3932
+  }
3933
+  .ml-6-xl,
3934
+  .mx-6-xl {
3935
+    margin-left: 3rem !important;
3936
+  }
3937
+  .mr-6-xl,
3938
+  .mx-6-xl {
3939
+    margin-right: 3rem !important;
3940
+  }
3941
+  /* Spacing */
3942
+  .p-6-xl {
3943
+    padding: 3rem !important;
3944
+  }
3945
+  .pt-6-xl,
3946
+  .py-6-xl {
3947
+    padding-top: 3rem !important;
3948
+  }
3949
+  .pb-6-xl,
3950
+  .py-6-xl {
3951
+    padding-bottom: 3rem !important;
3952
+  }
3953
+  .pl-6-xl,
3954
+  .px-6-xl {
3955
+    padding-left: 3rem !important;
3956
+  }
3957
+  .pr-6-xl,
3958
+  .px-6-xl {
3959
+    padding-right: 3rem !important;
3960
+  }
3961
+  .ml-auto-xl,
3962
+  .mx-auto-xl {
3963
+    margin-left: auto !important;
3964
+  }
3965
+  .mr-auto-xl,
3966
+  .mx-auto-xl {
3967
+    margin-right: auto !important;
3968
+  }
3969
+  .mt-auto-xl,
3970
+  .my-auto-xl {
3971
+    margin-top: auto !important;
3972
+  }
3973
+  .mb-auto-xl,
3974
+  .my-auto-xl {
3975
+    margin-bottom: auto !important;
3976
+  }
3977
+}
3978
+@media screen and (min-width: 1280px) {
3979
+  /* Margin */
3980
+  .m-8-xl {
3981
+    margin: 4rem !important;
3982
+  }
3983
+  .mt-8-xl,
3984
+  .my-8-xl {
3985
+    margin-top: 4rem !important;
3986
+  }
3987
+  .mb-8-xl,
3988
+  .my-8-xl {
3989
+    margin-bottom: 4rem !important;
3990
+  }
3991
+  .ml-8-xl,
3992
+  .mx-8-xl {
3993
+    margin-left: 4rem !important;
3994
+  }
3995
+  .mr-8-xl,
3996
+  .mx-8-xl {
3997
+    margin-right: 4rem !important;
3998
+  }
3999
+  /* Spacing */
4000
+  .p-8-xl {
4001
+    padding: 4rem !important;
4002
+  }
4003
+  .pt-8-xl,
4004
+  .py-8-xl {
4005
+    padding-top: 4rem !important;
4006
+  }
4007
+  .pb-8-xl,
4008
+  .py-8-xl {
4009
+    padding-bottom: 4rem !important;
4010
+  }
4011
+  .pl-8-xl,
4012
+  .px-8-xl {
4013
+    padding-left: 4rem !important;
4014
+  }
4015
+  .pr-8-xl,
4016
+  .px-8-xl {
4017
+    padding-right: 4rem !important;
4018
+  }
4019
+  .ml-auto-xl,
4020
+  .mx-auto-xl {
4021
+    margin-left: auto !important;
4022
+  }
4023
+  .mr-auto-xl,
4024
+  .mx-auto-xl {
4025
+    margin-right: auto !important;
4026
+  }
4027
+  .mt-auto-xl,
4028
+  .my-auto-xl {
4029
+    margin-top: auto !important;
4030
+  }
4031
+  .mb-auto-xl,
4032
+  .my-auto-xl {
4033
+    margin-bottom: auto !important;
4034
+  }
4035
+}
4036
+@media screen and (min-width: 1280px) {
4037
+  /* Margin */
4038
+  .m-10-xl {
4039
+    margin: 5rem !important;
4040
+  }
4041
+  .mt-10-xl,
4042
+  .my-10-xl {
4043
+    margin-top: 5rem !important;
4044
+  }
4045
+  .mb-10-xl,
4046
+  .my-10-xl {
4047
+    margin-bottom: 5rem !important;
4048
+  }
4049
+  .ml-10-xl,
4050
+  .mx-10-xl {
4051
+    margin-left: 5rem !important;
4052
+  }
4053
+  .mr-10-xl,
4054
+  .mx-10-xl {
4055
+    margin-right: 5rem !important;
4056
+  }
4057
+  /* Spacing */
4058
+  .p-10-xl {
4059
+    padding: 5rem !important;
4060
+  }
4061
+  .pt-10-xl,
4062
+  .py-10-xl {
4063
+    padding-top: 5rem !important;
4064
+  }
4065
+  .pb-10-xl,
4066
+  .py-10-xl {
4067
+    padding-bottom: 5rem !important;
4068
+  }
4069
+  .pl-10-xl,
4070
+  .px-10-xl {
4071
+    padding-left: 5rem !important;
4072
+  }
4073
+  .pr-10-xl,
4074
+  .px-10-xl {
4075
+    padding-right: 5rem !important;
4076
+  }
4077
+  .ml-auto-xl,
4078
+  .mx-auto-xl {
4079
+    margin-left: auto !important;
4080
+  }
4081
+  .mr-auto-xl,
4082
+  .mx-auto-xl {
4083
+    margin-right: auto !important;
4084
+  }
4085
+  .mt-auto-xl,
4086
+  .my-auto-xl {
4087
+    margin-top: auto !important;
4088
+  }
4089
+  .mb-auto-xl,
4090
+  .my-auto-xl {
4091
+    margin-bottom: auto !important;
4092
+  }
4093
+}
4094
+@media screen and (min-width: 1280px) {
4095
+  /* Margin */
4096
+  .m-12-xl {
4097
+    margin: 6rem !important;
4098
+  }
4099
+  .mt-12-xl,
4100
+  .my-12-xl {
4101
+    margin-top: 6rem !important;
4102
+  }
4103
+  .mb-12-xl,
4104
+  .my-12-xl {
4105
+    margin-bottom: 6rem !important;
4106
+  }
4107
+  .ml-12-xl,
4108
+  .mx-12-xl {
4109
+    margin-left: 6rem !important;
4110
+  }
4111
+  .mr-12-xl,
4112
+  .mx-12-xl {
4113
+    margin-right: 6rem !important;
4114
+  }
4115
+  /* Spacing */
4116
+  .p-12-xl {
4117
+    padding: 6rem !important;
4118
+  }
4119
+  .pt-12-xl,
4120
+  .py-12-xl {
4121
+    padding-top: 6rem !important;
4122
+  }
4123
+  .pb-12-xl,
4124
+  .py-12-xl {
4125
+    padding-bottom: 6rem !important;
4126
+  }
4127
+  .pl-12-xl,
4128
+  .px-12-xl {
4129
+    padding-left: 6rem !important;
4130
+  }
4131
+  .pr-12-xl,
4132
+  .px-12-xl {
4133
+    padding-right: 6rem !important;
4134
+  }
4135
+  .ml-auto-xl,
4136
+  .mx-auto-xl {
4137
+    margin-left: auto !important;
4138
+  }
4139
+  .mr-auto-xl,
4140
+  .mx-auto-xl {
4141
+    margin-right: auto !important;
4142
+  }
4143
+  .mt-auto-xl,
4144
+  .my-auto-xl {
4145
+    margin-top: auto !important;
4146
+  }
4147
+  .mb-auto-xl,
4148
+  .my-auto-xl {
4149
+    margin-bottom: auto !important;
4150
+  }
4151
+}
4152
+@media screen and (min-width: 1280px) {
4153
+  /* Margin */
4154
+  .m-16-xl {
4155
+    margin: 8rem !important;
4156
+  }
4157
+  .mt-16-xl,
4158
+  .my-16-xl {
4159
+    margin-top: 8rem !important;
4160
+  }
4161
+  .mb-16-xl,
4162
+  .my-16-xl {
4163
+    margin-bottom: 8rem !important;
4164
+  }
4165
+  .ml-16-xl,
4166
+  .mx-16-xl {
4167
+    margin-left: 8rem !important;
4168
+  }
4169
+  .mr-16-xl,
4170
+  .mx-16-xl {
4171
+    margin-right: 8rem !important;
4172
+  }
4173
+  /* Spacing */
4174
+  .p-16-xl {
4175
+    padding: 8rem !important;
4176
+  }
4177
+  .pt-16-xl,
4178
+  .py-16-xl {
4179
+    padding-top: 8rem !important;
4180
+  }
4181
+  .pb-16-xl,
4182
+  .py-16-xl {
4183
+    padding-bottom: 8rem !important;
4184
+  }
4185
+  .pl-16-xl,
4186
+  .px-16-xl {
4187
+    padding-left: 8rem !important;
4188
+  }
4189
+  .pr-16-xl,
4190
+  .px-16-xl {
4191
+    padding-right: 8rem !important;
4192
+  }
4193
+  .ml-auto-xl,
4194
+  .mx-auto-xl {
4195
+    margin-left: auto !important;
4196
+  }
4197
+  .mr-auto-xl,
4198
+  .mx-auto-xl {
4199
+    margin-right: auto !important;
4200
+  }
4201
+  .mt-auto-xl,
4202
+  .my-auto-xl {
4203
+    margin-top: auto !important;
4204
+  }
4205
+  .mb-auto-xl,
4206
+  .my-auto-xl {
4207
+    margin-bottom: auto !important;
4208
+  }
4209
+}
4210
+@media screen and (min-width: 1280px) {
4211
+  /* Margin */
4212
+  .m-20-xl {
4213
+    margin: 10rem !important;
4214
+  }
4215
+  .mt-20-xl,
4216
+  .my-20-xl {
4217
+    margin-top: 10rem !important;
4218
+  }
4219
+  .mb-20-xl,
4220
+  .my-20-xl {
4221
+    margin-bottom: 10rem !important;
4222
+  }
4223
+  .ml-20-xl,
4224
+  .mx-20-xl {
4225
+    margin-left: 10rem !important;
4226
+  }
4227
+  .mr-20-xl,
4228
+  .mx-20-xl {
4229
+    margin-right: 10rem !important;
4230
+  }
4231
+  /* Spacing */
4232
+  .p-20-xl {
4233
+    padding: 10rem !important;
4234
+  }
4235
+  .pt-20-xl,
4236
+  .py-20-xl {
4237
+    padding-top: 10rem !important;
4238
+  }
4239
+  .pb-20-xl,
4240
+  .py-20-xl {
4241
+    padding-bottom: 10rem !important;
4242
+  }
4243
+  .pl-20-xl,
4244
+  .px-20-xl {
4245
+    padding-left: 10rem !important;
4246
+  }
4247
+  .pr-20-xl,
4248
+  .px-20-xl {
4249
+    padding-right: 10rem !important;
4250
+  }
4251
+  .ml-auto-xl,
4252
+  .mx-auto-xl {
4253
+    margin-left: auto !important;
4254
+  }
4255
+  .mr-auto-xl,
4256
+  .mx-auto-xl {
4257
+    margin-right: auto !important;
4258
+  }
4259
+  .mt-auto-xl,
4260
+  .my-auto-xl {
4261
+    margin-top: auto !important;
4262
+  }
4263
+  .mb-auto-xl,
4264
+  .my-auto-xl {
4265
+    margin-bottom: auto !important;
4266
+  }
4267
+}
4268
+@media screen and (min-width: 1280px) {
4269
+  /* Margin */
4270
+  .m-24-xl {
4271
+    margin: 12rem !important;
4272
+  }
4273
+  .mt-24-xl,
4274
+  .my-24-xl {
4275
+    margin-top: 12rem !important;
4276
+  }
4277
+  .mb-24-xl,
4278
+  .my-24-xl {
4279
+    margin-bottom: 12rem !important;
4280
+  }
4281
+  .ml-24-xl,
4282
+  .mx-24-xl {
4283
+    margin-left: 12rem !important;
4284
+  }
4285
+  .mr-24-xl,
4286
+  .mx-24-xl {
4287
+    margin-right: 12rem !important;
4288
+  }
4289
+  /* Spacing */
4290
+  .p-24-xl {
4291
+    padding: 12rem !important;
4292
+  }
4293
+  .pt-24-xl,
4294
+  .py-24-xl {
4295
+    padding-top: 12rem !important;
4296
+  }
4297
+  .pb-24-xl,
4298
+  .py-24-xl {
4299
+    padding-bottom: 12rem !important;
4300
+  }
4301
+  .pl-24-xl,
4302
+  .px-24-xl {
4303
+    padding-left: 12rem !important;
4304
+  }
4305
+  .pr-24-xl,
4306
+  .px-24-xl {
4307
+    padding-right: 12rem !important;
4308
+  }
4309
+  .ml-auto-xl,
4310
+  .mx-auto-xl {
4311
+    margin-left: auto !important;
4312
+  }
4313
+  .mr-auto-xl,
4314
+  .mx-auto-xl {
4315
+    margin-right: auto !important;
4316
+  }
4317
+  .mt-auto-xl,
4318
+  .my-auto-xl {
4319
+    margin-top: auto !important;
4320
+  }
4321
+  .mb-auto-xl,
4322
+  .my-auto-xl {
4323
+    margin-bottom: auto !important;
4324
+  }
4325
+}
4326
+@media screen and (min-width: 1280px) {
4327
+  /* Margin */
4328
+  .m-32-xl {
4329
+    margin: 16rem !important;
4330
+  }
4331
+  .mt-32-xl,
4332
+  .my-32-xl {
4333
+    margin-top: 16rem !important;
4334
+  }
4335
+  .mb-32-xl,
4336
+  .my-32-xl {
4337
+    margin-bottom: 16rem !important;
4338
+  }
4339
+  .ml-32-xl,
4340
+  .mx-32-xl {
4341
+    margin-left: 16rem !important;
4342
+  }
4343
+  .mr-32-xl,
4344
+  .mx-32-xl {
4345
+    margin-right: 16rem !important;
4346
+  }
4347
+  /* Spacing */
4348
+  .p-32-xl {
4349
+    padding: 16rem !important;
4350
+  }
4351
+  .pt-32-xl,
4352
+  .py-32-xl {
4353
+    padding-top: 16rem !important;
4354
+  }
4355
+  .pb-32-xl,
4356
+  .py-32-xl {
4357
+    padding-bottom: 16rem !important;
4358
+  }
4359
+  .pl-32-xl,
4360
+  .px-32-xl {
4361
+    padding-left: 16rem !important;
4362
+  }
4363
+  .pr-32-xl,
4364
+  .px-32-xl {
4365
+    padding-right: 16rem !important;
4366
+  }
4367
+  .ml-auto-xl,
4368
+  .mx-auto-xl {
4369
+    margin-left: auto !important;
4370
+  }
4371
+  .mr-auto-xl,
4372
+  .mx-auto-xl {
4373
+    margin-right: auto !important;
4374
+  }
4375
+  .mt-auto-xl,
4376
+  .my-auto-xl {
4377
+    margin-top: auto !important;
4378
+  }
4379
+  .mb-auto-xl,
4380
+  .my-auto-xl {
4381
+    margin-bottom: auto !important;
4382
+  }
4383
+}
4384
+
4385
+.u-none {
4386
+  display: none !important;
4387
+}
4388
+
4389
+.u-inline {
4390
+  display: inline !important;
4391
+}
4392
+
4393
+.u-inline-block {
4394
+  display: inline-block !important;
4395
+}
4396
+
4397
+.u-block {
4398
+  display: block !important;
4399
+}
4400
+
4401
+.u-flex {
4402
+  display: flex !important;
4403
+}
4404
+
4405
+.u-inline-flex {
4406
+  display: inline-flex !important;
4407
+}
4408
+
4409
+.u-table {
4410
+  display: table !important;
4411
+}
4412
+
4413
+.u-table-row {
4414
+  display: table-row !important;
4415
+}
4416
+
4417
+.u-table-column {
4418
+  display: table-column !important;
4419
+}
4420
+
4421
+.u-table-cell {
4422
+  display: table-cell !important;
4423
+}
4424
+
4425
+@media screen and (min-width: 640px) {
4426
+  .u-none-sm {
4427
+    display: none !important;
4428
+  }
4429
+}
4430
+@media screen and (min-width: 640px) {
4431
+  .u-inline-sm {
4432
+    display: inline !important;
4433
+  }
4434
+}
4435
+@media screen and (min-width: 640px) {
4436
+  .u-inline-block-sm {
4437
+    display: inline-block !important;
4438
+  }
4439
+}
4440
+@media screen and (min-width: 640px) {
4441
+  .u-block-sm {
4442
+    display: block !important;
4443
+  }
4444
+}
4445
+@media screen and (min-width: 640px) {
4446
+  .u-flex-sm {
4447
+    display: flex !important;
4448
+  }
4449
+}
4450
+@media screen and (min-width: 640px) {
4451
+  .u-inline-flex-sm {
4452
+    display: inline-flex !important;
4453
+  }
4454
+}
4455
+@media screen and (min-width: 640px) {
4456
+  .u-table-sm {
4457
+    display: table !important;
4458
+  }
4459
+}
4460
+@media screen and (min-width: 640px) {
4461
+  .u-table-row-sm {
4462
+    display: table-row !important;
4463
+  }
4464
+}
4465
+@media screen and (min-width: 640px) {
4466
+  .u-table-column-sm {
4467
+    display: table-column !important;
4468
+  }
4469
+}
4470
+@media screen and (min-width: 640px) {
4471
+  .u-table-cell-sm {
4472
+    display: table-cell !important;
4473
+  }
4474
+}
4475
+@media screen and (min-width: 768px) {
4476
+  .u-none-md {
4477
+    display: none !important;
4478
+  }
4479
+}
4480
+@media screen and (min-width: 768px) {
4481
+  .u-inline-md {
4482
+    display: inline !important;
4483
+  }
4484
+}
4485
+@media screen and (min-width: 768px) {
4486
+  .u-inline-block-md {
4487
+    display: inline-block !important;
4488
+  }
4489
+}
4490
+@media screen and (min-width: 768px) {
4491
+  .u-block-md {
4492
+    display: block !important;
4493
+  }
4494
+}
4495
+@media screen and (min-width: 768px) {
4496
+  .u-flex-md {
4497
+    display: flex !important;
4498
+  }
4499
+}
4500
+@media screen and (min-width: 768px) {
4501
+  .u-inline-flex-md {
4502
+    display: inline-flex !important;
4503
+  }
4504
+}
4505
+@media screen and (min-width: 768px) {
4506
+  .u-table-md {
4507
+    display: table !important;
4508
+  }
4509
+}
4510
+@media screen and (min-width: 768px) {
4511
+  .u-table-row-md {
4512
+    display: table-row !important;
4513
+  }
4514
+}
4515
+@media screen and (min-width: 768px) {
4516
+  .u-table-column-md {
4517
+    display: table-column !important;
4518
+  }
4519
+}
4520
+@media screen and (min-width: 768px) {
4521
+  .u-table-cell-md {
4522
+    display: table-cell !important;
4523
+  }
4524
+}
4525
+@media screen and (min-width: 1024px) {
4526
+  .u-none-lg {
4527
+    display: none !important;
4528
+  }
4529
+}
4530
+@media screen and (min-width: 1024px) {
4531
+  .u-inline-lg {
4532
+    display: inline !important;
4533
+  }
4534
+}
4535
+@media screen and (min-width: 1024px) {
4536
+  .u-inline-block-lg {
4537
+    display: inline-block !important;
4538
+  }
4539
+}
4540
+@media screen and (min-width: 1024px) {
4541
+  .u-block-lg {
4542
+    display: block !important;
4543
+  }
4544
+}
4545
+@media screen and (min-width: 1024px) {
4546
+  .u-flex-lg {
4547
+    display: flex !important;
4548
+  }
4549
+}
4550
+@media screen and (min-width: 1024px) {
4551
+  .u-inline-flex-lg {
4552
+    display: inline-flex !important;
4553
+  }
4554
+}
4555
+@media screen and (min-width: 1024px) {
4556
+  .u-table-lg {
4557
+    display: table !important;
4558
+  }
4559
+}
4560
+@media screen and (min-width: 1024px) {
4561
+  .u-table-row-lg {
4562
+    display: table-row !important;
4563
+  }
4564
+}
4565
+@media screen and (min-width: 1024px) {
4566
+  .u-table-column-lg {
4567
+    display: table-column !important;
4568
+  }
4569
+}
4570
+@media screen and (min-width: 1024px) {
4571
+  .u-table-cell-lg {
4572
+    display: table-cell !important;
4573
+  }
4574
+}
4575
+@media screen and (min-width: 1280px) {
4576
+  .u-none-xl {
4577
+    display: none !important;
4578
+  }
4579
+}
4580
+@media screen and (min-width: 1280px) {
4581
+  .u-inline-xl {
4582
+    display: inline !important;
4583
+  }
4584
+}
4585
+@media screen and (min-width: 1280px) {
4586
+  .u-inline-block-xl {
4587
+    display: inline-block !important;
4588
+  }
4589
+}
4590
+@media screen and (min-width: 1280px) {
4591
+  .u-block-xl {
4592
+    display: block !important;
4593
+  }
4594
+}
4595
+@media screen and (min-width: 1280px) {
4596
+  .u-flex-xl {
4597
+    display: flex !important;
4598
+  }
4599
+}
4600
+@media screen and (min-width: 1280px) {
4601
+  .u-inline-flex-xl {
4602
+    display: inline-flex !important;
4603
+  }
4604
+}
4605
+@media screen and (min-width: 1280px) {
4606
+  .u-table-xl {
4607
+    display: table !important;
4608
+  }
4609
+}
4610
+@media screen and (min-width: 1280px) {
4611
+  .u-table-row-xl {
4612
+    display: table-row !important;
4613
+  }
4614
+}
4615
+@media screen and (min-width: 1280px) {
4616
+  .u-table-column-xl {
4617
+    display: table-column !important;
4618
+  }
4619
+}
4620
+@media screen and (min-width: 1280px) {
4621
+  .u-table-cell-xl {
4622
+    display: table-cell !important;
4623
+  }
4624
+}
4625
+.u-flex-row {
4626
+  flex-direction: row !important;
4627
+}
4628
+
4629
+.u-flex-row-reverse {
4630
+  flex-direction: row-reverse !important;
4631
+}
4632
+
4633
+.u-flex-column {
4634
+  flex-direction: column !important;
4635
+}
4636
+
4637
+.u-flex-column-reverse {
4638
+  flex-direction: column-reverse !important;
4639
+}
4640
+
4641
+@media screen and (min-width: 640px) {
4642
+  .u-flex-row-sm {
4643
+    flex-direction: row !important;
4644
+  }
4645
+}
4646
+@media screen and (min-width: 640px) {
4647
+  .u-flex-row-reverse-sm {
4648
+    flex-direction: row-reverse !important;
4649
+  }
4650
+}
4651
+@media screen and (min-width: 640px) {
4652
+  .u-flex-column-sm {
4653
+    flex-direction: column !important;
4654
+  }
4655
+}
4656
+@media screen and (min-width: 640px) {
4657
+  .u-flex-column-reverse-sm {
4658
+    flex-direction: column-reverse !important;
4659
+  }
4660
+}
4661
+@media screen and (min-width: 768px) {
4662
+  .u-flex-row-md {
4663
+    flex-direction: row !important;
4664
+  }
4665
+}
4666
+@media screen and (min-width: 768px) {
4667
+  .u-flex-row-reverse-md {
4668
+    flex-direction: row-reverse !important;
4669
+  }
4670
+}
4671
+@media screen and (min-width: 768px) {
4672
+  .u-flex-column-md {
4673
+    flex-direction: column !important;
4674
+  }
4675
+}
4676
+@media screen and (min-width: 768px) {
4677
+  .u-flex-column-reverse-md {
4678
+    flex-direction: column-reverse !important;
4679
+  }
4680
+}
4681
+@media screen and (min-width: 1024px) {
4682
+  .u-flex-row-lg {
4683
+    flex-direction: row !important;
4684
+  }
4685
+}
4686
+@media screen and (min-width: 1024px) {
4687
+  .u-flex-row-reverse-lg {
4688
+    flex-direction: row-reverse !important;
4689
+  }
4690
+}
4691
+@media screen and (min-width: 1024px) {
4692
+  .u-flex-column-lg {
4693
+    flex-direction: column !important;
4694
+  }
4695
+}
4696
+@media screen and (min-width: 1024px) {
4697
+  .u-flex-column-reverse-lg {
4698
+    flex-direction: column-reverse !important;
4699
+  }
4700
+}
4701
+@media screen and (min-width: 1280px) {
4702
+  .u-flex-row-xl {
4703
+    flex-direction: row !important;
4704
+  }
4705
+}
4706
+@media screen and (min-width: 1280px) {
4707
+  .u-flex-row-reverse-xl {
4708
+    flex-direction: row-reverse !important;
4709
+  }
4710
+}
4711
+@media screen and (min-width: 1280px) {
4712
+  .u-flex-column-xl {
4713
+    flex-direction: column !important;
4714
+  }
4715
+}
4716
+@media screen and (min-width: 1280px) {
4717
+  .u-flex-column-reverse-xl {
4718
+    flex-direction: column-reverse !important;
4719
+  }
4720
+}
4721
+.u-justify-flex-start {
4722
+  justify-content: flex-start !important;
4723
+}
4724
+
4725
+.u-justify-center {
4726
+  justify-content: center !important;
4727
+}
4728
+
4729
+.u-justify-flex-end {
4730
+  justify-content: flex-end !important;
4731
+}
4732
+
4733
+.u-justify-space-between {
4734
+  justify-content: space-between !important;
4735
+}
4736
+
4737
+.u-justify-space-around {
4738
+  justify-content: space-around !important;
4739
+}
4740
+
4741
+.u-justify-space-evenly {
4742
+  justify-content: space-evenly !important;
4743
+}
4744
+
4745
+@media screen and (min-width: 640px) {
4746
+  .u-justify-flex-start-sm {
4747
+    justify-content: flex-start !important;
4748
+  }
4749
+}
4750
+@media screen and (min-width: 640px) {
4751
+  .u-justify-center-sm {
4752
+    justify-content: center !important;
4753
+  }
4754
+}
4755
+@media screen and (min-width: 640px) {
4756
+  .u-justify-flex-end-sm {
4757
+    justify-content: flex-end !important;
4758
+  }
4759
+}
4760
+@media screen and (min-width: 640px) {
4761
+  .u-justify-space-between-sm {
4762
+    justify-content: space-between !important;
4763
+  }
4764
+}
4765
+@media screen and (min-width: 640px) {
4766
+  .u-justify-space-around-sm {
4767
+    justify-content: space-around !important;
4768
+  }
4769
+}
4770
+@media screen and (min-width: 640px) {
4771
+  .u-justify-space-evenly-sm {
4772
+    justify-content: space-evenly !important;
4773
+  }
4774
+}
4775
+@media screen and (min-width: 768px) {
4776
+  .u-justify-flex-start-md {
4777
+    justify-content: flex-start !important;
4778
+  }
4779
+}
4780
+@media screen and (min-width: 768px) {
4781
+  .u-justify-center-md {
4782
+    justify-content: center !important;
4783
+  }
4784
+}
4785
+@media screen and (min-width: 768px) {
4786
+  .u-justify-flex-end-md {
4787
+    justify-content: flex-end !important;
4788
+  }
4789
+}
4790
+@media screen and (min-width: 768px) {
4791
+  .u-justify-space-between-md {
4792
+    justify-content: space-between !important;
4793
+  }
4794
+}
4795
+@media screen and (min-width: 768px) {
4796
+  .u-justify-space-around-md {
4797
+    justify-content: space-around !important;
4798
+  }
4799
+}
4800
+@media screen and (min-width: 768px) {
4801
+  .u-justify-space-evenly-md {
4802
+    justify-content: space-evenly !important;
4803
+  }
4804
+}
4805
+@media screen and (min-width: 1024px) {
4806
+  .u-justify-flex-start-lg {
4807
+    justify-content: flex-start !important;
4808
+  }
4809
+}
4810
+@media screen and (min-width: 1024px) {
4811
+  .u-justify-center-lg {
4812
+    justify-content: center !important;
4813
+  }
4814
+}
4815
+@media screen and (min-width: 1024px) {
4816
+  .u-justify-flex-end-lg {
4817
+    justify-content: flex-end !important;
4818
+  }
4819
+}
4820
+@media screen and (min-width: 1024px) {
4821
+  .u-justify-space-between-lg {
4822
+    justify-content: space-between !important;
4823
+  }
4824
+}
4825
+@media screen and (min-width: 1024px) {
4826
+  .u-justify-space-around-lg {
4827
+    justify-content: space-around !important;
4828
+  }
4829
+}
4830
+@media screen and (min-width: 1024px) {
4831
+  .u-justify-space-evenly-lg {
4832
+    justify-content: space-evenly !important;
4833
+  }
4834
+}
4835
+@media screen and (min-width: 1280px) {
4836
+  .u-justify-flex-start-xl {
4837
+    justify-content: flex-start !important;
4838
+  }
4839
+}
4840
+@media screen and (min-width: 1280px) {
4841
+  .u-justify-center-xl {
4842
+    justify-content: center !important;
4843
+  }
4844
+}
4845
+@media screen and (min-width: 1280px) {
4846
+  .u-justify-flex-end-xl {
4847
+    justify-content: flex-end !important;
4848
+  }
4849
+}
4850
+@media screen and (min-width: 1280px) {
4851
+  .u-justify-space-between-xl {
4852
+    justify-content: space-between !important;
4853
+  }
4854
+}
4855
+@media screen and (min-width: 1280px) {
4856
+  .u-justify-space-around-xl {
4857
+    justify-content: space-around !important;
4858
+  }
4859
+}
4860
+@media screen and (min-width: 1280px) {
4861
+  .u-justify-space-evenly-xl {
4862
+    justify-content: space-evenly !important;
4863
+  }
4864
+}
4865
+.u-items-stretch {
4866
+  align-items: stretch !important;
4867
+}
4868
+
4869
+.u-items-flex-start {
4870
+  align-items: flex-start !important;
4871
+}
4872
+
4873
+.u-items-center {
4874
+  align-items: center !important;
4875
+}
4876
+
4877
+.u-items-flex-end {
4878
+  align-items: flex-end !important;
4879
+}
4880
+
4881
+.u-items-baseline {
4882
+  align-items: baseline !important;
4883
+}
4884
+
4885
+@media screen and (min-width: 640px) {
4886
+  .u-items-stretch-sm {
4887
+    align-items: stretch !important;
4888
+  }
4889
+}
4890
+@media screen and (min-width: 640px) {
4891
+  .u-items-flex-start-sm {
4892
+    align-items: flex-start !important;
4893
+  }
4894
+}
4895
+@media screen and (min-width: 640px) {
4896
+  .u-items-center-sm {
4897
+    align-items: center !important;
4898
+  }
4899
+}
4900
+@media screen and (min-width: 640px) {
4901
+  .u-items-flex-end-sm {
4902
+    align-items: flex-end !important;
4903
+  }
4904
+}
4905
+@media screen and (min-width: 640px) {
4906
+  .u-items-baseline-sm {
4907
+    align-items: baseline !important;
4908
+  }
4909
+}
4910
+@media screen and (min-width: 768px) {
4911
+  .u-items-stretch-md {
4912
+    align-items: stretch !important;
4913
+  }
4914
+}
4915
+@media screen and (min-width: 768px) {
4916
+  .u-items-flex-start-md {
4917
+    align-items: flex-start !important;
4918
+  }
4919
+}
4920
+@media screen and (min-width: 768px) {
4921
+  .u-items-center-md {
4922
+    align-items: center !important;
4923
+  }
4924
+}
4925
+@media screen and (min-width: 768px) {
4926
+  .u-items-flex-end-md {
4927
+    align-items: flex-end !important;
4928
+  }
4929
+}
4930
+@media screen and (min-width: 768px) {
4931
+  .u-items-baseline-md {
4932
+    align-items: baseline !important;
4933
+  }
4934
+}
4935
+@media screen and (min-width: 1024px) {
4936
+  .u-items-stretch-lg {
4937
+    align-items: stretch !important;
4938
+  }
4939
+}
4940
+@media screen and (min-width: 1024px) {
4941
+  .u-items-flex-start-lg {
4942
+    align-items: flex-start !important;
4943
+  }
4944
+}
4945
+@media screen and (min-width: 1024px) {
4946
+  .u-items-center-lg {
4947
+    align-items: center !important;
4948
+  }
4949
+}
4950
+@media screen and (min-width: 1024px) {
4951
+  .u-items-flex-end-lg {
4952
+    align-items: flex-end !important;
4953
+  }
4954
+}
4955
+@media screen and (min-width: 1024px) {
4956
+  .u-items-baseline-lg {
4957
+    align-items: baseline !important;
4958
+  }
4959
+}
4960
+@media screen and (min-width: 1280px) {
4961
+  .u-items-stretch-xl {
4962
+    align-items: stretch !important;
4963
+  }
4964
+}
4965
+@media screen and (min-width: 1280px) {
4966
+  .u-items-flex-start-xl {
4967
+    align-items: flex-start !important;
4968
+  }
4969
+}
4970
+@media screen and (min-width: 1280px) {
4971
+  .u-items-center-xl {
4972
+    align-items: center !important;
4973
+  }
4974
+}
4975
+@media screen and (min-width: 1280px) {
4976
+  .u-items-flex-end-xl {
4977
+    align-items: flex-end !important;
4978
+  }
4979
+}
4980
+@media screen and (min-width: 1280px) {
4981
+  .u-items-baseline-xl {
4982
+    align-items: baseline !important;
4983
+  }
4984
+}
4985
+.u-flex-grow-0 {
4986
+  flex-grow: 0 !important;
4987
+}
4988
+
4989
+.u-flex-grow-1 {
4990
+  flex-grow: 1 !important;
4991
+}
4992
+
4993
+@media screen and (min-width: 640px) {
4994
+  .u-flex-grow-0-sm {
4995
+    flex-grow: 0 !important;
4996
+  }
4997
+}
4998
+@media screen and (min-width: 640px) {
4999
+  .u-flex-grow-1-sm {
5000
+    flex-grow: 1 !important;
5001
+  }
5002
+}
5003
+@media screen and (min-width: 768px) {
5004
+  .u-flex-grow-0-md {
5005
+    flex-grow: 0 !important;
5006
+  }
5007
+}
5008
+@media screen and (min-width: 768px) {
5009
+  .u-flex-grow-1-md {
5010
+    flex-grow: 1 !important;
5011
+  }
5012
+}
5013
+@media screen and (min-width: 1024px) {
5014
+  .u-flex-grow-0-lg {
5015
+    flex-grow: 0 !important;
5016
+  }
5017
+}
5018
+@media screen and (min-width: 1024px) {
5019
+  .u-flex-grow-1-lg {
5020
+    flex-grow: 1 !important;
5021
+  }
5022
+}
5023
+@media screen and (min-width: 1280px) {
5024
+  .u-flex-grow-0-xl {
5025
+    flex-grow: 0 !important;
5026
+  }
5027
+}
5028
+@media screen and (min-width: 1280px) {
5029
+  .u-flex-grow-1-xl {
5030
+    flex-grow: 1 !important;
5031
+  }
5032
+}
5033
+.u-flex-shrink-0 {
5034
+  flex-shrink: 0 !important;
5035
+}
5036
+
5037
+.u-flex-shrink-1 {
5038
+  flex-shrink: 1 !important;
5039
+}
5040
+
5041
+@media screen and (min-width: 640px) {
5042
+  .u-flex-shrink-0-sm {
5043
+    flex-shrink: 0 !important;
5044
+  }
5045
+}
5046
+@media screen and (min-width: 640px) {
5047
+  .u-flex-shrink-1-sm {
5048
+    flex-shrink: 1 !important;
5049
+  }
5050
+}
5051
+@media screen and (min-width: 768px) {
5052
+  .u-flex-shrink-0-md {
5053
+    flex-shrink: 0 !important;
5054
+  }
5055
+}
5056
+@media screen and (min-width: 768px) {
5057
+  .u-flex-shrink-1-md {
5058
+    flex-shrink: 1 !important;
5059
+  }
5060
+}
5061
+@media screen and (min-width: 1024px) {
5062
+  .u-flex-shrink-0-lg {
5063
+    flex-shrink: 0 !important;
5064
+  }
5065
+}
5066
+@media screen and (min-width: 1024px) {
5067
+  .u-flex-shrink-1-lg {
5068
+    flex-shrink: 1 !important;
5069
+  }
5070
+}
5071
+@media screen and (min-width: 1280px) {
5072
+  .u-flex-shrink-0-xl {
5073
+    flex-shrink: 0 !important;
5074
+  }
5075
+}
5076
+@media screen and (min-width: 1280px) {
5077
+  .u-flex-shrink-1-xl {
5078
+    flex-shrink: 1 !important;
5079
+  }
5080
+}
5081
+.u-flex-wrap {
5082
+  flex-wrap: wrap !important;
5083
+}
5084
+
5085
+.u-flex-wrap-reverse {
5086
+  flex-wrap: wrap-reverse !important;
5087
+}
5088
+
5089
+.u-flex-nowrap {
5090
+  flex-wrap: nowrap !important;
5091
+}
5092
+
5093
+@media screen and (min-width: 640px) {
5094
+  .u-flex-wrap-sm {
5095
+    flex-wrap: wrap !important;
5096
+  }
5097
+}
5098
+@media screen and (min-width: 640px) {
5099
+  .u-flex-wrap-reverse-sm {
5100
+    flex-wrap: wrap-reverse !important;
5101
+  }
5102
+}
5103
+@media screen and (min-width: 640px) {
5104
+  .u-flex-nowrap-sm {
5105
+    flex-wrap: nowrap !important;
5106
+  }
5107
+}
5108
+@media screen and (min-width: 768px) {
5109
+  .u-flex-wrap-md {
5110
+    flex-wrap: wrap !important;
5111
+  }
5112
+}
5113
+@media screen and (min-width: 768px) {
5114
+  .u-flex-wrap-reverse-md {
5115
+    flex-wrap: wrap-reverse !important;
5116
+  }
5117
+}
5118
+@media screen and (min-width: 768px) {
5119
+  .u-flex-nowrap-md {
5120
+    flex-wrap: nowrap !important;
5121
+  }
5122
+}
5123
+@media screen and (min-width: 1024px) {
5124
+  .u-flex-wrap-lg {
5125
+    flex-wrap: wrap !important;
5126
+  }
5127
+}
5128
+@media screen and (min-width: 1024px) {
5129
+  .u-flex-wrap-reverse-lg {
5130
+    flex-wrap: wrap-reverse !important;
5131
+  }
5132
+}
5133
+@media screen and (min-width: 1024px) {
5134
+  .u-flex-nowrap-lg {
5135
+    flex-wrap: nowrap !important;
5136
+  }
5137
+}
5138
+@media screen and (min-width: 1280px) {
5139
+  .u-flex-wrap-xl {
5140
+    flex-wrap: wrap !important;
5141
+  }
5142
+}
5143
+@media screen and (min-width: 1280px) {
5144
+  .u-flex-wrap-reverse-xl {
5145
+    flex-wrap: wrap-reverse !important;
5146
+  }
5147
+}
5148
+@media screen and (min-width: 1280px) {
5149
+  .u-flex-nowrap-xl {
5150
+    flex-wrap: nowrap !important;
5151
+  }
5152
+}
5153
+.u-basis-auto {
5154
+  flex-basis: auto !important;
5155
+}
5156
+
5157
+.u-basis-max-content {
5158
+  flex-basis: max-content !important;
5159
+}
5160
+
5161
+.u-basis-min-content {
5162
+  flex-basis: min-content !important;
5163
+}
5164
+
5165
+.u-basis-fit-content {
5166
+  flex-basis: fit-content !important;
5167
+}
5168
+
5169
+.u-basis-content {
5170
+  flex-basis: content !important;
5171
+}
5172
+
5173
+.u-basis-revert {
5174
+  flex-basis: revert !important;
5175
+}
5176
+
5177
+.u-basis-revert-layer {
5178
+  flex-basis: revert-layer !important;
5179
+}
5180
+
5181
+.u-basis-10p {
5182
+  flex-basis: 10% !important;
5183
+}
5184
+
5185
+.u-basis-20p {
5186
+  flex-basis: 20% !important;
5187
+}
5188
+
5189
+.u-basis-30p {
5190
+  flex-basis: 30% !important;
5191
+}
5192
+
5193
+.u-basis-40p {
5194
+  flex-basis: 40% !important;
5195
+}
5196
+
5197
+.u-basis-50p {
5198
+  flex-basis: 50% !important;
5199
+}
5200
+
5201
+.u-basis-60p {
5202
+  flex-basis: 60% !important;
5203
+}
5204
+
5205
+.u-basis-70p {
5206
+  flex-basis: 70% !important;
5207
+}
5208
+
5209
+.u-basis-80p {
5210
+  flex-basis: 80% !important;
5211
+}
5212
+
5213
+.u-basis-90p {
5214
+  flex-basis: 90% !important;
5215
+}
5216
+
5217
+.u-basis-100p {
5218
+  flex-basis: 100% !important;
5219
+}
5220
+
5221
+@media screen and (min-width: 640px) {
5222
+  .u-basis-auto-sm {
5223
+    flex-basis: auto !important;
5224
+  }
5225
+}
5226
+@media screen and (min-width: 640px) {
5227
+  .u-basis-max-content-sm {
5228
+    flex-basis: max-content !important;
5229
+  }
5230
+}
5231
+@media screen and (min-width: 640px) {
5232
+  .u-basis-min-content-sm {
5233
+    flex-basis: min-content !important;
5234
+  }
5235
+}
5236
+@media screen and (min-width: 640px) {
5237
+  .u-basis-fit-content-sm {
5238
+    flex-basis: fit-content !important;
5239
+  }
5240
+}
5241
+@media screen and (min-width: 640px) {
5242
+  .u-basis-content-sm {
5243
+    flex-basis: content !important;
5244
+  }
5245
+}
5246
+@media screen and (min-width: 640px) {
5247
+  .u-basis-revert-sm {
5248
+    flex-basis: revert !important;
5249
+  }
5250
+}
5251
+@media screen and (min-width: 640px) {
5252
+  .u-basis-revert-layer-sm {
5253
+    flex-basis: revert-layer !important;
5254
+  }
5255
+}
5256
+@media screen and (min-width: 640px) {
5257
+  .u-basis-10p-sm {
5258
+    flex-basis: 10% !important;
5259
+  }
5260
+}
5261
+@media screen and (min-width: 640px) {
5262
+  .u-basis-20p-sm {
5263
+    flex-basis: 20% !important;
5264
+  }
5265
+}
5266
+@media screen and (min-width: 640px) {
5267
+  .u-basis-30p-sm {
5268
+    flex-basis: 30% !important;
5269
+  }
5270
+}
5271
+@media screen and (min-width: 640px) {
5272
+  .u-basis-40p-sm {
5273
+    flex-basis: 40% !important;
5274
+  }
5275
+}
5276
+@media screen and (min-width: 640px) {
5277
+  .u-basis-50p-sm {
5278
+    flex-basis: 50% !important;
5279
+  }
5280
+}
5281
+@media screen and (min-width: 640px) {
5282
+  .u-basis-60p-sm {
5283
+    flex-basis: 60% !important;
5284
+  }
5285
+}
5286
+@media screen and (min-width: 640px) {
5287
+  .u-basis-70p-sm {
5288
+    flex-basis: 70% !important;
5289
+  }
5290
+}
5291
+@media screen and (min-width: 640px) {
5292
+  .u-basis-80p-sm {
5293
+    flex-basis: 80% !important;
5294
+  }
5295
+}
5296
+@media screen and (min-width: 640px) {
5297
+  .u-basis-90p-sm {
5298
+    flex-basis: 90% !important;
5299
+  }
5300
+}
5301
+@media screen and (min-width: 640px) {
5302
+  .u-basis-100p-sm {
5303
+    flex-basis: 100% !important;
5304
+  }
5305
+}
5306
+@media screen and (min-width: 768px) {
5307
+  .u-basis-auto-md {
5308
+    flex-basis: auto !important;
5309
+  }
5310
+}
5311
+@media screen and (min-width: 768px) {
5312
+  .u-basis-max-content-md {
5313
+    flex-basis: max-content !important;
5314
+  }
5315
+}
5316
+@media screen and (min-width: 768px) {
5317
+  .u-basis-min-content-md {
5318
+    flex-basis: min-content !important;
5319
+  }
5320
+}
5321
+@media screen and (min-width: 768px) {
5322
+  .u-basis-fit-content-md {
5323
+    flex-basis: fit-content !important;
5324
+  }
5325
+}
5326
+@media screen and (min-width: 768px) {
5327
+  .u-basis-content-md {
5328
+    flex-basis: content !important;
5329
+  }
5330
+}
5331
+@media screen and (min-width: 768px) {
5332
+  .u-basis-revert-md {
5333
+    flex-basis: revert !important;
5334
+  }
5335
+}
5336
+@media screen and (min-width: 768px) {
5337
+  .u-basis-revert-layer-md {
5338
+    flex-basis: revert-layer !important;
5339
+  }
5340
+}
5341
+@media screen and (min-width: 768px) {
5342
+  .u-basis-10p-md {
5343
+    flex-basis: 10% !important;
5344
+  }
5345
+}
5346
+@media screen and (min-width: 768px) {
5347
+  .u-basis-20p-md {
5348
+    flex-basis: 20% !important;
5349
+  }
5350
+}
5351
+@media screen and (min-width: 768px) {
5352
+  .u-basis-30p-md {
5353
+    flex-basis: 30% !important;
5354
+  }
5355
+}
5356
+@media screen and (min-width: 768px) {
5357
+  .u-basis-40p-md {
5358
+    flex-basis: 40% !important;
5359
+  }
5360
+}
5361
+@media screen and (min-width: 768px) {
5362
+  .u-basis-50p-md {
5363
+    flex-basis: 50% !important;
5364
+  }
5365
+}
5366
+@media screen and (min-width: 768px) {
5367
+  .u-basis-60p-md {
5368
+    flex-basis: 60% !important;
5369
+  }
5370
+}
5371
+@media screen and (min-width: 768px) {
5372
+  .u-basis-70p-md {
5373
+    flex-basis: 70% !important;
5374
+  }
5375
+}
5376
+@media screen and (min-width: 768px) {
5377
+  .u-basis-80p-md {
5378
+    flex-basis: 80% !important;
5379
+  }
5380
+}
5381
+@media screen and (min-width: 768px) {
5382
+  .u-basis-90p-md {
5383
+    flex-basis: 90% !important;
5384
+  }
5385
+}
5386
+@media screen and (min-width: 768px) {
5387
+  .u-basis-100p-md {
5388
+    flex-basis: 100% !important;
5389
+  }
5390
+}
5391
+@media screen and (min-width: 1024px) {
5392
+  .u-basis-auto-lg {
5393
+    flex-basis: auto !important;
5394
+  }
5395
+}
5396
+@media screen and (min-width: 1024px) {
5397
+  .u-basis-max-content-lg {
5398
+    flex-basis: max-content !important;
5399
+  }
5400
+}
5401
+@media screen and (min-width: 1024px) {
5402
+  .u-basis-min-content-lg {
5403
+    flex-basis: min-content !important;
5404
+  }
5405
+}
5406
+@media screen and (min-width: 1024px) {
5407
+  .u-basis-fit-content-lg {
5408
+    flex-basis: fit-content !important;
5409
+  }
5410
+}
5411
+@media screen and (min-width: 1024px) {
5412
+  .u-basis-content-lg {
5413
+    flex-basis: content !important;
5414
+  }
5415
+}
5416
+@media screen and (min-width: 1024px) {
5417
+  .u-basis-revert-lg {
5418
+    flex-basis: revert !important;
5419
+  }
5420
+}
5421
+@media screen and (min-width: 1024px) {
5422
+  .u-basis-revert-layer-lg {
5423
+    flex-basis: revert-layer !important;
5424
+  }
5425
+}
5426
+@media screen and (min-width: 1024px) {
5427
+  .u-basis-10p-lg {
5428
+    flex-basis: 10% !important;
5429
+  }
5430
+}
5431
+@media screen and (min-width: 1024px) {
5432
+  .u-basis-20p-lg {
5433
+    flex-basis: 20% !important;
5434
+  }
5435
+}
5436
+@media screen and (min-width: 1024px) {
5437
+  .u-basis-30p-lg {
5438
+    flex-basis: 30% !important;
5439
+  }
5440
+}
5441
+@media screen and (min-width: 1024px) {
5442
+  .u-basis-40p-lg {
5443
+    flex-basis: 40% !important;
5444
+  }
5445
+}
5446
+@media screen and (min-width: 1024px) {
5447
+  .u-basis-50p-lg {
5448
+    flex-basis: 50% !important;
5449
+  }
5450
+}
5451
+@media screen and (min-width: 1024px) {
5452
+  .u-basis-60p-lg {
5453
+    flex-basis: 60% !important;
5454
+  }
5455
+}
5456
+@media screen and (min-width: 1024px) {
5457
+  .u-basis-70p-lg {
5458
+    flex-basis: 70% !important;
5459
+  }
5460
+}
5461
+@media screen and (min-width: 1024px) {
5462
+  .u-basis-80p-lg {
5463
+    flex-basis: 80% !important;
5464
+  }
5465
+}
5466
+@media screen and (min-width: 1024px) {
5467
+  .u-basis-90p-lg {
5468
+    flex-basis: 90% !important;
5469
+  }
5470
+}
5471
+@media screen and (min-width: 1024px) {
5472
+  .u-basis-100p-lg {
5473
+    flex-basis: 100% !important;
5474
+  }
5475
+}
5476
+@media screen and (min-width: 1280px) {
5477
+  .u-basis-auto-xl {
5478
+    flex-basis: auto !important;
5479
+  }
5480
+}
5481
+@media screen and (min-width: 1280px) {
5482
+  .u-basis-max-content-xl {
5483
+    flex-basis: max-content !important;
5484
+  }
5485
+}
5486
+@media screen and (min-width: 1280px) {
5487
+  .u-basis-min-content-xl {
5488
+    flex-basis: min-content !important;
5489
+  }
5490
+}
5491
+@media screen and (min-width: 1280px) {
5492
+  .u-basis-fit-content-xl {
5493
+    flex-basis: fit-content !important;
5494
+  }
5495
+}
5496
+@media screen and (min-width: 1280px) {
5497
+  .u-basis-content-xl {
5498
+    flex-basis: content !important;
5499
+  }
5500
+}
5501
+@media screen and (min-width: 1280px) {
5502
+  .u-basis-revert-xl {
5503
+    flex-basis: revert !important;
5504
+  }
5505
+}
5506
+@media screen and (min-width: 1280px) {
5507
+  .u-basis-revert-layer-xl {
5508
+    flex-basis: revert-layer !important;
5509
+  }
5510
+}
5511
+@media screen and (min-width: 1280px) {
5512
+  .u-basis-10p-xl {
5513
+    flex-basis: 10% !important;
5514
+  }
5515
+}
5516
+@media screen and (min-width: 1280px) {
5517
+  .u-basis-20p-xl {
5518
+    flex-basis: 20% !important;
5519
+  }
5520
+}
5521
+@media screen and (min-width: 1280px) {
5522
+  .u-basis-30p-xl {
5523
+    flex-basis: 30% !important;
5524
+  }
5525
+}
5526
+@media screen and (min-width: 1280px) {
5527
+  .u-basis-40p-xl {
5528
+    flex-basis: 40% !important;
5529
+  }
5530
+}
5531
+@media screen and (min-width: 1280px) {
5532
+  .u-basis-50p-xl {
5533
+    flex-basis: 50% !important;
5534
+  }
5535
+}
5536
+@media screen and (min-width: 1280px) {
5537
+  .u-basis-60p-xl {
5538
+    flex-basis: 60% !important;
5539
+  }
5540
+}
5541
+@media screen and (min-width: 1280px) {
5542
+  .u-basis-70p-xl {
5543
+    flex-basis: 70% !important;
5544
+  }
5545
+}
5546
+@media screen and (min-width: 1280px) {
5547
+  .u-basis-80p-xl {
5548
+    flex-basis: 80% !important;
5549
+  }
5550
+}
5551
+@media screen and (min-width: 1280px) {
5552
+  .u-basis-90p-xl {
5553
+    flex-basis: 90% !important;
5554
+  }
5555
+}
5556
+@media screen and (min-width: 1280px) {
5557
+  .u-basis-100p-xl {
5558
+    flex-basis: 100% !important;
5559
+  }
5560
+}
5561
+.u-gap-0 {
5562
+  gap: 0rem !important;
5563
+}
5564
+
5565
+.u-gap-1 {
5566
+  gap: 0.5rem !important;
5567
+}
5568
+
5569
+.u-gap-2 {
5570
+  gap: 1rem !important;
5571
+}
5572
+
5573
+.u-gap-3 {
5574
+  gap: 1.5rem !important;
5575
+}
5576
+
5577
+.u-gap-4 {
5578
+  gap: 2rem !important;
5579
+}
5580
+
5581
+.u-gap-5 {
5582
+  gap: 2.5rem !important;
5583
+}
5584
+
5585
+.u-gap-6 {
5586
+  gap: 3rem !important;
5587
+}
5588
+
5589
+.u-gap-8 {
5590
+  gap: 4rem !important;
5591
+}
5592
+
5593
+.u-gap-10 {
5594
+  gap: 5rem !important;
5595
+}
5596
+
5597
+.u-gap-12 {
5598
+  gap: 6rem !important;
5599
+}
5600
+
5601
+.u-gap-16 {
5602
+  gap: 8rem !important;
5603
+}
5604
+
5605
+.u-gap-20 {
5606
+  gap: 10rem !important;
5607
+}
5608
+
5609
+.u-gap-24 {
5610
+  gap: 12rem !important;
5611
+}
5612
+
5613
+.u-gap-32 {
5614
+  gap: 16rem !important;
5615
+}
5616
+
5617
+
5618
+.u-text-ellipsis {
5619
+  text-overflow: ellipsis;
5620
+  overflow: hidden;
5621
+  white-space: nowrap;
5622
+}
5623
+
5624
+.u-text-break {
5625
+  hyphens: auto;
5626
+  word-break: break-word;
5627
+  word-wrap: break-word;
5628
+}
5629
+.u-text-nobreak {
5630
+  hyphens: none;
5631
+  word-break: normal;
5632
+  word-wrap: normal;
5633
+  white-space: nowrap;
5634
+}
5635
+
5636
+.u-text-justify {
5637
+  text-align: justify !important;
5638
+}
5639
+
5640
+.u-text-left {
5641
+  text-align: left !important;
5642
+}
5643
+
5644
+.u-text-right {
5645
+  text-align: right !important;
5646
+}
5647
+
5648
+.u-text-center {
5649
+  text-align: center !important;
5650
+}
5651
+
5652
+@media screen and (min-width: 640px) {
5653
+  .u-text-justify-sm {
5654
+    text-align: justify !important;
5655
+  }
5656
+}
5657
+@media screen and (min-width: 640px) {
5658
+  .u-text-left-sm {
5659
+    text-align: left !important;
5660
+  }
5661
+}
5662
+@media screen and (min-width: 640px) {
5663
+  .u-text-right-sm {
5664
+    text-align: right !important;
5665
+  }
5666
+}
5667
+@media screen and (min-width: 640px) {
5668
+  .u-text-center-sm {
5669
+    text-align: center !important;
5670
+  }
5671
+}
5672
+@media screen and (min-width: 768px) {
5673
+  .u-text-justify-md {
5674
+    text-align: justify !important;
5675
+  }
5676
+}
5677
+@media screen and (min-width: 768px) {
5678
+  .u-text-left-md {
5679
+    text-align: left !important;
5680
+  }
5681
+}
5682
+@media screen and (min-width: 768px) {
5683
+  .u-text-right-md {
5684
+    text-align: right !important;
5685
+  }
5686
+}
5687
+@media screen and (min-width: 768px) {
5688
+  .u-text-center-md {
5689
+    text-align: center !important;
5690
+  }
5691
+}
5692
+@media screen and (min-width: 1024px) {
5693
+  .u-text-justify-lg {
5694
+    text-align: justify !important;
5695
+  }
5696
+}
5697
+@media screen and (min-width: 1024px) {
5698
+  .u-text-left-lg {
5699
+    text-align: left !important;
5700
+  }
5701
+}
5702
+@media screen and (min-width: 1024px) {
5703
+  .u-text-right-lg {
5704
+    text-align: right !important;
5705
+  }
5706
+}
5707
+@media screen and (min-width: 1024px) {
5708
+  .u-text-center-lg {
5709
+    text-align: center !important;
5710
+  }
5711
+}
5712
+@media screen and (min-width: 1280px) {
5713
+  .u-text-justify-xl {
5714
+    text-align: justify !important;
5715
+  }
5716
+}
5717
+@media screen and (min-width: 1280px) {
5718
+  .u-text-left-xl {
5719
+    text-align: left !important;
5720
+  }
5721
+}
5722
+@media screen and (min-width: 1280px) {
5723
+  .u-text-right-xl {
5724
+    text-align: right !important;
5725
+  }
5726
+}
5727
+@media screen and (min-width: 1280px) {
5728
+  .u-text-center-xl {
5729
+    text-align: center !important;
5730
+  }
5731
+}
5732
+
5733
+/* Regular text sizes */
5734
+.text-xs {
5735
+  font-size: 0.75rem !important;
5736
+  line-height: 1.5rem !important;
5737
+}
5738
+
5739
+.text-sm {
5740
+  font-size: 0.875rem !important;
5741
+  line-height: 1.75rem !important;
5742
+}
5743
+
5744
+.text-md {
5745
+  font-size: 1rem !important;
5746
+  line-height: 2rem !important;
5747
+}
5748
+
5749
+.text-lg {
5750
+  font-size: 1.25rem !important;
5751
+  line-height: 2.25rem !important;
5752
+}
5753
+
5754
+.text-xl {
5755
+  font-size: 1.5rem !important;
5756
+  line-height: 2.25rem !important;
5757
+}
5758
+
5759
+.bg-primary {
5760
+  background-color: rgba(233, 124, 26, var(--bg-opacity)) !important;
5761
+}
5762
+
5763
+.text-primary {
5764
+  color: rgba(233, 124, 26, var(--color-opacity)) !important;
5765
+  border-color: rgba(233, 124, 26, var(--border-opacity));
5766
+}
5767
+
5768
+.border-primary {
5769
+  border-color: rgba(233, 124, 26, var(--border-opacity)) !important;
5770
+}
5771
+
5772
+.bg-success {
5773
+  background-color: rgba(13, 209, 87, var(--bg-opacity)) !important;
5774
+}
5775
+
5776
+.text-success {
5777
+  color: rgba(13, 209, 87, var(--color-opacity)) !important;
5778
+  border-color: rgba(13, 209, 87, var(--border-opacity));
5779
+}
5780
+
5781
+.border-success {
5782
+  border-color: rgba(13, 209, 87, var(--border-opacity)) !important;
5783
+}
5784
+
5785
+.bg-warning {
5786
+  background-color: rgba(250, 182, 51, var(--bg-opacity)) !important;
5787
+}
5788
+
5789
+.text-warning {
5790
+  color: rgba(250, 182, 51, var(--color-opacity)) !important;
5791
+  border-color: rgba(250, 182, 51, var(--border-opacity));
5792
+}
5793
+
5794
+.border-warning {
5795
+  border-color: rgba(250, 182, 51, var(--border-opacity)) !important;
5796
+}
5797
+
5798
+.bg-danger {
5799
+  background-color: rgba(251, 65, 67, var(--bg-opacity)) !important;
5800
+}
5801
+
5802
+.text-danger {
5803
+  color: rgba(251, 65, 67, var(--color-opacity)) !important;
5804
+  border-color: rgba(251, 65, 67, var(--border-opacity));
5805
+}
5806
+
5807
+.border-danger {
5808
+  border-color: rgba(251, 65, 67, var(--border-opacity)) !important;
5809
+}
5810
+
5811
+.bg-light {
5812
+  background-color: rgba(246, 249, 252, var(--bg-opacity)) !important;
5813
+}
5814
+
5815
+.text-light {
5816
+  color: rgba(246, 249, 252, var(--color-opacity)) !important;
5817
+  border-color: rgba(246, 249, 252, var(--border-opacity));
5818
+}
5819
+
5820
+.border-light {
5821
+  border-color: rgba(246, 249, 252, var(--border-opacity)) !important;
5822
+}
5823
+
5824
+.bg-dark {
5825
+  background-color: rgba(54, 54, 54, var(--bg-opacity)) !important;
5826
+}
5827
+
5828
+.text-dark {
5829
+  color: rgba(54, 54, 54, var(--color-opacity)) !important;
5830
+  border-color: rgba(54, 54, 54, var(--border-opacity));
5831
+}
5832
+
5833
+.border-dark {
5834
+  border-color: rgba(54, 54, 54, var(--border-opacity)) !important;
5835
+}
5836
+
5837
+.bg-link {
5838
+  background-color: rgba(94, 92, 199, var(--bg-opacity)) !important;
5839
+}
5840
+
5841
+.text-link {
5842
+  color: rgba(94, 92, 199, var(--color-opacity)) !important;
5843
+  border-color: rgba(94, 92, 199, var(--border-opacity));
5844
+}
5845
+
5846
+.border-link {
5847
+  border-color: rgba(94, 92, 199, var(--border-opacity)) !important;
5848
+}
5849
+
5850
+.bg-link-dark {
5851
+  background-color: rgba(70, 67, 226, var(--bg-opacity)) !important;
5852
+}
5853
+
5854
+.text-link-dark {
5855
+  color: rgba(70, 67, 226, var(--color-opacity)) !important;
5856
+  border-color: rgba(70, 67, 226, var(--border-opacity));
5857
+}
5858
+
5859
+.border-link-dark {
5860
+  border-color: rgba(70, 67, 226, var(--border-opacity)) !important;
5861
+}
5862
+
5863
+.bg-info {
5864
+  background-color: rgba(41, 114, 250, var(--bg-opacity)) !important;
5865
+}
5866
+
5867
+.text-info {
5868
+  color: rgba(41, 114, 250, var(--color-opacity)) !important;
5869
+  border-color: rgba(41, 114, 250, var(--border-opacity));
5870
+}
5871
+
5872
+.border-info {
5873
+  border-color: rgba(41, 114, 250, var(--border-opacity)) !important;
5874
+}
5875
+
5876
+.bg-black {
5877
+  background-color: rgba(0, 0, 0, var(--bg-opacity)) !important;
5878
+}
5879
+
5880
+.text-black {
5881
+  color: rgba(0, 0, 0, var(--color-opacity)) !important;
5882
+  border-color: rgba(0, 0, 0, var(--border-opacity));
5883
+}
5884
+
5885
+.border-black {
5886
+  border-color: rgba(0, 0, 0, var(--border-opacity)) !important;
5887
+}
5888
+
5889
+.bg-white {
5890
+  background-color: rgba(255, 255, 255, var(--bg-opacity)) !important;
5891
+}
5892
+
5893
+.text-white {
5894
+  color: rgba(255, 255, 255, var(--color-opacity)) !important;
5895
+  border-color: rgba(255, 255, 255, var(--border-opacity));
5896
+}
5897
+
5898
+.border-white {
5899
+  border-color: rgba(255, 255, 255, var(--border-opacity)) !important;
5900
+}
5901
+
5902
+.bg-transparent {
5903
+  background-color: transparent !important;
5904
+}
5905
+
5906
+.text-transparent {
5907
+  border-color: transparent !important;
5908
+  color: transparent !important;
5909
+}
5910
+
5911
+.u-opacity-0 {
5912
+  opacity: 0 !important;
5913
+}
5914
+
5915
+.u-opacity-10 {
5916
+  opacity: 0.1 !important;
5917
+}
5918
+
5919
+.u-opacity-20 {
5920
+  opacity: 0.2 !important;
5921
+}
5922
+
5923
+.u-opacity-30 {
5924
+  opacity: 0.3 !important;
5925
+}
5926
+
5927
+.u-opacity-40 {
5928
+  opacity: 0.4 !important;
5929
+}
5930
+
5931
+.u-opacity-50 {
5932
+  opacity: 0.5 !important;
5933
+}
5934
+
5935
+.u-opacity-60 {
5936
+  opacity: 0.6 !important;
5937
+}
5938
+
5939
+.u-opacity-70 {
5940
+  opacity: 0.7 !important;
5941
+}
5942
+
5943
+.u-opacity-80 {
5944
+  opacity: 0.8 !important;
5945
+}
5946
+
5947
+.u-opacity-90 {
5948
+  opacity: 0.9 !important;
5949
+}
5950
+
5951
+.u-opacity-100 {
5952
+  opacity: 1 !important;
5953
+}
5954
+
5955
+@media screen and (min-width: 640px) {
5956
+  .u-opacity-0-sm {
5957
+    opacity: 0 !important;
5958
+  }
5959
+}
5960
+@media screen and (min-width: 640px) {
5961
+  .u-opacity-10-sm {
5962
+    opacity: 0.1 !important;
5963
+  }
5964
+}
5965
+@media screen and (min-width: 640px) {
5966
+  .u-opacity-20-sm {
5967
+    opacity: 0.2 !important;
5968
+  }
5969
+}
5970
+@media screen and (min-width: 640px) {
5971
+  .u-opacity-30-sm {
5972
+    opacity: 0.3 !important;
5973
+  }
5974
+}
5975
+@media screen and (min-width: 640px) {
5976
+  .u-opacity-40-sm {
5977
+    opacity: 0.4 !important;
5978
+  }
5979
+}
5980
+@media screen and (min-width: 640px) {
5981
+  .u-opacity-50-sm {
5982
+    opacity: 0.5 !important;
5983
+  }
5984
+}
5985
+@media screen and (min-width: 640px) {
5986
+  .u-opacity-60-sm {
5987
+    opacity: 0.6 !important;
5988
+  }
5989
+}
5990
+@media screen and (min-width: 640px) {
5991
+  .u-opacity-70-sm {
5992
+    opacity: 0.7 !important;
5993
+  }
5994
+}
5995
+@media screen and (min-width: 640px) {
5996
+  .u-opacity-80-sm {
5997
+    opacity: 0.8 !important;
5998
+  }
5999
+}
6000
+@media screen and (min-width: 640px) {
6001
+  .u-opacity-90-sm {
6002
+    opacity: 0.9 !important;
6003
+  }
6004
+}
6005
+@media screen and (min-width: 640px) {
6006
+  .u-opacity-100-sm {
6007
+    opacity: 1 !important;
6008
+  }
6009
+}
6010
+@media screen and (min-width: 768px) {
6011
+  .u-opacity-0-md {
6012
+    opacity: 0 !important;
6013
+  }
6014
+}
6015
+@media screen and (min-width: 768px) {
6016
+  .u-opacity-10-md {
6017
+    opacity: 0.1 !important;
6018
+  }
6019
+}
6020
+@media screen and (min-width: 768px) {
6021
+  .u-opacity-20-md {
6022
+    opacity: 0.2 !important;
6023
+  }
6024
+}
6025
+@media screen and (min-width: 768px) {
6026
+  .u-opacity-30-md {
6027
+    opacity: 0.3 !important;
6028
+  }
6029
+}
6030
+@media screen and (min-width: 768px) {
6031
+  .u-opacity-40-md {
6032
+    opacity: 0.4 !important;
6033
+  }
6034
+}
6035
+@media screen and (min-width: 768px) {
6036
+  .u-opacity-50-md {
6037
+    opacity: 0.5 !important;
6038
+  }
6039
+}
6040
+@media screen and (min-width: 768px) {
6041
+  .u-opacity-60-md {
6042
+    opacity: 0.6 !important;
6043
+  }
6044
+}
6045
+@media screen and (min-width: 768px) {
6046
+  .u-opacity-70-md {
6047
+    opacity: 0.7 !important;
6048
+  }
6049
+}
6050
+@media screen and (min-width: 768px) {
6051
+  .u-opacity-80-md {
6052
+    opacity: 0.8 !important;
6053
+  }
6054
+}
6055
+@media screen and (min-width: 768px) {
6056
+  .u-opacity-90-md {
6057
+    opacity: 0.9 !important;
6058
+  }
6059
+}
6060
+@media screen and (min-width: 768px) {
6061
+  .u-opacity-100-md {
6062
+    opacity: 1 !important;
6063
+  }
6064
+}
6065
+@media screen and (min-width: 1024px) {
6066
+  .u-opacity-0-lg {
6067
+    opacity: 0 !important;
6068
+  }
6069
+}
6070
+@media screen and (min-width: 1024px) {
6071
+  .u-opacity-10-lg {
6072
+    opacity: 0.1 !important;
6073
+  }
6074
+}
6075
+@media screen and (min-width: 1024px) {
6076
+  .u-opacity-20-lg {
6077
+    opacity: 0.2 !important;
6078
+  }
6079
+}
6080
+@media screen and (min-width: 1024px) {
6081
+  .u-opacity-30-lg {
6082
+    opacity: 0.3 !important;
6083
+  }
6084
+}
6085
+@media screen and (min-width: 1024px) {
6086
+  .u-opacity-40-lg {
6087
+    opacity: 0.4 !important;
6088
+  }
6089
+}
6090
+@media screen and (min-width: 1024px) {
6091
+  .u-opacity-50-lg {
6092
+    opacity: 0.5 !important;
6093
+  }
6094
+}
6095
+@media screen and (min-width: 1024px) {
6096
+  .u-opacity-60-lg {
6097
+    opacity: 0.6 !important;
6098
+  }
6099
+}
6100
+@media screen and (min-width: 1024px) {
6101
+  .u-opacity-70-lg {
6102
+    opacity: 0.7 !important;
6103
+  }
6104
+}
6105
+@media screen and (min-width: 1024px) {
6106
+  .u-opacity-80-lg {
6107
+    opacity: 0.8 !important;
6108
+  }
6109
+}
6110
+@media screen and (min-width: 1024px) {
6111
+  .u-opacity-90-lg {
6112
+    opacity: 0.9 !important;
6113
+  }
6114
+}
6115
+@media screen and (min-width: 1024px) {
6116
+  .u-opacity-100-lg {
6117
+    opacity: 1 !important;
6118
+  }
6119
+}
6120
+@media screen and (min-width: 1280px) {
6121
+  .u-opacity-0-xl {
6122
+    opacity: 0 !important;
6123
+  }
6124
+}
6125
+@media screen and (min-width: 1280px) {
6126
+  .u-opacity-10-xl {
6127
+    opacity: 0.1 !important;
6128
+  }
6129
+}
6130
+@media screen and (min-width: 1280px) {
6131
+  .u-opacity-20-xl {
6132
+    opacity: 0.2 !important;
6133
+  }
6134
+}
6135
+@media screen and (min-width: 1280px) {
6136
+  .u-opacity-30-xl {
6137
+    opacity: 0.3 !important;
6138
+  }
6139
+}
6140
+@media screen and (min-width: 1280px) {
6141
+  .u-opacity-40-xl {
6142
+    opacity: 0.4 !important;
6143
+  }
6144
+}
6145
+@media screen and (min-width: 1280px) {
6146
+  .u-opacity-50-xl {
6147
+    opacity: 0.5 !important;
6148
+  }
6149
+}
6150
+@media screen and (min-width: 1280px) {
6151
+  .u-opacity-60-xl {
6152
+    opacity: 0.6 !important;
6153
+  }
6154
+}
6155
+@media screen and (min-width: 1280px) {
6156
+  .u-opacity-70-xl {
6157
+    opacity: 0.7 !important;
6158
+  }
6159
+}
6160
+@media screen and (min-width: 1280px) {
6161
+  .u-opacity-80-xl {
6162
+    opacity: 0.8 !important;
6163
+  }
6164
+}
6165
+@media screen and (min-width: 1280px) {
6166
+  .u-opacity-90-xl {
6167
+    opacity: 0.9 !important;
6168
+  }
6169
+}
6170
+@media screen and (min-width: 1280px) {
6171
+  .u-opacity-100-xl {
6172
+    opacity: 1 !important;
6173
+  }
6174
+}
6175
+.u-bg-opacity-0 {
6176
+  --bg-opacity: 0;
6177
+}
6178
+
6179
+.u-bg-opacity-10 {
6180
+  --bg-opacity: 0.1;
6181
+}
6182
+
6183
+.u-bg-opacity-20 {
6184
+  --bg-opacity: 0.2;
6185
+}
6186
+
6187
+.u-bg-opacity-30 {
6188
+  --bg-opacity: 0.3;
6189
+}
6190
+
6191
+.u-bg-opacity-40 {
6192
+  --bg-opacity: 0.4;
6193
+}
6194
+
6195
+.u-bg-opacity-50 {
6196
+  --bg-opacity: 0.5;
6197
+}
6198
+
6199
+.u-bg-opacity-60 {
6200
+  --bg-opacity: 0.6;
6201
+}
6202
+
6203
+.u-bg-opacity-70 {
6204
+  --bg-opacity: 0.7;
6205
+}
6206
+
6207
+.u-bg-opacity-80 {
6208
+  --bg-opacity: 0.8;
6209
+}
6210
+
6211
+.u-bg-opacity-90 {
6212
+  --bg-opacity: 0.9;
6213
+}
6214
+
6215
+.u-bg-opacity-100 {
6216
+  --bg-opacity: 1;
6217
+}
6218
+
6219
+.u-color-opacity-0 {
6220
+  --color-opacity: 0;
6221
+}
6222
+
6223
+.u-color-opacity-10 {
6224
+  --color-opacity: 0.1;
6225
+}
6226
+
6227
+.u-color-opacity-20 {
6228
+  --color-opacity: 0.2;
6229
+}
6230
+
6231
+.u-color-opacity-30 {
6232
+  --color-opacity: 0.3;
6233
+}
6234
+
6235
+.u-color-opacity-40 {
6236
+  --color-opacity: 0.4;
6237
+}
6238
+
6239
+.u-color-opacity-50 {
6240
+  --color-opacity: 0.5;
6241
+}
6242
+
6243
+.u-color-opacity-60 {
6244
+  --color-opacity: 0.6;
6245
+}
6246
+
6247
+.u-color-opacity-70 {
6248
+  --color-opacity: 0.7;
6249
+}
6250
+
6251
+.u-color-opacity-80 {
6252
+  --color-opacity: 0.8;
6253
+}
6254
+
6255
+.u-color-opacity-90 {
6256
+  --color-opacity: 0.9;
6257
+}
6258
+
6259
+.u-color-opacity-100 {
6260
+  --color-opacity: 1;
6261
+}
6262
+
6263
+.u-border-opacity-0 {
6264
+  --border-opacity: 0;
6265
+}
6266
+
6267
+.u-border-opacity-10 {
6268
+  --border-opacity: 0.1;
6269
+}
6270
+
6271
+.u-border-opacity-20 {
6272
+  --border-opacity: 0.2;
6273
+}
6274
+
6275
+.u-border-opacity-30 {
6276
+  --border-opacity: 0.3;
6277
+}
6278
+
6279
+.u-border-opacity-40 {
6280
+  --border-opacity: 0.4;
6281
+}
6282
+
6283
+.u-border-opacity-50 {
6284
+  --border-opacity: 0.5;
6285
+}
6286
+
6287
+.u-border-opacity-60 {
6288
+  --border-opacity: 0.6;
6289
+}
6290
+
6291
+.u-border-opacity-70 {
6292
+  --border-opacity: 0.7;
6293
+}
6294
+
6295
+.u-border-opacity-80 {
6296
+  --border-opacity: 0.8;
6297
+}
6298
+
6299
+.u-border-opacity-90 {
6300
+  --border-opacity: 0.9;
6301
+}
6302
+
6303
+.u-border-opacity-100 {
6304
+  --border-opacity: 1;
6305
+}
14 6306
new file mode 100644
... ...
@@ -0,0 +1,122 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+/*
6
+ * This file is part of contao-weinanlieferung-bundle.
7
+ *
8
+ * (c) vonRotenberg
9
+ *
10
+ * @license commercial
11
+ */
12
+
13
+namespace vonRotenberg\WeinanlieferungBundle\Controller\Backend;
14
+
15
+use Contao\CoreBundle\Controller\AbstractController;
16
+use Contao\CoreBundle\Csrf\ContaoCsrfTokenManager;
17
+use Contao\Date;
18
+use Contao\Environment;
19
+use Contao\FrontendUser;
20
+use Contao\Input;
21
+use Contao\StringUtil;
22
+use Contao\System;
23
+use Symfony\Component\HttpFoundation\RequestStack;
24
+use Symfony\Component\HttpFoundation\Response;
25
+use Symfony\Component\Routing\Annotation\Route;
26
+use Twig\Environment as TwigEnvironment;
27
+use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungLeseartModel;
28
+use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungRebsorteModel;
29
+use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungReservationModel;
30
+use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungSlotsModel;
31
+
32
+/**
33
+ * @Route("contao/weinanlieferung/buchungsliste", name=WeinanlieferungBookingsController::class, defaults={"_scope" = "backend"})
34
+ */
35
+class WeinanlieferungBookingsController extends AbstractController
36
+{
37
+    private $twig;
38
+    private $tokenManager;
39
+    private $request;
40
+
41
+    public function __construct(TwigEnvironment $twig, ContaoCsrfTokenManager $tokenManager, RequestStack $requestStack)
42
+    {
43
+        $this->twig = $twig;
44
+        $this->tokenManager = $tokenManager;
45
+        $this->request = $requestStack->getCurrentRequest();
46
+
47
+        $container = System::getContainer();
48
+        $objSession = $container->get('session');
49
+
50
+
51
+        $strKey = Input::get('popup') ? 'popupReferer' : 'referer';
52
+        $strRefererId = $this->request->attributes->get('_contao_referer_id');
53
+
54
+        $session = $objSession->get($strKey);
55
+        $session[$strRefererId]['current'] = substr(Environment::get('requestUri'), \strlen(Environment::get('path')) + 1);
56
+        $objSession->set($strKey, $session);
57
+    }
58
+    public function __invoke(): Response
59
+    {
60
+        $GLOBALS['TL_CSS']['cirrus'] = 'bundles/vonrotenbergweinanlieferung/css/backend.css|static';
61
+        $arrData = [
62
+            'request_token' => $this->tokenManager->getDefaultTokenValue(),
63
+            'ref' => $this->request->attributes->get('_contao_referer_id')
64
+        ];
65
+
66
+        // Get bookings
67
+        if (($bookings = WeinanlieferungReservationModel::findAllFuture(['order' => "(SELECT tl_vr_wa_slot.time FROM tl_vr_wa_slot WHERE tl_vr_wa_slot.id=tl_vr_wa_reservation.pid) ASC"])) !== null)
68
+        {
69
+            /** @var WeinanlieferungReservationModel $booking */
70
+            foreach ($bookings as $booking)
71
+            {
72
+                /** @var WeinanlieferungSlotsModel $Slot */
73
+                if (($Slot = $booking->getRelated('pid')) !== null)
74
+                {
75
+                    $day = new Date($Slot->date);
76
+                    $arrSorten = [];
77
+
78
+                    if (!isset($arrData['days'][$day->dayBegin][$Slot->time]))
79
+                    {
80
+                        $arrSortenAvailable = [];
81
+                        $Sorten = StringUtil::deserialize($Slot->sorten,true);
82
+                        foreach($Sorten as $sorte)
83
+                        {
84
+                            $objSorte = WeinanlieferungRebsorteModel::findByPk($sorte['sorte']);
85
+                            $objLeseart = WeinanlieferungLeseartModel::findByPk($sorte['leseart']);
86
+                            $arrSortenAvailable[] = ($objSorte !== null  ? $objSorte->title : '') . ' ' . ($objLeseart !== null  ? $objLeseart->title : '');
87
+                        }
88
+                        $arrData['days'][$day->dayBegin][$Slot->time] = array_merge($Slot->row(),[
89
+                            'sorten' => $arrSortenAvailable,
90
+                            'behaelterAvailable' => $Slot->getAvailableBehaelter(),
91
+                        ]);
92
+                    }
93
+
94
+                    if ($booking->sorten !== null)
95
+                    {
96
+                        $SortenLeseart = explode(';', $booking->sorten);
97
+                        foreach ($SortenLeseart as $sorteLeseart)
98
+                        {
99
+                            list($sorte, $leseart) = explode(',', $sorteLeseart);
100
+                            $objSorte = WeinanlieferungRebsorteModel::findByPk($sorte);
101
+                            $objLeseart = WeinanlieferungLeseartModel::findByPk($leseart);
102
+                            $arrSorten[$objSorte->id . ',' . $objLeseart->id] = ($objSorte !== null ? $objSorte->title : '') . ' ' . ($objLeseart !== null ? $objLeseart->title : '');
103
+                        }
104
+                    }
105
+
106
+                    $arrData['days'][$day->dayBegin][$Slot->time]['items'][] = array_merge($booking->row(), [
107
+                        'sorte'              => $arrSorten,
108
+                        'slot'  => $Slot->row(),
109
+                        'member' => $booking->getRelated('uid')->row()
110
+                    ]);
111
+                }
112
+            }
113
+        }
114
+
115
+        return new Response(
116
+            $this->twig->render(
117
+                '@Contao_VonrotenbergWeinanlieferungBundle/be_wa_buchungsliste.html.twig',
118
+                $arrData
119
+            )
120
+        );
121
+    }
122
+}
... ...
@@ -313,7 +313,6 @@ class SlotAjaxController extends AbstractController
313 313
         $Reservation = new WeinanlieferungReservationModel();
314 314
         $arrData = array_merge($arrData,[
315 315
             'pid' => $_REQUEST['id'],
316
-            'rootid' => $rootPage !== null ? $rootPage->id : '',
317 316
             'tstamp' => time(),
318 317
             'uid' => FrontendUser::getInstance()->id,
319 318
             'behaelter' => Input::post('behaelter'),
320 319
new file mode 100644
... ...
@@ -0,0 +1,63 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+/*
6
+ * This file is part of contao-weinanlieferung-bundle.
7
+ *
8
+ * (c) vonRotenberg
9
+ *
10
+ * @license commercial
11
+ */
12
+
13
+namespace vonRotenberg\WeinanlieferungBundle\EventListener\Backend;
14
+
15
+
16
+
17
+use Contao\CoreBundle\Event\MenuEvent;
18
+use Symfony\Component\HttpFoundation\RequestStack;
19
+use Symfony\Component\Routing\RouterInterface;
20
+use Terminal42\ServiceAnnotationBundle\Annotation\ServiceTag;
21
+use vonRotenberg\WeinanlieferungBundle\Controller\Backend\WeinanlieferungBookingsController;
22
+
23
+/**
24
+ * @ServiceTag("kernel.event_listener", event="contao.backend_menu_build", priority=-255)
25
+ */
26
+ class BackendMenuListener
27
+{
28
+     protected $router;
29
+     protected $requestStack;
30
+
31
+     public function __construct(RouterInterface $router, RequestStack $requestStack)
32
+     {
33
+         $this->router = $router;
34
+         $this->requestStack = $requestStack;
35
+     }
36
+
37
+     public function __invoke(MenuEvent $event): void
38
+     {
39
+         $factory = $event->getFactory();
40
+         $tree = $event->getTree();
41
+         $ref = $this->requestStack->getCurrentRequest()->attributes->get('_contao_referer_id');
42
+
43
+         if ('mainMenu' !== $tree->getName()) {
44
+             return;
45
+         }
46
+
47
+         if (($contentNode = $tree->getChild('weinanlieferung')) === null)
48
+         {
49
+             $contentNode = $tree->addChild('weinanlieferung');
50
+         }
51
+
52
+         $node = $factory
53
+             ->createItem('booking-list')
54
+             ->setUri($this->router->generate(WeinanlieferungBookingsController::class,['ref'=>$ref]))
55
+             ->setLabel('Buchungsübersicht')
56
+             ->setLinkAttribute('title', 'Übersicht aller gebuchter Anlieferungszeiten')
57
+             ->setLinkAttribute('class', 'navigation wa-booking-list')
58
+             ->setCurrent($this->requestStack->getCurrentRequest()->get('_controller') === WeinanlieferungBookingsController::class)
59
+         ;
60
+
61
+         $contentNode->addChild($node);
62
+     }
63
+}
0 64
new file mode 100644
... ...
@@ -0,0 +1,76 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+/*
6
+ * This file is part of contao-weinanlieferung-bundle.
7
+ *
8
+ * (c) vonRotenberg
9
+ *
10
+ * @license commercial
11
+ */
12
+
13
+namespace vonRotenberg\WeinanlieferungBundle\EventListener\DataContainer;
14
+
15
+use Contao\CoreBundle\ServiceAnnotation\Callback;
16
+use Contao\DataContainer;
17
+use Contao\Date;
18
+use Contao\StringUtil;
19
+use Doctrine\DBAL\Connection;
20
+use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungLeseartModel;
21
+use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungRebsorteModel;
22
+use vonRotenberg\WeinanlieferungBundle\Model\WeinanlieferungSlotsModel;
23
+
24
+class WeinanlieferungReservationContainerListener
25
+{
26
+    /** @var Connection */
27
+    protected $db;
28
+
29
+    public function __construct(Connection $db)
30
+    {
31
+        $this->db = $db;
32
+    }
33
+
34
+
35
+    /**
36
+     * @Callback(table="tl_vr_wa_reservation", target="fields.sorten.options")
37
+     */
38
+    public function onSortenOptionsCallback(DataContainer $dc)
39
+    {
40
+        $arrSorten = [];
41
+
42
+        if (($Slot = WeinanlieferungSlotsModel::findByPk($dc->activeRecord->pid)) === null)
43
+        {
44
+            return $arrSorten;
45
+        }
46
+
47
+        $Sorten = StringUtil::deserialize($Slot->sorten,true);
48
+        foreach($Sorten as $sorte)
49
+        {
50
+            $objSorte = WeinanlieferungRebsorteModel::findByPk($sorte['sorte']);
51
+            $objLeseart = WeinanlieferungLeseartModel::findByPk($sorte['leseart']);
52
+            $arrSorten[$objSorte->id.','.$objLeseart->id] = ($objSorte !== null  ? $objSorte->title : '') . ' ' . ($objLeseart !== null  ? $objLeseart->title : '');
53
+        }
54
+
55
+        return $arrSorten;
56
+    }
57
+
58
+    /**
59
+     * @Callback(table="tl_vr_wa_reservation", target="fields.pid.options")
60
+     */
61
+    public function onPidOptionsCallback(DataContainer $dc)
62
+    {
63
+        if (($Slots = WeinanlieferungSlotsModel::findAllFuturePublished()) === null)
64
+        {
65
+            return [];
66
+        }
67
+
68
+        $arrData = [];
69
+        foreach ($Slots as $slot)
70
+        {
71
+            $arrData[$slot->id] = Date::parse(Date::getNumericDatimFormat(),$slot->time);
72
+        }
73
+
74
+        return $arrData;
75
+    }
76
+}
... ...
@@ -12,6 +12,7 @@ declare(strict_types=1);
12 12
 
13 13
 namespace vonRotenberg\WeinanlieferungBundle\Model;
14 14
 
15
+use Contao\Date;
15 16
 use Contao\Model;
16 17
 
17 18
 class WeinanlieferungReservationModel extends Model
... ...
@@ -21,4 +22,12 @@ class WeinanlieferungReservationModel extends Model
21 22
      * @var string
22 23
      */
23 24
     protected static $strTable = 'tl_vr_wa_reservation';
25
+
26
+    public static function findAllFuture(array $arrOptions=array())
27
+    {
28
+        $t = static::$strTable;
29
+        $time = Date::floorToMinute();
30
+
31
+        return static::findBy(array("pid IN (SELECT tl_vr_wa_slot.id FROM tl_vr_wa_slot WHERE tl_vr_wa_slot.id=tl_vr_wa_reservation.pid AND tl_vr_wa_slot.time >= ?)"), $time, $arrOptions);
32
+    }
24 33
 }
... ...
@@ -14,6 +14,7 @@ namespace vonRotenberg\WeinanlieferungBundle\Model;
14 14
 
15 15
 use Contao\Controller;
16 16
 use Contao\Database;
17
+use Contao\Date;
17 18
 use Contao\Model;
18 19
 use Contao\Model\Registry;
19 20
 use Doctrine\DBAL\Connection;
... ...
@@ -97,6 +98,14 @@ class WeinanlieferungSlotsModel extends Model
97 98
         return static::findBy($arrColumns,null,$arrOptions);
98 99
     }
99 100
 
101
+    public static function findAllFuturePublished(array $arrOptions=array())
102
+    {
103
+        $t = static::$strTable;
104
+        $time = Date::floorToMinute();
105
+
106
+        return static::findBy(array("$t.time >= ?","$t.tstamp!=0","$t.buchbar='1' AND $t.buchbar_bis > ?"), [$time,$time], $arrOptions);
107
+    }
108
+
100 109
     public function getAvailableBehaelter(?int $intOffset=null)
101 110
     {
102 111
         /** @var Connection $db */