[PATCH 1/1] WebUI: New public status page

Dominik Heidler dominik at heidler.eu
Do Mär 10 00:42:21 CET 2016


Signed-off-by: Dominik Heidler <dominik at heidler.eu>
---
 .../fff/fff-web/files/www/public/cgi-bin/status    |  73 --
 .../fff-web/files/www/public/cgi-bin/status.html   |  71 ++
 .../files/www/public/css/grids-responsive-min.css  | 491 ------------
 .../fff/fff-web/files/www/public/css/pure-min.css  | 892 ---------------------
 .../fff/fff-web/files/www/public/css/side-menu.css | 276 -------
 .../fff/fff-web/files/www/public/css/style.css     |  78 --
 .../fff/fff-web/files/www/public/freifunk.svg      |   1 +
 .../fff/fff-web/files/www/public/index.html        |   4 +-
 .../fff/fff-web/files/www/public/style.css         |   1 +
 9 files changed, 75 insertions(+), 1812 deletions(-)
 delete mode 100755 src/packages/fff/fff-web/files/www/public/cgi-bin/status
 create mode 100755 src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
 delete mode 100644 src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css
 delete mode 100644 src/packages/fff/fff-web/files/www/public/css/pure-min.css
 delete mode 100644 src/packages/fff/fff-web/files/www/public/css/side-menu.css
 delete mode 100644 src/packages/fff/fff-web/files/www/public/css/style.css
 create mode 120000 src/packages/fff/fff-web/files/www/public/freifunk.svg
 create mode 120000 src/packages/fff/fff-web/files/www/public/style.css

diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status b/src/packages/fff/fff-web/files/www/public/cgi-bin/status
deleted file mode 100755
index 63b9b3b..0000000
--- a/src/packages/fff/fff-web/files/www/public/cgi-bin/status
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/haserl
-<% echo -en "content-type: text/html\r\n\r\n" %>
-<% . /etc/firmware_release %> 
-<!DOCTYPE html>
-<html lang="de"><head>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8">
-    <meta charset="utf-8">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<title>FFF Router :: <% echo $(uci get -q system. at system[0].hostname) %></title>
-	<link rel="stylesheet" href="/css/pure-min.css">
-	<link rel="stylesheet" href="/css/side-menu.css">
-	<link rel="stylesheet" href="/css/grids-responsive-min.css">
-	<link rel="stylesheet" href="/css/style.css">
-</head>
-<body>
-	<div class="header">
-		<div class="home-menu pure-menu pure-menu-open pure-menu-horizontal pure-menu-fixed">
-			<a class="pure-menu-heading" href="http://www.freifunk-franken.de">freifunk-franken.de</a>
-			<ul>
-<%
-contact="$(uci get -q system. at system[0].contact)"
-if [ -n "$contact" ]; then
-		echo "<li> <a href="mailto:$contact">Kontakt: $contact</a></li>"
-fi
-
-description="$(uci get -q system. at system[0].description)"
-mac="$(uci -q get network.mesh.macaddr)"
-if [ -n "$description" ]; then
-	echo "				<li><a href='https://monitoring.freifunk-franken.de/api/get_router_by_mac/${mac}'>Beschreibung: $description</a></li>"
-fi
-
-lat="$(uci get -q system. at system[0].latitude)"
-lon="$(uci get -q system. at system[0].longitude)"
-if [ -n "$lat" -a -n "$lon" ]; then
-	echo "				<li><a href=\"https://monitoring.freifunk-franken.de/map?mapcenter=$lat,$lon,16\">Position: ${lat:0:8}N, ${lon:0:8}E</a></li>"
-fi
-position_comment="$(uci get -q system. at system[0].position_comment)"
-if [ -n "$position_comment" ]; then
-	echo "				<li><a href='#'>${position_comment}</a></li>"
-fi
-%>
-				<li><form action="https://<% echo -n "$HTTP_HOST" %>"><button type="submit" class="pure-button">Login</button></form></li>
-			</ul>
-		</div>
-	</div>
-	<div class="header">
-<%
-echo "		<h1>$(uci get -q system. at system[0].hostname)</h1>"
-%>
-		<h2>Firmware Version <% echo -n $FIRMWARE_VERSION %></h2>
-	</div>
-	<div class="content">
-		<div class="pure-g" style="text-align:center;">
-			<div class="pure-u-1 pure-u-md-1-3">
-				<div class="blockhead"></div>
-				<h2>Nachbarknoten</h2>
-				<h3><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2> /dev/null) %></h3>
-			</div>
-			<div class="pure-u-1 pure-u-md-1-3">
-				<div class="blockhead"></div>
-				<h2>Alle Knoten</h2>
-				<h3><% echo -n $((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2> /dev/null`+1)) %></h3>
-			</div>
-			<div class="pure-u-1 pure-u-md-1-3">
-				<div class="blockhead"></div>
-				<h2>Lokale Clients</h2>
-				<h3><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W') %></h3>
-			</div>
-		</div>
-	</div>
-
-</body>
-</html>
diff --git a/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
new file mode 100755
index 0000000..fcb047e
--- /dev/null
+++ b/src/packages/fff/fff-web/files/www/public/cgi-bin/status.html
@@ -0,0 +1,71 @@
+#!/usr/bin/haserl
+
+<%
+echo -en "Content-Type: text/html\r\n\r\n"
+HOSTNAME=$(uci get -q 'system. at system[0].hostname')
+
+MAC="$(uci -q get network.mesh.macaddr)"
+lat="$(uci get -q system. at system[0].latitude)"
+lon="$(uci get -q system. at system[0].longitude)"
+contact="$(uci get -q system. at system[0].contact)"
+
+. /etc/firmware_release
+
+%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+	<title><%= ${HOSTNAME} %></title>
+	<link href="/style.css" rel="stylesheet" type="text/css" media="screen" />
+</head>
+<body>
+	<div id="header" style="position: relative;">
+		<h1><%= ${HOSTNAME} %></h1>
+		<h2>Freifunk Franken Router</h2>
+		<img src="/freifunk.svg" style="position: absolute; top: 1px; right: 42px;" />
+	</div>
+	<div style="height: 30px; background-color: #ffb400; position: relative;">
+		<div style="position: absolute; top: 20%; bottom: 20%; left: 40px; width: 20em; text-align: left;">
+			<a style="color: #d22755; text-decoration: none; font-weight: bold;" href="http://www.freifunk-franken.de/">www.freifunk-franken.de</a>
+		</div>
+		<div style="background-color: #d22755; position: absolute; top: 20%; bottom: 20%; right: 42px; width: 3.4em; text-align: center; border-radius: 2px;">
+			<a style="color: #ffffff; text-decoration: none;" href="https://<%= ${HTTP_HOST} %>/">Login</a>
+		</div>
+	</div>
+	<div id="container" style="margin-top: 15px;">
+		<div id="primarycontainer">
+			<div id="primarycontent">
+				<table style="width: 100%;">
+					<tr><td>
+						<fieldset style="min-height: 15em;">
+							<legend>System</legend>
+							<table>
+								<tr><th>Name:</th><td><%= $HOSTNAME %></td></tr>
+								<tr><th>MAC-Adresse:</th><td style="text-transform: uppercase;"><a href="https://monitoring.freifunk-franken.de/api/get_router_by_mac/<%= $MAC %>"><%= $MAC %></a></td></tr>
+								<tr><th>Modell:</th><td><% cat /tmp/sysinfo/model 2>/dev/null %></td></tr>
+								<tr><th>Firmware:</th><td><%= ${FIRMWARE_VERSION} %></td></tr>
+								<tr><th>Beschreibung:</th><td><% uci get -q 'system. at system[0].description' %></td></tr>
+								<tr><th>Position:</th><td><% if [ -n "$lat" -a -n "$lon" ]; then
+									echo "<a href=\"https://monitoring.freifunk-franken.de/map?mapcenter=$lat,$lon,16\">${lat:0:8}N, ${lon:0:8}E</a>"
+								fi %></td></tr>
+								<tr><th>Standort:</th><td><% uci get -q 'system. at system[0].position_comment' %></td></tr>
+								<tr><th>E-Mail Adresse:</th><td><a href="mailto:<%= $contact %>"><%= $contact %></a></td></tr>
+							</table>
+						</fieldset>
+					</td><td>
+						<fieldset style="min-height: 15em;">
+							<legend>Status</legend>
+							<table>
+								<tr><th>Nachbarknoten:</th><td><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2> /dev/null) %></td></tr>
+								<tr><th>Bekannte Knoten:</th><td><% echo -n $((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2> /dev/null`+1)) %></td></tr>
+								<tr><th>Lokale Clients:</th><td><% echo -n $(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W') %></td></tr>
+							</table>
+						</fieldset>
+					</td></tr>
+				</table>
+			</div>
+		</div>
+		<div class="clearit"></div>
+	</div>
+</body>
+</html>
diff --git a/src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css b/src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css
deleted file mode 100644
index 63482de..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/grids-responsive-min.css
+++ /dev/null
@@ -1,491 +0,0 @@
-/*!
-Pure v0.5.0
-Copyright 2014 Yahoo! Inc. All rights reserved.
-Licensed under the BSD License.
-https://github.com/yui/pure/blob/master/LICENSE.md
-*/
- at media screen and (min-width:35.5em){
-.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-2,.pure-u-sm-1-3,.pure-u-sm-2-3,.pure-u-sm-1-4,.pure-u-sm-3-4,.pure-u-sm-1-5,.pure-u-sm-2-5,.pure-u-sm-3-5,.pure-u-sm-4-5,.pure-u-sm-5-5,.pure-u-sm-1-6,.pure-u-sm-5-6,.pure-u-sm-1-8,.pure-u-sm-3-8,.pure-u-sm-5-8,.pure-u-sm-7-8,.pure-u-sm-1-12,.pure-u-sm-5-12,.pure-u-sm-7-12,.pure-u-sm-11-12,.pure-u-sm-1-24,.pure-u-sm-2-24,.pure-u-sm-3-24,.pure-u-sm-4-24,.pure-u-sm-5-24,.pure-u-sm-6-24,.pure-u-sm-7-24,.pure-u-sm-8-24,.pure-u-sm-9-24,.pure-u-sm-10-24,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-sm-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-sm-1-12,.pure-u-sm-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-sm-1-8,.pure-u-sm-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-sm-1-6,.pure-u-sm-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-sm-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-sm-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-sm-1-4,.pure-u-sm-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-sm-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-sm-1-3,.pure-u-sm-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-sm-3-8,.pure-u-sm-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-sm-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-sm-5-12,.pure-u-sm-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-sm-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-sm-1-2,.pure-u-sm-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-sm-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-sm-7-12,.pure-u-sm-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-sm-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-sm-5-8,.pure-u-sm-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-sm-2-3,.pure-u-sm-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-sm-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-sm-3-4,.pure-u-sm-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-sm-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-sm-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-sm-5-6,.pure-u-sm-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-sm-7-8,.pure-u-sm-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-sm-11-12,.pure-u-sm-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-sm-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-5-5,.pure-u-sm-24-24{
-width:100%
-}
-}@media screen and (min-width:48em){
-.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-2,.pure-u-md-1-3,.pure-u-md-2-3,.pure-u-md-1-4,.pure-u-md-3-4,.pure-u-md-1-5,.pure-u-md-2-5,.pure-u-md-3-5,.pure-u-md-4-5,.pure-u-md-5-5,.pure-u-md-1-6,.pure-u-md-5-6,.pure-u-md-1-8,.pure-u-md-3-8,.pure-u-md-5-8,.pure-u-md-7-8,.pure-u-md-1-12,.pure-u-md-5-12,.pure-u-md-7-12,.pure-u-md-11-12,.pure-u-md-1-24,.pure-u-md-2-24,.pure-u-md-3-24,.pure-u-md-4-24,.pure-u-md-5-24,.pure-u-md-6-24,.pure-u-md-7-24,.pure-u-md-8-24,.pure-u-md-9-24,.pure-u-md-10-24,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-md-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-md-1-12,.pure-u-md-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-md-1-8,.pure-u-md-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-md-1-6,.pure-u-md-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-md-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-md-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-md-1-4,.pure-u-md-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-md-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-md-1-3,.pure-u-md-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-md-3-8,.pure-u-md-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-md-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-md-5-12,.pure-u-md-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-md-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-md-1-2,.pure-u-md-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-md-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-md-7-12,.pure-u-md-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-md-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-md-5-8,.pure-u-md-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-md-2-3,.pure-u-md-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-md-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-md-3-4,.pure-u-md-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-md-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-md-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-md-5-6,.pure-u-md-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-md-7-8,.pure-u-md-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-md-11-12,.pure-u-md-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-md-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-5-5,.pure-u-md-24-24{
-width:100%
-}
-}@media screen and (min-width:64em){
-.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-2,.pure-u-lg-1-3,.pure-u-lg-2-3,.pure-u-lg-1-4,.pure-u-lg-3-4,.pure-u-lg-1-5,.pure-u-lg-2-5,.pure-u-lg-3-5,.pure-u-lg-4-5,.pure-u-lg-5-5,.pure-u-lg-1-6,.pure-u-lg-5-6,.pure-u-lg-1-8,.pure-u-lg-3-8,.pure-u-lg-5-8,.pure-u-lg-7-8,.pure-u-lg-1-12,.pure-u-lg-5-12,.pure-u-lg-7-12,.pure-u-lg-11-12,.pure-u-lg-1-24,.pure-u-lg-2-24,.pure-u-lg-3-24,.pure-u-lg-4-24,.pure-u-lg-5-24,.pure-u-lg-6-24,.pure-u-lg-7-24,.pure-u-lg-8-24,.pure-u-lg-9-24,.pure-u-lg-10-24,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-lg-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-lg-1-12,.pure-u-lg-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-lg-1-8,.pure-u-lg-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-lg-1-6,.pure-u-lg-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-lg-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-lg-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-lg-1-4,.pure-u-lg-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-lg-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-lg-1-3,.pure-u-lg-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-lg-3-8,.pure-u-lg-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-lg-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-lg-5-12,.pure-u-lg-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-lg-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-lg-1-2,.pure-u-lg-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-lg-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-lg-7-12,.pure-u-lg-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-lg-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-lg-5-8,.pure-u-lg-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-lg-2-3,.pure-u-lg-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-lg-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-lg-3-4,.pure-u-lg-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-lg-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-lg-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-lg-5-6,.pure-u-lg-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-lg-7-8,.pure-u-lg-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-lg-11-12,.pure-u-lg-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-lg-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-5-5,.pure-u-lg-24-24{
-width:100%
-}
-}@media screen and (min-width:80em){
-.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-2,.pure-u-xl-1-3,.pure-u-xl-2-3,.pure-u-xl-1-4,.pure-u-xl-3-4,.pure-u-xl-1-5,.pure-u-xl-2-5,.pure-u-xl-3-5,.pure-u-xl-4-5,.pure-u-xl-5-5,.pure-u-xl-1-6,.pure-u-xl-5-6,.pure-u-xl-1-8,.pure-u-xl-3-8,.pure-u-xl-5-8,.pure-u-xl-7-8,.pure-u-xl-1-12,.pure-u-xl-5-12,.pure-u-xl-7-12,.pure-u-xl-11-12,.pure-u-xl-1-24,.pure-u-xl-2-24,.pure-u-xl-3-24,.pure-u-xl-4-24,.pure-u-xl-5-24,.pure-u-xl-6-24,.pure-u-xl-7-24,.pure-u-xl-8-24,.pure-u-xl-9-24,.pure-u-xl-10-24,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-xl-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-xl-1-12,.pure-u-xl-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-xl-1-8,.pure-u-xl-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-xl-1-6,.pure-u-xl-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-xl-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-xl-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-xl-1-4,.pure-u-xl-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-xl-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-xl-1-3,.pure-u-xl-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-xl-3-8,.pure-u-xl-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-xl-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-xl-5-12,.pure-u-xl-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-xl-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-xl-1-2,.pure-u-xl-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-xl-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-xl-7-12,.pure-u-xl-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-xl-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-xl-5-8,.pure-u-xl-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-xl-2-3,.pure-u-xl-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-xl-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-xl-3-4,.pure-u-xl-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-xl-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-xl-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-xl-5-6,.pure-u-xl-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-xl-7-8,.pure-u-xl-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-xl-11-12,.pure-u-xl-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-xl-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-5-5,.pure-u-xl-24-24{
-width:100%
-}
-}
diff --git a/src/packages/fff/fff-web/files/www/public/css/pure-min.css b/src/packages/fff/fff-web/files/www/public/css/pure-min.css
deleted file mode 100644
index 1370a60..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/pure-min.css
+++ /dev/null
@@ -1,892 +0,0 @@
-/*!
-Pure v0.5.0
-Copyright 2014 Yahoo! Inc. All rights reserved.
-Licensed under the BSD License.
-https://github.com/yui/pure/blob/master/LICENSE.md
-*/
-/*!
-normalize.css v1.1.3 | MIT License | git.io/normalize
-Copyright (c) Nicolas Gallagher and Jonathan Neal
-*/
-/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{
-display:block
-}
-audio,canvas,video{
-display:inline-block;
-*display:inline;
-*zoom:1
-}
-audio:not([controls]){
-display:none;
-height:0
-}
-[hidden]{
-display:none
-}
-html{
-font-size:100%;
--ms-text-size-adjust:100%;
--webkit-text-size-adjust:100%
-}
-html,button,input,select,textarea{
-font-family:sans-serif
-}
-body{
-margin:0
-}
-a:focus{
-outline:thin dotted
-}
-a:active,a:hover{
-outline:0
-}
-h1{
-font-size:2em;
-margin:.67em 0
-}
-h2{
-font-size:1.5em;
-margin:.83em 0
-}
-h3{
-font-size:1.17em;
-margin:1em 0
-}
-h4{
-font-size:1em;
-margin:1.33em 0
-}
-h5{
-font-size:.83em;
-margin:1.67em 0
-}
-h6{
-font-size:.67em;
-margin:2.33em 0
-}
-abbr[title]{
-border-bottom:1px dotted
-}
-b,strong{
-font-weight:700
-}
-blockquote{
-margin:1em 40px
-}
-dfn{
-font-style:italic
-}
-hr{
--moz-box-sizing:content-box;
-box-sizing:content-box;
-height:0
-}
-mark{
-background:#ff0;
-color:#000
-}
-p,pre{
-margin:1em 0
-}
-code,kbd,pre,samp{
-font-family:monospace,serif;
-_font-family:'courier new',monospace;
-font-size:1em
-}
-pre{
-white-space:pre;
-white-space:pre-wrap;
-word-wrap:break-word
-}
-q{
-quotes:none
-}
-q:before,q:after{
-content:'';
-content:none
-}
-small{
-font-size:80%
-}
-sub,sup{
-font-size:75%;
-line-height:0;
-position:relative;
-vertical-align:baseline
-}
-sup{
-top:-.5em
-}
-sub{
-bottom:-.25em
-}
-dl,menu,ol,ul{
-margin:1em 0
-}
-dd{
-margin:0 0 0 40px
-}
-menu,ol,ul{
-padding:0 0 0 40px
-}
-nav ul,nav ol{
-list-style:none;
-list-style-image:none
-}
-img{
-border:0;
--ms-interpolation-mode:bicubic
-}
-svg:not(:root){
-overflow:hidden
-}
-figure{
-margin:0
-}
-form{
-margin:0
-}
-fieldset{
-border:1px solid silver;
-margin:0 2px;
-padding:.35em .625em .75em
-}
-legend{
-border:0;
-padding:0;
-white-space:normal;
-*margin-left:-7px
-}
-button,input,select,textarea{
-font-size:100%;
-margin:0;
-vertical-align:baseline;
-*vertical-align:middle
-}
-button,input{
-line-height:normal
-}
-button,select{
-text-transform:none
-}
-button,html input[type=button],input[type=reset],input[type=submit]{
--webkit-appearance:button;
-cursor:pointer;
-*overflow:visible
-}
-button[disabled],html input[disabled]{
-cursor:default
-}
-input[type=checkbox],input[type=radio]{
-box-sizing:border-box;
-padding:0;
-*height:13px;
-*width:13px
-}
-input[type=search]{
--webkit-appearance:textfield;
--moz-box-sizing:content-box;
--webkit-box-sizing:content-box;
-box-sizing:content-box
-}
-input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{
--webkit-appearance:none
-}
-button::-moz-focus-inner,input::-moz-focus-inner{
-border:0;
-padding:0
-}
-textarea{
-overflow:auto;
-vertical-align:top
-}
-table{
-border-collapse:collapse;
-border-spacing:0
-}
-[hidden]{
-display:none!important
-}
-.pure-img{
-max-width:100%;
-height:auto;
-display:block
-}
-.pure-g{
-letter-spacing:-.31em;
-*letter-spacing:normal;
-*word-spacing:-.43em;
-text-rendering:optimizespeed;
-font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;
-display:-webkit-flex;
--webkit-flex-flow:row wrap;
-display:-ms-flexbox;
--ms-flex-flow:row wrap
-}
-.opera-only :-o-prefocus,.pure-g{
-word-spacing:-.43em
-}
-.pure-u{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-g [class *="pure-u"]{
-font-family:sans-serif
-}
-.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-u-1-24{
-width:4.1667%;
-*width:4.1357%
-}
-.pure-u-1-12,.pure-u-2-24{
-width:8.3333%;
-*width:8.3023%
-}
-.pure-u-1-8,.pure-u-3-24{
-width:12.5%;
-*width:12.469%
-}
-.pure-u-1-6,.pure-u-4-24{
-width:16.6667%;
-*width:16.6357%
-}
-.pure-u-1-5{
-width:20%;
-*width:19.969%
-}
-.pure-u-5-24{
-width:20.8333%;
-*width:20.8023%
-}
-.pure-u-1-4,.pure-u-6-24{
-width:25%;
-*width:24.969%
-}
-.pure-u-7-24{
-width:29.1667%;
-*width:29.1357%
-}
-.pure-u-1-3,.pure-u-8-24{
-width:33.3333%;
-*width:33.3023%
-}
-.pure-u-3-8,.pure-u-9-24{
-width:37.5%;
-*width:37.469%
-}
-.pure-u-2-5{
-width:40%;
-*width:39.969%
-}
-.pure-u-5-12,.pure-u-10-24{
-width:41.6667%;
-*width:41.6357%
-}
-.pure-u-11-24{
-width:45.8333%;
-*width:45.8023%
-}
-.pure-u-1-2,.pure-u-12-24{
-width:50%;
-*width:49.969%
-}
-.pure-u-13-24{
-width:54.1667%;
-*width:54.1357%
-}
-.pure-u-7-12,.pure-u-14-24{
-width:58.3333%;
-*width:58.3023%
-}
-.pure-u-3-5{
-width:60%;
-*width:59.969%
-}
-.pure-u-5-8,.pure-u-15-24{
-width:62.5%;
-*width:62.469%
-}
-.pure-u-2-3,.pure-u-16-24{
-width:66.6667%;
-*width:66.6357%
-}
-.pure-u-17-24{
-width:70.8333%;
-*width:70.8023%
-}
-.pure-u-3-4,.pure-u-18-24{
-width:75%;
-*width:74.969%
-}
-.pure-u-19-24{
-width:79.1667%;
-*width:79.1357%
-}
-.pure-u-4-5{
-width:80%;
-*width:79.969%
-}
-.pure-u-5-6,.pure-u-20-24{
-width:83.3333%;
-*width:83.3023%
-}
-.pure-u-7-8,.pure-u-21-24{
-width:87.5%;
-*width:87.469%
-}
-.pure-u-11-12,.pure-u-22-24{
-width:91.6667%;
-*width:91.6357%
-}
-.pure-u-23-24{
-width:95.8333%;
-*width:95.8023%
-}
-.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{
-width:100%
-}
-.pure-button{
-display:inline-block;
-*display:inline;
-zoom:1;
-line-height:normal;
-white-space:nowrap;
-vertical-align:baseline;
-text-align:center;
-cursor:pointer;
--webkit-user-drag:none;
--webkit-user-select:none;
--moz-user-select:none;
--ms-user-select:none;
-user-select:none
-}
-.pure-button::-moz-focus-inner{
-padding:0;
-border:0
-}
-.pure-button{
-font-family:inherit;
-font-size:100%;
-*font-size:90%;
-*overflow:visible;
-padding:.5em 1em;
-color:#444;
-color:rgba(0,0,0,.8);
-*color:#444;
-border:1px solid #999;
-border:0 rgba(0,0,0,0);
-background-color:#E6E6E6;
-text-decoration:none;
-border-radius:2px
-}
-.pure-button-hover,.pure-button:hover,.pure-button:focus{
-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);
-background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));
-background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));
-background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));
-background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));
-background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))
-}
-.pure-button:focus{
-outline:0
-}
-.pure-button-active,.pure-button:active{
-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset
-}
-.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{
-border:0;
-background-image:none;
-filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);
-filter:alpha(opacity=40);
--khtml-opacity:.4;
--moz-opacity:.4;
-opacity:.4;
-cursor:not-allowed;
-box-shadow:none
-}
-.pure-button-hidden{
-display:none
-}
-.pure-button::-moz-focus-inner{
-padding:0;
-border:0
-}
-.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{
-background-color:#0078e7;
-color:#fff
-}
-.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{
-padding:.5em .6em;
-display:inline-block;
-border:1px solid #ccc;
-box-shadow:inset 0 1px 3px #ddd;
-border-radius:4px;
--webkit-box-sizing:border-box;
--moz-box-sizing:border-box;
-box-sizing:border-box
-}
-.pure-form input:not([type]){
-padding:.5em .6em;
-display:inline-block;
-border:1px solid #ccc;
-box-shadow:inset 0 1px 3px #ddd;
-border-radius:4px;
--webkit-box-sizing:border-box;
--moz-box-sizing:border-box;
-box-sizing:border-box
-}
-.pure-form input[type=color]{
-padding:.2em .5em
-}
-.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{
-outline:0;
-outline:thin dotted \9;
-border-color:#129FEA
-}
-.pure-form input:not([type]):focus{
-outline:0;
-outline:thin dotted \9;
-border-color:#129FEA
-}
-.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{
-outline:thin dotted #333;
-outline:1px auto #129FEA
-}
-.pure-form .pure-checkbox,.pure-form .pure-radio{
-margin:.5em 0;
-display:block
-}
-.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{
-cursor:not-allowed;
-background-color:#eaeded;
-color:#cad2d3
-}
-.pure-form input:not([type])[disabled]{
-cursor:not-allowed;
-background-color:#eaeded;
-color:#cad2d3
-}
-.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{
-background:#eee;
-color:#777;
-border-color:#ccc
-}
-.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{
-color:#b94a48;
-border-color:#ee5f5b
-}
-.pure-form input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form select:focus:invalid:focus{
-border-color:#e9322d
-}
-.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{
-outline-color:#e9322d
-}
-.pure-form select{
-border:1px solid #ccc;
-background-color:#fff
-}
-.pure-form select[multiple]{
-height:auto
-}
-.pure-form label{
-margin:.5em 0 .2em
-}
-.pure-form fieldset{
-margin:0;
-padding:.35em 0 .75em;
-border:0
-}
-.pure-form legend{
-display:block;
-width:100%;
-padding:.3em 0;
-margin-bottom:.3em;
-color:#333;
-border-bottom:1px solid #e5e5e5
-}
-.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{
-display:block;
-margin:.25em 0
-}
-.pure-form-stacked input:not([type]){
-display:block;
-margin:.25em 0
-}
-.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{
-display:inline-block;
-*display:inline;
-*zoom:1;
-vertical-align:middle
-}
-.pure-form-aligned textarea{
-vertical-align:top
-}
-.pure-form-aligned .pure-control-group{
-margin-bottom:.5em
-}
-.pure-form-aligned .pure-control-group label{
-text-align:right;
-display:inline-block;
-vertical-align:middle;
-width:10em;
-margin:0 1em 0 0
-}
-.pure-form-aligned .pure-controls{
-margin:1.5em 0 0 10em
-}
-.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{
-border-radius:2em;
-padding:.5em 1em
-}
-.pure-form .pure-group fieldset{
-margin-bottom:10px
-}
-.pure-form .pure-group input{
-display:block;
-padding:10px;
-margin:0;
-border-radius:0;
-position:relative;
-top:-1px
-}
-.pure-form .pure-group input:focus{
-z-index:2
-}
-.pure-form .pure-group input:first-child{
-top:1px;
-border-radius:4px 4px 0 0
-}
-.pure-form .pure-group input:last-child{
-top:-2px;
-border-radius:0 0 4px 4px
-}
-.pure-form .pure-group button{
-margin:.35em 0
-}
-.pure-form .pure-input-1{
-width:100%
-}
-.pure-form .pure-input-2-3{
-width:66%
-}
-.pure-form .pure-input-1-2{
-width:50%
-}
-.pure-form .pure-input-1-3{
-width:33%
-}
-.pure-form .pure-input-1-4{
-width:25%
-}
-.pure-form .pure-help-inline,.pure-form-message-inline{
-display:inline-block;
-padding-left:.3em;
-color:#666;
-vertical-align:middle;
-font-size:.875em
-}
-.pure-form-message{
-display:block;
-color:#666;
-font-size:.875em
-}
- at media only screen and (max-width :480px){
-.pure-form button[type=submit]{
-margin:.7em 0 0
-}
-.pure-form input:not([type]),.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{
-margin-bottom:.3em;
-display:block
-}
-.pure-group input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{
-margin-bottom:0
-}
-.pure-form-aligned .pure-control-group label{
-margin-bottom:.3em;
-text-align:left;
-display:block;
-width:100%
-}
-.pure-form-aligned .pure-controls{
-margin:1.5em 0 0
-}
-.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{
-display:block;
-font-size:.75em;
-padding:.2em 0 .8em
-}
-
-}
-.pure-menu ul{
-position:absolute;
-visibility:hidden
-}
-.pure-menu.pure-menu-open{
-visibility:visible;
-z-index:2;
-width:100%
-}
-.pure-menu ul{
-left:-10000px;
-list-style:none;
-margin:0;
-padding:0;
-top:-10000px;
-z-index:1
-}
-.pure-menu>ul{
-position:relative
-}
-.pure-menu-open>ul{
-left:0;
-top:0;
-visibility:visible
-}
-.pure-menu-open>ul:focus{
-outline:0
-}
-.pure-menu li{
-position:relative
-}
-.pure-menu a,.pure-menu .pure-menu-heading{
-display:block;
-color:inherit;
-line-height:1.5em;
-padding:5px 20px;
-text-decoration:none;
-white-space:nowrap
-}
-.pure-menu.pure-menu-horizontal>.pure-menu-heading{
-display:inline-block;
-*display:inline;
-zoom:1;
-margin:0;
-vertical-align:middle
-}
-.pure-menu.pure-menu-horizontal>ul{
-display:inline-block;
-*display:inline;
-zoom:1;
-vertical-align:middle
-}
-.pure-menu li a{
-padding:5px 20px
-}
-.pure-menu-can-have-children>.pure-menu-label:after{
-content:'\25B8';
-float:right;
-font-family:'Lucida Grande','Lucida Sans Unicode','DejaVu Sans',sans-serif;
-margin-right:-20px;
-margin-top:-1px
-}
-.pure-menu-can-have-children>.pure-menu-label{
-padding-right:30px
-}
-.pure-menu-separator{
-background-color:#dfdfdf;
-display:block;
-height:1px;
-font-size:0;
-margin:7px 2px;
-overflow:hidden
-}
-.pure-menu-hidden{
-display:none
-}
-.pure-menu-fixed{
-position:fixed;
-top:0;
-left:0;
-width:100%
-}
-.pure-menu-horizontal li{
-display:inline-block;
-*display:inline;
-zoom:1;
-vertical-align:middle
-}
-.pure-menu-horizontal li li{
-display:block
-}
-.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label:after{
-content:"\25BE"
-}
-.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label{
-padding-right:30px
-}
-.pure-menu-horizontal li.pure-menu-separator{
-height:50%;
-width:1px;
-margin:0 7px
-}
-.pure-menu-horizontal li li.pure-menu-separator{
-height:1px;
-width:auto;
-margin:7px 2px
-}
-.pure-menu.pure-menu-open,.pure-menu.pure-menu-horizontal li .pure-menu-children{
-background:#fff;
-border:1px solid #b7b7b7
-}
-.pure-menu.pure-menu-horizontal,.pure-menu.pure-menu-horizontal .pure-menu-heading{
-border:0
-}
-.pure-menu a{
-border:1px solid transparent;
-border-left:0;
-border-right:0
-}
-.pure-menu a,.pure-menu .pure-menu-can-have-children>li:after{
-color:#777
-}
-.pure-menu .pure-menu-can-have-children>li:hover:after{
-color:#fff
-}
-.pure-menu .pure-menu-open{
-background:#dedede
-}
-.pure-menu li a:hover,.pure-menu li a:focus{
-background:#eee
-}
-.pure-menu li.pure-menu-disabled a:hover,.pure-menu li.pure-menu-disabled a:focus{
-background:#fff;
-color:#bfbfbf
-}
-.pure-menu .pure-menu-disabled>a{
-background-image:none;
-border-color:transparent;
-cursor:default
-}
-.pure-menu .pure-menu-disabled>a,.pure-menu .pure-menu-can-have-children.pure-menu-disabled>a:after{
-color:#bfbfbf
-}
-.pure-menu .pure-menu-heading{
-color:#565d64;
-text-transform:uppercase;
-font-size:90%;
-margin-top:.5em;
-border-bottom-width:1px;
-border-bottom-style:solid;
-border-bottom-color:#dfdfdf
-}
-.pure-menu .pure-menu-selected a{
-color:#000
-}
-.pure-menu.pure-menu-open.pure-menu-fixed{
-border:0;
-border-bottom:1px solid #b7b7b7
-}
-.pure-paginator{
-letter-spacing:-.31em;
-*letter-spacing:normal;
-*word-spacing:-.43em;
-text-rendering:optimizespeed;
-list-style:none;
-margin:0;
-padding:0
-}
-.opera-only :-o-prefocus,.pure-paginator{
-word-spacing:-.43em
-}
-.pure-paginator li{
-display:inline-block;
-*display:inline;
-zoom:1;
-letter-spacing:normal;
-word-spacing:normal;
-vertical-align:top;
-text-rendering:auto
-}
-.pure-paginator .pure-button{
-border-radius:0;
-padding:.8em 1.4em;
-vertical-align:top;
-height:1.1em
-}
-.pure-paginator .pure-button:focus,.pure-paginator .pure-button:active{
-outline-style:none
-}
-.pure-paginator .prev,.pure-paginator .next{
-color:#C0C1C3;
-text-shadow:0 -1px 0 rgba(0,0,0,.45)
-}
-.pure-paginator .prev{
-border-radius:2px 0 0 2px
-}
-.pure-paginator .next{
-border-radius:0 2px 2px 0
-}
- at media (max-width:480px){
-.pure-menu-horizontal{
-width:100%
-}
-.pure-menu-children li{
-display:block;
-border-bottom:1px solid #000
-}
-
-}
-.pure-table{
-border-collapse:collapse;
-border-spacing:0;
-empty-cells:show;
-border:1px solid #cbcbcb
-}
-.pure-table caption{
-color:#000;
-font:italic 85%/1 arial,sans-serif;
-padding:1em 0;
-text-align:center
-}
-.pure-table td,.pure-table th{
-border-left:1px solid #cbcbcb;
-border-width:0 0 0 1px;
-font-size:inherit;
-margin:0;
-overflow:visible;
-padding:.5em 1em
-}
-.pure-table td:first-child,.pure-table th:first-child{
-border-left-width:0
-}
-.pure-table thead{
-background:#e0e0e0;
-color:#000;
-text-align:left;
-vertical-align:bottom
-}
-.pure-table td{
-background-color:transparent
-}
-.pure-table-odd td{
-background-color:#f2f2f2
-}
-.pure-table-striped tr:nth-child(2n-1) td{
-background-color:#f2f2f2
-}
-.pure-table-bordered td{
-border-bottom:1px solid #cbcbcb
-}
-.pure-table-bordered tbody>tr:last-child td,.pure-table-horizontal tbody>tr:last-child td{
-border-bottom-width:0
-}
-.pure-table-horizontal td,.pure-table-horizontal th{
-border-width:0 0 1px;
-border-bottom:1px solid #cbcbcb
-}
-.pure-table-horizontal tbody>tr:last-child td{
-border-bottom-width:0
-}
diff --git a/src/packages/fff/fff-web/files/www/public/css/side-menu.css b/src/packages/fff/fff-web/files/www/public/css/side-menu.css
deleted file mode 100644
index bbe083e..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/side-menu.css
+++ /dev/null
@@ -1,276 +0,0 @@
-body {
-    /* color: #777; */
-}
-
-.pure-img-responsive {
-    max-width: 100%;
-    height: auto;
-}
-
-/*
-Add transition to containers so they can push in and out.
-*/
-#layout,
-#menu,
-.menu-link {
-    -webkit-transition: all 0.2s ease-out;
-    -moz-transition: all 0.2s ease-out;
-    -ms-transition: all 0.2s ease-out;
-    -o-transition: all 0.2s ease-out;
-    transition: all 0.2s ease-out;
-}
-
-/*
-This is the parent `<div>` that contains the menu and the content area.
-*/
-#layout {
-    position: relative;
-    padding-left: 0;
-}
-    #layout.active {
-        position: relative;
-        left: 200px;
-    }
-        #layout.active #menu {
-            left: 200px;
-            width: 200px;
-        }
-
-        #layout.active .menu-link {
-            left: 200px;
-        }
-/*
-The content `<div>` is where all your content goes.
-*/
-.content {
-    margin: 0 auto;
-    padding: 0 2em;
-    max-width: 800px;
-    margin-bottom: 50px;
-    line-height: 1.6em;
-	color: #444;
-}
-
-.header {
-     margin: 0;
-     color: #333;
-     text-align: center;
-     padding: 2.5em 2em 0;
-     border-bottom: 1px solid #eee;
- }
-    .header h1 {
-        margin: 0.2em 0;
-        font-size: 3em;
-        font-weight: 300;
-    }
-     .header h2 {
-        font-weight: 300;
-        color: #ccc;
-        padding: 0;
-        margin-top: 0;
-    }
-
-.content-subhead {
-    margin: 50px 0 20px 0;
-    font-weight: 300;
-    color: #888;
-}
-
-#inout {
-padding: 1em;
-}
-.blockhead {
-	display: block;
-	height: 1em;
-}
-
-.wanmarker {
-	background: #77c;
-	padding: 0.25em;
-    color: #fff;
-}
-
-.lanmarker {
-	background: #cc7;
-	padding: 0.25em;
-    color: #fff;
-}
-
-.wlanmarker {
-	background: #7c7;
-	padding: 0.25em;
-    color: #fff;
-}
-
-.ffmarker {
-    background: #ffc12e;
-    padding: 0.25em;
-    color: #fff;
-}
-
-.infotext {
-	font-size: 0.8em;
-	padding-right: 1em;
-}
-
-/*
-The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that
-appears on the left side of the page.
-*/
-
-#menu {
-    margin-left: -200px; /* "#menu" width */
-    width: 200px;
-    position: fixed;
-    top: 0;
-    left: 0;
-    bottom: 0;
-    z-index: 1000; /* so the menu or its navicon stays above all content */
-    background: #191818;
-    overflow-y: auto;
-    -webkit-overflow-scrolling: touch;
-}
-    /*
-    All anchors inside the menu should be styled like this.
-    */
-    #menu a {
-        color: #aaa;
-        border: none;
-        padding: 0.6em 0 0.6em 0.6em;
-    }
-
-    /*
-    Remove all background/borders, since we are applying them to #menu.
-    */
-     #menu .pure-menu,
-     #menu .pure-menu ul {
-        border: none;
-        background: transparent;
-    }
-
-    /*
-    Add that light border to separate items into groups.
-    */
-    #menu .pure-menu ul,
-    #menu .pure-menu .menu-item-divided {
-        border-top: 1px solid #333;
-    }
-        /*
-        Change color of the anchor links on hover/focus.
-        */
-        #menu .pure-menu li a:hover,
-        #menu .pure-menu li a:focus {
-            background: #dc0067;
-			color: #ffffff;
-        }
-
-    /*
-    This styles the selected menu item `<li>`.
-    */
-	
-	#menu .pure-menu-selected {
-        background: #ffc12e;
-		color: #fff;
-    }
-        /*
-        This styles a link within a selected menu item `<li>`.
-        */
-        #menu .pure-menu-selected a {
-            color: #fff;
-        }
-
-    /*
-    This styles the menu heading.
-    */
-    #menu .pure-menu-heading {
-        font-size: 110%;
-        color: #fff;
-        margin: 0;
-    }
-
-/* -- Dynamic Button For Responsive Menu -------------------------------------*/
-
-/*
-The button to open/close the Menu is custom-made and not part of Pure. Here's
-how it works:
-*/
-
-/*
-`.menu-link` represents the responsive menu toggle that shows/hides on
-small screens.
-*/
-.menu-link {
-    position: fixed;
-    display: block; /* show this only on small screens */
-    top: 0;
-    left: 0; /* "#menu width" */
-    background: #000;
-    background: rgba(0,0,0,0.7);
-    font-size: 10px; /* change this value to increase/decrease button size */
-    z-index: 10;
-    width: 2em;
-    height: auto;
-    padding: 2.1em 1.6em;
-}
-
-    .menu-link:hover,
-    .menu-link:focus {
-        background: #000;
-    }
-
-    .menu-link span {
-        position: relative;
-        display: block;
-    }
-
-    .menu-link span,
-    .menu-link span:before,
-    .menu-link span:after {
-        background-color: #fff;
-        width: 100%;
-        height: 0.2em;
-    }
-
-        .menu-link span:before,
-        .menu-link span:after {
-            position: absolute;
-            margin-top: -0.6em;
-            content: " ";
-        }
-
-        .menu-link span:after {
-            margin-top: 0.6em;
-        }
-
-
-/* -- Responsive Styles (Media Queries) ------------------------------------- */
-
-/*
-Hides the menu at `48em`, but modify this based on your app's needs.
-*/
- at media (min-width: 48em) {
-
-    .header,
-    .content {
-        padding-left: 2em;
-        padding-right: 2em;
-    }
-
-    #layout {
-        padding-left: 200px; /* left col width "#menu" */
-        left: 0;
-    }
-    #menu {
-        left: 200px;
-    }
-
-    .menu-link {
-        position: fixed;
-        left: 200px;
-        display: none;
-    }
-
-    #layout.active .menu-link {
-        left: 200px;
-    }
-}
\ No newline at end of file
diff --git a/src/packages/fff/fff-web/files/www/public/css/style.css b/src/packages/fff/fff-web/files/www/public/css/style.css
deleted file mode 100644
index a194087..0000000
--- a/src/packages/fff/fff-web/files/www/public/css/style.css
+++ /dev/null
@@ -1,78 +0,0 @@
-* {
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
-}
-
-body {
-	line-height: 1.7em;
-	color: #7f8c8d;
-	font-size: 13px;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-label {
-	color: #34495e;
-}
-
-.pure-img-responsive {
-	max-width: 100%;
-	height: auto;
-}
-
-.pure-button {
-	background-color: #1f8dd6;
-	color: white;
-	padding: 0.5em 2em;
-	border-radius: 5px;
-}
-
-a.pure-button-primary {
-	background: white;
-	color: #1f8dd6;
-	border-radius: 5px;
-	font-size: 120%;
-}
-
-.home-menu {
-	padding: 0.5em;
-	text-align: center;
-	box-shadow: 0 1px 1px rgba(0,0,0, 0.10);
-}
-
-.home-menu.pure-menu-open {
-	background: #2d3e50;
-}
-
-.home-menu .pure-menu-heading {
-	color: white;
-	font-weight: 400;
-	font-size: 120%;
-}
-
-.home-menu .pure-menu-selected a {
-	color: white;
-}
-
-.home-menu a {
-	color: #6FBEF3;
-}
-
-.home-menu li a:hover,
-.home-menu li a:focus {
-	background: none;
-	color: #AECFE5;
-}
-
-.home-menu {
-	text-align: left;
-}
-
-.home-menu ul {
-	float: right;
-}
diff --git a/src/packages/fff/fff-web/files/www/public/freifunk.svg b/src/packages/fff/fff-web/files/www/public/freifunk.svg
new file mode 120000
index 0000000..1f783ad
--- /dev/null
+++ b/src/packages/fff/fff-web/files/www/public/freifunk.svg
@@ -0,0 +1 @@
+../ssl/freifunk.svg
\ No newline at end of file
diff --git a/src/packages/fff/fff-web/files/www/public/index.html b/src/packages/fff/fff-web/files/www/public/index.html
index 2278278..c09da1d 100644
--- a/src/packages/fff/fff-web/files/www/public/index.html
+++ b/src/packages/fff/fff-web/files/www/public/index.html
@@ -1,13 +1,13 @@
 <html>
 <head>
 	<meta charset="utf-8"/>
-	<meta http-equiv="refresh" content="0; URL=/cgi-bin/status">
+	<meta http-equiv="refresh" content="0; URL=/cgi-bin/status.html">
 	<meta http-equiv="cache-control" content="no-cache">
 	<meta http-equiv="expires" content="0">
 	<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
 	<meta http-equiv="pragma" content="no-cache">
 </head>
 <body>
-	<a href="/cgi-bin/status">Redirecting...</a>
+	<a href="/cgi-bin/status.html">Redirecting...</a>
 </body>
 </html>
diff --git a/src/packages/fff/fff-web/files/www/public/style.css b/src/packages/fff/fff-web/files/www/public/style.css
new file mode 120000
index 0000000..b862933
--- /dev/null
+++ b/src/packages/fff/fff-web/files/www/public/style.css
@@ -0,0 +1 @@
+../ssl/style.css
\ No newline at end of file
-- 
2.7.2




Mehr Informationen über die Mailingliste franken-dev