diff --git a/datacenterlight/templatetags/custom_tags.py b/datacenterlight/templatetags/custom_tags.py
index ce6e6724..908b1f89 100644
--- a/datacenterlight/templatetags/custom_tags.py
+++ b/datacenterlight/templatetags/custom_tags.py
@@ -31,3 +31,14 @@ def get_value_from_dict(dict_data, key):
return dict_data.get(key)
else:
return ""
+
+
+@register.filter('multiply')
+def multiply(value, arg):
+ """
+ usage: {{ quantity|multiply:price }}
+ :param value:
+ :param arg:
+ :return:
+ """
+ return value*arg
diff --git a/dynamicweb/settings/base.py b/dynamicweb/settings/base.py
index 48a2399f..19c263d5 100644
--- a/dynamicweb/settings/base.py
+++ b/dynamicweb/settings/base.py
@@ -219,6 +219,7 @@ CMS_TEMPLATES = (
# dcl
('datacenterlight/cms_page.html', gettext('Data Center Light')),
('ungleich_page/glasfaser_cms_page.html', gettext('Glasfaser')),
+ ('ungleich_page/ungleich_cms_page.html', gettext('ungleich')),
)
DATABASES = {
diff --git a/ungleich_page/cms_plugins.py b/ungleich_page/cms_plugins.py
index a5b10d5f..c8dbe735 100644
--- a/ungleich_page/cms_plugins.py
+++ b/ungleich_page/cms_plugins.py
@@ -3,7 +3,9 @@ from cms.plugin_pool import plugin_pool
from .models import (
UngelichContactUsSection, UngelichTextSection, Service, ServiceItem,
- About, AboutItem, SectionWithImage
+ About, AboutItem, SectionWithImage, UngleichServiceItem, UngleichHeader,
+ UngleichHeaderItem, UngleichProductItem, UngleichProduct, UngleichCustomer,
+ UngleichCustomerItem, UngleichHTMLOnly, UngleichSimpleHeader
)
@@ -145,3 +147,157 @@ class GlasfaserAboutItemPlugin(CMSPluginBase):
)
context['instance'] = instance
return context
+
+
+@plugin_pool.register_plugin
+class UngleichServicesPlugin(CMSPluginBase):
+ name = "ungleich Services Plugin"
+ model = Service
+ render_template = "ungleich_page/ungleich/section_services.html"
+ cache = False
+ allow_children = True
+ child_classes = ['UngleichServicesItemPlugin']
+
+ def render(self, context, instance, placeholder):
+ context['service_instance'] = instance
+ context['section_id'] = get_section_id(instance, 'services')
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichServicesItemPlugin(CMSPluginBase):
+ name = "ungleich Service Item Plugin"
+ model = UngleichServiceItem
+ render_template = "ungleich_page/ungleich/_services_item.html"
+ cache = False
+ require_parent = True
+ parent_classes = ['UngleichServicesPlugin']
+
+ def render(self, context, instance, placeholder):
+ context = super(UngleichServicesItemPlugin, self).render(
+ context, instance, placeholder
+ )
+ context['instance'] = instance
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichHeaderWithTextAndImagePlugin(CMSPluginBase):
+ name = "ungleich Header with Text and Image Plugin"
+ model = UngleichSimpleHeader
+ render_template = "ungleich_page/ungleich/header.html"
+ cache = False
+
+ def render(self, context, instance, placeholder):
+ context['instance'] = instance
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichHeaderWithTextAndImageSliderPlugin(CMSPluginBase):
+ name = "ungleich Header with Text and Image Slider Plugin"
+ model = UngleichHeader
+ render_template = "ungleich_page/ungleich/header_with_slider.html"
+ cache = False
+ allow_children = True
+ child_classes = ['UngleichHeaderItemPlugin']
+
+ def render(self, context, instance, placeholder):
+ context['instance'] = instance
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichHeaderItemPlugin(CMSPluginBase):
+ name = "ungleich Header Item Plugin"
+ model = UngleichHeaderItem
+ render_template = "ungleich_page/ungleich/_header_item.html"
+ cache = False
+ require_parent = True
+ parent_classes = ['UngleichHeaderWithTextAndImageSliderPlugin']
+
+ def render(self, context, instance, placeholder):
+ context = super(UngleichHeaderItemPlugin, self).render(
+ context, instance, placeholder
+ )
+ context['instance'] = instance
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichProductsPlugin(CMSPluginBase):
+ name = "ungleich Products Plugin"
+ model = UngleichProduct
+ render_template = "ungleich_page/ungleich/section_products.html"
+ cache = False
+ allow_children = True
+ child_classes = ['UngleichProductsItemPlugin']
+
+ def render(self, context, instance, placeholder):
+ context['product_instance'] = instance
+ context['section_id'] = get_section_id(instance, 'products')
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichProductsItemPlugin(CMSPluginBase):
+ name = "ungleich Product Item Plugin"
+ model = UngleichProductItem
+ render_template = "ungleich_page/ungleich/_products_item.html"
+ cache = False
+ require_parent = True
+ parent_classes = ['UngleichProductsPlugin']
+
+ def render(self, context, instance, placeholder):
+ context = super(UngleichProductsItemPlugin, self).render(
+ context, instance, placeholder
+ )
+ context['instance'] = instance
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichCustomerSectionPlugin(CMSPluginBase):
+ name = "ungleich Customer Section Plugin"
+ model = UngleichCustomer
+ render_template = "ungleich_page/ungleich/section_customers.html"
+ cache = False
+ allow_children = True
+ child_classes = ['UngleichCustomerItemPlugin']
+
+ def render(self, context, instance, placeholder):
+ context['customer_instance'] = instance
+ context['section_id'] = get_section_id(instance, 'customer')
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichCustomerItemPlugin(CMSPluginBase):
+ name = "ungleich Customer Item Plugin"
+ model = UngleichCustomerItem
+ render_template = "ungleich_page/ungleich/_customer_item.html"
+ cache = False
+ require_parent = True
+ parent_classes = ['UngleichCustomerSectionPlugin']
+
+ def render(self, context, instance, placeholder):
+ context = super(UngleichCustomerItemPlugin, self).render(
+ context, instance, placeholder
+ )
+ context['instance'] = instance
+ return context
+
+
+@plugin_pool.register_plugin
+class UngleichHTMLPlugin(CMSPluginBase):
+ name = "ungleich HTML Plugin"
+ model = UngleichHTMLOnly
+ render_template = "ungleich_page/ungleich/html_block.html"
+ cache = False
+
+ def render(self, context, instance, placeholder):
+ context = super(UngleichHTMLPlugin, self).render(
+ context, instance, placeholder
+ )
+ context['instance'] = instance
+ return context
diff --git a/ungleich_page/migrations/0007_auto_20171117_1011.py b/ungleich_page/migrations/0007_auto_20171117_1011.py
new file mode 100644
index 00000000..71b4017a
--- /dev/null
+++ b/ungleich_page/migrations/0007_auto_20171117_1011.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-17 10:11
+from __future__ import unicode_literals
+
+from django.db import migrations
+import djangocms_text_ckeditor.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ungleich_page', '0006_aboutitem_link_url'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='ungelichpicture',
+ name='title',
+ field=djangocms_text_ckeditor.fields.HTMLField(),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0008_ungleichserviceitem.py b/ungleich_page/migrations/0008_ungleichserviceitem.py
new file mode 100644
index 00000000..2037dcf6
--- /dev/null
+++ b/ungleich_page/migrations/0008_ungleichserviceitem.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-17 18:49
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import filer.fields.image
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('filer', '0004_auto_20160328_1434'),
+ ('ungleich_page', '0007_auto_20171117_1011'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='UngleichServiceItem',
+ fields=[
+ ('serviceitem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ungleich_page.ServiceItem')),
+ ('data_replaced_image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='service_item_data_replaced_image', to='filer.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('ungleich_page.serviceitem',),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0009_ungleichheader_ungleichheaderitem.py b/ungleich_page/migrations/0009_ungleichheader_ungleichheaderitem.py
new file mode 100644
index 00000000..2faabe45
--- /dev/null
+++ b/ungleich_page/migrations/0009_ungleichheader_ungleichheaderitem.py
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-19 11:28
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import djangocms_text_ckeditor.fields
+import filer.fields.image
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('filer', '0004_auto_20160328_1434'),
+ ('cms', '0014_auto_20160404_1908'),
+ ('ungleich_page', '0008_ungleichserviceitem'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='UngleichHeader',
+ fields=[
+ ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')),
+ ('carousel_data_interval', models.IntegerField(default=5000)),
+ ('background_image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ungleich_header_background_image', to='filer.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('cms.cmsplugin',),
+ ),
+ migrations.CreateModel(
+ name='UngleichHeaderItem',
+ fields=[
+ ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')),
+ ('description', djangocms_text_ckeditor.fields.HTMLField()),
+ ('image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ungleich_header_item_image', to='filer.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('cms.cmsplugin',),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0010_auto_20171119_1404.py b/ungleich_page/migrations/0010_auto_20171119_1404.py
new file mode 100644
index 00000000..4057a90b
--- /dev/null
+++ b/ungleich_page/migrations/0010_auto_20171119_1404.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-19 14:04
+from __future__ import unicode_literals
+
+from django.db import migrations
+import djangocms_text_ckeditor.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ungleich_page', '0009_ungleichheader_ungleichheaderitem'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='service',
+ name='sub_title',
+ field=djangocms_text_ckeditor.fields.HTMLField(),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0011_ungleichproduct_ungleichproductitem.py b/ungleich_page/migrations/0011_ungleichproduct_ungleichproductitem.py
new file mode 100644
index 00000000..c4984f5a
--- /dev/null
+++ b/ungleich_page/migrations/0011_ungleichproduct_ungleichproductitem.py
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-21 19:04
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ungleich_page', '0010_auto_20171119_1404'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='UngleichProduct',
+ fields=[
+ ('service_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ungleich_page.Service')),
+ ('section_class', models.CharField(blank=True, default='', max_length=100)),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('ungleich_page.service',),
+ ),
+ migrations.CreateModel(
+ name='UngleichProductItem',
+ fields=[
+ ('serviceitem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ungleich_page.ServiceItem')),
+ ('url', models.URLField(blank=True, default='', max_length=300)),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('ungleich_page.serviceitem',),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0012_ungleichcustomer_ungleichcustomeritem.py b/ungleich_page/migrations/0012_ungleichcustomer_ungleichcustomeritem.py
new file mode 100644
index 00000000..85b1c203
--- /dev/null
+++ b/ungleich_page/migrations/0012_ungleichcustomer_ungleichcustomeritem.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-23 08:11
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import djangocms_text_ckeditor.fields
+import filer.fields.image
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('filer', '0004_auto_20160328_1434'),
+ ('cms', '0014_auto_20160404_1908'),
+ ('ungleich_page', '0011_ungleichproduct_ungleichproductitem'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='UngleichCustomer',
+ fields=[
+ ('service_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ungleich_page.Service')),
+ ('section_class', models.CharField(blank=True, default='', max_length=100)),
+ ('carousel_data_interval', models.IntegerField(default=3000)),
+ ('bottom_text', djangocms_text_ckeditor.fields.HTMLField(default='
*ungleich means not equal to (≠) U+2260. ')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('ungleich_page.service',),
+ ),
+ migrations.CreateModel(
+ name='UngleichCustomerItem',
+ fields=[
+ ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')),
+ ('url', models.URLField(blank=True, default='', max_length=300)),
+ ('description', djangocms_text_ckeditor.fields.HTMLField()),
+ ('image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='customer_item_image', to='filer.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('cms.cmsplugin',),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0013_ungleichhtmlonly.py b/ungleich_page/migrations/0013_ungleichhtmlonly.py
new file mode 100644
index 00000000..c726a5a0
--- /dev/null
+++ b/ungleich_page/migrations/0013_ungleichhtmlonly.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-23 11:49
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import djangocms_text_ckeditor.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('cms', '0014_auto_20160404_1908'),
+ ('ungleich_page', '0012_ungleichcustomer_ungleichcustomeritem'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='UngleichHTMLOnly',
+ fields=[
+ ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')),
+ ('HTML', djangocms_text_ckeditor.fields.HTMLField()),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('cms.cmsplugin',),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0014_ungleichhtmlonly_name.py b/ungleich_page/migrations/0014_ungleichhtmlonly_name.py
new file mode 100644
index 00000000..4dda823b
--- /dev/null
+++ b/ungleich_page/migrations/0014_ungleichhtmlonly_name.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-24 07:00
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ungleich_page', '0013_ungleichhtmlonly'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='ungleichhtmlonly',
+ name='name',
+ field=models.CharField(blank=True, default='', max_length=50),
+ ),
+ ]
diff --git a/ungleich_page/migrations/0015_ungleichsimpleheader.py b/ungleich_page/migrations/0015_ungleichsimpleheader.py
new file mode 100644
index 00000000..c43d0c79
--- /dev/null
+++ b/ungleich_page/migrations/0015_ungleichsimpleheader.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.4 on 2017-11-24 19:12
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import djangocms_text_ckeditor.fields
+import filer.fields.image
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('filer', '0004_auto_20160328_1434'),
+ ('cms', '0014_auto_20160404_1908'),
+ ('ungleich_page', '0014_ungleichhtmlonly_name'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='UngleichSimpleHeader',
+ fields=[
+ ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')),
+ ('text', djangocms_text_ckeditor.fields.HTMLField()),
+ ('background_image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ungleich_simple_header_background_image', to='filer.Image')),
+ ('image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ungleich_simple_header_image', to='filer.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('cms.cmsplugin',),
+ ),
+ ]
diff --git a/ungleich_page/models.py b/ungleich_page/models.py
index 3759ee25..aec629ee 100644
--- a/ungleich_page/models.py
+++ b/ungleich_page/models.py
@@ -11,7 +11,7 @@ class UngelichPicture(CMSPlugin):
related_name="image",
on_delete=models.SET_NULL
)
- title = models.CharField(max_length=400)
+ title = HTMLField()
class SectionWithImage(UngelichPicture):
@@ -54,7 +54,7 @@ class UngelichTextSection(CMSPlugin):
class Service(CMSPlugin):
menu_text = models.CharField(max_length=100, default="", blank=True)
title = models.CharField(max_length=200)
- sub_title = models.CharField(max_length=200)
+ sub_title = HTMLField()
def __str__(self):
return self.title
@@ -87,3 +87,84 @@ class AboutItem(UngelichPicture):
return "{alignment} - {title}".format(
alignment=alignment, title=self.title
)
+
+
+class UngleichServiceItem(ServiceItem):
+ data_replaced_image = FilerImageField(
+ null=True,
+ blank=True,
+ related_name="service_item_data_replaced_image",
+ on_delete=models.SET_NULL
+ )
+
+
+class UngleichSimpleHeader(CMSPlugin):
+ background_image = FilerImageField(
+ null=True,
+ blank=True,
+ related_name="ungleich_simple_header_background_image",
+ on_delete=models.SET_NULL
+ )
+ image = FilerImageField(
+ null=True,
+ blank=True,
+ related_name="ungleich_simple_header_image",
+ on_delete=models.SET_NULL
+ )
+ text = HTMLField()
+
+
+class UngleichHeader(CMSPlugin):
+ background_image = FilerImageField(
+ null=True,
+ blank=True,
+ related_name="ungleich_header_background_image",
+ on_delete=models.SET_NULL
+ )
+ carousel_data_interval = models.IntegerField(default=5000)
+
+
+class UngleichHeaderItem(CMSPlugin):
+ image = FilerImageField(
+ null=True,
+ blank=True,
+ related_name="ungleich_header_item_image",
+ on_delete=models.SET_NULL
+ )
+ description = HTMLField()
+
+
+class UngleichProductItem(ServiceItem):
+ url = models.URLField(max_length=300, default="", blank=True)
+
+
+class UngleichProduct(Service):
+ section_class = models.CharField(max_length=100, default="", blank=True)
+
+
+class UngleichCustomer(Service):
+ section_class = models.CharField(max_length=100, default="", blank=True)
+ carousel_data_interval = models.IntegerField(default=3000)
+ bottom_text = HTMLField(
+ default='*ungleich means '
+ 'not equal to (≠) U+2260. '
+ )
+
+
+class UngleichCustomerItem(CMSPlugin):
+ image = FilerImageField(
+ null=True,
+ blank=True,
+ related_name="customer_item_image",
+ on_delete=models.SET_NULL
+ )
+ url = models.URLField(max_length=300, default="", blank=True)
+ description = HTMLField()
+
+
+class UngleichHTMLOnly(CMSPlugin):
+ name = models.CharField(max_length=50, default="", blank=True)
+ HTML = HTMLField()
+
+ def __str__(self):
+ return self.name
diff --git a/ungleich_page/static/ungleich_page/css/ungleich.css b/ungleich_page/static/ungleich_page/css/ungleich.css
index 40ddf2fd..b3296ca1 100644
--- a/ungleich_page/static/ungleich_page/css/ungleich.css
+++ b/ungleich_page/static/ungleich_page/css/ungleich.css
@@ -7,6 +7,17 @@
color: #494949;
}
+.header-vh {
+ height: 30px;
+}
+.intro-cap-sans-transform p {
+ font-family: 'Raleway', 'Helvetica Neue', 'Open Sans Bold', Helvetica, Arial, 'Arial Bold', sans-serif;
+ font-size: 26px;
+ font-style: normal;
+ font-weight: 200;
+ color: #FFF;
+}
+
.intro-cap {
font-family: 'Raleway', 'Helvetica Neue', 'Open Sans Bold', Helvetica, Arial, 'Arial Bold', sans-serif;
font-size: 26px;
@@ -111,3 +122,52 @@
paddding: 10px;
}
}
+
+.header_slider {
+ height: 100vh;
+}
+
+.header_slider > .carousel {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ align-items: stretch;
+}
+
+.header_slider > .carousel .item {
+ padding-top: 150px;
+}
+
+
+.timeline>li .timeline-panel {
+ display: flex;
+ min-height: 80px;
+ align-items: center;
+ padding-bottom: 15px;
+}
+
+.flex-justify-content-end{
+ justify-content: flex-end;
+}
+
+.flex-justify-content-start{
+ justify-content: flex-start;
+}
+
+.timeline>li.timeline-inverted>.timeline-panel {
+ padding-bottom: 0;
+}
+
+
+@media (min-width: 768px) and (max-width: 991px) {
+ .timeline>li .timeline-panel {
+ min-height: 100px;
+ }
+}
+
+@media (min-width: 992px) {
+ .timeline>li .timeline-panel {
+ min-height: 170px;
+ }
+}
+
diff --git a/ungleich_page/templates/ungleich_page/glasfaser/_about_item.html b/ungleich_page/templates/ungleich_page/glasfaser/_about_item.html
index 0ccdff9a..6b619579 100644
--- a/ungleich_page/templates/ungleich_page/glasfaser/_about_item.html
+++ b/ungleich_page/templates/ungleich_page/glasfaser/_about_item.html
@@ -4,7 +4,7 @@
{% if instance.link_url %}{% endif %}
-
+
diff --git a/ungleich_page/templates/ungleich_page/glasfaser/section_services.html b/ungleich_page/templates/ungleich_page/glasfaser/section_services.html
index a4b50e5c..4f373653 100644
--- a/ungleich_page/templates/ungleich_page/glasfaser/section_services.html
+++ b/ungleich_page/templates/ungleich_page/glasfaser/section_services.html
@@ -11,7 +11,6 @@
{% render_plugin plugin %}
{% endfor %}
-
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/includes/_header.html b/ungleich_page/templates/ungleich_page/includes/_header.html
index a86f2f24..996b297c 100644
--- a/ungleich_page/templates/ungleich_page/includes/_header.html
+++ b/ungleich_page/templates/ungleich_page/includes/_header.html
@@ -1,17 +1,36 @@
{% load static %}
{% load i18n %}
-
-
-
-
-
-
-
- {% trans "We Design, Configure & Maintain Your Linux Infrastructure " %}
-
-
+
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/ungleich/_customer_item.html b/ungleich_page/templates/ungleich_page/ungleich/_customer_item.html
new file mode 100644
index 00000000..794bcb06
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/_customer_item.html
@@ -0,0 +1,2 @@
+
+
{{ instance.description }}
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/ungleich/_header_item.html b/ungleich_page/templates/ungleich_page/ungleich/_header_item.html
new file mode 100644
index 00000000..a770d1ed
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/_header_item.html
@@ -0,0 +1,14 @@
+
+
+ {% if instance.image %}
+
+
+ {% endif %}
+
+
+ {{ instance.description }}
+
+
+
+
diff --git a/ungleich_page/templates/ungleich_page/ungleich/_products_item.html b/ungleich_page/templates/ungleich_page/ungleich/_products_item.html
new file mode 100644
index 00000000..0a09640d
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/_products_item.html
@@ -0,0 +1,6 @@
+
+
+
{{ instance.title }}
+
+
{{ instance.description }}
+
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/ungleich/_services_item.html b/ungleich_page/templates/ungleich_page/ungleich/_services_item.html
new file mode 100644
index 00000000..87fda196
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/_services_item.html
@@ -0,0 +1,8 @@
+
+
+
+
{{ instance.title }}
+
+
{{ instance.description }}
+
+
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/ungleich/header.html b/ungleich_page/templates/ungleich_page/ungleich/header.html
new file mode 100644
index 00000000..77c7ffdf
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/header.html
@@ -0,0 +1,15 @@
+{% load cms_tags %}
+
+
+
+
+
+
+
+
+ {{ instance.text }}
+
+
+
+
+
diff --git a/ungleich_page/templates/ungleich_page/ungleich/header_with_slider.html b/ungleich_page/templates/ungleich_page/ungleich/header_with_slider.html
new file mode 100644
index 00000000..9cf759e6
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/header_with_slider.html
@@ -0,0 +1,21 @@
+{% load cms_tags %}
+
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/ungleich/html_block.html b/ungleich_page/templates/ungleich_page/ungleich/html_block.html
new file mode 100644
index 00000000..65c7b792
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/html_block.html
@@ -0,0 +1,5 @@
+{% load cms_tags static %}
+{{instance.HTML}}
+{% for plugin in instance.child_plugin_instances %}
+ {% render_plugin plugin %}
+{% endfor %}
diff --git a/ungleich_page/templates/ungleich_page/ungleich/section_customers.html b/ungleich_page/templates/ungleich_page/ungleich/section_customers.html
new file mode 100644
index 00000000..afe67b2a
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/section_customers.html
@@ -0,0 +1,35 @@
+{% load cms_tags custom_tags %}
+
+
+
+
{{ customer_instance.title }}
+ {{ customer_instance.sub_title }}
+
+
+
+
+
+
+
+ {% for plugin in customer_instance.child_plugin_instances %}
+
+ {% endfor %}
+
+
+
+
+ {% for plugin in customer_instance.child_plugin_instances %}
+
+ {% render_plugin plugin %}
+
+ {% endfor %}
+
+
+
+
+
+
+
+ {{customer_instance.bottom_text}}
+
+
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/ungleich/section_products.html b/ungleich_page/templates/ungleich_page/ungleich/section_products.html
new file mode 100644
index 00000000..a87d6493
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/section_products.html
@@ -0,0 +1,20 @@
+{% load cms_tags custom_tags %}
+
+
+
+
+
+
{{ product_instance.title }}
+ {{ product_instance.sub_title }}
+
+
+
+ {% for plugin in product_instance.child_plugin_instances %}
+
+ {% render_plugin plugin %}
+
+ {% endfor %}
+
+
+
+
\ No newline at end of file
diff --git a/ungleich_page/templates/ungleich_page/ungleich/section_services.html b/ungleich_page/templates/ungleich_page/ungleich/section_services.html
new file mode 100644
index 00000000..20be5ec8
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich/section_services.html
@@ -0,0 +1,16 @@
+{% load cms_tags %}
+
+
+
+
{{ service_instance.title }}
+ {{ service_instance.sub_title }}
+
+
+ {% for plugin in service_instance.child_plugin_instances %}
+
+ {% render_plugin plugin %}
+
+ {% endfor %}
+
+
+
diff --git a/ungleich_page/templates/ungleich_page/ungleich_cms_page.html b/ungleich_page/templates/ungleich_page/ungleich_cms_page.html
new file mode 100644
index 00000000..707d0dab
--- /dev/null
+++ b/ungleich_page/templates/ungleich_page/ungleich_cms_page.html
@@ -0,0 +1,75 @@
+{% load static i18n cms_tags sekizai_tags %}
+
+
+
+
+
+
+
+
+
+
+
+
{% page_attribute "page_title" %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% render_block "css" postprocessor "compressor.contrib.sekizai.compress" %}
+ {% render_block "js" postprocessor "compressor.contrib.sekizai.compress" %}
+
+ {% include "google_analytics.html" %}
+
+
+
+
+
+
+{% cms_toolbar %}
+ {% placeholder 'Ungleich Page Contents' %}
+
+
+ {% include "ungleich_page/includes/_footer.html" %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+