Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d1057b513e | ||
|
|
5e0c026da0 | ||
|
|
0fda461bec | ||
|
|
e41f21b515 | ||
|
|
681ff4c9eb | ||
|
|
3d0c7ce557 | ||
|
|
acb12a15bf | ||
|
|
287ee0da24 | ||
|
|
b3db0b99b7 | ||
|
|
0eaec091b4 | ||
|
|
3acc0e1c99 | ||
|
|
fb3b9fe5ec | ||
|
|
26cf58df55 | ||
|
|
3836f5a876 | ||
|
|
39786ab837 | ||
|
|
b78f0679bb | ||
|
|
44af7d4131 | ||
|
|
43ee6153dd | ||
|
|
042a526aba | ||
|
|
bc5e131749 | ||
|
|
5bbba99f3b | ||
|
|
46362b5355 | ||
|
|
af25b0a2b0 | ||
|
|
6d3152047a | ||
|
|
e1a8074e99 | ||
|
|
43f40a39b0 | ||
|
|
9f20b9433f | ||
|
|
b9b6e5fa57 | ||
|
|
c08b3d6506 | ||
|
|
9db3bdff17 | ||
|
|
6b6cf4e76f | ||
|
|
4ef8d4a393 | ||
|
|
2b13b937ec | ||
|
|
85f96ea145 | ||
|
|
4a12a88d2c | ||
|
|
b67a6f2d52 | ||
|
|
82877cb410 | ||
|
|
2425b154cb | ||
|
|
170ad670bc | ||
|
|
c74800a91e | ||
|
|
e417f31c99 | ||
|
|
85d12e832d | ||
|
|
12d1da2818 | ||
|
|
3563752968 | ||
|
|
095e3b5990 | ||
|
|
abb711abbe | ||
|
|
558f827fa5 | ||
|
|
db2ca87135 | ||
|
|
62bab14817 | ||
|
|
5008184633 | ||
|
|
83bff40565 | ||
|
|
5a4115222e | ||
|
|
2ccd1f5769 | ||
|
|
94975c41fb | ||
|
|
8be73b9764 | ||
|
|
c2f366e391 | ||
|
|
e530922071 | ||
|
|
07b09a83c3 | ||
|
|
2487405491 | ||
|
|
853e9be519 | ||
|
|
11f7621ea9 | ||
|
|
40ef763823 | ||
|
|
bb818139b2 | ||
|
|
3e7aaf3560 | ||
|
|
32fb4c8204 | ||
|
|
2a70e23c6b | ||
|
|
3fdf178a4b | ||
|
|
9fc7507037 | ||
|
|
5beb82d9dd | ||
|
|
50ebde6b70 | ||
|
|
2ba14ed9a9 | ||
|
|
4e16f543a5 | ||
|
|
7e3f7303c4 | ||
|
|
0a494f8148 | ||
|
|
75c3583b11 | ||
|
|
387ee5586f | ||
|
|
5e087bb07a | ||
|
|
21d9e0f56c | ||
|
|
37b01a5135 | ||
|
|
cc0de6b5dd | ||
|
|
1a9f2ba8f2 | ||
|
|
be9c444ba2 | ||
|
|
7870995bab | ||
|
|
16a4577e6b | ||
|
|
e319e91290 | ||
|
|
b2ba06c1f3 | ||
|
|
dce1de3f68 | ||
|
|
65f6fbb0a2 | ||
|
|
9c6931d25d | ||
|
|
2882231550 | ||
|
|
7684cae147 | ||
|
|
c2e7ef1b46 | ||
|
|
1c9b19acda | ||
|
|
96a71b0254 | ||
|
|
e1dc54463a | ||
|
|
15403ac652 | ||
|
|
50343f6dca | ||
|
|
9ee1e662ea | ||
|
|
1f8fffb58a | ||
|
|
2855fbada5 | ||
|
|
3d08d57d64 | ||
|
|
5e155c8398 | ||
|
|
c858112d7f | ||
|
|
b90684aa22 | ||
|
|
9aa5fc2507 | ||
|
|
53f5d57b32 | ||
|
|
f9bd5558b7 | ||
|
|
18c07628f5 |
@@ -1,31 +1,28 @@
|
||||
<?php get_header(); ?> <!-- HIER WIRD DER HEADER EINGEBUNDEN -->
|
||||
<?php get_header(); ?>
|
||||
|
||||
<div class="container site-main">
|
||||
<div class="content-area">
|
||||
|
||||
<!-- Hülle um den gesamten FAQ-Inhalt für einen festen Hintergrund -->
|
||||
<div class="faq-archive-container">
|
||||
|
||||
|
||||
<header class="page-header">
|
||||
<h1 class="page-title"><?php _e( 'Häufig gestellte Fragen (FAQ)', 'minecraft-modern-theme' ); ?></h1>
|
||||
<p><?php _e( 'Wählen Sie eine Kategorie, um die passenden Fragen zu sehen.', 'minecraft-modern-theme' ); ?></p>
|
||||
</header>
|
||||
|
||||
<?php
|
||||
// Alle FAQ-Kategorien abrufen
|
||||
$categories = get_terms( array(
|
||||
'taxonomy' => 'faq_category',
|
||||
'orderby' => 'name',
|
||||
'order' => 'ASC'
|
||||
'order' => 'ASC',
|
||||
) );
|
||||
|
||||
if ( ! empty( $categories ) && ! is_wp_error( $categories ) ) : ?>
|
||||
|
||||
<!-- Tab-Navigation -->
|
||||
<ul class="faq-tabs">
|
||||
<?php
|
||||
<?php
|
||||
$is_first = true;
|
||||
foreach ( $categories as $category ) :
|
||||
foreach ( $categories as $category ) :
|
||||
$active_class = $is_first ? 'active' : '';
|
||||
?>
|
||||
<li>
|
||||
@@ -33,20 +30,19 @@
|
||||
<?php echo esc_html( $category->name ); ?>
|
||||
</button>
|
||||
</li>
|
||||
<?php
|
||||
$is_first = false;
|
||||
<?php
|
||||
$is_first = false;
|
||||
endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<!-- Container für alle Tab-Inhalte -->
|
||||
<div class="faq-tab-content-container">
|
||||
<?php
|
||||
<?php
|
||||
$is_first_pane = true;
|
||||
foreach ( $categories as $category ) :
|
||||
foreach ( $categories as $category ) :
|
||||
$active_pane_class = $is_first_pane ? 'active' : '';
|
||||
?>
|
||||
<div class="faq-tab-pane <?php echo esc_attr($active_pane_class); ?>" data-category="<?php echo esc_attr($category->slug); ?>">
|
||||
|
||||
|
||||
<?php
|
||||
$faqs = new WP_Query( array(
|
||||
'post_type' => 'faq',
|
||||
@@ -58,8 +54,8 @@
|
||||
'terms' => $category->slug,
|
||||
),
|
||||
),
|
||||
'orderby' => 'menu_order',
|
||||
'order' => 'ASC',
|
||||
'orderby' => 'menu_order',
|
||||
'order' => 'ASC',
|
||||
) );
|
||||
|
||||
if ( $faqs->have_posts() ) : ?>
|
||||
@@ -77,8 +73,8 @@
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
$is_first_pane = false;
|
||||
<?php
|
||||
$is_first_pane = false;
|
||||
endforeach; ?>
|
||||
</div>
|
||||
|
||||
@@ -91,4 +87,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php get_footer(); ?> <!-- HIER WIRD DER FOOTER EINGEBUNDEN -->
|
||||
<?php get_footer(); ?>
|
||||
@@ -1,74 +1,37 @@
|
||||
<?php
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* =============================================================================
|
||||
* HAUPTFUNKTION: Stylesheets korrekt laden
|
||||
* =============================================================================
|
||||
*
|
||||
* Diese Funktion lädt das Stylesheet des Parents zuerst.
|
||||
* Danach wird das Stylesheet des Childs geladen.
|
||||
* So können CSS-Regeln im Child Theme das Parent Theme gezielt überschreiben.
|
||||
*/
|
||||
function minecraft_modern_child_enqueue_styles() {
|
||||
// 1. Das Stylesheet des Parent Themes laden
|
||||
// get_template_directory_uri() zeigt auf den Ordner des Parent Themes.
|
||||
// Der Handle 'minecraft-modern-style' sollte exakt dem im Parent übereinstimmen.
|
||||
$parent_style = 'minecraft-modern-style';
|
||||
|
||||
wp_enqueue_style(
|
||||
$parent_style,
|
||||
get_template_directory_uri() . '/style.css',
|
||||
array(),
|
||||
wp_get_theme( get_template() )->get( 'Version' ) // WICHTIG: Wir nutzen die Version des Parents
|
||||
);
|
||||
|
||||
// 2. Das Stylesheet des Child Themes laden
|
||||
// get_stylesheet_directory_uri() zeigt auf den Ordner des Child Themes.
|
||||
// Die Abhängigkeit 'parent-style' stellt sicher, dass es NACH dem Parent geladen wird.
|
||||
wp_enqueue_style(
|
||||
'minecraft-modern-child-style',
|
||||
get_stylesheet_directory_uri() . '/style.css',
|
||||
array( $parent_style ),
|
||||
wp_get_theme()->get( 'Version' ) // Die Version des Childs (für Cache-Reset)
|
||||
);
|
||||
}
|
||||
add_action( 'wp_enqueue_scripts', 'minecraft_modern_child_enqueue_styles' );
|
||||
|
||||
|
||||
/**
|
||||
* =============================================================================
|
||||
* (OPTIONAL) Beispiel: Ein Skript des Parent Themes überschreiben
|
||||
* =============================================================================
|
||||
*
|
||||
* Falls du die Logik des Sliders (z.B. die slider-init.js) im Child Theme
|
||||
* anpassen möchtest, könntest du diese Technik nutzen.
|
||||
* Dies ist NUR NOTWENDIG, wenn du Änderungen am JavaScript des Sliders vornehmen willst.
|
||||
*
|
||||
* Um dies zu aktivieren, entferne die Slashs (/) am Anfang und Ende dieses Blocks.
|
||||
*/
|
||||
/*
|
||||
function minecraft_modern_child_swap_faq_script() {
|
||||
// Entfernt das Skript, das vom Parent Theme mit dem Handle 'faq-accordion-script' registriert wurde.
|
||||
wp_deregister_script( 'faq-accordion-script' );
|
||||
|
||||
// Lädt dein neues Skript aus dem Child Theme.
|
||||
// Wir verwenden denselben Namen ('Handle'), um WordPress klar zu machen,
|
||||
// dass dieses Skript das Original ersetzt.
|
||||
wp_enqueue_script(
|
||||
'faq-accordion-script', // Derselbe Handle wie im Parent Theme
|
||||
get_stylesheet_directory_uri() . '/js/faq-accordion.js', // Pfad zur neuen JS-Datei im Child Theme
|
||||
array( 'jquery' ), // Abhängigkeiten (hier jQuery)
|
||||
'1.0', // Version deines Skripts
|
||||
true // Im Footer laden
|
||||
);
|
||||
}
|
||||
// Diese Funktion wird mit einer höheren Priorität (20) ausgeführt,
|
||||
// also NACHDEM das Parent Theme sein Skript geladen hat.
|
||||
add_action( 'wp_enqueue_scripts', 'minecraft_modern_child_swap_faq_script', 20 );
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* =============================================================================
|
||||
* HAUPTFUNKTION: Stylesheets korrekt laden
|
||||
* =============================================================================
|
||||
*/
|
||||
function minecraft_modern_child_enqueue_styles() {
|
||||
$parent_style = 'minecraft-modern-style';
|
||||
|
||||
// Cache-Busting über filemtime() statt der statischen Theme-Version:
|
||||
// sonst liefern Browser nach einer CSS-Änderung weiter die alte Datei aus.
|
||||
wp_enqueue_style(
|
||||
$parent_style,
|
||||
get_template_directory_uri() . '/style.css',
|
||||
array(),
|
||||
filemtime( get_template_directory() . '/style.css' )
|
||||
);
|
||||
|
||||
wp_enqueue_style(
|
||||
'minecraft-modern-child-style',
|
||||
get_stylesheet_directory_uri() . '/style.css',
|
||||
array( $parent_style ),
|
||||
filemtime( get_stylesheet_directory() . '/style.css' )
|
||||
);
|
||||
|
||||
// BUG-FIX: Der Nav-Fix-CSS für .submenu-toggle (Desktop-Ausblendung) stand
|
||||
// bereits vollständig in child/style.css. Das wp_add_inline_style() hier
|
||||
// hat exakt denselben CSS-Block ein zweites Mal in den <head> injiziert.
|
||||
// Entfernt – style.css ist die einzige Quelle der Wahrheit.
|
||||
}
|
||||
add_action( 'wp_enqueue_scripts', 'minecraft_modern_child_enqueue_styles' );
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
@@ -1,55 +1,171 @@
|
||||
/*
|
||||
Theme Name: Minecraft Modern Theme Child
|
||||
Theme URI: https://git.viper.ipv64.net/M_Viper/Minecraft-Modern-Theme
|
||||
Description: Ein Child Theme für das Minecraft Modern Theme.
|
||||
Author: M_Viper
|
||||
Author URI: https://M-Viper.de
|
||||
Template: Minecraft-Modern-Theme
|
||||
Version: 1.1.0
|
||||
License: GNU General Public License v2 or later
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
Text Domain: minecraft-modern-theme-child
|
||||
*/
|
||||
|
||||
/* =Hier kommen Ihre CSS-Anpassungen hin
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Kopieren Sie Ihre geänderten CSS-Regeln hierhin.
|
||||
Zum Beispiel die neuen Regeln für die FAQ-Tabs:
|
||||
*/
|
||||
.faq-tab-content-container {
|
||||
display: grid; /* Wichtig: Erzeugt ein Gitter-Layout */
|
||||
/* Alle direkten Kinder (.faq-tab-pane) werden automatisch auf die gleiche Höhe gesetzt */
|
||||
}
|
||||
|
||||
.faq-tab-pane {
|
||||
/* Grid-Item-Styling */
|
||||
grid-area: 1 / 1 / 2 / 2; /* Alle Panes belegen dieselbe Gitterzelle */
|
||||
|
||||
/* Visuelles Ein- und Ausblenden */
|
||||
opacity: 0; /* Standardmäßig unsichtbar */
|
||||
pointer-events: none; /* Nicht klickbar, wenn unsichtbar */
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
.faq-tab-pane.active {
|
||||
opacity: 1; /* Sichtbar machen */
|
||||
pointer-events: auto; /* Wieder klickbar machen */
|
||||
}
|
||||
|
||||
/* ===================================================================
|
||||
LAYOUT-SHIFT-FIX: Slider verstecken, bis er initialisiert ist
|
||||
=================================================================== */
|
||||
.hero-slider {
|
||||
/* Verstecke den Slider initial, um ein "Zusammenschnappen" zu verhindern */
|
||||
opacity: 0;
|
||||
/* Füge einen sanften Übergangseffekt für das Einblenden hinzu */
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
/* Diese Klasse wird vom JavaScript hinzugefügt, wenn der Slider bereit ist */
|
||||
.hero-slider.swiper-initialized {
|
||||
/* Mache den Slider sichtbar */
|
||||
opacity: 1;
|
||||
}
|
||||
/* Fügen Sie hier zukünftig weiteres eigenes CSS hinzu */
|
||||
/*
|
||||
Theme Name: Minecraft Modern Theme Child
|
||||
Theme URI: https://git.viper.ipv64.net/M_Viper/Minecraft-Modern-Theme
|
||||
Description: Ein Child Theme für das Minecraft Modern Theme.
|
||||
Author: M_Viper
|
||||
Author URI: https://M-Viper.de
|
||||
Template: Minecraft-Modern-Theme
|
||||
Version: 1.1.1
|
||||
License: GNU General Public License v2 or later
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
Text Domain: minecraft-modern-theme-child
|
||||
*/
|
||||
|
||||
/* ===================================================================
|
||||
SIDEBAR FLYOUT: Sichtbarkeit
|
||||
=================================================================== */
|
||||
|
||||
/* Standardmäßig versteckt aber NICHT display:none damit
|
||||
getBoundingClientRect() korrekte Werte liefert */
|
||||
.header-sidebar .sub-menu {
|
||||
opacity: 0 !important;
|
||||
pointer-events: none !important;
|
||||
display: block !important;
|
||||
transition: opacity 0.15s ease !important;
|
||||
}
|
||||
|
||||
/* Sichtbar wenn li gehoverd oder flyout-open gesetzt */
|
||||
.header-sidebar .primary-menu > li.menu-item-has-children:hover > .sub-menu,
|
||||
.header-sidebar .primary-menu > li.menu-item-has-children.flyout-open > .sub-menu,
|
||||
.header-sidebar .menu-item.active > .sub-menu {
|
||||
opacity: 1 !important;
|
||||
pointer-events: auto !important;
|
||||
}
|
||||
|
||||
/* ===================================================================
|
||||
FAQ TABS
|
||||
=================================================================== */
|
||||
.faq-tab-content-container { display: grid; }
|
||||
.faq-tab-pane {
|
||||
grid-area: 1 / 1 / 2 / 2;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
}
|
||||
.faq-tab-pane.active { opacity: 1; pointer-events: auto; }
|
||||
|
||||
/* ===================================================================
|
||||
SLIDER
|
||||
=================================================================== */
|
||||
.hero-slider { opacity: 0; transition: opacity 0.4s ease-in-out; }
|
||||
.hero-slider.swiper-initialized { opacity: 1; }
|
||||
|
||||
/* ===================================================================
|
||||
NAVIGATION: submenu-toggle auf Desktop nur für Classic/Centered/Mega
|
||||
ausblenden — Sidebar-Layout braucht den Button
|
||||
=================================================================== */
|
||||
@media (min-width: 993px) {
|
||||
.site-header--classic .submenu-toggle,
|
||||
.site-header--centered .submenu-toggle,
|
||||
.site-header--mega .submenu-toggle {
|
||||
display: none !important;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
overflow: hidden !important;
|
||||
pointer-events: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.submenu-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 4px 8px;
|
||||
color: inherit;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.menu-item-has-children.active > .submenu-toggle i {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}/*
|
||||
Theme Name: Minecraft Modern Theme Child
|
||||
Theme URI: https://git.viper.ipv64.net/M_Viper/Minecraft-Modern-Theme
|
||||
Description: Ein Child Theme für das Minecraft Modern Theme.
|
||||
Author: M_Viper
|
||||
Author URI: https://M-Viper.de
|
||||
Template: Minecraft-Modern-Theme
|
||||
Version: 1.1.0
|
||||
License: GNU General Public License v2 or later
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
Text Domain: minecraft-modern-theme-child
|
||||
*/
|
||||
|
||||
/* ===================================================================
|
||||
SIDEBAR FLYOUT: Sichtbarkeit
|
||||
=================================================================== */
|
||||
|
||||
/* Standardmäßig versteckt aber NICHT display:none damit
|
||||
getBoundingClientRect() korrekte Werte liefert */
|
||||
.header-sidebar .sub-menu {
|
||||
opacity: 0 !important;
|
||||
pointer-events: none !important;
|
||||
display: block !important;
|
||||
transition: opacity 0.15s ease !important;
|
||||
}
|
||||
|
||||
/* Sichtbar wenn li gehoverd oder flyout-open gesetzt */
|
||||
.header-sidebar .primary-menu > li.menu-item-has-children:hover > .sub-menu,
|
||||
.header-sidebar .primary-menu > li.menu-item-has-children.flyout-open > .sub-menu,
|
||||
.header-sidebar .menu-item.active > .sub-menu {
|
||||
opacity: 1 !important;
|
||||
pointer-events: auto !important;
|
||||
}
|
||||
|
||||
/* ===================================================================
|
||||
FAQ TABS
|
||||
=================================================================== */
|
||||
.faq-tab-content-container { display: grid; }
|
||||
.faq-tab-pane {
|
||||
grid-area: 1 / 1 / 2 / 2;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
}
|
||||
.faq-tab-pane.active { opacity: 1; pointer-events: auto; }
|
||||
|
||||
/* ===================================================================
|
||||
SLIDER
|
||||
=================================================================== */
|
||||
.hero-slider { opacity: 0; transition: opacity 0.4s ease-in-out; }
|
||||
.hero-slider.swiper-initialized { opacity: 1; }
|
||||
|
||||
/* ===================================================================
|
||||
NAVIGATION: submenu-toggle auf Desktop nur für Classic/Centered/Mega
|
||||
ausblenden — Sidebar-Layout braucht den Button
|
||||
=================================================================== */
|
||||
@media (min-width: 993px) {
|
||||
.site-header--classic .submenu-toggle,
|
||||
.site-header--centered .submenu-toggle,
|
||||
.site-header--mega .submenu-toggle {
|
||||
display: none !important;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
overflow: hidden !important;
|
||||
pointer-events: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.submenu-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 4px 8px;
|
||||
color: inherit;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.menu-item-has-children.active > .submenu-toggle i {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,192 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
<div class="container">
|
||||
<div class="content-area">
|
||||
|
||||
<div class="error-404-container">
|
||||
|
||||
<div class="error-404-visual">
|
||||
<div class="error-404-code">404</div>
|
||||
<div class="error-404-blocks">
|
||||
<!-- Minecraft-style Blöcke als Dekoration -->
|
||||
<span class="block block-grass"></span>
|
||||
<span class="block block-dirt"></span>
|
||||
<span class="block block-stone"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="error-404-content">
|
||||
<h1 class="error-404-title">
|
||||
<?php _e('Diese Seite ist verloren gegangen...', 'minecraft-modern-theme'); ?>
|
||||
</h1>
|
||||
<p class="error-404-subtitle">
|
||||
<?php _e('Wie eine Map ohne Spawn-Punkt – diese Seite existiert nicht (mehr).', 'minecraft-modern-theme'); ?>
|
||||
</p>
|
||||
|
||||
<div class="error-404-actions">
|
||||
<a href="<?php echo esc_url( home_url('/') ); ?>" class="error-404-btn primary">
|
||||
<i class="fas fa-home"></i> <?php _e('Zur Startseite', 'minecraft-modern-theme'); ?>
|
||||
</a>
|
||||
<a href="javascript:history.back()" class="error-404-btn secondary">
|
||||
<i class="fas fa-arrow-left"></i> <?php _e('Zurück', 'minecraft-modern-theme'); ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Suchformular -->
|
||||
<div class="error-404-search">
|
||||
<p><?php _e('Oder suche direkt nach dem was du brauchst:', 'minecraft-modern-theme'); ?></p>
|
||||
<?php get_search_form(); ?>
|
||||
</div>
|
||||
|
||||
<!-- Letzte Beiträge als Hilfestellung -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<style>
|
||||
.error-404-container {
|
||||
display: flex;
|
||||
gap: 60px;
|
||||
align-items: center;
|
||||
padding: 60px 0;
|
||||
min-height: 60vh;
|
||||
}
|
||||
|
||||
.error-404-visual {
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.error-404-code {
|
||||
font-size: clamp(80px, 15vw, 160px);
|
||||
font-weight: 900;
|
||||
line-height: 1;
|
||||
color: var(--primary-accent, #00d4ff);
|
||||
text-shadow: 0 0 40px rgba(0, 212, 255, 0.3);
|
||||
letter-spacing: -4px;
|
||||
}
|
||||
|
||||
.error-404-blocks {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.block {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 4px;
|
||||
display: inline-block;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
.block-grass { background: linear-gradient(to bottom, #5c8a1e 40%, #6b4c2a 40%); }
|
||||
.block-dirt { background: #6b4c2a; }
|
||||
.block-stone { background: #888; }
|
||||
|
||||
.error-404-content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.error-404-title {
|
||||
font-size: clamp(1.4rem, 3vw, 2rem);
|
||||
margin: 0 0 12px;
|
||||
}
|
||||
|
||||
.error-404-subtitle {
|
||||
color: var(--text-muted, #a0a0a0);
|
||||
margin-bottom: 30px;
|
||||
font-size: 1.05rem;
|
||||
}
|
||||
|
||||
.error-404-actions {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.error-404-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 12px 24px;
|
||||
border-radius: 6px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
||||
}
|
||||
.error-404-btn:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
|
||||
}
|
||||
.error-404-btn.primary {
|
||||
background: var(--primary-accent, #00d4ff);
|
||||
color: #fff;
|
||||
}
|
||||
.error-404-btn.secondary {
|
||||
background: var(--card-bg);
|
||||
color: inherit;
|
||||
border: 1px solid rgba(255,255,255,0.1);
|
||||
}
|
||||
|
||||
.error-404-search {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.error-404-search p {
|
||||
color: var(--text-muted, #a0a0a0);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.error-404-recent h3 {
|
||||
font-size: 1rem;
|
||||
color: var(--text-muted, #a0a0a0);
|
||||
margin-bottom: 12px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
.error-404-recent-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.error-404-recent-list li {
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.06);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.error-404-recent-list li i {
|
||||
color: var(--primary-accent, #00d4ff);
|
||||
font-size: 0.75rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.error-404-recent-list a {
|
||||
text-decoration: none;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
.error-404-recent-list a:hover {
|
||||
color: var(--primary-accent, #00d4ff);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.error-404-container {
|
||||
flex-direction: column;
|
||||
gap: 30px;
|
||||
padding: 40px 0;
|
||||
text-align: center;
|
||||
}
|
||||
.error-404-actions {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<?php get_footer(); ?>
|
||||
@@ -1,31 +1,27 @@
|
||||
<?php get_header(); ?> <!-- HIER WIRD DER HEADER EINGEBUNDEN -->
|
||||
<?php get_header(); ?>
|
||||
|
||||
<div class="container site-main">
|
||||
<div class="content-area">
|
||||
|
||||
<!-- Hülle um den gesamten FAQ-Inhalt für einen festen Hintergrund -->
|
||||
<div class="faq-archive-container">
|
||||
|
||||
|
||||
<header class="page-header">
|
||||
<h1 class="page-title"><?php _e( 'Häufig gestellte Fragen (FAQ)', 'minecraft-modern-theme' ); ?></h1>
|
||||
<p><?php _e( 'Wählen Sie eine Kategorie, um die passenden Fragen zu sehen.', 'minecraft-modern-theme' ); ?></p>
|
||||
</header>
|
||||
|
||||
<?php
|
||||
// Alle FAQ-Kategorien abrufen
|
||||
$categories = get_terms( array(
|
||||
'taxonomy' => 'faq_category',
|
||||
'orderby' => 'name',
|
||||
'order' => 'ASC'
|
||||
'order' => 'ASC',
|
||||
) );
|
||||
|
||||
if ( ! empty( $categories ) && ! is_wp_error( $categories ) ) : ?>
|
||||
|
||||
<!-- Tab-Navigation -->
|
||||
<ul class="faq-tabs">
|
||||
<?php
|
||||
<?php
|
||||
$is_first = true;
|
||||
foreach ( $categories as $category ) :
|
||||
foreach ( $categories as $category ) :
|
||||
$active_class = $is_first ? 'active' : '';
|
||||
?>
|
||||
<li>
|
||||
@@ -33,20 +29,19 @@
|
||||
<?php echo esc_html( $category->name ); ?>
|
||||
</button>
|
||||
</li>
|
||||
<?php
|
||||
$is_first = false;
|
||||
<?php
|
||||
$is_first = false;
|
||||
endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<!-- Container für alle Tab-Inhalte -->
|
||||
<div class="faq-tab-content-container">
|
||||
<?php
|
||||
<?php
|
||||
$is_first_pane = true;
|
||||
foreach ( $categories as $category ) :
|
||||
foreach ( $categories as $category ) :
|
||||
$active_pane_class = $is_first_pane ? 'active' : '';
|
||||
?>
|
||||
<div class="faq-tab-pane <?php echo esc_attr($active_pane_class); ?>" data-category="<?php echo esc_attr($category->slug); ?>">
|
||||
|
||||
|
||||
<?php
|
||||
$faqs = new WP_Query( array(
|
||||
'post_type' => 'faq',
|
||||
@@ -58,8 +53,8 @@
|
||||
'terms' => $category->slug,
|
||||
),
|
||||
),
|
||||
'orderby' => 'menu_order',
|
||||
'order' => 'ASC',
|
||||
'orderby' => 'menu_order',
|
||||
'order' => 'ASC',
|
||||
) );
|
||||
|
||||
if ( $faqs->have_posts() ) : ?>
|
||||
@@ -77,8 +72,8 @@
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
$is_first_pane = false;
|
||||
<?php
|
||||
$is_first_pane = false;
|
||||
endforeach; ?>
|
||||
</div>
|
||||
|
||||
@@ -91,4 +86,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php get_footer(); ?> <!-- HIER WIRD DER FOOTER EINGEBUNDEN -->
|
||||
<?php get_footer(); ?>
|
||||
@@ -3,45 +3,106 @@
|
||||
<div class="container site-main">
|
||||
<div class="content-area">
|
||||
<div class="team-archive-container">
|
||||
|
||||
<header class="page-header">
|
||||
<h1 class="page-title">Unser Team</h1>
|
||||
<p class="page-description">Lerne die Leute kennen, die diesen Server am Laufen halten.</p>
|
||||
</header>
|
||||
|
||||
<?php
|
||||
$query = new WP_Query(array('post_type' => 'team_member', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC'));
|
||||
$query = new WP_Query( array(
|
||||
'post_type' => 'team_member',
|
||||
'posts_per_page' => -1,
|
||||
'orderby' => 'menu_order',
|
||||
'order' => 'ASC',
|
||||
) );
|
||||
|
||||
if ( $query->have_posts() ) : ?>
|
||||
<div class="team-grid">
|
||||
<?php while ( $query->have_posts() ) : $query->the_post();
|
||||
$rank_string = get_post_meta( get_the_ID(), '_team_member_rank', true );
|
||||
$img = get_the_post_thumbnail_url( get_the_ID(), 'medium' );
|
||||
if ( !$img ) $img = get_template_directory_uri() . '/images/default-avatar.png';
|
||||
$uuid = get_post_meta( get_the_ID(), '_team_member_uuid', true );
|
||||
$banner_id = get_post_meta( get_the_ID(), '_team_member_banner', true );
|
||||
$img = get_the_post_thumbnail_url( get_the_ID(), 'medium' );
|
||||
$banner_url = $banner_id ? wp_get_attachment_image_url( $banner_id, 'medium_large' ) : false;
|
||||
|
||||
// UUID hat Vorrang – Minecraft Avatar via visage.surgeplay.com
|
||||
if ( $uuid ) {
|
||||
$avatar_url = 'https://visage.surgeplay.com/bust/' . esc_attr( $uuid ) . '.png';
|
||||
} elseif ( $img ) {
|
||||
$avatar_url = $img;
|
||||
} else {
|
||||
$avatar_url = false;
|
||||
}
|
||||
$use_placeholder = ! $avatar_url;
|
||||
$initials = mb_strtoupper( mb_substr( get_the_title(), 0, 1 ) );
|
||||
?>
|
||||
<article class="team-card">
|
||||
<div class="team-image-wrapper">
|
||||
<img src="<?php echo esc_url($img); ?>" alt="<?php echo esc_attr(get_the_title()); ?>">
|
||||
<!-- Banner -->
|
||||
<div class="team-card-banner" <?php if ( $banner_url ) echo 'style="background-image:url(' . esc_url($banner_url) . ')"'; ?>>
|
||||
</div>
|
||||
|
||||
<!-- Avatar -->
|
||||
<div class="team-image-wrapper">
|
||||
<?php if ( $avatar_url ) : ?>
|
||||
<img src="<?php echo esc_url( $avatar_url ); ?>"
|
||||
alt="<?php echo esc_attr( get_the_title() ); ?>"
|
||||
loading="lazy">
|
||||
<?php else : ?>
|
||||
<div class="team-avatar-placeholder">
|
||||
<?php echo esc_html( $initials ); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="team-info">
|
||||
<h3 class="team-name"><?php the_title(); ?></h3>
|
||||
<div class="team-ranks-wrapper">
|
||||
<?php if ( !empty($rank_string) ) {
|
||||
$ranks = explode(',', $rank_string);
|
||||
<?php if ( ! empty( $rank_string ) ) {
|
||||
$ranks = explode( ',', $rank_string );
|
||||
foreach ( $ranks as $r ) {
|
||||
echo '<span class="team-rank">' . esc_html(trim($r)) . '</span>';
|
||||
echo '<span class="team-rank">' . esc_html( trim( $r ) ) . '</span>';
|
||||
}
|
||||
} ?>
|
||||
</div>
|
||||
<div class="team-bio"><?php the_excerpt(); ?></div>
|
||||
</div>
|
||||
</article>
|
||||
<?php endwhile; ?>
|
||||
<?php endwhile; wp_reset_postdata(); ?>
|
||||
</div>
|
||||
<?php wp_reset_postdata(); ?>
|
||||
|
||||
<?php else : ?>
|
||||
<p>Noch keine Teammitglieder.</p>
|
||||
<p><?php _e('Noch keine Teammitglieder.', 'minecraft-modern-theme'); ?></p>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
/* Avatar-Placeholder wenn kein Bild gesetzt ist */
|
||||
.team-avatar-placeholder {
|
||||
width: 100%;
|
||||
aspect-ratio: 1;
|
||||
background: var(--card-bg);
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--primary-accent, #00d4ff);
|
||||
font-size: 2.5rem;
|
||||
font-weight: 700;
|
||||
gap: 4px;
|
||||
}
|
||||
.team-avatar-placeholder svg {
|
||||
width: 60%;
|
||||
height: 60%;
|
||||
color: var(--primary-accent, #00d4ff);
|
||||
}
|
||||
.team-avatar-placeholder span {
|
||||
font-size: 2rem;
|
||||
line-height: 1;
|
||||
}
|
||||
</style>
|
||||
|
||||
<?php get_footer(); ?>
|
||||
@@ -0,0 +1,461 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<style>
|
||||
/* Basis-Styles für Player */
|
||||
#yt-player-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding-bottom: 56.25%; /* 16:9 */
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
#yt-player-container iframe,
|
||||
#yt-player-container #yt-player {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
#other-player-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding-bottom: 56.25%;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
#other-player-container iframe,
|
||||
#other-player-container video {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* === NEU: Styles für das Livestream Popup (Lightbox) === */
|
||||
.livestream-lightbox {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 10000;
|
||||
display: none; /* Wird via JS auf flex gesetzt */
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
.livestream-lightbox.is-open {
|
||||
display: flex;
|
||||
opacity: 1;
|
||||
}
|
||||
.livestream-lightbox-backdrop {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.85);
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
.livestream-lightbox-box {
|
||||
position: relative;
|
||||
width: 90%;
|
||||
max-width: 1100px;
|
||||
background: #1a1a1a;
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
|
||||
transform: translateY(20px);
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
.livestream-lightbox.is-open .livestream-lightbox-box {
|
||||
transform: translateY(0);
|
||||
}
|
||||
.livestream-lightbox-head {
|
||||
padding: 15px 25px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background: #222;
|
||||
border-bottom: 1px solid #333;
|
||||
}
|
||||
.livestream-lightbox-title {
|
||||
margin: 0;
|
||||
font-size: 1.2rem;
|
||||
color: #fff;
|
||||
}
|
||||
.livestream-lightbox-close {
|
||||
background: none;
|
||||
border: none;
|
||||
color: #aaa;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
.livestream-lightbox-close:hover {
|
||||
color: #fff;
|
||||
}
|
||||
.livestream-lightbox-player {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%;
|
||||
height: 0;
|
||||
background: #000;
|
||||
}
|
||||
.livestream-lightbox-player iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: none;
|
||||
}
|
||||
.livestream-lightbox-meta {
|
||||
padding: 15px 25px;
|
||||
background: #222;
|
||||
text-align: right;
|
||||
}
|
||||
.livestream-lightbox-meta a {
|
||||
color: #00dcff;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
/* Klick-Indikator für die Karten */
|
||||
.video-livestream-list > div {
|
||||
cursor: pointer;
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
.video-livestream-list > div:hover {
|
||||
transform: scale(1.02);
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container site-main">
|
||||
<div class="content-area">
|
||||
<div class="video-archive-container">
|
||||
|
||||
<header class="page-header">
|
||||
<h1 class="page-title">
|
||||
<i class="fas fa-play-circle"></i> <?php _e( 'Videos', 'minecraft-modern-theme' ); ?>
|
||||
</h1>
|
||||
<p class="page-description">
|
||||
<?php _e( 'Alle Videos auf einem Blick. Klicke auf ein Video um es direkt hier anzusehen.', 'minecraft-modern-theme' ); ?>
|
||||
</p>
|
||||
|
||||
<?php
|
||||
$categories = array();
|
||||
$all_vids = get_posts( array( 'post_type' => 'mm_video', 'posts_per_page' => -1, 'fields' => 'ids' ) );
|
||||
foreach ( $all_vids as $vid_id ) {
|
||||
$cat = get_post_meta( $vid_id, '_mm_video_category', true );
|
||||
if ( $cat ) $categories[ $cat ] = $cat;
|
||||
}
|
||||
if ( count( $categories ) > 1 ) : ?>
|
||||
<div class="video-filter-bar">
|
||||
<button class="video-filter-btn active" data-filter="all">
|
||||
<?php _e( 'Alle', 'minecraft-modern-theme' ); ?>
|
||||
</button>
|
||||
<?php foreach ( $categories as $cat ) : ?>
|
||||
<button class="video-filter-btn" data-filter="<?php echo esc_attr( $cat ); ?>">
|
||||
<?php echo esc_html( $cat ); ?>
|
||||
</button>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</header>
|
||||
|
||||
<?php
|
||||
$livestream_groups = mm_video_get_livestream_groups();
|
||||
?>
|
||||
<?php if ( ! empty( $livestream_groups ) ) : ?>
|
||||
<div class="video-livestream-section">
|
||||
<h2 class="section-livestream-title">
|
||||
<span class="live-indicator"></span>
|
||||
<span><?php _e( 'JETZT LIVE', 'minecraft-modern-theme' ); ?></span>
|
||||
</h2>
|
||||
<div class="video-livestream-list">
|
||||
<?php foreach ( $livestream_groups as $group_index => $livestream_group ) : ?>
|
||||
<?php echo mm_video_render_livestream_group( $livestream_group, $group_index ); ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
$query = new WP_Query( array(
|
||||
'post_type' => 'mm_video',
|
||||
'posts_per_page' => -1,
|
||||
'orderby' => 'menu_order date',
|
||||
'order' => 'ASC',
|
||||
) );
|
||||
|
||||
if ( $query->have_posts() ) : ?>
|
||||
|
||||
<div class="video-grid" id="video-grid">
|
||||
<?php while ( $query->have_posts() ) : $query->the_post();
|
||||
$url = get_post_meta( get_the_ID(), '_mm_video_url', true );
|
||||
$category = get_post_meta( get_the_ID(), '_mm_video_category', true );
|
||||
$thumb = get_the_post_thumbnail_url( get_the_ID(), 'medium_large' );
|
||||
$type = $url ? mm_video_get_type( $url ) : 'unknown';
|
||||
|
||||
if ( ! $thumb && $url && $type === 'youtube' ) {
|
||||
if ( preg_match( '/(?:youtube\.com\/(?:watch\?v=|shorts\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})/', $url, $m ) ) {
|
||||
$thumb = 'https://img.youtube.com/vi/' . $m[1] . '/maxresdefault.jpg';
|
||||
}
|
||||
}
|
||||
|
||||
$platform_icons = array(
|
||||
'youtube' => array( 'icon' => 'fab fa-youtube', 'color' => '#ff0000' ),
|
||||
'vimeo' => array( 'icon' => 'fab fa-vimeo-v', 'color' => '#1ab7ea' ),
|
||||
'twitch' => array( 'icon' => 'fab fa-twitch', 'color' => '#9146ff' ),
|
||||
'mp4' => array( 'icon' => 'fas fa-film', 'color' => '#aaa' ),
|
||||
);
|
||||
$platform = isset( $platform_icons[$type] ) ? $platform_icons[$type] : array( 'icon' => 'fas fa-play', 'color' => '#aaa' );
|
||||
?>
|
||||
<div class="video-card" data-category="<?php echo esc_attr( $category ); ?>">
|
||||
<div class="video-card-thumb"
|
||||
data-url="<?php echo esc_attr( $url ); ?>"
|
||||
data-type="<?php echo esc_attr( $type ); ?>"
|
||||
data-title="<?php echo esc_attr( get_the_title() ); ?>">
|
||||
<?php if ( $thumb ) : ?>
|
||||
<img src="<?php echo esc_url( $thumb ); ?>" alt="<?php echo esc_attr( get_the_title() ); ?>" loading="lazy">
|
||||
<?php else : ?>
|
||||
<div class="video-card-no-thumb"><i class="fas fa-play-circle"></i></div>
|
||||
<?php endif; ?>
|
||||
<div class="video-card-hover">
|
||||
<i class="fas fa-play"></i>
|
||||
</div>
|
||||
<span class="video-platform-badge" style="color:<?php echo esc_attr($platform['color']); ?>">
|
||||
<i class="<?php echo esc_attr($platform['icon']); ?>"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="video-card-body">
|
||||
<h3 class="video-card-title"><?php the_title(); ?></h3>
|
||||
<?php if ( has_excerpt() ) : ?>
|
||||
<p class="video-card-excerpt"><?php echo wp_trim_words( get_the_excerpt(), 12 ); ?></p>
|
||||
<?php endif; ?>
|
||||
<?php if ( $category ) : ?>
|
||||
<span class="video-card-tag"><?php echo esc_html( $category ); ?></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endwhile; wp_reset_postdata(); ?>
|
||||
</div>
|
||||
|
||||
<div id="video-lightbox" class="video-lightbox" style="display:none;" aria-hidden="true">
|
||||
<div class="video-lightbox-backdrop"></div>
|
||||
<div class="video-lightbox-box">
|
||||
<div class="video-lightbox-head">
|
||||
<h3 class="video-lightbox-title"></h3>
|
||||
<button class="video-lightbox-close" aria-label="<?php esc_attr_e('Schließen','minecraft-modern-theme'); ?>">
|
||||
<i class="fas fa-times"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="video-lightbox-player">
|
||||
<div id="yt-player-container" style="display:none;">
|
||||
<div id="yt-player"></div>
|
||||
</div>
|
||||
<div id="other-player-container" style="display:none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php else : ?>
|
||||
<div class="video-empty">
|
||||
<i class="fas fa-video-slash"></i>
|
||||
<p><?php _e( 'Noch keine Videos vorhanden.', 'minecraft-modern-theme' ); ?></p>
|
||||
<?php if ( current_user_can('publish_posts') ) : ?>
|
||||
<a href="<?php echo esc_url( admin_url('post-new.php?post_type=mm_video') ); ?>" class="btn-primary">
|
||||
<i class="fas fa-plus"></i> <?php _e('Erstes Video hinzufügen','minecraft-modern-theme'); ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://www.youtube.com/iframe_api"></script>
|
||||
<script>
|
||||
var ytPlayer = null;
|
||||
var ytPlayerReady = false;
|
||||
var pendingVideoId = null;
|
||||
var livestreamPlayers = new Map();
|
||||
var livestreamPlayerCallbacks = [];
|
||||
|
||||
function onYouTubeIframeAPIReady() {
|
||||
ytPlayer = new YT.Player('yt-player', {
|
||||
height: '100%',
|
||||
width: '100%',
|
||||
playerVars: { autoplay: 1, rel: 0, modestbranding: 1 },
|
||||
events: {
|
||||
onReady: function(e) {
|
||||
ytPlayerReady = true;
|
||||
if (pendingVideoId) {
|
||||
e.target.loadVideoById(pendingVideoId);
|
||||
pendingVideoId = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
livestreamPlayerCallbacks.forEach(function(callback) { callback(); });
|
||||
livestreamPlayerCallbacks = [];
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var lb = document.getElementById('video-lightbox');
|
||||
var lbTitle = lb ? lb.querySelector('.video-lightbox-title') : null;
|
||||
var ytContainer = document.getElementById('yt-player-container');
|
||||
var otContainer = document.getElementById('other-player-container');
|
||||
|
||||
function extractYouTubeId(url) {
|
||||
var m = url.match(/(?:youtube\.com\/(?:watch\?v=|shorts\/|embed\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})/);
|
||||
return m ? m[1] : null;
|
||||
}
|
||||
|
||||
function buildOtherEmbed(url, title) {
|
||||
var t = (title||'Video').replace(/"/g,'"');
|
||||
var viM = url.match(/vimeo\.com\/(?:video\/)?(\d+)/);
|
||||
if (viM) return '<iframe src="https://player.vimeo.com/video/'+viM[1]+'?autoplay=1&dnt=1" title="'+t+'" frameborder="0" allowfullscreen allow="autoplay; encrypted-media"></iframe>';
|
||||
var tvM = url.match(/twitch\.tv\/videos\/(\d+)/);
|
||||
if (tvM) return '<iframe src="https://player.twitch.tv/?video=v'+tvM[1]+'&parent='+location.hostname+'&autoplay=true" title="'+t+'" frameborder="0" allowfullscreen></iframe>';
|
||||
var tcM = url.match(/twitch\.tv\/([a-zA-Z0-9_]+)$/);
|
||||
if (tcM) return '<iframe src="https://player.twitch.tv/?channel='+tcM[1]+'&parent='+location.hostname+'&autoplay=true" title="'+t+'" frameborder="0" allowfullscreen></iframe>';
|
||||
if (/\.(mp4|webm|ogv)(\?.*)?$/i.test(url)) return '<video controls autoplay playsinline><source src="'+url+'" type="video/mp4"></video>';
|
||||
return '<p style="color:#aaa;text-align:center;padding:30px;">Ungültige URL</p>';
|
||||
}
|
||||
|
||||
function openLb(url, title, type) {
|
||||
if (!lb) return;
|
||||
if (lbTitle) lbTitle.textContent = title || '';
|
||||
lb.style.display = 'flex';
|
||||
lb.setAttribute('aria-hidden','false');
|
||||
document.body.style.overflow = 'hidden';
|
||||
setTimeout(function(){ lb.classList.add('is-open'); }, 10);
|
||||
|
||||
var ytId = extractYouTubeId(url);
|
||||
if (ytId) {
|
||||
otContainer.style.display = 'none';
|
||||
otContainer.innerHTML = '';
|
||||
ytContainer.style.display = 'block';
|
||||
if (ytPlayerReady && ytPlayer) ytPlayer.loadVideoById(ytId); else pendingVideoId = ytId;
|
||||
} else {
|
||||
ytContainer.style.display = 'none';
|
||||
if (ytPlayerReady && ytPlayer) ytPlayer.stopVideo();
|
||||
otContainer.style.display = 'block';
|
||||
otContainer.innerHTML = buildOtherEmbed(url, title);
|
||||
}
|
||||
}
|
||||
|
||||
function closeLb() {
|
||||
if (!lb) return;
|
||||
lb.classList.remove('is-open');
|
||||
setTimeout(function(){
|
||||
lb.style.display = 'none';
|
||||
lb.setAttribute('aria-hidden','true');
|
||||
document.body.style.overflow = '';
|
||||
if (ytPlayerReady && ytPlayer) ytPlayer.stopVideo();
|
||||
ytContainer.style.display = 'none';
|
||||
otContainer.innerHTML = '';
|
||||
otContainer.style.display = 'none';
|
||||
}, 300);
|
||||
}
|
||||
|
||||
document.querySelectorAll('.video-card-thumb').forEach(function(el) {
|
||||
el.addEventListener('click', function() { openLb(this.dataset.url, this.dataset.title, this.dataset.type); });
|
||||
});
|
||||
|
||||
if (lb) {
|
||||
lb.querySelector('.video-lightbox-close').addEventListener('click', closeLb);
|
||||
lb.querySelector('.video-lightbox-backdrop').addEventListener('click', closeLb);
|
||||
}
|
||||
document.addEventListener('keydown', function(e){ if (e.key==='Escape') closeLb(); });
|
||||
|
||||
// Filter
|
||||
document.querySelectorAll('.video-filter-btn').forEach(function(btn) {
|
||||
btn.addEventListener('click', function() {
|
||||
document.querySelectorAll('.video-filter-btn').forEach(function(b){ b.classList.remove('active'); });
|
||||
this.classList.add('active');
|
||||
var f = this.dataset.filter;
|
||||
document.querySelectorAll('.video-card').forEach(function(c) {
|
||||
c.style.display = (f === 'all' || c.dataset.category === f) ? '' : 'none';
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// === Livestream Lightbox System ===
|
||||
var livestreamLightbox = document.createElement('div');
|
||||
livestreamLightbox.id = 'livestream-lightbox';
|
||||
livestreamLightbox.className = 'livestream-lightbox';
|
||||
livestreamLightbox.setAttribute('aria-hidden', 'true');
|
||||
livestreamLightbox.innerHTML = `
|
||||
<div class="livestream-lightbox-backdrop"></div>
|
||||
<div class="livestream-lightbox-box">
|
||||
<div class="livestream-lightbox-head">
|
||||
<h3 class="livestream-lightbox-title"></h3>
|
||||
<button class="livestream-lightbox-close" aria-label="Schließen"><i class="fas fa-times"></i></button>
|
||||
</div>
|
||||
<div class="livestream-lightbox-player"></div>
|
||||
<div class="livestream-lightbox-meta"></div>
|
||||
</div>
|
||||
`;
|
||||
document.body.appendChild(livestreamLightbox);
|
||||
|
||||
var lsLightbox = document.getElementById('livestream-lightbox');
|
||||
var lsTitle = lsLightbox.querySelector('.livestream-lightbox-title');
|
||||
var lsPlayer = lsLightbox.querySelector('.livestream-lightbox-player');
|
||||
var lsMeta = lsLightbox.querySelector('.livestream-lightbox-meta');
|
||||
|
||||
function openLivestreamLightbox(embedUrl, title, profileUrl, platform) {
|
||||
lsTitle.textContent = title || 'Livestream';
|
||||
// Wir nutzen ein sauberes Iframe für das Popup
|
||||
lsPlayer.innerHTML = '<iframe src="' + embedUrl + '" allow="autoplay; encrypted-media" allowfullscreen></iframe>';
|
||||
|
||||
var icon = platform === 'youtube' ? 'fab fa-youtube' : (platform === 'twitch' ? 'fab fa-twitch' : 'fas fa-play');
|
||||
lsMeta.innerHTML = profileUrl ? '<a href="' + profileUrl + '" target="_blank" rel="noopener"><i class="' + icon + '"></i> Zum Kanal</a>' : '';
|
||||
|
||||
lsLightbox.style.display = 'flex';
|
||||
lsLightbox.setAttribute('aria-hidden', 'false');
|
||||
document.body.style.overflow = 'hidden';
|
||||
setTimeout(function() { lsLightbox.classList.add('is-open'); }, 10);
|
||||
}
|
||||
|
||||
function closeLivestreamLightbox() {
|
||||
lsLightbox.classList.remove('is-open');
|
||||
setTimeout(function() {
|
||||
lsLightbox.style.display = 'none';
|
||||
lsLightbox.setAttribute('aria-hidden', 'true');
|
||||
document.body.style.overflow = '';
|
||||
lsPlayer.innerHTML = '';
|
||||
}, 300);
|
||||
}
|
||||
|
||||
lsLightbox.querySelector('.livestream-lightbox-close').addEventListener('click', closeLivestreamLightbox);
|
||||
lsLightbox.querySelector('.livestream-lightbox-backdrop').addEventListener('click', closeLivestreamLightbox);
|
||||
|
||||
// Klick-Event für die "Jetzt Live" Karten
|
||||
document.querySelectorAll('.video-livestream-list > div').forEach(function(card) {
|
||||
card.addEventListener('click', function(e) {
|
||||
// Falls auf den echten Button im Card geklickt wird, Standardverhalten lassen
|
||||
if (e.target.closest('.btn-primary')) return;
|
||||
|
||||
e.preventDefault();
|
||||
var iframe = card.querySelector('iframe');
|
||||
var embedUrl = iframe ? iframe.src : '';
|
||||
var title = card.querySelector('h3') ? card.querySelector('h3').textContent : 'Livestream';
|
||||
var link = card.querySelector('.btn-primary') ? card.querySelector('.btn-primary').href : '';
|
||||
|
||||
var platform = embedUrl.includes('twitch') ? 'twitch' : 'youtube';
|
||||
|
||||
if (embedUrl && !embedUrl.includes('about:blank')) {
|
||||
openLivestreamLightbox(embedUrl, title, link, platform);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php get_footer(); ?>
|
||||
@@ -0,0 +1,115 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main id="primary" class="site-main">
|
||||
<div class="container">
|
||||
<div class="content-area">
|
||||
|
||||
<header class="archive-header">
|
||||
<?php
|
||||
if ( is_category() ) {
|
||||
echo '<div class="archive-type-badge"><i class="fas fa-folder-open"></i> ' . __('Kategorie', 'minecraft-modern-theme') . '</div>';
|
||||
the_archive_description( '<div class="archive-description">', '</div>' );
|
||||
} elseif ( is_tag() ) {
|
||||
echo '<div class="archive-type-badge"><i class="fas fa-hashtag"></i> ' . __('Tag', 'minecraft-modern-theme') . '</div>';
|
||||
the_archive_description( '<div class="archive-description">', '</div>' );
|
||||
} elseif ( is_author() ) {
|
||||
$author = get_queried_object();
|
||||
echo '<div class="archive-type-badge"><i class="fas fa-user"></i> ' . __('Autor', 'minecraft-modern-theme') . '</div>';
|
||||
?>
|
||||
<div class="archive-author-header">
|
||||
<?php echo get_avatar( $author->ID, 80, '', '', array('class' => 'archive-author-avatar') ); ?>
|
||||
<div>
|
||||
<?php if ( $author->description ) : ?>
|
||||
<p class="archive-description"><?php echo esc_html( $author->description ); ?></p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
} elseif ( is_date() ) {
|
||||
echo '<div class="archive-type-badge"><i class="fas fa-calendar"></i> ' . __('Archiv', 'minecraft-modern-theme') . '</div>';
|
||||
} else {
|
||||
the_archive_description( '<div class="archive-description">', '</div>' );
|
||||
}
|
||||
?>
|
||||
</header>
|
||||
|
||||
<?php if ( have_posts() ) : ?>
|
||||
|
||||
<div class="archive-posts-grid">
|
||||
<?php while ( have_posts() ) : the_post(); ?>
|
||||
|
||||
<article id="post-<?php the_ID(); ?>" <?php post_class('post archive-post-card'); ?>>
|
||||
|
||||
<?php if ( has_post_thumbnail() ) : ?>
|
||||
<div class="archive-card-thumb">
|
||||
<a href="<?php the_permalink(); ?>">
|
||||
<?php the_post_thumbnail('medium_large', array('loading' => 'lazy')); ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="archive-card-body">
|
||||
|
||||
<?php $cats = get_the_category(); if ( $cats ) : ?>
|
||||
<div class="archive-card-cats">
|
||||
<a href="<?php echo esc_url( get_category_link( $cats[0]->term_id ) ); ?>" class="post-category-badge">
|
||||
<?php echo esc_html( $cats[0]->name ); ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<h2 class="archive-card-title">
|
||||
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
|
||||
</h2>
|
||||
|
||||
<div class="archive-card-meta">
|
||||
<span><i class="fas fa-calendar-alt"></i> <?php echo esc_html( get_the_date() ); ?></span>
|
||||
<span><i class="fas fa-user"></i> <?php the_author(); ?></span>
|
||||
<?php
|
||||
$wc = str_word_count( strip_tags( get_post_field('post_content', get_the_ID()) ) );
|
||||
$rt = max(1, ceil($wc / 200));
|
||||
?>
|
||||
<span><i class="fas fa-clock"></i> <?php printf( _n('%d Min.', '%d Min.', $rt, 'minecraft-modern-theme'), $rt ); ?></span>
|
||||
</div>
|
||||
|
||||
<div class="archive-card-excerpt">
|
||||
<?php the_excerpt(); ?>
|
||||
</div>
|
||||
|
||||
<a href="<?php the_permalink(); ?>" class="archive-card-read-more">
|
||||
<?php _e('Weiterlesen', 'minecraft-modern-theme'); ?> <i class="fas fa-arrow-right"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<?php endwhile; ?>
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
<div class="archive-pagination">
|
||||
<?php
|
||||
the_posts_pagination( array(
|
||||
'mid_size' => 2,
|
||||
'prev_text' => '<i class="fas fa-chevron-left"></i> ' . __('Zurück', 'minecraft-modern-theme'),
|
||||
'next_text' => __('Weiter', 'minecraft-modern-theme') . ' <i class="fas fa-chevron-right"></i>',
|
||||
'before_page_number' => '<span class="page-num">',
|
||||
'after_page_number' => '</span>',
|
||||
) );
|
||||
?>
|
||||
</div>
|
||||
|
||||
<?php else : ?>
|
||||
|
||||
<div class="no-posts-found">
|
||||
<i class="fas fa-search fa-2x"></i>
|
||||
<p><?php _e('Keine Beiträge gefunden.', 'minecraft-modern-theme'); ?></p>
|
||||
</div>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php get_footer(); ?>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
define('WP_USE_THEMES', false);
|
||||
require('../../../wp-load.php');
|
||||
|
||||
if ( php_sapi_name() !== 'cli' && ! current_user_can( 'manage_options' ) ) {
|
||||
http_response_code( 403 );
|
||||
exit( 'Forbidden: Admin-Login erforderlich.' );
|
||||
}
|
||||
|
||||
global $wpdb;
|
||||
$deleted1 = $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_mm_yt_live%'");
|
||||
$deleted2 = $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout_mm_yt_live%'");
|
||||
|
||||
echo "Cache cleared: Deleted $deleted1 transients and $deleted2 timeouts\n";
|
||||
@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
/**
|
||||
* Löscht alle Livestream-Caches
|
||||
*/
|
||||
|
||||
define('WP_USE_THEMES', false);
|
||||
require('../../../wp-load.php');
|
||||
|
||||
if ( php_sapi_name() !== 'cli' && ! current_user_can( 'manage_options' ) ) {
|
||||
http_response_code( 403 );
|
||||
exit( 'Forbidden: Admin-Login erforderlich.' );
|
||||
}
|
||||
|
||||
echo "=== Cache löschen ===\n\n";
|
||||
|
||||
// Zähler
|
||||
$deleted = 0;
|
||||
global $wpdb;
|
||||
|
||||
// 1. Alle alten Channel-ID Caches löschen (mm_channel_id_* - alt)
|
||||
$results = $wpdb->get_results(
|
||||
"SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_mm_channel_id_%'"
|
||||
);
|
||||
|
||||
foreach ($results as $row) {
|
||||
$key = str_replace('_transient_', '', $row->option_name);
|
||||
delete_transient($key);
|
||||
$deleted++;
|
||||
}
|
||||
echo "✓ Gelöscht: $deleted Channel-ID Caches (alt)\n";
|
||||
|
||||
// 2. Alle Live-Status Caches löschen (mm_live_status_*)
|
||||
$deleted = 0;
|
||||
$results = $wpdb->get_results(
|
||||
"SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_mm_live_status_%'"
|
||||
);
|
||||
|
||||
foreach ($results as $row) {
|
||||
$key = str_replace('_transient_', '', $row->option_name);
|
||||
delete_transient($key);
|
||||
$deleted++;
|
||||
}
|
||||
echo "✓ Gelöscht: $deleted Live-Status Caches\n";
|
||||
|
||||
// 3. Alte Live-ID Caches löschen (mm_live_id_* - alt)
|
||||
$deleted = 0;
|
||||
$results = $wpdb->get_results(
|
||||
"SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_mm_live_id_%'"
|
||||
);
|
||||
|
||||
foreach ($results as $row) {
|
||||
$key = str_replace('_transient_', '', $row->option_name);
|
||||
delete_transient($key);
|
||||
$deleted++;
|
||||
}
|
||||
echo "✓ Gelöscht: $deleted Live-ID Caches (alt)\n";
|
||||
|
||||
// 4. Alte Channel-ID Caches löschen (mm_id_for_* - neu)
|
||||
$deleted = 0;
|
||||
$results = $wpdb->get_results(
|
||||
"SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_mm_id_for_%'"
|
||||
);
|
||||
|
||||
foreach ($results as $row) {
|
||||
$key = str_replace('_transient_', '', $row->option_name);
|
||||
delete_transient($key);
|
||||
$deleted++;
|
||||
}
|
||||
echo "✓ Gelöscht: $deleted Channel-ID Caches (neu)\n";
|
||||
|
||||
// 3. Alte Video-Resolution Caches löschen (mm_yt_live_v2_*)
|
||||
$deleted = 0;
|
||||
$results = $wpdb->get_results(
|
||||
"SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_mm_yt_live_v2_%'"
|
||||
);
|
||||
|
||||
foreach ($results as $row) {
|
||||
$key = str_replace('_transient_', '', $row->option_name);
|
||||
delete_transient($key);
|
||||
$deleted++;
|
||||
}
|
||||
echo "✓ Gelöscht: $deleted YouTube Video Caches\n";
|
||||
|
||||
// 4. Alte Live-Status Caches löschen (mm_yt_status_*)
|
||||
$deleted = 0;
|
||||
$results = $wpdb->get_results(
|
||||
"SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_mm_yt_status_%'"
|
||||
);
|
||||
|
||||
foreach ($results as $row) {
|
||||
$key = str_replace('_transient_', '', $row->option_name);
|
||||
delete_transient($key);
|
||||
$deleted++;
|
||||
}
|
||||
echo "✓ Gelöscht: $deleted YouTube Status Caches\n";
|
||||
|
||||
echo "\n✓ Alle Caches wurden gelöscht!\n";
|
||||
echo "Die Seite kann jetzt neu geladen werden.\n";
|
||||
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
// Kein direkter Zugriff
|
||||
if ( ! defined('ABSPATH') ) exit;
|
||||
|
||||
// Wenn Passwort erforderlich, nichts anzeigen
|
||||
if ( post_password_required() ) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="comments" class="comments-area">
|
||||
|
||||
<?php if ( have_comments() ) : ?>
|
||||
|
||||
<h3 class="comments-title">
|
||||
<i class="fas fa-comments"></i>
|
||||
<?php
|
||||
$comment_count = get_comments_number();
|
||||
printf(
|
||||
_n(
|
||||
'%d Kommentar zu “%s”',
|
||||
'%d Kommentare zu “%s”',
|
||||
$comment_count,
|
||||
'minecraft-modern-theme'
|
||||
),
|
||||
$comment_count,
|
||||
'<span>' . get_the_title() . '</span>'
|
||||
);
|
||||
?>
|
||||
</h3>
|
||||
|
||||
<!-- Ältere Kommentare / Pagination oben -->
|
||||
<?php if ( get_comment_pages_count() > 1 && get_option('page_comments') ) : ?>
|
||||
<nav class="comment-navigation" aria-label="<?php esc_attr_e('Kommentar-Navigation', 'minecraft-modern-theme'); ?>">
|
||||
<div class="comment-nav-prev"><?php previous_comments_link( '<i class="fas fa-chevron-left"></i> ' . __('Ältere Kommentare', 'minecraft-modern-theme') ); ?></div>
|
||||
<div class="comment-nav-next"><?php next_comments_link( __('Neuere Kommentare', 'minecraft-modern-theme') . ' <i class="fas fa-chevron-right"></i>' ); ?></div>
|
||||
</nav>
|
||||
<?php endif; ?>
|
||||
|
||||
<ol class="comment-list">
|
||||
<?php
|
||||
wp_list_comments( array(
|
||||
'style' => 'ol',
|
||||
'short_ping' => true,
|
||||
'avatar_size' => 48,
|
||||
'callback' => 'minecraft_modern_comment_template',
|
||||
) );
|
||||
?>
|
||||
</ol>
|
||||
|
||||
<!-- Neuere Kommentare / Pagination unten -->
|
||||
<?php if ( get_comment_pages_count() > 1 && get_option('page_comments') ) : ?>
|
||||
<nav class="comment-navigation" aria-label="<?php esc_attr_e('Kommentar-Navigation', 'minecraft-modern-theme'); ?>">
|
||||
<div class="comment-nav-prev"><?php previous_comments_link( '<i class="fas fa-chevron-left"></i> ' . __('Ältere Kommentare', 'minecraft-modern-theme') ); ?></div>
|
||||
<div class="comment-nav-next"><?php next_comments_link( __('Neuere Kommentare', 'minecraft-modern-theme') . ' <i class="fas fa-chevron-right"></i>' ); ?></div>
|
||||
</nav>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php endif; // have_comments() ?>
|
||||
|
||||
<?php
|
||||
// Kommentarformular
|
||||
if ( comments_open() ) :
|
||||
comment_form( array(
|
||||
'title_reply' => '<span><i class="fas fa-pencil-alt"></i> ' . __('Hinterlasse einen Kommentar', 'minecraft-modern-theme') . '</span>',
|
||||
'title_reply_to' => __('Antworten auf %s', 'minecraft-modern-theme'),
|
||||
'cancel_reply_link' => __('Abbrechen', 'minecraft-modern-theme'),
|
||||
'label_submit' => __('Kommentar absenden', 'minecraft-modern-theme'),
|
||||
'comment_notes_before' => '',
|
||||
'comment_notes_after' => '',
|
||||
'class_form' => 'comment-form',
|
||||
'class_submit' => 'submit btn-comment-submit',
|
||||
) );
|
||||
elseif ( ! is_user_logged_in() ) :
|
||||
?>
|
||||
<div class="comments-closed-notice">
|
||||
<i class="fas fa-lock"></i>
|
||||
<?php _e('Kommentare sind für diesen Beitrag deaktiviert.', 'minecraft-modern-theme'); ?>
|
||||
</div>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
|
||||
</div><!-- #comments -->
|
||||
|
||||
<?php
|
||||
/**
|
||||
* Callback für den Kommentar-Template.
|
||||
* Wird in functions.php nicht definiert, daher hier.
|
||||
*/
|
||||
if ( ! function_exists('minecraft_modern_comment_template') ) :
|
||||
function minecraft_modern_comment_template( $comment, $args, $depth ) {
|
||||
$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
|
||||
?>
|
||||
<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( empty($args['has_children']) ? '' : 'parent', $comment ); ?>>
|
||||
<article id="div-comment-<?php comment_ID(); ?>" class="comment-body">
|
||||
|
||||
<div class="comment-meta">
|
||||
<div class="comment-author-avatar">
|
||||
<?php echo get_avatar( $comment, $args['avatar_size'], '', '', array('class' => 'comment-avatar') ); ?>
|
||||
</div>
|
||||
<div class="comment-author-info">
|
||||
<span class="comment-author-name">
|
||||
<?php
|
||||
$author_url = get_comment_author_url($comment);
|
||||
if ( $author_url ) {
|
||||
echo '<a href="' . esc_url($author_url) . '" rel="external nofollow">' . get_comment_author($comment) . '</a>';
|
||||
} else {
|
||||
echo esc_html( get_comment_author($comment) );
|
||||
}
|
||||
?>
|
||||
</span>
|
||||
<span class="comment-date">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
<a href="<?php echo esc_url( get_comment_link($comment, $args) ); ?>">
|
||||
<time datetime="<?php comment_date('c'); ?>">
|
||||
<?php
|
||||
printf(
|
||||
__('%1$s um %2$s Uhr', 'minecraft-modern-theme'),
|
||||
get_comment_date('', $comment),
|
||||
get_comment_time('', false, false, $comment)
|
||||
);
|
||||
?>
|
||||
</time>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<?php if ( '0' === $comment->comment_approved ) : ?>
|
||||
<div class="comment-awaiting-moderation">
|
||||
<i class="fas fa-clock"></i> <?php _e('Dein Kommentar wartet auf Freigabe.', 'minecraft-modern-theme'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="comment-content">
|
||||
<?php comment_text(); ?>
|
||||
</div>
|
||||
|
||||
<footer class="comment-footer">
|
||||
<?php
|
||||
comment_reply_link( array_merge( $args, array(
|
||||
'add_below' => 'div-comment',
|
||||
'depth' => $depth,
|
||||
'max_depth' => $args['max_depth'],
|
||||
'before' => '<div class="reply">',
|
||||
'after' => '</div>',
|
||||
) ) );
|
||||
|
||||
edit_comment_link( '<i class="fas fa-pencil-alt"></i> ' . __('Bearbeiten', 'minecraft-modern-theme'), '<div class="edit-link">', '</div>' );
|
||||
?>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
<?php
|
||||
}
|
||||
endif;
|
||||
?>
|
||||
@@ -0,0 +1,74 @@
|
||||
|
||||
#mm-assistant-chat {
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: 110px;
|
||||
right: 0;
|
||||
width: 320px;
|
||||
background: #1a1d22; /* Dunklerer Hintergrund */
|
||||
border-radius: 15px;
|
||||
box-shadow: 0 15px 45px rgba(0,0,0,0.5);
|
||||
border: 1px solid #333;
|
||||
overflow: hidden;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
.chat-header {
|
||||
background: #0099ff;
|
||||
padding: 12px 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.status-dot {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
background-color: #00ff00;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
box-shadow: 0 0 5px #00ff00;
|
||||
}
|
||||
|
||||
#mm-assistant-content {
|
||||
padding: 20px;
|
||||
max-height: 350px;
|
||||
overflow-y: auto;
|
||||
color: #e0e0e0;
|
||||
line-height: 1.6;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.chat-input-area {
|
||||
background: #111;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
border-top: 1px solid #333;
|
||||
}
|
||||
|
||||
#mm-assistant-input {
|
||||
flex: 1;
|
||||
background: #222;
|
||||
border: 1px solid #444;
|
||||
color: white;
|
||||
padding: 8px 12px;
|
||||
border-radius: 8px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#mm-assistant-send {
|
||||
background: #0099ff;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 5px 12px;
|
||||
border-radius: 8px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
|
||||
#mm-assistant-send:hover { background: #0077cc; }
|
||||
File diff suppressed because one or more lines are too long
@@ -1,276 +1,276 @@
|
||||
/* Minecraft Modern Theme Login & Registrierungs-Styles */
|
||||
body.login, body.login-action-register {
|
||||
background-color: #14151a; /* Fallback-Farbe */
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
font-family: 'Raleway', sans-serif;
|
||||
}
|
||||
|
||||
/* Dunkler Overlay für bessere Lesbarkeit */
|
||||
body.login::before, body.login-action-register::before {
|
||||
content: '';
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(20, 21, 26, 0.8);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* Logo zentrieren */
|
||||
body.login h1, body.login-action-register h1 {
|
||||
text-align: center;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
body.login h1 a, body.login-action-register h1 a {
|
||||
width: auto;
|
||||
height: 160px;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
/* Haupt-Container, der alles umschließt */
|
||||
body.login #login, body.login-action-register #login {
|
||||
width: 80%;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Der Wrapper, der vom Skript erstellt wird. */
|
||||
body.login #login-content-wrapper, body.login-action-register #login-content-wrapper {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
background-color: #252830;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Linke Spalte: Minecraft Avatar Slider (27.8%) */
|
||||
body.login #minecraft-avatar-slider, body.login-action-register #minecraft-avatar-slider {
|
||||
flex: 0 0 27.8%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 20px;
|
||||
padding-top: 50px;
|
||||
background-color: #1a1c23;
|
||||
height: auto;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body.login #minecraft-avatar-slider .avatar-slide, body.login-action-register #minecraft-avatar-slider .avatar-slide {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
max-height: 400px;
|
||||
border-radius: 4px;
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
transition: opacity 0.7s ease-in-out;
|
||||
}
|
||||
|
||||
body.login #minecraft-avatar-slider .avatar-slide-active, body.login-action-register #minecraft-avatar-slider .avatar-slide-active {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Rechte Spalte: Login/Registrierungs-Formular (72.2%) */
|
||||
body.login #loginform, body.login-action-register #registerform, body.login #loginform, body.login-action-register #registerform {
|
||||
flex: 1;
|
||||
padding: 40px;
|
||||
background: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Formular-Felder */
|
||||
body.login #loginform p, body.login-action-register #registerform p,
|
||||
body.login #loginform label, body.login-action-register #registerform label {
|
||||
margin-bottom: 20px;
|
||||
color: #e4e4e4;
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
body.login #loginform input[type="text"], body.login #loginform input[type="password"], body.login-action-register #registerform input[type="text"], body.login-action-register #registerform input[type="password"], body.login #loginform input[type="email"], body.login-action-register #registerform input[type="email"] {
|
||||
width: 100%;
|
||||
padding: 14px;
|
||||
background-color: #1e2029;
|
||||
border: 1px solid #333;
|
||||
border-radius: 4px;
|
||||
color: #e4e4e4;
|
||||
font-family: 'Raleway', sans-serif;
|
||||
font-size: 16px;
|
||||
transition: border-color 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
body.login #loginform input[type="text"]:focus, body.login #loginform input[type="password"]:focus, body.login-action-register #registerform input[type="text"]:focus, body.login-action-register #registerform input[type="password"]:focus, body.login-action-register #registerform input[type="email"]:focus {
|
||||
border-color: #00d4ff;
|
||||
box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.2);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* "Angemeldet bleiben" Checkbox (nur Login) */
|
||||
body.login .forgetmenot label, body.login .forgetmenot input[type="checkbox"] {
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
color: #a0a0a0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
body.login .forgetmenot input[type="checkbox"] {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
/* NEU: Stile für die Registrierungsseite */
|
||||
.auth-title {
|
||||
text-align: center;
|
||||
color: #e4e4e4;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.auth-subtitle {
|
||||
text-align: center;
|
||||
color: #a0a0a0;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.login-form-link {
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.login-form-link p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.login-form-link a {
|
||||
color: #00d4ff;
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
}
|
||||
.login-form-link a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
.logged-in-message {
|
||||
text-align: center;
|
||||
padding: 40px;
|
||||
background-color: #252830;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.logged-in-message h2 {
|
||||
margin-top: 0;
|
||||
color: #00d4ff;
|
||||
}
|
||||
.logged-in-message .button {
|
||||
display: inline-block;
|
||||
margin: 10px;
|
||||
padding: 12px 25px;
|
||||
background-color: #00d4ff;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
border-radius: 4px;
|
||||
font-weight: 600;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.logged-in-message .button:hover {
|
||||
background-color: #00a8cc;
|
||||
}
|
||||
|
||||
/* Container für "Angemeldet bleiben" und "Passwort vergessen" (nur Login) */
|
||||
body.login .login-options-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
body.login .login-options-container .forgetmenot,
|
||||
body.login .login-options-container #nav {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body.login .login-options-container #nav a {
|
||||
color: #a0a0a0;
|
||||
text-decoration: none;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
body.login .login-options-container #nav a:hover {
|
||||
color: #00d4ff;
|
||||
}
|
||||
|
||||
/* Submit-Button (gilt für Login & Registrierung) */
|
||||
body.login #loginform .submit input[type="submit"], body.login-action-register #registerform .submit input[type="submit"] {
|
||||
width: 100%;
|
||||
padding: 14px;
|
||||
background-color: #00d4ff;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
font-family: 'Raleway', sans-serif;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
body.login #loginform .submit input[type="submit"]:hover, body.login-action-register #registerform .submit input[type="submit"]:hover {
|
||||
background-color: #00a8cc;
|
||||
}
|
||||
|
||||
/* Anpassungen für kleinere Bildschirme */
|
||||
@media screen and (max-width: 768px) {
|
||||
body.login #login-content-wrapper, body.login-action-register #login-content-wrapper {
|
||||
flex-direction: column;
|
||||
}
|
||||
body.login #minecraft-avatar-slider, body.login-action-register #minecraft-avatar-slider {
|
||||
flex: none;
|
||||
width: 100%;
|
||||
padding: 30px;
|
||||
padding-top: 30px;
|
||||
}
|
||||
body.login #minecraft-avatar-slider .avatar-slide, body.login-action-register #minecraft-avatar-slider .avatar-slide {
|
||||
max-height: 300px;
|
||||
max-width: 200px;
|
||||
top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Fehlermeldungen und Hinweise */
|
||||
body.login .message, body.login #login_error, body.login-action-register .message, body.login-action-register #login_error {
|
||||
background-color: rgba(0, 212, 255, 0.1);
|
||||
border-left: 4px solid #00d4ff;
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 0 4px 4px 0;
|
||||
color: #e4e4e4;
|
||||
}
|
||||
|
||||
/* =========================================================================
|
||||
=== STIL FÜR DIE LINKS UNTER DEM ANMELDE-BUTTON ====================
|
||||
========================================================================= */
|
||||
|
||||
body.login .post-login-links, body.login-action-register .post-login-links {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 15px;
|
||||
padding-top: 15px;
|
||||
border-top: 1px solid #333;
|
||||
}
|
||||
|
||||
body.login .post-login-links a, body.login-action-register .post-login-links a {
|
||||
color: #a0a0a0;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
|
||||
body.login .post-login-links a:hover, body.login-action-register .post-login-links a:hover {
|
||||
color: #00d4ff;
|
||||
/* Minecraft Modern Theme Login & Registrierungs-Styles */
|
||||
body.login, body.login-action-register {
|
||||
background-color: #14151a; /* Fallback-Farbe */
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
font-family: 'Raleway', sans-serif;
|
||||
}
|
||||
|
||||
/* Dunkler Overlay für bessere Lesbarkeit */
|
||||
body.login::before, body.login-action-register::before {
|
||||
content: '';
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(20, 21, 26, 0.8);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* Logo zentrieren */
|
||||
body.login h1, body.login-action-register h1 {
|
||||
text-align: center;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
body.login h1 a, body.login-action-register h1 a {
|
||||
width: auto;
|
||||
height: 160px;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
/* Haupt-Container, der alles umschließt */
|
||||
body.login #login, body.login-action-register #login {
|
||||
width: 80%;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Der Wrapper, der vom Skript erstellt wird. */
|
||||
body.login #login-content-wrapper, body.login-action-register #login-content-wrapper {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
background-color: #252830;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Linke Spalte: Minecraft Avatar Slider (27.8%) */
|
||||
body.login #minecraft-avatar-slider, body.login-action-register #minecraft-avatar-slider {
|
||||
flex: 0 0 27.8%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 20px;
|
||||
padding-top: 50px;
|
||||
background-color: #1a1c23;
|
||||
height: auto;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body.login #minecraft-avatar-slider .avatar-slide, body.login-action-register #minecraft-avatar-slider .avatar-slide {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
max-height: 400px;
|
||||
border-radius: 4px;
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
transition: opacity 0.7s ease-in-out;
|
||||
}
|
||||
|
||||
body.login #minecraft-avatar-slider .avatar-slide-active, body.login-action-register #minecraft-avatar-slider .avatar-slide-active {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Rechte Spalte: Login/Registrierungs-Formular (72.2%) */
|
||||
body.login #loginform, body.login-action-register #registerform, body.login #loginform, body.login-action-register #registerform {
|
||||
flex: 1;
|
||||
padding: 40px;
|
||||
background: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Formular-Felder */
|
||||
body.login #loginform p, body.login-action-register #registerform p,
|
||||
body.login #loginform label, body.login-action-register #registerform label {
|
||||
margin-bottom: 20px;
|
||||
color: #e4e4e4;
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
body.login #loginform input[type="text"], body.login #loginform input[type="password"], body.login-action-register #registerform input[type="text"], body.login-action-register #registerform input[type="password"], body.login #loginform input[type="email"], body.login-action-register #registerform input[type="email"] {
|
||||
width: 100%;
|
||||
padding: 14px;
|
||||
background-color: #1e2029;
|
||||
border: 1px solid #333;
|
||||
border-radius: 4px;
|
||||
color: #e4e4e4;
|
||||
font-family: 'Raleway', sans-serif;
|
||||
font-size: 16px;
|
||||
transition: border-color 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
body.login #loginform input[type="text"]:focus, body.login #loginform input[type="password"]:focus, body.login-action-register #registerform input[type="text"]:focus, body.login-action-register #registerform input[type="password"]:focus, body.login-action-register #registerform input[type="email"]:focus {
|
||||
border-color: #00d4ff;
|
||||
box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.2);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* "Angemeldet bleiben" Checkbox (nur Login) */
|
||||
body.login .forgetmenot label, body.login .forgetmenot input[type="checkbox"] {
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
color: #a0a0a0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
body.login .forgetmenot input[type="checkbox"] {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
/* NEU: Stile für die Registrierungsseite */
|
||||
.auth-title {
|
||||
text-align: center;
|
||||
color: #e4e4e4;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.auth-subtitle {
|
||||
text-align: center;
|
||||
color: #a0a0a0;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.login-form-link {
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.login-form-link p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.login-form-link a {
|
||||
color: #00d4ff;
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
}
|
||||
.login-form-link a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
.logged-in-message {
|
||||
text-align: center;
|
||||
padding: 40px;
|
||||
background-color: #252830;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.logged-in-message h2 {
|
||||
margin-top: 0;
|
||||
color: #00d4ff;
|
||||
}
|
||||
.logged-in-message .button {
|
||||
display: inline-block;
|
||||
margin: 10px;
|
||||
padding: 12px 25px;
|
||||
background-color: #00d4ff;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
border-radius: 4px;
|
||||
font-weight: 600;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.logged-in-message .button:hover {
|
||||
background-color: #00a8cc;
|
||||
}
|
||||
|
||||
/* Container für "Angemeldet bleiben" und "Passwort vergessen" (nur Login) */
|
||||
body.login .login-options-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
body.login .login-options-container .forgetmenot,
|
||||
body.login .login-options-container #nav {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body.login .login-options-container #nav a {
|
||||
color: #a0a0a0;
|
||||
text-decoration: none;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
body.login .login-options-container #nav a:hover {
|
||||
color: #00d4ff;
|
||||
}
|
||||
|
||||
/* Submit-Button (gilt für Login & Registrierung) */
|
||||
body.login #loginform .submit input[type="submit"], body.login-action-register #registerform .submit input[type="submit"] {
|
||||
width: 100%;
|
||||
padding: 14px;
|
||||
background-color: #00d4ff;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
font-family: 'Raleway', sans-serif;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
body.login #loginform .submit input[type="submit"]:hover, body.login-action-register #registerform .submit input[type="submit"]:hover {
|
||||
background-color: #00a8cc;
|
||||
}
|
||||
|
||||
/* Anpassungen für kleinere Bildschirme */
|
||||
@media screen and (max-width: 768px) {
|
||||
body.login #login-content-wrapper, body.login-action-register #login-content-wrapper {
|
||||
flex-direction: column;
|
||||
}
|
||||
body.login #minecraft-avatar-slider, body.login-action-register #minecraft-avatar-slider {
|
||||
flex: none;
|
||||
width: 100%;
|
||||
padding: 30px;
|
||||
padding-top: 30px;
|
||||
}
|
||||
body.login #minecraft-avatar-slider .avatar-slide, body.login-action-register #minecraft-avatar-slider .avatar-slide {
|
||||
max-height: 300px;
|
||||
max-width: 200px;
|
||||
top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Fehlermeldungen und Hinweise */
|
||||
body.login .message, body.login #login_error, body.login-action-register .message, body.login-action-register #login_error {
|
||||
background-color: rgba(0, 212, 255, 0.1);
|
||||
border-left: 4px solid #00d4ff;
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 0 4px 4px 0;
|
||||
color: #e4e4e4;
|
||||
}
|
||||
|
||||
/* =========================================================================
|
||||
=== STIL FÜR DIE LINKS UNTER DEM ANMELDE-BUTTON ====================
|
||||
========================================================================= */
|
||||
|
||||
body.login .post-login-links, body.login-action-register .post-login-links {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 15px;
|
||||
padding-top: 15px;
|
||||
border-top: 1px solid #333;
|
||||
}
|
||||
|
||||
body.login .post-login-links a, body.login-action-register .post-login-links a {
|
||||
color: #a0a0a0;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
|
||||
body.login .post-login-links a:hover, body.login-action-register .post-login-links a:hover {
|
||||
color: #00d4ff;
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
/*
|
||||
* Verwaltungsseite "Menü-Links" (Backend)
|
||||
*/
|
||||
|
||||
.mm-menu-links-admin .mm-liste {
|
||||
max-width: 1200px;
|
||||
}
|
||||
|
||||
/* --- Zeilen --- */
|
||||
.mm-menu-links-admin .mm-liste-zeile {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: flex-end;
|
||||
gap: 12px;
|
||||
padding: 14px;
|
||||
margin-bottom: 10px;
|
||||
border: 1px solid #dcdcde;
|
||||
border-left: 4px solid #c3c4c7;
|
||||
border-radius: 5px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-liste-zeile:hover {
|
||||
border-left-color: #2271b1;
|
||||
}
|
||||
|
||||
/* --- Symbolvorschau --- */
|
||||
.mm-menu-links-admin .mm-vorschau {
|
||||
flex: 0 0 auto;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
font-size: 22px;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
color: #50575e;
|
||||
background: #f0f0f1;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
/* --- Felder --- */
|
||||
.mm-menu-links-admin .mm-spalte {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
flex: 1 1 150px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-spalte-breit { flex: 2 1 240px; }
|
||||
.mm-menu-links-admin .mm-spalte-schmal { flex: 0 0 110px; }
|
||||
|
||||
.mm-menu-links-admin .mm-spalte > span {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: #50575e;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-spalte input[type="text"],
|
||||
.mm-menu-links-admin .mm-spalte select {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-checkbox {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-checkbox input {
|
||||
margin: 6px 0 0;
|
||||
}
|
||||
|
||||
/* --- Entfernen --- */
|
||||
.mm-menu-links-admin .mm-liste-entfernen {
|
||||
flex: 0 0 auto;
|
||||
padding: 0;
|
||||
margin-bottom: 6px;
|
||||
color: #b32d2e;
|
||||
background: none;
|
||||
border: none;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-liste-entfernen:hover,
|
||||
.mm-menu-links-admin .mm-liste-entfernen:focus {
|
||||
color: #8a2424;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-liste-entfernen .dashicons {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
/* --- Hinzufügen-Knopf: "+" sauber auf der Textlinie --- */
|
||||
.mm-menu-links-admin .mm-liste-hinzufuegen {
|
||||
display: inline-flex !important;
|
||||
align-items: center;
|
||||
gap: 7px;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-liste-hinzufuegen .mm-plus {
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 1;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
/* --- Hinweis bei leerer Liste --- */
|
||||
.mm-menu-links-admin .mm-leer {
|
||||
padding: 16px;
|
||||
border: 1px dashed #c3c4c7;
|
||||
border-radius: 5px;
|
||||
color: #787c82;
|
||||
font-style: italic;
|
||||
max-width: 1200px;
|
||||
}
|
||||
|
||||
/* --- Symbolliste --- */
|
||||
.mm-menu-links-admin .mm-icon-liste {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px 12px;
|
||||
max-width: 1200px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-icon-liste li {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 10px;
|
||||
background: #fff;
|
||||
border: 1px solid #dcdcde;
|
||||
border-radius: 4px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-icon-liste code {
|
||||
cursor: pointer;
|
||||
background: #f0f0f1;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-icon-liste code:hover {
|
||||
background: #dbe8f5;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-icon-name {
|
||||
color: #787c82;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* --- Schmale Bildschirme --- */
|
||||
@media (max-width: 782px) {
|
||||
.mm-menu-links-admin .mm-liste-zeile {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.mm-menu-links-admin .mm-spalte-schmal { flex: 1 1 auto; }
|
||||
|
||||
.mm-menu-links-admin .mm-liste-entfernen {
|
||||
align-self: flex-end;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,139 @@
|
||||
/* Modernes Design für Virtuellen Assistenten (unten rechts) */
|
||||
/* Positionierung wird jetzt dynamisch über die Klasse mm-bot-pos-* am #mm-bot-root gesetzt */
|
||||
#mm-assistant-btn {
|
||||
background: transparent;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.18);
|
||||
border-radius: 16px;
|
||||
padding: 0;
|
||||
transition: box-shadow 0.2s;
|
||||
}
|
||||
#mm-assistant-btn:hover {
|
||||
box-shadow: 0 4px 16px rgba(0,153,255,0.25);
|
||||
}
|
||||
#mm-assistant-btn img {
|
||||
display: block;
|
||||
background: #181c22;
|
||||
border-radius: 16px;
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.12);
|
||||
}
|
||||
#mm-assistant-chat {
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: 110px;
|
||||
right: 0;
|
||||
width: 340px;
|
||||
max-width: 95vw;
|
||||
background: #23272e;
|
||||
color: #fff;
|
||||
border-radius: 18px;
|
||||
box-shadow: 0 8px 32px rgba(0,0,0,0.35);
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
animation: mmFadeIn 0.25s;
|
||||
}
|
||||
@keyframes mmFadeIn {
|
||||
from { opacity: 0; transform: translateY(30px); }
|
||||
to { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
#mm-assistant-chat > div:first-child {
|
||||
background: #0099ff;
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
font-size: 1.1rem;
|
||||
padding: 14px 18px 10px 18px;
|
||||
border-bottom: 1px solid #1a1d22;
|
||||
border-radius: 18px 18px 0 0;
|
||||
}
|
||||
#mm-assistant-content {
|
||||
min-height: 40px;
|
||||
font-size: 1rem;
|
||||
padding: 18px 18px 8px 18px;
|
||||
background: #23272e;
|
||||
}
|
||||
#mm-assistant-input {
|
||||
width: 100%;
|
||||
padding: 10px 14px;
|
||||
border-radius: 8px;
|
||||
border: none;
|
||||
outline: none;
|
||||
font-size: 1rem;
|
||||
background: #1a1d22;
|
||||
color: #fff;
|
||||
margin-bottom: 8px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#mm-assistant-input::placeholder {
|
||||
color: #aaa;
|
||||
}
|
||||
#mm-assistant-send {
|
||||
width: 100%;
|
||||
background: #0099ff;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
padding: 10px 0;
|
||||
font-size: 1.1rem;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
#mm-assistant-send:hover {
|
||||
background: #007acc;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
#mm-assistant-chat {
|
||||
width: 98vw;
|
||||
min-width: 0;
|
||||
border-radius: 12px;
|
||||
right: -8px;
|
||||
}
|
||||
#mm-virtual-assistant {
|
||||
right: 8px;
|
||||
bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* BUG-FIX: Doppelter #mm-assistant-chat Block und veraltete Chat-Stile entfernt.
|
||||
Die Regeln .chat-header, .status-dot, .chat-input-area sind Relikte des alten
|
||||
Widget-Designs und werden vom aktuellen mm-bot-* Markup nicht mehr verwendet.
|
||||
Sie wurden entfernt um Konflikte mit den modernen Stilen oben zu vermeiden. */
|
||||
#mm-bot-root { position:fixed; bottom:30px; right:30px; z-index:999999; font-family:-apple-system,system-ui,sans-serif; }
|
||||
#mm-bot-launcher { background:#0099ff; border:none; border-radius:50%; width:60px; height:60px; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.25); transition:.3s ease; display:flex; align-items:center; justify-content:center; overflow:hidden; }
|
||||
#mm-bot-launcher:hover { transform:scale(1.08); background:#0088ee; }
|
||||
#mm-bot-launcher img { width:42px; height:42px; border-radius:4px; }
|
||||
|
||||
#mm-bot-chat { position:absolute; bottom:80px; right:0; width:340px; background:#1e2124; border-radius:15px; box-shadow:0 12px 40px rgba(0,0,0,.45); display:flex; flex-direction:column; overflow:hidden; border:1px solid #333; }
|
||||
.mm-bot-header { background:#2f3136; color:#fff; padding:14px 18px; display:flex; align-items:center; gap:12px; font-weight:700; border-bottom:1px solid #111; }
|
||||
.mm-bot-status { width:10px; height:10px; background:#43b581; border-radius:50%; box-shadow:0 0 8px #43b581; flex-shrink:0; }
|
||||
|
||||
#mm-bot-content { height:320px; padding:16px; overflow-y:auto; background:#36393f; display:flex; flex-direction:column; gap:10px; scroll-behavior:smooth; }
|
||||
.mm-msg { padding:10px 14px; border-radius:12px; font-size:14px; line-height:1.5; max-width:88%; word-break:break-word; }
|
||||
.mm-msg.bot { background:#40444b; color:#dcddde; align-self:flex-start; border-bottom-left-radius:3px; }
|
||||
.mm-msg.user { background:#0099ff; color:#fff; align-self:flex-end; border-bottom-right-radius:3px; }
|
||||
.mm-msg a { color:#00b0f4; text-decoration:none; font-weight:600; }
|
||||
.mm-msg a:hover { text-decoration:underline; }
|
||||
.mm-loading { opacity:.6; font-size:20px; letter-spacing:4px; }
|
||||
|
||||
.mm-bot-quick { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
|
||||
.mm-quick-btn { background:#2f3136; color:#dcddde; border:1px solid #444; border-radius:20px; padding:5px 12px; font-size:12px; cursor:pointer; transition:.2s; white-space:nowrap; }
|
||||
.mm-quick-btn:hover { background:#0099ff; color:#fff; border-color:#0099ff; }
|
||||
|
||||
.mm-bot-input-area { padding:12px 14px; background:#2f3136; display:flex; gap:8px; border-top:1px solid #222; }
|
||||
#mm-bot-field { flex:1; background:#40444b; border:1px solid #222; border-radius:8px; color:#fff; padding:9px 12px; outline:none; font-size:14px; }
|
||||
#mm-bot-field:focus { border-color:#0099ff; }
|
||||
/* BUG-FIX: ID war '#id-mm-bot-send', korrektes HTML-Element hat id="mm-bot-send" */
|
||||
#mm-bot-send { background:#0099ff; border:none; color:#fff; border-radius:8px; padding:0 16px; cursor:pointer; font-size:16px; }
|
||||
#mm-bot-send:hover { background:#00b0f4; }
|
||||
#mm-bot-close { margin-left:auto; background:none; border:none; color:#888; font-size:24px; cursor:pointer; line-height:1; padding:0; }
|
||||
#mm-bot-close:hover { color:#fff; }
|
||||
|
||||
#mm-bot-chat code { background:#222; padding:2px 6px; border-radius:4px; color:#ffa500; font-family:monospace; font-size:13px; }
|
||||
|
||||
@media (max-width:400px) {
|
||||
#mm-bot-chat { width:calc(100vw - 20px); right:-10px; }
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
/* Alex Brush – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Alex Brush';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('alex-brush-latin-ext-a484545f.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Alex Brush';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('alex-brush-latin-74823526.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
/* Allura – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Allura';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('allura-latin-ext-cf553651.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Allura';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('allura-latin-f2f253e0.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Archivo – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Archivo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('archivo-latin-ext-20ba07dc.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Archivo';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('archivo-latin-79dc5e10.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Archivo';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('archivo-latin-ext-20ba07dc.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Archivo';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('archivo-latin-79dc5e10.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Archivo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('archivo-latin-ext-20ba07dc.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Archivo';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('archivo-latin-79dc5e10.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
/* Cookie – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Cookie';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('cookie-latin-cedd2798.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Dancing Script – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Dancing Script';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('dancing-script-latin-ext-438f68b6.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Dancing Script';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('dancing-script-latin-958aab68.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Dancing Script';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('dancing-script-latin-ext-438f68b6.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Dancing Script';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('dancing-script-latin-958aab68.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Dancing Script';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('dancing-script-latin-ext-438f68b6.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Dancing Script';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('dancing-script-latin-958aab68.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Fira Sans – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Fira Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('fira-sans-latin-ext-48f6df01.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fira Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('fira-sans-latin-28978245.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fira Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('fira-sans-latin-ext-e7f40dd9.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fira Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('fira-sans-latin-4be51a37.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fira Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('fira-sans-latin-ext-ad62430c.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fira Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('fira-sans-latin-f7b89b6b.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
/* Great Vibes – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Great Vibes';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('great-vibes-latin-ext-e5a62ade.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Great Vibes';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('great-vibes-latin-1402a25d.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Inter – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('inter-latin-ext-39529051.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('inter-latin-56724408.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('inter-latin-ext-39529051.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('inter-latin-56724408.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('inter-latin-ext-39529051.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('inter-latin-56724408.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Karla – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Karla';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('karla-latin-ext-e6e23c51.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Karla';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('karla-latin-ca0ae6c1.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Karla';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('karla-latin-ext-e6e23c51.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Karla';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('karla-latin-ca0ae6c1.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Karla';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('karla-latin-ext-e6e23c51.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Karla';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('karla-latin-ca0ae6c1.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,33 @@
|
||||
/* Lato – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('lato-latin-ext-47b3d2f4.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('lato-latin-1ceff43a.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('lato-latin-ext-e10402ed.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('lato-latin-1e749525.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Merriweather – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Merriweather';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('merriweather-latin-ext-da7d3499.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Merriweather';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('merriweather-latin-920604ae.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Merriweather';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('merriweather-latin-ext-da7d3499.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Merriweather';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('merriweather-latin-920604ae.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Merriweather';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('merriweather-latin-ext-da7d3499.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Merriweather';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('merriweather-latin-920604ae.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Montserrat – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('montserrat-latin-ext-ccd96bf8.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('montserrat-latin-e56e84e5.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('montserrat-latin-ext-ccd96bf8.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('montserrat-latin-e56e84e5.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('montserrat-latin-ext-ccd96bf8.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('montserrat-latin-e56e84e5.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Noto Sans – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Noto Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('noto-sans-latin-ext-3c1f6190.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Noto Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('noto-sans-latin-811cef89.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Noto Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('noto-sans-latin-ext-3c1f6190.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Noto Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('noto-sans-latin-811cef89.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Noto Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('noto-sans-latin-ext-3c1f6190.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Noto Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('noto-sans-latin-811cef89.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Nunito – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Nunito';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('nunito-latin-ext-012b6110.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Nunito';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('nunito-latin-798ec6b6.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Nunito';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('nunito-latin-ext-012b6110.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Nunito';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('nunito-latin-798ec6b6.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Nunito';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('nunito-latin-ext-012b6110.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Nunito';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('nunito-latin-798ec6b6.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Open Sans – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('open-sans-latin-ext-27125ddf.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('open-sans-latin-52962c5d.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('open-sans-latin-ext-27125ddf.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('open-sans-latin-52962c5d.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('open-sans-latin-ext-27125ddf.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('open-sans-latin-52962c5d.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Oswald – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('oswald-latin-ext-31399ed9.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('oswald-latin-ed56cbd3.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('oswald-latin-ext-31399ed9.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('oswald-latin-ed56cbd3.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('oswald-latin-ext-31399ed9.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('oswald-latin-ed56cbd3.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
/* Pacifico – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Pacifico';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('pacifico-latin-ext-59e558e1.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Pacifico';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('pacifico-latin-296fd221.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Playfair Display – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Playfair Display';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('playfair-display-latin-ext-4136269b.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Playfair Display';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('playfair-display-latin-48d1e9cd.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Playfair Display';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('playfair-display-latin-ext-4136269b.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Playfair Display';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('playfair-display-latin-48d1e9cd.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Playfair Display';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('playfair-display-latin-ext-4136269b.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Playfair Display';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('playfair-display-latin-48d1e9cd.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Poppins – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('poppins-latin-ext-5078a175.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('poppins-latin-5a641377.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('poppins-latin-ext-4445c0c3.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('poppins-latin-fd1924ca.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('poppins-latin-ext-293d06c4.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('poppins-latin-ddd02247.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,33 @@
|
||||
/* PT Sans – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('pt-sans-latin-ext-484fa1a4.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('pt-sans-latin-177d0d73.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('pt-sans-latin-ext-abb66e79.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('pt-sans-latin-75ce67f5.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Quicksand – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Quicksand';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('quicksand-latin-ext-9d611ed3.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Quicksand';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('quicksand-latin-d8da431a.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Quicksand';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('quicksand-latin-ext-9d611ed3.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Quicksand';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('quicksand-latin-d8da431a.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Quicksand';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('quicksand-latin-ext-9d611ed3.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Quicksand';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('quicksand-latin-d8da431a.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Raleway – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('raleway-latin-ext-7d2ee92c.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('raleway-latin-faccb37f.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('raleway-latin-ext-7d2ee92c.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('raleway-latin-faccb37f.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('raleway-latin-ext-7d2ee92c.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('raleway-latin-faccb37f.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Roboto – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('roboto-latin-ext-0fb06be4.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('roboto-latin-cb43c055.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('roboto-latin-ext-0fb06be4.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('roboto-latin-cb43c055.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('roboto-latin-ext-0fb06be4.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('roboto-latin-cb43c055.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
/* Rubik – lokal gehostet (DSGVO). Generiert, nicht manuell bearbeiten. */
|
||||
@font-face {
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('rubik-latin-ext-b7b482e1.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('rubik-latin-f673d854.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('rubik-latin-ext-b7b482e1.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('rubik-latin-f673d854.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('rubik-latin-ext-b7b482e1.woff2') format('woff2');
|
||||
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('rubik-latin-f673d854.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user