From d58bef868eed03ae54e6e80a45d890c862769ea0 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Mon, 6 Sep 2021 23:26:51 +0200 Subject: add kontra IAA 2021 --- configs/conferences/kontraIAA2021/R2R_logo.png | Bin 0 -> 152401 bytes configs/conferences/kontraIAA2021/Ubuntu.eot | Bin 0 -> 150461 bytes configs/conferences/kontraIAA2021/Ubuntu.otf | Bin 0 -> 348684 bytes configs/conferences/kontraIAA2021/Ubuntu.svg | 19406 +++++++++++++++++++++ configs/conferences/kontraIAA2021/Ubuntu.ttf | Bin 0 -> 353824 bytes configs/conferences/kontraIAA2021/Ubuntu.woff | Bin 0 -> 130652 bytes configs/conferences/kontraIAA2021/Ubuntu.woff2 | Bin 0 -> 100068 bytes configs/conferences/kontraIAA2021/config.php | 347 + configs/conferences/kontraIAA2021/main.less | 262 + configs/conferences/kontraIAA2021/voctobunny.svg | 107 + 10 files changed, 20122 insertions(+) create mode 100644 configs/conferences/kontraIAA2021/R2R_logo.png create mode 100644 configs/conferences/kontraIAA2021/Ubuntu.eot create mode 100644 configs/conferences/kontraIAA2021/Ubuntu.otf create mode 100644 configs/conferences/kontraIAA2021/Ubuntu.svg create mode 100644 configs/conferences/kontraIAA2021/Ubuntu.ttf create mode 100644 configs/conferences/kontraIAA2021/Ubuntu.woff create mode 100644 configs/conferences/kontraIAA2021/Ubuntu.woff2 create mode 100644 configs/conferences/kontraIAA2021/config.php create mode 100644 configs/conferences/kontraIAA2021/main.less create mode 100644 configs/conferences/kontraIAA2021/voctobunny.svg (limited to 'configs/conferences') diff --git a/configs/conferences/kontraIAA2021/R2R_logo.png b/configs/conferences/kontraIAA2021/R2R_logo.png new file mode 100644 index 0000000..f370900 Binary files /dev/null and b/configs/conferences/kontraIAA2021/R2R_logo.png differ diff --git a/configs/conferences/kontraIAA2021/Ubuntu.eot b/configs/conferences/kontraIAA2021/Ubuntu.eot new file mode 100644 index 0000000..6be307a Binary files /dev/null and b/configs/conferences/kontraIAA2021/Ubuntu.eot differ diff --git a/configs/conferences/kontraIAA2021/Ubuntu.otf b/configs/conferences/kontraIAA2021/Ubuntu.otf new file mode 100644 index 0000000..e6dc2c0 Binary files /dev/null and b/configs/conferences/kontraIAA2021/Ubuntu.otf differ diff --git a/configs/conferences/kontraIAA2021/Ubuntu.svg b/configs/conferences/kontraIAA2021/Ubuntu.svg new file mode 100644 index 0000000..ecfc80b --- /dev/null +++ b/configs/conferences/kontraIAA2021/Ubuntu.svg @@ -0,0 +1,19406 @@ + + + diff --git a/configs/conferences/kontraIAA2021/Ubuntu.ttf b/configs/conferences/kontraIAA2021/Ubuntu.ttf new file mode 100644 index 0000000..d748728 Binary files /dev/null and b/configs/conferences/kontraIAA2021/Ubuntu.ttf differ diff --git a/configs/conferences/kontraIAA2021/Ubuntu.woff b/configs/conferences/kontraIAA2021/Ubuntu.woff new file mode 100644 index 0000000..48a1997 Binary files /dev/null and b/configs/conferences/kontraIAA2021/Ubuntu.woff differ diff --git a/configs/conferences/kontraIAA2021/Ubuntu.woff2 b/configs/conferences/kontraIAA2021/Ubuntu.woff2 new file mode 100644 index 0000000..310ecab Binary files /dev/null and b/configs/conferences/kontraIAA2021/Ubuntu.woff2 differ diff --git a/configs/conferences/kontraIAA2021/config.php b/configs/conferences/kontraIAA2021/config.php new file mode 100644 index 0000000..c91cd3e --- /dev/null +++ b/configs/conferences/kontraIAA2021/config.php @@ -0,0 +1,347 @@ + strtotime("2021-09-09 09:30"), + + /** + * Der Endzeitpunkt der Konferenz als Unix-Timestamp. Befinden wir uns danach, wird eine Danke-Und-Kommen-Sie- + * Gut-Nach-Hause-Seite sowie einem Ausblick auf die kommenden Events angezeigt. + * + * Wird dieser Zeitpunkt nicht angegeben, endet die Konferenz nie. (Siehe aber CLOSED weiter unten) + */ + 'ENDS_AT' => strtotime("2021-09-10 18:30"), + + /** + * Hiermit kann die Funktionalitaet von STARTS_AT/ENDS_AT überschrieben werden. Der Wert 'before' + * simuliert, dass die Konferenz noch nicht begonnen hat. Der Wert 'after' simuliert, dass die Konferenz + * bereits beendet ist. 'running' simuliert eine laufende Konferenz. + * + * Der Boolean true ist aus Abwärtskompatibilitätsgründen äquivalent zu 'after'. False ist äquivalent + * zu 'running'. + */ + //'CLOSED' => 'running', + + /** + * Titel der Konferenz (kann Leer- und Sonderzeichen enthalten) + * Dieser im Seiten-Header, im
 ', **/
