diff --git a/README.md b/README.md index e04c7c4ff665a2f45bf7f3f5d0131e2b8f49ae61..a54ad214bdf75428b223bae07094ea27cf988f7e 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Rozšíření která používáme: ├── senat_campaign = app na weby kandidátů na senátory ├── districts = app na web kraje.pirati.cz ├── program2021 = app na prezentaci programu 2021 + ├── uniweb = app na univerzalni webove stranky ... ├── majak = Django projekt s konfigurací Majáku ├── shared = app se sdílenými static soubory a templaty pro weby diff --git a/majak/settings/base.py b/majak/settings/base.py index 017f3f114833b82e2cec53e1bac029cdc0703ccd..1c615875701d56a6070de97700eaabfe55f0b6af 100644 --- a/majak/settings/base.py +++ b/majak/settings/base.py @@ -37,6 +37,7 @@ INSTALLED_APPS = [ "senat_campaign", "home", "program2021", + "uniweb", "shared", "calendar_utils", "users", diff --git a/shared/static/shared/img/logo_black.svg b/shared/static/shared/img/logo_black.svg new file mode 100644 index 0000000000000000000000000000000000000000..bb08d45f5bd57d47c5d78806303a90aba1f5d259 --- /dev/null +++ b/shared/static/shared/img/logo_black.svg @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + id="Vrstva_1" + viewBox="0 0 302.3622 302.36221" + version="1.1" + width="80mm" + height="80mm"> + <metadata + id="metadata1114"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs1112" /> + <style + id="style1101"> + .st0{fill:none} + </style> + <path + d="M 151.52548,2.4e-7 C 110.8891,2.4e-7 73.00773,15.8413 44.768891,44.080139 15.841299,72.318978 -4.1e-7,110.8891 -4.1e-7,150.83673 c 0,40.63637 15.84129941,78.51774 44.08013841,107.44533 28.927592,28.23884 66.808962,44.08014 106.756582,44.08014 40.63638,0 78.51775,-15.8413 106.75659,-44.08014 28.92759,-28.23883 44.08014,-66.80896 44.08014,-106.75658 0,-40.63638 -15.8413,-78.51775 -44.08014,-106.756589 C 230.04322,15.152548 192.16186,2.4000002e-7 151.52548,2.4000002e-7 M 151.52548,287.89841 c -75.762742,0 -137.061685,-61.29895 -137.061685,-137.06168 0,-75.762743 61.298943,-137.061686 137.061685,-137.061686 75.76274,0 137.06168,61.298943 137.06168,137.061686 0,75.76273 -61.29894,137.06168 -137.06168,137.06168" + id="path1103" + style="stroke-width:6.88752" /> + <path + d="M 106.06783,61.298943 V 39.947626 H 92.981543 v 24.795078 c -8.953779,2.755009 -14.463796,5.510018 -13.086292,7.576274 2.755009,-0.688752 7.576274,-1.377504 13.086292,-0.688752 V 198.36063 c -13.775044,26.17258 6.198769,66.80896 6.198769,66.80896 0,0 -14.463796,-43.39139 17.907558,-64.05396 29.61634,-18.5963 132.92917,-10.33128 132.24042,-68.18646 C 248.63953,50.967661 153.59173,50.967661 106.06783,61.298943 m 42.01389,79.895257 c -4.82127,22.04006 -28.23884,33.0601 -42.70264,42.70263 V 73.00773 c 24.10633,5.510018 52.34517,24.106326 42.70264,68.18647" + id="path1105" + style="stroke-width:6.88752" /> +</svg> diff --git a/shared/static/shared/img/logo_white.svg b/shared/static/shared/img/logo_white.svg new file mode 100644 index 0000000000000000000000000000000000000000..5b73cdcbea5cf6d7dba3affbf9b504110cff781e --- /dev/null +++ b/shared/static/shared/img/logo_white.svg @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + id="Vrstva_1" + viewBox="0 0 302.3622 302.36221" + version="1.1" + width="80mm" + height="80mm"> + <metadata + id="metadata1114"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs1112" /> + <style + id="style1101"> + .st0{fill:none} + </style> + <path + d="M 151.52548,2.4e-7 C 110.8891,2.4e-7 73.00773,15.8413 44.768891,44.080139 15.841299,72.318978 -4.1e-7,110.8891 -4.1e-7,150.83673 c 0,40.63637 15.84129941,78.51774 44.08013841,107.44533 28.927592,28.23884 66.808962,44.08014 106.756582,44.08014 40.63638,0 78.51775,-15.8413 106.75659,-44.08014 28.92759,-28.23883 44.08014,-66.80896 44.08014,-106.75658 0,-40.63638 -15.8413,-78.51775 -44.08014,-106.756589 C 230.04322,15.152548 192.16186,2.4000002e-7 151.52548,2.4000002e-7 M 151.52548,287.89841 c -75.762742,0 -137.061685,-61.29895 -137.061685,-137.06168 0,-75.762743 61.298943,-137.061686 137.061685,-137.061686 75.76274,0 137.06168,61.298943 137.06168,137.061686 0,75.76273 -61.29894,137.06168 -137.06168,137.06168" + id="path1103" + style="stroke-width:6.88752;fill:#ffffff" /> + <path + d="M 106.06783,61.298943 V 39.947626 H 92.981543 v 24.795078 c -8.953779,2.755009 -14.463796,5.510018 -13.086292,7.576274 2.755009,-0.688752 7.576274,-1.377504 13.086292,-0.688752 V 198.36063 c -13.775044,26.17258 6.198769,66.80896 6.198769,66.80896 0,0 -14.463796,-43.39139 17.907558,-64.05396 29.61634,-18.5963 132.92917,-10.33128 132.24042,-68.18646 C 248.63953,50.967661 153.59173,50.967661 106.06783,61.298943 m 42.01389,79.895257 c -4.82127,22.04006 -28.23884,33.0601 -42.70264,42.70263 V 73.00773 c 24.10633,5.510018 52.34517,24.106326 42.70264,68.18647" + id="path1105" + style="stroke-width:6.88752;fill:#ffffff" /> +</svg> diff --git a/uniweb/__init__.py b/uniweb/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/uniweb/apps.py b/uniweb/apps.py new file mode 100644 index 0000000000000000000000000000000000000000..04014c2fc2b9a77f34d8b98f21ead63e3179dddd --- /dev/null +++ b/uniweb/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class UniwebConfig(AppConfig): + name = "uniweb" diff --git a/uniweb/migrations/0001_initial.py b/uniweb/migrations/0001_initial.py new file mode 100644 index 0000000000000000000000000000000000000000..a66edfeba9657ce2b525b7bd63f9bddea18c788f --- /dev/null +++ b/uniweb/migrations/0001_initial.py @@ -0,0 +1,258 @@ +# Generated by Django 3.1.1 on 2020-09-08 21:05 + +import django.db.models.deletion +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks +import wagtailmetadata.models +from django.db import migrations, models + +import uniweb.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ("wagtailcore", "0052_pagelogentry"), + ("wagtailimages", "0022_uploadedimage"), + ] + + operations = [ + migrations.CreateModel( + name="UniwebHomePage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "content", + wagtail.core.fields.StreamField( + [ + ( + "text_section", + wagtail.core.blocks.StructBlock( + [ + ( + "title", + wagtail.core.blocks.CharBlock( + label="nadpis", required=False + ), + ), + ( + "text", + wagtail.core.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + ], + label="text", + ), + ), + ] + ), + ), + ( + "gallery_section", + wagtail.core.blocks.StructBlock( + [ + ( + "title", + wagtail.core.blocks.CharBlock( + label="nadpis", required=False + ), + ), + ( + "images", + wagtail.core.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock( + label="obrázek" + ) + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="obsah stránky", + ), + ), + ( + "matomo_id", + models.IntegerField( + blank=True, + null=True, + verbose_name="Matomo ID pro sledování návštěvnosti", + ), + ), + ( + "top_menu", + wagtail.core.fields.StreamField( + [ + ( + "item", + wagtail.core.blocks.StructBlock( + [ + ( + "name", + wagtail.core.blocks.CharBlock( + label="název" + ), + ), + ( + "page", + wagtail.core.blocks.PageChooserBlock( + label="stránka" + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="horní menu", + ), + ), + ( + "search_image", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailimages.image", + verbose_name="Search image", + ), + ), + ], + options={"verbose_name": "Univerzální web",}, + bases=( + wagtailmetadata.models.MetadataMixin, + "wagtailcore.page", + models.Model, + ), + ), + migrations.CreateModel( + name="UniwebFlexiblePage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "content", + wagtail.core.fields.StreamField( + [ + ( + "text_section", + wagtail.core.blocks.StructBlock( + [ + ( + "title", + wagtail.core.blocks.CharBlock( + label="nadpis", required=False + ), + ), + ( + "text", + wagtail.core.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + ], + label="text", + ), + ), + ] + ), + ), + ( + "gallery_section", + wagtail.core.blocks.StructBlock( + [ + ( + "title", + wagtail.core.blocks.CharBlock( + label="nadpis", required=False + ), + ), + ( + "images", + wagtail.core.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock( + label="obrázek" + ) + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="obsah stránky", + ), + ), + ( + "search_image", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailimages.image", + verbose_name="Search image", + ), + ), + ], + options={"verbose_name": "Flexibilní stránka",}, + bases=( + "wagtailcore.page", + uniweb.models.SubpageMixin, + wagtailmetadata.models.MetadataMixin, + models.Model, + ), + ), + ] diff --git a/uniweb/migrations/__init__.py b/uniweb/migrations/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/uniweb/models.py b/uniweb/models.py new file mode 100644 index 0000000000000000000000000000000000000000..c27f88849203255edce007f71ea99568e347baef --- /dev/null +++ b/uniweb/models.py @@ -0,0 +1,158 @@ +from django.db import models +from django.utils.translation import gettext_lazy +from wagtail.admin.edit_handlers import ( + FieldPanel, + HelpPanel, + MultiFieldPanel, + StreamFieldPanel, +) +from wagtail.core import blocks +from wagtail.core.fields import StreamField +from wagtail.core.models import Page +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtailmetadata.models import MetadataPageMixin + +from tuning import help + +RICH_TEXT_FEATURES = [ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", +] + + +class TextSectionBlock(blocks.StructBlock): + title = blocks.CharBlock(label="nadpis", required=False) + text = blocks.RichTextBlock(label="text", features=RICH_TEXT_FEATURES) + + class Meta: + label = "textová sekce" + + +class MenuItemBlock(blocks.StructBlock): + name = blocks.CharBlock(label="název") + page = blocks.PageChooserBlock(label="stránka") + + class Meta: + label = "stránka" + + +class SubpageMixin: + """Must be used in class definition before MetadataPageMixin!""" + + @property + def root_page(self): + if not hasattr(self, "_root_page"): + self._root_page = self.get_ancestors().type(UniwebHomePage).specific().get() + return self._root_page + + def get_meta_image(self): + return self.search_image or self.root_page.get_meta_image() + + +class UniwebHomePage(MetadataPageMixin, Page): + ### FIELDS + + content = StreamField( + [("text_section", TextSectionBlock()),], + verbose_name="Obsah stránky", + blank=True, + ) + # settings + matomo_id = models.IntegerField( + "Matomo ID pro sledování návštěvnosti", blank=True, null=True + ) + top_menu = StreamField( + [("item", MenuItemBlock())], verbose_name="horní menu", blank=True, + ) + + ### PANELS + + content_panels = Page.content_panels + [ + StreamFieldPanel("content"), + ] + + promote_panels = [ + MultiFieldPanel( + [ + FieldPanel("seo_title"), + FieldPanel("search_description"), + ImageChooserPanel("search_image"), + HelpPanel(help.build(help.IMPORTANT_TITLE)), + ], + gettext_lazy("Common page configuration"), + ), + ] + + settings_panels = [ + FieldPanel("matomo_id"), + StreamFieldPanel("top_menu"), + ] + + ### RELATIONS + + subpage_types = [ + "uniweb.UniwebFlexiblePage", + ] + + ### OTHERS + + class Meta: + verbose_name = "Univerzální web" + + @property + def root_page(self): + return self + + +class UniwebFlexiblePage(Page, SubpageMixin, MetadataPageMixin): + ### FIELDS + + content = StreamField( + [("text_section", TextSectionBlock()),], + verbose_name="Obsah stránky", + blank=True, + ) + + ### PANELS + + promote_panels = [ + MultiFieldPanel( + [ + FieldPanel("slug"), + FieldPanel("seo_title"), + FieldPanel("search_description"), + ImageChooserPanel("search_image"), + HelpPanel(help.build(help.NO_SEO_TITLE, help.NO_SEARCH_IMAGE)), + ], + gettext_lazy("Common page configuration"), + ), + ] + + content_panels = Page.content_panels + [ + StreamFieldPanel("content"), + ] + + settings_panels = [] + + ### RELATIONS + + parent_page_types = ["uniweb.UniwebHomePage"] + subpage_types = [] + + ### OTHERS + + class Meta: + verbose_name = "Flexibilní stránka" diff --git a/uniweb/static/uniweb/assets/css/icons.css b/uniweb/static/uniweb/assets/css/icons.css new file mode 100644 index 0000000000000000000000000000000000000000..7218ce4bf326a8ec64edd73a7a8be8dea58bec4c --- /dev/null +++ b/uniweb/static/uniweb/assets/css/icons.css @@ -0,0 +1,63 @@ +@font-face { + font-family: 'icomoon'; + src: url('../../icons/icomoon.eot?qfo5nx'); + src: url('../../icons/icomoon.eot?qfo5nx#iefix') format('embedded-opentype'), + url('../../icons/icomoon.ttf?qfo5nx') format('truetype'), + url('../../icons/icomoon.woff?qfo5nx') format('woff'), + url('../../icons/icomoon.svg?qfo5nx#icomoon') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + +i { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-heart:before { + content: "\f004"; +} +.icon-linkedin:before { + content: "\f08c"; +} +.icon-twitter:before { + content: "\f099"; +} +.icon-youtube:before { + content: "\f167"; +} +.icon-instagram:before { + content: "\f16d"; +} +.icon-flickr:before { + content: "\f16e"; +} +.icon-facebook-f:before { + content: "\f39e"; +} +.icon-check:before { + content: "\f00c"; +} +.icon-chevron-left:before { + content: "\f053"; +} +.icon-chevron-right:before { + content: "\f054"; +} +.icon-external-link:before { + content: "\f08e"; +} +.icon-calendar:before { + content: "\f133"; +} diff --git a/uniweb/static/uniweb/assets/css/style.css b/uniweb/static/uniweb/assets/css/style.css new file mode 100644 index 0000000000000000000000000000000000000000..bf3d78161cd1a559e7b90d0855dee1a8b649ef33 --- /dev/null +++ b/uniweb/static/uniweb/assets/css/style.css @@ -0,0 +1,1195 @@ +/* +* +* Custom styling for Piráti donate website +* Author: Daniel Hlavacek +* Author's website: https://danielhlavacek.cz/ +* +*/ + +/* GENERAL */ + +body { + font-size: 16px; + /*padding-top: 79px;*/ + font-family: "Roboto Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +a:hover { + color: #757575; +} + +/* HEADINGS */ + +h1, h1.lead { + font-size: 3.6rem; +} + +h2, h2.lead { + font-size: 2.8rem; +} + +h3, h3.lead { + font-size: 2.1rem; +} + +h4, h4.lead { + font-size: 1.65rem; +} + +h5, h5.lead { + font-size: 1.3rem; +} + +h6, h6.lead { + font-size: 1rem; +} + +@media screen and (max-width: 500px) { + h1, h1.lead { + font-size: 3rem; + } + h2, h2.lead { + font-size: 2.4rem; + } + h3, h3.lead { + font-size: 1.85rem; + } + h4, h4.lead { + font-size: 1.4rem; + } + h5, h5.lead { + font-size: 1.2rem; + } + h6, h6.lead { + font-size: 1rem; + } +} + +h1.lead, h2.lead, h3.lead, h4.lead, h5.lead, h6.lead { + font-family: "Bebas Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + line-height: 1; + text-transform: uppercase; +} + + + +h1.homepage-heading { + font-size: 6rem; +} +h1.heading { + font-size: 4rem; +} +h2.page-subheading { + font-size: 4rem; +} +h3.page-subheading { + font-size: 3.8rem; +} + +@media screen and (max-width: 1200px) { + h1.homepage-heading { + font-size: 5.4rem; + } + h1.heading { + font-size: 4rem; + } + h2.page-subheading { + font-size: 4rem; + } + h3.page-subheading { + font-size: 3.6rem; + } +} + +@media screen and (max-width: 991px) { + h1.homepage-heading { + font-size: 4.4rem; + } + h1.heading { + font-size: 3.7rem; + } + h2.page-subheading { + font-size: 3.7rem; + } + h3.page-subheading { + font-size: 3.2rem; + } +} + +@media screen and (max-width: 440px) { + h1.homepage-heading { + font-size: 3.8rem; + } + h1.heading { + font-size: 3.4rem; + } + h2.page-subheading { + font-size: 3.4rem; + } + h3.page-subheading { + font-size: 3rem; + } +} + +@media screen and (max-width: 370px) { + h1.homepage-heading { + font-size: 3.6rem; + } + h2.page-subheading { + font-size: 3rem; + } + h3.page-subheading { + font-size: 2.6rem; + } +} + +@media screen and (max-width: 330px) { + h1.homepage-heading { + font-size: 3rem; + } + h2.page-subheading { + font-size: 2.8rem; + } + h3.page-subheading { + font-size: 2.3rem; + } +} + + +/* BUTTONS */ + +.btn-dark { + background: #000000; +} + +.btn-light { + background: #CCCCCC; +} + +.btn-dark:hover, .btn-light:hover { + background: #222222; + color: #FFFFFF; +} + +.btn { + border-radius: 0; + padding: 0.7rem 1.6rem; +} + +.btn { + font-family: "Roboto Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +.btn-lg { + border-radius: 0; + padding: 0.7rem 3rem; +} + +/* TOOLS AND FIXES */ + +.lazyload, .lazyloading { + opacity: 0; +} + +.lazyloaded { + opacity: 1; + transition: opacity .5s; +} + +/* SECTIONS */ + +.section--primary { + background: #ffffff; + color: #000000; +} + +.section--alternate { + background: #f7f7f7; + color: #000000; +} + +.section--black { + background: #000000; + color: #ffffff; +} + +/* SECTION SIZING */ + +section { + padding: 4rem 0rem; +} + +.section--lead { + padding: 6rem 0rem; +} + +.section--no-bottom-padding { + padding-bottom: 0rem; +} + +.section--form { + padding-top: 2rem; +} + +@media screen and (max-width: 991px) { + section { + padding: 3.5rem 0rem; + } + .section--lead { + padding: 4rem 0rem; + } +} + +@media screen and (max-width: 768px) { + section { + padding: 3rem 0rem; + } + .section--lead { + padding: 3.5rem 0rem; + } +} + +@media screen and (max-width: 575px) { + section { + padding: 2.5rem 0rem; + } + .section--lead { + padding: 3rem 0rem; + } +} + +/* HEADER */ + +.navbar { + background: #212121; +} + +@media screen and (max-width: 991.99px) { + .navbar { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; + } + + main { + margin-top: 90px; + } +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgb(255, 255, 255)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255,255,255); +} + +.navbar-dark .navbar-toggler { + color: #ffffff; + border: none; + margin-right: -1rem; +} + +.nav-link { + display: block; + padding: .5rem 1rem; + text-transform: uppercase; + font-family: "Roboto Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1.2rem; +} + +.navbar-brand { + font-family: "Bebas Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 2.2rem; + text-transform: uppercase; +} + +@media screen and (max-width: 420px) { + .navbar-brand { + font-size: 2rem; + } +} + +@media screen and (max-width: 390px) { + .navbar-brand { + font-size: 1.8rem; + } +} + +@media screen and (max-width: 350px) { + .navbar-brand { + font-size: 1.6rem; + } +} + +.brand-wrapper { + height: 90px; + display: flex; + align-items: center; + justify-content: flex-start; +} + +.brand-wrapper img { + width: 160px; + +} + +@media screen and (max-width: 575px) { + .brand-wrapper { + height: 74px; + } + .brand-wrapper img { + width: 150px; + } +} + +@media screen and (min-width: 1200px) { + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.8rem; + padding-left: 0.8rem; + } +} + +@media screen and (min-width: 576px) and (max-width: 1199.99px) { + .navbar .navbar-collapse .navbar-nav { + margin-top: 1rem; + margin-bottom: 1rem; + } +} + +.header__socials { + display: flex; + margin-left: -0.5rem; +} + +.header__socials a { + padding: 0.5rem; +} + +.header__socials a i { + font-size: 1rem; + color: white; +} + +.header__socials.header__socials--mobile { + margin-left: -0.7rem; + padding-top: 0.4rem; +} + +.header__socials.header__socials--mobile a { + padding: 0.7rem; +} + +.header__socials.header__socials--mobile a i { + font-size: 1.3rem; + color: rgba(255,255,255,.5); +} + +.header_link.header_link--desktop { + color: white; +} + +.header_link.header_link--mobile { + color: rgba(255,255,255,.5); +} + + +/*--/ Hamburger Navbar /--*/ + +.navbar-toggler { + position: relative; +} + +.navbar-toggler:focus, +.navbar-toggler:active { + outline: 0; +} + +.navbar-toggler span { + display: block; + background-color: #ffffff; + height: 2px; + width: 30px; + margin-top: 8px; + margin-bottom: 8px; + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + left: 0; + opacity: 1; +} + +.navbar-toggler span:nth-child(1), +.navbar-toggler span:nth-child(3) { + transition: -webkit-transform .35s ease-in-out; + transition: transform .35s ease-in-out; + transition: transform .35s ease-in-out, -webkit-transform .35s ease-in-out; +} + +.navbar-toggler:not(.collapsed) span:nth-child(1) { + position: absolute; + left: 12px; + top: 10px; + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + opacity: 0.9; +} + +.navbar-toggler:not(.collapsed) span:nth-child(2) { + height: 12px; + visibility: hidden; + background-color: transparent; +} + +.navbar-toggler:not(.collapsed) span:nth-child(3) { + position: absolute; + left: 12px; + top: 10px; + -webkit-transform: rotate(-135deg); + transform: rotate(-135deg); + opacity: 0.9; +} + + +/* FOOTER */ + +.footer__top { + background: #212121; +} + +.footer__bottom { + background: #000000; +} + +footer { + color: #8a8a8a; +} + +footer a { + color: #8a8a8a; +} + +footer a:hover { + color: #ffffff; + text-decoration: none; +} + +footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 { + color: #ffffff; +} + +.footer__top { + padding: 4rem 0rem; +} + +@media screen and (max-width: 991px) { + .footer__top { + padding: 3.5rem 0rem; + } +} + +@media screen and (max-width: 768px) { + .footer__top { + padding: 3rem 0rem; + } +} + +@media screen and (max-width: 575px) { + .footer__top { + padding: 2.5rem 0rem; + } +} + +.footer__bottom { + padding: 2rem 0rem; +} + +.footer__bottom a { + border-bottom: 1px dotted; +} + +.footer__bottom a:hover { + border-bottom: none; + text-decoration: none; + color: #8a8a8a; +} + +.footer__list-heading { + text-transform: uppercase; + margin-bottom: 1.6rem; +} + +.footer__menu { + padding-left: 0; + list-style: none; +} + +.footer__menu li { + padding: 0.15rem 0; +} + +.footer__logo img { + width: 180px; +} + +/* UVOD */ + +.uvod__image-wrapper { + max-width: 180px; + display: inline-block; +} + +.uvod__button { + margin-right: 2rem; +} + + + +/* PROJEKTY */ + +.project { + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); + border-radius: 0; + border: 0; + height: 100%; + color: black; + transition: all 0.5s ease-in-out; +} + + +.project:hover { + text-decoration: none; + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, 0.73); + color: black; +} + +.project:hover .card-img-top { + opacity: 0.9; +} + +.project .card-footer { + border-radius: 0; + border: 0; +} + +.card-footer .text-muted { + color: #707070 !important; +} + +.project .card-img, .project .card-img-top { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.project .card-body h5 { + font-weight: bold; +} + +.project .card-body p:last-child { + margin-bottom: 0; +} + +.project .card-body p { + color: #797676; +} + +.project .card-footer p { + margin-bottom: 0; +} + +.project .progress-bar { + background-color: #04a548; +} + +.project .progress { + margin-bottom: 0.8rem; +} + +.project__flags { + position: absolute; + top: 0; + margin-bottom: 0; + z-index: 1; + left: -0.25rem; + display: flex; + flex-direction: column; + align-items: flex-start; + list-style: none; + padding-left: 0; +} + +.project__flag { + margin-top: .5rem; + color: #fff; + background: #2fb5d2; + padding: .25rem .6rem; + font-weight: bold; +} + +.project__flag.almost { + background: #04a548; +} + +.project__flag.new { + background: #04a548; +} + +.project-images { + margin-right: -7.5px; + margin-left: -7.5px; +} + +.project-images > div{ + padding-right: 7.5px; + padding-left: 7.5px; + margin-bottom: 15px; +} + +.project-donate-form .progress-bar { + background-color: #04a548; +} + + +/* KRAJE */ + +.region { + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); + border-radius: 0; + border: 0; + height: 100%; + color: black; + transition: all 0.5s ease-in-out; +} + + +.region:hover { + text-decoration: none; + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, 0.73); + color: black; +} + +.region:hover .card-img-top { + opacity: 0.9; +} + +.region .card-img, .region .card-img-top { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.region .card-body h5 { + font-weight: bold; +} + +.region .card-body p:last-child { + margin-bottom: 0; +} + +.region .card-body p { + color: #797676; +} + + +/* DONATE FORM */ +.donate-form { + display: flex; + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); +} + +.donate-form__left { + background: #090A0B; + color: white; + padding: 1.8rem; + flex: 0 0 auto; + justify-content: space-between; + display: flex; + flex-direction: column; +} + +.donate-form__icon { + max-width: 7rem; + margin-bottom: 4rem; +} + +.donate-form__right { + width: 100%; + padding: 1.8rem; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #d02d40; + background-color: #d02d40; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3ffd1; + border-color: #b3ffd1; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 .2rem rgba(0, 255, 147, 0.25); +} + +.custom-control-label { + line-height: 1.2; + padding-top: .7rem; +} + +.custom-control-label::after { + top: .5rem; + left: -2.5rem; + width: 2rem; + height: 2rem; +} + +.custom-control-label::before { + top: .5rem; + left: -2.5rem; + width: 2rem; + height: 2rem; +} + +.custom-control-input { + width: 2rem; + height: 2.5rem; +} + +.custom-control { + min-height: 2.5rem; + padding-left: 2.5rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .input-group-append > .input-group-text { + border-radius: 0; +} + +.form-control-lg { + border-radius: 0; +} + +.form-control:focus { + border-color: #28a745; + box-shadow: 0 0 0 .2rem rgba(43, 174, 70, 0.25); +} + +@media screen and (min-width: 1200px) { + .donate-form__left { + width: 16rem; + } +} + +@media screen and (max-width: 991px) { + .donate-form { + flex-direction: column; + } + .donate-form__left { + flex-direction: row; + align-items: center; + } + .donate-form__icon { + max-width: 2.5rem; + margin-bottom: 0rem; + order: 1; + margin-left: 1.8rem; + } + .donate-form__left-content { + order: 0; + } +} + +.donate-form .custom-amount { + max-width: 15rem; +} + + +/* REGION DONATE FORM */ + +.region-donate-form { + display: flex; + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); + flex-direction: column; +} + +.region-donate-form__left { + background: #090A0B; + color: white; + padding: 1.8rem; + flex: 0 0 auto; + justify-content: space-between; + display: flex; + flex-direction: row; + align-items: center; +} + +.region-donate-form__icon { + max-width: 2.5rem; + margin-bottom: 0rem; + order: 1; + margin-left: 1.8rem; +} + +.region-donate-form__right { + width: 100%; + padding: 1.8rem; +} + + +/* PROJECT DONATE FORM */ + +.project-donate-form { + display: flex; + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); + flex-direction: column; +} + +.project-donate-form__left { + background: #090A0B; + color: white; + padding: 1.8rem; + flex: 0 0 auto; + justify-content: space-between; + display: flex; + flex-direction: row; + align-items: center; +} + +.project-donate-form__icon { + max-width: 2.5rem; + margin-bottom: 0rem; + order: 1; + margin-left: 1.8rem; +} + +.project-donate-form__right { + width: 100%; + padding: 1.8rem; +} + +/* FOOTER */ + +.socials { + display: flex; + margin-left: -0.8rem; +} + +.socials a { + padding: 0.8rem; +} + +.socials a:last-child { + margin-right: 0; +} + +.socials a i { + font-size: 1.4rem; + color: white; +} + + + +/* PAGINATION */ +.page-link { + padding: .8rem 1.1rem; + color: #333; + background-color: #f3f3f3; + border: 1px solid #f3f3f3; + font-weight: bold; +} + +.page-link:hover { + color: #333; + background-color: #e9ecef; + border-color: #e9ecef; +} + +.page-link:focus { + box-shadow: 0 0 0 .2rem rgba(168, 168, 168, 0.25); +} + +.page-item { + margin-right: 0.5rem; +} + +.page-item:last-child { + margin-right: 0; +} + +.page-item.active .page-link { + color: #fff; + background-color: #333; + border-color: #333; +} + +.page-item:first-child .page-link { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + + + +/* PROJECT */ +.project__header { + padding: 4rem 0 2rem 0; +} + +.project__date { + margin-bottom: 0; + color: #707070; +} + +.project__badges .badge { + font-size: 1rem; + background: white; + border-radius: 0; + padding: 0.8rem 1.3rem; + font-weight: bold; +} + +.badge.almost { + background: #04a548; + color: white; +} + +.badge.new { + background: #e1242a; + color: white; +} + + +/* SHARING BOX */ +.article__sharing-box { + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); + border: none; + border-radius: 0; +} + +.article__sharing-box h3 { + margin-bottom: 0; +} + +.article__sharing-box .icon i { + font-size: 2.4rem; +} + +.article__sharing-box .icon { + margin-bottom: 2.8rem; +} + +.article__sharing-box .card-body { + padding: 2rem; + margin-bottom: 1rem; +} + +.btn-facebook { + color: #fff; + background-color: #3b5998; + border-color: #3b5998; +} + +.btn-twitter { + color: #fff; + background-color: #55acee; + border-color: #55acee; +} + +.btn-linkedin { + color: #fff; + background-color: #007bb5; + border-color: #007bb5; +} + +.btn-facebook:hover { + color: #fff; + background-color: #253860; + border-color: #253860; +} + +.btn-twitter:hover { + color: #fff; + background-color: #448cc4; + border-color: #448cc4; +} + +.btn-linkedin:hover { + color: #fff; + background-color: #006291; + border-color: #006291; +} + +.sharing-buttons { + display: flex; + justify-content: space-between; +} + +.sharing-buttons a { + flex: 1; + margin-right: 8px; + padding: .375rem .75rem; +} + +.sharing-buttons a:last-child { + margin-right: 0; +} + +.sharing-box__content { + margin-bottom: 0.6rem; +} + +@media screen and (max-width: 991px) { + .article__sharing-box .card-body { + padding: 1.8rem; + margin-bottom: 0; + } + .article__sharing-box .image { + display: none; + } + + .sharing-box__content { + display: flex; + align-items: center; + margin-bottom: 1rem; + } + + .article__sharing-box .icon { + margin-bottom: 0; + margin-right: 1.2rem; + } +} + + +/* REGION */ +.region__header { + padding: 4rem 0 2rem 0; +} + +.other-regions a { + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); + margin-bottom: 1rem; + color: black; + padding: 0.8rem 1rem; + display: block; + font-weight: bold; +} + +/* ARTICLE CONTENT */ +article img { + max-width: 100%; + height: auto; + margin-top: 1rem; + margin-bottom: 3rem; +} + +/* REGION MAP */ + +.region-map { + overflow: hidden; +} + +.region-map svg { + position: relative; + top: -0.734375px; +} + +.region-map path { + stroke-linejoin: round; + cursor: pointer; + fill: #333333; + stroke: #666666; +} + +.region-map a:hover path { + fill: #000000; +} + +.region-list { + padding: 0; +} + +.region-list li { + list-style-type: none; +} + +.region-list a { + box-shadow: 0 .25rem 1.875rem rgba(42, 53, 79, .28); + margin-bottom: 1rem; + color: black; + padding: 0.6rem 1rem; + display: block; + font-weight: bold; +} + +/* FORM TWEAKS */ + +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type=number] { + -moz-appearance: textfield; +} + +/* VARIOUS */ + +img.full-width { + width: 100%; + height: auto; +} + +.btn-danger { + background-color: #d02d40; +} + +.btn-wide { + width: 250px; +} + +.richtext i { + font-family: inherit !important; + font-style: italic; + -webkit-font-smoothing: inherit; + -moz-osx-font-smoothing: inherit; + line-height: inherit; + font-weight: inherit; + font-variant: inherit; + text-transform: inherit; +} + +.richtext blockquote { + font-style: italic; + padding: 0 1rem 0 1rem; + font-size: 115%; + border-left: 2px solid #BBBBBB; + color: #666666; +} + +.richtext-image.left { + float: left; + margin: 0 1.5rem 1rem 0; +} + +.richtext-image.right { + float: right; + margin: 0 0 1rem 1.5rem; +} + +.richtext ol, .richtext ul { + padding-left: 0; + margin-left: 0; +} + +.richtext ol li, .richtext ul li { + position: relative; + left: 2.5rem; + padding-right: 2.5rem; +} diff --git a/uniweb/static/uniweb/icons/icomoon.eot b/uniweb/static/uniweb/icons/icomoon.eot new file mode 100644 index 0000000000000000000000000000000000000000..cab88ec4cc00f28eb94308704629fd46b85a7f97 Binary files /dev/null and b/uniweb/static/uniweb/icons/icomoon.eot differ diff --git a/uniweb/static/uniweb/icons/icomoon.svg b/uniweb/static/uniweb/icons/icomoon.svg new file mode 100644 index 0000000000000000000000000000000000000000..ae6f3d57e3f34d985f7dc3b96b7edce195ff9168 --- /dev/null +++ b/uniweb/static/uniweb/icons/icomoon.svg @@ -0,0 +1,22 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg"> +<metadata>Generated by IcoMoon</metadata> +<defs> +<font id="icomoon" horiz-adv-x="1024"> +<font-face units-per-em="1024" ascent="896" descent="-128" /> +<missing-glyph horiz-adv-x="1024" /> +<glyph unicode=" " horiz-adv-x="0" d="" /> +<glyph unicode="" glyph-name="heart" d="M924.6 770.8c125.6-107.201 132.201-299.602 19.6-415.8l-387-399.6c-25-25.801-65.6-25.801-90.6 0l-387 399.6c-112.4 116.199-105.799 308.6 19.801 415.8 109.6 93.398 272.798 76.6 373.2-27.201l39.4-40.6 39.4 40.6c100.6 103.801 263.6 120.6 373.2 27.201z" /> +<glyph unicode="" glyph-name="check" horiz-adv-x="896" d="M827.010 712.098c9.373 9.373 24.568 9.373 33.939 0l22.629-22.627c9.371-9.375 9.371-24.57 0-33.943l-599.626-599.624c-9.373-9.373-24.568-9.373-33.941 0l-237.588 237.588c-9.371 9.373-9.371 24.57 0 33.941l22.627 22.627c9.373 9.371 24.568 9.371 33.941 0l197.99-197.99z" /> +<glyph unicode="" glyph-name="chevron-left" horiz-adv-x="512" d="M476.95-55.070c-9.371-9.373-24.566-9.373-33.939-0.002l-422.102 422.1c-9.373 9.375-9.373 24.57 0 33.943l422.102 422.1c9.373 9.371 24.568 9.371 33.939 0l14.143-14.141c9.373-9.373 9.373-24.57 0-33.941l-390.986-390.988 390.986-390.988c9.373-9.373 9.373-24.57 0-33.941z" /> +<glyph unicode="" glyph-name="chevron-right" horiz-adv-x="512" d="M35.051 823.070c9.371 9.373 24.566 9.373 33.939 0l422.102-422.098c9.373-9.375 9.373-24.57 0-33.943l-422.102-422.1c-9.373-9.371-24.568-9.371-33.939 0l-14.143 14.141c-9.373 9.373-9.373 24.57 0 33.941l390.986 390.988-390.986 390.988c-9.373 9.373-9.373 24.57 0 33.941z" /> +<glyph unicode="" glyph-name="linkedin" d="M832 832c35.199 0 64-29 64-64.6v-766.8c0-35.6-28.801-64.6-64-64.6h-768.2c-35.201 0-63.801 29-63.801 64.6v766.8c0 35.6 28.6 64.6 63.801 64.6h768.2zM270.8 64h0.199v427.6h-133v-427.6h132.801zM204.4 550c42.6 0 77 34.4 77 77 0 42.4-34.6 77-77 77-42.6 0-77-34.6-77-77s34.4-77 77-77zM768.6 64v234.4c0 115.199-25 203.798-159.4 203.798-64.6 0-108-35.398-125.799-69h-1.801v58.4h-127.4v-427.6h132.801v211.6c0 55.801 10.6 109.801 79.801 109.801 68 0 69-63.801 69-113.4v-208h132.799z" /> +<glyph unicode="" glyph-name="external-link" d="M880 384c8.832 0 16-7.168 16-16v-400c0-52.992-43.008-96-96-96h-704c-52.992 0-96 43.008-96 96v704c0 52.992 43.008 96 96 96h400c8.832 0 16-7.168 16-16v-32c0-8.832-7.168-16-16-16h-400c-17.664 0-32-14.336-32-32v-704c0-17.664 14.336-32 32-32h704c17.664 0 32 14.336 32 32v400c0 8.832 7.168 16 16 16h32zM1000 896c13.248 0 24-10.752 24-24l-0.68-272.080c0-13.248-10.752-24-24-24h-20c-13.248 0-24 10.752-24 24l0.68 180-1.42 1.4-646.24-646.36c-3.883-3.898-11.498-7.061-17-7.061-5.5 0-13.117 3.162-17 7.061l-11.32 11.318c-3.896 3.883-7.059 11.5-7.059 17 0 5.502 3.162 13.117 7.059 17l646.38 646.3-1.4 1.42-180-0.68c-13.248 0-24 10.752-24 24v20c0 13.248 10.752 24 24 24z" /> +<glyph unicode="" glyph-name="twitter" d="M918.74 592.568c0.65-9.096 0.65-18.195 0.65-27.291 0-277.44-211.166-597.116-597.118-597.116-118.904 0-229.36 34.438-322.274 94.211 16.895-1.947 33.137-2.598 50.68-2.598 98.109 0 188.426 33.137 260.548 89.664-92.264 1.951-169.584 62.377-196.225 145.545 12.996-1.949 25.99-3.248 39.637-3.248 18.842 0 37.686 2.6 55.227 7.146-96.162 19.494-168.285 103.959-168.285 205.968v2.598c27.938-15.594 60.428-25.34 94.861-26.637-56.527 37.686-93.561 102.010-93.561 174.781 0 38.984 10.393 74.721 28.588 105.908 103.309-127.35 258.6-210.516 432.728-219.614-3.248 15.594-5.197 31.836-5.197 48.080 0 115.654 93.564 209.868 209.868 209.868 60.428 0 115.004-25.34 153.342-66.273 47.43 9.096 92.91 26.639 133.197 50.68-15.596-48.732-48.732-89.666-92.264-115.654 42.234 4.547 83.168 16.244 120.852 32.486-28.584-41.582-64.322-78.617-105.256-108.506z" /> +<glyph unicode="" glyph-name="calendar" horiz-adv-x="896" d="M800 768c53.020 0 96-42.98 96-96v-704c0-53.020-42.98-96-96-96h-704c-53.020 0-96 42.98-96 96v704c0 53.020 42.98 96 96 96h96v104c0 13.254 10.746 24 24 24h16c13.254 0 24-10.746 24-24v-104h384v104c0 13.254 10.746 24 24 24h16c13.254 0 24-10.746 24-24v-104h96zM96 704c-17.645 0-32-14.355-32-32v-96h768v96c0 17.645-14.355 32-32 32h-704zM800-64c17.645 0 32 14.355 32 32v544h-768v-544c0-17.645 14.355-32 32-32h704z" /> +<glyph unicode="" glyph-name="youtube" horiz-adv-x="1152" d="M1099.31 647.834c22.824-85.734 22.824-264.61 22.824-264.61s0-178.877-22.824-264.612c-12.563-47.299-49.574-83-96.568-95.641-85.182-22.973-426.742-22.973-426.742-22.973s-341.56 0-426.742 22.973c-46.994 12.641-84.006 48.342-96.568 95.641-22.824 85.734-22.824 264.612-22.824 264.612s0 178.875 22.824 264.61c12.563 47.301 49.574 84.551 96.568 97.193 85.182 22.973 426.742 22.973 426.742 22.973s341.562 0 426.742-22.973c46.994-12.641 84.006-49.893 96.568-97.193zM464.29 220.818l285.478 162.402-285.478 162.41v-324.812z" /> +<glyph unicode="" glyph-name="instagram" d="M448.2 614c127.201 0 229.8-102.6 229.8-229.8s-102.6-229.798-229.8-229.798c-127.199 0-229.798 102.6-229.798 229.798 0 127.201 102.6 229.8 229.798 229.8zM448.2 234.8c82.201 0 149.4 67 149.4 149.398 0 82.4-67 149.4-149.4 149.4-82.398 0-149.398-67-149.398-149.4 0-82.398 67.199-149.398 149.398-149.398zM741 623.4c0-29.801-24-53.6-53.6-53.6-29.801 0-53.6 24-53.6 53.6s24 53.6 53.6 53.6 53.6-24 53.6-53.6zM893.2 569c4.201-74 4.201-295.6 0-369.6-3.6-71.801-20-135.4-72.398-187.801-52.4-52.6-116-69-187.801-72.4-74-4.199-295.8-4.199-369.8 0-71.799 3.602-135.199 20-187.799 72.4s-69 116-72.4 187.801c-4.199 74-4.199 295.798 0 369.798 3.6 71.801 19.801 135.4 72.4 187.801s116.199 68.801 187.799 72.199c74 4.201 295.8 4.201 369.8 0 71.801-3.6 135.4-20 187.801-72.398 52.6-52.4 69-116 72.398-187.801zM797.6 120c23.4 58.801 18 199 18 264.2s5.4 205.202-18 264.202c-15.799 39.4-46 69.6-85.199 85.199-58.801 23.201-199 18-264.202 18-65.199 0-205.2 5.4-264.2-18-39.4-15.799-69.6-46-85.199-85.199-23.201-58.801-18-199-18-264.202 0-65.199-5.4-205.2 18-264.2 15.799-39.4 46-69.6 85.199-85.199 58.801-23.201 199-18 264.2-18s205.202-5.4 264.202 18c39.4 15.799 69.6 46 85.199 85.199z" /> +<glyph unicode="" glyph-name="flickr" d="M800 832c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM289 258c70.199 0 127 56.801 127 127s-56.801 127-127 127-127-56.801-127-127 56.801-127 127-127zM607 258c70.199 0 127 56.801 127 127s-56.801 127-127 127-127-56.801-127-127 56.801-127 127-127z" /> +<glyph unicode="" glyph-name="facebook-f" horiz-adv-x="640" d="M558.28 320h-149.379v-448h-200.34v448h-162.781v185.32h162.781v141.24c0 160.68 95.719 249.44 242.16 249.44 70.139 0 143.5-12.52 143.5-12.52v-157.781h-80.84c-79.641 0-104.48-49.42-104.48-100.119v-120.26h177.82z" /> +</font></defs></svg> diff --git a/uniweb/static/uniweb/icons/icomoon.ttf b/uniweb/static/uniweb/icons/icomoon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fa59609ee85bc976737b94433954173288573a23 Binary files /dev/null and b/uniweb/static/uniweb/icons/icomoon.ttf differ diff --git a/uniweb/static/uniweb/icons/icomoon.woff b/uniweb/static/uniweb/icons/icomoon.woff new file mode 100644 index 0000000000000000000000000000000000000000..87c46d1a16a4e75d3012924560f851023629e81c Binary files /dev/null and b/uniweb/static/uniweb/icons/icomoon.woff differ diff --git a/uniweb/templates/uniweb/base.html b/uniweb/templates/uniweb/base.html new file mode 100644 index 0000000000000000000000000000000000000000..e4bb12138cc0bad65fb0befafc6480f5abe3d382 --- /dev/null +++ b/uniweb/templates/uniweb/base.html @@ -0,0 +1,107 @@ +{% load static wagtailuserbar wagtailcore_tags wagtailimages_tags wagtailmetadata_tags %} +<!doctype html> +<html lang="cs"> +<head> + + <!-- Font loader --> + <script type="text/javascript"> + WebFontConfig = { + google: { families: ['Roboto+Condensed:300,300i,400,400i,700,700i:latin-ext', 'Bebas+Neue'] } + }; + (function () { + var wf = document.createElement('script'); + wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; + wf.type = 'text/javascript'; + wf.async = 'true'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(wf, s); + })(); + </script> + + <!-- Meta --> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + {% meta_tags %} + {% if settings.MAJAK_ENV == "test" %} + <meta name="robots" content="noindex, nofollow"> + {% endif %} + + <!-- Favicon --> + {% include "shared/favicon_snippet.html" %} + + <!-- Bootstrap CSS --> + <link rel="stylesheet" href="{% static "shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css" %}"> + + <!-- Styles --> + <link href="{% static "uniweb/assets/css/style.css" %}" rel="stylesheet"> + <link href="{% static "uniweb/assets/css/icons.css" %}" rel="stylesheet"> + + {% if page.matomo_id %} + {% include "shared/matomo_snippet.html" with matomo_id=page.matomo_id %} + {% endif %} +</head> + +<body id="top"> + + <!-- HEADER --> + <div class="pre-navbar d-none d-lg-flex" style="background:black;"> + <div class="container d-flex justify-content-end"> + <a href="https://www.pirati.cz/" class="header_link header_link--desktop mr-4 py-2" target="_blank" rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>www.pirati.cz</a> + </div> + </div> + + <nav class="navbar navbar-expand-xl navbar-dark"> + <div class="container"> + + <div class="brand-wrapper"> + <a class="navbar-brand" href="/"> + <h1 class="lead ml-1 mt-3" style="color: #FFFFFF; font-size: 3rem;"> + <img src="{% static "shared/img/logo_white.svg" %}" alt="Logo Pirátské strany" style="width: 50px; height: 50px;" class="mr-2"> + {{ page.root_page.seo_title }} + </h1> + </a> + </div> + + <!-- Mobile menu toggler --> + <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#mainNavigation" aria-controls="mainNavigation" aria-expanded="false" aria-label="Otevřít menu"> + <span></span> + <span></span> + <span></span> + </button> + + <!-- Navigation --> + <div class="collapse navbar-collapse" id="mainNavigation"> + <ul class="navbar-nav ml-auto"> + {% for item in page.root_page.top_menu %} + <li class="nav-item"> + <a class="nav-link" href="{% pageurl item.value.page %}">{{ item.value.name }}</a> + </li> + {% endfor %} + </ul> + <a href="https://www.pirati.cz/" class="d-block d-lg-none mb-3 header_link header_link--mobile" target="_blank" rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>www.pirati.cz</a> + </div><!-- /navigation --> + + </div><!-- /container --> + </nav> + <!-- /HEADER --> + + {% block content %}{% endblock %} + + <!-- FOOTER --> + <footer id="kontakt"> + + <div class="footer__bottom"> + <div class="container"> + <div class="row"> + <div class="col-12 col-md-6 mb-3 mb-md-0"> + <p class="mb-0">© {% now "Y" %} Piráti. Všechna práva vyhlazena.<br/>Sdílejte a nechte ostatní sdílet za stejných podmínek.</p> + </div><!-- /column --> + </div><!-- /row --> + </div><!-- /container --> + </div><!-- /footer_bottom --> + + </footer> + <!-- /FOOTER --> + +</body> +</html> diff --git a/uniweb/templates/uniweb/snippet_sections.html b/uniweb/templates/uniweb/snippet_sections.html new file mode 100644 index 0000000000000000000000000000000000000000..f74374572df3ba33670f9d7b2f2fbe43210dd242 --- /dev/null +++ b/uniweb/templates/uniweb/snippet_sections.html @@ -0,0 +1,17 @@ +{% load wagtailcore_tags %} +{% for section in page.content %} +<section class="section--{% cycle "alternate" "primary" %}"> + <div class="container"> + {% if section.value.title %} + <h2 class="lead page-subheading mb-4">{{ section.value.title }}</h2> + {% endif %} + + <div class="row"> + <div class="col-12 richtext"> + {{ section.value.text|richtext }} + </div><!-- /column --> + </div><!-- /row --> + + </div> <!-- /container --> +</section> +{% endfor %} diff --git a/uniweb/templates/uniweb/uniweb_flexible_page.html b/uniweb/templates/uniweb/uniweb_flexible_page.html new file mode 100644 index 0000000000000000000000000000000000000000..8a8eb7f0c6cad9824941e7ad21df587fc3ccc1b5 --- /dev/null +++ b/uniweb/templates/uniweb/uniweb_flexible_page.html @@ -0,0 +1,13 @@ +{% extends "uniweb/base.html" %} + +{% block content %} + +<!-- CONTENT --> +<main role="main"> + + {% include "uniweb/snippet_sections.html" %} + +</main> +<!-- /CONTENT --> + +{% endblock %} diff --git a/uniweb/templates/uniweb/uniweb_home_page.html b/uniweb/templates/uniweb/uniweb_home_page.html new file mode 100644 index 0000000000000000000000000000000000000000..36ac0c7e4bfda623e31d13d11f4e6eec4a013c09 --- /dev/null +++ b/uniweb/templates/uniweb/uniweb_home_page.html @@ -0,0 +1,14 @@ +{% extends "uniweb/base.html" %} +{% load wagtailcore_tags %} + +{% block content %} + +<!-- CONTENT --> +<main role="main"> + + {% include "uniweb/snippet_sections.html" %} + +</main> +<!-- /CONTENT --> + +{% endblock %}