parent
7aa3fd4715
commit
f79628ac31
@ -0,0 +1,133 @@ |
||||
/* FEO GmbH Custom Bootstrap Theme |
||||
* An elegant, lightweight, and modern design |
||||
*/ |
||||
|
||||
:root { |
||||
--bs-primary: #72c02c; |
||||
--bs-primary-rgb: 114, 192, 44; |
||||
} |
||||
|
||||
/* Override Bootstrap primary color */ |
||||
.btn-primary { |
||||
background-color: var(--bs-primary); |
||||
border-color: var(--bs-primary); |
||||
} |
||||
|
||||
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { |
||||
background-color: #65ab27; |
||||
border-color: #65ab27; |
||||
} |
||||
|
||||
.btn-outline-primary { |
||||
color: var(--bs-primary); |
||||
border-color: var(--bs-primary); |
||||
} |
||||
|
||||
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active { |
||||
background-color: var(--bs-primary); |
||||
border-color: var(--bs-primary); |
||||
} |
||||
|
||||
.text-primary { |
||||
color: var(--bs-primary) !important; |
||||
} |
||||
|
||||
.bg-primary { |
||||
background-color: var(--bs-primary) !important; |
||||
} |
||||
|
||||
.border-primary { |
||||
border-color: var(--bs-primary) !important; |
||||
} |
||||
|
||||
/* Navigation styling */ |
||||
.navbar { |
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); |
||||
} |
||||
|
||||
.navbar-light .navbar-nav .nav-link { |
||||
color: #333; |
||||
font-weight: 500; |
||||
padding: 0.5rem 1rem; |
||||
transition: color 0.3s ease; |
||||
} |
||||
|
||||
.navbar-light .navbar-nav .nav-link:hover, |
||||
.navbar-light .navbar-nav .nav-link:focus, |
||||
.navbar-light .navbar-nav .active > .nav-link { |
||||
color: var(--bs-primary); |
||||
} |
||||
|
||||
/* Card styling */ |
||||
.card { |
||||
border: none; |
||||
border-radius: 8px; |
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); |
||||
transition: transform 0.3s ease, box-shadow 0.3s ease; |
||||
} |
||||
|
||||
.card:hover { |
||||
transform: translateY(-5px); |
||||
box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1); |
||||
} |
||||
|
||||
/* Button styling */ |
||||
.btn { |
||||
border-radius: 4px; |
||||
padding: 0.5rem 1.5rem; |
||||
font-weight: 500; |
||||
transition: all 0.3s ease; |
||||
} |
||||
|
||||
/* Footer styling */ |
||||
.footer { |
||||
background-color: #f8f9fa; |
||||
padding: 4rem 0; |
||||
border-top: 1px solid #eee; |
||||
} |
||||
|
||||
.copyright { |
||||
background-color: #333; |
||||
color: white; |
||||
padding: 1.5rem 0; |
||||
} |
||||
|
||||
.copyright a { |
||||
color: #ccc; |
||||
text-decoration: none; |
||||
transition: color 0.3s ease; |
||||
} |
||||
|
||||
.copyright a:hover { |
||||
color: white; |
||||
} |
||||
|
||||
/* Typography improvements */ |
||||
body { |
||||
font-family: 'Roboto', 'Segoe UI', sans-serif; |
||||
color: #333; |
||||
line-height: 1.6; |
||||
} |
||||
|
||||
h1, h2, h3, h4, h5, h6 { |
||||
font-weight: 600; |
||||
margin-bottom: 1rem; |
||||
} |
||||
|
||||
/* Link styling */ |
||||
a { |
||||
color: var(--bs-primary); |
||||
text-decoration: none; |
||||
transition: color 0.3s ease; |
||||
} |
||||
|
||||
a:hover { |
||||
color: #65ab27; |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
/* Form controls */ |
||||
.form-control:focus { |
||||
border-color: var(--bs-primary); |
||||
box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25); |
||||
} |
@ -1,59 +1,174 @@ |
||||
{% extends "core/base.html" %} |
||||
{% load core_tags menu_tags static wagtailuserbar wagtailcore_tags wagtailimages_tags %} |
||||
|
||||
{% block extra_css %} |
||||
<style> |
||||
/* Timeline styling */ |
||||
.timeline { |
||||
position: relative; |
||||
padding: 0; |
||||
list-style: none; |
||||
} |
||||
|
||||
.timeline:before { |
||||
content: ''; |
||||
position: absolute; |
||||
top: 0; |
||||
bottom: 0; |
||||
left: 40px; |
||||
width: 4px; |
||||
background-color: var(--bs-primary); |
||||
} |
||||
|
||||
.timeline-item { |
||||
position: relative; |
||||
margin-bottom: 50px; |
||||
} |
||||
|
||||
.timeline-badge { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 40px; |
||||
width: 60px; |
||||
height: 60px; |
||||
margin-left: -30px; |
||||
border-radius: 50%; |
||||
text-align: center; |
||||
background-color: var(--bs-primary); |
||||
color: white; |
||||
z-index: 100; |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
justify-content: center; |
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); |
||||
padding: 5px; |
||||
} |
||||
|
||||
.timeline-badge-day { |
||||
font-size: 1.25rem; |
||||
font-weight: bold; |
||||
line-height: 1; |
||||
} |
||||
|
||||
.timeline-badge-month { |
||||
font-size: 0.8rem; |
||||
text-transform: uppercase; |
||||
line-height: 1; |
||||
} |
||||
|
||||
.timeline-month-header { |
||||
position: relative; |
||||
margin-bottom: 30px; |
||||
list-style: none; |
||||
} |
||||
|
||||
.timeline-month-header h3 { |
||||
position: relative; |
||||
padding-left: 60px; |
||||
border-bottom: 2px solid var(--bs-primary); |
||||
padding-bottom: 10px; |
||||
} |
||||
|
||||
.timeline-panel { |
||||
position: relative; |
||||
width: calc(100% - 90px); |
||||
float: right; |
||||
border-radius: 8px; |
||||
} |
||||
|
||||
.timeline-panel:before { |
||||
content: ''; |
||||
position: absolute; |
||||
top: 26px; |
||||
left: -15px; |
||||
border-top: 15px solid transparent; |
||||
border-right: 15px solid #fff; |
||||
border-bottom: 15px solid transparent; |
||||
} |
||||
|
||||
.timeline-date { |
||||
display: block; |
||||
margin-bottom: 10px; |
||||
font-weight: bold; |
||||
color: var(--bs-primary); |
||||
} |
||||
|
||||
@media (max-width: 767px) { |
||||
.timeline-badge { |
||||
margin-left: 0; |
||||
} |
||||
} |
||||
</style> |
||||
{% endblock %} |
||||
|
||||
{% block content %} |
||||
<div class="container"> |
||||
{% for event in self.get_events %} |
||||
<div class="card mb-4 border-0 shadow-sm"> |
||||
<div class="card-header bg-light"> |
||||
<div class="d-flex justify-content-between align-items-center"> |
||||
<div> |
||||
<span class="fs-5">{{ event.start_date|date:"SHORT_DATE_FORMAT" }}{% if event.end_date %} - {{ event.end_date|date:"SHORT_DATE_FORMAT" }}{% endif %}</span> |
||||
</div> |
||||
<div> |
||||
<span class="text-muted">{{ event.start_date|date:"F Y" }}</span> |
||||
</div> |
||||
<ul class="timeline"> |
||||
{% regroup self.get_events by start_date|date:"F Y" as events_by_month %} |
||||
{% for month_group in events_by_month %} |
||||
<li class="timeline-month-header"> |
||||
<h3 class="text-primary mb-4">{{ month_group.grouper }}</h3> |
||||
</li> |
||||
{% for event in month_group.list %} |
||||
<li class="timeline-item clearfix"> |
||||
<div class="timeline-badge"> |
||||
<span class="timeline-badge-day">{{ event.start_date|date:"d" }}</span> |
||||
<span class="timeline-badge-month">{{ event.start_date|date:"b" }}</span> |
||||
</div> |
||||
</div> |
||||
<div class="card-body"> |
||||
<h3 class="card-title mb-3"><a href="{{ event.url }}" class="text-decoration-none">{{ event.title }}</a> |
||||
{% if event.subtitle %}<br><small class="text-muted">{{ event.subtitle }}</small>{% endif %}</h3> |
||||
<div class="row"> |
||||
<div class="col-md-4 mb-3 mb-md-0"> |
||||
{% if event.img1_img %} |
||||
{% image event.img1_img max-250x250 class="img-fluid rounded" %} |
||||
{% endif %} |
||||
<div class="timeline-panel card border-0 shadow-sm"> |
||||
<div class="card-header bg-light"> |
||||
<div class="d-flex justify-content-between align-items-center"> |
||||
<div> |
||||
<span class="fs-5">{{ event.start_date|date:"SHORT_DATE_FORMAT" }}{% if event.end_date %} - {{ event.end_date|date:"SHORT_DATE_FORMAT" }}{% endif %}</span> |
||||
</div> |
||||
<div> |
||||
<span class="text-muted">{{ event.start_date|date:"F Y" }}</span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-md-4 mb-3 mb-md-0"> |
||||
<h5 class="mb-3"> |
||||
{{ event.start_date }}{% if event.end_date %} - {{ event.end_date }}{% endif %} |
||||
</h5> |
||||
{% if event.location_name %} |
||||
<p> |
||||
<strong>{{ event.location_name }}</strong><br> |
||||
{% if event.location_street %}{{ event.location_street }}<br>{% endif %} |
||||
{% if event.location_city %}{{ event.location_city }}{% endif %} |
||||
</p> |
||||
{% endif %} |
||||
<div class="card-body"> |
||||
<h3 class="card-title mb-3"><a href="{{ event.url }}" class="text-decoration-none">{{ event.title }}</a> |
||||
{% if event.subtitle %}<br><small class="text-muted">{{ event.subtitle }}</small>{% endif %}</h3> |
||||
<div class="row"> |
||||
<div class="col-md-4 mb-3 mb-md-0"> |
||||
{% if event.img1_img %} |
||||
{% image event.img1_img max-250x250 class="img-fluid rounded" %} |
||||
{% endif %} |
||||
</div> |
||||
<div class="col-md-4 mb-3 mb-md-0"> |
||||
<h5 class="mb-3"> |
||||
{{ event.start_date }}{% if event.end_date %} - {{ event.end_date }}{% endif %} |
||||
</h5> |
||||
{% if event.location_name %} |
||||
<p> |
||||
<strong>{{ event.location_name }}</strong><br> |
||||
{% if event.location_street %}{{ event.location_street }}<br>{% endif %} |
||||
{% if event.location_city %}{{ event.location_city }}{% endif %} |
||||
</p> |
||||
{% endif %} |
||||
</div> |
||||
<div class="col-md-4"> |
||||
{% if event.is_registration_active %} |
||||
<p> |
||||
<a class="btn btn-outline-primary w-100 mb-2" href="{{ event.url }}"><i class="bi bi-people"></i> Zur Anmeldung</a> |
||||
</p> |
||||
{% endif %} |
||||
{% if event.flyer.url %} |
||||
<p> |
||||
<a class="btn btn-outline-primary w-100 mb-2" href="{{ event.flyer.url }}" target="_blank"><i class="bi bi-cloud-download"></i> Programm herunterladen</a> |
||||
</p> |
||||
{% endif %} |
||||
<p> |
||||
<a class="btn btn-outline-primary w-100 mb-2" href="{{ event.url }}"><i class="bi bi-search"></i> Mehr Informationen</a> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-md-4"> |
||||
{% if event.is_registration_active %} |
||||
<p> |
||||
<a class="btn btn-outline-primary w-100 mb-2" href="{{ event.url }}"><i class="bi bi-people"></i> Zur Anmeldung</a> |
||||
</p> |
||||
{% endif %} |
||||
{% if event.flyer.url %} |
||||
<p> |
||||
<a class="btn btn-outline-primary w-100 mb-2" href="{{ event.flyer.url }}" target="_blank"><i class="bi bi-cloud-download"></i> Programm herunterladen</a> |
||||
</p> |
||||
{% endif %} |
||||
<p> |
||||
<a class="btn btn-outline-primary w-100 mb-2" href="{{ event.url }}"><i class="bi bi-search"></i> Mehr Informationen</a> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endfor %} |
||||
</div> |
||||
</li> |
||||
{% endfor %} |
||||
{% endfor %} |
||||
</ul> |
||||
</div> |
||||
{% endblock content %} |
||||
|
@ -1,56 +0,0 @@ |
||||
{% load wagtailimages_tags %} |
||||
<!-- SLIDE --> |
||||
<li class="revolution-mch-1" data-transition="fade" data-slotamount="5" data-masterspeed="1000"> |
||||
<!-- MAIN IMAGE --> |
||||
{% image img fill-2000x500 data-bgfit="cover" data-bgposition="left top" data-bgrepeat="no-repeat" %} |
||||
|
||||
{% if headline %} |
||||
<div class="tp-caption revolution-ch1 sft start" |
||||
data-x="center" |
||||
data-hoffset="0" |
||||
data-y="100" |
||||
data-speed="1500" |
||||
data-start="500" |
||||
data-easing="Back.easeInOut" |
||||
data-endeasing="Power1.easeIn" |
||||
data-endspeed="300"> |
||||
{{ headline }} |
||||
</div> |
||||
{% endif %} |
||||
|
||||
{% if subline %} |
||||
<!-- LAYER --> |
||||
<div class="tp-caption revolution-ch2 sft" |
||||
data-x="center" |
||||
data-hoffset="0" |
||||
data-y="190" |
||||
data-speed="1400" |
||||
data-start="2000" |
||||
data-easing="Power4.easeOut" |
||||
data-endspeed="300" |
||||
data-endeasing="Power1.easeIn" |
||||
data-captionhidden="off" |
||||
style="z-index: 6"> |
||||
{{ subline }} |
||||
</div> |
||||
{% endif %} |
||||
|
||||
{% if link_url and link_text %} |
||||
<!-- LAYER --> |
||||
<div class="tp-caption sft" |
||||
data-x="center" |
||||
data-hoffset="0" |
||||
data-y="310" |
||||
data-speed="1600" |
||||
data-start="2800" |
||||
data-easing="Power4.easeOut" |
||||
data-endspeed="300" |
||||
data-endeasing="Power1.easeIn" |
||||
data-captionhidden="off" |
||||
style="z-index: 6"> |
||||
<a href="{{ link_url }}" class="btn-u btn-brd btn-brd-hover btn-u-light">{{ link_text }}</a> |
||||
</div> |
||||
{% endif %} |
||||
</li> |
||||
<!-- END SLIDE --> |
||||
|
@ -1,9 +1,9 @@ |
||||
{% load menu_tags wagtailcore_tags %} |
||||
|
||||
<ul class="dropdown-menu" aria-labelledby="navbarDropdown"> |
||||
<ul class="dropdown-menu shadow-sm border-0" aria-labelledby="navbarDropdown"> |
||||
{# Include link to parent because the parent link is a drop down #} |
||||
<li><a class="dropdown-item" href="{% pageurl parent %}">{{ parent.title }}</a></li> |
||||
{% for child in menuitems_children %} |
||||
<li><a class="dropdown-item{% if child.active %} active{% endif %}" href="{% pageurl child %}">{{ child.title }}</a></li> |
||||
<li><a class="dropdown-item{% if child.active %} active text-primary{% endif %}" href="{% pageurl child %}">{{ child.title }}</a></li> |
||||
{% endfor %} |
||||
</ul> |
||||
|
Loading…
Reference in new issue