+//	'BANNER_HTML' => '',
+
+	/**
+	 * Link zu den Recordings
+	 * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+	 */
+//	'RELEASES' => 'https://media.ccc.de/c/divoc_r2r',
+
+	/**
+	 * Link zu einer (externen) ReLive-Übersichts-Seite
+	 * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+	 */
+	//'RELIVE' => 'http://vod.c3voc.de/',
+
+	/**
+	 * Alternativ kann ein ReLive-Json konfiguriert werden, um die interne
+	 * ReLive-Ansicht zu aktivieren.
+	 *
+	 * Wird beides aktiviert, hat der externe Link Vorrang!
+	 * Wird beides auskommentiert, wird der Link nicht angezeigt
+	 */
+	'RELIVE_JSON' => 'https://cdn.c3voc.de/relive/kontraIAA2021/index.json'
+	/**
+	 * APCU-Cache-Zeit in Sekunden
+	 * Wird diese Zeile auskommentiert, werden die apc_*-Methoden nicht verwendet und
+	 * das Relive-Json bei jedem Request von der Quelle geladen und geparst
+	 */
+	//'RELIVE_JSON_CACHE' => 30*60,
+);
+
+/**
+ * Konfiguration der Stream-Übersicht auf der Startseite
+ */
+$CONFIG['OVERVIEW'] = array(
+	/**
+	 * Abschnitte aud der Startseite und darunter aufgeführte Räume
+	 * Es können beliebig neue Gruppen und Räume hinzugefügt werden
+	 *
+	 * Die Räume müssen in $CONFIG['ROOMS'] konfiguriert werden,
+	 * sonst werden sie nicht angezeigt.
+	 */
+	'GROUPS' => array(
+		'Live' => array(
+			'kranhalle',
+		),
+	),
+);
+
+
+
+/**
+ * Liste der Räume (= Audio & Video Produktionen, also auch DJ-Sets oä.)
+ */
+$CONFIG['ROOMS'] = array(
+	/**
+	 * Array-Key ist der Raum-Slug, der z.B. auch zum erstellen der URLs,
+	 * in $CONFIG['OVERVIEW'] oder im Feedback verwendet wird.
+	 */
+	'kranhalle' => array(
+		'DISPLAY' => 'KRANHALLE',
+		'WIDE' => true,
+		'STREAM' => 'kranhalle',
+		'PREVIEW' => true,
+		'TRANSLATION' => [
+			['endpoint' => 'translated',   'label' => 'Translated1'],
+			['endpoint' => 'translated-2', 'label' => 'Translated2']
+		],
+		'STEREO' => false,
+		'SD_VIDEO' => true,
+		'HD_VIDEO' => true,
+		'SLIDES' => false,
+		'DASH' => true,
+		'AUDIO' => true,
+		'MUSIC' => false,
+		'SCHEDULE' => true,
+		'SCHEDULE_NAME' => 'Piscopia',
+		'FEEDBACK' => true,
+		'SUBTITLES' => false,
+		'SUBTITLES_ROOM_ID' => 1,
+		'EMBED' => true,
+		'IRC' => true,
+		'IRC_CONFIG' => array(
+			'DISPLAY' => '#divoc @ hackint',
+			'URL'     => 'https://webirc.hackint.org/#irc://irc.libera.chat/#kontraIAA',
+		),
+		'TWITTER' => false,
+		'TWITTER_CONFIG' => array(
+			'DISPLAY' => '#divoc-r2r @ twitter',
+			'TEXT'    => '#divoc-r2r',
+		),
+	),
+);
+
+/**
+ * Konfigurationen zum Konferenz-Fahrplan
+ * Wird dieser Block auskommentiert, werden alle Fahrplan-Bezogenen Features deaktiviert
+ */
+$CONFIG['SCHEDULE'] = array(
+	/**
+	 * URL zum Fahrplan-XML
+	 *
+	 * Diese URL muss immer verfügbar sein, sonst können kann die Programm-Ansicht
+	 * aufhören zu funktionieren. Wenn die Quelle unverlässlich ist ;) sollte ein
+	 * externer HTTP-Cache vorgeschaltet werden.
+	 */
+	'URL' => 'https://data.c3voc.de/divoc/everything.schedule.xml',
+
+	/**
+	 * Nur die angegebenen Räume aus dem Fahrplan beachten
+	 *
+	 * Wird diese Zeile auskommentiert, werden alle Räume angezeigt
+	 */
+	'ROOMFILTER' => array('Piscopia'),
+	//	'WikiPaka WG: Esszimmer', 'Chaos-West Bühne', 'OIO Stage', 'DLF- und Podcast-Bühne'),
+
+	/**
+	 * Skalierung der Programm-Vorschau in Sekunden pro Pixel
+	 */
+	'SCALE' => 7,
+
+	/**
+	 * Simuliere das Verhalten als wäre die Konferenz bereits heute
+	 *
+	 * Diese folgende Beispiel-Zeile Simuliert, dass das
+	 * Konferenz-Datum 2014-12-29 auf den heutigen Tag 2015-02-24 verschoben ist.
+	 */
+	// 'SIMULATE_OFFSET' => strtotime('2021-04-03') - strtotime('2021-03-27'),
+	//'SIMULATE_OFFSET' => 0,
+);
+
+/**
+ * Konfiguration des Feedback-Formulars
+ *
+ * Wird dieser Block auskommentiert, wird das gesamte Feedback-System deaktiviert
+ */
+$CONFIG['FEEDBACK'] = array(
+	/**
+	 * DSN zum abspeichern der eingegebenen Daten
+	 * die Datenbank muss eine Tabelle enthaltem, die dem in `lib/schema.sql` angegebenen
+	 * Schema entspricht.
+	 *
+	 * Achtung vor Dateirechten: Bei SQLite reicht es nicht, wenn wer Webseiten-Benutzer
+	 * die .sqlite3-Datei schreiben darf, er muss auch im übergeordneten Order neue
+	 * (Lock-)Dateien anlegen dürfen
+	 */
+	'DSN' => 'sqlite:/opt/streaming-feedback/feedback.sqlite3',
+
+	/**
+	 * Login-Daten für die /feedback/read/-Seite, auf der eingegangenes
+	 * Feedback gelesen werden kann.
+	 *
+	 * Durch auskommentieren der beiden Optionen wird diese Seite komplett deaktiviert,
+	 * es kann dann nur noch durch manuelle Inspektion der .sqlite3-Datei auf das Feedback
+	 * zugegriffen werden.
+	 */
+	'USERNAME' => 'katze',
+	'PASSWORD' => trim(@file_get_contents('/opt/streaming-feedback/feedback-password')),
+);
+
+/**
+ * Globaler Schalter für die Embedding-Funktionalitäten
+ *
+ * Wird diese Zeile auskommentiert oder auf False gesetzt, werden alle
+ * Embedding-Funktionen deaktiviert.
+ */
+$CONFIG['EMBED'] = true;
+
+/**
+ * Konfiguration des L2S2-Systems
+ * https://github.com/c3subtitles/L2S2
+ *
+ * Wird dieser Block auskommentiert, wird das gesamte Subtitle-System deaktiviert
+ */
+
+// $CONFIG['SUBTITLES'] = array(
+// 	/**
+// 	 * URL des L2S2 Primus-Servers
+// 	 */
+// 	'PRIMUS_URL' => 'https://live.c3subtitles.de/',
+//
+// 	/**
+// 	 * URL des L2S2 Frontend-Servers
+// 	 */
+// 	'FRONTEND_URL' => 'https://live.c3subtitles.de/',
+// );
+
+/**
+ * Globale Konfiguration der IRC-Links.
+ *
+ * Wird dieser Block auskommentiert, werden keine IRC-Links mehr erzeugt. Sollen die
+ * IRC-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem
+ * existieren sein. ggf. einfach auf true setzen:
+ *
+ *   $CONFIG['IRC'] = true
+ */
+$CONFIG['IRC'] = array(
+	/**
+	 * Anzeigetext für die IRC-Links.
+	 *
+	 * %s wird durch den Raum-Slug ersetzt.
+	 * Ist eine weitere Anpassung erfoderlich, kann ein IRC_CONFIG-Block in der
+	 * Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden.
+	 */
+	'DISPLAY' => '#kontraIAA @ hackint',
+
+	/**
+	 * URL für die IRC-Links.
+	 * Hierbei kann sowohl ein irc://-Link als auch ein Link zu einem
+	 * WebIrc-Provider wie z.B. 'https://kiwiirc.com/client/irc.hackint.eu/#33C3-%s'
+	 * verwendet werden.
+	 *
+	 * %s wird durch den urlencodeten Raum-Slug ersetzt.
+	 * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden.
+	 */
+    'URL' => 'https://webirc.hackint.org/#irc://irc.hackint.org/#divoc',
+);
+
+/**
+ * Globale Konfiguration der Twitter-Links.
+ *
+ * Wird dieser Block auskommentiert, werden keine Twitter-Links mehr erzeugt. Sollen die
+ * Twitter-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem
+ * existieren sein. ggf. einfach auf true setzen:
+ *
+ *   $CONFIG['TWITTER'] = true
+ */
+$CONFIG['TWITTER'] = array(
+	/**
+	 * Anzeigetext für die Twitter-Links.
+	 *
+	 * %s wird durch den Raum-Slug ersetzt.
+	 * Ist eine weitere Anpassung erfoderlich, kann ein TWITTER_CONFIG-Block in der
+	 * Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden.
+	 */
+	'DISPLAY' => '#divoc-r2r @ twitter',
+
+	/**
+	 * Vorgabe-Tweet-Text für die Twitter-Links.
+	 *
+	 * %s wird durch den Raum-Slug ersetzt.
+	 * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden.
+	 */
+	'TEXT' => '#divoc-r2r',
+);
+
+/**
+ * Liste zusätzlich herunterzuladender Dateien
+ *
+ * Dict mit dem Dateinamen im Key und einer URL im Value. Die Dateien werden
+ * unter dem angegebenen Dateinamen in diesem Konfigurationsordner abgelegt.
+ */
+/**
+$CONFIG['EXTRA_FILES'] = array(
+	'schedule.xml'  => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.xml',
+	'schedule.json' => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.json',
+	'schedule.ics'  => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.ics',
+	'schedule.xcal' => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.xcal',
+
+	'everything.schedule.xml' => 'https://data.c3voc.de/divoc/everything.schedule.xml',
+	'everything.schedule.json' => 'https://data.c3voc.de/divoc/everything.schedule.json',
+
+	//'workshops.schedule.xml' => 'http://data.c3voc.de/36C3/workshops.schedule.xml',
+	//'workshops.schedule.json' => 'http://data.c3voc.de/36C3/workshops.schedule.json',
+);
+*/
+
+
+return $CONFIG;
diff --git a/configs/conferences/kontraIAA2021/main.less b/configs/conferences/kontraIAA2021/main.less
new file mode 100644
index 0000000..6df0226
--- /dev/null
+++ b/configs/conferences/kontraIAA2021/main.less
@@ -0,0 +1,262 @@
+@import "../../../assets/css/_structure.less";
+
+@mainGrey: lightgray;
+@grey-lighter: white;
+@greyLight: white;
+@bggrey: gray;
+@white: #fff;
+
+@green: #00c466;
+@orange: #fe7900;
+@plum: #1f0229;
+@pink: #ff47a3;
+
+@primary: #dede37;
+@secondary: #dceeec;
+@dark-green: @secondary;
+
+@text: black;
+
+@well-bg: @white;
+@btn-default-bg: @mainGrey;
+@panel-default-heading-bg: @mainGrey;
+@panel-default-text: black;
+@panel-bg: @dark-green;
+@background: white;
+
+@navbar-height: 70px;
+@navbar-default-bg: @dark-green;
+@navbar-default-border: transparent;
+
+/*
+ * buttons
+ */
+@btn-font-weight: 600;
+a.btn,
+input.btn,
+.btn-primary {
+  color: @text;
+  border-color: @text;
+  background-color: @secondary;
+}
+a.btn:hover,
+input.btn:hover {
+  background-color: @primary;
+}
+
+/*
+ * font
+ */
+
+@font-face {
+  font-family: "Ubuntu";
+  font-weight: 100;
+  font-style: normal;
+  src: url("Ubuntu.eot");
+  src: url("Ubuntu.eot?#iefix") format("embedded-opentype"),
+    url("Ubuntu.otf") format("opentype"), url("Ubuntu.svg") format("svg"),
+    url("Ubuntu.ttf") format("ttf"), url("Ubuntu.woff") format("woff"),
+    url("Ubuntu.woff2") format("woff2");
+}
+
+/*
+ * headlines
+ */
+
+.font-headline {
+  font-family: "Ubuntu", sans-serif;
+  color: @primary;
+}
+
+h1,
+h2,
+h3,
+body.overview .room a.title,
+body.overview .panel-primary a,
+.navbar-brand,
+.panel-heading,
+.panel-default > .panel-heading,
+.nav.nav-tabs {
+  .font-headline();
+}
+
+h1 {
+font-size: 40pt;
+}
+
+
+/*
+ * panels
+ */
+
+.panel-default {
+  border-color: @primary;
+}
+
+.panel-default > .panel-heading {
+  border-color: @primary;
+}
+
+/*
+ * navbar
+ */
+
+body.room .tab-content {
+  border-left: 1px solid @primary;
+  border-bottom: 1px solid @primary;
+  border-right: 1px solid @primary;
+}
+
+.nav-tabs > li > a {
+color: @text;
+}
+.nav-tabs > li > a:hover {
+color: black;
+background-color: @primary;
+}
+
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+  color: black;
+}
+
+.panel {
+  background-color: transparent;
+}
+
+.panel-default > .panel-heading {
+  background-color: #ad621b;
+}
+
+/*
+ * schedule
+ */
+
+body .schedule .now {
+  //background-color: rgba(222,103,100,0.6);
+  //background-color: unset;
+}
+
+body .schedule .block.event h3 {
+  overflow: unset;
+  font-size: 16px;
+}
+
+h1,
+h2 {
+  color: @primary;
+}
+h3 {
+  color: @text;
+}
+
+body.overview .panel-body {
+  min-height: 10px;
+}
+
+body {
+  background-color: @background;
+  color: @text;
+  padding: @navbar-height 0;
+}
+
+body .schedule .block h5 {
+  color: #767676;
+}
+
+.nav > li {
+  position: relative;
+  display: block;
+  background-color: @dark-green;
+}
+
+nav.navbar {
+  .navbar-brand {
+    /*color: @mainGrey;*/
+  }
+
+  .navbar-right {
+    text-align: right;
+
+    .btn-ssl,
+    a.feedback,
+    a.releases,
+    a.about {
+      color: #5e5e5e;
+      background-color: transparent;
+      border-color: #5e5e5e;
+
+      &:hover {
+        color: @text;
+        background-color: @primary;
+        border-color: @text;
+      }
+    }
+
+    .btn-ssl.btn-warning {
+      color: grey;
+      background: transparent;
+      border-color: grey;
+    }
+  }
+}
+
+.congress {
+  background-image: url(R2R_logo.png);
+  background-repeat: no-repeat;
+  background-size: 200px;
+
+  position: fixed;
+  left: 10px;
+  top: 200px;
+
+  width: 290px;
+  height: 1080px;
+
+  opacity: 1;
+  z-index: -100;
+
+  @media (max-width: @screen-sm-min) {
+    display: none;
+  }
+}
+
+nav .navbar-brand .icon {
+  background-image: url(voctobunny.svg);
+}
+
+body .schedule .room.highlight .block {
+  background-color: @primary;
+}
+
+body .schedule .now .overlay {
+  background-color: rgba(52, 36, 59, 0.4);
+}
+
+body .schedule .block h3 {
+  font-weight: bold;
+}
+
+body .schedule .block h4 {
+  color: @mainGrey;
+}
+
+body .schedule .block h5 {
+  color: @green;
+}
+
+body .schedule .block.optout,
+body .schedule .block.pause {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent);
+}
+
+
+#switcher div[disabled] {
+  background-color: @plum;
+  color: @green;
+}
+
+.tab-pane {
+background-color: @secondary;
+}
diff --git a/configs/conferences/kontraIAA2021/voctobunny.svg b/configs/conferences/kontraIAA2021/voctobunny.svg
new file mode 100644
index 0000000..d367515
--- /dev/null
+++ b/configs/conferences/kontraIAA2021/voctobunny.svg
@@ -0,0 +1,107 @@
+
+
+
-- 
cgit v1.2.3
', **/
+//	'BANNER_HTML' => '',
+
+	/**
+	 * Link zu den Recordings
+	 * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+	 */
+//	'RELEASES' => 'https://media.ccc.de/c/divoc_r2r',
+
+	/**
+	 * Link zu einer (externen) ReLive-Übersichts-Seite
+	 * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+	 */
+	//'RELIVE' => 'http://vod.c3voc.de/',
+
+	/**
+	 * Alternativ kann ein ReLive-Json konfiguriert werden, um die interne
+	 * ReLive-Ansicht zu aktivieren.
+	 *
+	 * Wird beides aktiviert, hat der externe Link Vorrang!
+	 * Wird beides auskommentiert, wird der Link nicht angezeigt
+	 */
+	'RELIVE_JSON' => 'https://cdn.c3voc.de/relive/kontraIAA2021/index.json'
+	/**
+	 * APCU-Cache-Zeit in Sekunden
+	 * Wird diese Zeile auskommentiert, werden die apc_*-Methoden nicht verwendet und
+	 * das Relive-Json bei jedem Request von der Quelle geladen und geparst
+	 */
+	//'RELIVE_JSON_CACHE' => 30*60,
+);
+
+/**
+ * Konfiguration der Stream-Übersicht auf der Startseite
+ */
+$CONFIG['OVERVIEW'] = array(
+	/**
+	 * Abschnitte aud der Startseite und darunter aufgeführte Räume
+	 * Es können beliebig neue Gruppen und Räume hinzugefügt werden
+	 *
+	 * Die Räume müssen in $CONFIG['ROOMS'] konfiguriert werden,
+	 * sonst werden sie nicht angezeigt.
+	 */
+	'GROUPS' => array(
+		'Live' => array(
+			'kranhalle',
+		),
+	),
+);
+
+
+
+/**
+ * Liste der Räume (= Audio & Video Produktionen, also auch DJ-Sets oä.)
+ */
+$CONFIG['ROOMS'] = array(
+	/**
+	 * Array-Key ist der Raum-Slug, der z.B. auch zum erstellen der URLs,
+	 * in $CONFIG['OVERVIEW'] oder im Feedback verwendet wird.
+	 */
+	'kranhalle' => array(
+		'DISPLAY' => 'KRANHALLE',
+		'WIDE' => true,
+		'STREAM' => 'kranhalle',
+		'PREVIEW' => true,
+		'TRANSLATION' => [
+			['endpoint' => 'translated',   'label' => 'Translated1'],
+			['endpoint' => 'translated-2', 'label' => 'Translated2']
+		],
+		'STEREO' => false,
+		'SD_VIDEO' => true,
+		'HD_VIDEO' => true,
+		'SLIDES' => false,
+		'DASH' => true,
+		'AUDIO' => true,
+		'MUSIC' => false,
+		'SCHEDULE' => true,
+		'SCHEDULE_NAME' => 'Piscopia',
+		'FEEDBACK' => true,
+		'SUBTITLES' => false,
+		'SUBTITLES_ROOM_ID' => 1,
+		'EMBED' => true,
+		'IRC' => true,
+		'IRC_CONFIG' => array(
+			'DISPLAY' => '#divoc @ hackint',
+			'URL'     => 'https://webirc.hackint.org/#irc://irc.libera.chat/#kontraIAA',
+		),
+		'TWITTER' => false,
+		'TWITTER_CONFIG' => array(
+			'DISPLAY' => '#divoc-r2r @ twitter',
+			'TEXT'    => '#divoc-r2r',
+		),
+	),
+);
+
+/**
+ * Konfigurationen zum Konferenz-Fahrplan
+ * Wird dieser Block auskommentiert, werden alle Fahrplan-Bezogenen Features deaktiviert
+ */
+$CONFIG['SCHEDULE'] = array(
+	/**
+	 * URL zum Fahrplan-XML
+	 *
+	 * Diese URL muss immer verfügbar sein, sonst können kann die Programm-Ansicht
+	 * aufhören zu funktionieren. Wenn die Quelle unverlässlich ist ;) sollte ein
+	 * externer HTTP-Cache vorgeschaltet werden.
+	 */
+	'URL' => 'https://data.c3voc.de/divoc/everything.schedule.xml',
+
+	/**
+	 * Nur die angegebenen Räume aus dem Fahrplan beachten
+	 *
+	 * Wird diese Zeile auskommentiert, werden alle Räume angezeigt
+	 */
+	'ROOMFILTER' => array('Piscopia'),
+	//	'WikiPaka WG: Esszimmer', 'Chaos-West Bühne', 'OIO Stage', 'DLF- und Podcast-Bühne'),
+
+	/**
+	 * Skalierung der Programm-Vorschau in Sekunden pro Pixel
+	 */
+	'SCALE' => 7,
+
+	/**
+	 * Simuliere das Verhalten als wäre die Konferenz bereits heute
+	 *
+	 * Diese folgende Beispiel-Zeile Simuliert, dass das
+	 * Konferenz-Datum 2014-12-29 auf den heutigen Tag 2015-02-24 verschoben ist.
+	 */
+	// 'SIMULATE_OFFSET' => strtotime('2021-04-03') - strtotime('2021-03-27'),
+	//'SIMULATE_OFFSET' => 0,
+);
+
+/**
+ * Konfiguration des Feedback-Formulars
+ *
+ * Wird dieser Block auskommentiert, wird das gesamte Feedback-System deaktiviert
+ */
+$CONFIG['FEEDBACK'] = array(
+	/**
+	 * DSN zum abspeichern der eingegebenen Daten
+	 * die Datenbank muss eine Tabelle enthaltem, die dem in `lib/schema.sql` angegebenen
+	 * Schema entspricht.
+	 *
+	 * Achtung vor Dateirechten: Bei SQLite reicht es nicht, wenn wer Webseiten-Benutzer
+	 * die .sqlite3-Datei schreiben darf, er muss auch im übergeordneten Order neue
+	 * (Lock-)Dateien anlegen dürfen
+	 */
+	'DSN' => 'sqlite:/opt/streaming-feedback/feedback.sqlite3',
+
+	/**
+	 * Login-Daten für die /feedback/read/-Seite, auf der eingegangenes
+	 * Feedback gelesen werden kann.
+	 *
+	 * Durch auskommentieren der beiden Optionen wird diese Seite komplett deaktiviert,
+	 * es kann dann nur noch durch manuelle Inspektion der .sqlite3-Datei auf das Feedback
+	 * zugegriffen werden.
+	 */
+	'USERNAME' => 'katze',
+	'PASSWORD' => trim(@file_get_contents('/opt/streaming-feedback/feedback-password')),
+);
+
+/**
+ * Globaler Schalter für die Embedding-Funktionalitäten
+ *
+ * Wird diese Zeile auskommentiert oder auf False gesetzt, werden alle
+ * Embedding-Funktionen deaktiviert.
+ */
+$CONFIG['EMBED'] = true;
+
+/**
+ * Konfiguration des L2S2-Systems
+ * https://github.com/c3subtitles/L2S2
+ *
+ * Wird dieser Block auskommentiert, wird das gesamte Subtitle-System deaktiviert
+ */
+
+// $CONFIG['SUBTITLES'] = array(
+// 	/**
+// 	 * URL des L2S2 Primus-Servers
+// 	 */
+// 	'PRIMUS_URL' => 'https://live.c3subtitles.de/',
+//
+// 	/**
+// 	 * URL des L2S2 Frontend-Servers
+// 	 */
+// 	'FRONTEND_URL' => 'https://live.c3subtitles.de/',
+// );
+
+/**
+ * Globale Konfiguration der IRC-Links.
+ *
+ * Wird dieser Block auskommentiert, werden keine IRC-Links mehr erzeugt. Sollen die
+ * IRC-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem
+ * existieren sein. ggf. einfach auf true setzen:
+ *
+ *   $CONFIG['IRC'] = true
+ */
+$CONFIG['IRC'] = array(
+	/**
+	 * Anzeigetext für die IRC-Links.
+	 *
+	 * %s wird durch den Raum-Slug ersetzt.
+	 * Ist eine weitere Anpassung erfoderlich, kann ein IRC_CONFIG-Block in der
+	 * Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden.
+	 */
+	'DISPLAY' => '#kontraIAA @ hackint',
+
+	/**
+	 * URL für die IRC-Links.
+	 * Hierbei kann sowohl ein irc://-Link als auch ein Link zu einem
+	 * WebIrc-Provider wie z.B. 'https://kiwiirc.com/client/irc.hackint.eu/#33C3-%s'
+	 * verwendet werden.
+	 *
+	 * %s wird durch den urlencodeten Raum-Slug ersetzt.
+	 * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden.
+	 */
+    'URL' => 'https://webirc.hackint.org/#irc://irc.hackint.org/#divoc',
+);
+
+/**
+ * Globale Konfiguration der Twitter-Links.
+ *
+ * Wird dieser Block auskommentiert, werden keine Twitter-Links mehr erzeugt. Sollen die
+ * Twitter-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem
+ * existieren sein. ggf. einfach auf true setzen:
+ *
+ *   $CONFIG['TWITTER'] = true
+ */
+$CONFIG['TWITTER'] = array(
+	/**
+	 * Anzeigetext für die Twitter-Links.
+	 *
+	 * %s wird durch den Raum-Slug ersetzt.
+	 * Ist eine weitere Anpassung erfoderlich, kann ein TWITTER_CONFIG-Block in der
+	 * Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden.
+	 */
+	'DISPLAY' => '#divoc-r2r @ twitter',
+
+	/**
+	 * Vorgabe-Tweet-Text für die Twitter-Links.
+	 *
+	 * %s wird durch den Raum-Slug ersetzt.
+	 * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden.
+	 */
+	'TEXT' => '#divoc-r2r',
+);
+
+/**
+ * Liste zusätzlich herunterzuladender Dateien
+ *
+ * Dict mit dem Dateinamen im Key und einer URL im Value. Die Dateien werden
+ * unter dem angegebenen Dateinamen in diesem Konfigurationsordner abgelegt.
+ */
+/**
+$CONFIG['EXTRA_FILES'] = array(
+	'schedule.xml'  => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.xml',
+	'schedule.json' => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.json',
+	'schedule.ics'  => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.ics',
+	'schedule.xcal' => 'https://pretalx.c3voc.de/divoc-reboot-to-respawn-2021/schedule/export/schedule.xcal',
+
+	'everything.schedule.xml' => 'https://data.c3voc.de/divoc/everything.schedule.xml',
+	'everything.schedule.json' => 'https://data.c3voc.de/divoc/everything.schedule.json',
+
+	//'workshops.schedule.xml' => 'http://data.c3voc.de/36C3/workshops.schedule.xml',
+	//'workshops.schedule.json' => 'http://data.c3voc.de/36C3/workshops.schedule.json',
+);
+*/
+
+
+return $CONFIG;
diff --git a/configs/conferences/kontraIAA2021/main.less b/configs/conferences/kontraIAA2021/main.less
new file mode 100644
index 0000000..6df0226
--- /dev/null
+++ b/configs/conferences/kontraIAA2021/main.less
@@ -0,0 +1,262 @@
+@import "../../../assets/css/_structure.less";
+
+@mainGrey: lightgray;
+@grey-lighter: white;
+@greyLight: white;
+@bggrey: gray;
+@white: #fff;
+
+@green: #00c466;
+@orange: #fe7900;
+@plum: #1f0229;
+@pink: #ff47a3;
+
+@primary: #dede37;
+@secondary: #dceeec;
+@dark-green: @secondary;
+
+@text: black;
+
+@well-bg: @white;
+@btn-default-bg: @mainGrey;
+@panel-default-heading-bg: @mainGrey;
+@panel-default-text: black;
+@panel-bg: @dark-green;
+@background: white;
+
+@navbar-height: 70px;
+@navbar-default-bg: @dark-green;
+@navbar-default-border: transparent;
+
+/*
+ * buttons
+ */
+@btn-font-weight: 600;
+a.btn,
+input.btn,
+.btn-primary {
+  color: @text;
+  border-color: @text;
+  background-color: @secondary;
+}
+a.btn:hover,
+input.btn:hover {
+  background-color: @primary;
+}
+
+/*
+ * font
+ */
+
+@font-face {
+  font-family: "Ubuntu";
+  font-weight: 100;
+  font-style: normal;
+  src: url("Ubuntu.eot");
+  src: url("Ubuntu.eot?#iefix") format("embedded-opentype"),
+    url("Ubuntu.otf") format("opentype"), url("Ubuntu.svg") format("svg"),
+    url("Ubuntu.ttf") format("ttf"), url("Ubuntu.woff") format("woff"),
+    url("Ubuntu.woff2") format("woff2");
+}
+
+/*
+ * headlines
+ */
+
+.font-headline {
+  font-family: "Ubuntu", sans-serif;
+  color: @primary;
+}
+
+h1,
+h2,
+h3,
+body.overview .room a.title,
+body.overview .panel-primary a,
+.navbar-brand,
+.panel-heading,
+.panel-default > .panel-heading,
+.nav.nav-tabs {
+  .font-headline();
+}
+
+h1 {
+font-size: 40pt;
+}
+
+
+/*
+ * panels
+ */
+
+.panel-default {
+  border-color: @primary;
+}
+
+.panel-default > .panel-heading {
+  border-color: @primary;
+}
+
+/*
+ * navbar
+ */
+
+body.room .tab-content {
+  border-left: 1px solid @primary;
+  border-bottom: 1px solid @primary;
+  border-right: 1px solid @primary;
+}
+
+.nav-tabs > li > a {
+color: @text;
+}
+.nav-tabs > li > a:hover {
+color: black;
+background-color: @primary;
+}
+
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+  color: black;
+}
+
+.panel {
+  background-color: transparent;
+}
+
+.panel-default > .panel-heading {
+  background-color: #ad621b;
+}
+
+/*
+ * schedule
+ */
+
+body .schedule .now {
+  //background-color: rgba(222,103,100,0.6);
+  //background-color: unset;
+}
+
+body .schedule .block.event h3 {
+  overflow: unset;
+  font-size: 16px;
+}
+
+h1,
+h2 {
+  color: @primary;
+}
+h3 {
+  color: @text;
+}
+
+body.overview .panel-body {
+  min-height: 10px;
+}
+
+body {
+  background-color: @background;
+  color: @text;
+  padding: @navbar-height 0;
+}
+
+body .schedule .block h5 {
+  color: #767676;
+}
+
+.nav > li {
+  position: relative;
+  display: block;
+  background-color: @dark-green;
+}
+
+nav.navbar {
+  .navbar-brand {
+    /*color: @mainGrey;*/
+  }
+
+  .navbar-right {
+    text-align: right;
+
+    .btn-ssl,
+    a.feedback,
+    a.releases,
+    a.about {
+      color: #5e5e5e;
+      background-color: transparent;
+      border-color: #5e5e5e;
+
+      &:hover {
+        color: @text;
+        background-color: @primary;
+        border-color: @text;
+      }
+    }
+
+    .btn-ssl.btn-warning {
+      color: grey;
+      background: transparent;
+      border-color: grey;
+    }
+  }
+}
+
+.congress {
+  background-image: url(R2R_logo.png);
+  background-repeat: no-repeat;
+  background-size: 200px;
+
+  position: fixed;
+  left: 10px;
+  top: 200px;
+
+  width: 290px;
+  height: 1080px;
+
+  opacity: 1;
+  z-index: -100;
+
+  @media (max-width: @screen-sm-min) {
+    display: none;
+  }
+}
+
+nav .navbar-brand .icon {
+  background-image: url(voctobunny.svg);
+}
+
+body .schedule .room.highlight .block {
+  background-color: @primary;
+}
+
+body .schedule .now .overlay {
+  background-color: rgba(52, 36, 59, 0.4);
+}
+
+body .schedule .block h3 {
+  font-weight: bold;
+}
+
+body .schedule .block h4 {
+  color: @mainGrey;
+}
+
+body .schedule .block h5 {
+  color: @green;
+}
+
+body .schedule .block.optout,
+body .schedule .block.pause {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent);
+}
+
+
+#switcher div[disabled] {
+  background-color: @plum;
+  color: @green;
+}
+
+.tab-pane {
+background-color: @secondary;
+}
diff --git a/configs/conferences/kontraIAA2021/voctobunny.svg b/configs/conferences/kontraIAA2021/voctobunny.svg
new file mode 100644
index 0000000..d367515
--- /dev/null
+++ b/configs/conferences/kontraIAA2021/voctobunny.svg
@@ -0,0 +1,107 @@
+
+
+
-- 
cgit v1.2.3