diff --git a/core/models.py b/core/models.py
index 36d457c..2b4b6b0 100644
--- a/core/models.py
+++ b/core/models.py
@@ -1,5 +1,4 @@
from django.db import models
-from tinymce.models import HTMLField
from admin_ordering.models import OrderableModel
from filebrowser.fields import FileBrowseField
diff --git a/core/templates/atu.html b/core/templates/atu.html
index 4d83b43..94ab09f 100644
--- a/core/templates/atu.html
+++ b/core/templates/atu.html
@@ -4,6 +4,11 @@
{% load static tailwind_tags wysiwyg %} {% block content %}
-
{% content atu %}
+
+ {% content atu %}
+
+ {% buttons atu.buttons %}
+
+
{% endblock %}
diff --git a/core/templates/calendar.html b/core/templates/calendar.html
index f786853..2c80238 100644
--- a/core/templates/calendar.html
+++ b/core/templates/calendar.html
@@ -22,6 +22,9 @@
{% for calendar in calendars %}
{% content calendar %}
+
+ {% buttons calendar.buttons %}
+
{% empty %}
Brak kalendarzy
diff --git a/core/templates/grandprix.html b/core/templates/grandprix.html
index c52e070..660f7a5 100644
--- a/core/templates/grandprix.html
+++ b/core/templates/grandprix.html
@@ -3,5 +3,10 @@
{% block title %}Grand Prix Białegostoku | pdlzbs{% endblock %}
{% load static tailwind_tags wysiwyg %} {% block content %}
-{% content gpb %}
+
+ {% content gpb %}
+
+ {% buttons gpb.buttons %}
+
+
{% endblock %}
diff --git a/core/templates/home-reverse.html b/core/templates/home-reverse.html
index 9257044..1288e9d 100644
--- a/core/templates/home-reverse.html
+++ b/core/templates/home-reverse.html
@@ -9,6 +9,9 @@
{{ focus.title }}
{% endif %}
{% content focus %}
+
+ {% buttons focus.buttons %}
+
{% endblock %}
diff --git a/core/templates/home.html b/core/templates/home.html
index f2c4f23..4647e90 100644
--- a/core/templates/home.html
+++ b/core/templates/home.html
@@ -21,6 +21,9 @@
{{ post.title }}
{% endif %}
{% readmore post %}
+
+ {% buttons post.buttons %}
+
{% if not forloop.last %}
diff --git a/core/templates/mbkb.html b/core/templates/mbkb.html
index cfa4e5e..0aae08d 100644
--- a/core/templates/mbkb.html
+++ b/core/templates/mbkb.html
@@ -11,6 +11,9 @@
{% if article.show_title %}
{{ article.title }}
{% endif %} {% content article %}
+
+ {% buttons article.buttons %}
+
{% if not forloop.last %}
diff --git a/core/templates/membership.html b/core/templates/membership.html
index 0934fc9..e8c4bbc 100644
--- a/core/templates/membership.html
+++ b/core/templates/membership.html
@@ -24,6 +24,9 @@
{% for membership in memberships %}
{% content membership %}
+
+ {% buttons membership.buttons %}
+
{% empty %}
Brak dokumentów
diff --git a/core/templatetags/wysiwyg.py b/core/templatetags/wysiwyg.py
index d40e806..90137d9 100644
--- a/core/templatetags/wysiwyg.py
+++ b/core/templatetags/wysiwyg.py
@@ -22,7 +22,9 @@ def readmore(context, value: str):
res = value.content.split('')
cntnt = res[0]
if len(res) > 1:
- cntnt += f'
...
Czytaj dalej'
+ cntnt += '
...
'
+ cntnt += f'Czytaj dalej'
+ cntnt += '
'
return mark_safe(tableoverflow(cntnt))
diff --git a/db/atu/migrations/0003_atu_buttons.py b/db/atu/migrations/0003_atu_buttons.py
new file mode 100644
index 0000000..4703454
--- /dev/null
+++ b/db/atu/migrations/0003_atu_buttons.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.5 on 2022-09-28 20:25
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('atu', '0002_alter_atu_content'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='atu',
+ name='buttons',
+ field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
tekst1 -> link
teskt2 | link
...
Symbol -> oznacza, że link będzie otwarty w nowej karcie
Symbol | oznacza, że link będzie otwarty w tej samej karcie
Na przykład:
pzbs -> https://pzbs.pl
fotogaleria | https://galeria.podlaskizbs.pl
cezar -> https://www.msc.com.pl/cezar
PZBS i Cezar zostaną otwarte w nowej karcie
UWAGA !!
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
-> link do wyników
fotogaleria -> link do fotogalerii
Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
', verbose_name='Przyciski'),
+ ),
+ ]
diff --git a/db/atu/models.py b/db/atu/models.py
index eaf6a5c..a9bdd05 100644
--- a/db/atu/models.py
+++ b/db/atu/models.py
@@ -4,9 +4,36 @@ from core.utils import SingletonModel
# Create your models here.
+buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
+
+ tekst1 -> link
+ teskt2 | link
+ ...
+
+ Symbol -> oznacza, że link będzie otwarty w nowej karcie
+ Symbol | oznacza, że link będzie otwarty w tej samej karcie
+ Na przykład:
+
+ pzbs -> https://pzbs.pl
+ fotogaleria | https://galeria.podlaskizbs.pl
+ cezar -> https://www.msc.com.pl/cezar
+
+ PZBS i Cezar zostaną otwarte w nowej karcie
+ UWAGA !!
+ Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
+ Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
+
+ -> link do wyników
+ fotogaleria -> link do fotogalerii
+
+ Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
+ """.replace('\n', '
')
+
class Atu(SingletonModel):
content = HTMLField('Tekst', default='', blank=True)
+ buttons = models.TextField(
+ 'Przyciski', default='', blank=True, help_text=buttons_help_text)
def __str__(self):
return 'Stowarzyszenie Brydżowe ATU'
diff --git a/db/calendar/migrations/0004_calendar_buttons.py b/db/calendar/migrations/0004_calendar_buttons.py
new file mode 100644
index 0000000..a6e3425
--- /dev/null
+++ b/db/calendar/migrations/0004_calendar_buttons.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.5 on 2022-09-28 20:25
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('calendar', '0003_calendar_published'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='calendar',
+ name='buttons',
+ field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
tekst1 -> link
teskt2 | link
...
Symbol -> oznacza, że link będzie otwarty w nowej karcie
Symbol | oznacza, że link będzie otwarty w tej samej karcie
Na przykład:
pzbs -> https://pzbs.pl
fotogaleria | https://galeria.podlaskizbs.pl
cezar -> https://www.msc.com.pl/cezar
PZBS i Cezar zostaną otwarte w nowej karcie
UWAGA !!
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
-> link do wyników
fotogaleria -> link do fotogalerii
Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
', verbose_name='Przyciski'),
+ ),
+ ]
diff --git a/db/calendar/models.py b/db/calendar/models.py
index 1fc8639..ea770f6 100644
--- a/db/calendar/models.py
+++ b/db/calendar/models.py
@@ -2,6 +2,30 @@ from django.db import models
from tinymce.models import HTMLField
# Create your models here.
+buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
+
+ tekst1 -> link
+ teskt2 | link
+ ...
+
+ Symbol -> oznacza, że link będzie otwarty w nowej karcie
+ Symbol | oznacza, że link będzie otwarty w tej samej karcie
+ Na przykład:
+
+ pzbs -> https://pzbs.pl
+ fotogaleria | https://galeria.podlaskizbs.pl
+ cezar -> https://www.msc.com.pl/cezar
+
+ PZBS i Cezar zostaną otwarte w nowej karcie
+ UWAGA !!
+ Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
+ Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
+
+ -> link do wyników
+ fotogaleria -> link do fotogalerii
+
+ Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
+ """.replace('\n', '
')
class Calendar(models.Model):
@@ -9,6 +33,9 @@ class Calendar(models.Model):
year = models.IntegerField('Rok', primary_key=True)
content = HTMLField('Kalendarz', default='', blank=True)
+ buttons = models.TextField(
+ 'Przyciski', default='', blank=True, help_text=buttons_help_text)
+
def __str__(self):
return f'Kalendarz {self.year}'
diff --git a/db/gpb/migrations/0003_grandprixb_buttons.py b/db/gpb/migrations/0003_grandprixb_buttons.py
new file mode 100644
index 0000000..ad986e7
--- /dev/null
+++ b/db/gpb/migrations/0003_grandprixb_buttons.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.5 on 2022-09-28 20:25
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('gpb', '0002_alter_grandprixb_content'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='grandprixb',
+ name='buttons',
+ field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
tekst1 -> link
teskt2 | link
...
Symbol -> oznacza, że link będzie otwarty w nowej karcie
Symbol | oznacza, że link będzie otwarty w tej samej karcie
Na przykład:
pzbs -> https://pzbs.pl
fotogaleria | https://galeria.podlaskizbs.pl
cezar -> https://www.msc.com.pl/cezar
PZBS i Cezar zostaną otwarte w nowej karcie
UWAGA !!
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
-> link do wyników
fotogaleria -> link do fotogalerii
Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
', verbose_name='Przyciski'),
+ ),
+ ]
diff --git a/db/gpb/models.py b/db/gpb/models.py
index 419d884..1200c6f 100644
--- a/db/gpb/models.py
+++ b/db/gpb/models.py
@@ -3,10 +3,36 @@ from tinymce.models import HTMLField
from core.utils import SingletonModel
# Create your models here.
+buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
+
+ tekst1 -> link
+ teskt2 | link
+ ...
+
+ Symbol -> oznacza, że link będzie otwarty w nowej karcie
+ Symbol | oznacza, że link będzie otwarty w tej samej karcie
+ Na przykład:
+
+ pzbs -> https://pzbs.pl
+ fotogaleria | https://galeria.podlaskizbs.pl
+ cezar -> https://www.msc.com.pl/cezar
+
+ PZBS i Cezar zostaną otwarte w nowej karcie
+ UWAGA !!
+ Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
+ Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
+
+ -> link do wyników
+ fotogaleria -> link do fotogalerii
+
+ Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
+ """.replace('\n', '
')
class GrandPrixB(SingletonModel):
content = HTMLField('Tekst GPB', default='', blank=True)
+ buttons = models.TextField(
+ 'Przyciski', default='', blank=True, help_text=buttons_help_text)
def __str__(self):
return 'Grand Prix Białegostoku'
diff --git a/db/main/migrations/0006_grandprixw_buttons_post_buttons.py b/db/main/migrations/0006_grandprixw_buttons_post_buttons.py
new file mode 100644
index 0000000..6822872
--- /dev/null
+++ b/db/main/migrations/0006_grandprixw_buttons_post_buttons.py
@@ -0,0 +1,23 @@
+# Generated by Django 4.0.5 on 2022-09-28 20:25
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('main', '0005_post_published_post_show_title'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='grandprixw',
+ name='buttons',
+ field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
tekst1 -> link
teskt2 | link
...
Symbol -> oznacza, że link będzie otwarty w nowej karcie
Symbol | oznacza, że link będzie otwarty w tej samej karcie
Na przykład:
pzbs -> https://pzbs.pl
fotogaleria | https://galeria.podlaskizbs.pl
cezar -> https://www.msc.com.pl/cezar
PZBS i Cezar zostaną otwarte w nowej karcie
UWAGA !!
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
-> link do wyników
fotogaleria -> link do fotogalerii
Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
', verbose_name='Przyciski'),
+ ),
+ migrations.AddField(
+ model_name='post',
+ name='buttons',
+ field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
tekst1 -> link
teskt2 | link
...
Symbol -> oznacza, że link będzie otwarty w nowej karcie
Symbol | oznacza, że link będzie otwarty w tej samej karcie
Na przykład:
pzbs -> https://pzbs.pl
fotogaleria | https://galeria.podlaskizbs.pl
cezar -> https://www.msc.com.pl/cezar
PZBS i Cezar zostaną otwarte w nowej karcie
UWAGA !!
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
-> link do wyników
fotogaleria -> link do fotogalerii
Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
', verbose_name='Przyciski'),
+ ),
+ ]
diff --git a/db/main/models.py b/db/main/models.py
index da78615..aec68b2 100644
--- a/db/main/models.py
+++ b/db/main/models.py
@@ -6,6 +6,30 @@ from admin_ordering.models import OrderableModel
from core.utils import SingletonModel
# Create your models here.
+buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
+
+ tekst1 -> link
+ teskt2 | link
+ ...
+
+ Symbol -> oznacza, że link będzie otwarty w nowej karcie
+ Symbol | oznacza, że link będzie otwarty w tej samej karcie
+ Na przykład:
+
+ pzbs -> https://pzbs.pl
+ fotogaleria | https://galeria.podlaskizbs.pl
+ cezar -> https://www.msc.com.pl/cezar
+
+ PZBS i Cezar zostaną otwarte w nowej karcie
+ UWAGA !!
+ Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
+ Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
+
+ -> link do wyników
+ fotogaleria -> link do fotogalerii
+
+ Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
+ """.replace('\n', '
')
class Post(OrderableModel):
@@ -13,6 +37,8 @@ class Post(OrderableModel):
show_title = models.BooleanField('Pokaż tytuł', default=True)
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
content = HTMLField('Treść', default='', blank=True)
+ buttons = models.TextField(
+ 'Przyciski', default='', blank=True, help_text=buttons_help_text)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
@@ -30,6 +56,8 @@ class Post(OrderableModel):
class GrandPrixW(SingletonModel):
content = HTMLField('Tekst GPW', default='', blank=True)
+ buttons = models.TextField(
+ 'Przyciski', default='', blank=True, help_text=buttons_help_text)
def __str__(self):
return 'Grand Prix Województwa'
diff --git a/db/mbkb/migrations/0002_mbkb_buttons.py b/db/mbkb/migrations/0002_mbkb_buttons.py
new file mode 100644
index 0000000..67d6ad3
--- /dev/null
+++ b/db/mbkb/migrations/0002_mbkb_buttons.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.5 on 2022-09-28 20:25
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('mbkb', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='mbkb',
+ name='buttons',
+ field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
tekst1 -> link
teskt2 | link
...
Symbol -> oznacza, że link będzie otwarty w nowej karcie
Symbol | oznacza, że link będzie otwarty w tej samej karcie
Na przykład:
pzbs -> https://pzbs.pl
fotogaleria | https://galeria.podlaskizbs.pl
cezar -> https://www.msc.com.pl/cezar
PZBS i Cezar zostaną otwarte w nowej karcie
UWAGA !!
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
-> link do wyników
fotogaleria -> link do fotogalerii
Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
', verbose_name='Przyciski'),
+ ),
+ ]
diff --git a/db/mbkb/models.py b/db/mbkb/models.py
index 46d7a4d..ebe1488 100644
--- a/db/mbkb/models.py
+++ b/db/mbkb/models.py
@@ -4,12 +4,39 @@ from admin_ordering.models import OrderableModel
# Create your models here.
+buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
+
+ tekst1 -> link
+ teskt2 | link
+ ...
+
+ Symbol -> oznacza, że link będzie otwarty w nowej karcie
+ Symbol | oznacza, że link będzie otwarty w tej samej karcie
+ Na przykład:
+
+ pzbs -> https://pzbs.pl
+ fotogaleria | https://galeria.podlaskizbs.pl
+ cezar -> https://www.msc.com.pl/cezar
+
+ PZBS i Cezar zostaną otwarte w nowej karcie
+ UWAGA !!
+ Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
+ Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
+
+ -> link do wyników
+ fotogaleria -> link do fotogalerii
+
+ Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
+ """.replace('\n', '
')
+
class MBKB(OrderableModel):
published = models.BooleanField('Wpis opublikowany', default=True)
show_title = models.BooleanField('Pokaż tytuł', default=True)
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
content = HTMLField('Tekst', default='', blank=True)
+ buttons = models.TextField(
+ 'Przyciski', default='', blank=True, help_text=buttons_help_text)
def __str__(self):
return self.title or '(brak tytułu)'
diff --git a/db/membership/migrations/0004_membership_buttons.py b/db/membership/migrations/0004_membership_buttons.py
new file mode 100644
index 0000000..b58a664
--- /dev/null
+++ b/db/membership/migrations/0004_membership_buttons.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.5 on 2022-09-28 20:25
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('membership', '0003_membership_published'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='membership',
+ name='buttons',
+ field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
tekst1 -> link
teskt2 | link
...
Symbol -> oznacza, że link będzie otwarty w nowej karcie
Symbol | oznacza, że link będzie otwarty w tej samej karcie
Na przykład:
pzbs -> https://pzbs.pl
fotogaleria | https://galeria.podlaskizbs.pl
cezar -> https://www.msc.com.pl/cezar
PZBS i Cezar zostaną otwarte w nowej karcie
UWAGA !!
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
-> link do wyników
fotogaleria -> link do fotogalerii
Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
', verbose_name='Przyciski'),
+ ),
+ ]
diff --git a/db/membership/models.py b/db/membership/models.py
index 03108c4..259cdab 100644
--- a/db/membership/models.py
+++ b/db/membership/models.py
@@ -3,11 +3,38 @@ from tinymce.models import HTMLField
# Create your models here.
+buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
+
+ tekst1 -> link
+ teskt2 | link
+ ...
+
+ Symbol -> oznacza, że link będzie otwarty w nowej karcie
+ Symbol | oznacza, że link będzie otwarty w tej samej karcie
+ Na przykład:
+
+ pzbs -> https://pzbs.pl
+ fotogaleria | https://galeria.podlaskizbs.pl
+ cezar -> https://www.msc.com.pl/cezar
+
+ PZBS i Cezar zostaną otwarte w nowej karcie
+ UWAGA !!
+ Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
+ Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
+
+ -> link do wyników
+ fotogaleria -> link do fotogalerii
+
+ Wtedy pokaże się tylko przycisk fotogalerii, a zdjęcie przekieruje nas do wyników!
+ """.replace('\n', '
')
+
class Membership(models.Model):
published = models.BooleanField('Wpis opublikowany', default=True)
year = models.IntegerField('Rok', primary_key=True)
content = HTMLField('Treść', default='', blank=True)
+ buttons = models.TextField(
+ 'Przyciski', default='', blank=True, help_text=buttons_help_text)
def __str__(self):
return f'Składki członkowskie {self.year}'
diff --git a/static/css/dist/styles.css b/static/css/dist/styles.css
index 3377809..913a5c4 100644
--- a/static/css/dist/styles.css
+++ b/static/css/dist/styles.css
@@ -1305,6 +1305,22 @@ select {
margin-bottom: auto;
}
+.mt-8 {
+ margin-top: 2rem;
+}
+
+.mt-12 {
+ margin-top: 3rem;
+}
+
+.mt-16 {
+ margin-top: 4rem;
+}
+
+.mt-20 {
+ margin-top: 5rem;
+}
+
.block {
display: block;
}
diff --git a/theme/static/css/dist/styles.css b/theme/static/css/dist/styles.css
index 3377809..913a5c4 100644
--- a/theme/static/css/dist/styles.css
+++ b/theme/static/css/dist/styles.css
@@ -1305,6 +1305,22 @@ select {
margin-bottom: auto;
}
+.mt-8 {
+ margin-top: 2rem;
+}
+
+.mt-12 {
+ margin-top: 3rem;
+}
+
+.mt-16 {
+ margin-top: 4rem;
+}
+
+.mt-20 {
+ margin-top: 5rem;
+}
+
.block {
display: block;
}