Initial commit — existing SVN working copy (SVN r436)

This commit is contained in:
Johannes Bechberger
2026-06-14 12:33:36 +02:00
commit 2f9e6f57f5
778 changed files with 104676 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
RewriteEngine On
RewriteBase /
RewriteRule ^facebook/2016($|/$|\?.*$) https://www.facebook.com/events/199849767025396/ [NC,L,R=301]
RewriteRule ^facebook/2017($|/$|\?.*$) https://www.facebook.com/events/551569961844424/ [NC,L,R=301]
RewriteRule ^facebook($|/$|\?.*$) https://www.facebook.com/NachtderWissenschaft.Karlsruhe/ [NC,L,R=301]
RewriteRule ^archiv/$ / [R=302]
+413
View File
@@ -0,0 +1,413 @@
<div class="row">
<div class="col-lg-4">
<div class="panel-group" id="accordion1">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion1"
href="#collapseOne1">
<div class="hoersaal color1"> 19:00 HS T.</div>
Die Kreislauffabrik - mit moderner Produktionstechnik Welt und Wohlstand retten</a></h4>
</div>
<div id="collapseOne1" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Dr.-Ing. Florian Stamer, <a href="https://www.wbk.kit.edu/21_3157.php" target="_blank">WBK</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion2">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion2"
href="#collapseOne2">
<div class="hoersaal color3"> 19:00 HS R.</div>
Rom ist auch nicht an einem Tag gebaut werden - Grundlagen des Forschungsdatenmanagement </a>
</h4>
</div>
<div id="collapseOne2" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
Referenten: Charlotte Neidiger, Michael Anger, <a href="https://www.bibliothek.kit.edu/mitarbeiter.php" target="_blank">KIT-Bib</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion3">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion3"
href="#collapseOne3">
<div class="hoersaal triangel"> 19:00 Tri.</div>
Coming Soon</a></h4>
</div>
<div id="collapseOne3" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr. Holger Puchta, <a href="https://www.jkip.kit.edu/molbio/14_146.php" target="_blank">JKIP</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel-group" id="accordion4">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion4"
href="#collapseOne4">
<div class="hoersaal color1"> 20:00 HS T.</div> Coming Soon
</a></h4>
</div>
<div id="collapseOne4" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referentin: Prof. Dr.-Ing. Ulrike Krewer, <a href="https://www.iam.kit.edu/et/mitarbeiter_5189.php"target="_blank">IAM-ET</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion5">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion5"
href="#collapseOne5">
<div class="hoersaal color3"> 20:00 HS R.</div>
Coming Soon</a>
</h4>
</div>
<div id="collapseOne5" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr. Albert Albers, <a href="https://www.ipek.kit.edu/21_88.php"
target="_blank">IPEK</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion6">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion6" href="#collapseOne6">
<div class="hoersaal triangel" > 20:00 Tri. </div>
Die Vermessung der Welt </a></h4>
</div>
<div id="collapseOne6" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr.-Ing. Hansjörg Kutterer <a href="https://www.gik.kit.edu/mitarbeiter_kutterer_hansjoerg.php" target="_blank">GIK</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel-group" id="accordion7">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion7"
href="#collapseOne7">
<div class="hoersaal color1"> 21:00 HS T.</div>
Coming Soon (English Lecture)</a></h4>
</div>
<div id="collapseOne7" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr. Markus Klute, <a
href="https://www.etp.kit.edu/mitarbeiter_1205.php"
target="_blank">ETP</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion8">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion8"
href="#collapseOne8">
<div class="hoersaal color3"> 21:00 HS R.</div>
We're nothing but mammals - Evolutionäre Einflüsse auf ökonomische
Entscheidungen </a></h4>
</div>
<div id="collapseOne8" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr. Benjamin Scheibehenne, <a href="https://cub.iism.kit.edu/83_92.php"
target="_blank">IISM</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion9">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion9" href="#collapseOne9">
<div class="hoersaal triangel" > 21:00 Tri. </div>
Katalyse: Chemie für die Zukunft sauberer, effizienter, cleverer</a></h4>
</div>
<div id="collapseOne9" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr. Jan-Dierk Grunwaldt, <a href="https://www.itcp.kit.edu/grunwaldt/24.php" target="_blank">ITCP</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel-group" id="accordion10">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion10"
href="#collapseOne10">
<div class="hoersaal color1"> 22:00 HS T.</div>
Komplexe Klimakrise - Herausforderungen und Chancen in Zeiten des Wandels </a>
</h4>
</div>
<div id="collapseOne10" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Dr. Christian Scharun, <a href="https://www.nawik.de/team/dr-christian-scharun/"
target="_blank">NaWik</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion11">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion11"
href="#collapseOne11">
<div class="hoersaal color3"> 22:00 HS R.</div>
Humanoid Robotics General-Purpose Functional Intelligence (English Lecture)</a></h4>
</div>
<div id="collapseOne11" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr. Tamim Asfour, <a href="https://h2t.iar.kit.edu/21_2372.php"
target="_blank">H2T</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion12">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion12"
href="#collapseOne12">
<div class="hoersaal triangel"> 22:00 Tri.</div>
Tatort Boden: Mörderische Pilze mit Anwendungspotenzial </a></h4>
</div>
<div id="collapseOne12" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Prof. Dr. Reinhard Fischer <a href="https://www.iab.kit.edu/microbio/487_507.php"
target="_blank">IAB</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="panel-group" id="accordion13">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title text-center"><a data-toggle="collapse" data-parent="#accordion13"
href="#collapseOne13">
<div class="hoersaal color1"> 23:00 HS T.</div>
Coming Soon (English Lecture)</a></h4>
</div>
<div id="collapseOne13" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referentin: Prof. Dr. Gudrun Heinrich <a href="https://www.itp.kit.edu/memberpages/heinrich"
target="_blank">ITP</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion14">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title text-center"><a data-toggle="collapse" data-parent="#accordion14"
href="#collapseOne14">
<div class="hoersaal color3"> 23:00 HS R.</div>
Coming Soon </a></h4>
</div>
<div id="collapseOne14" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Dr. Ioannis Anapolitanos <a href="https://www.math.kit.edu/iana1/~anapolitanos/de"
target="_blank">IANA</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel-group" id="accordion15">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title text-center"><a data-toggle="collapse" data-parent="#accordion15"
href="#collapseOne15">
<div class="hoersaal triangel"> 23:00 Tri.</div>
Mit Sicherheit regeln und steuern <br> Safety & Security in modernen Automatisierungssystemen. </a></h4>
</div>
<div id="collapseOne15" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referenten: Prof. Dr. Mike Barth und Prof. Dr. Sören Hohmann <a href="https://www.irs.kit.edu/index.php"
target="_blank">IRS</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-offset-3">
<div class="panel-group" id="accordion16">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion16"
href="#collapseOne16">
<div class="hoersaal color1"> 0:00 HS T.</div>
Die Physiker - Stück von Friedrich Dürrenmatt </a></h4>
</div>
<div id="collapseOne16" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Physiker Theater <a href="https://physikertheater.de/"
target="_blank"></a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-offset-3">
<div class="panel-group" id="accordion17">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion17"
href="#collapseOne17">
<div class="hoersaal color1"> 01:00 HS T.</div>
Zwerge auf den Schultern von Riesen - Unser Selbstverständnis als Forschende</a></h4>
</div>
<div id="collapseOne17" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referentin: Valerie Boda <a href="https://www.bibliothek.kit.edu/mitarbeiter_3900.php"
target="_blank"></a>KIT-BIB</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-offset-3">
<div class="panel-group" id="accordion18">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion18"
href="#collapseOne18">
<div class="hoersaal color1"> 02:00 HS T.</div>
Von Zitronen und Schaukelstühlen Wie Li-ionen Batterien den Alltag erobern</a></h4>
</div>
<div id="collapseOne18" class="panel-collapse collapse">
<div class="panel-body">
<div class="img-container"><img src="images\logo.png" width="100"/><br/>
Bild: Platzhalter
</div>
<p> <!-- Placeholder Teaser --></p>
<p>Referent: Dr. Fabian Jeschull <a href="https://www.iam.kit.edu/ess/21_1488.php"
target="_blank"></a>IAM-ET</p>
</div>
</div>
</div>
</div>
</div>
</div>
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

