summaryrefslogtreecommitdiffstats
path: root/admin/survey/modules/mod_WPN
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2022-01-11 12:35:47 +0100
committerAnton Luka Šijanec <anton@sijanec.eu>2022-01-11 12:35:47 +0100
commit19985dbb8c0aa66dc4bf7905abc1148de909097d (patch)
tree2cd5a5d20d7e80fc2a51adf60d838d8a2c40999e /admin/survey/modules/mod_WPN
download1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.gz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.bz2
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.lz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.xz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.zst
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.zip
Diffstat (limited to 'admin/survey/modules/mod_WPN')
-rw-r--r--admin/survey/modules/mod_WPN/class.WPN.php184
-rw-r--r--admin/survey/modules/mod_WPN/frontend/_DS_Storebin0 -> 6148 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.pngbin0 -> 6211 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.pngbin0 -> 14989 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-splash-1125.pngbin0 -> 91858 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-splash-1242.pngbin0 -> 107859 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-splash-1536.pngbin0 -> 109418 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-splash-1668.pngbin0 -> 129115 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-splash-2048.pngbin0 -> 181771 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-splash-640.pngbin0 -> 38268 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-splash-750.pngbin0 -> 57249 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/apple-touch-icon.pngbin0 -> 6129 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/browserconfig.xml9
-rw-r--r--admin/survey/modules/mod_WPN/frontend/css/main.css509
-rw-r--r--admin/survey/modules/mod_WPN/frontend/css/normalize.min.css1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/css/production.css1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/favicon-16x16.pngbin0 -> 997 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/favicon-32x32.pngbin0 -> 1785 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/favicon.icobin0 -> 15086 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/humans.txt13
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.pngbin0 -> 28565 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/assign.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/aths.pngbin0 -> 12051 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/connected.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/data.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/facebook.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/googleplay.pngbin0 -> 9230 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/ios.pngbin0 -> 13356 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/mail.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/mentioned.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/messaging.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/search.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/security.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/share.pngbin0 -> 4719 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/text.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/twitter.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/vault.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/img/youtube.svg1
-rw-r--r--admin/survey/modules/mod_WPN/frontend/index.html196
-rw-r--r--admin/survey/modules/mod_WPN/frontend/index1.html360
-rw-r--r--admin/survey/modules/mod_WPN/frontend/js/main.js169
-rw-r--r--admin/survey/modules/mod_WPN/frontend/manifest.json21
-rw-r--r--admin/survey/modules/mod_WPN/frontend/mstile-150x150.pngbin0 -> 4751 bytes
-rw-r--r--admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg290
-rw-r--r--admin/survey/modules/mod_WPN/frontend/sw.js124
-rw-r--r--admin/survey/modules/mod_WPN/frontend/ui.html104
-rw-r--r--admin/survey/modules/mod_WPN/info WPN.txt5
47 files changed, 1999 insertions, 0 deletions
diff --git a/admin/survey/modules/mod_WPN/class.WPN.php b/admin/survey/modules/mod_WPN/class.WPN.php
new file mode 100644
index 0000000..baabfef
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/class.WPN.php
@@ -0,0 +1,184 @@
+<?php
+/**
+ *
+ * MAZA - mobilna aplikacija za anketirance
+ * Class za posiljanje sporocil uporabnikom (v mojih anketah)
+ *
+ * Uroš Podkrižnik 16.10.2017
+ */
+
+require __DIR__ . '/../../../../vendor/autoload.php';
+use Minishlink\WebPush\WebPush;
+use Minishlink\WebPush\Subscription;
+use Minishlink\WebPush\VAPID;
+
+class WPN {
+
+ var $_ank_id;
+ var $_ank_link;
+ var $_ank_title;
+
+ function __construct($ank_id = 0) {
+ $this->_ank_id = $ank_id;
+ //get survey title and link
+ if($ank_id > 0){
+ SurveyInfo::getInstance()->SurveyInit($ank_id);
+ $this->_ank_title = SurveyInfo::getSurveyColumn('naslov');
+ $this->_ank_link = SurveyInfo::getSurveyLink();
+ }
+ }
+
+ public function display() {
+ global $admin_type, $global_user_id, $lang;
+
+ // Izpis vseh poslanih sporocil
+ if ($admin_type == 0) {
+ //is survey activated
+ $act = sisplet_query("SELECT active FROM srv_anketa WHERE id='" . $this->_ank_id . "'", 'obj');
+ if($act->active != 1)
+ echo '<p class="red">'.$lang['srv_anketa_noactive2'].'<p>';
+
+ $this->sendMessageForm();
+
+ if(isset($_GET['FCM_response']))
+ echo '<br><br>'.$_GET['FCM_response'];
+ }
+ }
+
+ // Obrazec za posiljanje notificationa
+ private function sendMessageForm() {
+ global $admin_type, $global_user_id, $lang;
+
+ //FORM FOR WEB PUSH NOTIFICATIONs
+ echo '<fieldset>';
+ echo '<legend>'.$lang["srv_wpn"].'</legend>';
+ echo '<form name="wpn_send_notification" id="wpn_send_notification" method="post" action="ajax.php?t=WPN&a=wpn_send_notification">';
+ /* echo '<span class="clr bold">'.$lang['srv_notifications_send_reciever'].': </span><input type="text" name="recipient" id="recipient">';
+
+ // Checkboxa za posiljenje vsem uporabnikoom (slo in ang)
+ echo '<div style="padding-top:5px;"><input type="checkbox" value="1" name="recipient_all_slo" id="recipient_all_slo" onClick="recipient_all_disable_email();"> <label for="recipient_all_slo"><span class="clr bold">'.$lang['srv_notifications_send_all_slo'].'</span></label></div>';
+ echo '<div style="padding-top:5px;"><input type="checkbox" value="1" name="recipient_all_ang" id="recipient_all_ang" onClick="recipient_all_disable_email();"> <label for="recipient_all_ang"><span class="clr bold">'.$lang['srv_notifications_send_all_ang'].'</span></label></div><br />';
+ */
+
+ echo '<input type="hidden" name="anketa" value="' . $this->_ank_id . '">';
+ echo '<span class="clr bold">' . $lang['srv_notifications_send_title'] . ': </span><input type="text" name="wpn_title" id="wpn_title" size="35" value="' . $lang['srv_wpn_notification_title_default'] . '" maxlength="35"><br><br>';
+ echo '<span class="clr bold">' . $lang['srv_notifications_send_text'] . ': </span><input type="text" name="wpn_message" id="wpn_message" size="45" value="'.$this->_ank_title.'" maxlength="45"></textarea><br><br>';
+
+ //echo '<label><input type="checkbox" id="maza_notification_priority" name="maza_notification_priority" value="1" />';
+ //echo $lang['srv_maza_notification_priority'] . '</label><br><br>';
+
+ //echo '<label><input type="checkbox" id="maza_notification_sound" name="maza_notification_sound" value="1" />';
+ //echo $lang['srv_maza_notification_sound'] . '</label><br><br>';
+
+ echo '<span class="floatLeft spaceRight"><div class="buttonwrapper">'
+ . '<a class="ovalbutton ovalbutton_orange btn_savesettings" href="#" onclick="$(\'#wpn_send_notification\').submit();">';
+ echo $lang['srv_notifications_send'];
+ echo '</a></div></span>';
+
+ echo '<br><br><p id="maza_result">' . $_POST['maza_result'] . '</p>';
+
+ echo '</form>';
+ echo '</fieldset>';
+ }
+
+ //PWA
+ public function ajax_wpn_save_subscription(){
+ //whole link for endpoint - browser request link and endpoint key of user
+ $endpoint = $_POST['endpoint'];
+ //last slash index
+ $lsi = strrpos($endpoint, '/');
+ //endpoint key
+ $endpoint_key = substr($endpoint, $lsi + 1);
+ //endpoint link
+ $endpoint_link = substr($endpoint, 0, $lsi + 1);
+
+ sisplet_query("INSERT INTO browser_notifications_respondents (timestamp_joined, endpoint_link, endpoint_key, public_key, auth) "
+ . "VALUES (NOW(), '".$endpoint_link."', '".$endpoint_key."', '".$_POST['keys']['p256dh']."', '".$_POST['keys']['auth']."')");
+
+ echo 'Subscription added';
+ }
+
+ public function sendWebPushNotificationsToAll(){
+ //global $FCM_server_key;
+
+ $title = $_POST['wpn_title'];
+ $message = $_POST['wpn_message'];
+
+ $payload = array('title'=>$title, 'message'=>$message, 'link'=>$this->_ank_link);
+
+ /*$notifications = [ // this is the structure for the working draft from october 2018 (https://www.w3.org/TR/2018/WD-push-api-20181026/)
+ [
+ 'subscription' => Subscription::create([
+ "endpoint" => "https://updates.push.services.mozilla.com/wpush/v1/gAAAAABdoHSjAgtlSI2QNu_D6p3WDWITErDHYLWfbf37pgJd1HYnIukVaHfAxAOi4gxzPq1c8baWSMk9O6YkSOrbn7brlWaLpcNnKba1xgia13ESTwKNaevwY9_ciy3ojB4IXprryHTb",
+ "keys" => [
+ 'p256dh' => "BIvluRM0T5ezCbH_IwEhsDr8D-kXq4sRfgmaG4OKOGbqrE6CWwcrvY5S7YpqfMgn_ZqOHlLaZX11skBWar3Xj3w",
+ 'auth' => "Tqco8e4PIAZL9zogxks3qQ"
+ ]
+ ])
+ ],
+ [
+ 'subscription' => Subscription::create([
+ "endpoint" => "https://fcm.googleapis.com/fcm/send/cDZBBiO8nwA:APA91bG6pQJNapbmiT0zMED_HEiQNi2OxgmAJbjqWnny1H78FXFRzJXtcBi62xwdZHOr9GWrBsbE5ePPK58m9H9ZKhy0Q8TFKCu-Os-ykAN2IJL4lPVcUyslBMt8sCABlomHUHl8AQLR",
+ "keys" => [
+ 'p256dh' => "BPyTEM7mLZAFQm-8bSsVmAJRDMeCTjwSmOCJXieK-xtwcRsKE9zLHZRpfp52ChQzrDZLi_n0RdBiX5yydC7DL90",
+ 'auth' => "iSKAhIqNvjlaOhXzk4ulJw"
+ ]
+ ])
+ ],
+ [
+ 'subscription' => Subscription::create([
+ "endpoint" => "https://updates.push.services.mozilla.com/wpush/v2/gAAAAABdpZDL1nFRXedBJYYfTwdcqfrf2khsEXllMLEWPBIolO1t1wkptE7HzkypkPDEVwYq0ju1kNblwJHxA9v0k05oVNCuxBi0l0dDqsrZZ_TRao_hDprjzoSuuHE5z4zrTzbTwwxKqmxDYvF_1Ty28qaUaaLqFJGgOTgSjN9W3bkifRqDZnQ",
+ "keys" => [
+ 'p256dh' => "BESWycM2xqcaFcvG1kYWGpnamq6IZd8mhGtSQpUsROBn0ejJmwI_vptgpW4jBwbQrcb-T8sXvmRRZ4HY9VLWJes",
+ 'auth' => "WnRV6LQEYcvwb21DnpXzkA"
+ ]
+ ])
+ ],
+ [
+ 'subscription' => Subscription::create([
+ "endpoint" => "https://fcm.googleapis.com/fcm/send/cyGorE1fYnM:APA91bHq1if5UrRr1uI8HLD92M2OCekH1kH6q7HmrINkMFHmLq_RtuytWb9DKo2446WgvDRbzUjQXwQ88_b70NzOUBBFWhxaslJuQFyJZPHIkxRf--MIHTY-KSQ1JcPQYcED1QreaEZf",
+ "keys" => [
+ 'p256dh' => "BPTZTRDEztn_YpAvdv4wjtCyNqo0RNFfWbjm9r7bgyZh2RBZgDvitaW_68hNC6cYGzKGJM9aMpGi59-_H8HYSn8",
+ 'auth' => "M79ZKrfJwEzPfHIpkN-tIw"
+ ]
+ ])
+ ]
+ ];*/
+
+ //get all subscriptions and put them in array
+ $subscriptions = sisplet_query("SELECT endpoint_link, endpoint_key, public_key, auth FROM browser_notifications_respondents", 'array');
+ $notifications = array();
+ foreach ($subscriptions as $subsc){
+ $subscription = array("endpoint"=>$subsc['endpoint_link'].$subsc['endpoint_key'], "keys"=>array('p256dh' => $subsc['public_key'],'auth' => $subsc['auth']));
+ array_push($notifications, array('subscription' => Subscription::create($subscription)));
+ }
+
+ $auth = array(
+ 'VAPID' => array(
+ 'subject' => 'mailto:enklikanketa@gmail.com',
+ 'publicKey' => 'BNVIBdCsC6vkmByQJ861pusHN1mV76X3mvAa1u4PxmleTv2m2whcEu9Elhh8Qz3XnqV6k58YCSVqaafl3bhPKLU',
+ 'privateKey' => 'c7mxuK7Nexe4NHnCtYE79p0iHzaXZGikWpua7z66dQg',
+ ),
+ );
+ $webPush = new WebPush($auth);
+ // send multiple notifications with payload
+ foreach ($notifications as $notification) {
+ $webPush->sendNotification(
+ $notification['subscription'],
+ json_encode($payload)
+ );
+ }
+
+ // handle eventual errors here, and remove the subscription from your server if it is expired
+ foreach ($webPush->flush() as $report) {
+ $endpoint = $report->getRequest()->getUri()->__toString();
+ if ($report->isSuccess()) {
+ echo "<br>[v] Message sent successfully for subscription {$endpoint}.";
+ } else {
+ echo "<br>[x] Message failed to sent for subscription {$endpoint}: {$report->getReason()}";
+ }
+ }
+ }
+
+}
+?> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/_DS_Store b/admin/survey/modules/mod_WPN/frontend/_DS_Store
new file mode 100644
index 0000000..404f156
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/_DS_Store
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png b/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png
new file mode 100644
index 0000000..76f01ba
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png b/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png
new file mode 100644
index 0000000..8e10c1b
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1125.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1125.png
new file mode 100644
index 0000000..0aaf720
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-splash-1125.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1242.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1242.png
new file mode 100644
index 0000000..dbd4770
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-splash-1242.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1536.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1536.png
new file mode 100644
index 0000000..86c5313
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-splash-1536.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1668.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1668.png
new file mode 100644
index 0000000..3c88be3
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-splash-1668.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-2048.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-2048.png
new file mode 100644
index 0000000..c61ef82
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-splash-2048.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-640.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-640.png
new file mode 100644
index 0000000..02fdc6f
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-splash-640.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-750.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-750.png
new file mode 100644
index 0000000..36ec024
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-splash-750.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/apple-touch-icon.png b/admin/survey/modules/mod_WPN/frontend/apple-touch-icon.png
new file mode 100644
index 0000000..6fce72f
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/apple-touch-icon.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/browserconfig.xml b/admin/survey/modules/mod_WPN/frontend/browserconfig.xml
new file mode 100644
index 0000000..3b0a805
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/browserconfig.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+ <msapplication>
+ <tile>
+ <square150x150logo src="/mstile-150x150.png"/>
+ <TileColor>#da532c</TileColor>
+ </tile>
+ </msapplication>
+</browserconfig>
diff --git a/admin/survey/modules/mod_WPN/frontend/css/main.css b/admin/survey/modules/mod_WPN/frontend/css/main.css
new file mode 100644
index 0000000..5a9be8b
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/css/main.css
@@ -0,0 +1,509 @@
+/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
+
+html {
+ color: #222;
+ font-size: 1em;
+ line-height: 1.4;
+}
+
+::-moz-selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+::selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #ccc;
+ margin: 1em 0;
+ padding: 0;
+}
+
+audio,
+canvas,
+iframe,
+img,
+svg,
+video {
+ vertical-align: middle;
+}
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+
+textarea {
+ resize: vertical;
+}
+
+.browserupgrade {
+ margin: 0.2em 0;
+ background: #ccc;
+ color: #000;
+ padding: 0.2em 0;
+}
+
+
+/* ===== Initializr Styles ==================================================
+ Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
+ ========================================================================== */
+
+body {
+ font: 16px/26px Helvetica, Helvetica Neue, Arial;
+}
+
+.wrapper {
+ width: 90%;
+ margin: 0 5%;
+}
+
+/* ===================
+ ALL: Blue Theme
+ =================== */
+
+.header-container {
+ border-bottom: 20px solid #264de4;
+ position: fixed;
+ width: 100%;
+ top: 0px;
+}
+
+.footer-container,
+.main aside {
+ border-top: 20px solid #264de4;
+}
+
+.header-container,
+.footer-container,
+.main aside {
+ background: #2965f1;
+}
+
+.title {
+ color: white;
+}
+
+/* ==============
+ MOBILE: Menu
+ ============== */
+
+nav ul {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+}
+
+nav a {
+ display: block;
+ margin-bottom: 10px;
+ padding: 15px 0;
+
+ text-align: center;
+ text-decoration: none;
+ font-weight: bold;
+
+ color: white;
+ background: #264de4;
+}
+
+nav{
+ display: none;
+}
+
+nav a:hover,
+nav a:visited {
+ color: white;
+}
+
+nav a:hover {
+ text-decoration: underline;
+}
+
+/* ==============
+ MOBILE: Main
+ ============== */
+
+.main {
+ padding: 30px 0;
+}
+
+.main article h1 {
+ font-size: 2em;
+}
+
+.main aside {
+ color: white;
+ padding: 0px 5% 10px;
+}
+
+.footer-container footer {
+ color: white;
+ padding: 20px 0;
+}
+
+/* ===============
+ ALL: IE Fixes
+ =============== */
+
+.ie7 .title {
+ padding-top: 20px;
+}
+
+/* ==========================================================================
+ Author's custom styles
+ ========================================================================== */
+
+.subtitle{
+ font-size: 1.1em;
+ font-style: italic;
+ font-weight: bolder;
+}
+
+.responsiveImg {
+ margin: auto;
+ max-width: 128px;
+ border-radius: 50%;
+ padding: 0px 20px 10px 10px;
+}
+
+.main header, .main section, .main footer{
+ padding: 10px;
+ margin-bottom: 20px;
+}
+
+.main header h1, .main section h2, .facultyContainer h4{
+ background: #2965f1;
+ color: white;
+ padding: 10px;
+ border-top: 20px solid #264de4;
+}
+
+.facultyContainer{
+ padding: 5px;
+
+}
+.facultyImage{
+ float: left;
+ width: 30%;
+ height: 30%;
+ min-width: 180px;
+ margin: auto;
+ text-align: center;
+}
+
+aside a{
+ color: white;
+ text-decoration: none;
+}
+
+.footerLinks{
+ float: right;
+ text-align: right;
+}
+
+.footerLinks a{
+ color: white;
+ text-decoration: none;
+}
+
+#trigger{
+ float: right;
+ line-height: 10px;
+ padding: 5px;
+ height: 32px;
+ width: 32px;
+ position: fixed;
+ margin: 5px 10px 0px 15px;
+ cursor: pointer;
+ cursor: hand;
+ background-color: #264de4;
+ border-radius: 21px;
+ vertical-align: text-top;
+ right: 10px;
+ top: 10px;
+}
+.triggerLine{
+ display: block;
+ width: calc(100% - 9px);
+ text-align: center;
+ height: 2px;
+ background-color: white;
+ margin: 6px auto;
+ border-radius: 2px;
+}
+.main-container{
+ margin-top: 40px;
+}
+
+#addToHomeScreen{
+ display: block;
+ margin-top: 20px;
+ padding: 0px;
+ display: none;
+}
+
+#addToHomeScreen img{
+ max-width: 57px;
+ margin: 10px;
+ float: left;
+}
+
+#addToHomeScreen button{
+ background-color: #264de4;
+ color: white;
+ border: 1px #2965f1 solid;
+ margin: 5px 10px;
+}
+
+#instructions{
+ text-align: center;
+ background-color: #f2f4f4;
+ position: fixed;
+ bottom: 0px;
+ right: 20px;
+ left: 20px;
+ width: calc(100%-40px);
+ padding: 0px 10px 10px 10px;
+ display: none;
+}
+
+#instructions img{
+ max-width: 64px;
+}
+
+#instructions button{
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ background-color: #264de4;
+ color: white;
+ border: 1px #2965f1 solid;
+}
+
+
+/* ==========================================================================
+ Media Queries
+ ========================================================================== */
+
+@media only screen and (min-width: 480px) {
+
+/* ====================
+ INTERMEDIATE: Menu
+ ==================== */
+
+ nav a {
+ float: left;
+ width: 27%;
+ margin: 0 1.7%;
+ padding: 25px 2%;
+ margin-bottom: 0;
+ }
+
+ nav li:first-child a {
+ margin-left: 0;
+ }
+
+ nav li:last-child a {
+ margin-right: 0;
+ }
+ #trigger{
+ display: block;
+ }
+
+
+/* ========================
+ INTERMEDIATE: IE Fixes
+ ======================== */
+
+ nav ul li {
+ display: inline;
+ }
+
+ .oldie nav a {
+ margin: 0 0.7%;
+ }
+}
+
+@media only screen and (min-width: 768px) {
+
+/* ====================
+ WIDE: CSS3 Effects
+ ==================== */
+
+ .header-container,
+ .main aside,
+ .main header,
+ .main section,
+ .main footer {
+ -webkit-box-shadow: 0 5px 10px #aaa;
+ -moz-box-shadow: 0 5px 10px #aaa;
+ box-shadow: 0 5px 10px #aaa;
+ }
+
+/* ============
+ WIDE: Menu
+ ============ */
+
+ .title {
+ float: left;
+ }
+
+ nav {
+ float: right;
+ width: 38%;
+ display: block !important;
+ }
+ #trigger{
+ display: none;
+ }
+
+/* ============
+ WIDE: Main
+ ============ */
+
+ .main article {
+ float: left;
+ width: 57%;
+ }
+
+ .main aside {
+ float: right;
+ width: 28%;
+ }
+
+ .main-container{
+ margin-top: 100px;
+ }
+}
+
+@media only screen and (min-width: 1140px) {
+
+/* ===============
+ Maximal Width
+ =============== */
+
+ .wrapper {
+ width: 1026px; /* 1140px - 10% for margins */
+ margin: 0 auto;
+ }
+}
+
+/* ==========================================================================
+ Helper classes
+ ========================================================================== */
+
+.hidden {
+ display: none !important;
+ visibility: hidden;
+}
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto;
+}
+
+.invisible {
+ visibility: hidden;
+}
+
+.clearfix:before,
+.clearfix:after {
+ content: " ";
+ display: table;
+}
+
+.clearfix:after {
+ clear: both;
+}
+
+.clearfix {
+ *zoom: 1;
+}
+
+/* ==========================================================================
+ Print styles
+ ========================================================================== */
+
+@media print {
+ *,
+ *:before,
+ *:after {
+ background: transparent !important;
+ color: #000 !important;
+ box-shadow: none !important;
+ text-shadow: none !important;
+ }
+
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+
+ a[href^="#"]:after,
+ a[href^="javascript:"]:after {
+ content: "";
+ }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+
+ thead {
+ display: table-header-group;
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ img {
+ max-width: 100% !important;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+} \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/css/normalize.min.css b/admin/survey/modules/mod_WPN/frontend/css/normalize.min.css
new file mode 100644
index 0000000..f6e0b65
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/css/normalize.min.css
@@ -0,0 +1 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}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}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/css/production.css b/admin/survey/modules/mod_WPN/frontend/css/production.css
new file mode 100644
index 0000000..bf89b99
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/css/production.css
@@ -0,0 +1 @@
+/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}blockquote,caption,dd,dl,fieldset,figure,form,hr,ol,pre,table,td,th,ul{margin:0;padding:0}[tabindex='-1']:focus{outline:0}body,button,input,select,textarea{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a:active,a:hover{outline:0}[role=button],a,button,input,label,select,textarea{-ms-touch-action:manipulation;touch-action:manipulation}ol,ul{margin-bottom:.8rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}code,kbd,pre,samp{font-family:Monaco,Menlo,Consolas,monospace}b,strong{line-height:inherit}em,i{font-style:italic;line-height:inherit}table{display:table;max-width:100%}td,th{line-height:1.6rem;vertical-align:middle}th{text-align:left}form{font-size:1rem}fieldset{border:0;min-width:0}legend{line-height:inherit;margin:0}input,optgroup,select,textarea{line-height:inherit}input,label,select{vertical-align:middle}input[type=file]{display:block;width:100%}textarea{height:auto;resize:vertical}input:focus,select:focus,textarea:focus{outline:0}.select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}select[multiple],select[size]{height:auto}.select--list:after{content:none!important}select::-ms-expand{display:none}option{color:#262b3a;background-color:#fff}fieldset[disabled] input,input[disabled],input[readonly]{cursor:not-allowed;opacity:1;pointer-events:none}button{line-height:inherit;vertical-align:middle}embed,iframe,img,object{display:inline-block;vertical-align:middle}iframe{border:0}img{border:0;font-style:italic;height:auto;-ms-interpolation-mode:bicubic}svg{max-height:100%}.gm-style img{max-width:none}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:14px;font-style:normal;font-weight:400;min-height:100%;-webkit-tap-highlight-color:transparent}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}body{background-color:#f2f2f2!important;color:#262b3a;line-height:1.6rem;margin:0;padding:0;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:#294ace;color:#fff;text-shadow:none}::selection{background-color:#294ace;color:#fff;text-shadow:none}img::-moz-selection{background:0 0}img::selection{background:0 0}img::-moz-selection{background:0 0}.btn{background-image:none;border-radius:30px;border-style:solid;border-width:1px;cursor:pointer;display:inline-block;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:1rem;font-weight:700;line-height:1.6rem;margin-bottom:0;padding:.65rem 2.2rem .55rem;text-align:center;text-decoration:none;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-transition:background-color .2s ease-out,background .2s ease-out,color .2s ease-out,border .2s ease-out;transition:background-color .2s ease-out,background .2s ease-out,color .2s ease-out,border .2s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:focus,.btn:hover{outline:0;text-decoration:none}.btn:active{outline:0;background-image:none}.btn.disabled,.btn[disabled],.btn[readonly],fieldset[disabled] .btn{cursor:not-allowed!important;opacity:1;pointer-events:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn--sm{font-size:.618rem;padding:.1rem .6rem 0}.btn--default{background-color:#294ace;border-color:#294ace;color:#fff}.btn--default:focus,.btn--default:hover{background-color:#213ba3;border-color:#213ba3}.btn--default:active{background-color:#182b79;border-color:#182b79}.btn--secondary,.btn--secondary:visited{background-color:#69f0ae;border-color:#69f0ae;color:#262b3a}.btn--secondary:focus,.btn--secondary:hover,.btn--secondary:visited:focus,.btn--secondary:visited:hover{background-color:#3beb95;border-color:#3beb95}.btn--secondary:active,.btn--secondary:visited:active{background-color:#16dd7c;border-color:#16dd7c}.container{margin-left:auto;margin-right:auto;max-width:900px;width:90%}.container--lg{margin-left:auto;margin-right:auto;max-width:1100px;width:90%}canvas,iframe,img,svg,video{max-width:100%}.logo{max-height:300px}.download{max-height:45px}.mentioned{max-height:45px}.illustration--small{max-height:80px}.icon{height:30px}.cta-image{max-height:100px}.form-control{background-image:none;border:1px solid transparent;border-radius:7px;color:#262b3a;display:block;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:1rem;line-height:1.6rem;max-width:100%;padding:.65rem .8rem .55rem;width:100%;-moz-osx-font-smoothing:grayscale}.label{cursor:default;display:inline-block;max-width:100%}.legend{display:block;white-space:normal;width:100%}.form--stacked .checkbox,.form--stacked .input,.form--stacked .label,.form--stacked .radio,.form--stacked .select,.form--stacked .textarea{display:block;width:100%}.form--inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form--inline .checkbox,.form--inline .radio{display:inline-block;vertical-align:middle}.select{color:#262b3a;display:block;position:relative}.select select{background-color:#fff;border:1px solid #abb2c9;border-radius:7px;color:#262b3a;cursor:pointer;display:inline-block;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;line-height:1.6rem;margin:0;outline:0;padding:.65rem .8rem .55rem;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select select>option{background-color:#fff}.select:after{border-top:5px solid;border-right:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid transparent;content:"";display:inline-block;height:0;margin-top:-2px;pointer-events:none;position:absolute;right:13px;top:50%;width:0}::-webkit-input-placeholder{color:#7380a4;-webkit-font-smoothing:antialiased}::-moz-placeholder{color:#7380a4;-moz-osx-font-smoothing:grayscale}:-ms-input-placeholder{color:#7380a4}.grid-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -.8rem}.grid-column{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;padding:0 .8rem}.grid-row--flex-cells>.grid-column{display:-webkit-box;display:-ms-flexbox;display:flex}.grid-row--top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.grid-row--center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.grid-row--bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.column--top{-ms-flex-item-align:start;align-self:flex-start}.column--center{-ms-flex-item-align:center;align-self:center}.column--bottom{-ms-flex-item-align:end;align-self:flex-end}.span-12,.span-whole{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.span-6,.span-half{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.span-4,.span-one-third{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.span-8,.span-two-thirds{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.span-3,.span-one-fourth{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.span-two-fourths{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.span-9,.span-three-fourths{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.span-one-fifth{-ms-flex-preferred-size:20%;flex-basis:20%;max-width:20%}.span-two-fifths{-ms-flex-preferred-size:40%;flex-basis:40%;max-width:40%}.span-three-fifths{-ms-flex-preferred-size:60%;flex-basis:60%;max-width:60%}.span-four-fifths{-ms-flex-preferred-size:80%;flex-basis:80%;max-width:80%}.span-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.span-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.span-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.span-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.span-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.span-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.offset-12{margin-left:100%}.offset-6,.offset-half{margin-left:50%}.offset-4,.offset-one-third{margin-left:33.33333%}.offset-8,.offset-two-thirds{margin-left:66.66667%}.offset-3,.offset-one-fourth{margin-left:25%}.offset-two-fourths{margin-left:50%}.offset-9,.offset-three-fourths{margin-left:75%}.offset-one-fifth{margin-left:20%}.offset-two-fifths{margin-left:40%}.offset-three-fifths{margin-left:60%}.offset-four-fifths{margin-left:80%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-5{margin-left:41.66667%}.offset-7{margin-left:58.33333%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.default-links a,.default-links a:link,.default-links a:visited,.link,.link:link,.link:visited{color:#294ace;text-decoration:none;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.default-links a:focus,.default-links a:hover,.link:focus,.link:hover{color:#213ba3}.default-links a:active,.link:active{background-image:none;color:#142464;outline:0;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.link--text{border-bottom:1px solid #294ace}.no-bullets{list-style:none}.list--indented{padding-left:2.4rem}.list--inline{font-size:0}.list--inline li{display:inline-block;font-size:1rem}.h1,h1{font-size:2.1rem}.h2,h2{font-size:1.8rem}.h3,h3{font-size:1.3rem}.h4,dl,h4,ol,p,ul{font-size:1rem}.h5,h5{font-size:.618rem}.h6,.small,h6,small{font-size:.618rem}h1,h2,h3,h4,h5,h6{font-family:"Source Serif Pro",Georgia,Times,serif;font-weight:700;line-height:1;margin-top:0;margin-bottom:.8rem;text-rendering:optimizeLegibility}h6{color:#4a5472}.h1,.h2,.h3,.h4,.h5,.h6{line-height:1;margin-bottom:.8rem}p{margin:0}.small,small{font-weight:400;line-height:1;font-size:.8rem}hr{border:0;border-top:1px solid #abb2c9;display:block;height:1px}.blockquote{border-left:4px solid #abb2c9;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:1.3rem;font-style:italic;max-width:100%;margin-bottom:.8rem;padding-left:1.2rem}.blockquote:after,.blockquote:before{content:""}.bold{font-weight:700}.regular{font-weight:400}.italic{font-style:italic}.align--left{text-align:left}.align--center{text-align:center}.align--right{text-align:right}.align--justify{text-align:justify}.line-height--base{line-height:1.6rem}.line-height--heading{line-height:1}.font--heading{font-family:"Source Serif Pro",Georgia,Times,serif}.font--reading{font-family:"Source Serif Pro",Georgia,Times,serif}.font--ui{font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif}.border--full{border-color:#abb2c9;border-style:solid;border-width:1px}.border--top{border-top-color:#abb2c9;border-top-style:solid;border-top-width:1px}.border--right{border-right-color:#abb2c9;border-right-style:solid;border-right-width:1px}.border--bottom{border-bottom-color:#abb2c9;border-bottom-style:solid;border-bottom-width:1px}.border--left{border-left-color:#abb2c9;border-left-style:solid;border-left-width:1px}.border--none{border:0}.rounded{border-radius:7px}.rounded--top{border-radius:7px 7px 0 0}.rounded--right{border-radius:0 7px 7px 0}.rounded--bottom{border-radius:0 0 7px 7px}.rounded--left{border-radius:7px 0 0 7px}.circle{border-radius:50%}.text--white{color:#fff}.text--lightest-gray{color:#abb2c9}.text--light-gray{color:#7380a4}.text--gray{color:#4a5472}.text--dark-gray{color:#262b3a}.text--darkest-gray{color:#020203}.text--primary-color{color:#294ace}.text--secondary-color{color:#69f0ae}.text--tertiary-color{color:#ff5252}.bg--white{background-color:#fff}.bg--lightest-gray{background-color:#abb2c9}.bg--light-gray{background-color:#7380a4}.bg--gray{background-color:#4a5472}.bg--dark-gray{background-color:#262b3a}.bg--darkest-gray{background-color:#020203}.bg--primary-color{background-color:#294ace}.bg--secondary-color{background-color:#69f0ae}.bg--tertiary-color{background-color:#ff5252}.m0{margin:0}.mt0{margin-top:0}.mr0{margin-right:0}.mb0{margin-bottom:0}.ml0{margin-left:0}.m1{margin:.8rem}.mt1{margin-top:.8rem}.mr1{margin-right:.8rem}.mb1{margin-bottom:.8rem}.ml1{margin-left:.8rem}.m2{margin:2rem}.mt2{margin-top:2rem}.mr2{margin-right:2rem}.mb2{margin-bottom:2rem}.ml2{margin-left:2rem}.m3{margin:3.2rem}.mt3{margin-top:3.2rem}.mr3{margin-right:3.2rem}.mb3{margin-bottom:3.2rem}.ml3{margin-left:3.2rem}.m4{margin:4.4rem}.mt4{margin-top:4.4rem}.mr4{margin-right:4.4rem}.mb4{margin-bottom:4.4rem}.ml4{margin-left:4.4rem}.p-mb{margin-bottom:.8rem}.centered{margin-right:auto;margin-left:auto}.p0{padding:0}.pt0{padding-top:0}.pr0{padding-right:0}.pb0{padding-bottom:0}.pl0{padding-left:0}.p1{padding:.8rem}.pt1{padding-top:.8rem}.pr1{padding-right:.8rem}.pb1{padding-bottom:.8rem}.pl1{padding-left:.8rem}.p2{padding:2rem}.pt2{padding-top:2rem}.pr2{padding-right:2rem}.pb2{padding-bottom:2rem}.pl2{padding-left:2rem}.p3{padding:3.2rem}.pt3{padding-top:3.2rem}.pr3{padding-right:3.2rem}.pb3{padding-bottom:3.2rem}.pl3{padding-left:3.2rem}.p4{padding:4.4rem}.pt4{padding-top:4.4rem}.pr4{padding-right:4.4rem}.pb4{padding-bottom:4.4rem}.pl4{padding-left:4.4rem}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top--0{top:0}.right--0{right:0}.bottom--0{bottom:0}.left--0{left:0}.z1{z-index:1}.z2{z-index:2}.z3{z-index:3}.z4{z-index:4}.z5{z-index:5}.vertical--top{vertical-align:top}.vertical--middle{vertical-align:middle}.vertical--bottom{vertical-align:bottom}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}.overflow--scroll{overflow:scroll}.overflow--hidden{overflow:hidden}.overflow--visible{overflow:visible}.overflow--auto{overflow:auto}.show-on-mobile{display:none!important}.float--left{float:left}.float--right{float:right}.float--none{float:none}.full-width{width:100%}.half-width{width:50%}.fit{max-width:100%}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}@media screen and (min-width:40em){html{font-size:16px}.h1,h1{font-size:4.236rem}.h2,h2{font-size:2.618rem}.h3,h3{font-size:1.618rem}.h4,dl,h4,ol,p,ul{font-size:1rem}.h5,h5{font-size:.618rem}.h6,.small,h6,small{font-size:.618rem}}@media screen and (max-width:50em){input,select,textarea{font-size:16px}}@media screen and (max-width:40em){.btn{display:block;margin-top:.8rem;width:100%}.grid-row{margin:0 auto}.grid-column{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%;padding:0;margin-left:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.block-on-mobile,.show-on-mobile{display:block!important}.hide-on-mobile{display:none!important}.align--center-on-mobile{text-align:center!important}.no-mr-on-mobile{margin-right:0!important}} \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/favicon-16x16.png b/admin/survey/modules/mod_WPN/frontend/favicon-16x16.png
new file mode 100644
index 0000000..55b63b1
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/favicon-16x16.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/favicon-32x32.png b/admin/survey/modules/mod_WPN/frontend/favicon-32x32.png
new file mode 100644
index 0000000..5bde17d
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/favicon-32x32.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/favicon.ico b/admin/survey/modules/mod_WPN/frontend/favicon.ico
new file mode 100644
index 0000000..8036a6b
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/favicon.ico
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/humans.txt b/admin/survey/modules/mod_WPN/frontend/humans.txt
new file mode 100644
index 0000000..168fd9d
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/humans.txt
@@ -0,0 +1,13 @@
+# humanstxt.org/
+# The humans responsible & technology colophon
+
+# TEAM
+
+ Designer/Developer: Jordan Bowman
+ @jrdnbwmn
+ eatapapaya.com
+
+# TECHNOLOGY COLOPHON
+
+ HTML5, CSS3, Javascript
+ Normalize.css, Sass, Pear
diff --git a/admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png b/admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png
new file mode 100644
index 0000000..17ad047
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/img/assign.svg b/admin/survey/modules/mod_WPN/frontend/img/assign.svg
new file mode 100644
index 0000000..80adabf
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/assign.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="874.47" height="747.94"><defs><linearGradient id="a" x1="769.97" y1="1002.12" x2="769.97" y2="454.75" gradientTransform="rotate(90 961.385 567.605)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="683.95" y1="639.26" x2="683.95" y2="526.2" gradientTransform="rotate(8.58 3132.77 755.811)" xlink:href="#a"/><linearGradient id="c" x1="475.23" y1="384.44" x2="475.23" y2="-162.93" gradientTransform="translate(-72.73 343.57)" xlink:href="#a"/><linearGradient id="d" x1="393.32" y1="20.38" x2="393.32" y2="-95.86" gradientTransform="rotate(-9.31 2548.498 729.095)" xlink:href="#a"/><linearGradient id="e" x1="480.71" y1="712.84" x2="480.71" y2="165.47" xlink:href="#a"/><linearGradient id="f" x1="-513.22" y1="427.6" x2="-513.22" y2="308.75" gradientTransform="matrix(-1 0 0 1 48 0)" xlink:href="#a"/><linearGradient id="g" x1="652.07" y1="747.94" x2="652.07" y2="579.17" xlink:href="#a"/></defs><path transform="rotate(-81.42 675.036 432.75)" fill="url(#a)" d="M526.87 178.11h547.37v396.16H526.87z" opacity=".5"/><path fill="#f5f5f5" d="M407.334 534.045L487.19 4.765l381.759 57.6-79.857 529.28z"/><path fill="#e0e0e0" d="M503.394 241.968l275.532 41.572-2.52 16.701-275.532-41.572zm-6.298 41.743l275.531 41.572-2.52 16.701-275.53-41.572zM657.133 128.53l141.944 21.415-2.52 16.701-141.944-21.416z"/><path fill="#294ace" d="M663.363 172.172L780.26 189.81l-2.52 16.7-116.897-17.637z"/><path fill="#e0e0e0" d="M490.792 325.46l242.139 36.534-2.52 16.701-242.14-36.533zm-6.305 41.75l208.738 31.494-2.52 16.701-208.738-31.494zm-6.297 41.746l183.69 27.716-2.52 16.7-183.69-27.715zm-6.298 41.749l233.784 35.273-2.52 16.701-233.784-35.273z"/><path fill="#294ace" d="M465.6 492.449l91.841 13.857-2.52 16.7-91.84-13.856z"/><path d="M793 227.53a56.36 56.36 0 1 0-93.8 33.16v.25a19.29 19.29 0 0 0 5.71 5l.11-.24c2.27 2.63 12.72 7.87 25.35 9.74h.28c8 1.22 16.89 1.11 25.14-1.87 0 0 .09-.14.24-.4a20.08 20.08 0 0 0 5.8-2.81l.18-.62A56.3 56.3 0 0 0 793 227.53z" transform="translate(-162.77 -76.03)" fill="url(#b)" opacity=".5"/><circle cx="736.97" cy="217.05" r="54.67" transform="rotate(-81.42 611.44 273.601)" fill="#f5f5f5"/><path d="M549.33 159.05s-13-.89-13.17 23.09a18.71 18.71 0 0 0 5.54 4.83l10.94-23.43zm41.8 6.31s12.72 3 5.78 25.95a18.71 18.71 0 0 1-6.72 3l-3.55-25.61z" fill="#fda57d"/><path d="M555.69 120.69s-8.82 16.91-11.91 14.73c0 0 28.06 32.73 60.75 9.16a85.9 85.9 0 0 0-9.82-18z" fill="#333"/><circle cx="739.39" cy="198.16" r="24.23" transform="rotate(-81.42 613.867 254.714)" fill="#333"/><path d="M590.88 165.32l-41.8-6.3-6.42 16.13s-3.46 7.39-1.12 11.23 27.79 15.59 49 8a22.05 22.05 0 0 0 2.66-13.85c-1.05-8.14-.47-.64-.47-.64z" opacity=".1"/><path d="M591.44 165.41l-41.8-6.3-6.41 16.12s-3.46 7.39-1.12 11.23 27.79 15.59 49 8a22.05 22.05 0 0 0 2.66-13.85c-1.05-8.14-.47-.64-.47-.64z" opacity=".1"/><path d="M591.13 165.36l-41.8-6.3-6.42 16.13s-3.46 7.39-1.12 11.23 27.79 15.59 49 8a22.05 22.05 0 0 0 2.66-13.85c-1.05-8.14-.47-.64-.47-.64z" fill="#fdd835"/><path d="M564.231 147.165l16.72 2.522-2.276 15.09a6.73 6.73 0 0 1-7.658 5.65l-3.422-.516a6.73 6.73 0 0 1-5.65-7.659l2.276-15.089.01.002z" opacity=".1"/><path d="M564.313 146.545l16.72 2.523-2.276 15.089a6.73 6.73 0 0 1-7.659 5.65l-3.411-.514a6.73 6.73 0 0 1-5.651-7.659l2.277-15.09z" fill="#fda57d"/><path d="M564 148.91a24.33 24.33 0 0 0 16.71 2.57l.31-2.05-16.72-2.52z" opacity=".1"/><circle cx="738.61" cy="203.36" r="24.23" transform="rotate(-81.42 613.083 259.916)" fill="#fda57d"/><path d="M554.3 114.78l45.7 6.89s-1.12-19-18.57-20.47-27.13 13.58-27.13 13.58z" fill="#333"/><ellipse cx="715.3" cy="198.8" rx="4.23" ry="2.25" transform="rotate(-81.42 589.763 255.354)" fill="#fda57d"/><ellipse cx="762.11" cy="205.86" rx="4.23" ry="2.25" transform="rotate(-81.42 636.58 262.415)" fill="#fda57d"/><path d="M554.23 115.4l45.7 6.89s-1.12-19-18.57-20.47-27.13 13.58-27.13 13.58z" opacity=".1"/><path transform="matrix(.99 -.16 .16 .99 -230.95 -4.95)" fill="url(#c)" d="M204.42 180.64h396.16v547.37H204.42z" opacity=".5"/><path fill="#f5f5f5" d="M5.635 143.413L386.63 80.955l86.593 528.219L92.23 671.632z"/><path fill="#e0e0e0" d="M93.989 364.122l274.98-45.079 2.732 16.667-274.98 45.08zm6.83 41.666l274.98-45.079 2.732 16.668-274.98 45.079zm104.644-196.845l141.659-23.223 2.732 16.668-141.659 23.223z"/><path fill="#294ace" d="M224.785 248.561l116.663-19.125 2.733 16.668-116.663 19.125z"/><path fill="#e0e0e0" d="M107.649 447.453l241.654-39.616 2.732 16.668-241.654 39.615zm6.828 41.655l208.32-34.151 2.732 16.667-208.32 34.151zm6.831 41.672l183.323-30.054 2.732 16.668-183.323 30.053zm6.83 41.655l233.316-38.25 2.732 16.668-233.315 38.249z"/><path fill="#294ace" d="M134.975 614.104l91.657-15.026 2.732 16.668-91.656 15.026z"/><path d="M354.81 311.49a57.94 57.94 0 1 0-81.3 62.06l.08.25a19.83 19.83 0 0 0 7.16 3.06v-.27c3.05 1.86 14.93 3.69 27.88 1.53h.28c8.21-1.33 16.87-4.25 24-9.77 0 0 0-.16.1-.46a20.64 20.64 0 0 0 4.79-4.58v-.66a57.88 57.88 0 0 0 17.01-51.16z" transform="translate(-162.77 -76.03)" fill="url(#d)" opacity=".5"/><circle cx="297.63" cy="320.86" r="56.2" transform="rotate(-9.31 -250.72 1282.25)" fill="#f5f5f5"/><path d="M114.42 270.45s-13 3.25-5.6 26.75a19.24 19.24 0 0 0 6.95 3l3.31-26.38zm42.88-7.03s13.39-1.09 13.84 23.57a19.24 19.24 0 0 1-5.63 5l-11.56-23.94z" fill="#4d8af0"/><circle cx="292.23" cy="301.74" r="24.91" transform="rotate(-9.31 -256.087 1263.145)" fill="#333"/><path d="M157.05 263.46l-42.88 7-1.19 17.81s-1 8.33 2.45 11.34 32.12 6.48 50.41-7.68a22.67 22.67 0 0 0-1.77-14.39c-3.6-7.63-.67-.48-.67-.48z" fill="#4d8af0"/><path d="M157.62 263.37l-42.88 7-1.19 17.81s-1 8.33 2.45 11.34 32.12 6.48 50.41-7.68a22.67 22.67 0 0 0-1.77-14.39c-3.6-7.63-.67-.48-.67-.48z" fill="#4d8af0"/><path d="M157.3 263.42l-42.88 7-1.19 17.84s-1 8.33 2.45 11.34 32.12 6.48 50.41-7.68a22.67 22.67 0 0 0-1.77-14.39c-3.6-7.63-.67-.48-.67-.48z" fill="#4d8af0"/><path d="M125.254 254.053l17.15-2.812 2.568 15.66a6.73 6.73 0 0 1-5.553 7.73l-3.878.637a6.73 6.73 0 0 1-7.73-5.553l-2.567-15.66.01-.002z" opacity=".1"/><path d="M125.151 253.417l17.151-2.812 2.568 15.661a6.73 6.73 0 0 1-5.553 7.73l-3.878.636a6.73 6.73 0 0 1-7.73-5.552l-2.568-15.661.01-.002z" fill="#fda57d"/><path d="M125.57 255.89a25 25 0 0 0 17.16-2.76l-.35-2.11-17.15 2.82z" opacity=".1"/><circle cx="293.11" cy="307.08" r="24.91" transform="rotate(-9.31 -255.223 1268.47)" fill="#fda57d"/><path d="M105.41 226.19l46.89-7.68s-7.11-18.28-24.63-14.16-22.26 21.84-22.26 21.84z" opacity=".1"/><path d="M105.3 225.56l46.93-7.69s-7.11-18.28-24.63-14.16-22.3 21.85-22.3 21.85z" fill="#333"/><ellipse cx="268.86" cy="309.97" rx="2.32" ry="4.35" transform="matrix(.99 -.16 .16 .99 -209.36 -28.46)" fill="#fda57d"/><ellipse cx="316.89" cy="302.1" rx="2.32" ry="4.35" transform="rotate(-9.31 -231.456 1263.544)" fill="#fda57d"/><path fill="url(#e)" d="M282.63 165.47h396.16v547.37H282.63z" opacity=".5"/><path fill="#fff" d="M287.67 169.5h386.08v535.27H287.67z"/><path d="M502 368a59.24 59.24 0 1 1 92.29 49.17v.26a20.28 20.28 0 0 1-6.72 4.28l-.08-.26c-2.77 2.38-14.45 6.19-27.87 6.15h-.29c-8.5 0-17.72-1.5-25.84-5.89 0 0-.07-.16-.18-.45a21.1 21.1 0 0 1-5.59-3.83l-.09-.67A59.18 59.18 0 0 1 502 368z" transform="translate(-162.77 -76.03)" fill="url(#f)" opacity=".5"/><circle cx="398.46" cy="291.97" r="57.46" fill="#f5f5f5"/><path d="M375.92 313.86s-13.69 1.11-10.07 26.11a19.67 19.67 0 0 0 6.52 4.15l7.7-26.07zm44.43 0s13.69 1.11 10.07 26.11a19.67 19.67 0 0 1-6.52 4.15l-7.67-26.15z" fill="#be7c5e"/><path d="M376.51 272.97s-1.05 3.07-2.55 6.62c-3.26 7.76.46 37.58 8.26 40.76 8.75 3.57 20.26 5.85 32.21 1.49 10.39-3.79 13.59-37.73 6.25-46-.86-1-1.76-1.93-2.7-2.87z" fill="#333"/><circle cx="398.5" cy="271.2" r="25.47" fill="#333"/><path d="M420.09 313.86h-44.43l-4.15 17.77s-2.44 8.23.59 11.85 31.33 11.85 52.13.59a23.18 23.18 0 0 0 .59-14.81c-2.37-8.29-.59-.59-.59-.59z" opacity=".1"/><path d="M420.68 313.86h-44.45l-4.15 17.77s-2.44 8.23.59 11.85 31.33 11.85 52.13.59a23.18 23.18 0 0 0 .59-14.81c-2.37-8.29-.59-.59-.59-.59z" opacity=".1"/><path d="M420.35 313.86h-44.43l-4.15 17.77s-2.44 8.23.59 11.85 31.33 11.85 52.13.59a23.18 23.18 0 0 0 .59-14.81c-2.37-8.29-.59-.59-.59-.59z" fill="#3ad29f"/><path d="M389.55 299.11h17.77v16.38a6.73 6.73 0 0 1-6.73 6.73h-4.32a6.73 6.73 0 0 1-6.73-6.73v-16.38z" opacity=".1"/><path d="M389.55 298.45h17.77v16.38a6.73 6.73 0 0 1-6.73 6.73h-4.32a6.73 6.73 0 0 1-6.73-6.73v-16.38z" fill="#be7c5e"/><path d="M389.58 300.97a25.58 25.58 0 0 0 17.77 0v-2.18h-17.77z" opacity=".1"/><circle cx="398.5" cy="276.73" r="25.47" fill="#be7c5e"/><path d="M374.14 267.06h48.58s-4.15-19.62-22.51-18.36-26.07 18.36-26.07 18.36z" fill="#333"/><ellipse cx="373.56" cy="275.65" rx="2.37" ry="4.44" fill="#be7c5e"/><ellipse cx="423.32" cy="275.65" rx="2.37" ry="4.44" fill="#be7c5e"/><path d="M374.14 267.71h48.58s-4.15-19.62-22.51-18.36-26.07 18.36-26.07 18.36z" opacity=".1"/><path fill="#e0e0e0" d="M339.15 401.6H617.8v16.89H339.15zm0 42.22H617.8v16.89H339.15zM474.26 266.5h143.55v16.89H474.26z"/><path fill="#294ace" d="M486.92 308.72h118.22v16.89H486.92z"/><path fill="#e0e0e0" d="M339.15 486.04h244.88v16.89H339.15zm0 42.22h211.1v16.89h-211.1zm0 42.23h185.77v16.89H339.15zm0 42.22h236.43v16.89H339.15z"/><path fill="#294ace" d="M339.15 654.93h92.88v16.89h-92.88z"/><circle cx="652.07" cy="663.56" r="84.39" fill="url(#g)" opacity=".5"/><circle cx="652.07" cy="663.56" r="79.42" fill="#69f0ae"/><path fill="#fff" d="M617.6 652.96l29.78 27.3 42.19-62.04 14.9 12.41-57.09 74.45-42.19-47.15 12.41-4.97z"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/aths.png b/admin/survey/modules/mod_WPN/frontend/img/aths.png
new file mode 100644
index 0000000..ee66f21
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/aths.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/img/connected.svg b/admin/survey/modules/mod_WPN/frontend/img/connected.svg
new file mode 100644
index 0000000..0308ba8
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/connected.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="874.11" height="733.63"><defs><linearGradient id="a" x1="875.04" y1="475.49" x2="303.77" y2="474.73" gradientTransform="matrix(0 1 -1.02 0 1081.62 -103.54)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="590.41" y1="841.63" x2="590.41" y2="111.52" gradientTransform="matrix(0 1 -1.02 0 1082.43 -102.87)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-opacity=".09"/><stop offset=".55" stop-opacity=".07"/><stop offset="1" stop-opacity=".02"/></linearGradient><linearGradient id="c" x1="837.64" y1="295.46" x2="837.64" y2="83.19" xlink:href="#a"/><linearGradient id="d" x1="305.44" y1="442.78" x2="305.44" y2="230.5" xlink:href="#a"/><linearGradient id="e" x1="-537.55" y1="760.23" x2="-537.55" y2="547.95" gradientTransform="matrix(-1 0 0 1 48 0)" xlink:href="#a"/><linearGradient id="f" x1="137.34" y1="416.18" x2="137.34" y2="343.15" xlink:href="#a"/><linearGradient id="g" x1="677.83" y1="259.53" x2="677.83" y2="186.5" xlink:href="#a"/><linearGradient id="h" x1="425.74" y1="733.63" x2="425.74" y2="660.6" xlink:href="#a"/></defs><path d="M163.68 752.21L162.94 222a20 20 0 0 1 20-20l833.41-1.11a20 20 0 0 1 20 20l.73 530.21a20 20 0 0 1-20 20l-833.41 1.11a20 20 0 0 1-19.99-20z" transform="translate(-162.94 -83.19)" fill="url(#a)" opacity=".5"/><path transform="rotate(-.08 -59067.805 117142.994)" fill="url(#b)" d="M227.85 241.33h741.32v492.4H227.85z"/><rect x="180.15" y="218.77" width="843.16" height="535.49" rx="12.68" ry="12.68" transform="rotate(-.08 -59067.8 117135.832)" fill="#fff"/><path fill="#294ace" opacity=".2" d="M795.12 172.38v462.44H87.93V172.38z"/><ellipse cx="216.59" cy="489.24" rx="19.52" ry="19.06" transform="translate(-163.62 -82.89)" fill="#dbdbdb"/><ellipse cx="989.37" cy="406.92" rx="6.51" ry="6.35" transform="translate(-163.5 -81.82)" fill="#dbdbdb"/><rect x="948.83" y="476.71" width="82.58" height="6.51" rx=".76" ry=".76" transform="rotate(89.92 950.305 356.802)" fill="#dbdbdb"/><path d="M943.46 189a105.82 105.82 0 1 0-164.86 87.83l.07.47a36.22 36.22 0 0 0 12 7.64l.14-.47c5 4.25 25.81 11.05 49.79 11h.52c15.18 0 31.66-2.68 46.16-10.52 0 0 .13-.28.33-.8a37.7 37.7 0 0 0 10-6.83q.09-.61.17-1.2A105.7 105.7 0 0 0 943.46 189z" transform="translate(-162.94 -83.19)" fill="url(#c)" opacity=".5"/><circle cx="674.7" cy="105.83" r="102.64" fill="#f5f5f5"/><path d="M635.49 148.03s-24.46 2-18 46.56a35.13 35.13 0 0 0 11.64 7.41l13.76-46.56zm79.36 0s24.46 2 18 46.56a35.13 35.13 0 0 1-11.64 7.41l-13.76-46.56z" fill="#fda57d"/><path d="M636.55 75.01s-11.64 33.86-18 30.69c0 0 61.26 52.91 115.34 0 0 0-9.52-16.93-23.28-30.69z" fill="#333"/><circle cx="675.81" cy="71.84" r="45.5" fill="#333"/><path d="M714.38 148.03h-79.32l-7.45 31.78s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.45c-4.23-14.81-1.06-1.06-1.06-1.06z" opacity=".1"/><path d="M715.44 148.03h-79.38l-7.39 31.78s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.45c-4.23-14.81-1.06-1.06-1.06-1.06z" opacity=".1"/><path d="M714.85 148.03h-79.36l-7.43 31.78s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.45c-4.23-14.81-1.06-1.06-1.06-1.06z" fill="#294ace"/><path d="M659.82 121.7h31.75v26a15.3 15.3 0 0 1-15.3 15.3h-1.15a15.3 15.3 0 0 1-15.3-15.3v-26z" opacity=".1"/><path d="M659.82 120.52h31.75v26a15.3 15.3 0 0 1-15.3 15.3h-1.15a15.3 15.3 0 0 1-15.3-15.3v-26z" fill="#fda57d"/><path d="M659.89 125.09a45.69 45.69 0 0 0 31.75.09v-3.9h-31.75z" opacity=".1"/><circle cx="675.81" cy="81.72" r="45.5" fill="#fda57d"/><path d="M632.31 64.43h86.75s-7.41-35-40.21-32.8-46.54 32.8-46.54 32.8z" fill="#333"/><ellipse cx="631.25" cy="79.78" rx="4.23" ry="7.94" fill="#fda57d"/><ellipse cx="720.14" cy="79.78" rx="4.23" ry="7.94" fill="#fda57d"/><path d="M632.31 65.61h86.75s-7.41-35-40.21-32.8-46.54 32.8-46.54 32.8z" opacity=".1"/><path d="M411.26 336.32a105.82 105.82 0 1 0-164.85 87.83l.07.47a36.22 36.22 0 0 0 12 7.64l.14-.47c5 4.25 25.81 11.05 49.79 11h.52c15.18 0 31.66-2.68 46.16-10.52 0 0 .13-.28.33-.8a37.7 37.7 0 0 0 10-6.83q.09-.61.17-1.2a105.7 105.7 0 0 0 45.67-87.12z" transform="translate(-162.94 -83.19)" fill="url(#d)" opacity=".5"/><circle cx="142.5" cy="253.14" r="102.64" fill="#f5f5f5"/><path d="M98.06 293.27s-24.46 2-18 46.56a35.13 35.13 0 0 0 11.64 7.41l13.76-46.56zm79.41 0s24.46 2 18 46.56a35.13 35.13 0 0 1-11.64 7.41l-13.77-46.57z" fill="#294ace"/><circle cx="138.43" cy="217.08" r="45.5" fill="#333"/><path d="M177 293.27H97.63l-7.41 31.75s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.43c-4.23-14.81-1.06-1.06-1.06-1.06z" fill="#4d8af0"/><path d="M178.06 293.27H98.69l-7.41 31.75s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.43c-4.23-14.81-1.06-1.06-1.06-1.06z" fill="#4d8af0"/><path d="M177.47 293.27H98.06l-7.41 31.75s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.1-26.43c-4.23-14.81-1.06-1.06-1.06-1.06z" fill="#294ace"/><path d="M122.44 266.93h31.75v26a15.3 15.3 0 0 1-15.3 15.3h-1.15a15.3 15.3 0 0 1-15.3-15.3v-26z" opacity=".1"/><path d="M122.44 265.76h31.75v26a15.3 15.3 0 0 1-15.3 15.3h-1.15a15.3 15.3 0 0 1-15.3-15.3v-26z" fill="#fdb797"/><path d="M122.5 270.33a45.69 45.69 0 0 0 31.75.09v-3.9H122.5z" opacity=".1"/><circle cx="138.43" cy="226.96" r="45.5" fill="#fdb797"/><path d="M94.93 210.81h86.77s-7.41-35-40.21-32.8-46.56 32.8-46.56 32.8z" opacity=".1"/><path d="M94.93 209.67h86.77s-7.41-35-40.21-32.8-46.56 32.8-46.56 32.8z" fill="#333"/><ellipse cx="93.87" cy="225.02" rx="4.23" ry="7.94" fill="#fdb797"/><ellipse cx="182.75" cy="225.02" rx="4.23" ry="7.94" fill="#fdb797"/><path d="M101.67 186.46a16.13 16.13 0 0 1 5.85-8.67c2.22-1.54 4.87-2.28 7.41-3.18a56.65 56.65 0 0 0 10.78-5.15c3.86-2.38 7.48-5.24 11.73-6.81 7.31-2.7 15.45-1.24 23 .7a19.35 19.35 0 0 1 5.38 2 20.36 20.36 0 0 1 4.77 4.62l12 14.45a23 23 0 0 1 3 4.19 14.43 14.43 0 0 1 1.36 4.73 12.38 12.38 0 0 1-1.28 7.76c-2 3.46-6.2 5.2-10.2 5.36s-7.93-1-11.78-2.13c-12.4-3.63-25-7-37.82-8.52a106.67 106.67 0 0 0-19.24-.62c-2 .13-4.68 1.06-5.9-1-1.11-1.79.39-5.95.94-7.73z" fill="#333"/><path d="M479.73 653.77a105.82 105.82 0 1 1 164.85 87.83l-.07.47a36.22 36.22 0 0 1-12 7.64l-.14-.47c-5 4.25-25.81 11.05-49.79 11h-.52c-15.18 0-31.66-2.68-46.16-10.52 0 0-.13-.28-.33-.8a37.7 37.7 0 0 1-10-6.83q-.09-.61-.17-1.2a105.7 105.7 0 0 1-45.67-87.12z" transform="translate(-162.94 -83.19)" fill="url(#e)" opacity=".5"/><circle cx="422.6" cy="570.59" r="102.64" fill="#f5f5f5"/><path d="M382.36 609.68s-24.46 2-18 46.56a35.13 35.13 0 0 0 11.64 7.41l13.76-46.56zm79.36 0s24.46 2 18 46.56a35.13 35.13 0 0 1-11.66 7.41l-13.76-46.56z" fill="#be7c5e"/><path d="M383.42 536.67s-1.88 5.48-4.55 11.82c-5.82 13.87.82 67.13 14.75 72.8 15.63 6.37 36.18 10.45 57.53 2.66 18.56-6.77 24.28-67.39 11.16-82.16-1.54-1.73-3.15-3.45-4.83-5.13z" fill="#333"/><circle cx="422.68" cy="533.5" r="45.5" fill="#333"/><path d="M461.25 609.68h-79.36l-7.41 31.75s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.45c-4.23-14.81-1.06-1.06-1.06-1.06z" opacity=".1"/><path d="M462.31 609.68h-79.36l-7.41 31.75s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.45c-4.23-14.81-1.06-1.06-1.06-1.06z" opacity=".1"/><path d="M461.72 609.68h-79.36l-7.41 31.75s-4.35 14.7 1.06 21.16 56 21.16 93.12 1.06a41.4 41.4 0 0 0 1.06-26.45c-4.23-14.81-1.06-1.06-1.06-1.06z" fill="#294ace"/><path d="M406.69 583.35h31.75v26a15.3 15.3 0 0 1-15.3 15.3H422a15.3 15.3 0 0 1-15.3-15.3v-26h-.01z" opacity=".1"/><path d="M406.69 582.17h31.75v26a15.3 15.3 0 0 1-15.3 15.3H422a15.3 15.3 0 0 1-15.3-15.3v-26h-.01z" fill="#be7c5e"/><path d="M406.76 586.74a45.69 45.69 0 0 0 31.75.09v-3.9h-31.75z" opacity=".1"/><circle cx="422.68" cy="543.37" r="45.5" fill="#be7c5e"/><path d="M379.18 526.09h86.77s-7.41-35-40.21-32.8-46.56 32.8-46.56 32.8z" fill="#333"/><ellipse cx="378.12" cy="541.43" rx="4.23" ry="7.94" fill="#be7c5e"/><ellipse cx="467.01" cy="541.43" rx="4.23" ry="7.94" fill="#be7c5e"/><path d="M379.18 527.26h86.77s-7.41-35-40.21-32.8-46.56 32.8-46.56 32.8z" opacity=".1"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" stroke-width="2" stroke-dasharray="12" d="M672.1 240.44v382.81H569.4M139.91 380.49v242.76h149.38"/><circle cx="137.34" cy="379.66" r="36.52" fill="url(#f)" opacity=".5"/><circle cx="137.34" cy="379.66" r="34.37" fill="#69f0ae"/><path fill="#fff" d="M122.42 375.08l12.89 11.81 18.25-26.85 6.45 5.37-24.7 32.22-18.26-20.4 5.37-2.15z"/><circle cx="677.83" cy="223.01" r="36.52" fill="url(#g)" opacity=".5"/><circle cx="677.83" cy="223.01" r="34.37" fill="#69f0ae"/><path fill="#fff" d="M662.91 218.43l12.89 11.81 18.26-26.85 6.44 5.37-24.7 32.22-18.26-20.41 5.37-2.14z"/><circle cx="425.74" cy="697.11" r="36.52" fill="url(#h)" opacity=".5"/><circle cx="425.74" cy="697.11" r="34.37" fill="#69f0ae"/><path fill="#fff" d="M410.82 692.53l12.89 11.81 18.26-26.85 6.44 5.37-24.7 32.22-18.26-20.4 5.37-2.15z"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/data.svg b/admin/survey/modules/mod_WPN/frontend/img/data.svg
new file mode 100644
index 0000000..a7628fb
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/data.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="891" height="711.05"><defs><linearGradient id="a" x1="213.62" y1="486" x2="213.62" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="227.62" y1="373" x2="227.62" y2="362" xlink:href="#a"/><linearGradient id="c" x1="227.62" y1="429" x2="227.62" y2="418" xlink:href="#a"/><linearGradient id="d" x1="329.62" y1="429" x2="329.62" y2="418" xlink:href="#a"/><linearGradient id="e" x1="336.62" y1="83" x2="336.62" y2="72" xlink:href="#a"/><linearGradient id="f" x1="336.62" y1="98" x2="336.62" y2="87" xlink:href="#a"/><linearGradient id="g" x1="336.62" y1="113" x2="336.62" y2="102" xlink:href="#a"/><linearGradient id="h" x1="336.62" y1="128" x2="336.62" y2="117" xlink:href="#a"/><linearGradient id="i" x1="214.12" y1="332" x2="214.12" y2="182" xlink:href="#a"/><linearGradient id="j" x1="383.9" y1="435.3" x2="383.9" y2="283.3" gradientTransform="translate(-5.78 .18)" xlink:href="#a"/><linearGradient id="k" x1="442.9" y1="321.3" x2="442.9" y2="307.3" gradientTransform="translate(-10.11 -4.98)" xlink:href="#a"/><linearGradient id="l" x1="484.9" y1="317.3" x2="484.9" y2="303.3" gradientTransform="translate(-10.64 -8.78)" xlink:href="#a"/><linearGradient id="m" x1="547.96" y1="413.42" x2="547.96" y2="413.16" xlink:href="#a"/><linearGradient id="n" x1="517.63" y1="581.29" x2="517.63" y2="408.48" xlink:href="#a"/><linearGradient id="o" x1="191.31" y1="423.33" x2="191.31" y2="423.02" xlink:href="#a"/><linearGradient id="p" x1="228.23" y1="619.83" x2="228.23" y2="417.36" xlink:href="#a"/><linearGradient id="q" x1="692" y1="659.05" x2="692" y2="163.05" xlink:href="#a"/><linearGradient id="r" x1="595.12" y1="395.68" x2="595.12" y2="241.68" xlink:href="#a"/><linearGradient id="s" x1="788.12" y1="472.68" x2="788.12" y2="318.68" xlink:href="#a"/><linearGradient id="t" x1="696.12" y1="614.68" x2="696.12" y2="508.68" xlink:href="#a"/><linearGradient id="u" x1="749.12" y1="475.15" x2="749.12" y2="351.15" xlink:href="#a"/><linearGradient id="v" x1="790.62" y1="362.68" x2="790.62" y2="344.68" xlink:href="#a"/><linearGradient id="w" x1="760.62" y1="699.68" x2="760.62" y2="677.68" xlink:href="#a"/><linearGradient id="x" x1="607.62" y1="687.68" x2="607.62" y2="566.68" xlink:href="#a"/><linearGradient id="y" x1="608.62" y1="648.68" x2="608.62" y2="648.68" xlink:href="#a"/><linearGradient id="z" x1="482.12" y1="645.68" x2="482.12" y2="590.68" xlink:href="#a"/><linearGradient id="A" x1="459.62" y1="699.68" x2="459.62" y2="677.68" xlink:href="#a"/><linearGradient id="B" x1="486.35" y1="708.79" x2="600.65" y2="708.79" xlink:href="#a"/></defs><ellipse cx="370" cy="694.05" rx="67" ry="17" fill="#f2f2f2"/><ellipse cx="375" cy="506.05" rx="67" ry="17" fill="#f2f2f2"/><ellipse cx="67" cy="514.05" rx="67" ry="17" fill="#f2f2f2"/><path fill="#f5f5f5" d="M22.62 4h383v14.5h-383z"/><path fill="url(#a)" d="M15.62 0h396v486h-396z"/><path fill="#fff" d="M22.62 18.5h383V478h-383z"/><circle cx="30.5" cy="11.5" r="3.5" fill="#ff5252"/><circle cx="40.12" cy="11.5" r="3.5" fill="#ff0"/><circle cx="49.75" cy="11.5" r="3.5" fill="#69f0ae"/><path fill="#294ace" d="M33.62 36h149v9h-149z" opacity=".2"/><path fill="#f5f5f5" d="M139.62 73h149v9h-149z"/><path fill="#294ace" opacity=".5" d="M33.62 363h149v9h-149z"/><path fill="url(#b)" d="M202.62 362h50v11h-50z"/><path fill="url(#c)" d="M202.62 418h50v11h-50z"/><path fill="url(#d)" d="M304.62 418h50v11h-50z"/><path fill="#294ace" d="M204.62 363h47v9h-47zm0 56h47v9h-47zm101 0h47v9h-47z"/><path fill="#f5f5f5" d="M33.62 391h149v9h-149z"/><path fill="#294ace" opacity=".5" d="M204.62 391h149v9h-149z"/><path fill="#f5f5f5" d="M204.62 447h149v9h-149z"/><path fill="#294ace" opacity=".5" d="M33.62 419h149v9h-149z"/><path fill="#f5f5f5" d="M33.62 447h149v9h-149zm106-359h84v9h-84zm99 0h29v9h-29zm-99 30h84v9h-84zm99 0h29v9h-29zm-99-15h149v9h-149z"/><path fill="#294ace" d="M243.62 36h149v9h-149z" opacity=".2"/><path fill="url(#e)" d="M327.62 72h18v11h-18z"/><path fill="url(#f)" d="M327.62 87h18v11h-18z"/><path fill="url(#g)" d="M327.62 102h18v11h-18z"/><path fill="#ff5252" d="M328.62 73h16v9h-16z"/><path fill="#ff9800" d="M328.62 88h16v9h-16z"/><path fill="#69f0ae" d="M328.62 103h16v9h-16z"/><path fill="url(#h)" d="M327.62 117h18v11h-18z"/><path fill="#294ace" d="M328.62 118h16v9h-16z"/><path fill="url(#i)" d="M30.62 182h367v150h-367z"/><path fill="#294ace" opacity=".5" d="M33.62 185h359v142h-359z"/><path fill="#fff" opacity=".5" d="M44.62 196h348v-11h-359v142h11V196z"/><path transform="rotate(-5.2 -739.107 2013.604)" fill="url(#j)" d="M193.12 283.48h370v152h-370z"/><path fill="#fff" d="M38.811 209.538l357.523-32.537 12.87 141.416L51.68 350.954z"/><path d="M65.5 325.59l-6.2-78.77s32-34 96.6-8.8 95.06 7.41 105.56-9.61 65-36 82.66-7.53 38.84-3.54 38.84-3.54l7.16 78.67z" fill="#294ace" opacity=".5"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" d="M98.03 229.66l.54 5.98"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" stroke-dasharray="11.51 11.51" d="M99.62 247.1l5.74 63.06"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" d="M105.88 315.89l.55 5.97m53.09-82.44l.55 5.97"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" stroke-dasharray="13.06 13.06" d="M161.25 258.4l4.15 45.51"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" d="M165.99 310.41l.54 5.98m55.73-66.29l.6 5.97"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" stroke-dasharray="9.79 9.79" d="M223.83 265.82l3.38 34.1"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" d="M227.7 304.79l.59 5.98m50.36-95.93l.54 5.98"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" stroke-dasharray="11.28 11.28" d="M280.21 232.05l5.63 61.79"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" d="M286.35 299.45l.55 5.98m32.45-98.84l.54 5.97"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" stroke-dasharray="11.93 11.93" d="M320.97 224.44l5.95 65.33"/><path fill="none" stroke="#294ace" stroke-miterlimit="10" d="M327.46 295.71l.55 5.97"/><circle cx="252.36" cy="323.73" r="5" transform="rotate(-5.2 -864.923 1977.88)" fill="#ff9800"/><circle cx="313.56" cy="334.23" r="5" transform="rotate(-5.2 -803.722 1988.382)" fill="#ff5252"/><circle cx="376.76" cy="344.54" r="5" transform="rotate(-5.2 -740.524 1998.644)" fill="#69f0ae"/><circle cx="432.8" cy="309.31" r="7" transform="rotate(-5.2 -684.42 1963.457)" fill="url(#k)"/><circle cx="474.26" cy="301.52" r="7" transform="rotate(-5.2 -642.91 1955.633)" fill="url(#l)"/><circle cx="432.8" cy="309.31" r="5" transform="rotate(-5.2 -684.42 1963.457)" fill="#294ace"/><circle cx="474.26" cy="301.52" r="5" transform="rotate(-5.2 -642.91 1955.633)" fill="#294ace"/><circle cx="537.64" cy="313.82" r="5" transform="rotate(-5.2 -579.477 1968.002)" fill="#69f0ae"/><path d="M547.76 413.2l.07.23c.77-.43-.07-.23-.07-.23z" transform="translate(-154.5 -94.48)" fill="url(#m)" opacity=".2"/><path d="M539.48 581.18l16.28-2.63-2.24-10v-.14h-.06l-11.54-53v-38.65a14.26 14.26 0 0 0-.08-1.47c17.24-22.86 7-58.73 6-61.86-.18.09-.45.21-.83.36a21.06 21.06 0 0 0-.79-4.13s-5-3.18-7.73.91c-2.38 3.57-.61 5.75-.12 6.26l-.34.11a11.52 11.52 0 0 1 1.58 3.94 8.65 8.65 0 0 0-.54-1c-.63-.11-1-.21-1-.21l-.12-.11-.34.11c1.73 2.53 2.34 7 2.26 12.3a17.36 17.36 0 0 0-2-2.31 17.65 17.65 0 0 0-11.7-4.88h-.83q-.68 0-1.36.09h-.34l-.57.08-.65.12-.47.1-.81.22-.3.09c-.34.11-.67.22-1 .35a17.24 17.24 0 0 1-3.43 1.24c-.16 0-.32 0-.49.05a5.72 5.72 0 0 1-3.75-1.07l-.36-.28a5.29 5.29 0 0 1-.39-.37 2.54 2.54 0 0 0-.17 1.09 3.35 3.35 0 0 0 1.17 2.27 3.17 3.17 0 0 0 .62.42 2.68 2.68 0 0 0 1.06.3h.38-.09c-.23.11-.46.21-.7.3h-.05c-.26.09-.51.17-.78.24a8.68 8.68 0 0 1-4 .06l-.43-.1c-.21-.06-.43-.12-.63-.19a4.8 4.8 0 0 0 .22.44l.08.13.18.28.11.14.2.25.12.13.25.25.1.09.37.31.13.09.27.19.18.11.24.14.2.1.25.11.21.09.28.1.35.1.26.07h1.74a5 5 0 0 0 1.5-.37l-.92.38-.46.16-.47.17-.47.14-.48.14-.47.12-.5.12-.46.09-.53.09-.44.07-.57.07h-2.4a4.21 4.21 0 0 1 1.51.8 4 4 0 0 0 .93.5 3.59 3.59 0 0 0 .45.1H512a6.54 6.54 0 0 1 2.59.83 4.65 4.65 0 0 1 1.11 1c-.14.23-.28.45-.4.69s-.21.4-.31.61q-.3.62-.53 1.27a14.08 14.08 0 0 0-.86 4.85v1.16q0 .36.08.72v.19q.06.44.16.87v.17q.08.36.18.71l.06.21a14 14 0 0 0 .61 1.66l.07.16q.17.37.35.72v.07q.22.4.46.79v.06q.22.36.47.7l.06.08a14.17 14.17 0 0 0 1.17 1.41 14.14 14.14 0 0 0 3.77 2.83 6.3 6.3 0 0 0-.11.65 6.36 6.36 0 0 0 0 .68v5.28q-.45.24-.88.51c-12.53-5.69-31.19-46-31.19-46h-.45c1.82-1.36 0-7.28 0-7.28a8.54 8.54 0 0 0-3.5-1.16h-1.61l-.2.06h-.1l-.3.11-.28.13-.1.05-.19.11-.13.61-.18.12-.11.09-.17.14-.11.1-.17.16-.1.11-.17.2-.08.1-.25.34c-2.73 4.09 0 6.37 0 6.37a40.74 40.74 0 0 0-.25 4.75c-.2 29.46 31.33 52.29 32.94 53.43-.71 1.84-6.57 18.14.07 38.49a.65.65 0 0 0 .08.14 59.08 59.08 0 0 0-17.72 55.88l.13.61h.29a4 4 0 0 1-.11.4 4.59 4.59 0 0 1-.29.7 5.43 5.43 0 0 1-.73 1.07c-.31.36-.67.72-1.05 1.09l-.4.38c-1.59 1.52-3.2 3-2 3.6h17.21v-7.51h.3s-.12-.23-.3-.68V571h-.06c-.9-2.32-3-9.5.36-20.56 4.09-13.65 20-20.47 20-20.47l.29 1h-.06l12.48 41c0 .16 0 .32-.05.49a6.67 6.67 0 0 1-.27 1.14 7.25 7.25 0 0 1-.34.84c-.77 1.59-2.1 3.46-2.68 4.86a4.71 4.71 0 0 0-.21.59 1.82 1.82 0 0 0-.07.7.81.81 0 0 0 .53.67h.23l.48-.08zm-4.82-116.73q-.47-.26-1-.49V459a6.32 6.32 0 0 0-.11-1.13 14.11 14.11 0 0 0 3-1.93c-.6 3.06-1.27 5.99-1.88 8.51z" transform="translate(-154.5 -94.48)" fill="url(#n)" opacity=".2"/><path d="M325.88 328.61s-3-2.52 0-7.06 8.57-1 8.57-1 2 6.55 0 8.06-8.57 0-8.57 0z" fill="#ca7070"/><path data-name="&lt;Path&gt;" d="M357.04 497.27h-13.89a4.56 4.56 0 0 1-1.31 3.57c-1.87 2.16-5.63 4.77-3.86 5.66h19.06z" fill="#00695c"/><path d="M342.85 500.84a4.56 4.56 0 0 0 1.31-3.57h-1a4.56 4.56 0 0 1-1.31 3.57c-1.87 2.16-5.63 4.77-3.86 5.66h1c-1.77-.89 1.99-3.49 3.86-5.66z" fill="#fff" opacity=".2"/><path data-name="&lt;Path&gt;" d="M406.5 494.41l-13 2.11a6.62 6.62 0 0 1-.59 4.58c-1.42 3-4.61 6.74-2.69 7.55l18.82-3z" fill="#00695c"/><path d="M400.16 322.46s14.87 46.91-10.07 72.88l-7.2-5.51s14.74-51.2 6.49-63.22c14.56-4.85 10.78-4.15 10.78-4.15z" fill="#00695c"/><path d="M389.88 326.6s-3-2.52 0-7.06 8.57-1 8.57-1 2 6.55 0 8.06-8.57 0-8.57 0z" fill="#ca7070"/><path d="M393.91 501.11a6.62 6.62 0 0 0 .59-4.59l12-2v-.16l-13 2.16a6.62 6.62 0 0 1-.59 4.58c-1.42 3-4.61 6.74-2.69 7.55l.79-.13c-1.43-1 1.54-4.59 2.9-7.41z" fill="#fff" opacity=".2"/><rect x="370.48" y="366.16" width="14.11" height="20.91" rx="7.06" ry="7.06" fill="#ca7070"/><path d="M383.9 392.85s14.56-50.57 6.63-63c-.7-.13-1.15-.23-1.15-.23l-.13-.12-.37.12c8.25 12-6.49 63.22-6.49 63.22l7.2 5.51.63-.68z" fill="#fff" opacity=".2"/><circle cx="377.79" cy="357.85" r="15.62" fill="#ca7070"/><path d="M372.24 380.02v-6.8a7 7 0 0 1 .16-1.48 15.62 15.62 0 0 1 6.26-29.49h-.88a15.62 15.62 0 0 0-7.15 29.51 7 7 0 0 0-.16 1.48v6.8a7 7 0 0 0 7.94 7 7.08 7.08 0 0 1-6.17-7.02z" fill="#fff" opacity=".2"/><path d="M393.66 435.7s-30.13 3.4-31.24 0c-7.81-23.94 0-42.83 0-42.83a15.62 15.62 0 0 1 15.62-15.62 15.62 15.62 0 0 1 15.62 15.62z" fill="#00695c"/><path d="M393.66 435.7l13.61 62.49h-13.61l-14.11-46.36s-17.64 7.56-22.17 22.68 0 23.68 0 23.68h-14.62l-.15-.68a65 65 0 0 1 19.8-61.81" fill="#263238"/><path d="M364.18 435.7c-7.81-23.94 0-42.83 0-42.83a15.62 15.62 0 0 1 14.61-15.59h-1a15.62 15.62 0 0 0-15.62 15.62s-7.81 18.9 0 42.83c.4 1.22 4.52 1.56 9.64 1.51-4.16-.09-7.31-.49-7.63-1.54z" fill="#fff" opacity=".2"/><path d="M362.17 392.61s-40.31-28.22-36.28-64h9.07s21.66 46.91 35.54 51.41-8.33 12.59-8.33 12.59z" fill="#00695c"/><path d="M379.81 452.93l13.85 45.51h2l-14.11-46.36s-.65.28-1.74.85zm-15.38-16.98h-2a65 65 0 0 0-19.8 61.81l.15.68h2l-.15-.68a65 65 0 0 1 19.8-61.81zM327.4 329.12h-1.51c-4 35.78 36.28 64 36.28 64l1-.38c-4.67-3.45-39.54-30.22-35.77-63.62z" opacity=".2" fill="#fff"/><path d="M365.33 350.87a25.85 25.85 0 0 1 1.82 6.29c1 4.38 3.26 8.75 7.15 11a15.87 15.87 0 0 0 7 1.91c3.72.23 7.75-.49 10.38-3.13a12.86 12.86 0 0 0 3.17-6.39 21.63 21.63 0 0 0-5.69-19.88 19.19 19.19 0 0 0-20-4.19 19.1 19.1 0 0 1-3.79 1.38 6.31 6.31 0 0 1-5.53-1.84 3.49 3.49 0 0 0 3.37 4.52 9.73 9.73 0 0 1-7.46.4 6.33 6.33 0 0 0 8 3.19 21.32 21.32 0 0 1-9 1.84c.65 0 1.92 1.2 2.71 1.44a17.18 17.18 0 0 0 3 .21 5.82 5.82 0 0 1 4.87 3.25z" fill="#263238"/><path d="M363.25 340.52a9.63 9.63 0 0 1-3.7.95 9.7 9.7 0 0 0 4.71-.95 3.53 3.53 0 0 1-3.54-3.81 5.94 5.94 0 0 1-.84-.71 3.49 3.49 0 0 0 3.37 4.52zm3.16-2.65a19.1 19.1 0 0 0 3.79-1.38 17.38 17.38 0 0 1 6-1.21 17.56 17.56 0 0 0-7 1.21 19.1 19.1 0 0 1-3.79 1.38c-.18 0-.36 0-.54.06a6 6 0 0 0 1.54-.06zm-7.99 9.55c-.79-.23-2.06-1.42-2.71-1.44a21.32 21.32 0 0 0 9-1.84 5.58 5.58 0 0 1-2 .42 21.33 21.33 0 0 1-8 1.42c.65 0 1.92 1.2 2.71 1.44a6.71 6.71 0 0 0 2.1.17 4.38 4.38 0 0 1-1.1-.17zm23.91 22.66a15.87 15.87 0 0 1-7-1.91c-3.89-2.27-6.11-6.64-7.15-11a25.85 25.85 0 0 0-1.82-6.29 5.82 5.82 0 0 0-4.93-3.23 10.07 10.07 0 0 0-1.5 0h.49a5.82 5.82 0 0 1 4.93 3.23 25.85 25.85 0 0 1 1.82 6.29c1 4.38 3.26 8.75 7.15 11a15.87 15.87 0 0 0 7 1.91h1.75zm-20.25-25.56a6.38 6.38 0 0 1-5.12-3.27 9.32 9.32 0 0 1-1.17-.33 6.38 6.38 0 0 0 6.29 3.6zm-35.19-15.91s-3-2.52 0-7.06a4.83 4.83 0 0 1 3.74-2.29 4.9 4.9 0 0 0-4.74 2.29c-3 4.54 0 7.06 0 7.06a27.32 27.32 0 0 0 5.93.66 29.83 29.83 0 0 1-4.93-.66z" opacity=".2" fill="#fff"/><path d="M191.47 423.33l.08-.27s-1.02-.2-.08.27z" transform="translate(-154.5 -94.48)" fill="url(#o)" opacity=".2"/><path d="M285.7 440.09a6.59 6.59 0 0 0-.36-.93c0-.1-.1-.18-.15-.27a5.61 5.61 0 0 0-.3-.52l-.2-.26a5.06 5.06 0 0 0-.33-.39l-.23-.23c-.12-.11-.24-.21-.36-.3l-.25-.18-.4-.24-.25-.13-.45-.19-.23-.09q-.32-.11-.65-.18a10.33 10.33 0 0 0-4.39.12s-4.19 6.18-2.58 8.4l-.53-.16s-31.13 34.74-48.69 41.19q-.67-.46-1.39-.86v-6.5a7.67 7.67 0 0 0 0-.82 7.6 7.6 0 0 0-.13-.77l.13-.07.52-.29.75-.46.48-.31q.54-.37 1-.78l.39-.34c.24-.2.47-.41.69-.63l.4-.39q.42-.43.8-.88l.28-.34q.36-.45.69-.92l.28-.42q.3-.46.57-.94l.18-.31c.22-.41.43-.84.61-1.28l.16-.39q.21-.53.39-1.07c0-.13.09-.25.12-.38.14-.47.27-.94.37-1.43 0-.1 0-.19.05-.29q.12-.61.19-1.24v-.42c0-.51.08-1 .08-1.55a17 17 0 0 0-3.78-10.69c1.33-2.08 2.2-3.31 2.2-3.31-.8-.55-1.59-1.05-2.37-1.54l-.76-.45c-.52-.31-1-.62-1.56-.9l-.87-.46c-.47-.25-.93-.49-1.39-.71l-.89-.41-1.33-.58-.87-.35a42.3 42.3 0 0 0-1.31-.48l-.82-.28c-.45-.14-.9-.27-1.34-.39l-.73-.2c-.5-.12-1-.22-1.49-.32l-.53-.11c-.67-.12-1.33-.21-2-.27a23.71 23.71 0 0 0-12 1.84c.2-4.78 1-8.72 2.68-11.16l-.41-.14-.14.14s-.49.11-1.26.25a10.44 10.44 0 0 0-.65 1.21 13.91 13.91 0 0 1 1.91-4.76l-.41-.14c.59-.61 2.73-3.24-.14-7.55-3.3-4.94-9.34-1.1-9.34-1.1a25.56 25.56 0 0 0-.94 5c-.46-.19-.79-.33-1-.44a124.5 124.5 0 0 0-4.69 31.36c-10.89 15.46-15.39 38.28-16.27 43.2l-.07.39c-.06.36-.09.55-.09.55l28.31.66v45.12L178 588.22s7.84.25 19.64 1.76l-3.26 23.31-1.09 6.54h19.62c2.18-4.36-8.72-6.54-8.72-6.54h-.24l4.25-21.75q2.82.47 5.8 1a56.81 56.81 0 0 0 8.83 1 46.94 46.94 0 0 0 7.35-.32c1.44 11.79-.45 18.83-.81 20h-.11l-1.09 6.54h19.62c1.9-3.8-6.14-5.95-8.23-6.43l.09-.64a109.41 109.41 0 0 0 .77-22.2 26.87 26.87 0 0 0 7-4.17l.27-.24.08-.08-14.61-41c2.73-11.6-6.77-23.78-1.7-29.87s2-13.86 1.4-15.19c13.72-6 41.45-21 49.23-47a49.17 49.17 0 0 0 1.39-5.57s3.92-1.59 2.22-7.28z" transform="translate(-154.5 -94.48)" fill="url(#p)" opacity=".2"/><path d="M40.08 336.46s-14.87 46.91 10.07 72.88l7.2-5.51s-14.74-51.2-6.49-63.22c-14.56-4.85-10.78-4.15-10.78-4.15z" fill="#ff5252"/><path d="M50.36 340.6s3-2.52 0-7.06-8.57-1-8.57-1-2 6.55 0 8.06 8.57 0 8.57 0z" fill="#f6b9ad"/><rect x="210.15" y="474.64" width="14.11" height="20.91" rx="7.06" ry="7.06" transform="rotate(180 139.955 437.855)" fill="#f6b9ad"/><path d="M56.34 406.85s-14.56-50.57-6.63-63c.7-.13 1.15-.23 1.15-.23l.13-.12.37.12c-8.25 12 6.49 63.22 6.49 63.22l-7.2 5.51-.63-.68z" fill="#fff" opacity=".2"/><circle cx="62.45" cy="371.85" r="15.62" fill="#f6b9ad"/><path d="M68 394.02v-6.8a7 7 0 0 0-.16-1.48 15.62 15.62 0 0 0-6.26-29.49h.88a15.62 15.62 0 0 1 7.15 29.51 7 7 0 0 1 .16 1.48v6.8a7 7 0 0 1-7.94 7 7.08 7.08 0 0 0 6.17-7.02z" fill="#fff" opacity=".2"/><path d="M46.58 449.7s30.13 3.4 31.24 0c3.6-11-6-22.89-1.2-28.7 5-6 1.2-14.13 1.2-14.13a15.62 15.62 0 0 0-15.62-15.62 15.62 15.62 0 0 0-15.62 15.62z" fill="#ff5252"/><path d="M76.66 421c5-6 1.2-14.13 1.2-14.13a15.62 15.62 0 0 0-15.62-15.62c-.34 0-.67 0-1 .05a15.61 15.61 0 0 1 14.62 15.57s3.8 8.13-1.2 14.13c-4.84 5.81 4.8 17.69 1.2 28.7-.34 1.05-3.45 1.45-7.58 1.51 5.09.05 9.19-.29 9.58-1.51 3.64-11.02-6.04-22.89-1.2-28.7z" fill="#fff" opacity=".2"/><path d="M71.43 448.7c11 15.59 15.87 39.15 12.72 61.81l-.09.68h-9.39s2.91-8.57 0-23.68a37.39 37.39 0 0 0-14.24-22.68l-9.06 46.36h-8.74l8.74-62.49zm52.96-89.87s3.63-1.52 2.07-6.75-7.9-3.47-7.9-3.47-3.85 5.67-2.36 7.71 8.19 2.51 8.19 2.51z" fill="#f6b9ad"/><path d="M70.94 409.39s46.81-15.17 53.44-50.56l-8.67-2.66s-34.45 38.46-49 38.73 4.23 14.49 4.23 14.49z" fill="#ff5252"/><path d="M122.79 358.87l1.45.44c-6.63 35.39-53.44 50.56-53.44 50.56l-.83-.65c5.53-1.92 46.64-17.34 52.82-50.35zM58.42 464.83l-9.06 46.36h2l8.8-45a21.63 21.63 0 0 0-1.74-1.36zm13.01-16.13h-2c11 15.59 15.87 39.15 12.72 61.81l-.09.68h2l.09-.68c3.15-22.66-1.7-46.22-12.72-61.81zm51.99-90.18s3.63-1.52 2.07-6.75a4.83 4.83 0 0 0-2.9-3.29 4.9 4.9 0 0 1 3.86 3.58c1.56 5.22-2.07 6.75-2.07 6.75a27.32 27.32 0 0 1-5.86-1.1 29.83 29.83 0 0 0 4.9.81z" fill="#fff" opacity=".2"/><path d="M46.58 448l-19 40a235 235 0 0 1 33 4c21 4 31-6 31-6l-13.55-38z" fill="#263238"/><path d="M51.62 511s10 2 8 6h-18l1-6zm32 0s10 2 8 6h-18l1-6z" fill="#ff5252"/><path d="M76.62 359s-24 34-13 48l-43-1s12-77 56-47z" fill="#fccc63"/><path d="M76.62 359c-6.2-4.23-11.76-6.33-16.75-6.82A42.33 42.33 0 0 1 71.62 358s-24 34-13 48l-37.85-.88c-.1.57-.15.88-.15.88l43 1c-11-14 13-48 13-48zm1.46 89h-3l13.55 38s-6.46 6.45-19.9 6.91c15.47.5 22.9-6.91 22.9-6.91zm-26.46 63h-2s10 2 8 6h2c2-4-8-6-8-6zm32 0h-2s10 2 8 6h2c2-4-8-6-8-6z" fill="#fff" opacity=".2"/><path fill="#f5f5f5" d="M500.62 167.68h383v14.5h-383z"/><path fill="url(#q)" d="M493 163.05h398v496H493z"/><path fill="#fff" d="M500.62 182.18h383v459.5h-383z"/><circle cx="509.5" cy="175.18" r="3.5" fill="#ff5252"/><circle cx="519.12" cy="175.18" r="3.5" fill="#ff0"/><circle cx="528.75" cy="175.18" r="3.5" fill="#69f0ae"/><path fill="#294ace" d="M524.62 202.68h336v9h-336z" opacity=".2"/><path fill="url(#r)" d="M522.62 241.68h145v154h-145z"/><path fill="#fff" d="M525.62 246.68h139v144h-139z"/><path fill="url(#s)" d="M715.62 318.68h145v154h-145z"/><path fill="#fff" d="M718.62 323.68h139v144h-139z"/><path fill="url(#t)" d="M525.62 508.68h341v106h-341z"/><path fill="#294ace" opacity=".5" d="M532.62 515.68h328v95h-328z"/><path fill="#fff" opacity=".5" d="M540.62 524.68h320v-9h-328v95h8v-86z"/><path d="M796.09 372.71a62 62 0 1 0 15 40.45 61.84 61.84 0 0 0-15-40.45zm-25 77.47a43 43 0 1 1 21.08-37 42.81 42.81 0 0 1-21.05 37z" transform="translate(-154.5 -94.48)" fill="url(#u)"/><path d="M625.67 291.94l13.65-11.75a58.85 58.85 0 0 0-44.7-20.51v18a40.91 40.91 0 0 1 31.05 14.26z" fill="#ff5252"/><path d="M594.62 359.67A40.74 40.74 0 0 1 577.7 356l-7.43 16.41a59 59 0 0 0 54.49-3l-9.2-15.49a40.74 40.74 0 0 1-20.94 5.75z" fill="#69f0ae"/><path d="M653.62 318.67a58.75 58.75 0 0 0-14.3-38.49l-13.65 11.75a40.93 40.93 0 0 1-10.11 62l9.2 15.49a59 59 0 0 0 28.86-50.75z" fill="#ff9800"/><path d="M553.62 318.67a41 41 0 0 1 41-41v-18a59 59 0 0 0-24.35 112.74L577.7 356a41 41 0 0 1-24.08-37.33z" fill="#294ace"/><path fill="url(#v)" d="M737.62 344.68h106v18h-106z"/><path fill="#294ace" d="M738.62 345.68h104v16h-104z"/><path fill="#ff5252" d="M738.62 372.68h76v16h-76z"/><path fill="#69f0ae" d="M738.62 399.68h52v16h-52z"/><path fill="#ff9800" d="M738.62 426.68h94v16h-94z"/><path fill="#f5f5f5" d="M525.62 419.68h149v9h-149zm0 15h84v9h-84zm99 0h29v9h-29zm0 33h29v9h-29zm-99-3h84v9h-84zm0-15h149v9h-149zm188-207h149v9h-149zm0 15h84v9h-84zm99 0h29v9h-29zm0 33h29v9h-29zm-99-3h84v9h-84zm0-15h149v9h-149z"/><circle cx="760.62" cy="688.68" r="11" fill="url(#w)"/><circle cx="760.62" cy="688.68" r="8" fill="#ff5252"/><path fill="url(#x)" d="M435.62 566.68h344v121h-344z"/><path fill="#fff" d="M445.62 571.68h328v95h-328z"/><path stroke="#294ace" stroke-miterlimit="10" stroke-width="3" fill="url(#y)" d="M456.62 648.68h304"/><path fill="url(#z)" d="M459.62 590.68h45v55h-45z"/><path fill="#294ace" d="M462.12 593.18h40v51h-40z"/><path fill="#69f0ae" d="M712.62 629.68h40v16h-40z"/><path fill="#ff9800" d="M637.62 608.68h40v36h-40z"/><path fill="#ff5252" d="M549.62 614.68h40v30h-40zm-104 52h328v14h-328z"/><circle cx="459.62" cy="688.68" r="11" fill="url(#A)"/><circle cx="459.62" cy="688.68" r="8" fill="#ff5252"/><path fill="#ff5252" d="M437.62 575.68h8v105h-8z"/><path opacity=".2" d="M437.62 575.68h8v105h-8z"/><path d="M600.65 681.32v-.81c0-.16 0-.21-.06-.31s-.07-.3-.12-.44-.06-.19-.1-.29-.12-.28-.18-.42l-.12-.25c-.08-.14-.17-.28-.26-.41l-.13-.19a6.62 6.62 0 0 0-.42-.52 9.62 9.62 0 0 0-2.79-2.06 8.05 8.05 0 0 0 1.79-3.08 6.42 6.42 0 0 0 .24-.94v-.29a5.46 5.46 0 0 0 .05-.58v-.81c0-.16 0-.21-.06-.31s-.07-.3-.12-.44-.06-.19-.1-.29-.12-.28-.18-.42l-.12-.25c-.08-.14-.17-.28-.26-.41l-.13-.19a6.62 6.62 0 0 0-.42-.52 10.07 10.07 0 0 0-3.55-2.4s-6.35 2.35-6.77 4.93c-4.66 1-31.82 6.65-50.47 6.2l-.14-.37a16.59 16.59 0 0 0-8.83-14.67v-6.28a7.48 7.48 0 0 0 0-.8 7.41 7.41 0 0 0-.12-.76l.12-.07.51-.28.74-.45.47-.31q.52-.36 1-.76l.38-.33c.23-.2.45-.4.67-.61l.39-.38q.41-.42.78-.86l.27-.34q.35-.44.67-.9l.27-.41q.29-.45.56-.92l.17-.3c.22-.4.42-.82.6-1.24l.15-.38q.21-.51.38-1l.12-.37c.14-.46.26-.92.36-1.39 0-.09 0-.19.05-.28q.11-.6.18-1.21v-.41c0-.5.08-1 .08-1.51a16.51 16.51 0 0 0-2.13-8.11c1.07-.26 1.72-.47 1.64-.57-.41-.55-.82-1.07-1.25-1.57l-.41-.47c-.3-.34-.59-.66-.89-1l-.48-.49c-.3-.3-.6-.58-.9-.85l-.47-.42c-.38-.32-.76-.63-1.14-.93l-.25-.2c-.46-.34-.92-.66-1.39-1l-.52-.32c-.3-.19-.61-.37-.92-.53l-.62-.32-.86-.41-.63-.28c-.3-.13-.61-.24-.92-.35l-.57-.21c-.46-.15-.92-.29-1.38-.41l-.71-.16-.77-.16-.77-.12-.71-.08-.79-.07h-1.47q-.65 0-1.3.06c-10.23.84-19.19 9.77-19.19 24V655h16v5.34a16.59 16.59 0 0 0-9.64 15.05v45.51l-13.58 62.39H489l-2.67 11.91 19.16 3.1.83.13c2-.86-1.35-4.89-2.86-8a8.54 8.54 0 0 1-.4-1 7.57 7.57 0 0 1-.38-1.94l14.72-48.29h-.07l.35-1.13s18.74 8 23.56 24.09c3.91 13 1.48 21.46.42 24.2h-.07v.16c-.21.52-.36.81-.36.81h.36v8.83h20.26c1.88-.95-2.11-3.72-4.1-6a5.67 5.67 0 0 1-1.32-2.55h.34l.16-.72a69.53 69.53 0 0 0-20.86-65.77.77.77 0 0 0 .09-.17 74.45 74.45 0 0 0 3.51-18.06c15.49 1.48 36.1.42 51.51-11.52a48 48 0 0 0 4.21-3.58c1.33-.1 3.66-.84 4.95-4.6a6.42 6.42 0 0 0 .24-.94v-.29a5.46 5.46 0 0 0 .07-.64z" transform="translate(-154.5 -94.48)" fill="url(#B)"/><path d="M364.99 604.46s46.9 14.91 72.88-10l-5.51-7.21s-50.4 11.23-62.41 3-4.96 14.21-4.96 14.21z" fill="#294ace"/><path d="M436.55 593.52l.92 1.2c-26 24.92-72.88 10-72.88 10s-.12-.38-.3-1c5.59 1.67 48.02 13.08 72.26-10.2z" fill="#fff" opacity=".2"/><path d="M436.87 594.45s3.84.87 5.61-4.28-4.4-7.42-4.4-7.42-6.43 2.37-6.41 4.89 5.2 6.81 5.2 6.81z" fill="#985454"/><path d="M436.26 593.64s3.84.87 5.61-4.28a4.83 4.83 0 0 0-.45-4.36 4.9 4.9 0 0 1 1.06 5.16c-1.77 5.16-5.61 4.28-5.61 4.28a27.32 27.32 0 0 1-4.12-4.31 29.83 29.83 0 0 0 3.51 3.51z" fill="#fff" opacity=".2"/><path data-name="&lt;Path&gt;" d="M387.2 687.27h13.89a4.56 4.56 0 0 0 1.31 3.57c1.87 2.16 5.63 4.77 3.86 5.66H387.2z" fill="#294ace"/><path d="M401.39 690.84a4.56 4.56 0 0 1-1.31-3.57h1a4.56 4.56 0 0 0 1.31 3.57c1.87 2.16 5.63 4.77 3.86 5.66h-1c1.77-.89-1.99-3.49-3.86-5.66z" fill="#fff" opacity=".2"/><path data-name="&lt;Path&gt;" d="M337.73 684.41l13 2.13a6.62 6.62 0 0 0 .59 4.58c1.42 3 4.61 6.74 2.69 7.55l-18.82-3z" fill="#294ace"/><path d="M350.33 691.11a6.62 6.62 0 0 1-.59-4.58l-12.05-2v-.16l13 2.13a6.62 6.62 0 0 0 .59 4.58c1.42 3 4.61 6.74 2.69 7.55l-.79-.13c1.48-.98-1.49-4.57-2.85-7.39z" fill="#fff" opacity=".2"/><rect x="514.15" y="650.64" width="14.11" height="20.91" rx="7.06" ry="7.06" transform="rotate(180 443.955 613.855)" fill="#985454"/><circle cx="366.45" cy="547.85" r="15.62" fill="#985454"/><path d="M372 570.02v-6.8a7 7 0 0 0-.16-1.48 15.62 15.62 0 0 0-6.26-29.49h.88a15.62 15.62 0 0 1 7.15 29.51 7 7 0 0 1 .16 1.48v6.8a7 7 0 0 1-7.94 7 7.08 7.08 0 0 0 6.17-7.02z" fill="#fff" opacity=".2"/><path d="M350.58 625.7s30.13 3.4 31.24 0c7.81-23.94 0-42.83 0-42.83a15.62 15.62 0 0 0-15.62-15.62 15.62 15.62 0 0 0-15.62 15.62z" fill="#294ace"/><path d="M350.58 625.7l-13.61 62.49h13.61l14.11-46.36s17.64 7.56 22.17 22.68 0 23.68 0 23.68h14.64l.15-.68a65 65 0 0 0-19.8-61.81" fill="#263238"/><path d="M380.06 625.7c7.81-23.94 0-42.83 0-42.83a15.62 15.62 0 0 0-14.61-15.59h1a15.62 15.62 0 0 1 15.62 15.62s7.81 18.9 0 42.83c-.4 1.22-4.52 1.56-9.64 1.51 4.16-.09 7.29-.49 7.63-1.54z" fill="#fff" opacity=".2"/><path d="M364.43 642.93l-13.85 45.51h-2l14.11-46.36s.65.28 1.74.85zm15.38-16.98h2a65 65 0 0 1 19.8 61.81l-.15.68h-2l.15-.68a65 65 0 0 0-19.8-61.81z" opacity=".2" fill="#fff"/><path d="M362.99 594.46s46.9 14.91 72.88-10l-5.51-7.21s-50.4 11.23-62.41 3-4.96 14.21-4.96 14.21z" fill="#294ace"/><path d="M434.55 583.52l.92 1.2c-26 24.92-72.88 10-72.88 10s-.12-.38-.3-1c5.59 1.67 48.02 13.08 72.26-10.2z" fill="#fff" opacity=".2"/><path d="M434.87 584.45s3.84.87 5.61-4.28-4.4-7.42-4.4-7.42-6.43 2.37-6.41 4.89 5.2 6.81 5.2 6.81z" fill="#985454"/><path d="M434.26 583.64s3.84.87 5.61-4.28a4.83 4.83 0 0 0-.45-4.36 4.9 4.9 0 0 1 1.06 5.16c-1.77 5.16-5.61 4.28-5.61 4.28a27.32 27.32 0 0 1-4.12-4.31 29.83 29.83 0 0 0 3.51 3.51z" fill="#fff" opacity=".2"/><path d="M367.62 542.67l-1 21h-22v-11.15c0-22.39 23.67-30.89 37-12.9.33.49-14 3.05-14 3.05z" fill="#263238"/><path d="M362.68 530.01c5.61.46 11.38 3.52 15.94 9.67.33.44-14 3-14 3l-1 21h3l1-21s14.33-2.56 14-3c-5.37-7.26-12.43-10.16-18.94-9.67z" fill="#fff" opacity=".2"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/facebook.svg b/admin/survey/modules/mod_WPN/frontend/img/facebook.svg
new file mode 100644
index 0000000..d3af18c
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/facebook.svg
@@ -0,0 +1 @@
+<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg"><path d="M16 0H2C.9 0 0 .9 0 2v14c0 1.101.9 2 2 2h7v-7H7V8.525h2v-2.05c0-2.164 1.212-3.684 3.766-3.684l1.803.002v2.605h-1.197c-.994 0-1.372.746-1.372 1.438v1.69h2.568L14 11h-2v7h4c1.1 0 2-.899 2-2V2c0-1.1-.9-2-2-2z" fill="#262B3A"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/googleplay.png b/admin/survey/modules/mod_WPN/frontend/img/googleplay.png
new file mode 100644
index 0000000..7714f8a
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/googleplay.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/img/ios.png b/admin/survey/modules/mod_WPN/frontend/img/ios.png
new file mode 100644
index 0000000..ddc393a
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/ios.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/img/mail.svg b/admin/survey/modules/mod_WPN/frontend/img/mail.svg
new file mode 100644
index 0000000..e05b85c
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/mail.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="733.51" height="728.97"><defs><linearGradient id="a" x1="383.47" y1="728.97" x2="383.47" y2="400.92" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="238.26" y1="361.82" x2="838.21" y2="361.82" xlink:href="#a"/><linearGradient id="c" x1="465.73" y1="249.13" x2="465.73" y2="125.75" xlink:href="#a"/><linearGradient id="d" x1="264.33" y1="382.43" x2="264.33" y2="305.75" gradientTransform="matrix(0 -1 -1 0 760.81 597.66)" xlink:href="#a"/><linearGradient id="e" x1="212.21" y1="392.96" x2="212.21" y2="316.28" gradientTransform="matrix(0 -1 -1 0 821.81 562.29)" xlink:href="#a"/><linearGradient id="f" x1="295.6" y1="440.27" x2="295.6" y2="336.33" gradientTransform="matrix(0 -1 -1 0 768.63 669.04)" xlink:href="#a"/><linearGradient id="g" x1="224.95" y1="454.54" x2="224.95" y2="350.6" gradientTransform="matrix(0 -1 -1 0 851.31 621.1)" xlink:href="#a"/><linearGradient id="h" x1="627.39" y1="372.38" x2="627.39" y2="313.03" gradientTransform="matrix(-.65 .76 .76 .65 837.43 -649.66)" xlink:href="#a"/><linearGradient id="i" x1="303.02" y1="618.34" x2="303.02" y2="531.38" gradientTransform="rotate(32.36 1049.232 -85.334)" xlink:href="#a"/></defs><path fill="url(#a)" d="M346.26 400.92h74.42v328.05h-74.42z"/><path fill="#eceff1" d="M353.11 400.92h62.67V723.1h-62.67z"/><path d="M779.59 228.64H444.43a88.94 88.94 0 0 0-33.43 7.45c-34.07 15.1-53.9 38.8-59.5 91.36v121.43l-88.81-.94c-17.86 0-24.39 28.08-24.39 47.06h599.91V290.93c0-34.4-26.21-62.29-58.62-62.29z" transform="translate(-185.78 -83.31)" fill="url(#b)"/><path d="M270.85 158.06h332.08a40.68 40.68 0 0 1 40.68 40.68v202.18H270.85V158.06z" fill="#294ace"/><path d="M263 158.06a90.09 90.09 0 0 1 90.09 90.09v108.68A44.09 44.09 0 0 1 309 400.92h-92a44.09 44.09 0 0 1-44.09-44.09V248.15A90.09 90.09 0 0 1 263 158.06z" fill="#294ace"/><path d="M263 158.06a90.09 90.09 0 0 1 90.09 90.09v108.68A44.09 44.09 0 0 1 309 400.92h-92a44.09 44.09 0 0 1-44.09-44.09V248.15A90.09 90.09 0 0 1 263 158.06z" opacity=".2"/><path fill="url(#c)" d="M502.94 125.75h-74.42v123.38h33.78v-68.07h40.64v-55.31z"/><path fill="#ffcc80" d="M497.06 125.75h-62.67v113.59h23.5v-62.67h39.17v-50.92z"/><path transform="rotate(-83.06 276.792 396.563)" fill="url(#d)" d="M378.38 270.95h76.68v124.77h-76.68z"/><path fill="#faf8e4" d="M166.283 277.535l8.647-71.035 119.656 14.565-8.646 71.035z"/><path d="M193.296 225.682l-15.228-1.854 1.371-11.267 15.228 1.854zm53.051 28.696l-58.458-7.115.445-3.653 58.458 7.115zm-.96 7.92l-42.626-5.188.296-2.433 42.626 5.189z" opacity=".6" fill="#294ace"/><path transform="rotate(-83.06 327.256 413.312)" fill="url(#e)" d="M428.85 287.7h76.68v124.77h-76.68z"/><path fill="#faf8e4" d="M216.749 294.29l8.646-71.037 119.657 14.565-8.647 71.036z"/><path d="M243.77 242.437l-15.228-1.853 1.371-11.267 15.228 1.853zm53.051 28.697l-58.459-7.116.445-3.653 58.459 7.116zm-.981 7.918l-42.625-5.188.296-2.432 42.625 5.188z" opacity=".6" fill="#294ace"/><path transform="rotate(-83.06 240.401 436.673)" fill="url(#f)" d="M328.36 288.88H432.3V458H328.36z"/><path fill="#fff" d="M106.914 327.421l11.721-96.299 162.193 19.742-11.722 96.3z"/><path d="M143.527 257.131l-20.637-2.512 1.858-15.267 20.638 2.512zm71.903 38.909l-79.244-9.646.603-4.953 79.245 9.646zm-1.296 10.728l-57.784-7.033.402-3.306 57.784 7.034z" opacity=".6" fill="#294ace"/><path transform="rotate(-83.06 308.803 459.376)" fill="url(#g)" d="M396.77 311.59h103.94v169.12H396.77z"/><path fill="#fff" d="M175.312 350.135l11.722-96.299 162.193 19.742-11.722 96.3z"/><path d="M211.933 279.841l-20.638-2.512 1.858-15.267 20.638 2.512zm71.903 38.909l-79.245-9.645.603-4.954 79.245 9.646zm-1.298 10.729l-57.784-7.034.402-3.305 57.784 7.033z" opacity=".6" fill="#294ace"/><path d="M262.04 159.04a89.8 89.8 0 0 0-34.35 6.8 90.77 90.77 0 0 1 12.81-.92 90.09 90.09 0 0 1 90.09 90.09v143h21.54V249.13a90.09 90.09 0 0 0-90.09-90.09z" opacity=".2"/><path d="M94.59 369.58h258.52v31.34H63.25a31.34 31.34 0 0 1 31.34-31.34z" fill="#294ace"/><path d="M94.59 369.58h258.52v31.34H63.25a31.34 31.34 0 0 1 31.34-31.34z" fill="#fff" opacity=".2"/><path fill="url(#h)" d="M657.37 70.58l-2.97 1.45.34-.61-.26.08.37-.27L694.87 0l20.46 17.45 17.56 16.25-5.04 2.46 5.66 9.99-76.14 24.43z"/><path fill="#294ace" d="M713.31 19.31l16.04 14.88-72.72 36.15 38.7-49.6 17.98-1.43z"/><path opacity=".2" d="M713.31 19.31l16.04 14.88-72.72 36.15 38.7-49.6 17.98-1.43z"/><path fill="#294ace" d="M694.59 3.35l-37.96 66.99 56.68-51.03-18.72-15.96z"/><path fill="#294ace" d="M729.82 45.7l-73.11 24.15 61.11-45.62 12 21.47z"/><path fill="url(#i)" d="M121.67 86.97l4.78.74-.74-.7h.41l-.64-.22L38.62 4.42 17.54 37.69 0 68.04l8.12 1.26-3.6 16.44 117.15 1.23z"/><path fill="#294ace" d="M21.18 39.42L5.16 67.19 122.6 86.31 46.96 33.64l-25.78 5.78z"/><path opacity=".2" d="M21.18 39.42L5.16 67.19 122.6 86.31 46.96 33.64l-25.78 5.78z"/><path fill="#294ace" d="M40.47 8.99l82.13 77.32L21.18 39.42 40.47 8.99z"/><path fill="#294ace" d="M9.49 83.51l112.79 2.16-105.29-37.4-7.5 35.24z"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/mentioned.svg b/admin/survey/modules/mod_WPN/frontend/img/mentioned.svg
new file mode 100644
index 0000000..078c89f
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/mentioned.svg
@@ -0,0 +1 @@
+<svg width="1460" height="76" xmlns="http://www.w3.org/2000/svg"><path d="M38.77 13.673c0-5.52-5.25-7.27-9.693-7.135v.539c2.692.27 4.711 1.346 4.711 3.096 0 1.212-.942 2.827-3.5 2.827-2.153 0-5.519-1.212-8.884-2.288-3.635-1.212-7-2.424-9.827-2.424-5.52 0-9.827 4.174-9.827 9.289 0 4.173 3.23 5.52 4.442 6.058l.135-.27c-.808-.538-1.346-1.211-1.346-2.961 0-1.48 1.077-3.5 3.904-3.5 2.557 0 5.923 1.211 10.5 2.423 3.903 1.077 8.077 2.154 10.365 2.423v9.02l-4.308 3.634 4.308 3.77v12.384c-2.288 1.346-4.846 1.75-7.135 1.75-4.173 0-7.942-1.212-11.038-4.577l11.711-5.654V22.288L9.02 28.75c1.481-3.77 4.308-6.596 7.404-8.48l-.135-.27C7.808 22.288 0 30.096 0 39.788c0 11.577 9.288 20.058 19.923 20.058 11.577 0 18.308-9.02 18.173-18.577h-.27c-1.75 3.635-4.441 7.135-7.672 9.02V38.172l4.577-3.635-4.577-3.634v-9.02c4.308-.134 8.615-2.96 8.615-8.21zm-24.097 31.77l-3.365 1.75c-2.02-2.693-3.366-6.328-3.366-11.174 0-2.019.27-4.711.943-6.596l5.923-2.692-.135 18.711zm53.712-15.885l-2.289 1.75-6.73-6.058-7.943 6.058V7.885l-10.77 7.403c1.212.404 2.693 1.077 2.693 3.904V51.77l-3.634 2.827.403.404L42 53.654l6.327 5.788 8.615-5.654-.404-.538-2.153 1.48-2.962-2.96V32.114l2.02-1.48 4.71 4.038V51.77c0 10.77-2.422 13.058-7.268 14.808v.27c8.077.403 15.346-2.424 15.346-16.29V31.982l2.423-2.02-.27-.403zm14.403 29.75l12.385-9.962-.404-.538-6.461 5.115-7.539-5.788V44.5l12.923-9.154-6.461-10.096-14.404 7.942v18.712L70 54.058l.404.404 2.692-2.154 9.692 7zM80.77 43.692V29.558l6.193 9.827-6.193 4.307zm65.827-32.711c0-.943-.27-1.616-.538-2.693h-.27c-.942 2.424-1.884 3.635-4.576 3.635-2.424 0-4.308-1.48-5.385-2.558 0 .135-8.212 9.423-8.212 9.423l.404.404 2.289-2.692c1.75 1.346 3.365 2.962 7.269 2.962v23.826L121.02 14.346c-1.346-2.154-3.5-5.384-7.404-5.384-4.442 0-7.942 3.903-7.403 10.365h.269c.404-1.615 1.346-3.635 3.23-3.635 1.616 0 2.827 1.481 3.635 2.827v9.289c-5.115 0-8.077 2.423-8.077 6.461 0 1.75 1.212 5.385 4.712 5.923v-.269c-.539-.538-.943-.942-.943-1.885 0-1.615 1.212-2.423 3.231-2.423.404 0 .808.135 1.077.135v12.115c-6.058.135-10.77 3.366-10.77 9.154 0 5.385 4.712 7.943 9.559 7.673v-.269c-3.097-.404-4.577-1.885-4.577-4.173 0-2.423 1.75-3.77 4.038-3.77 2.289 0 3.904 1.482 5.385 3.097l8.211-9.154-.404-.404-2.153 2.423c-3.097-2.827-5.116-4.038-8.75-4.577V19.327l23.019 40.115h1.211v-39.98c4.577-.27 8.481-3.5 8.481-8.481zm7.808 48.327l12.384-9.962-.403-.538-6.462 5.115L152.385 48v-3.635l12.923-9.153-6.462-10.097-14.404 7.943v18.711l-2.827 2.154.404.404 2.693-2.154 9.692 7.135zm-1.885-15.616V29.558l6.193 9.827-6.193 4.307zm58.423-15.211l-1.884 1.48-5.385-4.576-6.327 5.653 2.558 2.424V54.73l-6.462-4.443v-17.23l2.289-1.616-6.596-6.192-6.193 5.654 2.558 2.423v20.596l-.404.27-6.058-4.443V32.923c0-3.904-2.019-5.115-4.442-6.596-2.154-1.346-3.23-2.558-3.23-4.442 0-2.154 1.884-3.097 2.557-3.366-2.154-.134-8.211 2.154-8.346 7.673-.135 2.827 1.346 4.039 2.692 5.385 1.481 1.346 2.827 2.692 2.827 4.98v16.558l-2.961 2.289.403.404 2.827-2.154 7.27 5.923 7-4.846 7.673 4.846 14.942-8.885v-19.25l3.365-2.557-.673-.404zm50.077-16.154l-2.827 2.558-6.327-5.52-8.615 7V9.904h-.538v46.711c-.943-.134-2.962-.673-5.116-1.077V16.5c0-2.827-2.02-6.73-7.134-6.73-5.25 0-8.347 4.307-8.347 8.076h.27c.269-1.75 1.48-3.23 3.096-3.23 1.75 0 3.23 1.076 3.23 4.846v11.173c-4.846.269-7.807 3.23-7.807 6.461 0 1.885 1.211 5.25 4.846 5.385v-.27c-1.212-.538-1.48-1.211-1.48-1.884 0-1.615 1.615-2.154 3.768-2.154h.539v17.904c-4.173 1.48-6.058 4.173-6.058 7.673 0 4.712 3.77 8.48 9.423 8.48 3.904 0 6.731-.672 10.366-1.48 2.961-.673 6.057-1.346 7.807-1.346 2.154 0 3.097.942 3.097 2.558 0 2.019-.808 2.961-1.885 3.365v.27c4.711-.943 7.404-3.635 7.404-7.809 0-4.307-4.173-7-8.75-7-2.423 0-6.731.808-10.231 1.616-3.904.942-7.404 1.346-8.615 1.346-2.02 0-4.443-.942-4.443-3.5 0-2.423 2.02-4.308 6.866-4.308 2.692 0 5.25.404 8.48 1.212 3.5.808 5.789 1.75 8.885 1.75 4.173 0 7.539-1.48 7.539-7.539V15.558l3.096-2.827-.539-.404zm-11.711 18.711c-.808.808-1.616 1.481-3.096 1.481-1.616 0-2.424-.807-3.097-1.48v-14l2.02-1.616 4.173 3.5v12.115zm0 6.731c-.673-.673-1.616-1.346-3.096-1.346-1.481 0-2.558.808-3.097 1.346v-5.923c.673.539 1.616 1.346 3.097 1.346 1.48 0 2.423-.673 3.096-1.346v5.923zm0 14c0 2.289-1.212 4.846-4.173 4.846-.539 0-1.616-.134-2.02-.134V38.442c.673-.673 1.616-1.48 3.097-1.48 1.48 0 2.288.673 3.096 1.48V51.77zm24.23 7.539l13.866-8.616V31.846l-9.02-6.596-13.865 7.942v18.712l-2.692 2.154.27.404 2.288-1.885 9.153 6.73zm-.942-9.693V29.423l7 5.115v20.058l-7-4.98zm41.327-23.961c-1.077.808-2.02 1.211-3.096 1.211-1.077 0-2.423-.673-3.096-1.615 0 .135-5.116 5.52-5.116 5.52l-5.115-5.52-8.48 5.788.268.539 2.289-1.48 3.096 3.365v18.307l-3.635 2.827.404.404 1.885-1.346 6.865 5.788 8.75-5.788-.269-.404-2.288 1.346-3.5-3.23V31.307c1.48 1.615 3.096 2.961 4.98 2.961 3.231 0 5.654-4.173 6.058-8.615zm32.846 27.058l-2.557 1.615-14.404-21.404.807-1.077c1.616.942 2.962 2.289 5.923 2.289 2.962 0 6.731-3.097 7.135-8.885-.808 1.077-2.288 2.288-4.711 2.288-1.75 0-3.5-1.211-4.577-2.288l-9.827 14.404 12.923 19.788 9.423-6.192-.135-.538zm-17.5.538l-2.154 1.48-2.961-2.96V7.884l-10.77 7.403c1.212.404 2.693 1.077 2.693 3.904V51.77l-3.635 2.827.404.404 1.885-1.346 6.327 5.788 8.615-5.654-.404-.538zm63.135-39.577c0-5.52-5.25-7.27-9.692-7.135v.539c2.692.27 4.711 1.346 4.711 3.096 0 1.212-.942 2.827-3.5 2.827-2.154 0-5.52-1.212-8.885-2.288-3.634-1.212-7-2.424-9.826-2.424-5.52 0-9.827 4.174-9.827 9.289 0 4.173 3.23 5.52 4.442 6.058l.135-.27c-.808-.538-1.347-1.211-1.347-2.961 0-1.48 1.077-3.5 3.904-3.5 2.558 0 5.923 1.211 10.5 2.423 3.904 1.077 8.077 2.154 10.366 2.423v9.02l-4.308 3.634 4.308 3.77v12.384c-2.289 1.346-4.847 1.75-7.135 1.75-4.173 0-7.942-1.212-11.038-4.577l11.711-5.654V22.288l-14.404 6.327c1.481-3.769 4.308-6.596 7.404-8.48l-.135-.27c-8.48 2.289-16.288 10.097-16.288 19.789 0 11.577 9.288 20.058 19.923 20.058 11.577 0 18.308-9.02 18.173-18.577h-.27c-1.75 3.634-4.441 7.134-7.672 9.019V38.038l4.577-3.634-4.577-3.635V21.75c4.442 0 8.75-2.827 8.75-8.077zm-24.23 31.77l-3.366 1.75c-2.02-2.693-3.366-6.328-3.366-11.174 0-2.019.27-4.711.943-6.596l5.923-2.692-.135 18.711zm32.98-33.924L395.23 16.5l5.115 5.788 5.923-4.98-5.115-5.789zm9.154 41.731l-2.154 1.48-2.962-2.96V31.98l2.558-2.018-.404-.404-2.154 1.615-4.98-5.923L392 30.904l.27.538 2.018-1.346 2.693 3.366v18.307l-3.635 2.827.404.404 1.885-1.346 6.327 5.788 8.615-5.654-.27-.538zm45.769-.27l-2.02 1.347-3.23-3.096V31.98l2.558-2.02-.404-.403-2.289 1.75-6.73-6.058-7.674 5.923-6.73-5.923-7.539 5.923-5.115-5.923-8.212 5.654.27.538 2.019-1.346 2.961 3.366v18.173l-2.288 2.288 6.461 5.52 6.327-5.655-2.557-2.423V31.846l1.75-1.211 4.711 4.038v16.962l-2.154 2.288 6.596 5.52 6.193-5.655-2.558-2.423V31.846l1.615-1.346 4.712 4.173v16.692l-1.885 2.02 6.597 6.057 8.75-5.923-.135-.538zm23.827-4.038l-6.462 5.116-7.538-5.923V44.5l12.923-9.154-6.462-10.096-14.403 7.942v19.116l9.826 7.134 12.385-9.961-.27-.539zm-14-5.25V29.558l6.192 9.827-6.192 4.307zM504.808 41l-5.52-4.173c3.635-3.23 4.981-7.27 4.981-10.23 0-.405-.134-1.212-.134-1.885h-.27c-.538 1.48-2.019 2.826-4.173 2.826s-3.5-1.211-4.846-2.692l-12.654 7v10.23l4.846 3.77c-4.846 4.308-5.788 7-5.788 9.423 0 2.558 1.48 4.577 3.904 5.52l.27-.404c-.674-.539-1.212-.943-1.212-2.154 0-.943.942-2.423 3.096-2.423 2.827 0 4.442 1.884 5.384 2.961 0-.134 12.116-7.404 12.116-7.404V41zm-2.827-8.346c-1.885 3.365-6.058 6.73-8.616 8.615l-3.096-2.557V28.75c1.212 2.692 3.77 4.98 7 4.98 2.02 0 3.231-.403 4.712-1.076zM496.73 55c-1.481-3.23-4.443-5.52-7.943-5.52-.807 0-3.365-.134-5.519 1.347 1.346-2.154 5.116-6.058 10.096-9.02l3.366 2.828V55zm370.462-20c0 19.33-15.67 35-35 35s-35-15.67-35-35 15.67-35 35-35 35 15.67 35 35zm-30.333 0h-9.917V24.5h9.917a5.25 5.25 0 0 1 0 10.5zm0-17.5h-16.917v35h7V42h9.917c6.765 0 12.25-5.485 12.25-12.25 0-6.766-5.485-12.25-12.25-12.25zm67.103 13.222c0-1.925-1.48-3.094-3.402-3.094h-5.155v6.152h5.155c1.922 0 3.402-1.168 3.402-3.058zm-13.436 15.945V23.333h10.72c4.983 0 7.697 3.368 7.697 7.389 0 3.986-2.748 7.353-7.698 7.353h-5.84v8.592h-4.88zm21.385 0V29.655h4.363v2.235c1.203-1.444 3.232-2.646 5.294-2.646v4.26c-.31-.068-.689-.102-1.203-.102-1.444 0-3.37.824-4.091 1.89v11.375h-4.363zm24.336-8.729c0-2.577-1.514-4.811-4.262-4.811-2.717 0-4.228 2.234-4.228 4.811 0 2.612 1.511 4.845 4.228 4.845 2.748 0 4.262-2.233 4.262-4.845m-13.026 0c0-4.708 3.3-8.694 8.764-8.694 5.498 0 8.797 3.986 8.797 8.694s-3.299 8.729-8.797 8.729c-5.465 0-8.764-4.021-8.764-8.729m32.246 2.955v-5.876c-.722-1.1-2.303-1.89-3.747-1.89-2.507 0-4.225 1.958-4.225 4.81 0 2.887 1.718 4.846 4.225 4.846 1.444 0 3.025-.79 3.747-1.89zm0 5.774v-2.544c-1.307 1.65-3.092 2.544-5.12 2.544-4.159 0-7.354-3.162-7.354-8.73 0-5.394 3.128-8.693 7.353-8.693 1.959 0 3.814.824 5.12 2.542v-8.453h4.4v23.334h-4.4zm19.942 0v-2.509c-1.133 1.237-3.126 2.509-5.84 2.509-3.643 0-5.361-1.994-5.361-5.224V29.656h4.362v10.069c0 2.302 1.203 3.058 3.058 3.058 1.685 0 3.025-.928 3.78-1.89V29.655h4.366v17.012h-4.365zm7.641-8.729c0-5.085 3.71-8.694 8.798-8.694 3.402 0 5.464 1.478 6.564 2.99l-2.854 2.68c-.79-1.169-1.993-1.787-3.503-1.787-2.648 0-4.503 1.925-4.503 4.811s1.855 4.845 4.503 4.845c1.51 0 2.714-.687 3.503-1.822l2.854 2.68c-1.1 1.513-3.162 3.026-6.564 3.026-5.087 0-8.798-3.608-8.798-8.729m19.114 4.158v-8.625h-2.748v-3.815h2.748V25.12h4.365v4.536h3.366v3.815h-3.366v7.457c0 1.064.549 1.855 1.511 1.855.652 0 1.273-.24 1.511-.515l.93 3.333c-.653.584-1.823 1.066-3.644 1.066-3.059 0-4.673-1.581-4.673-4.571m35.686 4.571v-10.07h-10.826v10.07h-4.877V23.333h4.877v9.003h10.826v-9.003h4.913v23.334zm20.53 0v-2.509c-1.134 1.237-3.126 2.509-5.84 2.509-3.643 0-5.362-1.994-5.362-5.224V29.656h4.363v10.069c0 2.302 1.203 3.058 3.058 3.058 1.684 0 3.025-.928 3.78-1.89V29.655h4.365v17.012h-4.365zm19.905 0V36.22c0-2.303-1.2-3.093-3.058-3.093-1.718 0-3.022.962-3.78 1.925v11.615h-4.363V29.655h4.363v2.131c1.066-1.236 3.128-2.542 5.808-2.542 3.677 0 5.429 2.061 5.429 5.291v12.132h-4.399zm9.6-4.571v-8.625h-2.748v-3.815h2.748V25.12h4.365v4.536h3.366v3.815h-3.366v7.457c0 1.064.549 1.855 1.511 1.855.652 0 1.273-.24 1.514-.515l.926 3.333c-.652.584-1.822 1.066-3.643 1.066-3.058 0-4.673-1.581-4.673-4.571m113.03-14.996V12.75c-6.3 0-10.745 2.66-13.3 7.98v-7h-14.77v51.835h15.75v-25.34c0-9.765 2.065-13.09 11.935-13.09h.385V27.1zm258.51 16.45c0-19.075-11.165-30.8-27.475-30.8-6.965 0-13.72 2.87-18.9 8.015a26.708 26.708 0 0 0-6.16 9.52V-2.93h-15.575v22.365c-3.5-4.55-8.435-6.685-14.84-6.685-6.685 0-12.705 2.45-17.64 7.28-3.57 3.43-6.055 7.455-7.35 11.935a27.15 27.15 0 0 0-7.28-11.795c-5.145-4.865-11.55-7.455-19.005-7.455-6.965 0-13.755 2.87-18.9 8.015-2.765 2.765-4.865 6.02-6.195 9.59-4.48-11.41-13.51-17.57-25.55-17.57-5.425 0-10.255 1.47-14.525 4.375l-7.42 17.955c-2.835-14-12.915-22.33-26.635-22.33-6.965 0-13.72 2.87-18.9 8.015-5.075 5.04-7.84 11.62-7.84 18.76 0 7.245 2.59 13.72 7.525 18.97 5.25 5.53 11.55 8.19 19.355 8.19 5.845 0 10.92-1.435 15.155-4.235l4.9-11.9h-11.76c-2.275 1.995-4.76 2.87-7.805 2.87-6.58 0-10.5-2.87-11.83-8.295h33.67c1.015 4.97 3.325 9.555 6.965 13.37 5.25 5.53 11.515 8.19 19.32 8.19 11.725 0 21.14-6.475 25.41-17.43 1.26 3.395 3.22 6.475 5.81 9.205 5.25 5.53 11.55 8.225 19.39 8.225 7.735 0 14.245-2.765 19.495-8.015 3.185-3.185 5.39-6.825 6.58-10.99 1.4 4.9 4.13 9.205 8.155 12.81 4.62 4.13 10.15 6.195 16.555 6.195 6.3 0 11.025-1.68 15.645-6.195v5.04h15.085V49.08c1.26 3.43 3.22 6.615 5.88 9.415 5.25 5.53 11.55 8.19 19.355 8.19 11.445 0 19.95-5.425 24.885-16.135h-16.59c-2.275 1.995-4.76 2.87-7.805 2.87-6.58 0-10.5-2.87-11.83-8.295h38.64V43.55h.035zm-245.105-9.065c1.05-4.865 5.53-8.12 11.83-8.12 6.02 0 10.29 2.87 12.11 8.12h-23.94zm70.525 12.6c-2.485 3.325-5.81 5.04-9.905 5.04-7.245 0-12.18-4.865-12.18-12.67 0-7.035 4.935-12.18 11.725-12.18 4.935 0 8.47 1.89 10.57 5.425h14.28c-.595 2.205-.875 4.48-.875 6.86 0 2.59.35 5.11 1.015 7.525h-14.63zm40.635 5.635c-6.755 0-12.46-5.775-12.46-12.95 0-7.245 5.6-13.055 12.46-13.055 6.86 0 12.46 5.775 12.46 13.055 0 7.175-5.6 12.95-12.46 12.95zm54.145 0c-7.945 0-13.65-5.6-13.65-12.95 0-7.07 5.705-13.055 13.055-13.055 7.245 0 12.845 5.705 12.845 13.23.035 7.28-5.565 12.775-12.25 12.775zm40.705-18.235c1.05-4.865 5.53-8.12 11.83-8.12 6.02 0 10.29 2.87 12.11 8.12h-23.94zM651 0v23.333h-23.333V70h-23.334V23.333H581V0zm23.333 23.333H721V0h-46.667zm0 0v23.334H721V70h-70V23.333z" fill="#B8B8B8"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/messaging.svg b/admin/survey/modules/mod_WPN/frontend/img/messaging.svg
new file mode 100644
index 0000000..ea5751b
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/messaging.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="664" height="779.55"><defs><linearGradient id="a" x1="324.23" y1="775.01" x2="630.7" y2="51.33" gradientTransform="rotate(-.14 -841.696 5577.13)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="557.77" y1="856.45" x2="863.06" y2="135.54" xlink:href="#a"/><linearGradient id="c" x1="430.18" y1="453.24" x2="430.18" y2="294.18" xlink:href="#a"/></defs><g opacity=".5"><path d="M645.11 60.78l-362.25.88A14.89 14.89 0 0 0 268 76.57l1.65 667.73a14.89 14.89 0 0 0 14.93 14.85l362.25-.88a14.89 14.89 0 0 0 14.85-14.92L660 75.62a14.89 14.89 0 0 0-14.89-14.84z" transform="translate(-268 -60.22)" fill="url(#a)"/><rect x="274.12" y="60.65" width="381.44" height="688.5" rx="13.64" ry="13.64" transform="rotate(-.14 -24317.39 110051.963)" fill="#fff"/><path d="M377.62 190.78l-.38-159a14.49 14.49 0 0 0-14.52-14.45l-70.85.17a30.92 30.92 0 0 1-30.41 26.38l-131.75.32a30.92 30.92 0 0 1-30.54-26.23l-69.79.17a14.49 14.49 0 0 0-14.45 14.52L15.32 193l1.13 464.66A14.49 14.49 0 0 0 31 672.08l333.34-.81a14.49 14.49 0 0 0 14.41-14.49z" fill="#bbb"/><rect x="418.12" y="86.18" width="85" height="5.31" rx="2" ry="2" transform="rotate(-.86 -3684.913 17913.26)" fill="#dbdbdb"/><circle cx="521.17" cy="87.39" r="3.19" transform="rotate(-.86 -3624.272 17911.716)" fill="#dbdbdb"/><path fill="#e0e0e0" d="M166.1 103.52h177.59v14.16H166.1zm0 28.32h177.59V146H166.1z"/><ellipse cx="78.09" cy="118.92" rx="33.54" ry="33.7" fill="#f5f5f5"/><path d="M92.54 142.51H63.45a8.67 8.67 0 0 0-7.08 3.76 43.63 43.63 0 0 0 43 .24 8.66 8.66 0 0 0-6.83-4z" fill="#294ace"/><path d="M63.69 119.78s-4.26 12.4-6.59 11.24c0 0 22.44 19.38 42.25 0a59.07 59.07 0 0 0-8.53-11.24z" fill="#333"/><circle cx="78.07" cy="118.62" r="16.67" fill="#333"/><path d="M72.21 136.73h11.63v4.52a5.34 5.34 0 0 1-5.34 5.34h-1a5.34 5.34 0 0 1-5.34-5.34v-4.52h.05z" opacity=".1"/><path d="M73.44 136.45h9.18a1.23 1.23 0 0 1 1.23 1.23V141a5.34 5.34 0 0 1-5.34 5.34h-1a5.34 5.34 0 0 1-5.3-5.34v-3.29a1.23 1.23 0 0 1 1.23-1.26z" fill="#fda57d"/><path d="M72.24 138.13a16.73 16.73 0 0 0 11.63 0v-1.35H72.24z" opacity=".1"/><circle cx="78.07" cy="122.24" r="16.67" fill="#fda57d"/><path d="M62.14 115.91h31.78s-2.71-12.83-14.73-12-17.05 12-17.05 12z" fill="#333"/><ellipse cx="61.75" cy="121.53" rx="1.55" ry="2.91" fill="#fda57d"/><ellipse cx="94.31" cy="121.53" rx="1.55" ry="2.91" fill="#fda57d"/><path d="M62.14 116.35h31.78s-2.71-12.83-14.73-12-17.05 12-17.05 12z" opacity=".1"/><path fill="#e0e0e0" d="M166.1 211.38h177.59v14.16H166.1zm0 28.32h177.59v14.16H166.1z"/><ellipse cx="78.09" cy="226.78" rx="33.54" ry="33.7" fill="#e0e0e0"/><path fill="#e0e0e0" d="M166.1 319.24h177.59v14.16H166.1zm0 28.32h177.59v14.16H166.1z"/><ellipse cx="78.09" cy="334.64" rx="33.54" ry="33.7" fill="#e0e0e0"/><path fill="#e0e0e0" d="M166.1 427.1h177.59v14.16H166.1zm0 28.32h177.59v14.16H166.1z"/><ellipse cx="78.09" cy="442.5" rx="33.54" ry="33.7" fill="#e0e0e0"/><path fill="#e0e0e0" d="M166.1 534.96h177.59v14.16H166.1zm0 28.32h177.59v14.16H166.1z"/><ellipse cx="78.09" cy="550.36" rx="33.54" ry="33.7" fill="#e0e0e0"/></g><path d="M878.26 144.67l-362.26.88a14.89 14.89 0 0 0-14.85 14.92l1.65 664.46a14.89 14.89 0 0 0 14.93 14.85L880 838.9a14.89 14.89 0 0 0 14.83-14.9l-1.65-664.46a14.89 14.89 0 0 0-14.92-14.87z" transform="translate(-268 -60.22)" fill="url(#b)"/><rect x="507.27" y="141.27" width="381.44" height="688.5" rx="13.64" ry="13.64" transform="rotate(-.14 -24084.214 110134.099)" fill="#fff"/><path data-name="&lt;Path&gt;" d="M610.77 272.49l-.38-160.13a14.49 14.49 0 0 0-14.52-14.45l-70.87.17a30.92 30.92 0 0 1-30.41 26.38l-131.74.32a30.92 30.92 0 0 1-30.54-26.23l-69.79.17a14.49 14.49 0 0 0-14.45 14.52l.39 160.34" fill="#fafafa"/><path data-name="&lt;Path&gt;" d="M248.46 273.59l1.13 464.66a14.49 14.49 0 0 0 14.52 14.45l333.34-.81a14.49 14.49 0 0 0 14.45-14.52l-1.14-466" fill="#fafafa"/><path fill="#e0e0e0" d="M280.5 164.53h70.82v70.82H280.5z"/><path fill="url(#c)" d="M196.37 294.18H664v159.07H196.37z" opacity=".5"/><path fill="#fff" d="M201.94 300.72h456.5V447.8h-456.5z"/><path fill="#294ace" d="M384 355.19h177.59v14.16H384zm0 28.33h177.59v14.16H384z"/><path fill="#e0e0e0" d="M384 512.08h177.59v14.16H384z"/><path fill="#eee" d="M384 540.4h177.59v14.16H384z"/><path fill="#294ace" d="M433.03 221.18h79.53v25.06h-79.53z"/><ellipse cx="295.99" cy="370.59" rx="33.54" ry="33.7" fill="#f5f5f5"/><path d="M310.44 394.18h-29.1a8.67 8.67 0 0 0-7.08 3.76 43.63 43.63 0 0 0 43 .24 8.66 8.66 0 0 0-6.82-4z" fill="#294ace"/><path d="M281.59 371.46s-4.26 12.4-6.59 11.24c0 0 22.44 19.38 42.25 0a59.07 59.07 0 0 0-8.53-11.24z" fill="#333"/><circle cx="295.97" cy="370.3" r="16.67" fill="#333"/><path d="M290.11 388.41h11.63v4.52a5.34 5.34 0 0 1-5.34 5.34h-1a5.34 5.34 0 0 1-5.34-5.34v-4.52h.05z" opacity=".1"/><path d="M291.34 388.13h9.18a1.23 1.23 0 0 1 1.23 1.23v3.29a5.34 5.34 0 0 1-5.35 5.35h-1a5.34 5.34 0 0 1-5.34-5.34v-3.29a1.23 1.23 0 0 1 1.23-1.23z" fill="#fda57d"/><path d="M290.13 389.78a16.73 16.73 0 0 0 11.63 0v-1.43h-11.63z" opacity=".1"/><circle cx="295.97" cy="373.91" r="16.67" fill="#fda57d"/><path d="M280 367.59h31.78s-2.71-12.83-14.73-12-17.05 12-17.05 12z" fill="#333"/><ellipse cx="279.65" cy="373.2" rx="1.55" ry="2.91" fill="#fda57d"/><ellipse cx="312.2" cy="373.2" rx="1.55" ry="2.91" fill="#fda57d"/><path d="M280 368.02h31.78s-2.71-12.83-14.73-12-17.05 12-17.05 12z" opacity=".1"/><ellipse cx="317.78" cy="528.57" rx="33.54" ry="33.7" fill="#e0e0e0"/><ellipse cx="317.78" cy="658.22" rx="33.54" ry="33.7" fill="#e0e0e0"/><path fill="#e0e0e0" d="M384 637.37h177.59v14.16H384z"/><path fill="#eee" d="M384 665.69h177.59v14.16H384z"/><path fill="#e0e0e0" d="M384 164.53h177.59v14.16H384zm0 28.33h177.59v14.16H384z"/><rect x="651.27" y="166.8" width="85" height="5.31" rx="2" ry="2" transform="rotate(-.86 -3451 17994.3)" fill="#dbdbdb"/><circle cx="754.32" cy="168.02" r="3.19" transform="rotate(-.86 -3390.359 17992.756)" fill="#dbdbdb"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/search.svg b/admin/survey/modules/mod_WPN/frontend/img/search.svg
new file mode 100644
index 0000000..61fb516
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/search.svg
@@ -0,0 +1 @@
+<svg width="688" height="679" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="a"><stop stop-color="gray" stop-opacity=".25" offset="0%"/><stop stop-color="gray" stop-opacity=".12" offset="54%"/><stop stop-color="gray" stop-opacity=".1" offset="100%"/></linearGradient><linearGradient x1="27444%" y1="40932%" x2="27444%" y2="24816%" id="b"><stop stop-color="gray" stop-opacity=".25" offset="0%"/><stop stop-color="gray" stop-opacity=".12" offset="54%"/><stop stop-color="gray" stop-opacity=".1" offset="100%"/></linearGradient><linearGradient x1="27444%" y1="36144%" x2="27444%" y2="26101%" id="c"><stop stop-color="gray" stop-opacity=".25" offset="0%"/><stop stop-color="gray" stop-opacity=".12" offset="54%"/><stop stop-color="gray" stop-opacity=".1" offset="100%"/></linearGradient><path id="d" d="M.54.72h143.79v96.93H.54z"/><linearGradient x1="27444%" y1="61603%" x2="27444%" y2="45487%" id="f"><stop stop-color="gray" stop-opacity=".25" offset="0%"/><stop stop-color="gray" stop-opacity=".12" offset="54%"/><stop stop-color="gray" stop-opacity=".1" offset="100%"/></linearGradient><linearGradient x1="27444%" y1="56815%" x2="27444%" y2="46772%" id="g"><stop stop-color="gray" stop-opacity=".25" offset="0%"/><stop stop-color="gray" stop-opacity=".12" offset="54%"/><stop stop-color="gray" stop-opacity=".1" offset="100%"/></linearGradient><path id="h" d="M.54.42h143.79v96.93H.54z"/><linearGradient x1="68876%" y1="76586%" x2="68876%" y2="16326%" id="j"><stop stop-color="gray" stop-opacity=".25" offset="0%"/><stop stop-color="gray" stop-opacity=".12" offset="54%"/><stop stop-color="gray" stop-opacity=".1" offset="100%"/></linearGradient><linearGradient x1="68818%" y1="56849%" x2="68818%" y2="40967%" id="k"><stop stop-color="gray" stop-opacity=".25" offset="0%"/><stop stop-color="gray" stop-opacity=".12" offset="54%"/><stop stop-color="gray" stop-opacity=".1" offset="100%"/></linearGradient><linearGradient x1="50%" y1="100%" x2="50%" y2=".001%" id="l"><stop stop-color="#B3B3B3" stop-opacity=".25" offset="0%"/><stop stop-color="#B3B3B3" stop-opacity=".1" offset="54%"/><stop stop-color="#B3B3B3" stop-opacity=".05" offset="100%"/></linearGradient><linearGradient x1="49.98%" y1="99.949%" x2="49.98%" y2="0%" id="m"><stop stop-color="#FFF" stop-opacity=".12" offset="0%"/><stop stop-color="#FFF" stop-opacity=".09" offset="55%"/><stop stop-color="#FFF" stop-opacity=".02" offset="100%"/></linearGradient><linearGradient x1="77499%" y1="48473%" x2="77499%" y2="42515%" id="n"><stop stop-color="#FFF" stop-opacity=".12" offset="0%"/><stop stop-color="#FFF" stop-opacity=".09" offset="55%"/><stop stop-color="#FFF" stop-opacity=".02" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M.15.21h448.44v602.6H.15z" opacity=".5" transform="translate(0 30)" fill-rule="nonzero" fill="url(#a)"/><path fill="#F2F2F2" fill-rule="nonzero" d="M5.99 38.39h434.43v581.58H5.99z"/><path fill="#E0E0E0" fill-rule="nonzero" d="M39.86 62.91h149.48v4.67H39.86z"/><path fill="#294ACE" fill-rule="nonzero" opacity=".7" d="M39.86 83.93h149.48v4.67H39.86z"/><path fill="#E0E0E0" fill-rule="nonzero" d="M211.53 62.91h149.48v4.67H211.53zm23.35 133.14h149.48v4.67H234.88zm3.51 12.84h149.48v4.67H238.39zm7.01 12.85h149.48v4.67H245.4zm-10.52 181.01h149.48v4.67H234.88zm3.51 12.85h149.48v4.67H238.39zm7.01 12.84h149.48v4.67H245.4z"/><path d="M.03.16h158.82v161.16H.03z" opacity=".5" transform="translate(41 148)" fill-rule="nonzero" fill="url(#b)"/><path fill="#F5F5F5" fill-rule="nonzero" d="M42.03 151.67h156.32v154.15H42.03z"/><path d="M.54.01h145.8v100.43H.54z" opacity=".5" transform="translate(47 161)" fill-rule="nonzero" fill="url(#c)"/><path fill="#FFF" fill-rule="nonzero" d="M48.54 162.18h143.79v96.93H48.54z"/><g transform="translate(227 222)"><mask id="e" fill="#fff"><use xlink:href="#d"/></mask><g mask="url(#e)" fill-rule="nonzero" fill="#294ACE" opacity=".4"><g transform="translate(-196 -57)"><path d="M5.35 90.61l36.21-56.06 15.18 24.52 32.7-33.86 28.03 33.86 24.52-50.21 63.06 100.43L.68 102.28z"/><circle cx="33.38" cy="11.19" r="10.51"/></g></g></g><path d="M.03.87h158.82v161.16H.03z" opacity=".5" transform="translate(41 354)" fill-rule="nonzero" fill="url(#f)"/><path fill="#F5F5F5" fill-rule="nonzero" d="M42.03 358.37h156.32v154.15H42.03z"/><path d="M.54.72h145.8v100.43H.54z" opacity=".5" transform="translate(47 367)" fill-rule="nonzero" fill="url(#g)"/><path fill="#FFF" fill-rule="nonzero" d="M48.54 368.88h143.79v96.93H48.54z"/><g transform="translate(227 429)"><mask id="i" fill="#fff"><use xlink:href="#h"/></mask><g mask="url(#i)" fill-rule="nonzero" fill="#BDBDBD" opacity=".4"><g transform="translate(-196 -57)"><path d="M5.35 90.31l36.21-56.06 15.18 24.53 32.7-33.87 28.03 33.87 24.52-50.22 63.06 100.43-204.37-7z"/><circle cx="33.38" cy="10.9" r="10.51"/></g></g></g><path transform="rotate(-78.76 312.134 300.068)" d="M-21.666 115.442h602.6v448.44h-602.6z" opacity=".5" fill-rule="nonzero" fill="url(#j)"/><path fill="#FFF" fill-rule="nonzero" d="M74.214 580.02L187.575 9.595l426.097 84.679-113.36 570.425z"/><path fill="#E0E0E0" fill-rule="nonzero" d="M213.319 42.077l302.396 60.096-.91 4.58L212.41 46.657zm-86.043 432.981l302.396 60.096-.91 4.58-302.396-60.095zm-5.246 26.335L355.7 547.83l-.91 4.58-233.67-46.437z"/><path fill="#294ACE" fill-rule="nonzero" opacity=".7" d="M116.797 527.746l87.048 17.3-.91 4.58-87.048-17.3zm91.277-459.319l151.194 30.047-.91 4.58-151.194-30.046z"/><path fill="#E0E0E0" fill-rule="nonzero" d="M202.85 94.769l272.61 54.176-.91 4.58L201.94 99.35z"/><path fill="#3AD29F" fill-rule="nonzero" opacity=".7" d="M197.61 121.119l66.432 13.202-.91 4.58L196.7 125.7z"/><path fill="#E0E0E0" fill-rule="nonzero" d="M192.38 147.464l302.396 60.096-.91 4.58-302.396-60.096z"/><path transform="rotate(-78.76 402.434 120.086)" d="M71.865-32.78h158.82v276.77H71.865z" opacity=".5" fill-rule="nonzero" fill="url(#k)"/><path fill="#FFF" fill-rule="nonzero" d="M220.561 260.23l268.029 53.266-30.275 152.341-268.029-53.265z"/><path fill="#E0E0E0" fill-rule="nonzero" d="M187.145 173.818l302.396 60.096-.91 4.58-302.396-60.095z"/><path fill="#294ACE" fill-rule="nonzero" d="M244.533 286.425l33.22 6.602-22.08 111.108-33.22-6.602z"/><path fill="#3AD29F" fill-rule="nonzero" d="M296.81 334.918l33.22 6.602-14.797 74.454-33.22-6.602z"/><path fill="#F55F44" fill-rule="nonzero" d="M349.55 381.12l33.22 6.602-7.966 40.086-33.22-6.602z"/><path fill="#FDD835" fill-rule="nonzero" d="M417.308 351.72l33.22 6.602-16.162 81.33-33.22-6.602z"/><path d="M547.45 250.01a155.89 155.89 0 0 0-223.11-1.68c-59 59.48-60 156.33-2.29 217.07 52.347 55.099 136.798 64.418 199.9 22.06l112.69 117.21a7.59 7.59 0 0 0 10.73.21l28.08-27a7.59 7.59 0 0 0 .21-10.73L561 449.95c44.59-61.108 38.876-145.407-13.55-199.94zm-35.1 188.45c-44.392 42.677-114.975 41.287-157.652-3.104-42.678-44.39-41.29-114.973 3.1-157.652 44.39-42.679 114.972-41.293 157.652 3.096a111.5 111.5 0 0 1-3.1 157.66z" fill="url(#l)" fill-rule="nonzero"/><path d="M352.49 327.06c-12.54 0-12.56 19.49 0 19.49s12.56-19.49 0-19.49z" fill="url(#m)" fill-rule="nonzero"/><path d="M439.9 264.63c-33.75-.76-64.46 16.17-80.79 41.73-5.33 8.34 9.8 15.71 15.1 7.41 13.52-21.16 39.21-34.6 67-33.9 29.12.73 55.62 17.39 69.65 40.51 5.32 8.77 19.27.8 14-7.92-17.06-28-50.1-47-84.96-47.83z" fill="url(#n)" fill-rule="nonzero"/><path d="M559.68 244.09a155.89 155.89 0 0 0-223.11-1.68c-59 59.48-60 156.33-2.29 217.07 52.35 55.095 136.8 64.41 199.9 22.05l112.68 117.22a7.59 7.59 0 0 0 10.73.21l28.08-27a7.59 7.59 0 0 0 .21-10.73L573.19 444.02c44.594-61.096 38.898-145.389-13.51-199.93zm-35.1 188.37c-44.392 42.677-114.975 41.287-157.652-3.104-42.678-44.39-41.29-114.973 3.1-157.652C414.417 229.025 485 230.41 527.68 274.8a111.5 111.5 0 0 1-3.1 157.66z" fill="#294ACE" fill-rule="nonzero"/><path d="M364.72 321.13c-12.54 0-12.56 19.49 0 19.49s12.56-19.49 0-19.49zm87.41-62.42c-33.75-.76-64.46 16.17-80.79 41.73-5.33 8.34 9.8 15.71 15.1 7.41 13.52-21.16 39.21-34.6 67-33.9 29.12.73 55.62 17.39 69.65 40.51 5.32 8.77 19.27.8 14-7.92-17.09-28.08-50.09-47.08-84.96-47.83z" fill="#294ACE" fill-rule="nonzero"/></g></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/security.svg b/admin/survey/modules/mod_WPN/frontend/img/security.svg
new file mode 100644
index 0000000..39f9f73
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/security.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="859.4" height="751.86"><defs><linearGradient id="a" x1="602" y1="795.44" x2="602" y2="79.05" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="344.92" y1="369.4" x2="505.4" y2="369.4" xlink:href="#a"/><linearGradient id="c" x1="445.92" y1="830.86" x2="445.92" y2="392.54" xlink:href="#a"/></defs><path d="M602 79.05L324 250.13S324 603 602 795.44C880 603 880 250.13 880 250.13z" transform="translate(-170.6 -79)" fill="url(#a)" opacity=".5"/><path d="M431.4 10.75l-269.7 166s0 342.31 269.7 529c269.7-186.72 269.7-529 269.7-529z" fill="#fff"/><path d="M433.01 10.75l-4.61 2.83v688.93c1.53 1.08 3.06 2.17 4.61 3.24 269.7-186.72 269.7-529 269.7-529z" fill="#294ace" opacity=".04"/><path fill="url(#b)" d="M366.11 347.07l50.84 46.6 63.03-90.92 25.42 21.19-88.45 112.1-72.03-80.5 21.19-8.47z" opacity=".7"/><path fill="#3ad29f" d="M378.11 349.87l41.24 37.8 58.43-85.92 20.62 17.19-79.05 103.1-58.43-65.3 17.19-6.87z"/><path d="M554.46 455a10.83 10.83 0 0 0-8.46 6.1c-3.47 7.19-10.35 19.79-16.67 21.77-4.11 1.28-10.1.2-15.38-1.34l-2.15-.66v-2.73S480.91 461 463.27 457v-12.56a22.85 22.85 0 0 0 5.25-34c4.73-1.74 7.85-4.75 7.85-8.18 0-5.39-7.74-9.76-17.28-9.76-8.3 0-15.23 3.3-16.9 7.71a23.42 23.42 0 0 0-6.8 43.39v12.5c-9.48-.09-36.65 3.89-48.51 50.42 0 0 1.68 1.44 4.28 3.46l-.35.91-31.53 81.22s-25.09 6.69-12.27 19c0 0 0-.19-.06-.51l6.3 14.5 1.12 2.4 7.43 15.86-.74 3.61-9.52 46.72h-13.11v7.41H350l-26.4 129.76h8.34l25.44-129.76h31.48l16.93 36.15h-8v8.34h12L420.65 769c-1.32 1.33-1.46 3.37 3 6.32l3.46 7.38h-9.86v5.56h12.47l20 42.64h16.68l-20.17-42.64h9v-2.81c9.15 1.33 16.7 1.33 18.09-.06 2.79-2.79 2.23-14.5-1.67-20.07a7.16 7.16 0 0 0-1.5-1.61c.46-11.7 2.12-35 8.19-49.12 8.36-19.51-4.46-41.26-4.46-41.26l-.4-8.09V662c4.6-.88 7.65-1.53 7.65-1.53s-8.36-27.32 0-41.26c5.81-9.68 6.23-23.93 2.78-36.6v-.09q-.26-.94-.54-1.86v-.1a41.48 41.48 0 0 0 5.07-5.4s-11.71-54.64 0-71.93l23.42 1.67v-3.07h20.91l18.4-25.65s12.82-3.35 16.73-14.5c2.48-7.35-6.8-7.43-13.44-6.68zm-155.59 96.45s7.61-13.39 11.36-27.13v-.05q.28-1 .53-2.08c.6.22 1.18.42 1.75.57 0 0 5.58 50.18-3.35 52.41 0 0 1.79 1.16 4.88 2.84l-3.28 1.31-18.88 7.55 1.21 4c-.68.13-1.44.28-2.25.45-5.39 1.15-13.38 3.39-19.78 7.4s7.18-24.41 27.81-47.27zM363.93 605a17.21 17.21 0 0 0-1.62 2.66l-2-5.29c.75.09 1.52.21 2.35.36-.03.01.52.94 1.27 2.27zm2.18 51.6l.57-2.89 12.94 27.62a67.12 67.12 0 0 1-16.14 1.34 11.66 11.66 0 0 0-2.86 1.92l5.49-28zm-7.27 37.07l1-5.29c1 1.34 3.43 2.75 8.56 4.07a59.62 59.62 0 0 0 6.27 1.22h-15.83zM426 745.59h9.74v-8.34h-13.68L405 701.1h7.62v-7.41h-9.08c6.07-.79 10.48-2 11.28-3.26 2.07-3.22-.71-14-5.44-18.83-3.14-13.27-10.61-42-17.44-46.27l9.78-1.82h.1l1.26-.23 3.36 11a177.18 177.18 0 0 0 23.42-3.14v.12a184.09 184.09 0 0 1-19.63 2.74l.07.24a174.74 174.74 0 0 0 19.43-2.38c-1.41 12.47-2.62 33.93 5.66 34.72a36.75 36.75 0 0 0 4.56.09v2.81h.18c.6 7.6 2.22 17.74 6.41 26.12l5.38 72.66a67.28 67.28 0 0 1-14.89.66l-11-23.31z" transform="translate(-170.6 -79)" fill="url(#c)" opacity=".5"/><path d="M228 511.94s-46.3 5.38-32.3 33.38a318 318 0 0 1 21.27 56.8l24.5-5.11s-9.69-45.76-18.31-51.15l23.15-4.31z" fill="#fda57d"/><path d="M223.16 545.86l23.15-4.31L228 511.94s-.54.06-1.49.21l18.18 29.4-23.15 4.31c8.61 5.38 18.31 51.15 18.31 51.15l-23 4.79.08.32 24.5-5.11s-9.66-45.77-18.27-51.15z" opacity=".05"/><path d="M231.68 591.82s-14.31 10.26-36 9.44c0 0-11.53 5.25 4.79 9.43s42.68 1.23 44.74-2-.86-14.14-5.68-18.6-7.85 1.73-7.85 1.73z" fill="#294ace"/><path d="M269.46 577.62s-1.08 21 6.46 36.07l5.38 72.68h17.23s0-35.53 8.08-54.38-4.31-39.84-4.31-39.84l-1.08-21.54z" fill="#fda57d"/><path d="M260.84 543.7s-7 40.92 4.31 42 44.15-5.92 44.15-5.92-8.08-26.38 0-39.84 5.38-36.07-3.77-50.07-19.38 0-19.38 0z" fill="#47e6b1"/><circle cx="280.23" cy="352.57" r="22.07" fill="#fda57d"/><path fill="#fda57d" d="M265.15 363.88h26.92v24.23h-26.92z"/><path d="M292.07 681s-16.15 7-37.15 1.62c0 0-12.38 2.69 2.69 10.23s41.46 10.23 44.15 7.54 2.15-14-1.62-19.38-8.07-.01-8.07-.01z" fill="#294ace"/><path d="M223.4 432l-31.77 81.84s-24.23 6.46-11.84 18.31c0 0-2.15-11.31 15.07-8.08 0 0 4.85 8.08 4.85 10.77s5.54-9 3.31-14.72a131.31 131.31 0 0 1 26.84-45.58s13.46-23.69 12.92-39.84zm106.63-29.09s17.23 8.08 25.84 5.38c6.1-1.91 12.74-14.08 16.1-21a10.46 10.46 0 0 1 8.16-5.85c6.41-.77 15.38-.69 12.89 6.41-3.77 10.77-16.15 14-16.15 14L359.1 426.6h-31.23z" fill="#fda57d"/><circle cx="276.19" cy="350.69" r="22.61" fill="#3d213c"/><ellipse cx="288.03" cy="330.5" rx="16.69" ry="9.42" fill="#3d213c"/><path opacity=".05" d="M269.55 585.78v2.71l32.36-4.14v-3.09l-32.36 4.52z"/><path d="M258.15 494.71l-35 14 14 45.76s42-2.15 57.61-18.31-25.84-48.46-25.84-48.46z" fill="#47e6b1"/><path d="M298.81 527a12.15 12.15 0 0 1-3.51 9.18c-13 13.47-44.4 17.21-54.45 18.07l.07.23s42-2.15 57.61-18.31a12.09 12.09 0 0 0 3.52-8.7" opacity=".05"/><path d="M268.4 382.72s-36.07-6.46-50.07 48.46c0 0 15.07 12.92 24.77 15.61 0 0 5.38 48.46-3.23 50.61 0 0 50.61 32.84 76.45 0 0 0-11.31-52.76 0-69.45l22.61 1.62v-25.85s-33.92-18.84-50.07-21z" fill="#294ace"/><path opacity=".05" d="M224.32 512.52l-2.17.44 10.45 31.14 1.31-.24-9.59-31.34zm114.59-106.16l2.14.65.69 19.59h-2.83v-20.24zm-116.47 28.16l-.71 1.85 19.12 11.96.54-2.09-18.95-11.72zm22.12 65.63l-3.16 1.26s53.09 25.72 70.59 3.18l-.58-2s-16.1 21.57-66.85-2.44z"/><path fill="#b0bec5" d="M171.52 611.87h71.6v7.16h-71.6zm5.37-86.82l8.95 20.59h15.22l-8.95-23.27-15.22 2.68z"/><path fill="#b0bec5" d="M278.92 744.32h16.11l-95.29-201.69-14.51 1.12 93.69 200.57z"/><path fill="#b0bec5" d="M157.2 744.32h8.06l35.8-182.57-5.37-6.27-38.49 188.84z"/><path fill="#eceff1" d="M186.93 547.95l-1.09-2.31h15.22l.54 1.15-14.67 1.16z"/><path opacity=".1" d="M186.93 547.95l-1.09-2.31h15.22l.54 1.15-14.67 1.16zm7.17 15.31l4.7 10.02-.55 2.79-4.86-9.32.71-3.49zm-2.87 48.61l-1.4 7.15h2.43l1.13-7.15h-2.16z"/><path fill="#b0bec5" d="M228.8 653.93h36.69v8.05H228.8zm18.8 43.85h36.69v5.37H247.6z"/><path opacity=".1" d="M252.28 653.93l3.81 8.06h2.02l-2.91-8.06h-2.92zm20.74 43.85l2.54 5.37h2.24l-2.39-5.37h-2.39zm-40.64-85.91l3.39 7.15h1.83l-3.58-7.15h-1.64z"/><path d="M165.29 48a3.67 3.67 0 0 1-2-4.44 1.77 1.77 0 0 0 .08-.41 1.84 1.84 0 0 0-3.31-1.22 1.77 1.77 0 0 0-.2.36 3.67 3.67 0 0 1-4.44 2 1.77 1.77 0 0 0-.41-.08 1.84 1.84 0 0 0-1.22 3.31 1.77 1.77 0 0 0 .36.2 3.67 3.67 0 0 1 2 4.44 1.77 1.77 0 0 0-.08.41 1.84 1.84 0 0 0 3.33 1.23 1.77 1.77 0 0 0 .2-.36 3.67 3.67 0 0 1 4.44-2 1.77 1.77 0 0 0 .41.08 1.84 1.84 0 0 0 1.22-3.31 1.77 1.77 0 0 0-.38-.21zm-146 325a3.67 3.67 0 0 1-2-4.44 1.77 1.77 0 0 0 .08-.41 1.84 1.84 0 0 0-3.31-1.22 1.77 1.77 0 0 0-.2.36 3.67 3.67 0 0 1-4.44 2 1.77 1.77 0 0 0-.41-.08 1.84 1.84 0 0 0-1.22 3.31 1.77 1.77 0 0 0 .36.2 3.67 3.67 0 0 1 2 4.44 1.77 1.77 0 0 0-.08.41 1.84 1.84 0 0 0 3.33 1.23 1.77 1.77 0 0 0 .2-.36 3.67 3.67 0 0 1 4.44-2 1.77 1.77 0 0 0 .41.08 1.84 1.84 0 0 0 1.22-3.31 1.77 1.77 0 0 0-.38-.21z" fill="#4d8af0" opacity=".5"/><circle cx="748.4" cy="254" r="6" fill="#f55f44" opacity=".5"/><circle cx="121.4" cy="683" r="6" fill="#f55f44" opacity=".5"/><circle cx="850.4" cy="485" r="6" fill="#f55f44" opacity=".5"/><path d="M704.29 77a3.67 3.67 0 0 1-2-4.44 1.77 1.77 0 0 0 .08-.41 1.84 1.84 0 0 0-3.31-1.22 1.77 1.77 0 0 0-.2.36 3.67 3.67 0 0 1-4.44 2 1.77 1.77 0 0 0-.41-.08 1.84 1.84 0 0 0-1.22 3.31 1.77 1.77 0 0 0 .36.2 3.67 3.67 0 0 1 2 4.44 1.77 1.77 0 0 0-.08.41 1.84 1.84 0 0 0 3.33 1.23 1.77 1.77 0 0 0 .2-.36 3.67 3.67 0 0 1 4.44-2 1.77 1.77 0 0 0 .41.08 1.84 1.84 0 0 0 1.22-3.31 1.77 1.77 0 0 0-.38-.21zm100 628a3.67 3.67 0 0 1-2-4.44 1.77 1.77 0 0 0 .08-.41 1.84 1.84 0 0 0-3.31-1.22 1.77 1.77 0 0 0-.2.36 3.67 3.67 0 0 1-4.44 2 1.77 1.77 0 0 0-.41-.08 1.84 1.84 0 0 0-1.22 3.31 1.77 1.77 0 0 0 .36.2 3.67 3.67 0 0 1 2 4.44 1.77 1.77 0 0 0-.08.41 1.84 1.84 0 0 0 3.33 1.23 1.77 1.77 0 0 0 .2-.36 3.67 3.67 0 0 1 4.44-2 1.77 1.77 0 0 0 .41.08 1.84 1.84 0 0 0 1.22-3.31 1.77 1.77 0 0 0-.38-.21zm-792-522a3.67 3.67 0 0 1-2-4.44 1.77 1.77 0 0 0 .08-.41 1.84 1.84 0 0 0-3.31-1.22 1.77 1.77 0 0 0-.2.36 3.67 3.67 0 0 1-4.44 2 1.77 1.77 0 0 0-.41-.08 1.84 1.84 0 0 0-1.22 3.31 1.77 1.77 0 0 0 .36.2 3.67 3.67 0 0 1 2 4.44 1.77 1.77 0 0 0-.08.41 1.84 1.84 0 0 0 3.33 1.23 1.77 1.77 0 0 0 .2-.36 3.67 3.67 0 0 1 4.44-2 1.77 1.77 0 0 0 .41.08 1.84 1.84 0 0 0 1.22-3.31 1.77 1.77 0 0 0-.38-.21z" fill="#4d8af0" opacity=".5"/><circle cx="79.4" cy="284" r="6" fill="#47e6b1" opacity=".5"/><circle cx="853.4" cy="332" r="6" fill="#47e6b1" opacity=".5"/><g opacity=".5" fill="#47e6b1"><path d="M583.4 0h3v17h-3z"/><path d="M593.4 7v3h-17V7z"/></g><g opacity=".5" fill="#47e6b1"><path d="M594.4 666h3v17h-3z"/><path d="M604.4 673v3h-17v-3z"/></g><g opacity=".5" fill="#47e6b1"><path d="M26.4 702h3v17h-3z"/><path d="M36.4 709v3h-17v-3z"/></g><g opacity=".5" fill="#47e6b1"><path d="M709.4 396h3v17h-3z"/><path d="M719.4 403v3h-17v-3z"/></g><path fill="#47e6b1" opacity=".5" d="M795.61 123.02l6.44 5.9 9.13-13.42 3.22 2.69-12.35 16.1-9.13-10.2 2.69-1.07z"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/share.png b/admin/survey/modules/mod_WPN/frontend/img/share.png
new file mode 100644
index 0000000..74f11bc
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/share.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/img/text.svg b/admin/survey/modules/mod_WPN/frontend/img/text.svg
new file mode 100644
index 0000000..a734814
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/text.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="722" height="756.57"><defs><linearGradient id="a" x1="635.65" y1="790.5" x2="635.65" y2="501.26" gradientTransform="translate(.01 -.01)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="457.34" y1="294.83" x2="457.34" y2="145.49" xlink:href="#a"/><linearGradient id="c" x1="591.52" y1="654.18" x2="591.52" y2="72.22" gradientTransform="translate(-238.99 -72.23)" xlink:href="#a"/><linearGradient id="d" x1="771.88" y1="599.91" x2="771.88" y2="322.65" xlink:href="#a"/><linearGradient id="e" x1="683.94" y1="827.36" x2="683.94" y2="758.36" gradientTransform="translate(-238.99 -72.23)" xlink:href="#a"/><linearGradient id="f" x1="432.87" y1="501.19" x2="432.87" y2="377.79" xlink:href="#a"/><linearGradient id="g" x1="428.07" y1="603.48" x2="428.07" y2="493.95" xlink:href="#a"/><linearGradient id="h" x1="352.52" y1="380.93" x2="352.52" y2="201.04" xlink:href="#a"/><linearGradient id="i" x1="442.05" y1="399.65" x2="442.05" y2="262.62" xlink:href="#a"/></defs><circle cx="361" cy="395.57" r="297" fill="none" stroke="#3ad29f" stroke-miterlimit="10" stroke-width="2" stroke-dasharray="12"/><circle cx="361" cy="395.57" r="360" fill="none" stroke="#3ad29f" stroke-miterlimit="10" stroke-width="2" stroke-dasharray="12"/><path d="M840.94 582.47a81.21 81.21 0 0 0-161-15.14l-249.59-6.77 2.74 42.88s-35.59 82.12 151.46 104v83h216.24v-138a81.16 81.16 0 0 0 40.15-69.97z" transform="translate(-239 -72.21)" fill="url(#a)"/><path d="M202.66 533.03s-34.08 78.64 145.05 99.62v79.52H554.8V501.58L200 491.96z" fill="#be7c5e"/><path d="M545.16 277.07a38.18 38.18 0 0 1-52.5 11.93l-111.19-73.27a38.18 38.18 0 0 1-11.93-52.5A38.18 38.18 0 0 1 422 151.3l111.19 73.27a38.18 38.18 0 0 1 11.97 52.5z" transform="translate(-239 -72.21)" fill="url(#b)"/><path d="M300 200.86a35.49 35.49 0 0 1-48.8 11.09l-103.39-68.16a35.49 35.49 0 0 1-11.09-48.8 35.49 35.49 0 0 1 48.8-11.09l103.37 68.12A35.49 35.49 0 0 1 300 200.86z" fill="#be7c5e"/><circle cx="515.49" cy="512.94" r="77.77" fill="#be7c5e"/><rect x="191.32" width="322.42" height="581.96" rx="12.25" ry="12.25" fill="url(#c)"/><rect x="195.67" y="7.87" width="313.7" height="566.24" rx="13.64" ry="13.64" fill="#fff"/><path d="M431.33 22.07a25.43 25.43 0 0 1-25.07 21.63H297.92a25.43 25.43 0 0 1-25.06-21.63h-57.4a11.91 11.91 0 0 0-11.92 11.91v514a11.91 11.91 0 0 0 11.91 11.92h274.14a11.91 11.91 0 0 0 11.92-11.91v-514a11.91 11.91 0 0 0-11.91-11.92z" fill="#6c63ff"/><rect x="318.01" y="28.84" width="69.91" height="4.37" rx="2" ry="2" fill="#dbdbdb"/><circle cx="402.77" cy="30.59" r="2.62" fill="#dbdbdb"/><path d="M804.76 598.87c-22.57 5.22-38.06-9.5-43.28-32.06l-51.86-192.57a42.24 42.24 0 0 1 31.55-50.51 42.24 42.24 0 0 1 50.51 31.55L834 552.82c5.22 22.57-6.68 40.83-29.24 46.05z" transform="translate(-239 -72.21)" fill="url(#d)"/><rect x="739.86" y="329.79" width="70.78" height="282.61" rx="35.39" ry="35.39" transform="rotate(-13.01 339.366 1483.163)" fill="#be7c5e"/><path fill="url(#e)" d="M296.93 686.15h296v69h-296z"/><path fill="#4d8af0" d="M304.93 694.15h280v54h-280z"/><path d="M502 483.65a37.72 37.72 0 0 1-51.87 11.79l-74.57-48.25a37.72 37.72 0 0 1-11.79-51.87 37.72 37.72 0 0 1 51.87-11.79l74.57 48.25A37.72 37.72 0 0 1 502 483.65z" transform="translate(-239 -72.21)" fill="url(#f)"/><path d="M483.28 585.78a38.06 38.06 0 0 1-52.34 11.9L384.75 564a38.06 38.06 0 0 1-11.9-52.34 38.06 38.06 0 0 1 52.34-11.9l46.19 33.69a38.06 38.06 0 0 1 11.9 52.33z" transform="translate(-239 -72.21)" fill="url(#g)"/><circle cx="352.52" cy="290.99" r="89.94" fill="url(#h)" opacity=".5"/><circle cx="352.52" cy="290.99" r="84.65" fill="#69f0ae"/><path fill="#fff" d="M315.78 279.69l31.74 29.1 44.97-66.13 15.88 13.23-60.85 79.36-44.97-50.26 13.23-5.3z"/><path d="M240.55 511.06a35.49 35.49 0 0 1-48.8 11.09l-43.08-31.36a35.49 35.49 0 0 1-11.09-48.8 35.49 35.49 0 0 1 48.8-11.09l43.07 31.42a35.49 35.49 0 0 1 11.1 48.74zm18.35-102.27a35.49 35.49 0 0 1-48.8 11.09l-70.16-45.4a35.49 35.49 0 0 1-11.09-48.8 35.49 35.49 0 0 1 48.8-11.09l70.16 45.4a35.49 35.49 0 0 1 11.09 48.8z" fill="#be7c5e"/><path d="M521.28 382a37.9 37.9 0 0 1-52.11 11.84l-94.5-61.53a37.9 37.9 0 0 1-11.84-52.11 37.9 37.9 0 0 1 52.11-11.84l94.5 61.53A37.9 37.9 0 0 1 521.28 382z" transform="translate(-239 -72.21)" fill="url(#i)"/><path d="M277.26 306.59a35.49 35.49 0 0 1-48.8 11.09l-88.51-57.63a35.49 35.49 0 0 1-11.09-48.8 35.49 35.49 0 0 1 48.8-11.09l88.5 57.63a35.49 35.49 0 0 1 11.1 48.8z" fill="#be7c5e"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/twitter.svg b/admin/survey/modules/mod_WPN/frontend/img/twitter.svg
new file mode 100644
index 0000000..0c635e2
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/twitter.svg
@@ -0,0 +1 @@
+<svg width="20" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M17.316 4.246c.008.162.011.326.011.488 0 4.99-3.797 10.742-10.74 10.742-2.133 0-4.116-.625-5.787-1.697a7.577 7.577 0 0 0 5.588-1.562 3.779 3.779 0 0 1-3.526-2.621 3.858 3.858 0 0 0 1.705-.065 3.779 3.779 0 0 1-3.028-3.703v-.047a3.766 3.766 0 0 0 1.71.473 3.775 3.775 0 0 1-1.168-5.041 10.716 10.716 0 0 0 7.781 3.945 3.813 3.813 0 0 1-.097-.861A3.773 3.773 0 0 1 13.539.524a3.77 3.77 0 0 1 2.756 1.191 7.602 7.602 0 0 0 2.397-.916 3.789 3.789 0 0 1-1.66 2.088 7.55 7.55 0 0 0 2.168-.594 7.623 7.623 0 0 1-1.884 1.953z" fill="#262B3A"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/vault.svg b/admin/survey/modules/mod_WPN/frontend/img/vault.svg
new file mode 100644
index 0000000..d22f72d
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/vault.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="678.3" height="733"><defs><linearGradient id="a" x1="585.48" y1="733" x2="585.48" y2="673.63" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity=".25"/><stop offset=".54" stop-color="gray" stop-opacity=".12"/><stop offset="1" stop-color="gray" stop-opacity=".1"/></linearGradient><linearGradient id="b" x1="93.98" x2="93.98" y2="673.63" xlink:href="#a"/><linearGradient id="c" x1="339.15" y1="681.8" x2="339.15" xlink:href="#a"/><linearGradient id="d" x1="339.15" y1="569.14" x2="339.15" y2="111.49" xlink:href="#a"/><linearGradient id="e" x1="806.95" y1="427.79" x2="806.95" y2="354.24" gradientTransform="translate(-.46 -24.57)" xlink:href="#a"/><linearGradient id="f" x1="780.89" y1="503.2" x2="780.89" y2="429.65" gradientTransform="rotate(90 788.23 481.69)" xlink:href="#a"/><linearGradient id="g" x1="565.48" y1="376.26" x2="565.48" y2="302.71" xlink:href="#a"/><linearGradient id="h" x1="339.15" y1="423.21" x2="339.15" y2="255.09" xlink:href="#a"/><linearGradient id="i" x1="290.11" y1="525.36" x2="290.11" y2="499.67" xlink:href="#a"/><linearGradient id="j" x1="322.8" y1="525.36" x2="322.8" y2="499.67" xlink:href="#a"/><linearGradient id="k" x1="355.49" y1="525.36" x2="355.49" y2="499.67" xlink:href="#a"/><linearGradient id="l" x1="388.18" y1="525.36" x2="388.18" y2="499.67" xlink:href="#a"/><linearGradient id="m" x1="339.15" y1="389.93" x2="339.15" y2="288.36" xlink:href="#a"/><linearGradient id="n" x1="377.6" y1="380.54" x2="377.6" y2="283.64" xlink:href="#a"/><linearGradient id="o" x1="377.6" y1="563.83" x2="377.6" y2="466.93" xlink:href="#a"/></defs><path fill="url(#a)" d="M560.38 673.63h50.2V733h-50.2z"/><path fill="#f5f5f5" d="M609.42 730.83h-47.87v-57.21h47.87z"/><path fill="url(#b)" d="M68.88 673.63h50.2V733h-50.2z"/><path fill="#f5f5f5" d="M70.05 673.63h47.87v57.21H70.05z"/><rect width="678.3" height="681.8" rx="14.86" ry="14.86" fill="url(#c)"/><rect x="4.67" y="3.5" width="670.12" height="670.12" rx="14.86" ry="14.86" fill="#fafafa"/><path fill="url(#d)" d="M112.66 111.49h452.98v457.65H112.66z"/><path transform="rotate(-14.86 353.904 1324.53)" fill="url(#e)" d="M731.19 329.67h150.6v73.55h-150.6z"/><path fill="#fff" d="M464.853 267.018l143.312-38.025 18.265 68.838-143.312 38.025z"/><path fill="#69f0ae" d="M470.158 268.021l133.916-35.532 17.068 64.324-133.917 35.532z"/><ellipse cx="805.77" cy="366.03" rx="25.68" ry="14.01" transform="rotate(-14.86 353.216 1324.127)" fill="#fff"/><path transform="rotate(-71.04 614.22 615.064)" fill="url(#f)" d="M766.71 399.05h73.55v150.6h-73.55z"/><path fill="#fff" d="M484.09 332.578l140.225 48.174-23.14 67.356-140.225-48.174z"/><path fill="#69f0ae" d="M487.935 336.373l131.033 45.016-21.623 62.94-131.033-45.016z"/><ellipse cx="803.13" cy="473.61" rx="14.01" ry="25.68" transform="rotate(-71.04 613.86 614.322)" fill="#fff"/><path fill="url(#g)" d="M490.18 302.71h150.6v73.55h-150.6z"/><path fill="#fff" d="M491.35 303.88h148.27v71.22H491.35z"/><path fill="#69f0ae" d="M496.21 306.21h138.55v66.55H496.21z"/><ellipse cx="564.9" cy="338.9" rx="25.68" ry="14.01" fill="#fff"/><path fill="#fff" d="M116.16 116.16h445.97v445.97H116.16z"/><circle cx="339.15" cy="339.15" r="84.06" fill="url(#h)"/><circle cx="339.15" cy="339.15" r="80.56" fill="#fafafa"/><path fill="url(#i)" d="M277.86 499.67h24.52v25.68h-24.52z"/><path fill="url(#j)" d="M310.55 499.67h24.52v25.68h-24.52z"/><path fill="url(#k)" d="M343.23 499.67h24.52v25.68h-24.52z"/><path fill="url(#l)" d="M375.92 499.67h24.52v25.68h-24.52z"/><path fill="#294ace" d="M278.44 500.84h23.35v23.35h-23.35z"/><path fill="#294ace" opacity=".7" d="M311.13 500.84h23.35v23.35h-23.35z"/><path fill="#294ace" opacity=".5" d="M343.82 500.84h23.35v23.35h-23.35z"/><path fill="#294ace" opacity=".3" d="M376.51 500.84h23.35v23.35h-23.35z"/><path fill="#294ace" d="M372.871 287.937l3.826 2.678L367.325 304l-3.826-2.678zm17.492 84.929l-2.679 3.826-13.385-9.373 2.68-3.825zm-84.939 17.492l-3.825-2.678 9.372-13.385 3.825 2.678zm-17.483-84.929l2.679-3.825 13.385 9.372-2.679 3.825z"/><path opacity=".2" d="M372.829 287.799l3.825 2.679-9.372 13.385-3.825-2.68zm17.496 84.933l-2.679 3.825-13.385-9.372 2.679-3.825zm-84.933 17.486l-3.825-2.679 9.372-13.385 3.826 2.679zm-17.488-84.927l2.678-3.825 13.385 9.372-2.678 3.826z"/><circle cx="339.15" cy="339.15" r="50.78" fill="url(#m)"/><circle cx="339.15" cy="339.15" r="47.87" fill="#294ace"/><path d="M300.04 345.57A47.86 47.86 0 0 1 371.71 304a47.86 47.86 0 1 0-57 76 47.71 47.71 0 0 1-14.67-34.43z" fill="#fff" opacity=".2"/><path d="M396.28 380.54h-37.36v-93.28a3.63 3.63 0 0 1 3.63-3.62h30.11a3.63 3.63 0 0 1 3.63 3.63z" transform="translate(-260.85 -84)" fill="url(#n)"/><path d="M392.47 563.83h-29.74a3.81 3.81 0 0 1-3.81-3.81v-93.09h37.36V560a3.81 3.81 0 0 1-3.81 3.83z" transform="translate(-260.85 -84)" fill="url(#o)"/><path d="M102.4 200.8h28.69a3.17 3.17 0 0 1 3.17 3.17v90.23h-35V204a3.17 3.17 0 0 1 3.14-3.2zm-3.17 183.3h35v92.33a1.06 1.06 0 0 1-1.06 1.06H100.3a1.06 1.06 0 0 1-1.06-1.06V384.1h-.01z" fill="#fafafa"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/img/youtube.svg b/admin/survey/modules/mod_WPN/frontend/img/youtube.svg
new file mode 100644
index 0000000..483d27d
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/img/youtube.svg
@@ -0,0 +1 @@
+<svg width="20" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M10 .3C.172.3 0 1.174 0 8c0 6.826.172 7.7 10 7.7s10-.874 10-7.7c0-6.826-.172-7.7-10-7.7zm3.205 8.034l-4.49 2.096c-.393.182-.715-.022-.715-.456V6.026c0-.433.322-.638.715-.456l4.49 2.096c.393.184.393.484 0 .668z" fill="#262B3A"/></svg> \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/index.html b/admin/survey/modules/mod_WPN/frontend/index.html
new file mode 100644
index 0000000..1b5c4a9
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/index.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html lang="en-us">
+
+ <head>
+
+ <!-- Meta -->
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+
+ <title>1KA WPN</title>
+ <meta name="description" content="">
+
+ <!-- The compiled CSS file -->
+ <link rel="stylesheet" href="admin/survey/modules/mod_WPN/frontend/css/production.css">
+
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
+
+ <!-- Web fonts -->
+ <link href="https://fonts.googleapis.com/css?family=Montserrat:400,400i,700|Source+Serif+Pro:700" rel="stylesheet">
+
+ <!-- favicon.ico. Place these in the root directory. -->
+ <link rel="shortcut icon" href="favicon.ico">
+
+ <link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
+ <link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
+ <link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
+ <link rel="manifest" href="manifest.json">
+ <link rel="mask-icon" href="safari-pinned-tab.svg" color="#ffffff">
+ <meta name="msapplication-TileColor" content="#da532c">
+ <meta name="theme-color" content="#ffffff">
+ <meta name="apple-moblile-web-app-capable" content="yes">
+ <meta name="apple-moblile-web-app-status-bar-style" content="default">
+ <link rel="apple-touch-startup-image" href="apple-touch-icon.png">
+ <!-- iOS Splash Screen Images -->
+ <link rel="apple-touch-startup-image" href="apple-splash-640.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-750.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1242.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1125.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1536.png" media="(min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1668.png" media="(min-device-width: 834px) and (max-device-width: 834px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-2048.png" media="(min-device-width: 1024px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)">
+
+ </head>
+
+ <body>
+
+
+ <!-- Header -->
+ <header class="align--center pt3">
+ <div class="container--lg border--bottom pb3">
+ <img class="logo mb3" src="admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png" alt="1KA">
+ <div id="notif_join_div" style="display: none;">
+ <button class="mb2 btn btn--secondary" id="notif_join_button" onclick="clickButtonSubscribe();" style="font-size: 1.5em;">Join us!</button>
+ <br><br>
+ <div id="notification_permission_warning" style="display: none;">
+ <h3 class="mb2" style="color:red">In order to use our services, you have to enable notifications</h3>
+ <br><br>
+ </div>
+ <h1 class="mb2">Be first to know when new surveys are up!</h1>
+ </div>
+ <div id="notif_joined_div" style="display: none;">
+ <h1 class="mb2">You are in!</h1>
+ <p class="mb2">You will be among first who will get notifications when new surveys are up!</p>
+ </div>
+ <div id="notif_not_supported_div" style="display: none;">
+ <h1 class="mb2">This browser does not support our services!</h1>
+ <p class="mb2">Please update your browser or use another (latest versions of Chrome and Firefox are recommended)</p>
+ </div>
+ <!--<span>
+ <a href="https://www.apple.com/ios/app-store/" class="link"><img class="download" src="/pwa/img/ios.png" alt="Download on the App Store"></a>
+ </span>
+ <span>
+ <a href="https://play.google.com/store" class="link"><img class="download" src="/pwa/img/googleplay.png" alt="Download on Google Play"></a>
+ </span>-->
+ </div>
+ </header>
+
+ <main>
+ <!-- Feature list -->
+ <div class="container pt3 mt2 text--gray align--center">
+ <p class="mb3">Efficient data gathering.</p>
+ <div class="grid-row">
+ <div class="grid-column span-one-third mb3">
+ <img class="illustration--small mb1" src="admin/survey/modules/mod_WPN/frontend/img/messaging.svg" alt="Fast messaging">
+ <p>Fast messaging</p>
+ </div>
+ <div class="grid-column span-one-third mb3">
+ <img class="illustration--small mb1" src="admin/survey/modules/mod_WPN/frontend/img/assign.svg" alt="Assign to others">
+ <p>Assign to others</p>
+ </div>
+ <div class="grid-column span-one-third mb3">
+ <img class="illustration--small mb1" src="admin/survey/modules/mod_WPN/frontend/img/connected.svg" alt="Stay connected">
+ <p>Stay connected</p>
+ </div>
+ <!-- <div class="grid-column span-one-third mb3">
+ <img class="illustration--small mb1" src="img/search.svg" alt="Powerful search">
+ <p>Powerful search</p>
+ </div>
+ <div class="grid-column span-one-third mb3">
+ <img class="illustration--small mb1" src="img/vault.svg" alt="Put in a vault">
+ <p>Put in a vault</p>
+ </div>-->
+ <!-- <div class="grid-column span-one-third mb3">
+ <img class="illustration--small mb1" src="img/mail.svg" alt="Share with others">
+ <p>Share with others</p>
+ </div>-->
+ </div>
+ </div>
+
+ <!-- Focus -->
+ <div class="container--lg pt1 pb1">
+
+ <div class="grid-row grid-row--center">
+ <div class="grid-column mt3 mb2 order-2">
+ <div class="border--bottom pb2 mb2">
+ <h2>Usage data</h2>
+ <p>Quis istud possit, inquit, negare? Videamus animi partes, quarum est conspectus illustrior; Illa sunt similia: hebes acies est cuipiam oculorum, corpore alius senescit; Non enim, si omnia non&nbsp;sequebatur.</p>
+ </div>
+ <p class="italic text--gray mb1">Quae quo sunt excelsiores, eo dant clariora indicia naturae. Causa autem fuit huc veniendi ut quosdam&nbsp;hinc.</p>
+ <p class="bold">Carry Andersen, COO at&nbsp;Stripe</p>
+ </div>
+ <div class="grid-column span-1"></div>
+ <div class="grid-column mt3 mb2 order-1">
+ <img src="admin/survey/modules/mod_WPN/frontend/img/data.svg" alt="Usage data">
+ </div>
+ </div>
+
+ <div class="grid-row grid-row--center">
+ <div class="grid-column mt3 mb2">
+ <img src="admin/survey/modules/mod_WPN/frontend/img/security.svg" alt="Absolute security">
+ </div>
+ <div class="grid-column span-1"></div>
+ <div class="grid-column mt3 mb2">
+ <div class="border--bottom pb2 mb2">
+ <h2>Absolute security</h2>
+ <p>Itaque his sapiens semper vacabit. Qualis ista philosophia est, quae non interitum afferat pravitatis, sed sit contenta mediocritate vitiorum? Quid de Platone aut de Democrito loquar? Quis istud possit, inquit&nbsp;negare?</p>
+ </div>
+ <p class="italic text--gray mb1">Estne, quaeso, inquam, sitienti in bibendo voluptas? Duo Reges: constructio&nbsp;interrete.</p>
+ <p class="bold">Josh Blenton, Product Manager at&nbsp;Blinkist</p>
+ </div>
+ </div>
+
+ </div>
+
+ <!-- Mentioned -->
+ <!--<div class="container--lg pt3 pb3 mb2 align--center">
+ <p class="mb2">Mentioned in</p>
+ <span><img class="mentioned" src="img/mentioned.svg" alt="New York Times, TC, Product Hunt, Recode"></span>
+ </div>-->
+
+ <!-- CTA -->
+ <!--<div class="bg--dark-gray align--center pt3 pb3">
+ <div class="container pt2 pb2">
+ <img class="cta-image mb2" src="img/text.svg" alt="Text the app">
+ <p class="h3 text--white mb1 bold">We'll text you the&nbsp;app</p>
+ <p class="text--white mb3">Just insert your number below. Messaging rates&nbsp;apply.</p>
+ <div class="inline-block mr1 no-mr-on-mobile" style="width:280px;max-width:100%">
+ <input class="form-control" type="tel" placeholder="Phone number">
+ </div>
+ <button class="btn btn--secondary">Send</button>
+ </div>
+ </div>-->
+
+ </main>
+
+ <!-- Footer -->
+ <footer class="pt1 pb3 align--center-on-mobile">
+ <!--<div class="container">
+ <div class="grid-row">
+ <div class="grid-column mt2 span-half">
+ <div class="mb1">
+ <span>
+ <a href="https://www.apple.com/ios/app-store/" class="link"><img class="download" src="img/ios.png" alt="Download on the App Store"></a>
+ </span>
+ <span>
+ <a href="https://play.google.com/store" class="link"><img class="download" src="img/googleplay.png" alt="Download on Google Play"></a>
+ </span>
+ </div>
+ <p class="small">Design by <a href="https://www.eatapapaya.com" class="link link--text">Papaya</a>. Illustrations from&nbsp;<a href="https://undraw.co/" class="link link--text">Undraw</a>.</p>
+ </div>
+ <div class="grid-column mt2 span-half align--right align--center-on-mobile">
+ <ul class="no-bullets list--inline">
+ <li class="mr1"><a href="" class="link"><img class="icon" src="img/youtube.svg" alt="YouTube"></a></li>
+ <li class="mr1"><a href="" class="link"><img class="icon" src="img/twitter.svg" alt="Twitter"></a></li>
+ <li><a href="" class="link"><img class="icon" src="img/facebook.svg" alt="Facebook"></a></li>
+ </ul>
+ </div>
+ </div>
+ </div>-->
+ </footer>
+
+ <script src="admin/survey/modules/mod_WPN/frontend/js/main.js"></script>
+ </body>
+</html>
+
diff --git a/admin/survey/modules/mod_WPN/frontend/index1.html b/admin/survey/modules/mod_WPN/frontend/index1.html
new file mode 100644
index 0000000..eca291f
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/index1.html
@@ -0,0 +1,360 @@
+<!doctype html>
+<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang=""> <![endif]-->
+<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang=""> <![endif]-->
+<!--[if IE 8]> <html class="no-js lt-ie9" lang=""> <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <title>NCC Computer Science</title>
+ <meta name="description" content="NCC Computer Science Progressive Web App">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+ <link rel="stylesheet" href="css/normalize.min.css">
+ <link rel="stylesheet" href="css/main.css">
+ <script src="js/main.js"></script>
+
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+ <link rel="manifest" href="/manifest.json">
+ <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
+ <meta name="msapplication-TileColor" content="#da532c">
+ <meta name="theme-color" content="#ffffff">
+ <meta name="apple-moblile-web-app-capable" content="yes">
+ <meta name="apple-moblile-web-app-status-bar-style" content="default">
+ <link rel="apple-touch-startup-image" href="/apple-touch-icon.png">
+ <!-- iOS Splash Screen Images -->
+ <link rel="apple-touch-startup-image" href="apple-splash-640.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-750.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1242.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1125.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1536.png" media="(min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-1668.png" media="(min-device-width: 834px) and (max-device-width: 834px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)">
+ <link rel="apple-touch-startup-image" href="apple-splash-2048.png" media="(min-device-width: 1024px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)">
+
+ </head>
+ <body>
+ <!--[if lt IE 8]>
+ <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+ <![endif]-->
+ <div class="header-container">
+ <header class="wrapper clearfix">
+ <span id="trigger" onClick="toggleNav()">
+ <span class="triggerLine"></span>
+ <span class="triggerLine"></span>
+ <span class="triggerLine"></span>
+ </span>
+ <h1 class="title">Computer Science</h1>
+ <nav>
+ <ul>
+ <li><a href="#faculty" onclick="toggleNav()">Faculty</a></li>
+ <li><a href="#programs" onclick="toggleNav()">Programs</a></li>
+ <li><a href="#courses" onclick="toggleNav()">Courses</a></li>
+ </ul>
+ </nav>
+ </header>
+ </div>
+
+ <div class="main-container">
+ <div class="main wrapper clearfix">
+ <section id="addToHomeScreen">
+ <h1>Install App</h1>
+ <img src="/pwa/android-chrome-192x192.png" alt="NCC CS" />
+ Add our app to your home screen?<br />
+ <a href="javascript:void(0)" onClick="hidePrompt()" style="text-decoration:none;">No, Thanks</a>
+ <button onClick="installApp()">Yes, Please!</button>
+ </section>
+ <article id="top">
+ <header>
+ <h1>Welcome!</h1>
+ <p class="subtitle">
+ You've come to the right place!
+ </p>
+ <p>
+ It’s an exciting – and lucrative – time to be a
+ Computer Science major. At NCC, you’ll be grounded
+ in Computer Science fundamentals and exposed to
+ today’s employable technologies. Want to build
+ Mobile Apps? Want to create state of the art web
+ pages? Want to learn advanced topics? No worries
+ – we’ve got you covered.
+ </p>
+ <p>
+ Whether you are a transfer student looking to start
+ an advanced degree or a programmer learning a new
+ language or just looking to add skills to your tool
+ set, NCC’s Computer Science Department has Courses
+ and Programs to meet your needs.
+ </p>
+
+ </header>
+ <section id="faculty">
+ <h2>Faculty</h2>
+ <p>
+ NCC's Computer Science faculty possess an abundance
+ of real world experience coupled with twenty-first century
+ teaching abilities. The result is classes that ground
+ students in theory while teaching them how to implement
+ the technologies needed to thrive in today's economy.
+ </p>
+ <div class="facultyContainer">
+ <h4>
+ Professor Tom Duffy, Department Chair
+ </h4>
+ <div class="facultyImage">
+ <p>
+ <img class="responsiveImg" src="img/duffy.jpg" alt="Tom Duffy" />
+ </p>
+ <p>
+ <a href="tel:2038576892">(203) 857-6892</a>
+ </p>
+ <p>
+ <a href="mailto:tduffy@norwalk.edu">tduffy@norwalk.edu</a>
+ </p>
+ </div>
+ <p>
+
+ Professor Tom Duffy is the Chair of the Computer
+ Science Department and the Program Coordinator
+ for the Computer Science degree as well as the Web
+ Developer, Relational Database, and Smartphone App
+ Development certificates. He teaches courses in Web
+ Development, XML, Java, and Mobile Device Programming.
+ </p>
+ <p>
+ Tom holds a Bachelor of Science degree in Mathematics
+ and Master of Arts degree in Mathematics/Computer Science
+ from Western Connecticut State University. He is the
+ owner of Bright Moments Software – a software company
+ specializing in Web Technologies.
+ </p>
+ <p>
+ Tom has recently published <a href="http://www.bright-moments.com/pmd" target="_blank" rel="noopener">Programming With Mobile Applications</a>, his second book. The book is available from Cengage Learning.
+ </p>
+ <p>
+ <a href="#top">Back To Top</a>
+ </p>
+
+ </div>
+ <div class="facultyContainer">
+ <h4>
+ Professor Patrick Cassidy
+ </h4>
+ <div class="facultyImage">
+ <p>
+ <img class="responsiveImg" src="img/cassidy.jpg" alt="Patrick Cassidy" />
+ </p>
+ <p>
+ <a href="tel:2038577336">(203) 857-7336</a>
+ </p>
+ <p>
+ <a href="mailto:pcassidy@norwalk.edu">pcassidy@norwalk.edu</a>
+ </p>
+ </div>
+ <p>
+ Professor Cassidy is the Coordinator for the Computer
+ Security degree and Networking Certificate programs.
+ He is also the Main Contact for NCC’s Cisco Academy.
+ </p>
+ <p>
+ Before coming to NCC, Prof. Cassidy was a Project
+ Associate for the University of Michigan working out
+ of the General Motors Plant in Tarrytown, NY. He has
+ also taught at Westchester Community College in both
+ the Mathematics and Computer Science departments.
+ </p>
+ <p>
+ He holds a M.S. in Computer Science from Polytechnic
+ University, a B.S. in Aeronautical Science from
+ Embry Riddle Aeronautical University, and an A.S.
+ in Mathematics and Science from Westchester Community
+ College. Prof. Cassidy is a Cisco Certified Network
+ Associate (CCNA) and Cisco Certified Academy Instructor
+ (CCAI). He also holds multiple ratings from the
+ FAA as well as being a Certified Flight
+ Instructor – Instrument (CFII).
+ </p>
+ <p>
+ <a href="#top">Back To Top</a>
+ </p>
+ </div>
+ <div class="facultyContainer">
+ <h4>
+ Professor Kerry Cramer
+ </h4>
+ <div class="facultyImage">
+ <p>
+ <img class="responsiveImg" src="img/cramer.jpg" alt="Kerry Cramer" />
+ </p>
+ <p>
+ <a href="tel:2038573332">(203) 857-3332</a>
+ </p>
+ <p>
+ <a href="mailto:kcramer@norwalk.edu">kcramer@norwalk.edu</a>
+ </p>
+ </div>
+ <p>
+ Professor Kerry V. Cramer is an information technology
+ professional with 30 years experience in computer
+ programming, information technologies, and IT project
+ management. Mr. Cramer has been an adjunct professor at
+ Manhattanville College, and University of New Haven
+ teaching several courses in the Computer Science
+ curriculum as well as substitute teaching K-12 at
+ schools in the Danbury, CT area.
+ </p>
+ <p>Professor Cramer’s strengths
+ include strong project management disciplines,
+ technical, supervisory and team management skills in
+ Internet, Lotus Notes, and legacy application development
+ and maintenance environments as well as extensive college
+ and professional recruiting experience.
+ </p>
+ <p>
+ <a href="#top">Back To Top</a>
+ </p>
+ </div>
+ <div class="facultyContainer">
+ <h4>
+ Professor Charles Gabor
+ </h4>
+ <div class="facultyImage">
+ <p>
+ <img class="responsiveImg" src="img/gabor.jpg" alt="Charles Gabor" />
+ </p>
+ <p>
+ <a href="tel:2038577315">(203) 857-7315</a>
+ </p>
+ <p>
+ <a href="mailto:cgabor@norwalk.edu">cgabor@norwalk.edu</a>
+ </p>
+ </div>
+ <p>
+ Professor Gabor teaches Database Development and Java courses.
+ Before joining the NCC faculty he was a Lieutenant/Senior
+ Military Instructor at the United States Naval Academy.
+ Prior to that he was a Software Engineer at Pitney Bowes Inc.
+ </p>
+ <p>
+ Professor Gabor holds a graduate certificate in Computer
+ Science from Purdue University, a M.S. degree from
+ the University of New Haven and a B.S degree in
+ Applied Science from Charter Oak State College.
+ He is a member of the Honor Society in Computer Science,
+ Upsilon Pi Epsilon and a retired Commander in the U.S. Navy.
+ </p>
+ <p>
+ <a href="#top">Back To Top</a>
+ </p>
+ </div>
+
+ </section>
+ <section id="programs">
+ <h2>Programs</h2>
+ <p>
+ Our programs serve both traditional first-time students
+ as well as professionals currently working in the field.
+ The curriculum is flexible enough to meet the needs of
+ students who wish to transfer to a baccalaureate
+ institution and students preparing for immediate
+ entry into the workplace.
+ </p>
+ <p class="subtitle">
+ Degree Programs
+ </p>
+ <p>
+ <a href="https://norwalk.edu/academics/cs/computer-science-program-a-s/" target="_blank" rel="noopener">AS Computer Science</a>
+ </p>
+ <p>
+ <a href="https://norwalk.edu/academics/cs/computer-security-program-a-s/" target="_blank" rel="noopener">AS Computer Security</a>
+ </p>
+ <p class="subtitle">
+ Certificate Programs
+ </p>
+ <p>
+ <a href="https://norwalk.edu/academics/cs/relational-database-development-certificate-program/" target="_blank" rel="noopener">Relational Database Development</a>
+ </p>
+ <p>
+ <a href="https://norwalk.edu/academics/cs/smartphone-app-development-certificate-program/" target="_blank" rel="noopener">Smartphone App Development</a>
+ </p>
+ <p>
+ <a href="https://norwalk.edu/academics/cs/web-developer-certificate-program/" target="_blank" rel="noopener">Web Developer</a>
+ </p>
+ <p>
+ <a href="#top">Back To Top</a>
+ </p>
+ </section>
+ <section id="courses">
+ <h2>Courses</h2>
+ <p>
+ Computer Science courses at NCC not only prepare students to
+ transfer into a baccalaureate institution. They also serve
+ those students who wish to enter the workforce directly.
+ All our courses expose students to the course's underlying CS
+ theory as well as teach students how to implement those
+ theories. The result is students who are prepared for
+ whatever they choose to do next.
+ </p>
+ <p>
+ <a href="http://catalog.norwalk.edu/content.php?filter%5B27%5D=CSC&filter%5B29%5D=&filter%5Bcourse_type%5D=-1&filter%5Bkeyword%5D=&filter%5B32%5D=1&filter%5Bcpage%5D=1&cur_cat_oid=3&expand=&navoid=136&search_database=Filter#acalog_template_course_filter" target="_blank" rel="noopener">Computer Science (CSC)</a>
+ </p>
+ <p>
+ <a href="http://catalog.norwalk.edu/content.php?filter%5B27%5D=CST&filter%5B29%5D=&filter%5Bcourse_type%5D=-1&filter%5Bkeyword%5D=&filter%5B32%5D=1&filter%5Bcpage%5D=1&cur_cat_oid=3&expand=&navoid=136&search_database=Filter#acalog_template_course_filter" target="_blank" rel="noopener">Computer Technology (CST)</a>
+ </p>
+ <p>
+ <a href="http://catalog.norwalk.edu/content.php?filter%5B27%5D=CSA&filter%5B29%5D=&filter%5Bcourse_type%5D=-1&filter%5Bkeyword%5D=&filter%5B32%5D=1&filter%5Bcpage%5D=1&cur_cat_oid=3&expand=&navoid=136&search_database=Filter#acalog_template_course_filter" target="_blank" rel="noopener">Computer Applications (CSA)</a>
+ </p>
+ <p>
+ <a href="#top">Back To Top</a>
+ </p>
+ </section>
+ </article>
+
+ <aside id="info">
+ <h3>&lt;metadata></h3>
+ <h4>
+ &nbsp;&nbsp;<a href="https://insights.stackoverflow.com/survey/2018/#technology" target="_blank" rel="noopener">Most popular lang</a>
+ </h4>
+ <h4>
+ &nbsp;&nbsp;<a href="https://www.indeed.com/jobtrends/techsoftware-category-trends" target="_blank" rel="noopener">Job Trends</a>
+ </h4>
+ <h4>
+ &nbsp;&nbsp;<a href="https://www.naceweb.org/job-market/compensation/the-top-paid-majors-for-the-class-of-2018/" target="_blank" rel="noopener">Top Paid Majors</a>
+ </h4>
+ <h4>
+ &nbsp;&nbsp;<a href="https://youtu.be/nKIu9yen5nc" target="_blank" rel="noopener">Get Coding!</a>
+ </h4>
+ <h3>&lt;/metadata></h3>
+ </aside>
+
+ </div>
+ </div>
+
+ <div class="footer-container">
+ <footer class="wrapper">
+ <p class="footerLinks">
+ <a href="#top">Top</a><br/>
+ <a href="#faculty">Faculty</a><br/>
+ <a href="#programs">Programs</a><br/>
+ <a href="#courses">Courses</a>
+ </p>
+ <p>
+ &copy; 2017 Norwalk Community College <br/>188 Richards Avenue <br/>Norwalk, CT 06854 <br/>203-857-7000
+ </p>
+ </footer>
+ </div>
+ <div id="instructions">
+ <button onClick="hideInstructions()">X</button>
+ <p>
+ <img src="apple-touch-icon.png" alt="icon" />
+ </p>
+ <p>
+ Install our app on your Home Screen for Quick Access
+ </p>
+ <p>
+ Tap <img src="img/share.png" alt="share" /> then <img src="img/aths.png" alt="Add To Home Screen" />
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/admin/survey/modules/mod_WPN/frontend/js/main.js b/admin/survey/modules/mod_WPN/frontend/js/main.js
new file mode 100644
index 0000000..aa9ff02
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/js/main.js
@@ -0,0 +1,169 @@
+window.onhashchange = function(){
+ //Header is fixed, need to slide down some to see sectionHead
+ setTimeout('scrollBy(0,-110)',10);
+};
+var hidden = true;
+function toggleNav(){
+ if(hidden){
+ document.getElementsByTagName('nav')[0].style.display = 'block';
+ }else{
+ document.getElementsByTagName('nav')[0].style.display = 'none';
+ }
+ hidden = !hidden;
+}
+var pwaSupport = false;
+
+if('serviceWorker' in navigator){
+ pwaSupport = true;
+ //register the service worker
+ navigator.serviceWorker.register('sw.js').then(function(result){
+ console.log('Service Worker Registered');
+ console.log('Scope: ' + result.scope);
+ console.log('calling');
+ subscribeDivControl();
+
+ /*
+ if('Notification' in window){
+ console.log('Notifications Supported');
+ Notification.requestPermission(function(status){
+ console.log('Notification Status: ', status);
+ });
+ var options = {
+ body: 'See What\'s New',
+ icon: 'android-chrome-192x192.png',
+ data: {
+ timestamp: Date.now(),
+ loc: 'index.html#info'
+ },
+ actions: [
+ {action: 'go', title: 'Go Now'}
+ ]
+ };
+ notify('NCC Computer Science', options);
+ }
+ */
+ }, function(error){
+ console.log('Service Worker Regiatration Failed: '+ error);
+ });
+}else{
+ document.getElementById('notif_not_supported_div').style.display='block';
+ console.log('Service Workers Not Supported');
+}
+
+function notify(title, options){
+ if(Notification.permission === 'granted'){
+ navigator.serviceWorker.ready.then(function(reg){
+ reg.showNotification(title, options);
+ });
+ }
+}
+
+var installEvt;
+window.addEventListener('beforeinstallprompt', function(evt){
+ console.log('Before Install Prompt');
+ installEvt = evt;
+ evt.preventDefault();
+ //document.getElementById('addToHomeScreen').style.display = 'block';
+});
+
+function hidePrompt(){
+ //document.getElementById('addToHomeScreen').style.display = 'none';
+}
+
+function installApp(){
+ hidePrompt();
+ installEvt.prompt();
+ installEvt.userChoice.then(function(result){
+ if(result.outcome === 'accepted')
+ console.log('App Installed');
+ else
+ console.log('App Not Installed');
+ });
+}
+
+window.addEventListener('appinstalled', function(evt){
+ console.log('App Installed Event');
+});
+
+window.onload = function(){
+ if(pwaSupport){
+ var p = navigator.platform;
+ if(p === 'iPhone' || p === 'iPad' || p === 'iPod'){
+ if(!navigator.standalone){
+ var lastShown = parseInt(localStorage.getItem('lastShown'));
+ var now = new Date().getTime();
+ if(isNaN(lastShown) || (lastShown + 1000*60*60*24*7) <= now){
+ document.getElementById('instructions').style.display = 'block';
+ localStorage.setItem('lastShown', now);
+ }
+ }
+ }
+ }
+};
+
+function hideInstructions(){
+ document.getElementById('instructions').style.display = 'none';
+}
+
+function clickButtonSubscribe(){
+ subscribeToPush();
+ subscribeDivControl();
+}
+
+function subscribeDivControl(){
+ if(Notification.permission != 'granted'){
+ document.getElementById('notif_join_div').style.display='block';
+ document.getElementById('notif_joined_div').style.display='none';
+ document.getElementById('notification_permission_warning').style.display='none';
+ }
+ else {
+ document.getElementById('notif_joined_div').style.display='block';
+ document.getElementById('notif_join_div').style.display='none';
+ }
+}
+
+function subscribeToPush(){
+ console.log('subscribeToPush');
+ navigator.serviceWorker.ready.then(function(reg){
+ console.log(reg);
+ reg.pushManager.subscribe({
+ userVisibleOnly:true,
+ applicationServerKey: urlBase64ToUint8Array('BNVIBdCsC6vkmByQJ861pusHN1mV76X3mvAa1u4PxmleTv2m2whcEu9Elhh8Qz3XnqV6k58YCSVqaafl3bhPKLU')
+ }).then(function(sub){
+ subscribeDivControl();
+ var json = JSON.parse(JSON.stringify(sub));
+ console.log(json);
+ /*console.log(JSON.stringify(sub));
+ console.log(sub.json());*/
+ console.log('User Subscribed');
+ //var json = {endpoint:"https://fcm.googleapis.com/fcm/send/deaedc3PCAg:APA91bGy7QpBtbuokjOQv0Y_BcSOujpabeRY6PG5MUbcsOpf7kZaKTmJMb1jYmW03rPRSIY1shFlzh3UOI4hItQoHlzp6yNuPamxOwgbIbK1tG7oiRaUplQBNC8dN3qwm52bEOPgbqBX",expirationTime:null,keys:{p256dh:"BIIbHDXNbOGKG-gYec7a8DMpqst2Uxavo_p1MS695lvPJ1ZHO0audpMPRSWwae5BmaHCN6MYC2rThAsGlamS3sw",auth:"7P5IQKoInqQnTOBG1ZzNgw"}};
+
+ $.post('../../../api/api.php?action=wpnAddSubscription&identifier=wpn', json, function(data){console.log(data);});
+
+ }).catch(function (err){
+ //console.log(err);
+ document.getElementById('notification_permission_warning').style.display='block';
+ });
+ });
+}
+
+/**
+ * urlBase64ToUint8Array
+ *
+ * @param {string} base64String a public vavid key
+ */
+function urlBase64ToUint8Array(base64String) {
+ var padding = '='.repeat((4 - base64String.length % 4) % 4);
+ var base64 = (base64String + padding)
+ .replace(/\-/g, '+')
+ .replace(/_/g, '/');
+
+ var rawData = window.atob(base64);
+ var outputArray = new Uint8Array(rawData.length);
+
+ for (var i = 0; i < rawData.length; ++i) {
+ outputArray[i] = rawData.charCodeAt(i);
+ }
+ return outputArray;
+}
+
diff --git a/admin/survey/modules/mod_WPN/frontend/manifest.json b/admin/survey/modules/mod_WPN/frontend/manifest.json
new file mode 100644
index 0000000..9451ce5
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/manifest.json
@@ -0,0 +1,21 @@
+{
+ "name": "1KA WPN",
+ "short_name": "1KA WPN",
+ "icons": [
+ {
+ "src": "/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone",
+ "start_url": "/admin/survey/modules/mod_WPN/frontend/index.html",
+ "gcm_sender_id": "271835672394"
+}
diff --git a/admin/survey/modules/mod_WPN/frontend/mstile-150x150.png b/admin/survey/modules/mod_WPN/frontend/mstile-150x150.png
new file mode 100644
index 0000000..2e5b11d
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/mstile-150x150.png
Binary files differ
diff --git a/admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg b/admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg
new file mode 100644
index 0000000..6a74d32
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg
@@ -0,0 +1,290 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="1728.000000pt" height="1728.000000pt" viewBox="0 0 1728.000000 1728.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.11, written by Peter Selinger 2001-2013
+</metadata>
+<g transform="translate(0.000000,1728.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M2020 13517 c-69 -34 -128 -66 -131 -70 -3 -5 -8 -8 -10 -8 -13 2
+-49 -13 -49 -20 0 -5 -6 -9 -14 -9 -7 0 -46 -18 -86 -40 -40 -22 -77 -40 -82
+-40 -6 0 -22 -8 -36 -18 -15 -10 -52 -29 -82 -42 -30 -14 -57 -27 -60 -31 -6
+-6 -37 -19 -46 -18 -4 0 -10 -3 -13 -8 -3 -4 -172 -91 -376 -193 -203 -101
+-387 -195 -407 -207 -21 -13 -38 -20 -38 -17 0 4 -6 2 -13 -4 -6 -5 -139 -73
+-294 -152 l-283 -141 0 -1221 0 -1220 25 16 c14 9 25 14 25 12 0 -2 42 14 93
+36 50 22 98 40 105 41 6 0 12 4 12 9 0 4 7 8 15 8 8 0 40 12 72 26 83 37 111
+48 178 75 33 13 63 28 66 32 3 5 9 8 13 8 14 -2 35 6 124 45 29 13 55 24 57
+24 4 0 200 82 252 106 17 8 34 14 37 14 3 0 35 14 71 30 36 17 69 30 73 30 4
+0 30 11 57 25 28 13 57 25 65 25 9 0 24 6 35 13 11 8 70 33 130 57 61 24 121
+50 135 57 14 7 31 13 38 13 9 0 12 -432 12 -2125 l0 -2125 2193 0 c1207 0
+2196 3 2199 6 4 3 2 19 -2 35 -5 16 -6 29 -2 29 4 0 7 45 7 100 0 55 -4 100
+-8 100 -5 0 -5 5 -2 11 4 5 6 38 6 72 -1 34 -1 71 -1 82 0 11 0 70 1 132 0 62
+-2 117 -6 123 -3 5 -3 10 2 10 4 0 7 21 5 47 -2 27 -3 55 -3 63 2 60 3 107 1
+115 -1 6 -2 12 -1 15 7 17 5 100 -2 100 -5 0 -5 5 -2 10 9 14 9 266 0 279 -3
+6 -3 11 2 11 4 0 7 21 5 47 -2 27 -3 55 -3 63 2 60 3 107 1 115 -1 6 -2 12 -1
+15 7 17 5 100 -2 100 -5 0 -5 5 -2 10 4 6 6 56 6 113 -1 121 -1 129 0 187 0
+25 0 50 -1 55 -1 6 -1 15 0 20 1 6 1 28 1 50 -2 51 -2 40 1 232 2 90 -1 163
+-5 163 -5 0 -5 5 -2 10 4 6 6 39 6 73 -1 34 -1 70 -2 80 0 9 1 56 2 105 l2 87
+33 -70 c18 -38 33 -76 34 -82 0 -7 4 -13 9 -13 5 0 12 -10 16 -22 10 -32 8
+-27 35 -83 13 -27 23 -53 22 -57 -1 -5 3 -8 8 -8 6 0 10 -9 10 -20 0 -11 4
+-20 10 -20 5 0 9 -3 8 -7 -1 -5 14 -39 32 -78 18 -38 33 -73 32 -77 -1 -5 3
+-8 8 -8 5 0 9 -3 8 -7 -1 -5 26 -66 60 -136 34 -71 62 -130 62 -131 0 -2 33
+-73 74 -157 40 -85 84 -176 96 -204 13 -27 47 -101 76 -162 30 -62 54 -117 54
+-123 0 -5 5 -10 10 -10 6 0 10 -6 10 -13 0 -7 10 -33 22 -58 12 -24 21 -47 20
+-51 -1 -5 3 -8 9 -8 5 0 8 -4 4 -9 -3 -5 2 -16 10 -24 8 -9 15 -20 15 -25 0
+-5 16 -42 36 -83 121 -250 204 -429 204 -439 0 -6 5 -10 10 -10 6 0 10 -6 10
+-13 0 -7 10 -33 22 -58 12 -24 23 -49 24 -56 1 -7 12 -26 24 -43 12 -16 19
+-30 15 -30 -3 0 7 -26 24 -57 34 -68 105 -216 106 -223 1 -3 16 -35 33 -71 18
+-36 32 -71 32 -77 0 -7 5 -12 10 -12 6 0 10 -7 10 -15 0 -13 233 -15 2039 -15
+l2039 0 11 29 c7 16 13 35 14 42 2 8 6 20 10 27 5 6 6 12 2 12 -3 0 -1 9 5 21
+7 11 14 33 16 47 2 15 8 36 13 47 8 17 53 158 56 175 1 3 4 14 7 25 4 11 23
+74 43 140 20 66 44 140 52 165 8 25 16 52 18 60 2 8 13 44 25 80 12 36 24 74
+26 85 9 35 10 40 18 63 4 13 16 22 29 23 12 0 553 1 1202 1 l1179 1 13 -32 c8
+-18 11 -36 8 -42 -4 -5 -2 -9 3 -9 5 0 13 -15 17 -32 10 -41 1 -12 70 -223 32
+-99 60 -183 61 -187 1 -5 2 -9 4 -10 1 -2 3 -10 5 -18 3 -17 113 -357 122
+-380 4 -8 7 -17 8 -20 1 -3 7 -24 15 -47 l13 -43 1184 0 1184 0 -7 23 c-3 12
+-13 34 -21 50 -7 15 -11 27 -7 27 4 0 1 7 -6 15 -7 8 -9 15 -5 15 4 0 1 7 -6
+16 -11 14 -31 60 -43 99 -2 6 -8 23 -15 40 -7 16 -60 149 -118 295 -58 146
+-111 279 -118 295 -16 37 -59 148 -60 155 0 3 -7 21 -16 40 -9 19 -33 78 -54
+130 -20 52 -40 104 -44 115 -5 11 -13 31 -18 45 -5 14 -19 45 -31 70 -12 25
+-22 52 -22 61 0 8 -5 20 -11 26 -6 6 -12 19 -14 29 -2 11 -4 20 -5 22 -2 1 -3
+5 -5 10 -5 18 -26 68 -35 84 -6 10 -10 25 -10 33 0 8 -5 15 -11 15 -5 0 -8 4
+-5 8 2 4 -2 23 -11 42 -31 72 -41 97 -73 180 -18 47 -39 99 -46 115 -38 89
+-61 154 -56 159 3 3 0 6 -6 6 -7 0 -12 7 -12 15 0 8 -4 23 -10 33 -5 9 -39 94
+-76 187 -36 94 -72 184 -80 200 -15 34 -78 197 -79 205 0 3 -6 15 -13 26 -6
+12 -8 24 -5 28 3 3 1 6 -5 6 -7 0 -12 6 -12 13 0 6 -13 44 -28 82 -32 78 -39
+98 -40 105 0 3 -14 35 -31 73 -17 37 -28 67 -24 67 3 0 1 6 -5 13 -6 7 -20 39
+-33 72 -12 33 -26 71 -32 85 -6 14 -10 28 -9 33 1 4 -3 7 -8 7 -6 0 -10 6 -10
+13 0 7 -22 69 -50 137 -27 68 -50 129 -50 136 0 6 -7 17 -15 24 -8 7 -13 16
+-10 20 3 4 -2 20 -9 36 -8 16 -62 148 -120 294 -57 146 -110 279 -117 295 -7
+17 -13 32 -14 35 -1 3 -7 18 -13 33 -7 16 -12 31 -12 33 0 3 -8 24 -19 47 -10
+23 -39 96 -66 162 -26 66 -51 129 -56 140 -8 19 -30 74 -34 85 -1 3 -7 19 -14
+35 -14 32 -55 140 -73 190 -6 17 -15 34 -19 40 -5 5 -9 17 -9 27 0 10 -5 18
+-12 18 -6 0 -8 3 -5 7 4 3 2 12 -4 20 -6 7 -9 13 -6 13 3 0 -3 21 -14 48 -11
+26 -24 56 -29 67 -4 11 -15 36 -24 57 -9 20 -16 39 -16 43 0 7 -6 21 -44 107
+-9 20 -16 41 -16 46 0 6 -6 23 -14 39 -22 44 -41 93 -45 118 -1 6 -8 19 -15
+30 -7 11 -19 38 -26 60 -12 39 -32 86 -71 173 -10 23 -19 51 -19 62 0 10 -4
+21 -9 24 -4 3 -16 27 -26 53 -19 51 -34 90 -55 138 -7 17 -14 35 -16 40 -1 6
+-8 24 -15 40 -7 17 -12 33 -11 38 1 4 -2 7 -6 7 -5 0 -9 6 -9 13 -1 19 -37
+112 -46 115 -4 2 -7 9 -7 15 0 7 -37 105 -82 219 l-83 208 -1086 0 -1087 0
+-21 -52 c-11 -29 -26 -66 -32 -83 -7 -16 -13 -32 -14 -35 -1 -3 -6 -16 -12
+-30 -6 -14 -10 -27 -9 -30 0 -3 -7 -18 -17 -33 -9 -15 -15 -27 -12 -27 3 0 -1
+-13 -9 -29 -9 -16 -12 -31 -9 -35 4 -3 1 -6 -6 -6 -7 0 -10 -4 -7 -8 3 -5 -4
+-23 -15 -41 -11 -18 -17 -36 -14 -42 4 -5 1 -9 -4 -9 -6 0 -11 -6 -11 -12 0
+-7 -37 -103 -81 -213 -45 -110 -81 -206 -82 -212 0 -7 -4 -13 -9 -13 -4 0 -7
+-3 -6 -7 2 -7 -157 -414 -202 -518 -9 -22 -25 -64 -36 -92 -10 -29 -21 -53
+-24 -53 -4 0 -7 -6 -7 -13 0 -13 -28 -89 -59 -162 -7 -17 -27 -66 -44 -110
+-17 -44 -35 -89 -40 -100 -5 -11 -46 -112 -90 -225 -45 -113 -85 -214 -90
+-225 -5 -11 -21 -51 -35 -90 -15 -38 -32 -76 -39 -84 -6 -8 -9 -16 -8 -18 4
+-3 -36 -110 -74 -198 -7 -16 -33 -82 -58 -145 -25 -63 -51 -128 -57 -145 -7
+-16 -13 -32 -13 -35 -1 -5 -19 -49 -47 -115 -5 -11 -36 -89 -70 -174 -33 -85
+-65 -166 -71 -180 -6 -14 -12 -31 -13 -37 -2 -6 -10 -27 -18 -45 -9 -19 -25
+-59 -37 -89 -11 -30 -25 -64 -29 -75 -8 -17 -20 -49 -26 -65 -4 -10 -18 -46
+-35 -85 -10 -22 -21 -51 -25 -65 -4 -14 -16 -43 -25 -65 -28 -62 -122 -299
+-124 -310 -1 -5 -4 -14 -8 -20 -3 -5 -49 -120 -102 -255 -53 -135 -101 -254
+-105 -265 -31 -72 -40 -93 -47 -115 -4 -14 -7 -28 -6 -32 1 -5 -2 -8 -8 -8 -5
+0 -10 -4 -10 -9 0 -5 -4 -20 -9 -33 -5 -13 -9 -25 -9 -28 -1 -3 -12 -31 -26
+-63 -15 -32 -26 -64 -26 -73 0 -9 -5 -12 -12 -8 -7 4 -10 4 -6 -1 7 -7 -22
+-93 -48 -143 -8 -15 -14 -33 -14 -40 0 -7 -4 -20 -10 -30 -17 -30 -89 -212
+-84 -212 2 0 -3 -11 -12 -25 -9 -14 -12 -25 -8 -25 5 0 4 -4 -1 -8 -10 -6 -52
+-108 -59 -140 -1 -7 -7 -17 -13 -23 -10 -10 -27 20 -177 316 -11 22 -19 43
+-18 48 1 4 -2 7 -6 7 -4 0 -21 28 -37 63 -16 34 -35 70 -43 80 -8 9 -12 17 -9
+17 4 0 -4 19 -17 43 -13 23 -69 132 -126 242 -56 110 -106 206 -112 213 -6 6
+-7 12 -3 12 4 0 3 6 -3 13 -5 6 -72 134 -147 282 -76 149 -146 285 -157 303
+-11 17 -16 32 -12 32 4 0 0 8 -8 18 -8 9 -30 49 -50 87 -19 39 -55 112 -81
+162 -26 51 -47 96 -46 99 0 4 -3 10 -8 13 -4 3 -54 97 -110 208 l-102 202 43
+93 c61 131 134 290 163 358 9 19 30 67 48 105 18 39 47 104 65 145 18 41 56
+125 84 185 29 61 68 146 87 190 18 44 37 82 42 83 4 2 7 10 7 17 0 19 32 88
+45 97 6 4 6 8 1 8 -5 0 -3 7 4 15 7 8 9 15 4 15 -5 0 -4 4 1 8 6 4 23 34 38
+68 15 33 39 87 54 120 14 32 27 61 28 64 3 7 43 96 75 165 16 33 39 85 53 115
+40 90 68 152 93 208 13 28 36 78 50 110 14 31 36 80 49 107 46 99 78 170 80
+175 4 13 26 61 56 125 18 39 33 72 34 75 1 3 13 30 27 60 14 30 35 78 48 105
+12 28 34 75 48 105 14 30 25 58 24 63 -1 4 2 7 6 7 5 0 9 6 9 13 0 6 15 44 34
+82 18 39 32 73 31 78 -1 4 2 7 8 7 5 0 10 5 10 12 0 6 11 35 25 65 14 29 37
+79 51 111 14 31 37 81 50 110 13 29 24 55 24 57 0 3 -580 5 -1289 5 -1019 0
+-1291 -3 -1298 -12 -6 -7 -20 -39 -31 -70 -12 -32 -26 -66 -31 -75 -6 -10 -25
+-56 -43 -103 -18 -47 -36 -87 -39 -90 -3 -3 -12 -23 -19 -45 -7 -22 -21 -58
+-31 -80 -10 -22 -34 -80 -54 -130 -20 -49 -42 -103 -49 -120 -8 -16 -24 -55
+-36 -85 -12 -30 -33 -79 -46 -108 -13 -29 -24 -57 -24 -62 0 -6 -4 -18 -10
+-28 -5 -9 -39 -89 -75 -177 -37 -88 -73 -176 -82 -195 -9 -19 -16 -41 -16 -47
+0 -7 -4 -13 -9 -13 -4 0 -8 -6 -8 -13 0 -12 -31 -89 -85 -212 -7 -16 -16 -41
+-20 -55 -4 -14 -10 -27 -14 -30 -6 -5 -29 -62 -35 -85 -1 -5 -12 -32 -25 -60
+-33 -74 -34 -77 -106 -255 -37 -91 -72 -171 -79 -179 -6 -8 -10 -17 -10 -20 1
+-3 -3 -17 -8 -31 -6 -14 -11 -31 -12 -38 -1 -7 -8 -18 -14 -24 -7 -7 -12 -22
+-12 -35 0 -13 -4 -23 -10 -23 -5 0 -10 -7 -10 -16 0 -8 -5 -25 -12 -37 -7 -12
+-13 -26 -14 -32 -1 -5 -9 -27 -18 -47 -9 -21 -16 -39 -15 -40 1 -2 -8 -21 -20
+-43 -11 -22 -21 -45 -21 -51 0 -6 -13 -37 -29 -70 -15 -32 -32 -70 -37 -84 -8
+-23 -9 -22 -14 15 -3 22 -4 44 -2 49 9 18 8 85 -1 79 -6 -3 -7 -1 -3 5 9 14
+10 217 2 231 -4 6 -4 11 1 11 4 0 7 21 5 47 -2 27 -3 55 -3 63 2 60 3 107 1
+115 -1 6 -2 12 -1 15 7 17 5 100 -2 100 -5 0 -5 5 -2 10 9 14 9 266 0 279 -3
+6 -3 11 2 11 4 0 7 21 5 47 -2 27 -3 55 -3 63 2 60 3 107 1 115 -1 6 -2 12 -1
+15 7 17 5 100 -2 100 -5 0 -5 5 -2 10 9 14 9 266 0 279 -3 6 -3 11 2 11 4 0 7
+21 5 47 -2 27 -3 55 -3 63 2 60 3 107 1 115 -1 6 -2 12 -1 15 7 17 5 100 -2
+100 -5 0 -5 5 -2 10 9 14 9 266 0 279 -3 6 -3 11 2 11 4 0 7 21 5 47 -2 27 -3
+55 -3 63 2 60 3 107 1 115 -1 6 -2 12 -1 15 7 17 5 100 -2 100 -5 0 -5 5 -2
+10 5 8 7 113 4 243 0 16 -101 17 -1967 17 l-1967 0 -125 -63z m11076 -2576
+c22 -69 38 -132 38 -138 -1 -7 2 -13 7 -13 5 0 9 -11 9 -24 0 -14 4 -27 9 -30
+5 -3 11 -18 14 -33 7 -40 14 -63 31 -111 8 -23 15 -43 15 -45 0 -1 2 -9 5 -17
+8 -23 48 -164 49 -170 0 -3 6 -20 14 -37 7 -18 11 -33 8 -33 -4 0 -3 -6 2 -12
+4 -7 8 -15 8 -18 1 -6 51 -165 97 -310 17 -52 37 -116 45 -141 8 -25 16 -55
+18 -65 2 -10 4 -20 5 -21 2 -2 3 -6 5 -10 1 -5 4 -15 8 -23 5 -12 21 -66 33
+-112 1 -5 3 -10 4 -13 1 -3 4 -9 5 -15 1 -5 4 -12 5 -15 1 -3 3 -8 4 -12 1 -5
+9 -33 19 -63 9 -30 16 -57 16 -60 0 -3 5 -18 11 -35 7 -16 20 -56 30 -87 l17
+-56 -69 0 c-38 0 -71 -2 -75 -5 -3 -4 -10 -4 -15 -1 -12 8 -178 7 -186 0 -3
+-3 -11 -1 -18 5 -8 7 -14 7 -19 -1 -3 -6 -11 -7 -17 -4 -12 8 -174 7 -187 0
+-5 -4 -13 -2 -16 4 -5 8 -11 8 -19 1 -7 -6 -16 -8 -19 -5 -7 7 -126 9 -133 2
+-3 -3 -21 -2 -40 2 -23 5 -34 4 -34 -3 0 -8 -3 -8 -11 0 -8 8 -20 8 -34 3 -13
+-5 -25 -7 -27 -5 -9 10 -88 11 -88 2 0 -7 -4 -7 -11 0 -8 8 -20 8 -34 3 -13
+-5 -25 -6 -28 -4 -3 3 -23 5 -46 6 -23 0 -41 3 -41 6 0 4 23 78 51 166 28 87
+52 168 53 180 1 11 7 30 13 41 9 19 51 151 58 185 2 8 4 16 5 18 2 1 4 7 5 12
+1 6 4 13 5 18 2 4 4 12 5 17 1 6 5 17 8 25 6 18 30 92 33 103 1 4 2 8 4 10 1
+1 3 9 5 18 3 16 52 176 101 329 84 263 122 395 118 402 -3 4 0 8 5 8 6 0 11 6
+11 14 0 7 12 49 26 92 14 44 26 87 27 97 1 9 4 17 7 17 3 0 6 8 7 18 3 33 21
+69 36 69 10 0 27 -40 53 -126z"/>
+<path d="M1643 4378 c0 -601 2 -667 16 -670 13 -3 925 -2 956 1 11 1 12 62 1
+79 -3 6 -2 13 4 17 6 4 7 11 4 17 -5 8 -9 112 -4 121 1 1 3 12 4 24 2 15 -4
+22 -18 25 -12 2 -152 4 -312 3 l-292 0 2 62 c1 38 -3 63 -9 63 -6 0 -6 3 1 8
+6 4 10 27 10 52 l-1 45 235 2 c129 0 244 2 255 2 20 1 21 7 20 139 l-1 137
+-219 2 c-311 2 -297 1 -292 16 2 6 0 20 -5 30 -5 9 -5 17 0 17 4 0 7 38 6 85
+0 47 2 87 6 90 3 2 140 5 303 7 296 3 296 3 306 26 6 12 7 22 1 22 -5 0 -5 12
+0 30 5 18 5 32 -1 36 -6 4 -6 11 1 19 8 10 8 15 0 20 -8 5 -8 11 -1 19 6 7 8
+16 4 20 -4 3 -6 28 -4 54 l2 47 -489 0 -489 0 0 -667z"/>
+<path d="M2900 5043 c0 -5 -12 -9 -27 -9 l-28 1 -1 -215 c0 -118 -2 -219 -4
+-225 -1 -5 -1 -12 0 -15 8 -17 5 -148 -3 -143 -6 4 -7 1 -1 -8 11 -18 13 -448
+2 -471 -4 -9 -4 -19 0 -22 4 -3 7 -59 7 -126 l-2 -120 185 2 185 3 1 352 c1
+193 4 355 9 359 4 4 7 1 7 -7 0 -8 9 -21 20 -29 11 -8 20 -19 20 -25 0 -5 11
+-23 25 -40 20 -25 112 -150 173 -234 9 -13 23 -29 30 -36 6 -8 12 -18 12 -23
+0 -6 3 -12 8 -14 6 -3 72 -89 112 -148 8 -12 27 -36 42 -54 15 -17 30 -39 34
+-48 3 -10 9 -18 14 -18 5 0 12 -9 15 -20 6 -19 15 -20 158 -20 l152 0 0 673 0
+672 -77 0 c-43 0 -78 3 -78 8 0 4 -5 5 -12 1 -18 -12 -58 -11 -58 1 0 7 -3 6
+-8 -1 -4 -5 -32 -9 -62 -9 -30 1 -57 -2 -60 -6 -3 -5 -5 -67 -4 -139 1 -89 -2
+-130 -10 -130 -8 0 -8 -2 0 -8 16 -11 14 -451 -2 -445 -7 2 -15 16 -18 29 -4
+14 -10 23 -15 20 -4 -3 -14 7 -22 22 -8 15 -16 29 -19 32 -4 3 -22 27 -41 55
+-18 27 -40 56 -46 65 -7 8 -37 49 -67 90 -31 41 -60 80 -66 87 -5 7 -10 17
+-10 23 0 5 -3 10 -7 10 -5 0 -19 17 -33 38 -14 20 -33 46 -42 56 -10 11 -18
+23 -18 26 0 4 -10 19 -22 33 -13 14 -42 52 -65 85 l-42 59 -86 -1 c-53 -1 -85
+2 -85 9 0 6 -3 7 -8 0 -8 -12 -32 -13 -49 -2 -7 5 -13 4 -13 0z"/>
+<path d="M4356 5043 c-4 -4 -17 -8 -29 -8 -22 0 -22 -2 -22 -173 0 -94 -4
+-172 -8 -172 -5 0 -5 -5 -1 -11 9 -15 9 -143 0 -158 -4 -6 -4 -11 1 -11 4 0 8
+-32 8 -70 0 -39 -4 -70 -8 -70 -5 0 -5 -5 -1 -11 9 -15 9 -143 0 -158 -4 -6
+-4 -11 1 -11 10 0 9 -172 -1 -188 -4 -7 -4 -12 1 -12 9 0 9 -162 0 -177 -3 -5
+-2 -15 3 -23 4 -7 4 -24 -1 -37 -5 -15 -5 -23 2 -23 6 0 8 -9 4 -20 -6 -19 -2
+-20 174 -20 181 0 181 0 182 23 0 12 1 142 1 289 l1 266 21 -22 c11 -12 50
+-57 86 -101 35 -44 69 -85 75 -91 5 -7 17 -20 25 -31 22 -27 103 -126 115
+-140 5 -6 21 -26 35 -44 14 -18 34 -42 45 -53 11 -12 33 -38 48 -59 l28 -37
+215 0 c235 0 230 -1 177 55 -10 11 -58 70 -107 130 -91 114 -95 119 -223 276
+-43 52 -91 113 -108 134 -16 21 -38 47 -48 57 -18 19 -17 21 9 56 16 20 34 43
+41 50 7 7 13 17 13 20 0 4 10 18 23 32 12 14 34 43 50 66 15 22 35 49 45 60
+10 10 21 27 25 37 3 9 11 17 17 17 5 0 10 7 10 15 0 7 6 18 13 22 7 4 23 25
+37 45 14 21 28 38 33 38 4 0 7 5 7 12 0 6 7 18 16 27 22 23 144 189 144 197 0
+3 -7 4 -15 1 -8 -4 -17 -2 -21 4 -3 6 -11 6 -17 1 -9 -6 -114 -7 -182 -2 -5 1
+-19 -1 -30 -3 -11 -2 -23 1 -27 7 -6 8 -8 8 -8 0 0 -7 -22 -10 -59 -8 -59 2
+-60 1 -87 -37 -15 -21 -31 -39 -35 -39 -5 0 -9 -6 -9 -13 0 -7 -11 -24 -23
+-38 -13 -13 -37 -44 -52 -67 -15 -23 -32 -42 -36 -42 -5 0 -8 -3 -7 -7 3 -8
+-100 -149 -134 -185 -10 -10 -18 -21 -18 -25 0 -5 -10 -20 -23 -35 -12 -15
+-33 -43 -47 -62 -14 -20 -28 -36 -31 -36 -3 0 -6 127 -6 283 0 270 -3 314 -23
+302 -5 -3 -11 -1 -15 5 -4 6 -12 7 -18 3 -16 -10 -231 -11 -238 -1 -3 5 -9 5
+-13 1z"/>
+<path d="M5715 5040 c-1 -3 -2 -305 -2 -672 0 -486 3 -668 11 -669 14 0 904 0
+931 0 19 1 20 7 18 138 0 76 -2 143 -2 148 -1 6 -102 10 -283 9 -156 0 -288 1
+-295 4 -7 2 -12 29 -12 70 -1 37 -1 74 -2 82 0 8 0 58 0 110 1 52 1 102 1 110
+0 13 0 273 0 325 0 11 0 75 1 142 0 67 -2 127 -6 132 -3 6 -2 11 3 11 10 0 3
+59 -7 61 -21 4 -353 3 -356 -1z"/>
+<path d="M7017 5042 c-3 -4 -48 -7 -101 -7 l-96 1 -1 -25 c-3 -89 -4 -1298 -1
+-1308 3 -10 49 -13 186 -13 l182 0 0 675 c0 537 -3 675 -13 671 -7 -3 -15 -1
+-19 5 -3 6 -10 6 -17 1 -13 -11 -87 -9 -105 2 -6 3 -13 3 -15 -2z"/>
+<path d="M7636 5042 c-2 -4 -48 -7 -100 -6 -53 1 -97 -1 -97 -5 -1 -3 -3 -306
+-3 -673 l-2 -668 181 0 180 0 0 291 0 290 30 -33 c16 -19 44 -52 60 -73 17
+-21 35 -43 41 -49 6 -6 41 -49 79 -96 37 -47 71 -87 74 -90 5 -4 61 -73 93
+-115 5 -5 22 -26 39 -45 16 -19 37 -45 46 -57 15 -23 18 -23 235 -23 249 0
+235 -7 156 86 -24 28 -56 68 -73 89 -87 109 -113 140 -132 161 -7 7 -13 15
+-13 18 0 3 -8 14 -17 24 -20 21 -62 71 -95 116 -13 16 -31 37 -40 45 -10 9
+-18 19 -18 24 0 4 -9 18 -20 30 -12 12 -32 35 -45 52 l-24 29 27 36 c14 19 32
+41 39 48 7 7 20 26 30 42 9 17 21 30 25 30 4 0 8 7 8 15 0 8 3 15 8 15 4 0 18
+17 32 37 14 21 32 47 42 58 9 11 48 63 86 115 39 52 75 100 80 106 5 6 27 35
+48 65 21 30 41 56 45 59 3 3 11 14 17 26 11 20 9 21 -54 20 -36 -1 -68 2 -71
+7 -2 4 -10 4 -16 0 -16 -10 -218 -11 -239 -1 -13 7 -37 -20 -123 -134 -58 -79
+-111 -150 -118 -158 -7 -9 -25 -33 -42 -55 -16 -22 -33 -44 -37 -50 -5 -5 -38
+-50 -74 -100 -36 -49 -69 -91 -73 -93 -4 -1 -7 129 -7 290 l0 293 -70 1 c-39
+0 -75 4 -81 7 -7 4 -14 4 -17 -1z"/>
+<path d="M9876 5043 c-3 -4 -25 -7 -48 -7 -45 -1 -49 -5 -82 -86 -7 -19 -27
+-66 -42 -105 -16 -38 -29 -72 -30 -75 -1 -8 -15 -42 -35 -87 -10 -24 -19 -50
+-19 -58 0 -8 -5 -15 -11 -15 -5 0 -8 -4 -5 -8 3 -5 -1 -19 -7 -33 -7 -13 -24
+-53 -37 -89 -13 -36 -29 -76 -36 -90 -7 -14 -42 -101 -79 -195 -36 -93 -72
+-185 -80 -203 -8 -18 -15 -39 -15 -47 0 -8 -3 -15 -8 -15 -4 0 -16 -27 -26
+-60 -11 -33 -23 -60 -28 -60 -4 0 -7 -3 -7 -7 3 -15 -14 -74 -22 -79 -5 -3 -9
+-12 -9 -20 0 -12 31 -14 189 -14 199 0 196 -1 206 45 7 28 59 171 66 179 4 5
+119 9 255 9 l246 1 14 -40 c8 -21 26 -74 41 -116 l26 -78 193 0 194 0 -16 38
+c-8 20 -25 60 -36 87 -11 28 -25 61 -31 75 -6 14 -11 27 -12 30 -3 8 -16 39
+-67 165 -28 66 -51 125 -52 130 -1 6 -10 27 -19 49 -9 21 -17 41 -17 44 0 3
+-9 24 -19 46 -10 23 -40 95 -66 161 -26 66 -58 147 -72 180 -14 33 -29 69 -33
+80 -4 11 -20 49 -35 84 -15 35 -28 68 -29 75 -1 6 -10 26 -19 43 -10 18 -17
+35 -17 38 0 3 0 9 0 13 0 5 -18 8 -41 8 -22 -1 -43 2 -46 7 -2 4 -10 4 -16 -1
+-14 -10 -127 -9 -143 1 -6 3 -14 3 -18 0z m109 -494 c12 -35 43 -124 68 -198
+26 -74 47 -136 47 -137 0 -2 -65 -4 -145 -4 -159 0 -158 0 -129 58 8 18 13 36
+9 42 -3 5 -2 10 4 10 5 0 12 15 16 33 4 17 13 46 20 62 11 26 33 87 42 120 13
+48 30 84 37 82 6 -2 19 -32 31 -68z"/>
+<path d="M10887 5044 c-3 -3 -20 -7 -39 -8 l-33 -3 0 -671 0 -672 180 0 180 0
+0 353 c-1 193 1 355 3 360 4 8 112 -128 112 -142 0 -5 4 -11 8 -13 5 -1 28
+-30 53 -63 24 -33 47 -61 52 -63 4 -2 7 -10 7 -18 0 -8 3 -14 8 -14 4 0 18
+-17 32 -38 14 -20 27 -39 30 -42 7 -7 93 -121 110 -147 8 -12 41 -55 73 -97
+l58 -76 148 0 147 0 0 673 c-1 590 -3 672 -16 672 -8 0 -20 4 -27 8 -6 4 -14
+4 -17 -1 -5 -9 -208 -8 -223 1 -6 4 -13 3 -17 -1 -4 -4 -20 -7 -34 -7 l-26 -1
+-1 -361 c0 -199 -3 -365 -7 -369 -5 -4 -8 -2 -8 4 0 6 -6 17 -13 24 -7 7 -32
+40 -55 73 -23 33 -71 101 -107 150 -37 50 -74 100 -83 113 -9 13 -24 32 -32
+42 -8 10 -33 44 -55 76 -22 31 -46 62 -52 70 -7 7 -13 15 -13 18 0 3 -6 14
+-14 23 -8 10 -36 46 -61 81 -26 34 -51 60 -56 56 -5 -3 -9 0 -9 6 0 6 -5 8
+-12 3 -17 -10 -149 -11 -169 -1 -9 4 -19 5 -22 2z"/>
+<path d="M12381 5041 c-6 -4 -34 -7 -62 -5 -27 1 -50 -1 -50 -4 -1 -4 -2 -307
+-3 -674 l-1 -668 181 0 c165 0 182 2 186 18 2 9 3 137 3 285 -1 147 2 267 5
+267 4 0 18 -15 32 -32 15 -18 35 -43 45 -55 10 -11 34 -41 53 -64 19 -24 60
+-73 90 -110 84 -102 124 -150 140 -171 8 -11 26 -32 40 -48 14 -16 36 -42 49
+-59 l23 -31 220 0 220 0 -27 38 c-16 20 -33 42 -39 47 -6 6 -27 30 -46 55 -19
+25 -38 47 -42 48 -4 2 -8 8 -8 13 0 5 -9 20 -21 32 -63 68 -99 114 -99 125 0
+7 -4 10 -10 7 -5 -3 -10 1 -10 9 0 9 -9 21 -20 28 -11 7 -20 16 -20 20 0 7
+-16 28 -45 62 -6 6 -30 36 -55 66 -25 30 -47 57 -50 60 -3 3 -16 19 -27 35
+l-21 31 54 74 c30 41 61 83 69 93 9 9 32 41 52 70 20 28 90 123 155 210 65 87
+118 163 118 168 0 5 3 9 8 9 4 0 15 11 24 24 l17 23 -40 -2 c-21 -2 -42 1 -45
+6 -3 5 -10 6 -16 3 -17 -11 -151 -12 -170 -2 -10 5 -19 4 -23 -2 -4 -7 -12 -7
+-24 0 -10 5 -21 7 -24 4 -3 -3 -24 -7 -46 -8 -23 -1 -42 -4 -44 -7 -2 -2 -24
+-31 -48 -64 -24 -33 -46 -62 -49 -65 -3 -3 -24 -30 -45 -60 -22 -30 -45 -62
+-52 -70 -7 -8 -62 -82 -124 -165 -61 -82 -115 -151 -118 -153 -4 -1 -7 130 -7
+292 1 162 -2 292 -6 290 -4 -2 -10 0 -13 6 -4 7 -12 7 -18 2 -13 -9 -178 -9
+-193 1 -6 3 -16 2 -23 -2z"/>
+<path d="M13694 5041 c-2 -2 -4 -304 -4 -670 l0 -666 478 1 c262 1 482 2 488
+3 12 1 18 280 6 282 -4 1 -142 2 -307 3 l-300 1 -1 116 -1 115 253 0 c163 -1
+254 3 255 9 1 6 2 67 3 138 1 105 -2 128 -14 132 -8 2 -118 4 -245 4 -126 -1
+-235 0 -242 0 -8 1 -11 37 -11 121 l1 120 166 1 c172 1 431 5 443 8 4 0 6 65
+5 143 l-2 143 -483 0 c-266 0 -485 -2 -488 -4z"/>
+<path d="M14976 5042 c-3 -5 -46 -8 -96 -7 l-90 3 0 -153 0 -153 195 1 c167 2
+195 0 196 -13 4 -97 2 -170 -4 -170 -5 0 -5 -5 -2 -11 10 -15 12 -69 3 -69 -4
+0 -5 -7 -1 -16 9 -24 9 -224 0 -224 -5 0 -5 -5 -2 -11 10 -15 12 -69 3 -69 -4
+0 -5 -7 -1 -16 9 -24 9 -224 0 -224 -5 0 -5 -5 -2 -11 11 -16 12 -69 2 -69 -4
+0 -5 -5 -1 -12 4 -6 7 -38 6 -70 l-1 -58 185 0 184 0 0 520 0 520 53 1 c28 0
+116 0 195 0 l142 0 1 32 c1 38 1 260 0 267 -1 3 -35 5 -77 5 -41 -1 -78 3 -80
+7 -3 5 -10 5 -16 2 -19 -12 -68 -12 -68 0 0 7 -3 8 -8 0 -8 -11 -200 -12 -219
+-1 -6 4 -14 4 -17 -1 -4 -7 -141 -9 -156 -2 -3 1 -9 1 -15 0 -33 -8 -65 -6
+-65 4 0 7 -3 8 -8 0 -8 -11 -200 -12 -219 -1 -6 4 -14 3 -17 -1z"/>
+<path d="M16516 5043 c-4 -4 -34 -8 -66 -9 -78 -1 -82 -2 -75 -13 3 -5 1 -12
+-5 -16 -5 -3 -10 -15 -10 -26 0 -10 -5 -19 -12 -19 -6 0 -9 -3 -6 -6 4 -3 -11
+-48 -32 -99 -21 -51 -36 -96 -32 -99 3 -3 0 -6 -6 -6 -7 0 -12 -5 -12 -11 0
+-10 -152 -396 -171 -434 -6 -12 -11 -27 -13 -35 -2 -8 -9 -28 -16 -45 -7 -16
+-14 -34 -16 -40 -6 -22 -52 -126 -58 -132 -3 -3 -6 -13 -6 -22 0 -9 -6 -27
+-13 -41 -7 -14 -21 -47 -31 -75 -10 -27 -25 -63 -32 -80 -17 -40 -54 -135 -54
+-140 0 -3 85 -5 189 -5 l189 0 16 40 c9 22 16 47 16 55 0 8 4 15 8 15 4 0 8 9
+9 20 1 11 9 34 17 51 9 18 13 35 10 40 -3 5 -2 9 3 10 11 1 450 1 484 0 23 -1
+29 -9 48 -68 12 -38 25 -75 28 -83 4 -8 7 -18 7 -22 1 -3 4 -10 9 -14 4 -4 7
+-16 7 -26 0 -17 13 -18 195 -18 l195 0 -22 53 c-11 28 -28 72 -37 97 -9 25
+-19 47 -23 48 -5 2 -8 11 -8 21 0 9 -4 21 -8 26 -5 6 -16 30 -25 55 -9 25 -22
+59 -28 75 -7 17 -13 32 -14 35 -1 3 -7 19 -15 35 -32 73 -40 93 -40 100 0 4
+-7 21 -15 38 -8 18 -39 93 -69 167 -133 333 -208 517 -221 547 -8 17 -15 35
+-15 40 0 5 -45 9 -102 8 -57 0 -106 3 -109 7 -3 5 -9 5 -13 1z m74 -501 c13
+-42 23 -80 22 -84 -1 -5 3 -8 8 -8 6 0 10 -9 10 -19 0 -11 9 -40 20 -65 10
+-25 17 -46 13 -46 -3 0 0 -7 7 -15 7 -8 9 -15 5 -15 -4 0 -3 -6 2 -12 6 -7 13
+-25 17 -40 l6 -28 -145 0 c-80 0 -145 2 -145 4 0 6 70 211 87 256 4 8 7 18 8
+23 2 4 3 8 4 10 2 1 4 11 6 22 6 32 34 95 43 95 4 0 18 -35 32 -78z"/>
+</g>
+</svg>
diff --git a/admin/survey/modules/mod_WPN/frontend/sw.js b/admin/survey/modules/mod_WPN/frontend/sw.js
new file mode 100644
index 0000000..f20d9ac
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/sw.js
@@ -0,0 +1,124 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+var cacheName = 'CSv4';
+
+var cachedFiles = [
+ /*'/frontend/',
+ '/index.html',
+ '/manifest.json',
+ '/js/main.js',
+ '/js/production.css',
+ '/css/main.css'
+ '/frontend/css/normalize.min.css',
+ '/frontend/img/cassidy.jpg',
+ '/frontend/img/cramer.jpg',
+ '/frontend/img/duffy.jpg',
+ '/frontend/img/gabor.jpg',
+ '/frontend/img/aths.png',
+ '/frontend/img/share.png',
+ '/frontend/apple-touch-icon.png',
+ '/frontend/android-chrome-192x192.png'*/
+];
+
+self.addEventListener('install', function(evt){
+ console.log('Service Worker Install Event');
+ //Add the file to the cache
+ evt.waitUntil(
+ caches.open(cacheName).then(function(cache){
+ console.log('Caching Files');
+ return cache.addAll(cachedFiles);
+ }).then(function(){
+ return self.skipWaiting();
+ }).catch(function(err){
+ console.log('Cache Failed', err);
+ })
+ );
+});
+
+self.addEventListener('activate', function(evt){
+ console.log('Service Worker Activated');
+ evt.waitUntil(
+ caches.keys().then(function(keyList){
+ return Promise.all(keyList.map(function(key){
+ if(key !== cacheName){
+ console.log('Removing Old Cache', key);
+ return caches.delete(key)
+ }
+ }));
+ })
+ );
+ return self.clients.claim();
+});
+
+/*self.addEventListener('fetch', function(evt){
+ console.log('Fetch Event' + evt.request.url);
+ evt.respondWith(
+ caches.match(evt.request).then(function(response){
+ return response || fetch(evt.request);
+ })
+ );
+});*/
+
+function closeNotification(msg, evt){
+ console.log(msg, evt.notification.data);
+ evt.notification.close();
+}
+
+self.addEventListener('notificationclose', function(evt){
+ closeNotification('Notification Closed', evt);
+});
+
+self.addEventListener('notificationclick', function(evt){
+ if(evt.action !== 'close'){
+ evt.waitUntil(
+ self.clients.matchAll({type: 'window', includeUncontrolled: 'true'}).then(function(allClients){
+ console.log(allClients);
+ var matchingClient = null;
+ for(var i = 0; i<allClients.length; i++){
+ if(allClients[i].visibilityState === 'visible'){
+ matchingClient = allClients[i];
+ console.log('Navigating');
+ matchingClient.navigate(evt.notification.data.loc);
+ break;
+ }
+ }
+ if(matchingClient === null){
+ console.log('Opening');
+ self.clients.openWindow(evt.notification.data.loc);
+ }
+ })
+ );
+ }
+ closeNotification('Notification Clicked', evt);
+});
+
+self.addEventListener('pushsubscriptionchange', function(e) {
+ // remove the entry from DB
+ console.log(e);
+});
+
+self.addEventListener('push', function(evt){
+ console.log('Push Message Received');
+ if(evt.data){
+ console.log('Data Received');
+ var payload = JSON.parse(evt.data.text());
+ console.log(evt.data.text());
+ var options = {
+ body: payload.message,
+ icon: 'admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png',
+ data: {
+ timestamp: Date.now(),
+ loc: payload.link
+ },
+ actions: [
+ {action: 'go', title: 'Fill out'}
+ ]
+ };
+ evt.waitUntil(
+ self.registration.showNotification(payload.title, options)
+ );
+ }
+}); \ No newline at end of file
diff --git a/admin/survey/modules/mod_WPN/frontend/ui.html b/admin/survey/modules/mod_WPN/frontend/ui.html
new file mode 100644
index 0000000..dc088f5
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/frontend/ui.html
@@ -0,0 +1,104 @@
+<!doctype html>
+<html lang="en-us">
+
+ <head>
+
+ <!-- Meta -->
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+
+ <title>Carta</title>
+ <meta name="description" content="">
+
+ <!-- The compiled CSS file -->
+ <link rel="stylesheet" href="css/production.css">
+
+ <!-- Web fonts -->
+ <link href="https://fonts.googleapis.com/css?family=Montserrat:400,400i,700|Source+Serif+Pro:700" rel="stylesheet">
+
+ <!-- favicon.ico. Place these in the root directory. -->
+ <link rel="shortcut icon" href="favicon.ico">
+
+ </head>
+
+ <body>
+
+
+ <div class="container pt3 pb3">
+
+ <!-- Colors -->
+ <section class="pb4 align--center">
+ <h2 class="text--gray pb1 border--bottom">Colors</h2>
+ <div class="pt1 pb1 text--white bg--primary-color">Primary brand color</div>
+ <div class="pt1 pb1 text--white bg--secondary-color">Secondary brand color</div>
+ <div class="pt1 pb1 text--white bg--tertiary-color">Brand accent color</div>
+ <div class="pt1 pb1 text--white bg--darkest-gray">Darkest gray</div>
+ <div class="pt1 pb1 text--white bg--dark-gray">Dark gray</div>
+ <div class="pt1 pb1 text--white bg--gray">Gray</div>
+ <div class="pt1 pb1 text--white bg--light-gray">Light gray</div>
+ <div class="pt1 pb1 bg--lightest-gray">Lightest gray</div>
+ </section>
+
+ <!-- Type -->
+ <section class="pb4 reading-font">
+ <h2 class="text--gray pb1 border--bottom">Type</h2>
+ <h1>A new take on health care for small businesses.</h1>
+ <h2>Heading 2</h2>
+ <h3>Heading 3</h3>
+ <h4>Heading 4</h4>
+ <h5>Heading 5</h5>
+ <h6>Heading 6</h6>
+ <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, semper suscipit, posuere a, pede.</p>
+ <p>Sed adipiscing ornare risus. Morbi est est, blandit sit amet, sagittis vel, euismod vel, velit. Pellentesque egestas sem. Suspendisse commodo ullamcorper magna. Ut aliquam sollicitudin leo.</p>
+ <blockquote class="blockquote">This is a blockquote. Suspendisse commodo ullamcorper magna.</blockquote>
+ <p>Lorem <sup>superscript</sup> dolor <sub>subscript</sub> amet, consectetuer adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. <cite>cite</cite>. Donec sed tellus eget sapien fringilla nonummy. <acronym title="National Basketball Association">NBA</acronym> Morbi imperdiet augue quis tellus. Suspendisse quam sem, <abbr title="Avenue">AVE</abbr> consequat at, commodo vitae, feugiat in nunc.</p>
+ <p>Morbi in sem quis dui <a class="link" href="#">placerat ornare</a>. Pellentesque odio nisi, euismod in <a class="link" href="#">pharetra</a> a, ultricies in, diam. Sed arcu. Cras consequat.</p>
+ <ul class="list--indented">
+ <li>Aliquam tincidunt mauris eu risus.</li>
+ <li>Vestibulum auctor dapibus neque.</li>
+ <li>Nunc dignissim risus id metus.</li>
+ <li>Vivamus vestibulum nulla nec ante.</li>
+ </ul>
+ <p>Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.</p>
+ <ol class="list--indented m0">
+ <li>Integer vitae libero ac risus egestas placerat.</li>
+ <li>Praesent placerat risus quis eros.</li>
+ <li>Ut aliquam sollicitudin leo.</li>
+ <li>Donec quis dui at dolor tempor interdum.</li>
+ </ol>
+ </section>
+
+ <!-- Forms -->
+ <section class="pb4">
+ <h2 class="text--gray pb1 border--bottom">Forms</h2>
+ <form class="form">
+ <input class="form-control mb1" placeholder="Name">
+ <input class="form-control mb1" type="email" placeholder="Email Address">
+ <input class="form-control mb1" type="subject" placeholder="Subject">
+ <div class="select mb1">
+ <select>
+ <option selected="selected">Open this select</option>
+ <option>One</option>
+ <option>Two</option>
+ <option>Three</option>
+ </select>
+ </div>
+ <textarea class="form-control mb1" placeholder="Message"></textarea>
+ <button class="btn btn--default">Default</button>
+ </form>
+ </section>
+
+ <!-- Buttons -->
+ <section class="pb4">
+ <h2 class="text--gray pb1 border--bottom">Buttons</h2>
+ <a class="btn btn--default" href="">Medium Default</a>
+ <a class="btn btn--outline" href="">Medium Outline</a>
+ <a class="btn btn--default btn--sm" href="">Small Default</a>
+ </section>
+
+ </div> <!-- End container -->
+
+ </body>
+</html>
+
diff --git a/admin/survey/modules/mod_WPN/info WPN.txt b/admin/survey/modules/mod_WPN/info WPN.txt
new file mode 100644
index 0000000..9d62bf7
--- /dev/null
+++ b/admin/survey/modules/mod_WPN/info WPN.txt
@@ -0,0 +1,5 @@
+Web Push Notifications
+- Module is used for sending web push notifications to subscribers (browsers)
+- This module is using third party library: https://github.com/web-push-libs/web-push-php
+ - PHP 7.1+
+ - gmp, mbstring, curl, openssl \ No newline at end of file