+223
View File
@@ -0,0 +1,223 @@
let quizzes = {};
class QuizState {
constructor(track, element) {
this.element = element
this.track = track
/** question dict or undefined,
* class QuizQuestion:
track: str
slot: int
text: str
estimation: Optional[str]
estimation_solution: Optional[float]
choice: Optional[List[str]]
choice_solution: Optional[str]
id: int = -1
*/
this.current_question = null
this.user_id = localStorage.getItem("user_id")
this.registered = this.user_id != null;
this.needsToRegister = false;
}
setUserId(user_id) {
this.user_id = user_id;
this.registered = this.user_id != null;
}
child(element_class) {
if (element_class === "quiz") {
return this.element
}
return this.element.querySelector("." + element_class)
}
hide(element_class) {
this.child(element_class).style.display = "none"
}
show(element_class) {
this.child(element_class).style.display = "block"
}
enable(button_class) {
this.child(button_class).disabled = false
}
disable(button_class) {
this.child(button_class).disabled = true
}
updateUI() {
if (this.current_question != null) {
this.show("quiz")
if (this.registered) {
this.hide("register")
this.enable("submit_answer")
this.hide("open_register_button")
} else {
this.disableSubmitButton()
}
} else {
this.hide("quiz")
}
}
renderCurrentQuestion() {
if (this.current_question === null) {
return;
}
this.element.querySelector(".question").textContent = this.current_question.text
let answer_element = this.element.querySelector(".answer")
let estimation = this.current_question.estimation
let choice = this.current_question.choice
answer_element.innerHTML = "";
if (estimation != null) {
answer_element.innerHTML = `<input class="form-control" type="number" step="any" style="width: 10em !important;" placeholder="${estimation}" title="${estimation}"/>`;
} else {
let name = this.track;
let html = ""
let i = 0
for (const choiceElement of choice) {
let id = `${this.track}_${i}`;
html += `<div>
<input type="radio" id="${id}" name="${name}" value="${choiceElement}">
<label for="${id}">${choiceElement}</label>
</div>\n`;
i++
}
answer_element.innerHTML = html
}
}
fetch_current_question() {
this.fetch("unanswered_question", {}, res => {
if (JSON.stringify(this.current_question) !== JSON.stringify(res["question"])) {
this.current_question = res["question"]
this.fetch("user_registered", {"user_id": this.user_id}, res => {
this.registered = res["registered"]
this.renderCurrentQuestion()
this.updateUI()
})
}
})
}
register(pseudonym, email) {
this.fetch("register_quiz_user", {"pseudonym": pseudonym, "email": email}, res => {
if (res.success) {
this.user_id = res["user_id"]
localStorage.setItem("user_id", this.user_id)
this.registered = true
this.needsToRegister = false
for (const quiz of Object.values(quizzes)) {
quiz.setUserId(this.user_id);
}
this.updateUI()
} else {
console.log(res);
}
})
}
handle_register() {
this.register(this.element.querySelector(".pseudonym").value, this.element.querySelector(".email").value)
}
handle_submit_answer() {
if (this.current_question != null && this.registered) {
if (this.current_question["estimation"]) {
this.submit_answer(this.element.querySelector(".answer input").value)
} else {
let selectedElem = this.element.querySelector('input[type="radio"]:checked');
if (selectedElem !== null) {
this.submit_answer(selectedElem.value)
}
}
}
}
submit_answer(answer) {
if (this.current_question != null) {
this.fetch("submit_quiz_answer", {
"question_id": this.current_question.id,
"answer": answer
}, res => {
if (res["already_answered"] || res["success"]) {
this.current_question = null
this.updateUI()
}
})
}
}
fetch(path, query, onsuccess) {
query["track"] = this.track
if (this.user_id != null) {
query["user_id"] = this.user_id
}
fetch(`${NDW_CHAT_SERVER_URL}/${path}?${new URLSearchParams(query)}`, {
method: "GET",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
}).then(res => {
res.json().then(onsuccess)
})
}
}
function init_submit_question(element, track) {
if (element.querySelector(".submit_question") == null) {
return;
}
element.querySelector(".submit_question").addEventListener("click", () => {
fetch(NDW_CHAT_SERVER_URL + "/send", {
method: "POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"track": track,
"content": element.querySelector("textarea").value
})
}).then(() => {
element.querySelector(" .ndw_chat_successful").style.display = "block";
setTimeout(() => element.querySelector(" .ndw_chat_successful").style.display = "none", 3000);
element.querySelector("textarea").value = ""
})
});
}
function init_quiz(element, track) {
if (element.querySelector(".quiz") == null) {
return;
}
let quiz = new QuizState(track, element.querySelector(".quiz"));
quiz.fetch_current_question();
quizzes[track] = quiz
element.querySelector(".submit_answer").addEventListener("click", () => {
quiz.handle_submit_answer()
})
element.querySelector(".register_button").addEventListener("click", () => {
quiz.handle_register()
})
element.querySelector(".open_register_button").addEventListener("click", () => {
quiz.show("register");
quiz.disable("open_register_button");
})
setInterval(() => quiz.fetch_current_question(), 60_000)
}
document.querySelectorAll(".ndw_chat").forEach(element => {
let track = element.getAttribute("track");
init_submit_question(element, track);
init_quiz(element, track);
});
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,52 @@
/* jQuery Countdown styles 2.0.0. */
.is-countdown {
}
.countdown-rtl {
direction: rtl;
}
.countdown-holding span {
color: #888;
}
.countdown-row {
clear: both;
width: 100%;
padding: 0px 2px;
text-align: center;
}
.countdown-show1 .countdown-section {
width: 98%;
}
.countdown-show2 .countdown-section {
width: 48%;
}
.countdown-show3 .countdown-section {
width: 32.5%;
}
.countdown-show4 .countdown-section {
width: 24.5%;
}
.countdown-show5 .countdown-section {
width: 19.5%;
}
.countdown-show6 .countdown-section {
width: 16.25%;
}
.countdown-show7 .countdown-section {
width: 14%;
}
.countdown-section {
display: block;
float: left;
font-size: 75%;
text-align: center;
}
.countdown-amount {
font-size: 200%;
}
.countdown-period {
display: block;
}
.countdown-descr {
display: block;
width: 100%;
}
+637
View File
@@ -0,0 +1,637 @@
/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
position: absolute;
left: 0;
top: 0;
}
.leaflet-container {
overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-user-drag: none;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
image-rendering: -webkit-optimize-contrast;
}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
width: 1600px;
height: 1600px;
-webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer {
max-width: none !important;
}
.leaflet-container.leaflet-touch-zoom {
-ms-touch-action: pan-x pan-y;
touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
-ms-touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
-ms-touch-action: none;
touch-action: none;
}
.leaflet-container {
-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
-webkit-filter: inherit;
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
width: 0;
height: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
z-index: 800;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
-moz-user-select: none;
}
.leaflet-pane { z-index: 400; }
.leaflet-tile-pane { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane { z-index: 500; }
.leaflet-marker-pane { z-index: 600; }
.leaflet-tooltip-pane { z-index: 650; }
.leaflet-popup-pane { z-index: 700; }
.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg { z-index: 200; }
.leaflet-vml-shape {
width: 1px;
height: 1px;
}
.lvml {
behavior: url(#default#VML);
display: inline-block;
position: absolute;
}
/* control positioning */
.leaflet-control {
position: relative;
z-index: 800;
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
position: absolute;
z-index: 1000;
pointer-events: none;
}
.leaflet-top {
top: 0;
}
.leaflet-right {
right: 0;
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
}
.leaflet-control {
float: left;
clear: both;
}
.leaflet-right .leaflet-control {
float: right;
}
.leaflet-top .leaflet-control {
margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
margin-left: 10px;
}
.leaflet-right .leaflet-control {
margin-right: 10px;
}
/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile {
will-change: opacity;
}
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
.leaflet-zoom-animated {
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-o-transition: transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1), -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
visibility: hidden;
}
/* cursors */
.leaflet-interactive {
cursor: pointer;
}
.leaflet-grab {
cursor: -webkit-grab;
cursor: -moz-grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
}
/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive {
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
/* visual tweaks */
.leaflet-container {
background: #ddd;
outline: 0;
}
.leaflet-container a {
color: #0078A8;
}
.leaflet-container a.leaflet-active {
outline: 2px solid orange;
}
.leaflet-zoom-box {
border: 2px dotted #38f;
background: rgba(255,255,255,0.5);
}
/* general typography */
.leaflet-container {
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}
/* general toolbar styles */
.leaflet-bar {
-webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.65);
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
border-radius: 4px;
}
.leaflet-bar a,
.leaflet-bar a:hover {
background-color: #fff;
border-bottom: 1px solid #ccc;
width: 26px;
height: 26px;
line-height: 26px;
display: block;
text-align: center;
text-decoration: none;
color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
}
.leaflet-bar a:hover {
background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
cursor: default;
background-color: #f4f4f4;
color: #bbb;
}
.leaflet-touch .leaflet-bar a {
width: 30px;
height: 30px;
line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
font: bold 18px 'Lucida Console', Monaco, monospace;
text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
font-size: 22px;
}
/* layers control */
.leaflet-control-layers {
-webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4);
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
background: #fff;
border-radius: 5px;
}
.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
background-image: url(images/layers-2x.png);
background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-scrollbar {
overflow-y: scroll;
overflow-x: hidden;
padding-right: 5px;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
/* Default icon URLs */
.leaflet-default-icon-path {
background-image: url(images/marker-icon.png);
}
/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
background: #fff;
background: rgba(255, 255, 255, 0.7);
margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
padding: 0 5px;
color: #333;
}
.leaflet-control-attribution a {
text-decoration: none;
}
.leaflet-control-attribution a:hover {
text-decoration: underline;
}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
font-size: 11px;
}
.leaflet-left .leaflet-control-scale {
margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
margin-bottom: 5px;
}
.leaflet-control-scale-line {
border: 2px solid #777;
border-top: none;
line-height: 1.1;
padding: 2px 5px 1px;
font-size: 11px;
white-space: nowrap;
overflow: hidden;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background: #fff;
background: rgba(255, 255, 255, 0.5);
}
.leaflet-control-scale-line:not(:first-child) {
border-top: 2px solid #777;
border-bottom: none;
margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
-webkit-box-shadow: none;
box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
border: 2px solid rgba(0,0,0,0.2);
background-clip: padding-box;
}
/* popup */
.leaflet-popup {
position: absolute;
text-align: center;
margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
padding: 1px;
text-align: left;
border-radius: 12px;
}
.leaflet-popup-content {
margin: 13px 19px;
line-height: 1.4;
}
.leaflet-popup-content p {
margin: 18px 0;
}
.leaflet-popup-tip-container {
width: 40px;
height: 20px;
position: absolute;
left: 50%;
margin-left: -20px;
overflow: hidden;
pointer-events: none;
}
.leaflet-popup-tip {
width: 17px;
height: 17px;
padding: 1px;
margin: -10px auto 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
background: white;
color: #333;
-webkit-box-shadow: 0 3px 14px rgba(0,0,0,0.4);
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
position: absolute;
top: 0;
right: 0;
padding: 4px 4px 0 0;
border: none;
text-align: center;
width: 18px;
height: 14px;
font: 16px/14px Tahoma, Verdana, sans-serif;
color: #c3c3c3;
text-decoration: none;
font-weight: bold;
background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover {
color: #999;
}
.leaflet-popup-scrolled {
overflow: auto;
border-bottom: 1px solid #ddd;
border-top: 1px solid #ddd;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
width: 24px;
margin: 0 auto;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-popup-tip-container {
margin-top: -1px;
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
border: 1px solid #999;
}
/* div icon */
.leaflet-div-icon {
background: #fff;
border: 1px solid #666;
}
/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
position: absolute;
padding: 6px;
background-color: #fff;
border: 1px solid #fff;
border-radius: 3px;
color: #222;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.4);
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.leaflet-tooltip.leaflet-clickable {
cursor: pointer;
pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
position: absolute;
pointer-events: none;
border: 6px solid transparent;
background: transparent;
content: "";
}
/* Directions */
.leaflet-tooltip-bottom {
margin-top: 6px;
}
.leaflet-tooltip-top {
margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
left: 50%;
margin-left: -6px;
}
.leaflet-tooltip-top:before {
bottom: 0;
margin-bottom: -12px;
border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
top: 0;
margin-top: -12px;
margin-left: -6px;
border-bottom-color: #fff;
}
.leaflet-tooltip-left {
margin-left: -6px;
}
.leaflet-tooltip-right {
margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
top: 50%;
margin-top: -6px;
}
.leaflet-tooltip-left:before {
right: 0;
margin-right: -12px;
border-left-color: #fff;
}
.leaflet-tooltip-right:before {
left: 0;
margin-left: -12px;
border-right-color: #fff;
}
+241
View File
@@ -0,0 +1,241 @@
/* CSS Document */
@import url(https://fonts.googleapis.com/css?family=Maven+Pro:400,900,700,500);
a,
a:focus {
outline: 0;
}
a:focus {
text-decoration: none;
}
.navbar-right li {
font-size: 18px;
}
.main-navbar {
-webkit-box-shadow: 0 0 10px 5px #000000;
box-shadow: 0 0 10px 5px #000000;
}
.tag {
opacity: 0;
transform: translate(0, 10vh);
transition: all 1s;
}
.tag.visible {
opacity: 1;
transform: translate(0, 0);
}
.parralax {
/* The image used */
background-image: url(../images/background_header.jpg);
/* Set a specific height */
height:1000px;
/* Create the parallax scrolling effect */
background-attachment: fixed;
background-position:bottom;
background-repeat: no-repeat;
background-size: cover;
}
.background {
background-image: url(../images/background_header.jpg);
}
.backgroundcolor {
background-color: black;
}
.headerrow {
background-image: url(../images/background_header.jpg);
background-size: cover;
background-position: center;
padding: 6% 0;
color: #ffffff;
text-shadow: #4d4d4d 2px 2px 2px;
}
.largeHeadline {
font-size: 4.9em;
}
.headerrow img {
max-width: 70%;
height: 350px;
min-width: 350px;
}
.container h2 {
color: #ffffff;
}
.footerContainer {
margin-top: 40px;
}
.invisibleSpacer {
border-width: 0;
padding-top: 20px;
}
.largeinvisibleSpacer {
border-width: 0;
padding-top: 65px;
}
.smallSpacer {
padding: 0;
margin: 0;
padding-top: 10px;
}
.stickyElement {
position: fixed;
width: 100%;
z-index: 2000;
}
.hoersaal {
float: right;
padding-left: 5px;
}
.glyphicon-menu-right {
position: absolute;
left: -4px;
}
.panel-title {
position: relative;
padding-left: 0px;
}
.navelement {
height: 42px;
position: absolute;
margin-top: -42px;
border-width: 0px;
}
.color1 {
color: #b33e53;
font-weight: bold;
}
.color2 {
color: #879c65;
font-weight: bold;
}
.color3 {
color: #fa8c4e;
font-weight: bold;
}
.kd2lab {
color: #4ac1ec;
font-weight: bold;
}
.triangel {
color: #46d99c;
font-weight: bold;
}
.glyphicon-envelope {
position: relative;
top: 2px;
}
.panel-body .img-container img {
max-width: 100%;
}
.panel-body .img-container {
text-align: center;
width: 100%;
margin-bottom: 1em;
}
@media (min-width: 1200px) {
.col-lg-12 .panel-body .img-container {
/* Wenn gro, werden Vortragsbilder in Containern, die ber die ganze Seitenbreite gehen, links angezeigt. */
width: auto;
float: left;
margin-right: 1em;
}
}
@media (max-width: 768px) {
.largeHeadline {
padding-top: 50px;
font-size: 2.94em;
}
}
@media (max-width: 1200px) {
h4 {
text-align: left !important;
}
}
.panel-body p {
text-align: justify;
-moz-hyphens: auto;
-o-hyphens: auto;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
hyphenate-limit-chars: auto 5;
hyphenate-limit-lines: 2;
}
.full-width-image div {
padding: 0px;
}
.full-width-image img {
margin-top: 50px;
image-orientation: from-image;
width: 100%;
min-height: 200px;
}
.partner img {
margin-right: 3em;
margin-bottom: 1em;
}
#gallerycarousel img {
margin: auto;
}
.carousel-control,
.carousel-inner {
border-radius: 10px;
}
.img-container img {
max-height: 300px;
}
.embeddedmap {
height: 333px;
}
.question-header {
font-weight: bold;
color: greenyellow;
}
.question textarea {
height: 6em;
color: rgb(173, 173, 173);
background: #0000004d;
font-size: 1.2em;
width: 100%;
border-color: transparent;
}
+181
View File
@@ -0,0 +1,181 @@
/* CSS Document */
@import "../bower_components/bootstrap/less/variables.less";
@fontsize-headline: 4.9em;
a,
a:focus{
outline: 0;
}
a:focus{
text-decoration:none;
}
.navbar-right li{
font-size:18px;
}
.main-navbar {
-webkit-box-shadow: 0 0 10px 5px darken(@navbar-default-bg, 6.5%);
box-shadow: 0 0 10px 5px darken(@navbar-default-bg, 6.5%);
}
.headerrow {
background-image: url(../images/background_header.jpg);
background-size: cover;
background-position: center;
padding: 6% 0;
color: #f9e4f8;
text-shadow: #4d4d4d 2px 2px 2px;
}
.largeHeadline {
font-size: @fontsize-headline;
}
.headerrow img {
max-width: 70%;
height: 350px;
min-width: 350px;
}
.container h2 {
color: @brand-primary;
}
.footerContainer {
margin-top: 40px;
}
.invisibleSpacer {
border-width: 0;
padding-top: 20px;
}
.largeinvisibleSpacer {
border-width: 0;
padding-top: 65px;
}
.smallSpacer {
padding: 0;
margin: 0;
padding-top: 10px;
}
.stickyElement {
position: fixed;
width: 100%;
z-index: 2000;
}
.hoersaal{
float: right;
padding-left:5px;
}
.glyphicon-menu-right{
position:absolute;
left:-4px;
}
.panel-title{
position:relative;
padding-left:0px;
}
.navelement{
height: 42px;
position: absolute;
margin-top: -42px;
border-width: 0px;
}
.color1 {
color: #b33e53;
font-weight: bold;
}
.color2 {
color: #879c65;
font-weight: bold;
}
.color3 {
color: #fa8c4e;
font-weight: bold;
}
.kd2lab {
color: #4ac1ec;
font-weight: bold;
}
.glyphicon-envelope{
position:relative;
top:2px;
}
.panel-body .img-container img {
max-width: 100%;
}
.panel-body .img-container {
text-align: center;
width: 100%;
margin-bottom: 1em;
}
@media (min-width: 1200px) {
.col-lg-12 .panel-body .img-container {
/* Wenn groß, werden Vortragsbilder in Containern, die über die ganze Seitenbreite gehen, links angezeigt. */
width: auto;
float: left;
margin-right: 1em;
}
}
@media (max-width: @screen-sm) {
.largeHeadline{
padding-top: 50px;
font-size: @fontsize-headline*0.6;
}
}
@media (max-width: @screen-lg) {
h4{
text-align:left !important;
}
}
.panel-body p {
text-align: justify;
-moz-hyphens: auto;
-o-hyphens: auto;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
hyphenate-limit-chars: auto 5;
hyphenate-limit-lines: 2;
}
.full-width-image div {
padding: 0px;
}
.full-width-image img {
margin-top: 50px;
image-orientation: from-image;
width: 100%;
min-height: 200px;
}
.partner img {
margin-right: 3em;
margin-bottom: 1em;
}
#gallerycarousel img {
margin: auto;
}
.carousel-control,
.carousel-inner {
border-radius: 10px;
}
.img-container img{
max-height: 300px;
}
.embeddedmap {
height: 333px;
}
+34
View File
@@ -0,0 +1,34 @@
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:ZMS-Berlin
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
METHOD:REQUEST
BEGIN:VEVENT
UID:ics.terminsysteme.de1637055655
DTSTAMP:20211116T104055
CLASS:PUBLIC
DTSTART;TZID=Europe/Berlin:20211126T180000
DTEND;TZID=Europe/Berlin:20211127T010000
LOCATION:Online auf www.ndw-ka.de
SUMMARY:Nacht der Wissenschaft 2021
DESCRIPTION:In der Nacht vom 26. November findet auch dieses Semester die "Nacht der Wissenschaft" statt. Allerdings ist dieses Mal alles anders, alle Vorträge werden als Livestream verfügbar sein. Auch wenn die Nacht der Wissenschaft etwas kleiner sein wird, so haben wir trotzdem viele spannende Vorträge aus den verschiedensten Fachbereichen zu bieten.\nDaher laden wir euch ein, uns bis in die frühen Morgenstunden auf eine Reise durch die Wissenschaft zu begleiten…\n\n\n---\ngenerated by https://www.terminsysteme.de/ics
END:VEVENT
END:VCALENDAR
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

@@ -0,0 +1 @@
google-site-verification: google4bd2b5251a60be81.html
+143
View File
@@ -0,0 +1,143 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Nacht der Wissenschaft - Karlsruhe</title>
<!-- Bootstrap -->
<link href="css/bootstrap.css" rel="stylesheet" type="text/css">
<!-- Own style -->
<link href="css/style.css" rel="stylesheet" type="text/css">
<!-- Leaflet -->
<link rel="stylesheet" href="css/leaflet.css"/>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Favicons -->
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" href="/favicon.png" sizes="96x96">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<meta name="msapplication-TileColor" content="#00000">
<meta name="msapplication-TileImage" content="/mstile-144x144.png">
</head>
<body>
<style>
.ndw_chat input, .ndw_chat button {
width: inherit !important;
}
</style>
<nav class="navbar navbar-default stickyElement">
<div class="container-fluid main-navbar">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#defaultNavbar1">
<span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span
class="icon-bar"></span><span class="icon-bar"></span></button>
<a class="navbar-brand" href="index.php"><span class="glyphicon glyphicon-home" aria-hidden="true"></span>
&nbsp; Nacht der Wissenschaft</a></div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="defaultNavbar1">
<ul class="nav navbar-nav navbar-right">
<li><a href="hs1.php">Stream HS.T </a></li>
<li><a href="hs2.php">Stream HS.R </a>
<li>
<li><a href="index.php#programm">Programm </a></li>
<li><a href="index.php#Bilder"> Bilder </a></li>
<li><a href="index.php#ueberuns"> Über uns </a></li>
<li><a href="./impressum.html">Impressum </a></li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Archiv
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="./archiv/januar2016/">Januar 2016</a>
</li>
<li><a href="./archiv/oktober2016/">Oktober 2016</a>
</li>
<li><a href="./archiv/november2017/">November 2017</a>
</li>
<li><a href="./archiv/november2018/">November 2018</a>
</li>
<li><a href="./archiv/januar2020/">Januar 2020</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="parralax">
<div class="container-fluid">
<div class="row text-center">
<hr class="largeinvisibleSpacer">
<h1 class="largeHeadline">Nacht der Wissenschaft<br>
Stream Tulla-Hörsaal</h1>
</div>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/jHYbOzLMMl4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</div>
<div class="col-md-2"></div>
</div>
<div style="margin-bottom: 5em;"></div>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="ndw_chat" track="hs1">
<div class="quiz" style="display: none">
<h3><span>Quiz: <span class="question"></span></span></h3>
<div class="row"><div class="answer col-md-12">
</div></div>
<div class="btn-group">
<button class="btn open_register_button">Registrieren</button><button class="btn submit_answer" disabled="disabled">Absenden</button>
</div>
<div class="register" style="display: none">
Du musst dich registrieren, bevor du beim Quiz mitmachen kannst:<br/>
<label>Pseudonym:</label><input class="pseudonym" minlength="1" maxlength="100"
required pattern=".{10,100}"><br/>
<label>E-Mail-Adresse:</label><input class="email" type="email" required
pattern=".+@.+"/><br/>
<small>
Die Daten werden für höchstens zwei Tage gespeichert (und wir nutzen ein Cookie,
damit du deine Kontaktdaten nicht mehrfach eingeben musst). Die Daten werden nur für
das Quiz verwendet und dienen dazu den Gewinnern des Quizzes Preise zukommen
zulassen.</small><br/>
<button class="register_button btn">Registrieren</button>
</div>
<hr/>
</div>
<h4><span>Stelle eine Frage zum aktuellen Vortrag</span></h4>
<textarea maxlength="200"></textarea>
<span style="display: none; margin-right: 5em"
class="ndw_chat_successful alert ">Deine Frage wurde versendet</span>
<button class="submit_question btn" style="width: 100%">Absenden</button><br/>
<small>Alle Fragen werden 2 Tagen gespeichert, zum alleinigen Zwecke der Weitergabe an die
Dozierenden.</small>
</div>
</div>
<div class="col-md-2"></div>
</div>
</div>
<div style="padding: 5em;"></div>
</div>
<script src="js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<script>
const NDW_CHAT_SERVER_URL = "https://mostlynerdless.de/ndw_backend";
</script>
<script src="client.js"></script>
</body>
</html>
+143
View File
@@ -0,0 +1,143 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Nacht der Wissenschaft - Karlsruhe</title>
<!-- Bootstrap -->
<link href="css/bootstrap.css" rel="stylesheet" type="text/css">
<!-- Own style -->
<link href="css/style.css" rel="stylesheet" type="text/css">
<!-- Leaflet -->
<link rel="stylesheet" href="css/leaflet.css"/>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Favicons -->
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" href="/favicon.png" sizes="96x96">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<meta name="msapplication-TileColor" content="#00000">
<meta name="msapplication-TileImage" content="/mstile-144x144.png">
</head>
<body>
<style>
.ndw_chat input, .ndw_chat button {
width: inherit !important;
}
</style>
<nav class="navbar navbar-default stickyElement">
<div class="container-fluid main-navbar">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#defaultNavbar1">
<span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span
class="icon-bar"></span><span class="icon-bar"></span></button>
<a class="navbar-brand" href="index.php"><span class="glyphicon glyphicon-home" aria-hidden="true"></span>
&nbsp; Nacht der Wissenschaft</a></div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="defaultNavbar1">
<ul class="nav navbar-nav navbar-right">
<li><a href="hs1.php">Stream HS.T </a></li>
<li><a href="hs2.php">Stream HS.R </a>
<li>
<li><a href="index.php#programm">Programm </a></li>
<li><a href="index.php#Bilder"> Bilder </a></li>
<li><a href="index.php#ueberuns"> Über uns </a></li>
<li><a href="./impressum.html">Impressum </a></li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Archiv
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="./archiv/januar2016/">Januar 2016</a>
</li>
<li><a href="./archiv/oktober2016/">Oktober 2016</a>
</li>
<li><a href="./archiv/november2017/">November 2017</a>
</li>
<li><a href="./archiv/november2018/">November 2018</a>
</li>
<li><a href="./archiv/januar2020/">Januar 2020</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="parralax">
<div class="container-fluid">
<div class="row text-center">
<hr class="largeinvisibleSpacer">
<h1 class="largeHeadline">Nacht der Wissenschaft<br>
Stream Redtenbacher-Hörsaal</h1>
</div>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/vC7LBJnEPxI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</div>
<div class="col-md-2"></div>
</div>
<div style="margin-bottom: 5em;"></div>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="ndw_chat" track="hs2">
<div class="quiz" style="display: none">
<h3><span>Quiz: <span class="question"></span></span></h3>
<div class="row"><div class="answer col-md-12">
</div></div>
<div class="btn-group">
<button class="btn open_register_button">Registrieren</button><button class="btn submit_answer" disabled="disabled">Absenden</button>
</div>
<div class="register" style="display: none">
Du musst dich registrieren, bevor du beim Quiz mitmachen kannst:<br/>
<label>Pseudonym:</label><input class="pseudonym" minlength="1" maxlength="100"
required pattern=".{10,100}"><br/>
<label>E-Mail-Adresse:</label><input class="email" type="email" required
pattern=".+@.+"/><br/>
<small>
Die Daten werden für höchstens zwei Tage gespeichert (und wir nutzen ein Cookie,
damit du deine Kontaktdaten nicht mehrfach eingeben musst). Die Daten werden nur für
das Quiz verwendet und dienen dazu den Gewinnern des Quizzes Preise zukommen
zulassen.</small><br/>
<button class="register_button btn">Registrieren</button>
</div>
<hr/>
</div>
<h4><span>Stelle eine Frage zum aktuellen Vortrag</span></h4>
<textarea maxlength="200"></textarea>
<span style="display: none; margin-right: 5em"
class="ndw_chat_successful alert ">Deine Frage wurde versendet</span>
<button class="submit_question btn" style="width: 100%">Absenden</button><br/>
<small>Alle Fragen werden 2 Tagen gespeichert, zum alleinigen Zwecke der Weitergabe an die
Dozierenden.</small>
</div>
</div>
<div class="col-md-2"></div>
</div>
</div>
<div style="padding: 5em;"></div>
</div>
<script src="js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<script>
const NDW_CHAT_SERVER_URL = "https://mostlynerdless.de/ndw_backend";
</script>
<script src="client.js"></script>
</body>
</html>
+7
View File
@@ -0,0 +1,7 @@
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^129\.13\.72\.198$
RewriteRule ^(.*)marker\-icon\.png $1marker-omnom.png
RewriteCond %{REMOTE_ADDR} ^129\.13\.72\.198$
RewriteRule ^(.*)marker\-icon\-2x\.png $1marker-omnom-2x.png
Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

+129
View File
@@ -0,0 +1,129 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Nacht der Wissenschaft - Karlsruhe</title>
<!-- Bootstrap -->
<link href="css/bootstrap.css" rel="stylesheet" type="text/css">
<!-- Own style -->
<link href="https://fonts.googleapis.com/css?family=Maven+Pro:400,900,700,500" rel="stylesheet">
<link href="css/style.css" rel="stylesheet" type="text/css">
<!-- Leaflet -->
<link rel="stylesheet" href="css/leaflet.css" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Favicons -->
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" href="/favicon.png" sizes="96x96">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<meta name="msapplication-TileColor" content="#00000">
<meta name="msapplication-TileImage" content="/mstile-144x144.png">
</head>
<body>
<nav class="navbar navbar-default stickyElement">
<div class="container-fluid main-navbar">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#defaultNavbar1"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="./"><span class="glyphicon glyphicon-home" aria-hidden="true"></span> &nbsp; Nacht der Wissenschaft</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="defaultNavbar1">
<ul class="nav navbar-nav navbar-right">
<li><a href="./#programm">Programm </a>
</li>
<li> <a href="./#ndw2016"> Bilder </a>
</li>
<!-- <li><a href="./#anfahrt">Veranstaltungsr&auml;ume </a></li>-->
<li><a href="./#ueberuns"> &Uuml;ber uns </a>
</li>
<li><a href="./impressum.html">Impressum </a>
</li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Archiv <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="./archiv/januar2016/">Januar 2016</a>
</li>
<li><a href="./archiv/oktober2016/">Oktober 2016</a>
</li>
<li><a href="./archiv/november2017/">November 2017</a>
</li>
<li><a href="./archiv/november2018/">November 2018</a>
</li>
<li><a href="./archiv/januar2020/">Januar 2020</a>
</li>
<li><a href="../../">aktuelle Seite</a>
</li>
</ul>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<div class="container">
<hr class="invisibleSpacer">
<section id="impressum">
<hr class="navelement">
<div class="row footer">
<div class="col-lg-12">
<hr class="navelement" />
<h4 id="impressum">Impressum</h4>
<p>
<a href="mailto:&#105;&#110;&#102;&#111;&#064;&#110;&#100;&#119;&#045;&#107;&#097;&#046;&#100;&#101;"> <span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>&#105;&#110;&#102;&#111;&#064;&#110;&#100;&#119;&#045;&#107;&#097;&#046;&#100;&#101;</a>
<br>
<br> Hochschulgruppe Nacht der Wissenschaft
<br> Adenauerring 7
<br> 76131 Karlsruhe
<br>
<br> Ansprechpartner Website:
<br> Alexander Dahms
<br>
<br> Foto von Ludvig Hedenborg von Pexels
</p>
</div>
</div>
</section>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="js/jquery.min.js"></script>
<script src="js/jquery.plugin.min.js"></script>
<script type="text/javascript">
$('.closeall').click(function() {
$('.panel-collapse.in')
.collapse('hide');
});
$('.openall').click(function() {
$('.panel-collapse:not(".in")')
.collapse('show');
});
$('#defaultNavbar1').on("click", "a", null, function() {
if (!$(this).hasClass("dropdown-toggle")) {
$('#defaultNavbar1').collapse('hide');
}
});
</script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>
File diff suppressed because it is too large Load Diff
+797
View File
@@ -0,0 +1,797 @@
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under the MIT license
*/
if ("undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery");
+function (t) {
"use strict";
var e = jQuery.fn.jquery.split(" ")[0].split(".");
if (e[0] < 2 && e[1] < 9 || 1 == e[0] && 9 == e[1] && e[2] < 1 || e[0] > 3) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")
}(), function (t) {
"use strict";
t.fn.emulateTransitionEnd = function (e) {
var i = !1, o = this;
t(this).one("bsTransitionEnd", function () {
i = !0
});
return setTimeout(function () {
i || t(o).trigger(t.support.transition.end)
}, e), this
}, t(function () {
t.support.transition = function () {
var t = document.createElement("bootstrap"), e = {
WebkitTransition: "webkitTransitionEnd",
MozTransition: "transitionend",
OTransition: "oTransitionEnd otransitionend",
transition: "transitionend"
};
for (var i in e) if (void 0 !== t.style[i]) return {end: e[i]};
return !1
}(), t.support.transition && (t.event.special.bsTransitionEnd = {
bindType: t.support.transition.end,
delegateType: t.support.transition.end,
handle: function (e) {
if (t(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
}
})
})
}(jQuery), function (t) {
"use strict";
var e = '[data-dismiss="alert"]', i = function (i) {
t(i).on("click", e, this.close)
};
i.VERSION = "3.3.7", i.TRANSITION_DURATION = 150, i.prototype.close = function (e) {
function o() {
a.detach().trigger("closed.bs.alert").remove()
}
var n = t(this), s = n.attr("data-target");
s || (s = (s = n.attr("href")) && s.replace(/.*(?=#[^\s]*$)/, ""));
var a = t("#" === s ? [] : s);
e && e.preventDefault(), a.length || (a = n.closest(".alert")), a.trigger(e = t.Event("close.bs.alert")), e.isDefaultPrevented() || (a.removeClass("in"), t.support.transition && a.hasClass("fade") ? a.one("bsTransitionEnd", o).emulateTransitionEnd(i.TRANSITION_DURATION) : o())
};
var o = t.fn.alert;
t.fn.alert = function (e) {
return this.each(function () {
var o = t(this), n = o.data("bs.alert");
n || o.data("bs.alert", n = new i(this)), "string" == typeof e && n[e].call(o)
})
}, t.fn.alert.Constructor = i, t.fn.alert.noConflict = function () {
return t.fn.alert = o, this
}, t(document).on("click.bs.alert.data-api", e, i.prototype.close)
}(jQuery), function (t) {
"use strict";
function e(e) {
return this.each(function () {
var o = t(this), n = o.data("bs.button"), s = "object" == typeof e && e;
n || o.data("bs.button", n = new i(this, s)), "toggle" == e ? n.toggle() : e && n.setState(e)
})
}
var i = function (e, o) {
this.$element = t(e), this.options = t.extend({}, i.DEFAULTS, o), this.isLoading = !1
};
i.VERSION = "3.3.7", i.DEFAULTS = {loadingText: "loading..."}, i.prototype.setState = function (e) {
var i = "disabled", o = this.$element, n = o.is("input") ? "val" : "html", s = o.data();
e += "Text", null == s.resetText && o.data("resetText", o[n]()), setTimeout(t.proxy(function () {
o[n](null == s[e] ? this.options[e] : s[e]), "loadingText" == e ? (this.isLoading = !0, o.addClass(i).attr(i, i).prop(i, !0)) : this.isLoading && (this.isLoading = !1, o.removeClass(i).removeAttr(i).prop(i, !1))
}, this), 0)
}, i.prototype.toggle = function () {
var t = !0, e = this.$element.closest('[data-toggle="buttons"]');
if (e.length) {
var i = this.$element.find("input");
"radio" == i.prop("type") ? (i.prop("checked") && (t = !1), e.find(".active").removeClass("active"), this.$element.addClass("active")) : "checkbox" == i.prop("type") && (i.prop("checked") !== this.$element.hasClass("active") && (t = !1), this.$element.toggleClass("active")), i.prop("checked", this.$element.hasClass("active")), t && i.trigger("change")
} else this.$element.attr("aria-pressed", !this.$element.hasClass("active")), this.$element.toggleClass("active")
};
var o = t.fn.button;
t.fn.button = e, t.fn.button.Constructor = i, t.fn.button.noConflict = function () {
return t.fn.button = o, this
}, t(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function (i) {
var o = t(i.target).closest(".btn");
e.call(o, "toggle"), t(i.target).is('input[type="radio"], input[type="checkbox"]') || (i.preventDefault(), o.is("input,button") ? o.trigger("focus") : o.find("input:visible,button:visible").first().trigger("focus"))
}).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function (e) {
t(e.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(e.type))
})
}(jQuery), function (t) {
"use strict";
function e(e) {
return this.each(function () {
var o = t(this), n = o.data("bs.carousel"),
s = t.extend({}, i.DEFAULTS, o.data(), "object" == typeof e && e),
a = "string" == typeof e ? e : s.slide;
n || o.data("bs.carousel", n = new i(this, s)), "number" == typeof e ? n.to(e) : a ? n[a]() : s.interval && n.pause().cycle()
})
}
var i = function (e, i) {
this.$element = t(e), this.$indicators = this.$element.find(".carousel-indicators"), this.options = i, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("keydown.bs.carousel", t.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart" in document.documentElement) && this.$element.on("mouseenter.bs.carousel", t.proxy(this.pause, this)).on("mouseleave.bs.carousel", t.proxy(this.cycle, this))
};
i.VERSION = "3.3.7", i.TRANSITION_DURATION = 600, i.DEFAULTS = {
interval: 5e3,
pause: "hover",
wrap: !0,
keyboard: !0
}, i.prototype.keydown = function (t) {
if (!/input|textarea/i.test(t.target.tagName)) {
switch (t.which) {
case 37:
this.prev();
break;
case 39:
this.next();
break;
default:
return
}
t.preventDefault()
}
}, i.prototype.cycle = function (e) {
return e || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(t.proxy(this.next, this), this.options.interval)), this
}, i.prototype.getItemIndex = function (t) {
return this.$items = t.parent().children(".item"), this.$items.index(t || this.$active)
}, i.prototype.getItemForDirection = function (t, e) {
var i = this.getItemIndex(e);
if (("prev" == t && 0 === i || "next" == t && i == this.$items.length - 1) && !this.options.wrap) return e;
var o = (i + ("prev" == t ? -1 : 1)) % this.$items.length;
return this.$items.eq(o)
}, i.prototype.to = function (t) {
var e = this, i = this.getItemIndex(this.$active = this.$element.find(".item.active"));
if (!(t > this.$items.length - 1 || t < 0)) return this.sliding ? this.$element.one("slid.bs.carousel", function () {
e.to(t)
}) : i == t ? this.pause().cycle() : this.slide(t > i ? "next" : "prev", this.$items.eq(t))
}, i.prototype.pause = function (e) {
return e || (this.paused = !0), this.$element.find(".next, .prev").length && t.support.transition && (this.$element.trigger(t.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this
}, i.prototype.next = function () {
if (!this.sliding) return this.slide("next")
}, i.prototype.prev = function () {
if (!this.sliding) return this.slide("prev")
}, i.prototype.slide = function (e, o) {
var n = this.$element.find(".item.active"), s = o || this.getItemForDirection(e, n), a = this.interval,
r = "next" == e ? "left" : "right", l = this;
if (s.hasClass("active")) return this.sliding = !1;
var h = s[0], d = t.Event("slide.bs.carousel", {relatedTarget: h, direction: r});
if (this.$element.trigger(d), !d.isDefaultPrevented()) {
if (this.sliding = !0, a && this.pause(), this.$indicators.length) {
this.$indicators.find(".active").removeClass("active");
var p = t(this.$indicators.children()[this.getItemIndex(s)]);
p && p.addClass("active")
}
var c = t.Event("slid.bs.carousel", {relatedTarget: h, direction: r});
return t.support.transition && this.$element.hasClass("slide") ? (s.addClass(e), s[0].offsetWidth, n.addClass(r), s.addClass(r), n.one("bsTransitionEnd", function () {
s.removeClass([e, r].join(" ")).addClass("active"), n.removeClass(["active", r].join(" ")), l.sliding = !1, setTimeout(function () {
l.$element.trigger(c)
}, 0)
}).emulateTransitionEnd(i.TRANSITION_DURATION)) : (n.removeClass("active"), s.addClass("active"), this.sliding = !1, this.$element.trigger(c)), a && this.cycle(), this
}
};
var o = t.fn.carousel;
t.fn.carousel = e, t.fn.carousel.Constructor = i, t.fn.carousel.noConflict = function () {
return t.fn.carousel = o, this
};
var n = function (i) {
var o, n = t(this), s = t(n.attr("data-target") || (o = n.attr("href")) && o.replace(/.*(?=#[^\s]+$)/, ""));
if (s.hasClass("carousel")) {
var a = t.extend({}, s.data(), n.data()), r = n.attr("data-slide-to");
r && (a.interval = !1), e.call(s, a), r && s.data("bs.carousel").to(r), i.preventDefault()
}
};
t(document).on("click.bs.carousel.data-api", "[data-slide]", n).on("click.bs.carousel.data-api", "[data-slide-to]", n), t(window).on("load", function () {
t('[data-ride="carousel"]').each(function () {
var i = t(this);
e.call(i, i.data())
})
})
}(jQuery), function (t) {
"use strict";
function e(e) {
var i, o = e.attr("data-target") || (i = e.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, "");
return t(o)
}
function i(e) {
return this.each(function () {
var i = t(this), n = i.data("bs.collapse"),
s = t.extend({}, o.DEFAULTS, i.data(), "object" == typeof e && e);
!n && s.toggle && /show|hide/.test(e) && (s.toggle = !1), n || i.data("bs.collapse", n = new o(this, s)), "string" == typeof e && n[e]()
})
}
var o = function (e, i) {
this.$element = t(e), this.options = t.extend({}, o.DEFAULTS, i), this.$trigger = t('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle()
};
o.VERSION = "3.3.7", o.TRANSITION_DURATION = 350, o.DEFAULTS = {toggle: !0}, o.prototype.dimension = function () {
return this.$element.hasClass("width") ? "width" : "height"
}, o.prototype.show = function () {
if (!this.transitioning && !this.$element.hasClass("in")) {
var e, n = this.$parent && this.$parent.children(".panel").children(".in, .collapsing");
if (!(n && n.length && (e = n.data("bs.collapse")) && e.transitioning)) {
var s = t.Event("show.bs.collapse");
if (this.$element.trigger(s), !s.isDefaultPrevented()) {
n && n.length && (i.call(n, "hide"), e || n.data("bs.collapse", null));
var a = this.dimension();
this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1;
var r = function () {
this.$element.removeClass("collapsing").addClass("collapse in")[a](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse")
};
if (!t.support.transition) return r.call(this);
var l = t.camelCase(["scroll", a].join("-"));
this.$element.one("bsTransitionEnd", t.proxy(r, this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l])
}
}
}
}, o.prototype.hide = function () {
if (!this.transitioning && this.$element.hasClass("in")) {
var e = t.Event("hide.bs.collapse");
if (this.$element.trigger(e), !e.isDefaultPrevented()) {
var i = this.dimension();
this.$element[i](this.$element[i]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1;
var n = function () {
this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")
};
if (!t.support.transition) return n.call(this);
this.$element[i](0).one("bsTransitionEnd", t.proxy(n, this)).emulateTransitionEnd(o.TRANSITION_DURATION)
}
}
}, o.prototype.toggle = function () {
this[this.$element.hasClass("in") ? "hide" : "show"]()
}, o.prototype.getParent = function () {
return t(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(t.proxy(function (i, o) {
var n = t(o);
this.addAriaAndCollapsedClass(e(n), n)
}, this)).end()
}, o.prototype.addAriaAndCollapsedClass = function (t, e) {
var i = t.hasClass("in");
t.attr("aria-expanded", i), e.toggleClass("collapsed", !i).attr("aria-expanded", i)
};
var n = t.fn.collapse;
t.fn.collapse = i, t.fn.collapse.Constructor = o, t.fn.collapse.noConflict = function () {
return t.fn.collapse = n, this
}, t(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (o) {
var n = t(this);
n.attr("data-target") || o.preventDefault();
var s = e(n), a = s.data("bs.collapse") ? "toggle" : n.data();
i.call(s, a)
})
}(jQuery), function (t) {
"use strict";
function e(e) {
var i = e.attr("data-target");
i || (i = (i = e.attr("href")) && /#[A-Za-z]/.test(i) && i.replace(/.*(?=#[^\s]*$)/, ""));
var o = i && t(i);
return o && o.length ? o : e.parent()
}
function i(i) {
i && 3 === i.which || (t(o).remove(), t(n).each(function () {
var o = t(this), n = e(o), s = {relatedTarget: this};
n.hasClass("open") && (i && "click" == i.type && /input|textarea/i.test(i.target.tagName) && t.contains(n[0], i.target) || (n.trigger(i = t.Event("hide.bs.dropdown", s)), i.isDefaultPrevented() || (o.attr("aria-expanded", "false"), n.removeClass("open").trigger(t.Event("hidden.bs.dropdown", s)))))
}))
}
var o = ".dropdown-backdrop", n = '[data-toggle="dropdown"]', s = function (e) {
t(e).on("click.bs.dropdown", this.toggle)
};
s.VERSION = "3.3.7", s.prototype.toggle = function (o) {
var n = t(this);
if (!n.is(".disabled, :disabled")) {
var s = e(n), a = s.hasClass("open");
if (i(), !a) {
"ontouchstart" in document.documentElement && !s.closest(".navbar-nav").length && t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click", i);
var r = {relatedTarget: this};
if (s.trigger(o = t.Event("show.bs.dropdown", r)), o.isDefaultPrevented()) return;
n.trigger("focus").attr("aria-expanded", "true"), s.toggleClass("open").trigger(t.Event("shown.bs.dropdown", r))
}
return !1
}
}, s.prototype.keydown = function (i) {
if (/(38|40|27|32)/.test(i.which) && !/input|textarea/i.test(i.target.tagName)) {
var o = t(this);
if (i.preventDefault(), i.stopPropagation(), !o.is(".disabled, :disabled")) {
var s = e(o), a = s.hasClass("open");
if (!a && 27 != i.which || a && 27 == i.which) return 27 == i.which && s.find(n).trigger("focus"), o.trigger("click");
var r = s.find(".dropdown-menu li:not(.disabled):visible a");
if (r.length) {
var l = r.index(i.target);
38 == i.which && l > 0 && l--, 40 == i.which && l < r.length - 1 && l++, ~l || (l = 0), r.eq(l).trigger("focus")
}
}
}
};
var a = t.fn.dropdown;
t.fn.dropdown = function (e) {
return this.each(function () {
var i = t(this), o = i.data("bs.dropdown");
o || i.data("bs.dropdown", o = new s(this)), "string" == typeof e && o[e].call(i)
})
}, t.fn.dropdown.Constructor = s, t.fn.dropdown.noConflict = function () {
return t.fn.dropdown = a, this
}, t(document).on("click.bs.dropdown.data-api", i).on("click.bs.dropdown.data-api", ".dropdown form", function (t) {
t.stopPropagation()
}).on("click.bs.dropdown.data-api", n, s.prototype.toggle).on("keydown.bs.dropdown.data-api", n, s.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", s.prototype.keydown)
}(jQuery), function (t) {
"use strict";
function e(e, o) {
return this.each(function () {
var n = t(this), s = n.data("bs.modal"), a = t.extend({}, i.DEFAULTS, n.data(), "object" == typeof e && e);
s || n.data("bs.modal", s = new i(this, a)), "string" == typeof e ? s[e](o) : a.show && s.show(o)
})
}
var i = function (e, i) {
this.options = i, this.$body = t(document.body), this.$element = t(e), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, t.proxy(function () {
this.$element.trigger("loaded.bs.modal")
}, this))
};
i.VERSION = "3.3.7", i.TRANSITION_DURATION = 300, i.BACKDROP_TRANSITION_DURATION = 150, i.DEFAULTS = {
backdrop: !0,
keyboard: !0,
show: !0
}, i.prototype.toggle = function (t) {
return this.isShown ? this.hide() : this.show(t)
}, i.prototype.show = function (e) {
var o = this, n = t.Event("show.bs.modal", {relatedTarget: e});
this.$element.trigger(n), this.isShown || n.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', t.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.bs.modal", function () {
o.$element.one("mouseup.dismiss.bs.modal", function (e) {
t(e.target).is(o.$element) && (o.ignoreBackdropClick = !0)
})
}), this.backdrop(function () {
var n = t.support.transition && o.$element.hasClass("fade");
o.$element.parent().length || o.$element.appendTo(o.$body), o.$element.show().scrollTop(0), o.adjustDialog(), n && o.$element[0].offsetWidth, o.$element.addClass("in"), o.enforceFocus();
var s = t.Event("shown.bs.modal", {relatedTarget: e});
n ? o.$dialog.one("bsTransitionEnd", function () {
o.$element.trigger("focus").trigger(s)
}).emulateTransitionEnd(i.TRANSITION_DURATION) : o.$element.trigger("focus").trigger(s)
}))
}, i.prototype.hide = function (e) {
e && e.preventDefault(), e = t.Event("hide.bs.modal"), this.$element.trigger(e), this.isShown && !e.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), t(document).off("focusin.bs.modal"), this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"), this.$dialog.off("mousedown.dismiss.bs.modal"), t.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", t.proxy(this.hideModal, this)).emulateTransitionEnd(i.TRANSITION_DURATION) : this.hideModal())
}, i.prototype.enforceFocus = function () {
t(document).off("focusin.bs.modal").on("focusin.bs.modal", t.proxy(function (t) {
document === t.target || this.$element[0] === t.target || this.$element.has(t.target).length || this.$element.trigger("focus")
}, this))
}, i.prototype.escape = function () {
this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", t.proxy(function (t) {
27 == t.which && this.hide()
}, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal")
}, i.prototype.resize = function () {
this.isShown ? t(window).on("resize.bs.modal", t.proxy(this.handleUpdate, this)) : t(window).off("resize.bs.modal")
}, i.prototype.hideModal = function () {
var t = this;
this.$element.hide(), this.backdrop(function () {
t.$body.removeClass("modal-open"), t.resetAdjustments(), t.resetScrollbar(), t.$element.trigger("hidden.bs.modal")
})
}, i.prototype.removeBackdrop = function () {
this.$backdrop && this.$backdrop.remove(), this.$backdrop = null
}, i.prototype.backdrop = function (e) {
var o = this, n = this.$element.hasClass("fade") ? "fade" : "";
if (this.isShown && this.options.backdrop) {
var s = t.support.transition && n;
if (this.$backdrop = t(document.createElement("div")).addClass("modal-backdrop " + n).appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", t.proxy(function (t) {
this.ignoreBackdropClick ? this.ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide())
}, this)), s && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !e) return;
s ? this.$backdrop.one("bsTransitionEnd", e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION) : e()
} else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass("in");
var a = function () {
o.removeBackdrop(), e && e()
};
t.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", a).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION) : a()
} else e && e()
}, i.prototype.handleUpdate = function () {
this.adjustDialog()
}, i.prototype.adjustDialog = function () {
var t = this.$element[0].scrollHeight > document.documentElement.clientHeight;
this.$element.css({
paddingLeft: !this.bodyIsOverflowing && t ? this.scrollbarWidth : "",
paddingRight: this.bodyIsOverflowing && !t ? this.scrollbarWidth : ""
})
}, i.prototype.resetAdjustments = function () {
this.$element.css({paddingLeft: "", paddingRight: ""})
}, i.prototype.checkScrollbar = function () {
var t = window.innerWidth;
if (!t) {
var e = document.documentElement.getBoundingClientRect();
t = e.right - Math.abs(e.left)
}
this.bodyIsOverflowing = document.body.clientWidth < t, this.scrollbarWidth = this.measureScrollbar()
}, i.prototype.setScrollbar = function () {
var t = parseInt(this.$body.css("padding-right") || 0, 10);
this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.$body.css("padding-right", t + this.scrollbarWidth)
}, i.prototype.resetScrollbar = function () {
this.$body.css("padding-right", this.originalBodyPad)
}, i.prototype.measureScrollbar = function () {
var t = document.createElement("div");
t.className = "modal-scrollbar-measure", this.$body.append(t);
var e = t.offsetWidth - t.clientWidth;
return this.$body[0].removeChild(t), e
};
var o = t.fn.modal;
t.fn.modal = e, t.fn.modal.Constructor = i, t.fn.modal.noConflict = function () {
return t.fn.modal = o, this
}, t(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (i) {
var o = t(this), n = o.attr("href"), s = t(o.attr("data-target") || n && n.replace(/.*(?=#[^\s]+$)/, "")),
a = s.data("bs.modal") ? "toggle" : t.extend({remote: !/#/.test(n) && n}, s.data(), o.data());
o.is("a") && i.preventDefault(), s.one("show.bs.modal", function (t) {
t.isDefaultPrevented() || s.one("hidden.bs.modal", function () {
o.is(":visible") && o.trigger("focus")
})
}), e.call(s, a, this)
})
}(jQuery), function (t) {
"use strict";
var e = function (t, e) {
this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", t, e)
};
e.VERSION = "3.3.7", e.TRANSITION_DURATION = 150, e.DEFAULTS = {
animation: !0,
placement: "top",
selector: !1,
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
trigger: "hover focus",
title: "",
delay: 0,
html: !1,
container: !1,
viewport: {selector: "body", padding: 0}
}, e.prototype.init = function (e, i, o) {
if (this.enabled = !0, this.type = e, this.$element = t(i), this.options = this.getOptions(o), this.$viewport = this.options.viewport && t(t.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = {
click: !1,
hover: !1,
focus: !1
}, this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!");
for (var n = this.options.trigger.split(" "), s = n.length; s--;) {
var a = n[s];
if ("click" == a) this.$element.on("click." + this.type, this.options.selector, t.proxy(this.toggle, this)); else if ("manual" != a) {
var r = "hover" == a ? "mouseenter" : "focusin", l = "hover" == a ? "mouseleave" : "focusout";
this.$element.on(r + "." + this.type, this.options.selector, t.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, t.proxy(this.leave, this))
}
}
this.options.selector ? this._options = t.extend({}, this.options, {
trigger: "manual",
selector: ""
}) : this.fixTitle()
}, e.prototype.getDefaults = function () {
return e.DEFAULTS
}, e.prototype.getOptions = function (e) {
return (e = t.extend({}, this.getDefaults(), this.$element.data(), e)).delay && "number" == typeof e.delay && (e.delay = {
show: e.delay,
hide: e.delay
}), e
}, e.prototype.getDelegateOptions = function () {
var e = {}, i = this.getDefaults();
return this._options && t.each(this._options, function (t, o) {
i[t] != o && (e[t] = o)
}), e
}, e.prototype.enter = function (e) {
var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type);
if (i || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), e instanceof t.Event && (i.inState["focusin" == e.type ? "focus" : "hover"] = !0), i.tip().hasClass("in") || "in" == i.hoverState) i.hoverState = "in"; else {
if (clearTimeout(i.timeout), i.hoverState = "in", !i.options.delay || !i.options.delay.show) return i.show();
i.timeout = setTimeout(function () {
"in" == i.hoverState && i.show()
}, i.options.delay.show)
}
}, e.prototype.isInStateTrue = function () {
for (var t in this.inState) if (this.inState[t]) return !0;
return !1
}, e.prototype.leave = function (e) {
var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type);
if (i || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), e instanceof t.Event && (i.inState["focusout" == e.type ? "focus" : "hover"] = !1), !i.isInStateTrue()) {
if (clearTimeout(i.timeout), i.hoverState = "out", !i.options.delay || !i.options.delay.hide) return i.hide();
i.timeout = setTimeout(function () {
"out" == i.hoverState && i.hide()
}, i.options.delay.hide)
}
}, e.prototype.show = function () {
var i = t.Event("show.bs." + this.type);
if (this.hasContent() && this.enabled) {
this.$element.trigger(i);
var o = t.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]);
if (i.isDefaultPrevented() || !o) return;
var n = this, s = this.tip(), a = this.getUID(this.type);
this.setContent(), s.attr("id", a), this.$element.attr("aria-describedby", a), this.options.animation && s.addClass("fade");
var r = "function" == typeof this.options.placement ? this.options.placement.call(this, s[0], this.$element[0]) : this.options.placement,
l = /\s?auto?\s?/i, h = l.test(r);
h && (r = r.replace(l, "") || "top"), s.detach().css({
top: 0,
left: 0,
display: "block"
}).addClass(r).data("bs." + this.type, this), this.options.container ? s.appendTo(this.options.container) : s.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type);
var d = this.getPosition(), p = s[0].offsetWidth, c = s[0].offsetHeight;
if (h) {
var f = r, u = this.getPosition(this.$viewport);
r = "bottom" == r && d.bottom + c > u.bottom ? "top" : "top" == r && d.top - c < u.top ? "bottom" : "right" == r && d.right + p > u.width ? "left" : "left" == r && d.left - p < u.left ? "right" : r, s.removeClass(f).addClass(r)
}
var g = this.getCalculatedOffset(r, d, p, c);
this.applyPlacement(g, r);
var m = function () {
var t = n.hoverState;
n.$element.trigger("shown.bs." + n.type), n.hoverState = null, "out" == t && n.leave(n)
};
t.support.transition && this.$tip.hasClass("fade") ? s.one("bsTransitionEnd", m).emulateTransitionEnd(e.TRANSITION_DURATION) : m()
}
}, e.prototype.applyPlacement = function (e, i) {
var o = this.tip(), n = o[0].offsetWidth, s = o[0].offsetHeight, a = parseInt(o.css("margin-top"), 10),
r = parseInt(o.css("margin-left"), 10);
isNaN(a) && (a = 0), isNaN(r) && (r = 0), e.top += a, e.left += r, t.offset.setOffset(o[0], t.extend({
using: function (t) {
o.css({top: Math.round(t.top), left: Math.round(t.left)})
}
}, e), 0), o.addClass("in");
var l = o[0].offsetWidth, h = o[0].offsetHeight;
"top" == i && h != s && (e.top = e.top + s - h);
var d = this.getViewportAdjustedDelta(i, e, l, h);
d.left ? e.left += d.left : e.top += d.top;
var p = /top|bottom/.test(i), c = p ? 2 * d.left - n + l : 2 * d.top - s + h,
f = p ? "offsetWidth" : "offsetHeight";
o.offset(e), this.replaceArrow(c, o[0][f], p)
}, e.prototype.replaceArrow = function (t, e, i) {
this.arrow().css(i ? "left" : "top", 50 * (1 - t / e) + "%").css(i ? "top" : "left", "")
}, e.prototype.setContent = function () {
var t = this.tip(), e = this.getTitle();
t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e), t.removeClass("fade in top bottom left right")
}, e.prototype.hide = function (i) {
function o() {
"in" != n.hoverState && s.detach(), n.$element && n.$element.removeAttr("aria-describedby").trigger("hidden.bs." + n.type), i && i()
}
var n = this, s = t(this.$tip), a = t.Event("hide.bs." + this.type);
if (this.$element.trigger(a), !a.isDefaultPrevented()) return s.removeClass("in"), t.support.transition && s.hasClass("fade") ? s.one("bsTransitionEnd", o).emulateTransitionEnd(e.TRANSITION_DURATION) : o(), this.hoverState = null, this
}, e.prototype.fixTitle = function () {
var t = this.$element;
(t.attr("title") || "string" != typeof t.attr("data-original-title")) && t.attr("data-original-title", t.attr("title") || "").attr("title", "")
}, e.prototype.hasContent = function () {
return this.getTitle()
}, e.prototype.getPosition = function (e) {
var i = (e = e || this.$element)[0], o = "BODY" == i.tagName, n = i.getBoundingClientRect();
null == n.width && (n = t.extend({}, n, {width: n.right - n.left, height: n.bottom - n.top}));
var s = window.SVGElement && i instanceof window.SVGElement, a = o ? {top: 0, left: 0} : s ? null : e.offset(),
r = {scroll: o ? document.documentElement.scrollTop || document.body.scrollTop : e.scrollTop()},
l = o ? {width: t(window).width(), height: t(window).height()} : null;
return t.extend({}, n, r, l, a)
}, e.prototype.getCalculatedOffset = function (t, e, i, o) {
return "bottom" == t ? {
top: e.top + e.height,
left: e.left + e.width / 2 - i / 2
} : "top" == t ? {
top: e.top - o,
left: e.left + e.width / 2 - i / 2
} : "left" == t ? {top: e.top + e.height / 2 - o / 2, left: e.left - i} : {
top: e.top + e.height / 2 - o / 2,
left: e.left + e.width
}
}, e.prototype.getViewportAdjustedDelta = function (t, e, i, o) {
var n = {top: 0, left: 0};
if (!this.$viewport) return n;
var s = this.options.viewport && this.options.viewport.padding || 0, a = this.getPosition(this.$viewport);
if (/right|left/.test(t)) {
var r = e.top - s - a.scroll, l = e.top + s - a.scroll + o;
r < a.top ? n.top = a.top - r : l > a.top + a.height && (n.top = a.top + a.height - l)
} else {
var h = e.left - s, d = e.left + s + i;
h < a.left ? n.left = a.left - h : d > a.right && (n.left = a.left + a.width - d)
}
return n
}, e.prototype.getTitle = function () {
var t = this.$element, e = this.options;
return t.attr("data-original-title") || ("function" == typeof e.title ? e.title.call(t[0]) : e.title)
}, e.prototype.getUID = function (t) {
do {
t += ~~(1e6 * Math.random())
} while (document.getElementById(t));
return t
}, e.prototype.tip = function () {
if (!this.$tip && (this.$tip = t(this.options.template), 1 != this.$tip.length)) throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!");
return this.$tip
}, e.prototype.arrow = function () {
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
}, e.prototype.enable = function () {
this.enabled = !0
}, e.prototype.disable = function () {
this.enabled = !1
}, e.prototype.toggleEnabled = function () {
this.enabled = !this.enabled
}, e.prototype.toggle = function (e) {
var i = this;
e && ((i = t(e.currentTarget).data("bs." + this.type)) || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i))), e ? (i.inState.click = !i.inState.click, i.isInStateTrue() ? i.enter(i) : i.leave(i)) : i.tip().hasClass("in") ? i.leave(i) : i.enter(i)
}, e.prototype.destroy = function () {
var t = this;
clearTimeout(this.timeout), this.hide(function () {
t.$element.off("." + t.type).removeData("bs." + t.type), t.$tip && t.$tip.detach(), t.$tip = null, t.$arrow = null, t.$viewport = null, t.$element = null
})
};
var i = t.fn.tooltip;
t.fn.tooltip = function (i) {
return this.each(function () {
var o = t(this), n = o.data("bs.tooltip"), s = "object" == typeof i && i;
!n && /destroy|hide/.test(i) || (n || o.data("bs.tooltip", n = new e(this, s)), "string" == typeof i && n[i]())
})
}, t.fn.tooltip.Constructor = e, t.fn.tooltip.noConflict = function () {
return t.fn.tooltip = i, this
}
}(jQuery), function (t) {
"use strict";
var e = function (t, e) {
this.init("popover", t, e)
};
if (!t.fn.tooltip) throw new Error("Popover requires tooltip.js");
e.VERSION = "3.3.7", e.DEFAULTS = t.extend({}, t.fn.tooltip.Constructor.DEFAULTS, {
placement: "right",
trigger: "click",
content: "",
template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}), e.prototype = t.extend({}, t.fn.tooltip.Constructor.prototype), e.prototype.constructor = e, e.prototype.getDefaults = function () {
return e.DEFAULTS
}, e.prototype.setContent = function () {
var t = this.tip(), e = this.getTitle(), i = this.getContent();
t.find(".popover-title")[this.options.html ? "html" : "text"](e), t.find(".popover-content").children().detach().end()[this.options.html ? "string" == typeof i ? "html" : "append" : "text"](i), t.removeClass("fade top bottom left right in"), t.find(".popover-title").html() || t.find(".popover-title").hide()
}, e.prototype.hasContent = function () {
return this.getTitle() || this.getContent()
}, e.prototype.getContent = function () {
var t = this.$element, e = this.options;
return t.attr("data-content") || ("function" == typeof e.content ? e.content.call(t[0]) : e.content)
}, e.prototype.arrow = function () {
return this.$arrow = this.$arrow || this.tip().find(".arrow")
};
var i = t.fn.popover;
t.fn.popover = function (i) {
return this.each(function () {
var o = t(this), n = o.data("bs.popover"), s = "object" == typeof i && i;
!n && /destroy|hide/.test(i) || (n || o.data("bs.popover", n = new e(this, s)), "string" == typeof i && n[i]())
})
}, t.fn.popover.Constructor = e, t.fn.popover.noConflict = function () {
return t.fn.popover = i, this
}
}(jQuery), function (t) {
"use strict";
function e(i, o) {
this.$body = t(document.body), this.$scrollElement = t(t(i).is(document.body) ? window : i), this.options = t.extend({}, e.DEFAULTS, o), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", t.proxy(this.process, this)), this.refresh(), this.process()
}
function i(i) {
return this.each(function () {
var o = t(this), n = o.data("bs.scrollspy"), s = "object" == typeof i && i;
n || o.data("bs.scrollspy", n = new e(this, s)), "string" == typeof i && n[i]()
})
}
e.VERSION = "3.3.7", e.DEFAULTS = {offset: 10}, e.prototype.getScrollHeight = function () {
return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
}, e.prototype.refresh = function () {
var e = this, i = "offset", o = 0;
this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(), t.isWindow(this.$scrollElement[0]) || (i = "position", o = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map(function () {
var e = t(this), n = e.data("target") || e.attr("href"), s = /^#./.test(n) && t(n);
return s && s.length && s.is(":visible") && [[s[i]().top + o, n]] || null
}).sort(function (t, e) {
return t[0] - e[0]
}).each(function () {
e.offsets.push(this[0]), e.targets.push(this[1])
})
}, e.prototype.process = function () {
var t, e = this.$scrollElement.scrollTop() + this.options.offset, i = this.getScrollHeight(),
o = this.options.offset + i - this.$scrollElement.height(), n = this.offsets, s = this.targets,
a = this.activeTarget;
if (this.scrollHeight != i && this.refresh(), e >= o) return a != (t = s[s.length - 1]) && this.activate(t);
if (a && e < n[0]) return this.activeTarget = null, this.clear();
for (t = n.length; t--;) a != s[t] && e >= n[t] && (void 0 === n[t + 1] || e < n[t + 1]) && this.activate(s[t])
}, e.prototype.activate = function (e) {
this.activeTarget = e, this.clear();
var i = this.selector + '[data-target="' + e + '"],' + this.selector + '[href="' + e + '"]',
o = t(i).parents("li").addClass("active");
o.parent(".dropdown-menu").length && (o = o.closest("li.dropdown").addClass("active")), o.trigger("activate.bs.scrollspy")
}, e.prototype.clear = function () {
t(this.selector).parentsUntil(this.options.target, ".active").removeClass("active")
};
var o = t.fn.scrollspy;
t.fn.scrollspy = i, t.fn.scrollspy.Constructor = e, t.fn.scrollspy.noConflict = function () {
return t.fn.scrollspy = o, this
}, t(window).on("load.bs.scrollspy.data-api", function () {
t('[data-spy="scroll"]').each(function () {
var e = t(this);
i.call(e, e.data())
})
})
}(jQuery), function (t) {
"use strict";
function e(e) {
return this.each(function () {
var o = t(this), n = o.data("bs.tab");
n || o.data("bs.tab", n = new i(this)), "string" == typeof e && n[e]()
})
}
var i = function (e) {
this.element = t(e)
};
i.VERSION = "3.3.7", i.TRANSITION_DURATION = 150, i.prototype.show = function () {
var e = this.element, i = e.closest("ul:not(.dropdown-menu)"), o = e.data("target");
if (o || (o = (o = e.attr("href")) && o.replace(/.*(?=#[^\s]*$)/, "")), !e.parent("li").hasClass("active")) {
var n = i.find(".active:last a"), s = t.Event("hide.bs.tab", {relatedTarget: e[0]}),
a = t.Event("show.bs.tab", {relatedTarget: n[0]});
if (n.trigger(s), e.trigger(a), !a.isDefaultPrevented() && !s.isDefaultPrevented()) {
var r = t(o);
this.activate(e.closest("li"), i), this.activate(r, r.parent(), function () {
n.trigger({type: "hidden.bs.tab", relatedTarget: e[0]}), e.trigger({
type: "shown.bs.tab",
relatedTarget: n[0]
})
})
}
}
}, i.prototype.activate = function (e, o, n) {
function s() {
a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), r ? (e[0].offsetWidth, e.addClass("in")) : e.removeClass("fade"), e.parent(".dropdown-menu").length && e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), n && n()
}
var a = o.find("> .active"),
r = n && t.support.transition && (a.length && a.hasClass("fade") || !!o.find("> .fade").length);
a.length && r ? a.one("bsTransitionEnd", s).emulateTransitionEnd(i.TRANSITION_DURATION) : s(), a.removeClass("in")
};
var o = t.fn.tab;
t.fn.tab = e, t.fn.tab.Constructor = i, t.fn.tab.noConflict = function () {
return t.fn.tab = o, this
};
var n = function (i) {
i.preventDefault(), e.call(t(this), "show")
};
t(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', n).on("click.bs.tab.data-api", '[data-toggle="pill"]', n)
}(jQuery), function (t) {
"use strict";
function e(e) {
return this.each(function () {
var o = t(this), n = o.data("bs.affix"), s = "object" == typeof e && e;
n || o.data("bs.affix", n = new i(this, s)), "string" == typeof e && n[e]()
})
}
var i = function (e, o) {
this.options = t.extend({}, i.DEFAULTS, o), this.$target = t(this.options.target).on("scroll.bs.affix.data-api", t.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", t.proxy(this.checkPositionWithEventLoop, this)), this.$element = t(e), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition()
};
i.VERSION = "3.3.7", i.RESET = "affix affix-top affix-bottom", i.DEFAULTS = {
offset: 0,
target: window
}, i.prototype.getState = function (t, e, i, o) {
var n = this.$target.scrollTop(), s = this.$element.offset(), a = this.$target.height();
if (null != i && "top" == this.affixed) return n < i && "top";
if ("bottom" == this.affixed) return null != i ? !(n + this.unpin <= s.top) && "bottom" : !(n + a <= t - o) && "bottom";
var r = null == this.affixed, l = r ? n : s.top;
return null != i && n <= i ? "top" : null != o && l + (r ? a : e) >= t - o && "bottom"
}, i.prototype.getPinnedOffset = function () {
if (this.pinnedOffset) return this.pinnedOffset;
this.$element.removeClass(i.RESET).addClass("affix");
var t = this.$target.scrollTop(), e = this.$element.offset();
return this.pinnedOffset = e.top - t
}, i.prototype.checkPositionWithEventLoop = function () {
setTimeout(t.proxy(this.checkPosition, this), 1)
}, i.prototype.checkPosition = function () {
if (this.$element.is(":visible")) {
var e = this.$element.height(), o = this.options.offset, n = o.top, s = o.bottom,
a = Math.max(t(document).height(), t(document.body).height());
"object" != typeof o && (s = n = o), "function" == typeof n && (n = o.top(this.$element)), "function" == typeof s && (s = o.bottom(this.$element));
var r = this.getState(a, e, n, s);
if (this.affixed != r) {
null != this.unpin && this.$element.css("top", "");
var l = "affix" + (r ? "-" + r : ""), h = t.Event(l + ".bs.affix");
if (this.$element.trigger(h), h.isDefaultPrevented()) return;
this.affixed = r, this.unpin = "bottom" == r ? this.getPinnedOffset() : null, this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix", "affixed") + ".bs.affix")
}
"bottom" == r && this.$element.offset({top: a - e - s})
}
};
var o = t.fn.affix;
t.fn.affix = e, t.fn.affix.Constructor = i, t.fn.affix.noConflict = function () {
return t.fn.affix = o, this
}, t(window).on("load", function () {
t('[data-spy="affix"]').each(function () {
var i = t(this), o = i.data();
o.offset = o.offset || {}, null != o.offsetBottom && (o.offset.bottom = o.offsetBottom), null != o.offsetTop && (o.offset.top = o.offsetTop), e.call(i, o)
})
})
}(jQuery);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

+2
View File
@@ -0,0 +1,2 @@
User-agent: *
Disallow: /impressum.php