diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/build.xml b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/build.xml new file mode 100644 index 0000000000..5d2b4dea52 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/build.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/pom.xml b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/pom.xml new file mode 100644 index 0000000000..2aa7be9fc9 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/pom.xml @@ -0,0 +1,138 @@ + + + + + + + + org.wso2.carbon.devicemgt-plugins + analytics-feature + 3.0.2-SNAPSHOT + ../pom.xml + + + 4.0.0 + org.wso2.carbon.iot.geo.dashboard.feature + pom + WSO2 Carbon - IoT Geo Dashboard Feature + http://wso2.org + This feature contains the IoT geo dashboard gadget + + + + org.wso2.carbon.event-processing + org.wso2.carbon.siddhi.geo.event.fuser + + + org.wso2.carbon.event-processing + org.wso2.carbon.siddhi.geo.event.notifier + + + + + + maven-clean-plugin + + + auto-clean + initialize + + clean + + + + + + maven-antrun-plugin + 1.7 + + + process-resources + + + + + + + run + + + + + + maven-resources-plugin + + + copy-resources + generate-resources + + copy-resources + + + src/main/resources + + + resources + + org_wso2_carbon_iot_geo_dashboard-1.0.0.car + p2.inf + geodashboard-datasources.xml + build.properties + + + + + + + + + org.wso2.maven + carbon-p2-plugin + ${carbon.p2.plugin.version} + + + p2-feature-generation + package + + p2-feature-gen + + + org.wso2.carbon.iot.geo.dashboard + ../../../features/etc/feature.properties + + + org.eclipse.equinox.p2.type.group:true + + + + + org.wso2.carbon.event-processing:org.wso2.carbon.siddhi.geo.event.fuser:${carbon.event.processing.version} + + + org.wso2.carbon.event-processing:org.wso2.carbon.siddhi.geo.event.notifier:${carbon.event.processing.version} + + + + + + + + + diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/Dashboard_1.0.0/artifact.xml b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/Dashboard_1.0.0/artifact.xml new file mode 100644 index 0000000000..b0fc91fbc5 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/Dashboard_1.0.0/artifact.xml @@ -0,0 +1,23 @@ + + + + + geo-dashboard.json + + diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/Dashboard_1.0.0/geo-dashboard.json b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/Dashboard_1.0.0/geo-dashboard.json new file mode 100644 index 0000000000..81dca8ec0c --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/Dashboard_1.0.0/geo-dashboard.json @@ -0,0 +1 @@ +{"id":"geo-dashboard","title":"Geo Dashboard","description":"","permissions":{"viewers":["Internal/everyone"],"editors":["Internal/everyone"]},"pages":[{"id":"landing","title":"Home","layout":{"content":{"loggedIn":{"blocks":[{"id":"68daad10250cea641097dcb2949aefc6","x":0,"y":0,"width":12,"height":9,"banner":false}]}},"fluidLayout":false},"isanon":false,"content":{"default":{"68daad10250cea641097dcb2949aefc6":[{"id":"geo-dashboard-0","content":{"id":"geo-dashboard","title":"Geo Dashboard","type":"gadget","thumbnail":"fs://gadget/geo-dashboard/img/thumbnail.png","settings":{"personalize":true,"priority":"5"},"data":{"url":"fs://gadget/geo-dashboard/index.xml"},"styles":{"no_heading":true,"hide_gadget":false,"titlePosition":"left","title":"Geo Dashboard"},"notify":{"select":{"type":"address","description":"This notifies selected state"},"cancel":{"type":"boolean","description":"This notifies cancellation of state selection"}},"options":{},"locale_titles":{"en-US":"Geo Dashboard"}}}]},"anon":{}}}],"identityServerUrl":"","accessTokenUrl":"","apiKey":"","apiSecret":"","theme":"geo-dashboard","isUserCustom":false,"isEditorEnable":true,"banner":{"globalBannerExists":false,"customBannerExists":false},"landing":"landing","isanon":false} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/artifact.xml b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/artifact.xml new file mode 100644 index 0000000000..d8e645363f --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/artifact.xml @@ -0,0 +1,4 @@ + + + geo-dashboard + \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Proximity_alert.siddhiql b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Proximity_alert.siddhiql new file mode 100644 index 0000000000..fb64720391 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Proximity_alert.siddhiql @@ -0,0 +1,140 @@ +/* Enter a unique ExecutionPlan */ +@Plan:name('Geo-ExecutionPlan-Proximity_alert') + +/* Enter a unique description for ExecutionPlan */ +-- @Plan:description('ExecutionPlan') + +/* define streams/tables and write queries here ... */ + +@Import('org.wso2.geo.StandardSpatialEvents:1.0.0') +define stream dataIn (id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string ); + +@Export('org.wso2.geo.ProcessedSpatialEvents:1.0.0') +define stream dataOut ( id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string, state string, information string ); + +@IndexBy('id') +define table ProximityTable(id string, timeStamp long); + +@IndexBy('id') +define table AlertsTable(id string , proximityWith string, eventId string); + +from dataIn#geodashboard:subscribe() +select id, latitude, longitude, timeStamp, type, speed, heading, eventId +insert into initialStream; + +from initialStream[type == 'STOP'] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "" as proximityInfo ,"false" as isProximity +insert into dataOutStream; + +from initialStream[type != 'STOP'] +select * +insert into objectInitialStream; + +from objectInitialStream#geo:proximity(id,longitude,latitude, $proximityDistance) +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,inCloseProximity,proximityWith +insert into proxymityStream; + +from proxymityStream[AlertsTable.id == proxymityStream.id in AlertsTable] +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,inCloseProximity,proximityWith,true as inAlertTable +insert into innerStreamOne; + +from proxymityStream[not(AlertsTable.id == proxymityStream.id in AlertsTable)] +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,inCloseProximity,proximityWith,false as inAlertTable +insert into innerStreamOne; + +from proxymityStream[AlertsTable.id == proxymityStream.proximityWith in AlertsTable] +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,inCloseProximity,proximityWith,true as inAlertTable +insert into innerStreamSeven; + +from proxymityStream[not(AlertsTable.id == proxymityStream.proximityWith in AlertsTable)] +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,inCloseProximity,proximityWith,false as inAlertTable +insert into innerStreamSeven; + +from innerStreamOne[inCloseProximity == true AND not(inAlertTable)] +select id,str:concat(",",proximityWith) as proximityWith , eventId +insert into AlertsTable; + +from innerStreamSeven[inCloseProximity == true AND not(inAlertTable)] +select proximityWith as id,str:concat(",",id) as proximityWith , eventId +insert into AlertsTable; + +from innerStreamOne[innerStreamOne.inCloseProximity == true AND inAlertTable]#window.length(0) join AlertsTable +on innerStreamOne.id == AlertsTable.id +select innerStreamOne.id as id, str:concat(",", innerStreamOne.proximityWith, AlertsTable.proximityWith) as proximityWith, innerStreamOne.eventId as eventId +insert into updateStream; + +from innerStreamSeven[innerStreamSeven.inCloseProximity == true AND inAlertTable]#window.length(0) join AlertsTable +on innerStreamSeven.proximityWith == AlertsTable.id +select innerStreamSeven.proximityWith as id, str:concat(",", innerStreamSeven.id, AlertsTable.proximityWith) as proximityWith, innerStreamSeven.eventId as eventId +insert into updateStream; + +from innerStreamOne[innerStreamOne.inCloseProximity == false AND inAlertTable]#window.length(0) join AlertsTable +on innerStreamOne.id == AlertsTable.id +select innerStreamOne.id as id, str:replaceAll(AlertsTable.proximityWith, str:concat(",", innerStreamOne.proximityWith), "") as proximityWith, innerStreamOne.eventId as eventId +insert into updateStream; + +from innerStreamSeven[innerStreamSeven.inCloseProximity == false AND inAlertTable]#window.length(0) join AlertsTable +on innerStreamSeven.proximityWith == AlertsTable.id +select innerStreamSeven.proximityWith as id, str:replaceAll(AlertsTable.proximityWith, str:concat(",", innerStreamSeven.id), "") as proximityWith, innerStreamSeven.eventId as eventId +insert into updateStream; + +from updateStream +select * +update AlertsTable + on id== AlertsTable.id; + +from updateStream[proximityWith == ""] +delete AlertsTable + on id== AlertsTable.id; + +from objectInitialStream[AlertsTable.id == objectInitialStream.id in AlertsTable] +select id, latitude, longitude, timeStamp, type, speed, heading, eventId, true as inAlertTable +insert into publishStream; + +from objectInitialStream[not(AlertsTable.id == objectInitialStream.id in AlertsTable)] +select id, latitude, longitude, timeStamp, type, speed, heading, eventId, false as inAlertTable +insert into publishStream; + +from publishStream[inAlertTable == true]#window.length(0) join AlertsTable +on publishStream.id== AlertsTable.id +select publishStream.id as id, publishStream.latitude as latitude, publishStream.longitude as longitude, publishStream.timeStamp as timeStamp, publishStream.type as type, publishStream.speed as speed, publishStream.heading as heading, publishStream.eventId as eventId, AlertsTable.proximityWith as proximityInfo +insert into innerStreamTwo; + +from publishStream[inAlertTable == false] +delete ProximityTable on ProximityTable.id==id; + +from publishStream[inAlertTable == false] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "" as proximityInfo ,"false" as isProximity +insert into dataOutStream; + +from innerStreamTwo[ProximityTable.id == innerStreamTwo.id in ProximityTable] +insert into innerStreamThree; + +from innerStreamThree#window.length(0) join ProximityTable +on innerStreamThree.id == ProximityTable.id +select innerStreamThree.id , innerStreamThree.latitude, innerStreamThree.longitude,innerStreamThree.timeStamp, innerStreamThree.type, innerStreamThree.speed, innerStreamThree.heading ,innerStreamThree.eventId, ProximityTable.timeStamp as storedTime, innerStreamThree.proximityInfo as proximityInfo +insert into innerStreamFour; + +from innerStreamFour[(timeStamp - storedTime) >= $proximityTime] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId ,proximityInfo,"true" as isProximity +insert into dataOutStream; + +from innerStreamFour[(timeStamp - storedTime) < $proximityTime] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , proximityInfo ,"false" as isProximity +insert into dataOutStream; + +from innerStreamTwo[not(ProximityTable.id == innerStreamTwo.id in ProximityTable)] +select innerStreamTwo.id, innerStreamTwo.timeStamp +insert into ProximityTable; + +from innerStreamTwo[not(ProximityTable.id == innerStreamTwo.id in ProximityTable)] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "" as proximityInfo ,"false" as isProximity +insert into dataOutStream; + +from dataOutStream[isProximity == 'true'] +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,"WARNING" as state,str:concat("Proximity with "," ",proximityInfo) as information +insert into dataOut; + +from dataOutStream[isProximity == 'false'] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId ,"NORMAL" as state,"" as information +insert into dataOut; \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Speed_alert.siddhiql b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Speed_alert.siddhiql new file mode 100644 index 0000000000..65dad468d5 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Speed_alert.siddhiql @@ -0,0 +1,20 @@ +/* Enter a unique ExecutionPlan */ +@Plan:name('Geo-ExecutionPlan-Speed---$deviceId_alert') + +/* Enter a unique description for ExecutionPlan */ +-- @Plan:description('ExecutionPlan') + +/* define streams/tables and write queries here ... */ + +@Import('org.wso2.geo.StandardSpatialEvents:1.0.0') +define stream dataIn (id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string); + +@Export('org.wso2.geo.ProcessedSpatialEvents:1.0.0') +define stream dataOut (id string, latitude double, longitude double, timeStamp long, type string, speed float, heading float, eventId string, state string, information string); + +from dataIn[speed >= $speedAlertValue and id == "$deviceId"]#geodashboard:subscribe() +select id , latitude, longitude,timeStamp, type ,speed, heading ,eventId , "ALERTED" as state, "This device movement is not normal!!" as information +insert into dataOut; +from dataIn[speed < $speedAlertValue and id == "$deviceId"] +select id , latitude, longitude,timeStamp, type ,speed, heading ,eventId , "NORMAL" as state, "This device movement is normal" as information +insert into dataOut; diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Stationery_alert.siddhiql b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Stationery_alert.siddhiql new file mode 100644 index 0000000000..46bfbfe2e3 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Stationery_alert.siddhiql @@ -0,0 +1,89 @@ +/* Enter a unique ExecutionPlan */ +@Plan:name('$executionPlanName') + +/* Enter a unique description for ExecutionPlan */ +-- @Plan:description('ExecutionPlan') + +/* define streams/tables and write queries here ... */ + +@Import('org.wso2.geo.StandardSpatialEvents:1.0.0') +define stream dataIn (id string, latitude double, longitude double, timeStamp long, type string ,speed float, heading float, eventId string); + + +@Export('org.wso2.geo.ProcessedSpatialEvents:1.0.0') +define stream dataOut (id string, latitude double, longitude double, timeStamp long, type string ,speed float, heading float, eventId string, state string, information string); + +@IndexBy('id') +define table StationeryTable(id string, timeStamp long); + +@IndexBy('id') +define table AlertsTable(id string, stationary bool); + +from dataIn#geodashboard:subscribe() +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,geo:within(longitude,latitude,"$geoFenceGeoJSON") as isWithin +insert into innerStreamOne; + +from innerStreamOne[isWithin == false] +delete StationeryTable on StationeryTable.id==id; + +from innerStreamOne[isWithin == false] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "false" as isStationary +insert into dataOutStream; + +from innerStreamOne[isWithin == true]#geo:stationary(id,longitude,latitude, $fluctuationRadius) +select id, latitude, longitude, timeStamp, type, speed, heading, eventId,stationary +insert into innerStreamTwo; + +from innerStreamTwo[innerStreamTwo.stationary == true] +select innerStreamTwo.id, innerStreamTwo.stationary +insert into AlertsTable; + +from innerStreamTwo[innerStreamTwo.stationary == false] +delete AlertsTable on AlertsTable.id==id; + +from innerStreamTwo[innerStreamTwo.stationary == false] +delete StationeryTable on StationeryTable.id==id; + +from innerStreamOne[isWithin == true AND not(AlertsTable.id == innerStreamOne.id in AlertsTable)] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "false" as isStationary +insert into dataOutStream; + +from innerStreamOne[isWithin == true AND AlertsTable.id == innerStreamOne.id in AlertsTable] +insert into innerStreamThree; + +from innerStreamThree#window.length(0) join AlertsTable +on innerStreamThree.id == AlertsTable.id +select innerStreamThree.id , innerStreamThree.latitude, innerStreamThree.longitude,innerStreamThree.timeStamp, innerStreamThree.type, innerStreamThree.speed, innerStreamThree.heading ,innerStreamThree.eventId +insert into innerStreamFour; + +from innerStreamFour[not(StationeryTable.id == innerStreamFour.id in StationeryTable)] +select innerStreamFour.id, innerStreamFour.timeStamp +insert into StationeryTable; + +from innerStreamOne[isWithin == true AND not(StationeryTable.id == innerStreamOne.id in StationeryTable)] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "false" as isStationary +insert into dataOutStream; + +from innerStreamOne[isWithin == true AND StationeryTable.id == innerStreamOne.id in StationeryTable] +insert into innerStreamFive; + +from innerStreamFive#window.length(0) join StationeryTable +on innerStreamFive.id == StationeryTable.id +select innerStreamFive.id , innerStreamFive.latitude, innerStreamFive.longitude,innerStreamFive.timeStamp, innerStreamFive.type, innerStreamFive.speed, innerStreamFive.heading ,innerStreamFive.eventId, StationeryTable.timeStamp as storedTime +insert into innerStreamSix; + +from innerStreamSix[(timeStamp - storedTime) >= $stationeryTime] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId ,"true" as isStationary +insert into dataOutStream; + +from innerStreamSix[(timeStamp - storedTime) < $stationeryTime] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId ,"false" as isStationary +insert into dataOutStream; + +from dataOutStream[isStationary == 'true'] +select id ,latitude, longitude,timeStamp, type, speed, heading ,eventId ,"ALERTED" as state, "This device is in $stationeryName area!!!" as information +insert into dataOut; + +from dataOutStream[isStationary == 'false'] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId ,"NORMAL" as state,"" as information +insert into dataOut; \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Traffic_alert.siddhiql b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Traffic_alert.siddhiql new file mode 100644 index 0000000000..5e6bb5b1a8 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Traffic_alert.siddhiql @@ -0,0 +1,17 @@ +/* Enter a unique ExecutionPlan */ +@Plan:name('$executionPlanName') + +/* Enter a unique description for ExecutionPlan */ +-- @Plan:description('ExecutionPlan') + +/* define streams/tables and write queries here ... */ + +@Import('rawGeoStream:1.0.0') +define stream dataIn (id string, timeStamp long, geometry string, state string, information string); + +@Export('AlertsNotifications:1.0.0') +define stream dataOut (id string, state string, information string, timeStamp long, latitude double, longitude double); + +from dataIn[geo:intersects(geometry, "$geoFenceGeoJSON")==true and geodashboard:needToNotify(id, str:concat(information, state), "sendFirst") == true and id == $deviceId] +select id, state, str:concat("Traffic alert in $areaName. State: ", state, " ", information) as information, timeStamp, 0.0 as latitude, 0.0 as longitude +insert into dataOut \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Within_alert.siddhiql b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Within_alert.siddhiql new file mode 100644 index 0000000000..85e57604ec --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/alerts/Geo-ExecutionPlan-Within_alert.siddhiql @@ -0,0 +1,20 @@ +/* Enter a unique ExecutionPlan */ +@Plan:name('$executionPlanName') + +/* Enter a unique description for ExecutionPlan */ +-- @Plan:description('ExecutionPlan') + +/* define streams/tables and write queries here ... */ + +@Import('org.wso2.geo.StandardSpatialEvents:1.0.0') +define stream dataIn (id string, latitude double, longitude double, timeStamp long, type string ,speed float, heading float, eventId string); + +@Export('org.wso2.geo.ProcessedSpatialEvents:1.0.0') +define stream dataOut (id string, latitude double, longitude double, timeStamp long, type string ,speed float, heading float, eventId string, state string, information string); + +from dataIn[geo:within(longitude,latitude,"$geoFenceGeoJSON")==true and id == $deviceId]#geodashboard:subscribe() +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "ALERTED" as state, "This device is in $areaName restricted area!!!" as information +insert into dataOut; +from dataIn[geo:within(longitude,latitude,"$geoFenceGeoJSON")!=true and id == $deviceId] +select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "NORMAL" as state, "" as information +insert into dataOut; diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/cep_info.json b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/cep_info.json new file mode 100644 index 0000000000..534bc8fb28 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/cep_info.json @@ -0,0 +1 @@ +{"username" : "admin", "password" : "admin"} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/database.json b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/database.json new file mode 100644 index 0000000000..b017a2a54c --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/database.json @@ -0,0 +1 @@ +{"username" : "wso2carbon", "password" : "wso2carbon"} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts.jag new file mode 100644 index 0000000000..1df5d7949d --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts.jag @@ -0,0 +1,129 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ +var log = new Log(); +var dataStore = require('../include/commons.jag').dataStore; +var verb = request.getMethod(); +var resourceName = request.getParameter('name'); +var webService = request.getParameter('service'); + + +if(webService) { + response.contentType = 'application/json'; + response.characterEncoding = 'UTF-8'; + response.content = { resource : get(resourceName) }; +} + +function get(name){ + if(name == 'within'){ + try{ + var res = dataStore.get("geo/alerts/within/"); + } + catch(e){ + log.info(e.message); + return false; + } + var allFences = []; + for each (var resource in res.getChildren()) { + var fence = {}; + try{ + fence['geoJson'] = JSON.parse(dataStore.get(resource).content.replace(/'/g, '"')); + fence['queryName'] = dataStore.get(resource).getProperty('queryName'); + fence['areaName'] = dataStore.get(resource).getProperty('areaName'); + fence['createdTime'] = dataStore.get(resource).createdTime.toString(); + allFences.push(fence); + } + catch(e){ + log.info("Error: "+e+'\n'); + } + } + return allFences; + } else if(name == 'speed'){ + var resource; + try{ + resource = dataStore.get(name+'.json'); + }catch(e){ + resource = {'content': false}; + } + log.info("DEBUG:***** name = "+name); + log.info("DEBUG:***** resource.content = "+resource.content); + return JSON.parse(resource.content); + } else if(name == 'proximity'){ + + var result; + try{ + var resource = dataStore.get("/geo/alerts/proximity/proximity.json"); + result={proximityDistance: resource.getProperty("proximityDistance"), proximityTime: resource.getProperty("proximityTime")}; + }catch(e){ + result = {'content': false}; + } + return result; + } else if(name == 'stationery'){ + var res; + try{ + res = dataStore.get("geo/alerts/stationery/"); + } + catch(e){ + log.info(e.message); + return false; + } + var allFences = []; + for each (var resource in res.getChildren()) { + var fence = {}; + try{ + fence['geoJson'] = JSON.parse(dataStore.get(resource).content.replace(/'/g, '"')); + fence['queryName'] = dataStore.get(resource).getProperty('queryName'); + fence['areaName'] = dataStore.get(resource).getProperty('stationeryName'); + fence['stationeryTime'] = dataStore.get(resource).getProperty('stationeryTime'); + fence['fluctuationRadius'] = dataStore.get(resource).getProperty('fluctuationRadius'); + fence['createdTime'] = dataStore.get(resource).createdTime.toString(); + allFences.push(fence); + } + catch(e){ + log.info("Error: "+e+'\n'); + } + } + return allFences; + } else if( name == 'traffic'){ + try{ + var res = dataStore.get("geo/alerts/traffic/"); + } + catch(e){ + log.info(e.message); + return false; + } + var allFences = []; + for each (var resource in res.getChildren()) { + var fence = {}; + try{ + fence['geoJson'] = JSON.parse(dataStore.get(resource).content.replace(/'/g, '"')); + fence['queryName'] = dataStore.get(resource).getProperty('queryName'); + fence['areaName'] = dataStore.get(resource).getProperty('areaName'); + fence['createdTime'] = dataStore.get(resource).createdTime.toString(); + allFences.push(fence); + } + catch(e){ + log.info("Error: "+e+'\n'); + } + } + return allFences; + } + +} + +%> diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts_history.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts_history.jag new file mode 100644 index 0000000000..c62800f7f7 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts_history.jag @@ -0,0 +1,42 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + +var db = require("../include/database.jag"); +var configuration = require('../conf/database.json'); +var log = new Log(); + +var db = new Database("jdbc:h2:repository/database/WSO2_GEO",configuration.username,configuration.password); +var objectId = request.getParameter("objectId"); + +var getHistory = "SELECT * FROM alerts_history WHERE id = \'"+objectId+"\' ORDER BY timeStamp DESC LIMIT 50"; + +try{ + var history = db.query(getHistory); + response.contentType = "application/json"; + response.characterEncoding = "UTF-8"; + response.content = history; +} +catch(e){ + log.error(e.toString()); +} +finally{ + db.close(); +} + +%> diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_server_info.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_server_info.jag new file mode 100644 index 0000000000..a2fd8fff95 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_server_info.jag @@ -0,0 +1,47 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ +var log = new Log(); + +var carbon = require('carbon'); +var serverInfo = {}; +var process = require("process"); +var host = process.getProperty('server.host'); +var ip = process.getProperty('carbon.local.ip'); +var httpsPort = process.getProperty('mgt.transport.https.proxyPort'); +if(!httpsPort){ + //can use http.port as well + httpsPort = process.getProperty('mgt.transport.https.port'); + serverInfo.httpsPort = httpsPort; +} +var httpPort = process.getProperty('mgt.transport.http.proxyPort'); +if(!httpPort){ + //can use http.port as well + httpPort = process.getProperty('mgt.transport.http.port'); + serverInfo.httpPort = httpPort; +} +serverInfo.host = host; +serverInfo.ip = ip; + +var username = request.getParameter("username"); + +var authorizedUser = carbon.server.tenantUser(username); +serverInfo.user = authorizedUser; +//log.warn(stringify(serverInfo)); +print(stringify(serverInfo)); +%> diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/proximity_alert.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/proximity_alert.jag new file mode 100644 index 0000000000..1191404569 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/proximity_alert.jag @@ -0,0 +1,98 @@ + + + + + + + + + + +<% +var get = require('../get_alerts.jag').get; +%> + + + + + + \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/speed_alert.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/speed_alert.jag new file mode 100644 index 0000000000..b5caf669d7 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/speed_alert.jag @@ -0,0 +1,52 @@ + + + + + + + + + +<% +var log = new Log(); +var get = require('../get_alerts.jag').get; + +%> + + + + \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/stationery_alert.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/stationery_alert.jag new file mode 100644 index 0000000000..a7e290f193 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/stationery_alert.jag @@ -0,0 +1,105 @@ + + + + + + + + + + + + +<% +var get = require('../get_alerts.jag').get; +%> + + + + \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/traffic_point.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/traffic_point.jag new file mode 100644 index 0000000000..0f70cdd633 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/traffic_point.jag @@ -0,0 +1,107 @@ + + + + + + + + + + + + +<% +var get = require('../get_alerts.jag').get; +%> + + + + + + + + diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/within_alert.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/within_alert.jag new file mode 100644 index 0000000000..34aca66882 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/within_alert.jag @@ -0,0 +1,100 @@ + + + + + + + + + + + + +<% +var get = require('../get_alerts.jag').get; +%> + + + + \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/remove_alerts.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/remove_alerts.jag new file mode 100644 index 0000000000..a07296bbd6 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/remove_alerts.jag @@ -0,0 +1,74 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + +/* Includes */ +var utils = require('/modules/utils.js'); +var carbon = require("carbon"); +var HTTPS_TRANSPORT = "https"; +var EVENT_PROCESSOR_SERVICE = "/services/EventProcessorAdminService"; +var HTTPConstants = Packages.org.apache.axis2.transport.http.HTTPConstants; +var EventProcessorAdminServiceStub = Packages.org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub; +var eventProcessorAdminServiceWSUrl = utils.getCarbonServerAddress(HTTPS_TRANSPORT) + EVENT_PROCESSOR_SERVICE; +var eventprocessorStub = new EventProcessorAdminServiceStub(eventProcessorAdminServiceWSUrl); +var eventsProcessorServiceClient = eventprocessorStub._getServiceClient(); +var eventProcessorOption = eventsProcessorServiceClient.getOptions(); +eventProcessorOption.setManageSession(true); +eventProcessorOption.setProperty(HTTPConstants.COOKIE_STRING, session.get('authToken')); + + +var cepInfo = require('../include/commons.jag').cepInfo; +var removeAlert = require('../include/store_alerts.jag').remove; +var ws = require('ws'); +var process = require("process"), host = process.getProperty('server.host'), + ip = process.getProperty('carbon.local.ip'); +var httpsPort = process.getProperty('mgt.transport.https.proxyPort'); +if (!httpsPort) { + //can use http.port as well + httpsPort = process.getProperty('mgt.transport.https.port'); +} + +var log = new Log(); + +var verb = request.getMethod(); +var executionPlanName = request.getParameter('executionPlanName'); +var queryName = request.getParameter('queryName'); +var cepAction = request.getParameter('cepAction'); // i.e 'deploy' new executionPlan , 'edit' executionPlan and etc.. +var type = request.getParameter('Type'); + +if (verb == "POST") { + removeAlert(queryName, type); + if (cepAction == "undeploy") { + var responseJson = {"status": "", "message": ""}; + try { + //eventprocessorStub.undeployActiveExecutionPlan("geo_" + executionPlanName + "_alert"); + eventprocessorStub.undeployActiveExecutionPlan(executionPlanName); + + responseJson.status = "success"; + responseJson.message = "Query deployed successfully"; + } catch (ex) { + msg = ex; + responseJson.status = "failed"; + responseJson.message = "Error occurred while deploying the execution plan"; + log.error(msg); + } + print(responseJson); + } +} + +%> diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/set_alerts.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/set_alerts.jag new file mode 100644 index 0000000000..99e8a09960 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/set_alerts.jag @@ -0,0 +1,139 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + +/* Includes */ +var log = new Log(); +var deviceIdSeperator = "---"; +var utils = require('/modules/utils.js'); +var carbon = require("carbon"); +var HTTPS_TRANSPORT = "https"; +var EVENT_PROCESSOR_SERVICE = "/services/EventProcessorAdminService"; +var HTTPConstants = Packages.org.apache.axis2.transport.http.HTTPConstants; +var EventProcessorAdminServiceStub = Packages.org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub; +var eventProcessorAdminServiceWSUrl = utils.getCarbonServerAddress(HTTPS_TRANSPORT) + EVENT_PROCESSOR_SERVICE; +var eventprocessorStub = new EventProcessorAdminServiceStub(eventProcessorAdminServiceWSUrl); +var eventsProcessorServiceClient = eventprocessorStub._getServiceClient(); +var eventProcessorOption = eventsProcessorServiceClient.getOptions(); +eventProcessorOption.setManageSession(true); +eventProcessorOption.setProperty(HTTPConstants.COOKIE_STRING, session.get('authToken')); + +var escapeSiddhiql = require('../include/commons.jag').escapeSiddhiql; +var storeAlerts = require('../include/store_alerts.jag').store; // TODO: change to js +var ws = require('ws'); +var process = require("process"), host = process.getProperty('server.host'), + ip = process.getProperty('carbon.local.ip'); +var httpsPort = process.getProperty('mgt.transport.https.proxyPort'); +if (!httpsPort) { + //can use http.port as well + httpsPort = process.getProperty('mgt.transport.https.port'); +} + + +var verb = request.getMethod(); +var executionPlan = request.getParameter('executionPlan'); +var queryName = request.getParameter('queryName'); +var customName = request.getParameter('customName'); +var cepAction = request.getParameter('cepAction'); // i.e 'deploy' new executionPlan , 'edit' executionPlan and etc.. +var parseData = request.getParameter('parseData'); // TODO: if app/json use request.getContent() +var deviceId = request.getParameter('deviceId'); +var parseDataJson = JSON.parse(parseData); + + +if (verb == "POST") { + var path = "../conf/alerts/Geo-ExecutionPlan-" + executionPlan + "_alert.siddhiql"; + var file = new File(path); + file.open("r"); + var template = ""; + template = file.readAll(); + file.close(); // TODO: use try catch finally put close inside finally + + for (var parseKey in parseDataJson) { + parseValue = parseDataJson[parseKey]; + var find = "\\$" + parseKey; + var re = new RegExp(find, 'g'); + template = template.replace(re, parseValue); + } + + var updatedTemplate = template; + log.info(updatedTemplate); + + //commented because theres unwanted characters comes in execution plan + //var escapedTemplate = escapeSiddhiql(updatedTemplate); + + + optionalArgs = {"queryName": queryName, "customName": customName, "executionPlan": executionPlan}; + // TODO: Inefficient if and else if blocks change it by using general keyword to resourceContents + if (executionPlan == 'Within') { + var resourceContents = parseDataJson.geoFenceGeoJSON; + } else if (executionPlan == "Stationery") { + var resourceContents = parseDataJson; + } else if (executionPlan == 'Speed') { + var resourceContents = parseDataJson.speedAlertValue; + } else if (executionPlan == 'Proximity') { + var resourceContents = parseDataJson + } else if (executionPlan == 'Traffic') { + var resourceContents = parseDataJson.geoFenceGeoJSON; + } + storeAlerts(parseKey, resourceContents, executionPlan, optionalArgs, deviceId); + + var payload; + if (cepAction == "edit") { + payload = updatedTemplate; + var responseJson = {"status": "", "message": ""}; + var result = eventprocessorStub.validateExecutionPlan(payload); + if (result.equals("success")) { + try { + eventprocessorStub.editActiveExecutionPlan(payload, "Geo-ExecutionPlan-" + executionPlan + deviceIdSeperator + deviceId + "_alert"); + responseJson.status = "success"; + responseJson.message = "Query deployed successfully"; + } catch (ex) { + msg = ex.getMessage(); + responseJson.status = "failed"; + responseJson.message = "Error occurred while deploying the execution plan"; + log.error(msg); + } + } else { + responseJson.status = "failed"; + responseJson.message = "Error occurred while deploying the execution plan"; + } + print(responseJson); + } else if (cepAction == "deploy") { + payload = updatedTemplate; + var responseJson = {"status": "", "message": ""}; + var result = eventprocessorStub.validateExecutionPlan(payload); + if (result.equals("success")) { + try { + eventprocessorStub.deployExecutionPlan(payload); + responseJson.status = "success"; + responseJson.message = "Query deployed successfully"; + } catch (ex) { + msg = ex.getMessage(); + responseJson.status = "failed"; + responseJson.message = "Error occurred while deploying the execution plan"; + log.error(msg); + } + } else { + responseJson.status = "failed"; + responseJson.message = "Error occurred while deploying the execution plan"; + } + print(responseJson); + } +} + +%> diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/tile_servers.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/tile_servers.jag new file mode 100644 index 0000000000..a5c6ffc96e --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/tile_servers.jag @@ -0,0 +1,87 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + +/* +* Get all available tile servers from RDB via HTTP GET, Insert new tile servers information via HTTP POST request +*/ + +var configuration = require('../conf/database.json'); +var log = new Log(); +//Sample create table query create table tileServers (serverId int NOT NULL AUTO_INCREMENT, url varchar(255) NOT NULL, name varchar(255), PRIMARY KEY (serverID)); +var tableName = "tileservers"; +var db = new Database("jdbc:h2:repository/database/WSO2_GEO",configuration.username,configuration.password); + +if(request.getMethod() == "GET"){ + + var checkTableExist = "SELECT * FROM tileServers limit 1"; + var createTableTileServers = "CREATE TABLE tileServers (serverId int NOT NULL AUTO_INCREMENT, "+ + "url varchar(255) NOT NULL, name varchar(255), subdomains varchar(255),attribution varchar(255),maxzoom int, "+ + "PRIMARY KEY (serverID))"; + + try{ + db.query(checkTableExist); + } catch(e){ + log.info("Table "+tableName+" does not exist. It will be created."); + db.query(createTableTileServers); + } + + var serverId = request.getParameter("serverId"); + if(serverId == "all"){ + var getAllTileServers = "select * from tileServers"; + try{ + var allTileServers = db.query(getAllTileServers); + log.info(allTileServers); + response.contentType = "application/json"; + response.characterEncoding = "UTF-8"; + response.content = allTileServers; + } + catch(e){ + log.error(e.toString()); + } + finally{ + db.close(); + } + } + else{ + // TODO: get specific server details + } +} +else if(request.getMethod() == "POST"){ + + var url = request.getParameter("url"); + var name = request.getParameter("name"); + var maxzoom = parseInt(request.getParameter("maxzoom")); + var subdomains = request.getParameter("subdomains"); + var attribution = request.getParameter("attribution"); + + var insertTileServer ="INSERT INTO tileServers (url, name, subdomains, attribution, maxzoom) VALUES('"+ url +"', '"+ name +"', '"+ subdomains +"', '"+ attribution +"', '"+ maxzoom +"' );"; + try{ + db.query(insertTileServer); + log.info(name + ' tile server added successfully!'); + print(name + ' tile server added successfully!'); + } + catch(e){ + log.error(e.toString()); + } + finally{ + db.close(); + } +} + +%> \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/wms_endpoints.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/wms_endpoints.jag new file mode 100644 index 0000000000..4535355132 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/wms_endpoints.jag @@ -0,0 +1,108 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + +/* +* Get all available tile servers from RDB via HTTP GET, Insert new tile servers information via HTTP POST request +*/ + +var configuration = require('../conf/database.json'); +var log = new Log(); + +var tableName = "webMapService"; +var db = new Database("jdbc:h2:repository/database/WSO2_GEO",configuration.username,configuration.password); + +if(request.getMethod() == "GET"){ + + var checkTableExist = "SELECT * FROM webMapService limit 1"; + var createTableWebMapService = "CREATE TABLE webMapService (serviceId int NOT NULL AUTO_INCREMENT, "+ + "serviceUrl varchar(255) NOT NULL, name varchar(255), layers varchar(255),version DECIMAL(20,3),"+ + "format varchar(255), PRIMARY KEY (serviceId))"; + + try{ + db.query(checkTableExist); + } catch(e){ + log.info("Table "+tableName+" does not exist. It will be created."); + db.query(createTableWebMapService); + } + + + var serverId = request.getParameter("serverId"); + if(serverId == "all"){ + var getAllWmsEndPoints = "select * from webMapService"; + try{ + var allWmsEndPoints = db.query(getAllWmsEndPoints); + log.info(allWmsEndPoints); + response.contentType = "application/json"; + response.characterEncoding = "UTF-8"; + response.content = allWmsEndPoints; + } + catch(e){ + log.info(e.toString()); + } + finally{ + db.close(); + } + } + else{ + // TODO: get specific server details + } +} +else if(request.getMethod() == "POST"){ + + var serviceName = request.getParameter("serviceName"); + var layers = request.getParameter("layers"); + var wmsVersion = parseInt(request.getParameter("wmsVersion")); + var serviceEndPoint = request.getParameter("serviceEndPoint"); + var outputFormat = request.getParameter("outputFormat"); + + var insertWmsEndPoint ="INSERT INTO webMapService (serviceUrl, name, layers, version, format) VALUES('"+ serviceEndPoint +"', '"+ serviceName +"', '"+ layers +"', '"+ wmsVersion +"', '"+ outputFormat +"' );"; + try{ + db.query(insertWmsEndPoint); + log.info(serviceName + ' wms service added successfully!'); + print(serviceName + 'added successfully!'); + } + catch(e){ + log.error(e.toString()); + } + finally{ + db.close(); + } +} + + +function logToFile(message){ + var currentdate = new Date(); + var datetime = "[Info]: " + currentdate.getDate() + "/" + + (currentdate.getMonth()+1) + "/" + + currentdate.getFullYear() + " @ " + + currentdate.getHours() + ":" + + currentdate.getMinutes() + ":" + + currentdate.getSeconds()+"\t"; + + message = datetime + message + "\n"; + var path = "../log/server.log"; + var file = new File(path); + file.open("a+"); + + message = file.write(message); + file.close(); + +} + +%> \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/L.Control.Locate.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/L.Control.Locate.css new file mode 100644 index 0000000000..b9868a589b --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/L.Control.Locate.css @@ -0,0 +1,31 @@ +/* Compatible with Leaflet 0.7 */ + +@import url('font/locate-fa.woff'); +@import url('css/locate-fa.css'); +@import url('css/animation.css'); + +.leaflet-touch .leaflet-bar-part-single { + -webkit-border-radius: 7px 7px 7px 7px; + border-radius: 7px 7px 7px 7px; + border-bottom: none; +} + +.leaflet-control-locate a { + font-size: 1.4em; + margin-left: 1px; + color: #444; +} + +.leaflet-control-locate.active a { + color: #2074B6; +} + +.leaflet-control-locate.active.following a { + color: #FC8428; +} + +.leaflet-touch .leaflet-control-locate { + box-shadow: none; + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/L.Control.Locate.ie.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/L.Control.Locate.ie.css new file mode 100644 index 0000000000..4dac534557 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/L.Control.Locate.ie.css @@ -0,0 +1,14 @@ +/* Conditional stylesheet for IE. */ +@import url('css/locate-fa-ie7.css'); + +.leaflet-control-locate { + border: 3px solid #999; +} + +.leaflet-control-locate a { + background-color: #eee; +} + +.leaflet-control-locate a:hover { + background-color: #fff; +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/MarkerCluster.Default.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/MarkerCluster.Default.css new file mode 100644 index 0000000000..bbc8c9fb08 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/MarkerCluster.Default.css @@ -0,0 +1,60 @@ +.marker-cluster-small { + background-color: rgba(181, 226, 140, 0.6); + } +.marker-cluster-small div { + background-color: rgba(110, 204, 57, 0.6); + } + +.marker-cluster-medium { + background-color: rgba(241, 211, 87, 0.6); + } +.marker-cluster-medium div { + background-color: rgba(240, 194, 12, 0.6); + } + +.marker-cluster-large { + background-color: rgba(253, 156, 115, 0.6); + } +.marker-cluster-large div { + background-color: rgba(241, 128, 23, 0.6); + } + + /* IE 6-8 fallback colors */ +.leaflet-oldie .marker-cluster-small { + background-color: rgb(181, 226, 140); + } +.leaflet-oldie .marker-cluster-small div { + background-color: rgb(110, 204, 57); + } + +.leaflet-oldie .marker-cluster-medium { + background-color: rgb(241, 211, 87); + } +.leaflet-oldie .marker-cluster-medium div { + background-color: rgb(240, 194, 12); + } + +.leaflet-oldie .marker-cluster-large { + background-color: rgb(253, 156, 115); + } +.leaflet-oldie .marker-cluster-large div { + background-color: rgb(241, 128, 23); +} + +.marker-cluster { + background-clip: padding-box; + border-radius: 20px; + } +.marker-cluster div { + width: 30px; + height: 30px; + margin-left: 5px; + margin-top: 5px; + + text-align: center; + border-radius: 15px; + font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif; + } +.marker-cluster span { + line-height: 30px; + } \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/MarkerCluster.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/MarkerCluster.css new file mode 100644 index 0000000000..00b0eddb96 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/MarkerCluster.css @@ -0,0 +1,6 @@ +.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow { + -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in; + -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in; + -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in; + transition: transform 0.3s ease-out, opacity 0.3s ease-in; + } diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/app.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/app.css new file mode 100644 index 0000000000..154d6a275e --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/app.css @@ -0,0 +1,159 @@ +html, body, #container { + height: 100%; + width: 100%; +} +body { + padding-top: 50px; +} +input[type="radio"], input[type="checkbox"] { + margin: 0; +} +#sidebar { + width: 250px; + height: 100%; + max-width: 100%; + float: left; + -webkit-transition: all 0.25s ease-out; + -moz-transition: all 0.25s ease-out; + transition: all 0.25s ease-out; +} +#map { + width: auto; + height: 100%; + box-shadow: 0 0 10px rgba(0,0,0,0.5); +} +#loading { + position: absolute; + width: 220px; + height: 19px; + top: 50%; + left: 50%; + margin: -10px 0 0 -110px; + z-index: 20001; +} +.sidebar-wrapper { + width: 100%; + height: 100%; + position: relative; +} +.sidebar-table { + position: absolute; + width: 100%; + top: 124px; + bottom: 0px; + overflow: auto; +} +.leaflet-control-layers label { + font-weight: normal; + margin-bottom: 0px; +} +.leaflet-control-layers-group-name { + font-weight: bold; + margin-bottom: .2em; + display: block; +} +.leaflet-control-layers-group { + margin-bottom: .5em; +} +.leaflet-control-layers-group label { + padding-left: .5em; +} +.table { + margin-bottom: 0px; +} +.navbar .navbar-brand { + font-weight: bold; + font-size: 25px; + color: white; +} +.navbar-collapse.in { + overflow-y: hidden; +} +.navbar-header .navbar-icon-container { + margin-right: 15px; +} +.navbar-header .navbar-icon { + line-height: 50px; + height: 50px; +} +.navbar-header a.navbar-icon { + margin-left: 25px; +} +.typeahead { + background-color: #FFFFFF; +} +.tt-dropdown-menu { + background-color: #FFFFFF; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 4px 4px 4px 4px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + margin-top: 4px; + padding: 4px 0; + width: 100%; + max-height: 300px; + overflow: auto; +} +.tt-suggestion { + font-size: 14px; + line-height: 20px; + padding: 3px 10px; +} +.tt-suggestion.tt-cursor { + background-color: #0097CF; + color: #FFFFFF; + cursor: pointer; +} +.tt-suggestion p { + margin: 0; +} +.tt-suggestion + .tt-suggestion { + border-top: 1px solid #ccc; +} +.typeahead-header { + margin: 0 5px 5px 5px; + padding: 3px 0; + border-bottom: 2px solid #333; +} +.has-feedback .form-control-feedback { + position: absolute; + top: 0; + right: 0; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; +} +@media (max-width: 992px) { + .navbar .navbar-brand { + font-size: 18px; + } +} +@media (max-width: 767px){ + .url-break { + word-break: break-all; + word-break: break-word; + -webkit-hyphens: auto; + hyphens: auto; + } + #sidebar { + display: none; + } +} +/* Print Handling */ +@media print { + .navbar { + display: none !important; + } + .leaflet-control-container { + display: none !important; + } +} + +.nav > li > a { + padding: 25px 15px !important; +} + +.nav > li > a:hover, .nav > li > a:focus { + background-color: transparent !important; +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap-wizard-lib/LICENSE b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap-wizard-lib/LICENSE new file mode 100644 index 0000000000..6aee4f8c2b --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap-wizard-lib/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2013 Panopta, Andrew Moffat + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap-wizard-lib/bootstrap-wizard.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap-wizard-lib/bootstrap-wizard.css new file mode 100644 index 0000000000..4713675b38 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap-wizard-lib/bootstrap-wizard.css @@ -0,0 +1,182 @@ +/* WIZARD GENERAL */ +.wizard { + display:none; +} + +.wizard-dialog {} +.wizard-content {} + +.wizard-body { + padding: 0; + margin: 0; +} + +/* WIZARD HEADER */ +.wizard-header { + padding: 9px 15px; + border-bottom: 0; +} + +.wizard-header h3 { + margin: 0; + line-height: 35px; + display: inline; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: inherit; + font-weight: bold; + text-rendering: optimizelegibility; + color: rgb(51, 51, 51); +} + +.wizard-subtitle { + font-weight:bold; + color:#AFAFAF; + padding-left:20px; +} + + +/* WIZARD NAVIGATION */ +.wizard-steps { + width: 28%; + background-color: #f5f5f5; + border-bottom-left-radius: 6px; + position: relative; +} + +.wizard-nav-container { + padding-bottom: 30px; +} + +.wizard-nav-list { + margin-bottom: 0; +} + +.wizard-nav-link .glyphicon-chevron-right { + float:right; + margin-top:12px; + margin-right:-6px; + opacity:.25; +} + +li.wizard-nav-item.active .glyphicon-chevron-right { + opacity:1; +} + +li.wizard-nav-item { + line-height:40px; +} + +.wizard-nav-list > li > a { + background-color:#f5f5f5; + padding:3px 15px 3px 20px; + cursor:default; + color:#B4B4B4; +} + +.wizard-nav-list > li > a:hover { + background-color: transparent; +} + +.wizard-nav-list > li.already-visited > a.wizard-nav-link { + color:#08C; + cursor:pointer; +} + +.wizard-nav-list > li.active > a.wizard-nav-link { + color:white; +} + +.wizard-nav-item .already-visited .active { + background-color:#08C; +} + +.wizard-nav-list li.active > a { + background-color:#08C; +} + + +/* WIZARD CONTENT */ +.wizard-body form { + padding: 0; + margin: 0; +} + +/* WIZARD PROGRESS BAR */ +.wizard-progress-container { + margin-top: 20px; + padding: 15px; + width: 100%; + position: absolute; + bottom: 0; +} + +.wizard-card-container { + margin-left: 28%; +} + +/* WIZARD CARDS */ +.wizard-error, +.wizard-failure, +.wizard-success, +.wizard-loading, +.wizard-card { + border-top: 1px solid #EEE; + display:none; + padding:35px; + padding-top:20px; + overflow-y:auto; + + /* + position:relative; + height:300px; + margin-right: 5px; + */ +} + +.wizard-card-overlay { + overflow-y: initial; +} + +.wizard-card > h3 { + margin-top:0; + margin-bottom:20px; + font-size:21px; + line-height:40px; + font-weight:normal; +} + +/* WIZARD FOOTER */ +.wizard-footer { + padding:0; +} + +.wizard-buttons-container { + padding:20px; +} + +.wizard-cancel { + margin-left: 12px; +} + +/* Inner Card */ +.wizard-input-section { + margin-bottom:20px; +} + +.wizard-dialog .popover.error-popover { + background-color:#F2DEDE; + color:#B94A48; + border-color:#953B39; +} + +.wizard-dialog .popover.error-popover .arrow::after { + border-right-color:#F2DEDE; +} + +.wizard-dialog .popover.error-popover .popover-title { + display:none; +} + +.wizard-dialog .popover.error-popover .arrow { + border-right-color:#953B39; +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap.min.css new file mode 100644 index 0000000000..a9f35ceedf --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,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:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}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{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]: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}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/animation.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/animation.css new file mode 100644 index 0000000000..489d1e49d0 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/animation.css @@ -0,0 +1,85 @@ +/* + Animation example, for spinners +*/ +.animate-spin:before { + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; + display: inline-block; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + -o-transform: rotate(359deg); + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-codes.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-codes.css new file mode 100644 index 0000000000..ad84b82b89 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-codes.css @@ -0,0 +1,4 @@ + +.icon-location:before { content: '\e802'; } /* '' */ +.icon-direction:before { content: '\e800'; } /* '' */ +.icon-spinner:before { content: '\e801'; } /* '' */ \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-embedded.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-embedded.css new file mode 100644 index 0000000000..bfdccf40f2 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-embedded.css @@ -0,0 +1,57 @@ +@font-face { + font-family: 'locate-fa'; + src: url('../font/locate-fa.eot?55704868'); + src: url('../font/locate-fa.eot?55704868#iefix') format('embedded-opentype'), + url('../font/locate-fa.svg?55704868#locate-fa') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'locate-fa'; + src: url('data:application/octet-stream;base64,d09GRgABAAAAAAtsAA4AAAAAEqQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFIlWNtYXAAAAGIAAAAOgAAAUrQExm3Y3Z0IAAAAcQAAAAUAAAAHAaP/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAAHvAAACRmgP/R5oZWFkAAAIzAAAADUAAAA2AOHFIGhoZWEAAAkEAAAAIAAAACQHCwNSaG10eAAACSQAAAAQAAAAEAyfAABsb2NhAAAJNAAAAAoAAAAKAV0A6m1heHAAAAlAAAAAIAAAACABHAoGbmFtZQAACWAAAAGAAAAC2QKeC6Jwb3N0AAAK4AAAADQAAABHLbSN5XByZXAAAAsUAAAAVgAAAFaSoZr/eJxjYGTWYJzAwMrAwVTFtIeBgaEHQjM+YDBkZGJgYGJgZWbACgLSXFMYHF4wvGBiDvqfxRDFrMfgDxRmBMkBAMqhCvR4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/f8PUvCCAURLMELVAwEjG8OIBwBmAQawAAB4nGNgQANGDEbMev83gjAAEhIEJ3icnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icNVDLbtNQEJ2Z6/gdV3WME9LISt3EDkl6iVzXDTQxqYmAVgghmgXCW5BQFyCxyF8AH8APREJI9AtYsAM+gQ0SS1jwAXW4CVR3Fkdn5p6ZcwCXF8tzVqHP4II32VIREDMgpDMQ8AwADJgGbZ/ZPQ3lHT/kGG5u+xyTA0z2oqqHzCre6S4rlS0sPpVt1TToi6Jt6KpEby8SB5ljYmbVHQWfSbpaE4rqcil25oyDCptQhx3owz6kcBdeTV4maJa3kCkaErDsFup4BJau6pb6HDRQS5qaQxlMqWzmUAIJS1IOCsigyLm4WFwOOei6cQqGod8GxugUiAyaZkfj0Y1hvDe43us6lX/P3qj12o7MKYncqiMLVym6KECQYrQG/xkLhWEP22smuWwJEK5+r0auDDJO0WTwpzvqUH/Ii/fJvYSi+xHdaSU+BVGn4DcfDWn0IEWcPE4pm01x1+Me+V1/Xg9q1PC9p9sD5FPOX3vdtQwet+P4JI6LH/VWK25RB79fW0mMaJjtpumTNC1euM1mv9n8aTeo1nFlX8QLBLA8pxEzRL41aEyuAgNAJoJBvIyjWq3YUqWHceDLjhslB47CLPSDkAX78crhh9l8JuqN/VVrBYHyzV78WuDvwxU3OxyHxUPbdW38GI7ni8VfKoddTgB4nGNgZGBgAGKnlV2H4/ltvjJwM78AijCcN405B6FV+v7//b+ROZpZD8jlYGACiQIAat0M+QAAAHicY2BkYGAO+p/FEMX8goHh/2/mGAagCApgAQCGkwVjA+gAAAMRAAADawAAAjsAAAAAAAAAOgDqASMAAAABAAAABABIAAgAAAAAAAIAHgArAG4AAACDCZEAAAAAeJx1kM1OwkAUhc8IaJDEBSauZ6OBGMqPumFhSAiwc+EC1qX2D0uHTAcSVr6F7+ADufVZPG0nxIi2mfa75565984AaOILAuXzwFWyQJ1RySc4w6PlCvWJ5Sr5yXINDSwsn1JfWj7HLV4tN3CJd1YQ1TqjFT4sCzTFpeUTXIhryxXqd5ar5InlGq7EwvIp9bXlc8zFm+UGbsTnWG32Og4jI1vjthz0+vdyuZeKUpy6iXS3JlI6kyMZqNT4SaIcT60T5bnG7wTusx9uE1cf4gPMfZ3FKpV9p3fQZn7qa+JL3iHbhQNjAhlotZZTW1tutFr5nnEiYzbDbvdnT4yhsMEeGjFCRDCQaFFt8z9AD33ck5Z0SDpLV4wULhIqLrbcERWZjPGIK2CUUvXpSMgOPH7XBXvckWc6dLl4JoWskJD1H/ljZU7KO8VFD8npHM547JuR0sJbqi+HM2TYseeAqqEzn1YX00lMf80teS95bkXFo+4Ut2OoDtHl+885vwHNb4T5eJxjYGKAAC4G7ICFgYGRiZGZkYUzJbMoNbkkMz+PvbggMy8vtYgjJz85ESTAwAAAo8cKTku4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=') format('woff'), + url('data:application/octet-stream;base64,AAEAAAAOAIAAAwBgT1MvMj3hSJUAAADsAAAAVmNtYXDQExm3AAABRAAAAUpjdnQgBo//lAAACJwAAAAcZnBnbYoKeDsAAAi4AAAJkWdhc3AAAAAQAAAIlAAAAAhnbHlmaA/9HgAAApAAAAJGaGVhZADhxSAAAATYAAAANmhoZWEHCwNSAAAFEAAAACRobXR4DJ8AAAAABTQAAAAQbG9jYQFdAOoAAAVEAAAACm1heHABHAoGAAAFUAAAACBuYW1lAp4LogAABXAAAALZcG9zdC20jeUAAAhMAAAAR3ByZXCSoZr/AAASTAAAAFYAAQMoAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAgNS/2oAWgMuAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAv//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/9/7EDEwLDABYAHkAbCAEAAQFCAAIBAmoAAQABagAAAAsARCYlIgMSKwkBBiMiJy4BJxEhIi4BNjcBNjMyFx4BAw7+mwoWAwUNDgH+vw0SCAwLAsoHCQ8KCAQCj/02FAEDFAwBQg4aFAcBZQQKCBgAAAAI////sQNbAy4ACAARABoAIwAsADUAPgBHAHJAbzYBDA0bAQMHCQECAANCPwEKAUEADgoICg4IaAAJAAgFCQhbAA0ADAQNDFsABQAEAQUEWwAHAAYABwZbAAEAAAIBAFsACgoLUwALCwpDAAMDAlMAAgILAkRCQT08OTg0MzAvKyoUExQTFBMUExIPGCslFAYuAjYyFhcUBiIuAT4BFgEUBiImPgEyFgEUBiIuAT4BFgEUDgEuATYeASUUBiIuATYyFgEUBiIuATYyFicUBi4CPgEWARUwQi4CMkAw8So8KAIsOC7+qzZINgIyTDICRiQ2IgImMij+LjpSOAI8Tj4BAUBYPgJCVEQBLR4uHgIiKiJ2GiYYAhwiHmQhMAEuRC4ujR4qKjwoAiwBSSU0NEo0NP7hGiQkNCQCKAHcKTgCPE48AjhCLT4+Wj4+/m4WICAsICDkEhwCGCgWBiIAAAAAAgAA/7ECPAMLAAgAGAAcQBkAAwAAAQMAWwABAQJTAAICCwJEFxcTEgQTKwE0JiIGFBYyNjcUBwMOASImJwMmNTQ2MhYBrVR2VFR2VI4SywkkJiYHzBKo7KgB7TtUVHZUVDs9J/5QEhYWEgGwJz12qKgAAAABAAAAAQAAQqmKw18PPPUACwPoAAAAAM81XM4AAAAAzzUkjv/9/7EDWwMuAAAACAACAAAAAAAAAAEAAANS/2oAWgPoAAD/+wNcAAEAAAAAAAAAAAAAAAAAAAAEA+gAAAMRAAADawAAAjsAAAAAAAAAOgDqASMAAAABAAAABABIAAgAAAAAAAIAHgArAG4AAACDCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACQA1AAEAAAAAAAIABwA+AAEAAAAAAAMACQBFAAEAAAAAAAQACQBOAAEAAAAAAAUACwBXAAEAAAAAAAYACQBiAAEAAAAAAAoAKwBrAAEAAAAAAAsAEwCWAAMAAQQJAAAAagCpAAMAAQQJAAEAEgETAAMAAQQJAAIADgElAAMAAQQJAAMAEgEzAAMAAQQJAAQAEgFFAAMAAQQJAAUAFgFXAAMAAQQJAAYAEgFtAAMAAQQJAAoAVgF/AAMAAQQJAAsAJgHVQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21sb2NhdGUtZmFSZWd1bGFybG9jYXRlLWZhbG9jYXRlLWZhVmVyc2lvbiAxLjBsb2NhdGUtZmFHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANAAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AbABvAGMAYQB0AGUALQBmAGEAUgBlAGcAdQBsAGEAcgBsAG8AYwBhAHQAZQAtAGYAYQBsAG8AYwBhAHQAZQAtAGYAYQBWAGUAcgBzAGkAbwBuACAAMQAuADAAbABvAGMAYQB0AGUALQBmAGEARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAQIBAwEECWRpcmVjdGlvbgdzcGlubmVyCGxvY2F0aW9uAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgMu/7EDLv+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=') format('truetype'); +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'locate-fa'; + src: url('../font/locate-fa.svg?55704868#locate-fa') format('svg'); + } +} +*/ + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "locate-fa"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} +.icon-location:before { content: '\e802'; } /* '' */ +.icon-direction:before { content: '\e800'; } /* '' */ +.icon-spinner:before { content: '\e801'; } /* '' */ \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-ie7-codes.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-ie7-codes.css new file mode 100644 index 0000000000..86dccef9db --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-ie7-codes.css @@ -0,0 +1,4 @@ + +.icon-location { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-direction { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-ie7.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-ie7.css new file mode 100644 index 0000000000..717b51156c --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa-ie7.css @@ -0,0 +1,15 @@ +[class^="icon-"], [class*=" icon-"] { + font-family: 'locate-fa'; + font-style: normal; + font-weight: normal; + + /* fix buttons height */ + line-height: 1em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ +} + +.icon-location { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-direction { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa.css new file mode 100644 index 0000000000..86ee0791c4 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/css/locate-fa.css @@ -0,0 +1,72 @@ +@font-face { + font-family: 'locate-fa'; + src: url('../font/locate-fa.eot?9201824'); + src: url('../font/locate-fa.eot?9201824#iefix') format('embedded-opentype'), + url('../font/locate-fa.woff?9201824') format('woff'), + url('../font/locate-fa.ttf?9201824') format('truetype'), + url('../font/locate-fa.svg?9201824#locate-fa') format('svg'); + font-weight: normal; + font-style: normal; +} +/* use SVG only on mobile devices to avoid display issue on android +issue: https://github.com/domoritz/leaflet-locatecontrol/issues/78 +solution: http://stackoverflow.com/a/21050160/1106908 +*/ +@media only screen and (max-width: 320px), + screen and (max-device-width: 720px) and (orientation: portrait), + screen and (max-device-width: 1280px) and (orientation: landscape) +{ + @font-face { + font-family: 'locate-fa'; + src: url('../font/locate-fa.eot?9201824'); + src: url('../font/locate-fa.svg?9201824#locate-fa') format('svg'); + font-weight: normal; + font-style: normal; + } +} + +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'locate-fa'; + src: url('../font/locate-fa.svg?9201824#locate-fa') format('svg'); + } +} +*/ + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "locate-fa"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.icon-location:before { content: '\e802'; } /* '' */ +.icon-direction:before { content: '\e800'; } /* '' */ +.icon-spinner:before { content: '\e801'; } /* '' */ \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/d3/c3.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/d3/c3.css new file mode 100644 index 0000000000..568648f5e7 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/d3/c3.css @@ -0,0 +1,203 @@ +/*-- Chart --*/ + +.c3 svg { + font: 10px sans-serif; +} +.c3 path, .c3 line { + fill: none; + stroke: #000; +} +.c3 text { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.c3-legend-item-tile, +.c3-xgrid-focus, +.c3-ygrid, +.c3-event-rect, +.c3-bars path { + shape-rendering: crispEdges; +} + +.c3-chart-arc path { + stroke: #fff; + +} +.c3-chart-arc text { + fill: #fff; + font-size: 13px; +} + +/*-- Axis --*/ + +.c3-axis-x .tick { +} +.c3-axis-x-label { +} + +.c3-axis-y .tick { +} +.c3-axis-y-label { +} + +.c3-axis-y2 .tick { +} +.c3-axis-y2-label { +} + +/*-- Grid --*/ + +.c3-grid line { + stroke: #aaa; +} +.c3-grid text { + fill: #aaa; +} +.c3-xgrid, .c3-ygrid { + stroke-dasharray: 3 3; +} +.c3-xgrid-focus { +} + +/*-- Text on Chart --*/ + +.c3-text { +} + +.c3-text.c3-empty { + fill: #808080; + font-size: 2em; +} + +/*-- Line --*/ + +.c3-line { + stroke-width: 1px; +} +/*-- Point --*/ + +.c3-circle._expanded_ { + stroke-width: 1px; + stroke: white; +} +.c3-selected-circle { + fill: white; + stroke-width: 2px; +} + +/*-- Bar --*/ + +.c3-bar { + stroke-width: 0; +} +.c3-bar._expanded_ { + fill-opacity: 0.75; +} + +/*-- Arc --*/ + +.c3-chart-arcs-title { + font-size: 1.3em; +} + +/*-- Focus --*/ + +.c3-target.c3-focused path.c3-line, .c3-target.c3-focused path.c3-step { + stroke-width: 2px; +} + +/*-- Region --*/ + +.c3-region { + fill: steelblue; + fill-opacity: .1; +} + +/*-- Brush --*/ + +.c3-brush .extent { + fill-opacity: .1; +} + +/*-- Select - Drag --*/ + +.c3-dragarea { +} + +/*-- Legend --*/ + +.c3-legend-item { + font-size: 12px; +} + +.c3-legend-background { + opacity: 0.75; + fill: white; + stroke: lightgray; + stroke-width: 1 +} + +/*-- Tooltip --*/ + +.c3-tooltip { + border-collapse:collapse; + border-spacing:0; + background-color:#fff; + empty-cells:show; + -webkit-box-shadow: 7px 7px 12px -9px rgb(119,119,119); + -moz-box-shadow: 7px 7px 12px -9px rgb(119,119,119); + box-shadow: 7px 7px 12px -9px rgb(119,119,119); + opacity: 0.9; +} +.c3-tooltip tr { + border:1px solid #CCC; +} +.c3-tooltip th { + background-color: #aaa; + font-size:14px; + padding:2px 5px; + text-align:left; + color:#FFF; +} +.c3-tooltip td { + font-size:13px; + padding: 3px 6px; + background-color:#fff; + border-left:1px dotted #999; +} +.c3-tooltip td > span { + display: inline-block; + width: 10px; + height: 10px; + margin-right: 6px; +} +.c3-tooltip td.value{ + text-align: right; +} + +.c3-area { + stroke-width: 0; + opacity: 0.2; +} + +.c3-chart-arcs .c3-chart-arcs-background { + fill: #e0e0e0; + stroke: none; +} +.c3-chart-arcs .c3-chart-arcs-gauge-unit { + fill: #000; + font-size: 16px; +} +.c3-chart-arcs .c3-chart-arcs-gauge-max { + fill: #777; +} +.c3-chart-arcs .c3-chart-arcs-gauge-min { + fill: #777; +} + +.c3-chart-arc .c3-gauge-value { + fill: #000; + font-size: 28px; +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font-awesome.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font-awesome.min.css new file mode 100644 index 0000000000..3d920fc87c --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.1.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-square:before,.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/LICENSE.txt b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/LICENSE.txt new file mode 100644 index 0000000000..174b67a48a --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/LICENSE.txt @@ -0,0 +1,10 @@ +Font license info + + +## Font Awesome + + Copyright (C) 2012 by Dave Gandy + + Author: Dave Gandy + License: SIL () + Homepage: http://fortawesome.github.com/Font-Awesome/ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/README.txt b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/README.txt new file mode 100644 index 0000000000..53ff724a80 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/README.txt @@ -0,0 +1,75 @@ +This webfont is generated by http://fontello.com open source project. + + +================================================================================ +Please, note, that you should obey original font licences, used to make this +webfont pack. Details available in LICENSE.txt file. + +- Usually, it's enough to publish content of LICENSE.txt file somewhere on your + site in "About" section. + +- If your project is open-source, usually, it will be ok to make LICENSE.txt + file publically available in your repository. + +- Fonts, used in Fontello, don't require to make clickable links on your site. + But any kind of additional authors crediting is welcome. +================================================================================ + + +Comments on archive content +--------------------------- + +- /font/* - fonts in different formats + +- /css/* - different kinds of css, for all situations. Should be ok with + twitter bootstrap. Also, you can skip style and assign icon classes + directly to text elements, if you don't mind about IE7. + +- demo.html - demo file, to show your webfont content + +- LICENSE.txt - license info about source fonts, used to build your one. + +- config.json - keeps your settings. You can import it back to fontello anytime, + to continue your work + + +Why so many CSS files ? +----------------------- + +Because we like to fit all your needs :) + +- basic file, .css - is usually enougth, in contains @font-face + and character codes definition + +- *-ie7.css - if you need IE7 support, but still don't wish to put char codes + directly into html + +- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face + rules, but still wish to benefit of css generation. That can be very + convenient for automated assets build systems. When you need to update font - + no needs to manually edit files, just override old version with archive + content. See fontello source codes for example. + +- *-embedded.css - basic css file, but with embedded WOFF font, to avoid + CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain. + We strongly recommend to resolve this issue by `Access-Control-Allow-Origin` + server headers. But if you ok with dirty hack - this file is for you. Note, + that data url moved to separate @font-face to avoid problems with + + +Copyright (C) 2014 by original authors @ fontello.com + + + + + + + + + + \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/locate-fa.ttf b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/locate-fa.ttf new file mode 100644 index 0000000000..ae6534b98e Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/locate-fa.ttf differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/locate-fa.woff b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/locate-fa.woff new file mode 100644 index 0000000000..881d2f1ab1 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/font/locate-fa.woff differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/FontAwesome.otf b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/FontAwesome.otf new file mode 100644 index 0000000000..3461e3fce6 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/FontAwesome.otf differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.eot b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000..6cfd566095 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.eot differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.svg b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000000..a9f8469503 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.ttf b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000..5cd6cff6d6 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.ttf differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.woff b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000..9eaecb3799 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/fonts/fontawesome-webfont.woff differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/TODO.Move_this_images_to_assets_images_folder b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/TODO.Move_this_images_to_assets_images_folder new file mode 100644 index 0000000000..e69de29bb2 diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/layers-2x.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/layers-2x.png new file mode 100644 index 0000000000..a2cf7f9efe Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/layers-2x.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/layers.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/layers.png new file mode 100644 index 0000000000..bca0a0e429 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/layers.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-icon-2x.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-icon-2x.png new file mode 100644 index 0000000000..0015b6495f Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-icon-2x.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-icon.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-icon.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-icon.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-shadow.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-shadow.png new file mode 100644 index 0000000000..d1e773c715 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/images/marker-shadow.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/jquery-ui.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/jquery-ui.min.css new file mode 100644 index 0000000000..d75d29bde5 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/jquery-ui.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.11.1 - 2014-08-14 +* http://jqueryui.com +* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/jquery-ui.theme.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/jquery-ui.theme.min.css new file mode 100644 index 0000000000..466f9d894c --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/jquery-ui.theme.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.11.1 - 2014-08-14 +* http://jqueryui.com +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ + +.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet.css new file mode 100644 index 0000000000..1232550253 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet.css @@ -0,0 +1,478 @@ +/* required styles */ + +.leaflet-map-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-pane, +.leaflet-tile-container, +.leaflet-overlay-pane, +.leaflet-shadow-pane, +.leaflet-marker-pane, +.leaflet-popup-pane, +.leaflet-overlay-pane svg, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; + } +.leaflet-container { + overflow: hidden; + -ms-touch-action: none; + } +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; + } +/* map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container img { + max-width: none !important; + } +/* stupid Android 2 doesn't understand "max-width: none" properly */ +.leaflet-container img.leaflet-image-layer { + max-width: 15000px !important; + } +.leaflet-tile { + filter: inherit; + visibility: hidden; + } +.leaflet-tile-loaded { + visibility: inherit; + } +.leaflet-zoom-box { + width: 0; + height: 0; + } +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; + } + +.leaflet-tile-pane { z-index: 2; } +.leaflet-objects-pane { z-index: 3; } +.leaflet-overlay-pane { z-index: 4; } +.leaflet-shadow-pane { z-index: 5; } +.leaflet-marker-pane { z-index: 6; } +.leaflet-popup-pane { z-index: 7; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; + } +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 7; + pointer-events: auto; + } +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; + } +.leaflet-top { + top: 0; + } +.leaflet-right { + right: 0; + } +.leaflet-bottom { + bottom: 0; + } +.leaflet-left { + left: 0; + } +.leaflet-control { + float: left; + clear: both; + } +.leaflet-right .leaflet-control { + float: right; + } +.leaflet-top .leaflet-control { + margin-top: 10px; + } +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; + } +.leaflet-left .leaflet-control { + margin-left: 10px; + } +.leaflet-right .leaflet-control { + margin-right: 10px; + } + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-tile, +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + -o-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } +.leaflet-fade-anim .leaflet-tile-loaded, +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; + } + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile, +.leaflet-touching .leaflet-zoom-animated { + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; + } + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; + } + + +/* cursors */ + +.leaflet-clickable { + cursor: pointer; + } +.leaflet-container { + cursor: -webkit-grab; + cursor: -moz-grab; + } +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; + } +.leaflet-dragging .leaflet-container, +.leaflet-dragging .leaflet-clickable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + } + + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline: 0; + } +.leaflet-container a { + color: #0078A8; + } +.leaflet-container a.leaflet-active { + outline: 2px solid orange; + } +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + + +/* general typography */ +.leaflet-container { + font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; + } + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } +.leaflet-bar a, +.leaflet-bar a:hover { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } +.leaflet-bar a:hover { + background-color: #f4f4f4; + } +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; + } + + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } +.leaflet-control-zoom-out { + font-size: 20px; + } + +.leaflet-touch .leaflet-control-zoom-in { + font-size: 22px; + } +.leaflet-touch .leaflet-control-zoom-out { + font-size: 24px; + } + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; + } +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; + } +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; + } +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; + } +.leaflet-control-layers label { + display: block; + } +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.7); + margin: 0; + } +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + } +.leaflet-control-attribution a { + text-decoration: none; + } +.leaflet-control-attribution a:hover { + text-decoration: underline; + } +.leaflet-container .leaflet-control-attribution, +.leaflet-container .leaflet-control-scale { + font-size: 11px; + } +.leaflet-left .leaflet-control-scale { + margin-left: 5px; + } +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; + } +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + font-size: 11px; + white-space: nowrap; + overflow: hidden; + -moz-box-sizing: content-box; + box-sizing: content-box; + + background: #fff; + background: rgba(255, 255, 255, 0.5); + } +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; + } + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; + } +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + } +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; + } +.leaflet-popup-content { + margin: 13px 19px; + line-height: 1.4; + } +.leaflet-popup-content p { + margin: 18px 0; + } +.leaflet-popup-tip-container { + margin: 0 auto; + width: 40px; + height: 20px; + position: relative; + overflow: hidden; + } +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + } +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + padding: 4px 4px 0 0; + text-align: center; + width: 18px; + height: 14px; + font: 16px/14px Tahoma, Verdana, sans-serif; + color: #c3c3c3; + text-decoration: none; + font-weight: bold; + background: transparent; + } +.leaflet-container a.leaflet-popup-close-button:hover { + color: #999; + } +.leaflet-popup-scrolled { + overflow: auto; + border-bottom: 1px solid #ddd; + border-top: 1px solid #ddd; + } + +.leaflet-oldie .leaflet-popup-content-wrapper { + zoom: 1; + } +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } +.leaflet-oldie .leaflet-popup-tip-container { + margin-top: -1px; + } + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; + } + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; + } diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/L.Grid.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/L.Grid.css new file mode 100644 index 0000000000..e63389de27 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/L.Grid.css @@ -0,0 +1,10 @@ +.leaflet-grid-label .lng { + margin-left: 8px; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.leaflet-grid-label .lat, +.leaflet-grid-label .lng { + text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF; +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/images/spritesheet-2x.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/images/spritesheet-2x.png new file mode 100644 index 0000000000..1525c9f698 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/images/spritesheet-2x.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/images/spritesheet.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/images/spritesheet.png new file mode 100644 index 0000000000..f7035a1cb0 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/images/spritesheet.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/leaflet.draw.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/leaflet.draw.css new file mode 100644 index 0000000000..fd57473f5a --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet/leaflet.draw.css @@ -0,0 +1,302 @@ +/* ================================================================== */ +/* Toolbars +/* ================================================================== */ + +.leaflet-draw-section { + position: relative; +} + +.leaflet-draw-toolbar { + margin-top: 12px; +} + +.leaflet-draw-toolbar-top { + margin-top: 0; +} + +.leaflet-draw-toolbar-notop a:first-child { + border-top-right-radius: 0; +} + +.leaflet-draw-toolbar-nobottom a:last-child { + border-bottom-right-radius: 0; +} + +.leaflet-draw-toolbar a { + background-image: url('images/spritesheet.png'); + background-repeat: no-repeat; +} + +.leaflet-retina .leaflet-draw-toolbar a { + background-image: url('images/spritesheet-2x.png'); + background-size: 270px 30px; +} + +.leaflet-draw a { + display: block; + text-align: center; + text-decoration: none; +} + +/* ================================================================== */ +/* Toolbar actions menu +/* ================================================================== */ + +.leaflet-draw-actions { + display: none; + list-style: none; + margin: 0; + padding: 0; + position: absolute; + left: 26px; /* leaflet-draw-toolbar.left + leaflet-draw-toolbar.width */ + top: 0; + white-space: nowrap; +} + +.leaflet-touch .leaflet-draw-actions { + left: 32px; +} + +.leaflet-right .leaflet-draw-actions { + right:26px; + left:auto; +} + +.leaflet-touch .leaflet-right .leaflet-draw-actions { + right:32px; + left:auto; +} + +.leaflet-draw-actions li { + display: inline-block; +} + +.leaflet-draw-actions li:first-child a { + border-left: none; +} + +.leaflet-draw-actions li:last-child a { + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.leaflet-right .leaflet-draw-actions li:last-child a { + -webkit-border-radius: 0; + border-radius: 0; +} + +.leaflet-right .leaflet-draw-actions li:first-child a { + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.leaflet-draw-actions a { + background-color: #919187; + border-left: 1px solid #AAA; + color: #FFF; + font: 11px/19px "Helvetica Neue", Arial, Helvetica, sans-serif; + line-height: 28px; + text-decoration: none; + padding-left: 10px; + padding-right: 10px; + height: 28px; +} + +.leaflet-touch .leaflet-draw-actions a { + font-size: 12px; + line-height: 30px; + height: 30px; +} + +.leaflet-draw-actions-bottom { + margin-top: 0; +} + +.leaflet-draw-actions-top { + margin-top: 1px; +} + +.leaflet-draw-actions-top a, +.leaflet-draw-actions-bottom a { + height: 27px; + line-height: 27px; +} + +.leaflet-draw-actions a:hover { + background-color: #A0A098; +} + +.leaflet-draw-actions-top.leaflet-draw-actions-bottom a { + height: 26px; + line-height: 26px; +} + +/* ================================================================== */ +/* Draw toolbar +/* ================================================================== */ + +.leaflet-draw-toolbar .leaflet-draw-draw-polyline { + background-position: -2px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline { + background-position: 0 -1px; +} + +.leaflet-draw-toolbar .leaflet-draw-draw-polygon { + background-position: -31px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon { + background-position: -29px -1px; +} + +.leaflet-draw-toolbar .leaflet-draw-draw-rectangle { + background-position: -62px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle { + background-position: -60px -1px; +} + +.leaflet-draw-toolbar .leaflet-draw-draw-circle { + background-position: -92px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle { + background-position: -90px -1px; +} + +.leaflet-draw-toolbar .leaflet-draw-draw-marker { + background-position: -122px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker { + background-position: -120px -1px; +} + +/* ================================================================== */ +/* Edit toolbar +/* ================================================================== */ + +.leaflet-draw-toolbar .leaflet-draw-edit-edit { + background-position: -152px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit { + background-position: -150px -1px; +} + +.leaflet-draw-toolbar .leaflet-draw-edit-remove { + background-position: -182px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove { + background-position: -180px -1px; +} + +.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled { + background-position: -212px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled { + background-position: -210px -1px; +} + +.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled { + background-position: -242px -2px; +} + +.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled { + background-position: -240px -2px; +} + +/* ================================================================== */ +/* Drawing styles +/* ================================================================== */ + +.leaflet-mouse-marker { + background-color: #fff; + cursor: crosshair; +} + +.leaflet-draw-tooltip { + background: rgb(54, 54, 54); + background: rgba(0, 0, 0, 0.5); + border: 1px solid transparent; + -webkit-border-radius: 4px; + border-radius: 4px; + color: #fff; + font: 12px/18px "Helvetica Neue", Arial, Helvetica, sans-serif; + margin-left: 20px; + margin-top: -21px; + padding: 4px 8px; + position: absolute; + visibility: hidden; + white-space: nowrap; + z-index: 6; +} + +.leaflet-draw-tooltip:before { + border-right: 6px solid black; + border-right-color: rgba(0, 0, 0, 0.5); + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + content: ""; + position: absolute; + top: 7px; + left: -7px; +} + +.leaflet-error-draw-tooltip { + background-color: #F2DEDE; + border: 1px solid #E6B6BD; + color: #B94A48; +} + +.leaflet-error-draw-tooltip:before { + border-right-color: #E6B6BD; +} + +.leaflet-draw-tooltip-single { + margin-top: -12px +} + +.leaflet-draw-tooltip-subtext { + color: #f8d5e4; +} + +.leaflet-draw-guide-dash { + font-size: 1%; + opacity: 0.6; + position: absolute; + width: 5px; + height: 5px; +} + +/* ================================================================== */ +/* Edit styles +/* ================================================================== */ + +.leaflet-edit-marker-selected { + background: rgba(254, 87, 161, 0.1); + border: 4px dashed rgba(254, 87, 161, 0.6); + -webkit-border-radius: 4px; + border-radius: 4px; +} + +.leaflet-edit-move { + cursor: move; +} + +.leaflet-edit-resize { + cursor: pointer; +} + +/* ================================================================== */ +/* Old IE styles +/* ================================================================== */ + +.leaflet-oldie .leaflet-draw-toolbar { + border: 1px solid #999; +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/fullscreen.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/fullscreen.png new file mode 100644 index 0000000000..fdd3a8eedc Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/fullscreen.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/fullscreen@2x.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/fullscreen@2x.png new file mode 100644 index 0000000000..f41a81b810 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/fullscreen@2x.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/leaflet.fullscreen.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/leaflet.fullscreen.css new file mode 100644 index 0000000000..e29cd06367 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/leaflet_fullscreen/leaflet.fullscreen.css @@ -0,0 +1,34 @@ +.leaflet-control-fullscreen a { + background:#fff url(fullscreen.png) no-repeat 0 0; + background-size:26px 52px; + } + .leaflet-fullscreen-on .leaflet-control-fullscreen a { + background-position:0 -26px; + } + +/* Do not combine these two rules; IE will break. */ +.leaflet-container:-webkit-full-screen { + width:100%!important; + height:100%!important; + } +.leaflet-container.leaflet-fullscreen-on { + width:100%!important; + height:100%!important; + } + +.leaflet-pseudo-fullscreen { + position:fixed!important; + width:100%!important; + height:100%!important; + top:0!important; + left:0!important; + z-index:99999; + } + +@media + (-webkit-min-device-pixel-ratio:2), + (min-resolution:192dpi) { + .leaflet-control-fullscreen a { + background-image:url(fullscreen@2x.png); + } + } diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/login.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/login.css new file mode 100644 index 0000000000..fb3e2b28f8 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/login.css @@ -0,0 +1,66 @@ +/*================================================== + * Effect 8 + * ===============================================*/ +.effect8 { + position: relative; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; +} +.effect8:before, .effect8:after { + content: ""; + position: absolute; + z-index: -1; + -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.8); + -moz-box-shadow: 0 0 20px rgba(0,0,0,0.8); + box-shadow: 0 0 20px rgba(0,0,0,0.8); + top: 10px; + bottom: 10px; + left: 0; + right: 0; + -moz-border-radius: 100px /10px; + border-radius: 100px /10px; +} +.effect8:after { + right: 10px; + left: auto; + -webkit-transform: skew(8deg) rotate(3deg); + -moz-transform: skew(8deg) rotate(3deg); + -ms-transform: skew(8deg) rotate(3deg); + -o-transform: skew(8deg) rotate(3deg); + transform: skew(8deg) rotate(3deg); +} + +body { + background: radial-gradient(circle, rgb(148 210, 248), rgb(58, 146, 200)) repeat scroll 0% 0% transparent; + background-color: transparent; + background-image: radial-gradient(circle, rgb(148, 210, 248), rgb(58, 146, 200)); + background-repeat: repeat; + background-attachment: scroll; + background-position: 0% 0%; + background-clip: border-box; + background-origin: padding-box; + background-size: auto auto; + background: radial-gradient(circle, rgb(148, 210, 248), rgb(58, 146, 200)) repeat scroll 0% 0% transparent; + background-color: transparent; + background-image: radial-gradient(circle, rgb(148, 210, 248), rgb(58, 146, 200)); + background-repeat: repeat; + background-attachment: scroll; + background-position: 0% 0%; + background-clip: border-box; + background-origin: padding-box; + background-size: auto auto; + background: radial-gradient(circle, rgb(148, 210, 248), rgb(58, 146, 200)) repeat scroll 0% 0% transparent; + background-color: transparent; + background-image: radial-gradient(circle, rgb(148, 210, 248), rgb(58, 146, 200)); + background-repeat: repeat; + background-attachment: scroll; + background-position: 0% 0%; + background-clip: border-box; + background-origin: padding-box; + background-size: auto auto; +} +.fixer { + padding: 0 15px; + margin: auto; +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/main.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/main.css new file mode 100644 index 0000000000..ad038be284 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/main.css @@ -0,0 +1,81 @@ +.navbar-collapse.collapse { + display: block!important; + height: auto!important; + padding-bottom: 0; + overflow: visible!important; +} + + + +.navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + display: inline-block; +} + + +.navbar-nav-left { + float: left; + text-align:left; + margin: 10px; +} + +.navbar-nav-right { + float: left; + text-align:center; + margin: 10px; +} + +.navbar-nav>li { + float: left; +} + +.navbar-nav>li>a { + padding-top: 15px; + padding-bottom: 15px; +} + +.navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; +} + +.navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; +} + +.navbar-form .has-feedback .form-control-feedback { + top: 0; +} + +.col-md-2 { + width: 16.66666667%; +} + +.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; +} + +.uk-offcanvas-page { + margin: 0 !important; + padding-left: 270 !important; + position: fixed; + -webkit-transition: margin-left .3s ease-in-out; + transition: margin-left .3s ease-in-out; +} + +.modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5); + box-shadow: 0 5px 15px rgba(0,0,0,.5); +} + diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/map.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/map.css new file mode 100644 index 0000000000..8c1c448c7d --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/map.css @@ -0,0 +1,54 @@ + +.navbar { + background-color: rgba(54, 51, 45, 0.7); + background: rgba(54, 51, 45, 0.7); + color: rgba(0, 0, 0, 0.8); + border-radius: 0px 0px 0px 0px; + -webkit-box-shadow: 0px 16px 29px -17px rgba(33, 20, 4, 1); + -moz-box-shadow: 0px 16px 29px -17px rgba(33, 20, 4, 1); + box-shadow: 0px 16px 29px -17px rgba(33, 20, 4, 1); + border: none; + margin: auto; + z-index: 0; +} + +.uk-notify { + z-index: 2147483647 !important; + +} + +.leaflet-top { + top: 30px !important; +} +#mapSearch { + border: 0; +} + +#container { + position: fixed; + top: 0px; +} + +.leaflet-top { + /*To prevent cutting off the top element by header bar in dashboard*/ + top: 50px; +} + +.leaflet-right { + /* to prevent showing layers controller over objectInfor side pane */ + z-index: 0; +} + +.leaflet-popup-content { + width: 200px; + margin: 6px; +} + +#objectInfoCloseButton:hover { + cursor: pointer; + color: firebrick; +} + +.sectionJointStyle { + stroke-dasharray: 3, 20; +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/style.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/style.css new file mode 100644 index 0000000000..b225f7915b --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/style.css @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/*html, body {*/ + /*height: 100%;*/ +/*}*/ + +#map { + height: 100%; + width: 100%; +} + +.sectionJointStyle { + stroke-dasharray: 3, 20; +} + +.leaflet-control-attribution.leaflet-control { + font-size: 8px; +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/LICENSES b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/LICENSES new file mode 100644 index 0000000000..fd675ecade --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/LICENSES @@ -0,0 +1,7 @@ +Copyright (c) YOOtheme GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.addons.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.addons.css new file mode 100644 index 0000000000..b608362ab1 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.addons.css @@ -0,0 +1,1124 @@ +/*! UIkit 2.8.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ + +/* ======================================================================== + Component: Dotnav + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ +.uk-dotnav { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; +} +/* Items + ========================================================================== */ +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ +.uk-dotnav > li { + display: inline-block; + /* 1 */ + font-size: 1rem; + /* 2 */ + vertical-align: top; +} +.uk-dotnav > li:nth-child(n+2) { + margin-left: 15px; +} +/* + * Items + * 1. Remove the gap at the bottom of it container + * 2. Hide text if present + */ +.uk-dotnav > li > a { + display: inline-block; + -moz-box-sizing: content-box; + box-sizing: content-box; + width: 20px; + height: 20px; + border-radius: 50%; + background: rgba(50, 50, 50, 0.1); + /* 1 */ + vertical-align: top; + /* 2 */ + overflow: hidden; + text-indent: -999%; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-dotnav > li > a:hover, +.uk-dotnav > li > a:focus { + background: rgba(50, 50, 50, 0.4); + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-dotnav > li > a:active { + background: rgba(50, 50, 50, 0.6); +} +/* Active */ +.uk-dotnav > li.uk-active > a { + background: rgba(50, 50, 50, 0.4); +} +/* Modifier: 'dotnav-vertical' + ========================================================================== */ +.uk-dotnav-vertical > li { + display: block; +} +.uk-dotnav-vertical > li:nth-child(n+2) { + margin-left: 0; + margin-top: 15px; +} +/* ======================================================================== + Component: Slidenav + ========================================================================== */ +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 60px; + height: 60px; + /* 3 */ + line-height: 60px; + color: rgba(50, 50, 50, 0.4); + font-size: 60px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ +.uk-slidenav:hover, +.uk-slidenav:focus { + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: rgba(50, 50, 50, 0.7); + cursor: pointer; +} +/* Active */ +.uk-slidenav:active { + color: rgba(50, 50, 50, 0.9); +} +/* + * Icons + */ +.uk-slidenav-previous:before { + content: "\f104"; + font-family: FontAwesome; +} +.uk-slidenav-next:before { + content: "\f105"; + font-family: FontAwesome; +} +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Corrects max-width behavior (3.) if padding and border are used + * 3. Responsive behavior + * 4. Create position context for dropdowns + */ +.uk-slidenav-position { + /* 1 */ + display: inline-block; + /* 2 */ + -moz-box-sizing: border-box; + box-sizing: border-box; + /* 3 */ + max-width: 100%; + /* 4 */ + position: relative; +} +/* + * Center vertically + */ +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + margin-top: -30px; +} +.uk-slidenav-position:hover .uk-slidenav { + display: block; +} +.uk-slidenav-position .uk-slidenav-previous { + left: 20px; +} +.uk-slidenav-position .uk-slidenav-next { + right: 20px; +} +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: 14px; + width: 14px; + border: 1px solid #aaaaaa; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: -4px; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: transparent; +} +/* Radio */ +.uk-form input[type="radio"] { + border-radius: 50%; +} +/* + * Checked + */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=radio]:checked:before { + display: block; +} +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: 8px; + height: 8px; + margin: 2px auto 0; + border-radius: 50%; + background: #00a8e6; +} +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before { + content: "\f00c"; + font-family: FontAwesome; + font-size: 12px; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: 12px; + color: #00a8e6; +} +/* + * Disabled + */ +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: #dddddd; +} +.uk-form input[type=radio]:disabled:checked:before { + background-color: #aaaaaa; +} +.uk-form input[type=checkbox]:disabled:checked:before { + color: #aaaaaa; +} +/* ======================================================================== + Component: Form file + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} +/* ======================================================================== + Component: Form password + ========================================================================== */ +.uk-form-password { + position: relative; + display: inline-block; + max-width: 100%; +} +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -6px; + font-size: 13px; + line-height: 13px; + color: #999999; +} +.uk-form-password-toggle:hover { + color: #999999; + text-decoration: none; +} +.uk-form-password > input { + padding-right: 50px !important; +} +/* ======================================================================== + Component: Form select + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} +/* ======================================================================== + Component: Placeholder + ========================================================================== */ +.uk-placeholder { + margin-bottom: 15px; + padding: 20px; + border: 1px dashed #dddddd; + background: #fafafa; + color: #444444; +} +/* + * Add margin if adjacent element + */ +* + .uk-placeholder { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-placeholder > :last-child { + margin-bottom: 0; +} +/* Modifier: `uk-placeholder-large` + ========================================================================== */ +.uk-placeholder-large { + padding-top: 80px; + padding-bottom: 80px; +} +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + */ +.uk-autocomplete { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ +/* + * Items + */ +.uk-nav-autocomplete > li > a { + color: #444444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-autocomplete > li.uk-active > a { + background: #00a8e6; + color: #ffffff; + /* 1 */ + outline: none; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-autocomplete .uk-nav-header { + color: #999999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-autocomplete .uk-nav-divider { + border-top: 1px solid #dddddd; +} +/* ======================================================================== + Component: Datepicker + ========================================================================== */ +/* + * Reset dropdown width + */ +.uk-datepicker { + width: auto; +} +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ +.uk-datepicker-nav { + margin-bottom: 15px; + text-align: center; + line-height: 20px; +} +/* + * Micro clearfix + */ +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: " "; + display: table; +} +.uk-datepicker-nav:after { + clear: both; +} +/* + * Previous and next navigation + */ +.uk-datepicker-nav a { + color: #444444; + text-decoration: none; +} +.uk-datepicker-nav a:hover { + color: #444444; +} +.uk-datepicker-previous { + float: left; +} +.uk-datepicker-next { + float: right; +} +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: 20px; + font-family: FontAwesome; +} +.uk-datepicker-previous:after { + content: "\f053"; +} +.uk-datepicker-next:after { + content: "\f054"; +} +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ +/* Sub-object: `uk-datepicker-table` +========================================================================== */ +/* Block element behavior */ +.uk-datepicker-table { + width: 100%; +} +.uk-datepicker-table th, +.uk-datepicker-table td { + padding: 2px; +} +.uk-datepicker-table th { + font-size: 12px; +} +/* + * Item + */ +.uk-datepicker-table a { + display: block; + width: 26px; + line-height: 24px; + text-align: center; + color: #444444; + text-decoration: none; +} +/* + * Sub-object: `uk-datepicker-table-muted` + */ +a.uk-datepicker-table-muted { + color: #999999; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { + background-color: #dddddd; + color: #444444; + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-datepicker-table a:active { + background-color: #cccccc; + color: #444444; +} +/* + * Active + */ +.uk-datepicker-table a.uk-active { + background: #00a8e6; + color: #ffffff; +} +/* ======================================================================== + Component: HTML editor + ========================================================================== */ +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ +.uk-htmleditor-navbar { + background: #eeeeee; +} +/* + * Micro clearfix + */ +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: " "; + display: table; +} +.uk-htmleditor-navbar:after { + clear: both; +} +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +.uk-htmleditor-navbar-nav > li { + float: left; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-htmleditor-navbar-nav > li > a { + display: block; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 40px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444444; + font-size: 11px; + cursor: pointer; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { + background-color: #f5f5f5; + color: #444444; + outline: none; + /* 2 */ +} +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: #dddddd; + color: #444444; +} +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: #f5f5f5; + color: #444444; +} +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ +.uk-htmleditor-navbar-flip { + float: right; +} +/* Sub-object for special buttons + ========================================================================== */ +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { + display: none; +} +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ +.uk-htmleditor-content { + border-left: 1px solid #dddddd; + border-right: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; + background: #ffffff; +} +/* + * Micro clearfix + */ +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: " "; + display: table; +} +.uk-htmleditor-content:after { + clear: both; +} +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 990; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: 40px; + left: 0; + right: 0; + bottom: 0; +} +.uk-htmleditor-fullscreen .uk-icon-expand:before { + content: "\f066"; +} +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ +.uk-htmleditor-code, +.uk-htmleditor-preview { + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.uk-htmleditor-preview { + padding: 20px; + overflow-y: scroll; +} +/* + * Tab view + */ +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { + display: none; +} +/* + * Split view + */ +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} +[data-mode='split'] .uk-htmleditor-code { + border-right: 1px solid #eeeeee; +} +/* CodeMirror modifications + ========================================================================== */ +.uk-htmleditor .CodeMirror { + padding: 10px; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +/* ======================================================================== + Component: Nestable + ========================================================================== */ +.uk-nestable { + padding: 0; + list-style: none; +} +/* Sub-object `uk-nestable-list` + ========================================================================== */ +.uk-nestable-list { + margin: 0; + padding-left: 40px; + list-style: none; +} +/* Sub-modifier `uk-nestable-list-dragged` + ========================================================================== */ +.uk-nestable-list-dragged { + position: absolute; + z-index: 1050; + padding-left: 0; + pointer-events: none; +} +/* Sub-object `uk-nestable-item` + ========================================================================== */ +.uk-nestable-item { + margin-bottom: 10px; + padding: 5px; + background: #f5f5f5; +} +/* Sub-object `uk-nestable-placeholder` + * The placeholder which marks the drop area + ========================================================================== */ +.uk-nestable-placeholder { + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 10px; + border: 1px dashed #dddddd; +} +/* Sub-object `uk-nestable-empty` + * The style of an empty list + ========================================================================== */ +.uk-nestable-empty { + min-height: 40px; +} +/* Sub-object `uk-nestable-handle` + ========================================================================== */ +.uk-nestable-handle { + display: inline-block; + font-size: 18px; + color: #dddddd; +} +/* Hover */ +.uk-nestable-handle:hover { + cursor: move; +} +/* Icon */ +.uk-nestable-handle:after { + content: "\f0c9"; + font-family: FontAwesome; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-nestable-moving, +.uk-nestable-moving * { + cursor: move; +} +/* Sub-object `[data-action='toggle']` + ========================================================================== */ +/* Hidden by default */ +[data-nestable-action='toggle'] { + display: inline-block; + color: #999999; + visibility: hidden; +} +/* Hover */ +[data-nestable-action='toggle']:hover { + color: #444444; + cursor: pointer; +} +/* Icon */ +[data-nestable-action='toggle']:after { + content: "\f147"; + font-family: FontAwesome; +} +/* + * Show if nested + */ +.uk-parent > .uk-nestable-item [data-nestable-action='toggle'] { + visibility: visible; +} +/* + * Collapsed + */ +.uk-collapsed > .uk-nestable-item [data-nestable-action='toggle']:after { + content: "\f196"; +} +.uk-collapsed .uk-nestable-list { + display: none; +} +/* ======================================================================== + Component: Notify + ========================================================================== */ +/* + * Message container for positioning + */ +.uk-notify { + position: fixed; + top: 10px; + left: 10px; + z-index: 1040; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 350px; +} +/* Position modifiers +========================================================================== */ +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: 10px; +} +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: -175px; +} +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: 10px; +} +/* Responsiveness +========================================================================== */ +/* Phones portrait and smaller */ +@media (max-width: 479px) { + /* + * Fit in small screen + */ + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } +} +/* Sub-object: `uk-notify-message` +========================================================================== */ +.uk-notify-message { + position: relative; + margin-bottom: 10px; + padding: 15px; + background: #444444; + color: #ffffff; + font-size: 16px; + line-height: 22px; + cursor: pointer; +} +/* Close in notify + ========================================================================== */ +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} +.uk-notify-message:hover > .uk-close { + visibility: visible; +} +/* Modifier: `uk-alert-info` + ========================================================================== */ +.uk-notify-message-primary { + background: #ebf7fd; + color: #2d7091; +} +/* Modifier: `uk-alert-success` + ========================================================================== */ +.uk-notify-message-success { + background: #f2fae3; + color: #659f13; +} +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ +.uk-notify-message-warning { + background: #fffceb; + color: #e28327; +} +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ +.uk-notify-message-danger { + background: #fff1f0; + color: #d85030; +} +/* ======================================================================== + Component: Search + ========================================================================== */ +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; +} +/* + * Icon + */ +.uk-search:before { + content: "\f002"; + position: absolute; + top: 0; + left: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-family: FontAwesome; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); +} +/* Sub-object `uk-search-field` + ========================================================================== */ +/* + * 1. Needed to reset iOS `input[type="search"]` appearance + */ +.uk-search-field { + width: 120px; + height: 30px; + padding: 0 30px; + border: 1px solid rgba(0, 0, 0, 0); + background: rgba(0, 0, 0, 0); + color: #444444; + -webkit-transition: all linear 0.2s; + transition: all linear 0.2s; + /* 1 */ + border-radius: 0; +} +/* + * Needed to reset iOS `input[type="search"]` appearance + * Higher specificity to override appearance set by normalize.less + */ +input.uk-search-field { + -webkit-appearance: none; +} +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { + color: #999999; +} +.uk-search-field::-moz-placeholder { + color: #999999; +} +.uk-search-field::-webkit-input-placeholder { + color: #999999; +} +/* Removes cancel button in IE10 */ +.uk-search-field::-ms-clear { + display: none; +} +/* Focus */ +.uk-search-field:focus { + outline: 0; +} +/* Focus + active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { + width: 180px; +} +/* Sub-object `uk-search-close` + ========================================================================== */ +/* + * 1. Required for `button` elements + * 2. Needed for Safari + */ +.uk-search-close { + display: none; + position: absolute; + top: 0; + right: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); + /* 1. */ + padding: 0; + border: 0; + -webkit-appearance: none; + /* 2. */ + background: transparent; +} +.uk-loading > .uk-search-close, +.uk-active > .uk-search-close { + display: block; +} +/* + * Icon + */ +.uk-search-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} +/* Loading icon */ +.uk-loading > .uk-search-close:after { + content: "\f110"; + -webkit-animation: uk-spin 2s infinite linear; + animation: uk-spin 2s infinite linear; +} +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ +.uk-dropdown-search { + width: 300px; + margin-top: 0; + background: #f5f5f5; + color: #444444; +} +.uk-open > .uk-dropdown-search { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* + * Dependency `uk-navbar-flip` + */ +.uk-navbar-flip .uk-dropdown-search { + margin-top: 5px; + margin-right: -15px; +} +/* Nav modifier `uk-nav-search` + ========================================================================== */ +/* + * Items + */ +.uk-nav-search > li > a { + color: #444444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-search > li.uk-active > a { + background: #00a8e6; + color: #ffffff; + /* 1 */ + outline: none; +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-search .uk-nav-header { + color: #999999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-search .uk-nav-divider { + border-top: 1px solid #dddddd; +} +/* + * Nested items + */ +.uk-nav-search ul a { + color: #0077dd; +} +.uk-nav-search ul a:hover { + color: #005599; +} +/* Search in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-search { + display: block; + margin: 20px 15px; +} +.uk-offcanvas .uk-search:before { + color: #777777; +} +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: rgba(0, 0, 0, 0); + background: #1a1a1a; + color: #cccccc; +} +.uk-offcanvas .uk-search-field:-ms-input-placeholder { + color: #777777; +} +.uk-offcanvas .uk-search-field::-moz-placeholder { + color: #777777; +} +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { + color: #777777; +} +/* ======================================================================== + Component: Sortable + ========================================================================== */ +.uk-sortable { + position: relative; +} +/* + * Makes text unselectable + */ +.uk-sortable > * { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* + * Prevents images and links from being dragged (default browser behavior) + * Currently only works in Webkit + */ +.uk-sortable > * * { + -webkit-user-drag: none; + user-drag: none; +} +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ +.uk-sortable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; +} +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ +.uk-sortable-placeholder { + opacity: 0; +} +/* Sub-modifier `uk-sortable-over` + * Only if `warp:true` + ========================================================================== */ +.uk-sortable-over { + opacity: 0.3; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-sortable-moving, +.uk-sortable-moving * { + cursor: move; +} +/* ======================================================================== + Component: Sticky + ========================================================================== */ +.uk-sticky { + z-index: 980; +} +/* ======================================================================== + Component: Upload + ========================================================================== */ +/* + * Create a box-shadow when dragging a file over the upload area + */ +.uk-dragover { + box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.addons.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.addons.min.css new file mode 100644 index 0000000000..fc24fd2be1 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.addons.min.css @@ -0,0 +1,3 @@ +/*! UIkit 2.8.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ + +.uk-dotnav{padding:0;list-style:none;font-size:0}.uk-dotnav>li{display:inline-block;font-size:1rem;vertical-align:top}.uk-dotnav>li:nth-child(n+2){margin-left:15px}.uk-dotnav>li>a{display:inline-block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);vertical-align:top;overflow:hidden;text-indent:-999%}.uk-dotnav>li>a:hover,.uk-dotnav>li>a:focus{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>li>a:active{background:rgba(50,50,50,.6)}.uk-dotnav>li.uk-active>a{background:rgba(50,50,50,.4)}.uk-dotnav-vertical>li{display:block}.uk-dotnav-vertical>li:nth-child(n+2){margin-left:0;margin-top:15px}.uk-slidenav{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:hover,.uk-slidenav:focus{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%;position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-form input[type=radio],.uk-form input[type=checkbox]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type=radio]{border-radius:50%}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=radio]:checked:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=radio]:disabled,.uk-form input[type=checkbox]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before{color:#aaa}.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}.uk-form-password{position:relative;display:inline-block;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important}.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none}.uk-placeholder{margin-bottom:15px;padding:20px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px}.uk-autocomplete{display:inline-block;vertical-align:middle;position:relative}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:0}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}.uk-datepicker{width:auto}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:before,.uk-datepicker-nav:after{content:" ";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-previous:after,.uk-datepicker-next:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table th,.uk-datepicker-table td{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:hover,.uk-datepicker-table a:focus{background-color:#ddd;color:#444;outline:0}.uk-datepicker-table a:active{background-color:#ccc;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff}.uk-htmleditor-navbar{background:#eee}.uk-htmleditor-navbar:before,.uk-htmleditor-navbar:after{content:" ";display:table}.uk-htmleditor-navbar:after{clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-htmleditor-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}.uk-htmleditor-content:before,.uk-htmleditor-content:after{content:" ";display:table}.uk-htmleditor-content:after{clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:40px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{-moz-box-sizing:border-box;box-sizing:border-box}.uk-htmleditor-preview{padding:20px;overflow-y:scroll}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor .CodeMirror{padding:10px;-moz-box-sizing:border-box;box-sizing:border-box}.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-list-dragged{position:absolute;z-index:1050;padding-left:0;pointer-events:none}.uk-nestable-item{margin-bottom:10px;padding:5px;background:#f5f5f5}.uk-nestable-placeholder{-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:10px;border:1px dashed #ddd}.uk-nestable-empty{min-height:40px}.uk-nestable-handle{display:inline-block;font-size:18px;color:#ddd}.uk-nestable-handle:hover{cursor:move}.uk-nestable-handle:after{content:"\f0c9";font-family:FontAwesome}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{display:inline-block;color:#999;visibility:hidden}[data-nestable-action=toggle]:hover{color:#444;cursor:pointer}[data-nestable-action=toggle]:after{content:"\f147";font-family:FontAwesome}.uk-parent>.uk-nestable-item [data-nestable-action=toggle]{visibility:visible}.uk-collapsed>.uk-nestable-item [data-nestable-action=toggle]:after{content:"\f196"}.uk-collapsed .uk-nestable-list{display:none}.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;-moz-box-sizing:border-box;box-sizing:border-box;width:350px}.uk-notify-top-right,.uk-notify-bottom-right{left:auto;right:10px}.uk-notify-top-center,.uk-notify-bottom-center{left:50%;margin-left:-175px}.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-bottom-center{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091}.uk-notify-message-success{background:#f2fae3;color:#659f13}.uk-notify-message-warning{background:#fffceb;color:#e28327}.uk-notify-message-danger{background:#fff1f0;color:#d85030}.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field{width:120px;height:30px;padding:0 30px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:#444;-webkit-transition:all linear .2s;transition:all linear .2s;border-radius:0}input.uk-search-field{-webkit-appearance:none}.uk-search-field:-ms-input-placeholder{color:#999}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field::-ms-clear{display:none}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-search-close{display:none;position:absolute;top:0;right:0;width:30px;line-height:30px;text-align:center;font-size:14px;color:rgba(0,0,0,.2);padding:0;border:0;-webkit-appearance:none;background:0 0}.uk-loading>.uk-search-close,.uk-active>.uk-search-close{display:block}.uk-search-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-loading>.uk-search-close:after{content:"\f110";-webkit-animation:uk-spin 2s infinite linear;animation:uk-spin 2s infinite linear}.uk-dropdown-search{width:300px;margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:5px;margin-right:-15px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:0}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07d}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:rgba(0,0,0,0);background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777}.uk-sortable{position:relative}.uk-sortable>*{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-sortable>* *{-webkit-user-drag:none;user-drag:none}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-over{opacity:.3}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}.uk-sticky{z-index:980}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.almost-flat.addons.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.almost-flat.addons.css new file mode 100644 index 0000000000..bf2a2da8bf --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.almost-flat.addons.css @@ -0,0 +1,1205 @@ +/*! UIkit 2.8.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ + +/* ======================================================================== + Component: Dotnav + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ +.uk-dotnav { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; +} +/* Items + ========================================================================== */ +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ +.uk-dotnav > li { + display: inline-block; + /* 1 */ + font-size: 1rem; + /* 2 */ + vertical-align: top; +} +.uk-dotnav > li:nth-child(n+2) { + margin-left: 15px; +} +/* + * Items + * 1. Remove the gap at the bottom of it container + * 2. Hide text if present + */ +.uk-dotnav > li > a { + display: inline-block; + -moz-box-sizing: content-box; + box-sizing: content-box; + width: 20px; + height: 20px; + border-radius: 50%; + background: rgba(50, 50, 50, 0.1); + /* 1 */ + vertical-align: top; + /* 2 */ + overflow: hidden; + text-indent: -999%; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-dotnav > li > a:hover, +.uk-dotnav > li > a:focus { + background: rgba(50, 50, 50, 0.4); + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-dotnav > li > a:active { + background: rgba(50, 50, 50, 0.6); +} +/* Active */ +.uk-dotnav > li.uk-active > a { + background: rgba(50, 50, 50, 0.4); + -webkit-transform: scale(1.3); + transform: scale(1.3); +} +/* Modifier: 'dotnav-vertical' + ========================================================================== */ +.uk-dotnav-vertical > li { + display: block; +} +.uk-dotnav-vertical > li:nth-child(n+2) { + margin-left: 0; + margin-top: 15px; +} +/* ======================================================================== + Component: Slidenav + ========================================================================== */ +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 60px; + height: 60px; + /* 3 */ + line-height: 60px; + color: rgba(50, 50, 50, 0.4); + font-size: 60px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ +.uk-slidenav:hover, +.uk-slidenav:focus { + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: rgba(50, 50, 50, 0.7); + cursor: pointer; +} +/* Active */ +.uk-slidenav:active { + color: rgba(50, 50, 50, 0.9); +} +/* + * Icons + */ +.uk-slidenav-previous:before { + content: "\f104"; + font-family: FontAwesome; +} +.uk-slidenav-next:before { + content: "\f105"; + font-family: FontAwesome; +} +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Corrects max-width behavior (3.) if padding and border are used + * 3. Responsive behavior + * 4. Create position context for dropdowns + */ +.uk-slidenav-position { + /* 1 */ + display: inline-block; + /* 2 */ + -moz-box-sizing: border-box; + box-sizing: border-box; + /* 3 */ + max-width: 100%; + /* 4 */ + position: relative; +} +/* + * Center vertically + */ +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + margin-top: -30px; +} +.uk-slidenav-position:hover .uk-slidenav { + display: block; +} +.uk-slidenav-position .uk-slidenav-previous { + left: 20px; +} +.uk-slidenav-position .uk-slidenav-next { + right: 20px; +} +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: 14px; + width: 14px; + border: 1px solid #aaaaaa; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: -4px; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: transparent; +} +/* Radio */ +.uk-form input[type="radio"] { + border-radius: 50%; +} +/* + * Checked + */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=radio]:checked:before { + display: block; +} +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: 8px; + height: 8px; + margin: 2px auto 0; + border-radius: 50%; + background: #00a8e6; +} +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before { + content: "\f00c"; + font-family: FontAwesome; + font-size: 12px; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: 12px; + color: #00a8e6; +} +/* + * Disabled + */ +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: #dddddd; +} +.uk-form input[type=radio]:disabled:checked:before { + background-color: #aaaaaa; +} +.uk-form input[type=checkbox]:disabled:checked:before { + color: #aaaaaa; +} +/* ======================================================================== + Component: Form file + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} +/* ======================================================================== + Component: Form password + ========================================================================== */ +.uk-form-password { + position: relative; + display: inline-block; + max-width: 100%; +} +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -6px; + font-size: 13px; + line-height: 13px; + color: #999999; +} +.uk-form-password-toggle:hover { + color: #999999; + text-decoration: none; +} +.uk-form-password > input { + padding-right: 50px !important; +} +/* ======================================================================== + Component: Form select + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} +/* ======================================================================== + Component: Placeholder + ========================================================================== */ +.uk-placeholder { + margin-bottom: 15px; + padding: 20px; + border: 1px dashed #dddddd; + background: #fafafa; + color: #444444; +} +/* + * Add margin if adjacent element + */ +* + .uk-placeholder { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-placeholder > :last-child { + margin-bottom: 0; +} +/* Modifier: `uk-placeholder-large` + ========================================================================== */ +.uk-placeholder-large { + padding-top: 80px; + padding-bottom: 80px; +} +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + */ +.uk-autocomplete { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ +/* + * Items + */ +.uk-nav-autocomplete > li > a { + color: #444444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-autocomplete > li.uk-active > a { + background: #00a8e6; + color: #ffffff; + /* 1 */ + outline: none; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-autocomplete .uk-nav-header { + color: #999999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-autocomplete .uk-nav-divider { + border-top: 1px solid #dddddd; +} +/* ======================================================================== + Component: Datepicker + ========================================================================== */ +/* + * Reset dropdown width + */ +.uk-datepicker { + width: auto; +} +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ +.uk-datepicker-nav { + margin-bottom: 15px; + text-align: center; + line-height: 20px; +} +/* + * Micro clearfix + */ +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: " "; + display: table; +} +.uk-datepicker-nav:after { + clear: both; +} +/* + * Previous and next navigation + */ +.uk-datepicker-nav a { + color: #444444; + text-decoration: none; +} +.uk-datepicker-nav a:hover { + color: #444444; +} +.uk-datepicker-previous { + float: left; +} +.uk-datepicker-next { + float: right; +} +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: 20px; + font-family: FontAwesome; +} +.uk-datepicker-previous:after { + content: "\f053"; +} +.uk-datepicker-next:after { + content: "\f054"; +} +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ +/* Sub-object: `uk-datepicker-table` +========================================================================== */ +/* Block element behavior */ +.uk-datepicker-table { + width: 100%; +} +.uk-datepicker-table th, +.uk-datepicker-table td { + padding: 2px; +} +.uk-datepicker-table th { + font-size: 12px; +} +/* + * Item + */ +.uk-datepicker-table a { + display: block; + width: 26px; + line-height: 24px; + text-align: center; + color: #444444; + text-decoration: none; + border: 1px solid transparent; + border-radius: 4px; +} +/* + * Sub-object: `uk-datepicker-table-muted` + */ +a.uk-datepicker-table-muted { + color: #999999; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { + background-color: #fafafa; + color: #444444; + /* 2 */ + outline: none; + border-color: rgba(0, 0, 0, 0.16); + text-shadow: 0 1px 0 #ffffff; +} +/* OnClick */ +.uk-datepicker-table a:active { + background-color: #eeeeee; + color: #444444; +} +/* + * Active + */ +.uk-datepicker-table a.uk-active { + background: #00a8e6; + color: #ffffff; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* ======================================================================== + Component: HTML editor + ========================================================================== */ +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ +.uk-htmleditor-navbar { + background: #f5f5f5; + border: 1px solid rgba(0, 0, 0, 0.06); + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +/* + * Micro clearfix + */ +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: " "; + display: table; +} +.uk-htmleditor-navbar:after { + clear: both; +} +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +.uk-htmleditor-navbar-nav > li { + float: left; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-htmleditor-navbar-nav > li > a { + display: block; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 41px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444444; + font-size: 11px; + cursor: pointer; + margin-top: -1px; + margin-left: -1px; + border: 1px solid transparent; + border-bottom-width: 0; + text-shadow: 0 1px 0 #ffffff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { + background-color: #fafafa; + color: #444444; + outline: none; + /* 2 */ + position: relative; + z-index: 1; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); +} +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: #eeeeee; + color: #444444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); +} +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: #fafafa; + color: #444444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); +} +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ +.uk-htmleditor-navbar-flip { + float: right; +} +/* Sub-object for special buttons + ========================================================================== */ +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { + display: none; +} +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ +.uk-htmleditor-content { + border-left: 1px solid #dddddd; + border-right: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; + background: #ffffff; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} +/* + * Micro clearfix + */ +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: " "; + display: table; +} +.uk-htmleditor-content:after { + clear: both; +} +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 990; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: 41px; + left: 0; + right: 0; + bottom: 0; +} +.uk-htmleditor-fullscreen .uk-icon-expand:before { + content: "\f066"; +} +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ +.uk-htmleditor-code, +.uk-htmleditor-preview { + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.uk-htmleditor-preview { + padding: 20px; + overflow-y: scroll; +} +/* + * Tab view + */ +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { + display: none; +} +/* + * Split view + */ +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} +[data-mode='split'] .uk-htmleditor-code { + border-right: 1px solid #eeeeee; +} +/* CodeMirror modifications + ========================================================================== */ +.uk-htmleditor .CodeMirror { + padding: 10px; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +/* + * Apply same `border-radius` as `uk-htmleditor-navbar` + */ +.uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-navbar-flip` + */ +/* Collapse border */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav > li > a { + margin-left: 0; + margin-right: -1px; +} +/* Apply same `border-radius` as `uk-htmleditor-navbar` */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 0; +} +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child > li:last-child > a { + border-top-right-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-fullscreen` + */ +.uk-htmleditor-fullscreen .uk-htmleditor-navbar { + border-top: none; + border-left: none; + border-right: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + border: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav > li > a { + border-radius: 0 !important; +} +/* ======================================================================== + Component: Nestable + ========================================================================== */ +.uk-nestable { + padding: 0; + list-style: none; +} +/* Sub-object `uk-nestable-list` + ========================================================================== */ +.uk-nestable-list { + margin: 0; + padding-left: 40px; + list-style: none; +} +/* Sub-modifier `uk-nestable-list-dragged` + ========================================================================== */ +.uk-nestable-list-dragged { + position: absolute; + z-index: 1050; + padding-left: 0; + pointer-events: none; +} +/* Sub-object `uk-nestable-item` + ========================================================================== */ +.uk-nestable-item { + margin-bottom: 10px; + padding: 5px; + background: #f5f5f5; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.06); + text-shadow: 0 1px 0 #ffffff; +} +/* Sub-object `uk-nestable-placeholder` + * The placeholder which marks the drop area + ========================================================================== */ +.uk-nestable-placeholder { + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 10px; + border: 1px dashed #dddddd; +} +/* Sub-object `uk-nestable-empty` + * The style of an empty list + ========================================================================== */ +.uk-nestable-empty { + min-height: 40px; +} +/* Sub-object `uk-nestable-handle` + ========================================================================== */ +.uk-nestable-handle { + display: inline-block; + font-size: 18px; + color: #dddddd; +} +/* Hover */ +.uk-nestable-handle:hover { + cursor: move; +} +/* Icon */ +.uk-nestable-handle:after { + content: "\f0c9"; + font-family: FontAwesome; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-nestable-moving, +.uk-nestable-moving * { + cursor: move; +} +/* Sub-object `[data-action='toggle']` + ========================================================================== */ +/* Hidden by default */ +[data-nestable-action='toggle'] { + display: inline-block; + color: #999999; + visibility: hidden; +} +/* Hover */ +[data-nestable-action='toggle']:hover { + color: #444444; + cursor: pointer; +} +/* Icon */ +[data-nestable-action='toggle']:after { + content: "\f147"; + font-family: FontAwesome; +} +/* + * Show if nested + */ +.uk-parent > .uk-nestable-item [data-nestable-action='toggle'] { + visibility: visible; +} +/* + * Collapsed + */ +.uk-collapsed > .uk-nestable-item [data-nestable-action='toggle']:after { + content: "\f196"; +} +.uk-collapsed .uk-nestable-list { + display: none; +} +/* ======================================================================== + Component: Notify + ========================================================================== */ +/* + * Message container for positioning + */ +.uk-notify { + position: fixed; + top: 10px; + left: 10px; + z-index: 1040; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 350px; +} +/* Position modifiers +========================================================================== */ +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: 10px; +} +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: -175px; +} +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: 10px; +} +/* Responsiveness +========================================================================== */ +/* Phones portrait and smaller */ +@media (max-width: 479px) { + /* + * Fit in small screen + */ + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } +} +/* Sub-object: `uk-notify-message` +========================================================================== */ +.uk-notify-message { + position: relative; + margin-bottom: 10px; + padding: 15px; + background: #444444; + color: #ffffff; + font-size: 16px; + line-height: 22px; + cursor: pointer; + border: 1px solid #444444; + border-radius: 4px; +} +/* Close in notify + ========================================================================== */ +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} +.uk-notify-message:hover > .uk-close { + visibility: visible; +} +/* Modifier: `uk-alert-info` + ========================================================================== */ +.uk-notify-message-primary { + background: #ebf7fd; + color: #2d7091; + border-color: rgba(45, 112, 145, 0.3); +} +/* Modifier: `uk-alert-success` + ========================================================================== */ +.uk-notify-message-success { + background: #f2fae3; + color: #659f13; + border-color: rgba(101, 159, 19, 0.3); +} +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ +.uk-notify-message-warning { + background: #fffceb; + color: #e28327; + border-color: rgba(226, 131, 39, 0.3); +} +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ +.uk-notify-message-danger { + background: #fff1f0; + color: #d85030; + border-color: rgba(216, 80, 48, 0.3); +} +/* ======================================================================== + Component: Search + ========================================================================== */ +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; +} +/* + * Icon + */ +.uk-search:before { + content: "\f002"; + position: absolute; + top: 0; + left: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-family: FontAwesome; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); +} +/* Sub-object `uk-search-field` + ========================================================================== */ +/* + * 1. Needed to reset iOS `input[type="search"]` appearance + */ +.uk-search-field { + width: 120px; + height: 30px; + padding: 0 30px; + border: 1px solid rgba(0, 0, 0, 0); + background: rgba(0, 0, 0, 0); + color: #444444; + -webkit-transition: all linear 0.2s; + transition: all linear 0.2s; + /* 1 */ + border-radius: 0; +} +/* + * Needed to reset iOS `input[type="search"]` appearance + * Higher specificity to override appearance set by normalize.less + */ +input.uk-search-field { + -webkit-appearance: none; +} +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { + color: #999999; +} +.uk-search-field::-moz-placeholder { + color: #999999; +} +.uk-search-field::-webkit-input-placeholder { + color: #999999; +} +/* Removes cancel button in IE10 */ +.uk-search-field::-ms-clear { + display: none; +} +/* Focus */ +.uk-search-field:focus { + outline: 0; +} +/* Focus + active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { + width: 180px; +} +/* Sub-object `uk-search-close` + ========================================================================== */ +/* + * 1. Required for `button` elements + * 2. Needed for Safari + */ +.uk-search-close { + display: none; + position: absolute; + top: 0; + right: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); + /* 1. */ + padding: 0; + border: 0; + -webkit-appearance: none; + /* 2. */ + background: transparent; +} +.uk-loading > .uk-search-close, +.uk-active > .uk-search-close { + display: block; +} +/* + * Icon + */ +.uk-search-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} +/* Loading icon */ +.uk-loading > .uk-search-close:after { + content: "\f110"; + -webkit-animation: uk-spin 2s infinite linear; + animation: uk-spin 2s infinite linear; +} +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ +.uk-dropdown-search { + width: 300px; + margin-top: 0; + background: #ffffff; + color: #444444; +} +.uk-open > .uk-dropdown-search { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* + * Dependency `uk-navbar-flip` + */ +.uk-navbar-flip .uk-dropdown-search { + margin-top: 12px; + margin-right: -16px; +} +/* Nav modifier `uk-nav-search` + ========================================================================== */ +/* + * Items + */ +.uk-nav-search > li > a { + color: #444444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-search > li.uk-active > a { + background: #00a8e6; + color: #ffffff; + /* 1 */ + outline: none; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-search .uk-nav-header { + color: #999999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-search .uk-nav-divider { + border-top: 1px solid #dddddd; +} +/* + * Nested items + */ +.uk-nav-search ul a { + color: #0077dd; +} +.uk-nav-search ul a:hover { + color: #005599; +} +/* Search in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-search { + display: block; + margin: 20px 15px; +} +.uk-offcanvas .uk-search:before { + color: #777777; +} +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: rgba(0, 0, 0, 0); + background: #1a1a1a; + color: #cccccc; +} +.uk-offcanvas .uk-search-field:-ms-input-placeholder { + color: #777777; +} +.uk-offcanvas .uk-search-field::-moz-placeholder { + color: #777777; +} +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { + color: #777777; +} +/* ======================================================================== + Component: Sortable + ========================================================================== */ +.uk-sortable { + position: relative; +} +/* + * Makes text unselectable + */ +.uk-sortable > * { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* + * Prevents images and links from being dragged (default browser behavior) + * Currently only works in Webkit + */ +.uk-sortable > * * { + -webkit-user-drag: none; + user-drag: none; +} +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ +.uk-sortable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; +} +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ +.uk-sortable-placeholder { + opacity: 0; +} +/* Sub-modifier `uk-sortable-over` + * Only if `warp:true` + ========================================================================== */ +.uk-sortable-over { + opacity: 0.3; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-sortable-moving, +.uk-sortable-moving * { + cursor: move; +} +/* ======================================================================== + Component: Sticky + ========================================================================== */ +.uk-sticky { + z-index: 980; +} +/* ======================================================================== + Component: Upload + ========================================================================== */ +/* + * Create a box-shadow when dragging a file over the upload area + */ +.uk-dragover { + box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.almost-flat.addons.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.almost-flat.addons.min.css new file mode 100644 index 0000000000..8a0166d22a --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.almost-flat.addons.min.css @@ -0,0 +1,3 @@ +/*! UIkit 2.8.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ + +.uk-dotnav{padding:0;list-style:none;font-size:0}.uk-dotnav>li{display:inline-block;font-size:1rem;vertical-align:top}.uk-dotnav>li:nth-child(n+2){margin-left:15px}.uk-dotnav>li>a{display:inline-block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);vertical-align:top;overflow:hidden;text-indent:-999%;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>li>a:hover,.uk-dotnav>li>a:focus{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>li>a:active{background:rgba(50,50,50,.6)}.uk-dotnav>li.uk-active>a{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-vertical>li{display:block}.uk-dotnav-vertical>li:nth-child(n+2){margin-left:0;margin-top:15px}.uk-slidenav{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:hover,.uk-slidenav:focus{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%;position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-form input[type=radio],.uk-form input[type=checkbox]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type=radio]{border-radius:50%}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=radio]:checked:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=radio]:disabled,.uk-form input[type=checkbox]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before{color:#aaa}.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}.uk-form-password{position:relative;display:inline-block;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important}.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none}.uk-placeholder{margin-bottom:15px;padding:20px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px}.uk-autocomplete{display:inline-block;vertical-align:middle;position:relative}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}.uk-datepicker{width:auto}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:before,.uk-datepicker-nav:after{content:" ";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-previous:after,.uk-datepicker-next:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table th,.uk-datepicker-table td{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none;border:1px solid transparent;border-radius:4px}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:hover,.uk-datepicker-table a:focus{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#eee;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-htmleditor-navbar{background:#f5f5f5;border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar:before,.uk-htmleditor-navbar:after{content:" ";display:table}.uk-htmleditor-navbar:after{clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;color:#444;outline:0;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:before,.uk-htmleditor-content:after{content:" ";display:table}.uk-htmleditor-content:after{clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:41px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{-moz-box-sizing:border-box;box-sizing:border-box}.uk-htmleditor-preview{padding:20px;overflow-y:scroll}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor .CodeMirror{padding:10px;-moz-box-sizing:border-box;box-sizing:border-box}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important}.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-list-dragged{position:absolute;z-index:1050;padding-left:0;pointer-events:none}.uk-nestable-item{margin-bottom:10px;padding:5px;background:#f5f5f5;border-radius:4px;border:1px solid rgba(0,0,0,.06);text-shadow:0 1px 0 #fff}.uk-nestable-placeholder{-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:10px;border:1px dashed #ddd}.uk-nestable-empty{min-height:40px}.uk-nestable-handle{display:inline-block;font-size:18px;color:#ddd}.uk-nestable-handle:hover{cursor:move}.uk-nestable-handle:after{content:"\f0c9";font-family:FontAwesome}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{display:inline-block;color:#999;visibility:hidden}[data-nestable-action=toggle]:hover{color:#444;cursor:pointer}[data-nestable-action=toggle]:after{content:"\f147";font-family:FontAwesome}.uk-parent>.uk-nestable-item [data-nestable-action=toggle]{visibility:visible}.uk-collapsed>.uk-nestable-item [data-nestable-action=toggle]:after{content:"\f196"}.uk-collapsed .uk-nestable-list{display:none}.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;-moz-box-sizing:border-box;box-sizing:border-box;width:350px}.uk-notify-top-right,.uk-notify-bottom-right{left:auto;right:10px}.uk-notify-top-center,.uk-notify-bottom-center{left:50%;margin-left:-175px}.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-bottom-center{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer;border:1px solid #444;border-radius:4px}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)}.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field{width:120px;height:30px;padding:0 30px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:#444;-webkit-transition:all linear .2s;transition:all linear .2s;border-radius:0}input.uk-search-field{-webkit-appearance:none}.uk-search-field:-ms-input-placeholder{color:#999}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field::-ms-clear{display:none}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-search-close{display:none;position:absolute;top:0;right:0;width:30px;line-height:30px;text-align:center;font-size:14px;color:rgba(0,0,0,.2);padding:0;border:0;-webkit-appearance:none;background:0 0}.uk-loading>.uk-search-close,.uk-active>.uk-search-close{display:block}.uk-search-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-loading>.uk-search-close:after{content:"\f110";-webkit-animation:uk-spin 2s infinite linear;animation:uk-spin 2s infinite linear}.uk-dropdown-search{width:300px;margin-top:0;background:#fff;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:12px;margin-right:-16px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07d}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:rgba(0,0,0,0);background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777}.uk-sortable{position:relative}.uk-sortable>*{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-sortable>* *{-webkit-user-drag:none;user-drag:none}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-over{opacity:.3}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}.uk-sticky{z-index:980}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.gradient.addons.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.gradient.addons.css new file mode 100644 index 0000000000..f78ecc7a20 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.gradient.addons.css @@ -0,0 +1,1226 @@ +/*! UIkit 2.8.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ + +/* ======================================================================== + Component: Dotnav + ========================================================================== */ +/* + * 1. Remove default list style + * 2. Remove whitespace between child elements when using `inline-block` + */ +.uk-dotnav { + /* 1 */ + padding: 0; + list-style: none; + /* 2 */ + font-size: 0.001px; +} +/* Items + ========================================================================== */ +/* + * 1. Reset whitespace hack + * 2. Remove the gap at the bottom of it container + */ +.uk-dotnav > li { + display: inline-block; + /* 1 */ + font-size: 1rem; + /* 2 */ + vertical-align: top; +} +.uk-dotnav > li:nth-child(n+2) { + margin-left: 15px; +} +/* + * Items + * 1. Remove the gap at the bottom of it container + * 2. Hide text if present + */ +.uk-dotnav > li > a { + display: inline-block; + -moz-box-sizing: content-box; + box-sizing: content-box; + width: 20px; + height: 20px; + border-radius: 50%; + background: rgba(50, 50, 50, 0.1); + /* 1 */ + vertical-align: top; + /* 2 */ + overflow: hidden; + text-indent: -999%; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-dotnav > li > a:hover, +.uk-dotnav > li > a:focus { + background: rgba(50, 50, 50, 0.4); + /* 2 */ + outline: none; +} +/* OnClick */ +.uk-dotnav > li > a:active { + background: rgba(50, 50, 50, 0.6); +} +/* Active */ +.uk-dotnav > li.uk-active > a { + background: rgba(50, 50, 50, 0.4); + -webkit-transform: scale(1.3); + transform: scale(1.3); +} +/* Modifier: 'dotnav-vertical' + ========================================================================== */ +.uk-dotnav-vertical > li { + display: block; +} +.uk-dotnav-vertical > li:nth-child(n+2) { + margin-left: 0; + margin-top: 15px; +} +/* ======================================================================== + Component: Slidenav + ========================================================================== */ +/* + * 1. Required for `a` elements + * 2. Dimension + * 3. Style + */ +.uk-slidenav { + /* 1 */ + display: inline-block; + /* 2 */ + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 60px; + height: 60px; + /* 3 */ + line-height: 60px; + color: rgba(50, 50, 50, 0.4); + font-size: 60px; + text-align: center; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + * 3. Required for `a` elements + * 4. Style + */ +.uk-slidenav:hover, +.uk-slidenav:focus { + /* 2 */ + outline: none; + /* 3 */ + text-decoration: none; + /* 4 */ + color: rgba(50, 50, 50, 0.7); + cursor: pointer; +} +/* Active */ +.uk-slidenav:active { + color: rgba(50, 50, 50, 0.9); +} +/* + * Icons + */ +.uk-slidenav-previous:before { + content: "\f104"; + font-family: FontAwesome; +} +.uk-slidenav-next:before { + content: "\f105"; + font-family: FontAwesome; +} +/* Sub-object: `uk-slidenav-position` + ========================================================================== */ +/* + * 1. Container width fits its content + * 2. Corrects max-width behavior (3.) if padding and border are used + * 3. Responsive behavior + * 4. Create position context for dropdowns + */ +.uk-slidenav-position { + /* 1 */ + display: inline-block; + /* 2 */ + -moz-box-sizing: border-box; + box-sizing: border-box; + /* 3 */ + max-width: 100%; + /* 4 */ + position: relative; +} +/* + * Center vertically + */ +.uk-slidenav-position .uk-slidenav { + display: none; + position: absolute; + top: 50%; + margin-top: -30px; +} +.uk-slidenav-position:hover .uk-slidenav { + display: block; +} +.uk-slidenav-position .uk-slidenav-previous { + left: 20px; +} +.uk-slidenav-position .uk-slidenav-next { + right: 20px; +} +/* ======================================================================== + Component: Form advanced + Note: Only works in Webkit at the moment + ========================================================================== */ +/* + * 1. Style + * 2. Makes box more robust so it clips the child element + * 3. Vertical alignment + * 4. Remove default style + * 5. Fix black background on iOS + */ +.uk-form input[type="radio"], +.uk-form input[type="checkbox"] { + /* 1 */ + display: inline-block; + height: 14px; + width: 14px; + border: 1px solid #aaaaaa; + /* 2 */ + overflow: hidden; + /* 3 */ + margin-top: -4px; + vertical-align: middle; + /* 4 */ + -webkit-appearance: none; + outline: 0; + /* 5 */ + background: transparent; +} +/* Radio */ +.uk-form input[type="radio"] { + border-radius: 50%; +} +/* + * Checked + */ +.uk-form input[type=checkbox]:checked:before, +.uk-form input[type=radio]:checked:before { + display: block; +} +/* Radio */ +.uk-form input[type=radio]:checked:before { + content: ''; + width: 8px; + height: 8px; + margin: 2px auto 0; + border-radius: 50%; + background: #00a8e6; +} +/* Checkbox */ +.uk-form input[type=checkbox]:checked:before { + content: "\f00c"; + font-family: FontAwesome; + font-size: 12px; + -webkit-font-smoothing: antialiased; + text-align: center; + line-height: 12px; + color: #00a8e6; +} +/* + * Disabled + */ +.uk-form input[type=radio]:disabled, +.uk-form input[type=checkbox]:disabled { + border-color: #dddddd; +} +.uk-form input[type=radio]:disabled:checked:before { + background-color: #aaaaaa; +} +.uk-form input[type=checkbox]:disabled:checked:before { + color: #aaaaaa; +} +/* ======================================================================== + Component: Form file + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-file { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 2. Expand height and required for the cursor + */ +.uk-form-file input[type="file"] { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + font-size: 500px; +} +/* ======================================================================== + Component: Form password + ========================================================================== */ +.uk-form-password { + position: relative; + display: inline-block; + max-width: 100%; +} +.uk-form-password-toggle { + display: block; + position: absolute; + top: 50%; + right: 10px; + margin-top: -6px; + font-size: 13px; + line-height: 13px; + color: #999999; +} +.uk-form-password-toggle:hover { + color: #999999; + text-decoration: none; +} +.uk-form-password > input { + padding-right: 50px !important; +} +/* ======================================================================== + Component: Form select + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + * 3. Clip content + */ +.uk-form-select { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; + /* 3 */ + overflow: hidden; +} +/* + * 1. Required for Firefox + * 1. Required for Webkit to make `height` work + */ +.uk-form-select select { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + /* 1 */ + left: 0; + /* 2 */ + -webkit-appearance: none; +} +/* ======================================================================== + Component: Placeholder + ========================================================================== */ +.uk-placeholder { + margin-bottom: 15px; + padding: 20px; + border: 1px dashed #dddddd; + background: #fafafa; + color: #444444; +} +/* + * Add margin if adjacent element + */ +* + .uk-placeholder { + margin-top: 15px; +} +/* + * Remove margin from the last-child + */ +.uk-placeholder > :last-child { + margin-bottom: 0; +} +/* Modifier: `uk-placeholder-large` + ========================================================================== */ +.uk-placeholder-large { + padding-top: 80px; + padding-bottom: 80px; +} +/* ======================================================================== + Component: Autocomplete + ========================================================================== */ +/* + * 1. Behave like form elements + * 2. Create position context for dropdowns + */ +.uk-autocomplete { + /* 1 */ + display: inline-block; + vertical-align: middle; + /* 2 */ + position: relative; +} +/* Nav modifier `uk-nav-autocomplete` + ========================================================================== */ +/* + * Items + */ +.uk-nav-autocomplete > li > a { + color: #444444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-autocomplete > li.uk-active > a { + background: #009dd8; + color: #ffffff; + /* 1 */ + outline: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-autocomplete .uk-nav-header { + color: #999999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-autocomplete .uk-nav-divider { + border-top: 1px solid #dddddd; +} +/* ======================================================================== + Component: Datepicker + ========================================================================== */ +/* + * Reset dropdown width + */ +.uk-datepicker { + width: auto; +} +/* Sub-object: `uk-datepicker-nav` +========================================================================== */ +.uk-datepicker-nav { + margin-bottom: 15px; + text-align: center; + line-height: 20px; +} +/* + * Micro clearfix + */ +.uk-datepicker-nav:before, +.uk-datepicker-nav:after { + content: " "; + display: table; +} +.uk-datepicker-nav:after { + clear: both; +} +/* + * Previous and next navigation + */ +.uk-datepicker-nav a { + color: #444444; + text-decoration: none; +} +.uk-datepicker-nav a:hover { + color: #444444; +} +.uk-datepicker-previous { + float: left; +} +.uk-datepicker-next { + float: right; +} +.uk-datepicker-previous:after, +.uk-datepicker-next:after { + width: 20px; + font-family: FontAwesome; +} +.uk-datepicker-previous:after { + content: "\f053"; +} +.uk-datepicker-next:after { + content: "\f054"; +} +/* Sub-object: `uk-datepicker-heading` +========================================================================== */ +/* Sub-object: `uk-datepicker-table` +========================================================================== */ +/* Block element behavior */ +.uk-datepicker-table { + width: 100%; +} +.uk-datepicker-table th, +.uk-datepicker-table td { + padding: 2px; +} +.uk-datepicker-table th { + font-size: 12px; +} +/* + * Item + */ +.uk-datepicker-table a { + display: block; + width: 26px; + line-height: 24px; + text-align: center; + color: #444444; + text-decoration: none; + border: 1px solid transparent; + border-radius: 4px; + background-origin: border-box; +} +/* + * Sub-object: `uk-datepicker-table-muted` + */ +a.uk-datepicker-table-muted { + color: #999999; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-datepicker-table a:hover, +.uk-datepicker-table a:focus { + background-color: #fafafa; + color: #444444; + /* 2 */ + outline: none; + border-color: rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.3); + text-shadow: 0 1px 0 #ffffff; +} +/* OnClick */ +.uk-datepicker-table a:active { + background-color: #f5f5f5; + color: #444444; + border-color: rgba(0, 0, 0, 0.2); + border-top-color: rgba(0, 0, 0, 0.3); + background-image: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* + * Active + */ +.uk-datepicker-table a.uk-active { + background: #009dd8; + color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.4); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5); + background-image: linear-gradient(to bottom, #00b4f5, #008dc5); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* ======================================================================== + Component: HTML editor + ========================================================================== */ +/* Sub-object `uk-htmleditor-navbar` + ========================================================================== */ +.uk-htmleditor-navbar { + background: #f7f7f7; + border: 1px solid rgba(0, 0, 0, 0.1); + border-bottom-color: rgba(0, 0, 0, 0.2); + border-top-left-radius: 4px; + border-top-right-radius: 4px; + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee); + background-image: linear-gradient(to bottom, #ffffff, #eeeeee); +} +/* + * Micro clearfix + */ +.uk-htmleditor-navbar:before, +.uk-htmleditor-navbar:after { + content: " "; + display: table; +} +.uk-htmleditor-navbar:after { + clear: both; +} +/* Sub-object `uk-htmleditor-navbar-nav` + ========================================================================== */ +.uk-htmleditor-navbar-nav { + margin: 0; + padding: 0; + list-style: none; + float: left; +} +.uk-htmleditor-navbar-nav > li { + float: left; +} +/* + * 1. Dimensions + * 2. Style + */ +.uk-htmleditor-navbar-nav > li > a { + display: block; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-decoration: none; + /* 1 */ + height: 41px; + padding: 0 15px; + line-height: 40px; + /* 2 */ + color: #444444; + font-size: 11px; + cursor: pointer; + margin-top: -1px; + margin-left: -1px; + border: 1px solid transparent; + border-bottom-width: 0; + text-shadow: 0 1px 0 #ffffff; +} +/* + * Hover + * 1. Apply hover style also to focus state + * 2. Remove default focus style + */ +.uk-htmleditor-navbar-nav > li:hover > a, +.uk-htmleditor-navbar-nav > li > a:focus { + background-color: transparent; + color: #444444; + outline: none; + /* 2 */ + position: relative; + z-index: 1; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.1); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* OnClick */ +.uk-htmleditor-navbar-nav > li > a:active { + background-color: #f5f5f5; + color: #444444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Active */ +.uk-htmleditor-navbar-nav > li.uk-active > a { + background-color: #fafafa; + color: #444444; + border-left-color: rgba(0, 0, 0, 0.1); + border-right-color: rgba(0, 0, 0, 0.1); + border-top-color: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); +} +/* Sub-object: `uk-htmleditor-navbar-flip` + ========================================================================== */ +.uk-htmleditor-navbar-flip { + float: right; +} +/* Sub-object for special buttons + ========================================================================== */ +[data-mode='split'] .uk-htmleditor-button-code, +[data-mode='split'] .uk-htmleditor-button-preview { + display: none; +} +/* Sub-object `uk-htmleditor-content` + ========================================================================== */ +.uk-htmleditor-content { + border-left: 1px solid #dddddd; + border-right: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; + background: #ffffff; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} +/* + * Micro clearfix + */ +.uk-htmleditor-content:before, +.uk-htmleditor-content:after { + content: " "; + display: table; +} +.uk-htmleditor-content:after { + clear: both; +} +/* Modifier `uk-htmleditor-fullscreen` + ========================================================================== */ +.uk-htmleditor-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 990; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + position: absolute; + top: 41px; + left: 0; + right: 0; + bottom: 0; +} +.uk-htmleditor-fullscreen .uk-icon-expand:before { + content: "\f066"; +} +/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview` + ========================================================================== */ +.uk-htmleditor-code, +.uk-htmleditor-preview { + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.uk-htmleditor-preview { + padding: 20px; + overflow-y: scroll; +} +/* + * Tab view + */ +[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview, +[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code { + display: none; +} +/* + * Split view + */ +[data-mode='split'] .uk-htmleditor-code, +[data-mode='split'] .uk-htmleditor-preview { + float: left; + width: 50%; +} +[data-mode='split'] .uk-htmleditor-code { + border-right: 1px solid #eeeeee; +} +/* CodeMirror modifications + ========================================================================== */ +.uk-htmleditor .CodeMirror { + padding: 10px; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +/* + * Apply same `border-radius` as `uk-htmleditor-navbar` + */ +.uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-navbar-flip` + */ +/* Collapse border */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav > li > a { + margin-left: 0; + margin-right: -1px; +} +/* Apply same `border-radius` as `uk-htmleditor-navbar` */ +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child > li:first-child > a { + border-top-left-radius: 0; +} +.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child > li:last-child > a { + border-top-right-radius: 4px; +} +/* + * Sub-modifier `uk-htmleditor-fullscreen` + */ +.uk-htmleditor-fullscreen .uk-htmleditor-navbar { + border-top: none; + border-left: none; + border-right: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-content { + border: none; + border-radius: 0; +} +.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav > li > a { + border-radius: 0 !important; +} +/* ======================================================================== + Component: Nestable + ========================================================================== */ +.uk-nestable { + padding: 0; + list-style: none; +} +/* Sub-object `uk-nestable-list` + ========================================================================== */ +.uk-nestable-list { + margin: 0; + padding-left: 40px; + list-style: none; +} +/* Sub-modifier `uk-nestable-list-dragged` + ========================================================================== */ +.uk-nestable-list-dragged { + position: absolute; + z-index: 1050; + padding-left: 0; + pointer-events: none; +} +/* Sub-object `uk-nestable-item` + ========================================================================== */ +.uk-nestable-item { + margin-bottom: 10px; + padding: 5px; + background: #f7f7f7; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.2); + border-bottom-color: rgba(0, 0, 0, 0.3); + background-origin: border-box; + background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee); + background-image: linear-gradient(to bottom, #ffffff, #eeeeee); + text-shadow: 0 1px 0 #ffffff; +} +/* Sub-object `uk-nestable-placeholder` + * The placeholder which marks the drop area + ========================================================================== */ +.uk-nestable-placeholder { + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 10px; + border: 1px dashed #dddddd; +} +/* Sub-object `uk-nestable-empty` + * The style of an empty list + ========================================================================== */ +.uk-nestable-empty { + min-height: 40px; +} +/* Sub-object `uk-nestable-handle` + ========================================================================== */ +.uk-nestable-handle { + display: inline-block; + font-size: 18px; + color: #dddddd; +} +/* Hover */ +.uk-nestable-handle:hover { + cursor: move; +} +/* Icon */ +.uk-nestable-handle:after { + content: "\f0c9"; + font-family: FontAwesome; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-nestable-moving, +.uk-nestable-moving * { + cursor: move; +} +/* Sub-object `[data-action='toggle']` + ========================================================================== */ +/* Hidden by default */ +[data-nestable-action='toggle'] { + display: inline-block; + color: #999999; + visibility: hidden; +} +/* Hover */ +[data-nestable-action='toggle']:hover { + color: #444444; + cursor: pointer; +} +/* Icon */ +[data-nestable-action='toggle']:after { + content: "\f147"; + font-family: FontAwesome; +} +/* + * Show if nested + */ +.uk-parent > .uk-nestable-item [data-nestable-action='toggle'] { + visibility: visible; +} +/* + * Collapsed + */ +.uk-collapsed > .uk-nestable-item [data-nestable-action='toggle']:after { + content: "\f196"; +} +.uk-collapsed .uk-nestable-list { + display: none; +} +/* ======================================================================== + Component: Notify + ========================================================================== */ +/* + * Message container for positioning + */ +.uk-notify { + position: fixed; + top: 10px; + left: 10px; + z-index: 1040; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 350px; +} +/* Position modifiers +========================================================================== */ +.uk-notify-top-right, +.uk-notify-bottom-right { + left: auto; + right: 10px; +} +.uk-notify-top-center, +.uk-notify-bottom-center { + left: 50%; + margin-left: -175px; +} +.uk-notify-bottom-left, +.uk-notify-bottom-right, +.uk-notify-bottom-center { + top: auto; + bottom: 10px; +} +/* Responsiveness +========================================================================== */ +/* Phones portrait and smaller */ +@media (max-width: 479px) { + /* + * Fit in small screen + */ + .uk-notify { + left: 10px; + right: 10px; + width: auto; + margin: 0; + } +} +/* Sub-object: `uk-notify-message` +========================================================================== */ +.uk-notify-message { + position: relative; + margin-bottom: 10px; + padding: 15px; + background: #444444; + color: #ffffff; + font-size: 16px; + line-height: 22px; + cursor: pointer; + border: 1px solid #444444; + border-radius: 4px; +} +/* Close in notify + ========================================================================== */ +.uk-notify-message > .uk-close { + visibility: hidden; + float: right; +} +.uk-notify-message:hover > .uk-close { + visibility: visible; +} +/* Modifier: `uk-alert-info` + ========================================================================== */ +.uk-notify-message-primary { + background: #ebf7fd; + color: #2d7091; + border-color: rgba(45, 112, 145, 0.3); +} +/* Modifier: `uk-alert-success` + ========================================================================== */ +.uk-notify-message-success { + background: #f2fae3; + color: #659f13; + border-color: rgba(101, 159, 19, 0.3); +} +/* Modifier: `uk-notify-message-warning` + ========================================================================== */ +.uk-notify-message-warning { + background: #fffceb; + color: #e28327; + border-color: rgba(226, 131, 39, 0.3); +} +/* Modifier: `uk-notify-message-danger` + ========================================================================== */ +.uk-notify-message-danger { + background: #fff1f0; + color: #d85030; + border-color: rgba(216, 80, 48, 0.3); +} +/* ======================================================================== + Component: Search + ========================================================================== */ +/* + * 1. Create position context for dropdowns + * 2. Needed for `form` element + */ +.uk-search { + display: inline-block; + /* 1 */ + position: relative; + /* 2 */ + margin: 0; +} +/* + * Icon + */ +.uk-search:before { + content: "\f002"; + position: absolute; + top: 0; + left: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-family: FontAwesome; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); +} +/* Sub-object `uk-search-field` + ========================================================================== */ +/* + * 1. Needed to reset iOS `input[type="search"]` appearance + */ +.uk-search-field { + width: 120px; + height: 30px; + padding: 0 30px; + border: 1px solid rgba(0, 0, 0, 0); + background: rgba(0, 0, 0, 0); + color: #444444; + -webkit-transition: all linear 0.2s; + transition: all linear 0.2s; + /* 1 */ + border-radius: 0; +} +/* + * Needed to reset iOS `input[type="search"]` appearance + * Higher specificity to override appearance set by normalize.less + */ +input.uk-search-field { + -webkit-appearance: none; +} +/* Placeholder */ +.uk-search-field:-ms-input-placeholder { + color: #999999; +} +.uk-search-field::-moz-placeholder { + color: #999999; +} +.uk-search-field::-webkit-input-placeholder { + color: #999999; +} +/* Removes cancel button in IE10 */ +.uk-search-field::-ms-clear { + display: none; +} +/* Focus */ +.uk-search-field:focus { + outline: 0; +} +/* Focus + active */ +.uk-search-field:focus, +.uk-search.uk-active .uk-search-field { + width: 180px; +} +/* Sub-object `uk-search-close` + ========================================================================== */ +/* + * 1. Required for `button` elements + * 2. Needed for Safari + */ +.uk-search-close { + display: none; + position: absolute; + top: 0; + right: 0; + width: 30px; + line-height: 30px; + text-align: center; + font-size: 14px; + color: rgba(0, 0, 0, 0.2); + /* 1. */ + padding: 0; + border: 0; + -webkit-appearance: none; + /* 2. */ + background: transparent; +} +.uk-loading > .uk-search-close, +.uk-active > .uk-search-close { + display: block; +} +/* + * Icon + */ +.uk-search-close:after { + display: block; + content: "\f00d"; + font-family: FontAwesome; +} +/* Loading icon */ +.uk-loading > .uk-search-close:after { + content: "\f110"; + -webkit-animation: uk-spin 2s infinite linear; + animation: uk-spin 2s infinite linear; +} +/* Dropdown modifier: `uk-dropdown-search` + ========================================================================== */ +.uk-dropdown-search { + width: 300px; + margin-top: 0; + background: #ffffff; + color: #444444; +} +.uk-open > .uk-dropdown-search { + -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out; + animation: uk-slide-top-fixed 0.2s ease-in-out; +} +/* + * Dependency `uk-navbar-flip` + */ +.uk-navbar-flip .uk-dropdown-search { + margin-top: 12px; + margin-right: -16px; +} +/* Nav modifier `uk-nav-search` + ========================================================================== */ +/* + * Items + */ +.uk-nav-search > li > a { + color: #444444; +} +/* + * Active + * 1. Remove default focus style + */ +.uk-nav-search > li.uk-active > a { + background: #009dd8; + color: #ffffff; + /* 1 */ + outline: none; + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} +/* + * Sub-object: `uk-nav-header` + */ +.uk-nav-search .uk-nav-header { + color: #999999; +} +/* + * Sub-object: `uk-nav-divider` + */ +.uk-nav-search .uk-nav-divider { + border-top: 1px solid #dddddd; +} +/* + * Nested items + */ +.uk-nav-search ul a { + color: #0077dd; +} +.uk-nav-search ul a:hover { + color: #005599; +} +/* Search in offcanvas + ========================================================================== */ +.uk-offcanvas .uk-search { + display: block; + margin: 20px 15px; +} +.uk-offcanvas .uk-search:before { + color: #777777; +} +.uk-offcanvas .uk-search-field { + width: 100%; + border-color: rgba(0, 0, 0, 0); + background: #1a1a1a; + color: #cccccc; +} +.uk-offcanvas .uk-search-field:-ms-input-placeholder { + color: #777777; +} +.uk-offcanvas .uk-search-field::-moz-placeholder { + color: #777777; +} +.uk-offcanvas .uk-search-field::-webkit-input-placeholder { + color: #777777; +} +/* ======================================================================== + Component: Sortable + ========================================================================== */ +.uk-sortable { + position: relative; +} +/* + * Makes text unselectable + */ +.uk-sortable > * { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* + * Prevents images and links from being dragged (default browser behavior) + * Currently only works in Webkit + */ +.uk-sortable > * * { + -webkit-user-drag: none; + user-drag: none; +} +/* Sub-modifier `uk-sortable-dragged` + ========================================================================== */ +.uk-sortable-dragged { + position: absolute; + z-index: 1050; + pointer-events: none; +} +/* Sub-modifier `uk-sortable-placeholder` + ========================================================================== */ +.uk-sortable-placeholder { + opacity: 0; +} +/* Sub-modifier `uk-sortable-over` + * Only if `warp:true` + ========================================================================== */ +.uk-sortable-over { + opacity: 0.3; +} +/* Sub-object `uk-nestable-moving` + ========================================================================== */ +.uk-sortable-moving, +.uk-sortable-moving * { + cursor: move; +} +/* ======================================================================== + Component: Sticky + ========================================================================== */ +.uk-sticky { + z-index: 980; +} +/* ======================================================================== + Component: Upload + ========================================================================== */ +/* + * Create a box-shadow when dragging a file over the upload area + */ +.uk-dragover { + box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); +} diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.gradient.addons.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.gradient.addons.min.css new file mode 100644 index 0000000000..ed9a79b962 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/addons/uikit.gradient.addons.min.css @@ -0,0 +1,3 @@ +/*! UIkit 2.8.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ + +.uk-dotnav{padding:0;list-style:none;font-size:0}.uk-dotnav>li{display:inline-block;font-size:1rem;vertical-align:top}.uk-dotnav>li:nth-child(n+2){margin-left:15px}.uk-dotnav>li>a{display:inline-block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);vertical-align:top;overflow:hidden;text-indent:-999%;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>li>a:hover,.uk-dotnav>li>a:focus{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>li>a:active{background:rgba(50,50,50,.6)}.uk-dotnav>li.uk-active>a{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-vertical>li{display:block}.uk-dotnav-vertical>li:nth-child(n+2){margin-left:0;margin-top:15px}.uk-slidenav{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:hover,.uk-slidenav:focus{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%;position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-form input[type=radio],.uk-form input[type=checkbox]{display:inline-block;height:14px;width:14px;border:1px solid #aaa;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;outline:0;background:0 0}.uk-form input[type=radio]{border-radius:50%}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=radio]:checked:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before{content:"\f00c";font-family:FontAwesome;font-size:12px;-webkit-font-smoothing:antialiased;text-align:center;line-height:12px;color:#00a8e6}.uk-form input[type=radio]:disabled,.uk-form input[type=checkbox]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before{color:#aaa}.uk-form-file{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-file input[type=file]{position:absolute;top:0;z-index:1;width:100%;opacity:0;cursor:pointer;left:0;font-size:500px}.uk-form-password{position:relative;display:inline-block;max-width:100%}.uk-form-password-toggle{display:block;position:absolute;top:50%;right:10px;margin-top:-6px;font-size:13px;line-height:13px;color:#999}.uk-form-password-toggle:hover{color:#999;text-decoration:none}.uk-form-password>input{padding-right:50px!important}.uk-form-select{display:inline-block;vertical-align:middle;position:relative;overflow:hidden}.uk-form-select select{position:absolute;top:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer;left:0;-webkit-appearance:none}.uk-placeholder{margin-bottom:15px;padding:20px;border:1px dashed #ddd;background:#fafafa;color:#444}*+.uk-placeholder{margin-top:15px}.uk-placeholder>:last-child{margin-bottom:0}.uk-placeholder-large{padding-top:80px;padding-bottom:80px}.uk-autocomplete{display:inline-block;vertical-align:middle;position:relative}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}.uk-datepicker{width:auto}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:before,.uk-datepicker-nav:after{content:" ";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-previous:after,.uk-datepicker-next:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table th,.uk-datepicker-table td{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none;border:1px solid transparent;border-radius:4px;background-origin:border-box}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:hover,.uk-datepicker-table a:focus{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-datepicker-table a.uk-active{background:#009dd8;color:#fff;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-htmleditor-navbar{background:#f7f7f7;border:1px solid rgba(0,0,0,.1);border-bottom-color:rgba(0,0,0,.2);border-top-left-radius:4px;border-top-right-radius:4px;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee)}.uk-htmleditor-navbar:before,.uk-htmleditor-navbar:after{content:" ";display:table}.uk-htmleditor-navbar:after{clear:both}.uk-htmleditor-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-htmleditor-navbar-nav>li{float:left}.uk-htmleditor-navbar-nav>li>a{display:block;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;height:41px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:transparent;color:#444;outline:0;position:relative;z-index:1;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#f5f5f5;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-htmleditor-navbar-nav>li.uk-active>a{background-color:#fafafa;color:#444;border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.2);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-htmleditor-navbar-flip{float:right}[data-mode=split] .uk-htmleditor-button-code,[data-mode=split] .uk-htmleditor-button-preview{display:none}.uk-htmleditor-content{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:before,.uk-htmleditor-content:after{content:" ";display:table}.uk-htmleditor-content:after{clear:both}.uk-htmleditor-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:990}.uk-htmleditor-fullscreen .uk-htmleditor-content{position:absolute;top:41px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{-moz-box-sizing:border-box;box-sizing:border-box}.uk-htmleditor-preview{padding:20px;overflow-y:scroll}[data-mode=tab][data-active-tab=code] .uk-htmleditor-preview,[data-mode=tab][data-active-tab=preview] .uk-htmleditor-code{display:none}[data-mode=split] .uk-htmleditor-code,[data-mode=split] .uk-htmleditor-preview{float:left;width:50%}[data-mode=split] .uk-htmleditor-code{border-right:1px solid #eee}.uk-htmleditor .CodeMirror{padding:10px;-moz-box-sizing:border-box;box-sizing:border-box}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important}.uk-nestable{padding:0;list-style:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-list-dragged{position:absolute;z-index:1050;padding-left:0;pointer-events:none}.uk-nestable-item{margin-bottom:10px;padding:5px;background:#f7f7f7;border-radius:4px;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee);text-shadow:0 1px 0 #fff}.uk-nestable-placeholder{-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:10px;border:1px dashed #ddd}.uk-nestable-empty{min-height:40px}.uk-nestable-handle{display:inline-block;font-size:18px;color:#ddd}.uk-nestable-handle:hover{cursor:move}.uk-nestable-handle:after{content:"\f0c9";font-family:FontAwesome}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{display:inline-block;color:#999;visibility:hidden}[data-nestable-action=toggle]:hover{color:#444;cursor:pointer}[data-nestable-action=toggle]:after{content:"\f147";font-family:FontAwesome}.uk-parent>.uk-nestable-item [data-nestable-action=toggle]{visibility:visible}.uk-collapsed>.uk-nestable-item [data-nestable-action=toggle]:after{content:"\f196"}.uk-collapsed .uk-nestable-list{display:none}.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;-moz-box-sizing:border-box;box-sizing:border-box;width:350px}.uk-notify-top-right,.uk-notify-bottom-right{left:auto;right:10px}.uk-notify-top-center,.uk-notify-bottom-center{left:50%;margin-left:-175px}.uk-notify-bottom-left,.uk-notify-bottom-right,.uk-notify-bottom-center{top:auto;bottom:10px}@media (max-width:479px){.uk-notify{left:10px;right:10px;width:auto;margin:0}}.uk-notify-message{position:relative;margin-bottom:10px;padding:15px;background:#444;color:#fff;font-size:16px;line-height:22px;cursor:pointer;border:1px solid #444;border-radius:4px}.uk-notify-message>.uk-close{visibility:hidden;float:right}.uk-notify-message:hover>.uk-close{visibility:visible}.uk-notify-message-primary{background:#ebf7fd;color:#2d7091;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)}.uk-search{display:inline-block;position:relative;margin:0}.uk-search:before{content:"\f002";position:absolute;top:0;left:0;width:30px;line-height:30px;text-align:center;font-family:FontAwesome;font-size:14px;color:rgba(0,0,0,.2)}.uk-search-field{width:120px;height:30px;padding:0 30px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:#444;-webkit-transition:all linear .2s;transition:all linear .2s;border-radius:0}input.uk-search-field{-webkit-appearance:none}.uk-search-field:-ms-input-placeholder{color:#999}.uk-search-field::-moz-placeholder{color:#999}.uk-search-field::-webkit-input-placeholder{color:#999}.uk-search-field::-ms-clear{display:none}.uk-search-field:focus{outline:0}.uk-search-field:focus,.uk-search.uk-active .uk-search-field{width:180px}.uk-search-close{display:none;position:absolute;top:0;right:0;width:30px;line-height:30px;text-align:center;font-size:14px;color:rgba(0,0,0,.2);padding:0;border:0;-webkit-appearance:none;background:0 0}.uk-loading>.uk-search-close,.uk-active>.uk-search-close{display:block}.uk-search-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-loading>.uk-search-close:after{content:"\f110";-webkit-animation:uk-spin 2s infinite linear;animation:uk-spin 2s infinite linear}.uk-dropdown-search{width:300px;margin-top:0;background:#fff;color:#444}.uk-open>.uk-dropdown-search{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-navbar-flip .uk-dropdown-search{margin-top:12px;margin-right:-16px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-search .uk-nav-header{color:#999}.uk-nav-search .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-search ul a{color:#07d}.uk-nav-search ul a:hover{color:#059}.uk-offcanvas .uk-search{display:block;margin:20px 15px}.uk-offcanvas .uk-search:before{color:#777}.uk-offcanvas .uk-search-field{width:100%;border-color:rgba(0,0,0,0);background:#1a1a1a;color:#ccc}.uk-offcanvas .uk-search-field:-ms-input-placeholder{color:#777}.uk-offcanvas .uk-search-field::-moz-placeholder{color:#777}.uk-offcanvas .uk-search-field::-webkit-input-placeholder{color:#777}.uk-sortable{position:relative}.uk-sortable>*{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-sortable>* *{-webkit-user-drag:none;user-drag:none}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-over{opacity:.3}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}.uk-sticky{z-index:980}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/uikit.min.css b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/uikit.min.css new file mode 100644 index 0000000000..690f9c3ffc --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/css/uikit/uikit.min.css @@ -0,0 +1,3 @@ +/*! UIkit 2.10.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ + +html{font:400 14px / 20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}a,.uk-link{color:#07d;text-decoration:none;cursor:pointer}a:hover,.uk-link:hover{color:#059;text-decoration:underline}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-size:12px;font-family:Consolas,monospace,serif;color:#d05;white-space:nowrap}em{color:#d05}ins{background:#ffa;color:#444;text-decoration:none}mark{background:#ffa;color:#444}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;height:auto;-moz-box-sizing:border-box;box-sizing:border-box;border:0;vertical-align:middle}.uk-img-preserve,.uk-img-preserve img{max-width:none}svg:not(:root){overflow:hidden}blockquote,figure{margin:0}p,ul,ol,dl,blockquote,pre,address,fieldset,figure{margin:0 0 15px}*+p,*+ul,*+ol,*+dl,*+blockquote,*+pre,*+address,*+fieldset,*+figure{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:#444;text-transform:none}*+h1,*+h2,*+h3,*+h4,*+h5,*+h6{margin-top:25px}h1,.uk-h1{font-size:36px;line-height:42px}h2,.uk-h2{font-size:24px;line-height:30px}h3,.uk-h3{font-size:18px;line-height:24px}h4,.uk-h4{font-size:16px;line-height:22px}h5,.uk-h5{font-size:14px;line-height:20px}h6,.uk-h6{font-size:12px;line-height:18px}ul,ol{padding-left:30px}ul>li>ul,ul>li>ol,ol>li>ol,ol>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;margin:15px 0;border:0;border-top:1px solid #ddd}address{font-style:normal}blockquote{padding-left:15px;border-left:5px solid #ddd;font-size:16px;line-height:22px;font-style:italic}pre{padding:10px;background:#f5f5f5;font:12px / 18px Consolas,monospace,serif;color:#444;-moz-tab-size:4;tab-size:4;overflow:auto}::-moz-selection{background:#39f;color:#fff;text-shadow:none}::selection{background:#39f;color:#fff;text-shadow:none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}progress{vertical-align:baseline}audio:not([controls]){display:none}[hidden],template{display:none}iframe{border:0}@media screen and (max-width:400px){@-ms-viewport{width:device-width}}.uk-grid:before,.uk-grid:after{content:" ";display:table}.uk-grid:after{clear:both}.uk-grid{margin:0 0 0 -25px;padding:0;list-style:none}.uk-grid>*{margin:0;padding-left:25px;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid+.uk-grid{margin-top:25px}.uk-grid>.uk-grid-margin{margin-top:25px}.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid:not(.uk-grid-preserve){margin-left:-35px}.uk-grid:not(.uk-grid-preserve)>*{padding-left:35px}.uk-grid:not(.uk-grid-preserve)+.uk-grid{margin-top:35px}.uk-grid:not(.uk-grid-preserve)>.uk-grid-margin{margin-top:35px}.uk-grid:not(.uk-grid-preserve)>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid.uk-grid-small{margin-left:-10px}.uk-grid.uk-grid-small>*{padding-left:10px}.uk-grid.uk-grid-small+.uk-grid-small{margin-top:10px}.uk-grid.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid.uk-grid-small>*>.uk-panel+.uk-panel{margin-top:10px}.uk-grid-divider:not(:empty){margin-left:-25px;margin-right:-25px}.uk-grid-divider>*{padding-left:25px;padding-right:25px}.uk-grid-divider>[class*=uk-width-1-]:not(.uk-width-1-1):nth-child(n+2),.uk-grid-divider>[class*=uk-width-2-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-3-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-4-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-5-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-6-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-7-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-8-]:nth-child(n+2),.uk-grid-divider>[class*=uk-width-9-]:nth-child(n+2){border-left:1px solid #ddd}@media (min-width:768px){.uk-grid-divider>[class*=uk-width-medium-]:not(.uk-width-medium-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:960px){.uk-grid-divider>[class*=uk-width-large-]:not(.uk-width-large-1-1):nth-child(n+2){border-left:1px solid #ddd}}@media (min-width:1220px){.uk-grid-divider:not(.uk-grid-preserve):not(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider:not(.uk-grid-preserve)>*{padding-left:35px;padding-right:35px}.uk-grid-divider:not(.uk-grid-preserve):empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}[class*=uk-grid-width]>*{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.uk-grid-width-1-2>*{width:50%}.uk-grid-width-1-3>*{width:33.333%}.uk-grid-width-1-4>*{width:25%}.uk-grid-width-1-5>*{width:20%}.uk-grid-width-1-6>*{width:16.666%}.uk-grid-width-1-10>*{width:10%}@media (min-width:480px){.uk-grid-width-small-1-2>*{width:50%}.uk-grid-width-small-1-3>*{width:33.333%}.uk-grid-width-small-1-4>*{width:25%}.uk-grid-width-small-1-5>*{width:20%}.uk-grid-width-small-1-6>*{width:16.666%}.uk-grid-width-small-1-10>*{width:10%}}@media (min-width:768px){.uk-grid-width-medium-1-2>*{width:50%}.uk-grid-width-medium-1-3>*{width:33.333%}.uk-grid-width-medium-1-4>*{width:25%}.uk-grid-width-medium-1-5>*{width:20%}.uk-grid-width-medium-1-6>*{width:16.666%}.uk-grid-width-medium-1-10>*{width:10%}}@media (min-width:960px){.uk-grid-width-large-1-2>*{width:50%}.uk-grid-width-large-1-3>*{width:33.333%}.uk-grid-width-large-1-4>*{width:25%}.uk-grid-width-large-1-5>*{width:20%}.uk-grid-width-large-1-6>*{width:16.666%}.uk-grid-width-large-1-10>*{width:10%}}@media (min-width:1220px){.uk-grid-width-xlarge-1-2>*{width:50%}.uk-grid-width-xlarge-1-3>*{width:33.333%}.uk-grid-width-xlarge-1-4>*{width:25%}.uk-grid-width-xlarge-1-5>*{width:20%}.uk-grid-width-xlarge-1-6>*{width:16.666%}.uk-grid-width-xlarge-1-10>*{width:10%}}[class*=uk-width]{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.uk-width-1-1{width:100%}.uk-width-1-2,.uk-width-2-4,.uk-width-3-6,.uk-width-5-10{width:50%}.uk-width-1-3,.uk-width-2-6{width:33.333%}.uk-width-2-3,.uk-width-4-6{width:66.666%}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5,.uk-width-2-10{width:20%}.uk-width-2-5,.uk-width-4-10{width:40%}.uk-width-3-5,.uk-width-6-10{width:60%}.uk-width-4-5,.uk-width-8-10{width:80%}.uk-width-1-6{width:16.666%}.uk-width-5-6{width:83.333%}.uk-width-1-10{width:10%}.uk-width-3-10{width:30%}.uk-width-7-10{width:70%}.uk-width-9-10{width:90%}@media (min-width:480px){.uk-width-small-1-1{width:100%}.uk-width-small-1-2,.uk-width-small-2-4,.uk-width-small-3-6,.uk-width-small-5-10{width:50%}.uk-width-small-1-3,.uk-width-small-2-6{width:33.333%}.uk-width-small-2-3,.uk-width-small-4-6{width:66.666%}.uk-width-small-1-4{width:25%}.uk-width-small-3-4{width:75%}.uk-width-small-1-5,.uk-width-small-2-10{width:20%}.uk-width-small-2-5,.uk-width-small-4-10{width:40%}.uk-width-small-3-5,.uk-width-small-6-10{width:60%}.uk-width-small-4-5,.uk-width-small-8-10{width:80%}.uk-width-small-1-6{width:16.666%}.uk-width-small-5-6{width:83.333%}.uk-width-small-1-10{width:10%}.uk-width-small-3-10{width:30%}.uk-width-small-7-10{width:70%}.uk-width-small-9-10{width:90%}}@media (min-width:768px){.uk-width-medium-1-1{width:100%}.uk-width-medium-1-2,.uk-width-medium-2-4,.uk-width-medium-3-6,.uk-width-medium-5-10{width:50%}.uk-width-medium-1-3,.uk-width-medium-2-6{width:33.333%}.uk-width-medium-2-3,.uk-width-medium-4-6{width:66.666%}.uk-width-medium-1-4{width:25%}.uk-width-medium-3-4{width:75%}.uk-width-medium-1-5,.uk-width-medium-2-10{width:20%}.uk-width-medium-2-5,.uk-width-medium-4-10{width:40%}.uk-width-medium-3-5,.uk-width-medium-6-10{width:60%}.uk-width-medium-4-5,.uk-width-medium-8-10{width:80%}.uk-width-medium-1-6{width:16.666%}.uk-width-medium-5-6{width:83.333%}.uk-width-medium-1-10{width:10%}.uk-width-medium-3-10{width:30%}.uk-width-medium-7-10{width:70%}.uk-width-medium-9-10{width:90%}}@media (min-width:960px){.uk-width-large-1-1{width:100%}.uk-width-large-1-2,.uk-width-large-2-4,.uk-width-large-3-6,.uk-width-large-5-10{width:50%}.uk-width-large-1-3,.uk-width-large-2-6{width:33.333%}.uk-width-large-2-3,.uk-width-large-4-6{width:66.666%}.uk-width-large-1-4{width:25%}.uk-width-large-3-4{width:75%}.uk-width-large-1-5,.uk-width-large-2-10{width:20%}.uk-width-large-2-5,.uk-width-large-4-10{width:40%}.uk-width-large-3-5,.uk-width-large-6-10{width:60%}.uk-width-large-4-5,.uk-width-large-8-10{width:80%}.uk-width-large-1-6{width:16.666%}.uk-width-large-5-6{width:83.333%}.uk-width-large-1-10{width:10%}.uk-width-large-3-10{width:30%}.uk-width-large-7-10{width:70%}.uk-width-large-9-10{width:90%}}@media (min-width:768px){[class*=uk-push-],[class*=uk-pull-]{position:relative}.uk-push-1-2,.uk-push-2-4,.uk-push-3-6,.uk-push-5-10{left:50%}.uk-push-1-3,.uk-push-2-6{left:33.333%}.uk-push-2-3,.uk-push-4-6{left:66.666%}.uk-push-1-4{left:25%}.uk-push-3-4{left:75%}.uk-push-1-5,.uk-push-2-10{left:20%}.uk-push-2-5,.uk-push-4-10{left:40%}.uk-push-3-5,.uk-push-6-10{left:60%}.uk-push-4-5,.uk-push-8-10{left:80%}.uk-push-1-6{left:16.666%}.uk-push-5-6{left:83.333%}.uk-push-1-10{left:10%}.uk-push-3-10{left:30%}.uk-push-7-10{left:70%}.uk-push-9-10{left:90%}.uk-pull-1-2,.uk-pull-2-4,.uk-pull-3-6,.uk-pull-5-10{left:-50%}.uk-pull-1-3,.uk-pull-2-6{left:-33.333%}.uk-pull-2-3,.uk-pull-4-6{left:-66.666%}.uk-pull-1-4{left:-25%}.uk-pull-3-4{left:-75%}.uk-pull-1-5,.uk-pull-2-10{left:-20%}.uk-pull-2-5,.uk-pull-4-10{left:-40%}.uk-pull-3-5,.uk-pull-6-10{left:-60%}.uk-pull-4-5,.uk-pull-8-10{left:-80%}.uk-pull-1-6{left:-16.666%}.uk-pull-5-6{left:-83.333%}.uk-pull-1-10{left:-10%}.uk-pull-3-10{left:-30%}.uk-pull-7-10{left:-70%}.uk-pull-9-10{left:-90%}}.uk-panel{display:block;position:relative}.uk-panel:before,.uk-panel:after{content:" ";display:table}.uk-panel:after{clear:both}.uk-panel>:not(.uk-panel-title):last-child{margin-bottom:0}.uk-panel-title{margin-top:0;margin-bottom:15px;font-size:18px;line-height:24px;font-weight:400;text-transform:none;color:#444}.uk-panel-badge{position:absolute;top:0;right:0;z-index:1}.uk-panel-box{padding:15px;background:#f5f5f5;color:#444}.uk-panel-box .uk-panel-title{color:#444}.uk-panel-box .uk-panel-badge{top:10px;right:10px}.uk-panel-box .uk-panel-teaser{margin:-15px -15px 15px -15px}.uk-panel-box>.uk-nav-side{margin:0 -15px}.uk-panel-box-primary{background-color:#ebf7fd;color:#2d7091}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#eee;color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-header .uk-panel-title{padding-bottom:10px;border-bottom:1px solid #ddd;color:#444}.uk-panel-space{padding:30px}.uk-panel-space .uk-panel-badge{top:30px;right:30px}.uk-panel+.uk-panel-divider{margin-top:50px!important}.uk-panel+.uk-panel-divider:before{content:"";display:block;position:absolute;top:-25px;left:0;right:0;border-top:1px solid #ddd}@media (min-width:1220px){.uk-panel+.uk-panel-divider{margin-top:70px!important}.uk-panel+.uk-panel-divider:before{top:-35px}}.uk-article:before,.uk-article:after{content:" ";display:table}.uk-article:after{clear:both}.uk-article>:last-child{margin-bottom:0}.uk-article+.uk-article{margin-top:25px}.uk-article-title{font-size:36px;line-height:42px;font-weight:400;text-transform:none}.uk-article-title a{color:inherit;text-decoration:none}.uk-article-meta{font-size:12px;line-height:18px;color:#999}.uk-article-lead{color:#444;font-size:18px;line-height:24px;font-weight:400}.uk-article-divider{margin-bottom:25px;border-color:#ddd}*+.uk-article-divider{margin-top:25px}.uk-comment-header{margin-bottom:15px}.uk-comment-header:before,.uk-comment-header:after{content:" ";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 0;font-size:11px;line-height:16px;color:#999}.uk-comment-body>:last-child{margin-bottom:0}.uk-comment-list{padding:0;list-style:none}.uk-comment-list .uk-comment+ul{margin:15px 0 0;list-style:none}.uk-comment-list>li:nth-child(n+2),.uk-comment-list .uk-comment+ul>li:nth-child(n+2){margin-top:15px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:block;text-decoration:none}.uk-nav>li>a{padding:5px 15px}.uk-nav ul{padding-left:15px}.uk-nav ul a{padding:2px 0}.uk-nav li>a>div{font-size:12px;line-height:18px}.uk-nav-header{padding:5px 15px;text-transform:uppercase;font-weight:700;font-size:12px}.uk-nav-header:not(:first-child){margin-top:15px}.uk-nav-divider{margin:9px 15px}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-parent-icon>.uk-parent>a:after{content:"\f104";width:20px;margin-right:-10px;float:right;font-family:FontAwesome;text-align:center}.uk-nav-parent-icon>.uk-parent.uk-open>a:after{content:"\f107"}.uk-nav-side>li>a{color:#444}.uk-nav-side>li>a:hover,.uk-nav-side>li>a:focus{background:rgba(0,0,0,.05);color:#444;outline:0}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff}.uk-nav-side .uk-nav-header{color:#444}.uk-nav-side .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-side ul a{color:#07d}.uk-nav-side ul a:hover{color:#059}.uk-nav-dropdown>li>a{color:#444}.uk-nav-dropdown>li>a:hover,.uk-nav-dropdown>li>a:focus{background:#00a8e6;color:#fff;outline:0}.uk-nav-dropdown .uk-nav-header{color:#999}.uk-nav-dropdown .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-dropdown ul a{color:#07d}.uk-nav-dropdown ul a:hover{color:#059}.uk-nav-navbar>li>a{color:#444}.uk-nav-navbar>li>a:hover,.uk-nav-navbar>li>a:focus{background:#00a8e6;color:#fff;outline:0}.uk-nav-navbar .uk-nav-header{color:#999}.uk-nav-navbar .uk-nav-divider{border-top:1px solid #ddd}.uk-nav-navbar ul a{color:#07d}.uk-nav-navbar ul a:hover{color:#059}.uk-nav-offcanvas>li>a{color:#ccc;padding:10px 15px}.uk-nav-offcanvas>.uk-open>a,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover,html:not(.uk-touch) .uk-nav-offcanvas>li>a:focus{background:#404040;color:#fff;outline:0}html .uk-nav.uk-nav-offcanvas>li.uk-active>a{background:#1a1a1a;color:#fff}.uk-nav-offcanvas .uk-nav-header{color:#777}.uk-nav-offcanvas .uk-nav-divider{border-top:1px solid #1a1a1a}.uk-nav-offcanvas ul a{color:#ccc}html:not(.uk-touch) .uk-nav-offcanvas ul a:hover{color:#fff}.uk-navbar{background:#eee;color:#444}.uk-navbar:before,.uk-navbar:after{content:" ";display:table}.uk-navbar:after{clear:both}.uk-navbar-nav{margin:0;padding:0;list-style:none;float:left}.uk-navbar-nav>li{float:left;position:relative}.uk-navbar-nav>li>a{display:block;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;height:40px;padding:0 15px;line-height:40px;color:#444;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}.uk-navbar-nav>li>a[href='#']{cursor:text}.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus,.uk-navbar-nav>li.uk-open>a{background-color:#f5f5f5;color:#444;outline:0}.uk-navbar-nav>li>a:active{background-color:#ddd;color:#444}.uk-navbar-nav>li.uk-active>a{background-color:#f5f5f5;color:#444}.uk-navbar-nav .uk-navbar-nav-subtitle{line-height:28px}.uk-navbar-nav-subtitle>div{margin-top:-6px;font-size:10px;line-height:12px}.uk-navbar-content,.uk-navbar-brand,.uk-navbar-toggle{-moz-box-sizing:border-box;box-sizing:border-box;display:block;height:40px;padding:0 15px;float:left}.uk-navbar-content:before,.uk-navbar-brand:before,.uk-navbar-toggle:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-navbar-content+.uk-navbar-content:not(.uk-navbar-center){padding-left:0}.uk-navbar-content>a:not([class]){color:#07d}.uk-navbar-content>a:not([class]):hover{color:#059}.uk-navbar-brand{font-size:18px;color:#444;text-decoration:none}.uk-navbar-brand:hover,.uk-navbar-brand:focus{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:hover,.uk-navbar-toggle:focus{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle:after{content:"\f0c9";font-family:FontAwesome;vertical-align:middle}.uk-navbar-toggle-alt:after{content:"\f002"}.uk-navbar-center{float:none;text-align:center;max-width:50%;margin-left:auto;margin-right:auto}.uk-navbar-flip{float:right}.uk-subnav{padding:0;list-style:none;font-size:0}.uk-subnav>li{position:relative;font-size:1rem;vertical-align:top}.uk-subnav>li,.uk-subnav>li>a,.uk-subnav>li>span{display:inline-block}.uk-subnav>li:nth-child(n+2){margin-left:10px}.uk-subnav>li>a{color:#07d}.uk-subnav>li>a:hover{color:#059}.uk-subnav>li>span{color:#999}.uk-subnav-line>li:nth-child(n+2):before{content:"";display:inline-block;height:10px;margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>li>a,.uk-subnav-pill>li>span{padding:3px 9px;text-decoration:none}.uk-subnav-pill>li>a:hover,.uk-subnav-pill>li>a:focus{background:#eee;color:#444;outline:0}.uk-subnav-pill>li.uk-active>a{background:#00a8e6;color:#fff}.uk-breadcrumb{padding:0;list-style:none;font-size:0}.uk-breadcrumb>li{font-size:1rem;vertical-align:top}.uk-breadcrumb>li,.uk-breadcrumb>li>a,.uk-breadcrumb>li>span{display:inline-block}.uk-breadcrumb>li:nth-child(n+2):before{content:"/";display:inline-block;margin:0 8px}.uk-breadcrumb>li:not(.uk-active)>span{color:#999}.uk-pagination{padding:0;list-style:none;text-align:center;font-size:0}.uk-pagination:before,.uk-pagination:after{content:" ";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:1rem;vertical-align:top}.uk-pagination>li:nth-child(n+2){margin-left:5px}.uk-pagination>li>a,.uk-pagination>li>span{display:inline-block;min-width:16px;padding:3px 5px;line-height:20px;text-decoration:none;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center}.uk-pagination>li>a{background:#eee;color:#444}.uk-pagination>li>a:hover,.uk-pagination>li>a:focus{background-color:#f5f5f5;color:#444;outline:0}.uk-pagination>li>a:active{background-color:#ddd;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff}.uk-pagination>.uk-disabled>span{background-color:#f5f5f5;color:#999}.uk-pagination-previous{float:left}.uk-pagination-next{float:right}.uk-pagination-left{text-align:left}.uk-pagination-right{text-align:right}.uk-tab{margin:0;padding:0;list-style:none;border-bottom:1px solid #ddd}.uk-tab:before,.uk-tab:after{content:" ";display:table}.uk-tab:after{clear:both}.uk-tab>li{margin-bottom:-1px;float:left;position:relative}.uk-tab>li>a{display:block;padding:8px 12px;border:1px solid transparent;border-bottom-width:0;color:#07d;text-decoration:none}.uk-tab>li:nth-child(n+2)>a{margin-left:5px}.uk-tab>li>a:hover,.uk-tab>li>a:focus,.uk-tab>li.uk-open>a{border-color:#f5f5f5;background:#f5f5f5;color:#059;outline:0}.uk-tab>li:not(.uk-active)>a:hover,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li.uk-open:not(.uk-active)>a{margin-bottom:1px;padding-bottom:7px}.uk-tab>li.uk-active>a{border-color:#ddd;border-bottom-color:transparent;background:#fff;color:#444}.uk-tab>li.uk-disabled>a{color:#999;cursor:auto}.uk-tab>li.uk-disabled>a:hover,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled.uk-active>a{background:0 0;border-color:transparent}.uk-tab-flip>li{float:right}.uk-tab-flip>li:nth-child(n+2)>a{margin-left:0;margin-right:5px}.uk-tab>li.uk-tab-responsive>a{margin-left:0;margin-right:0}.uk-tab-responsive>a:before{content:"\f0c9\00a0";font-family:FontAwesome}.uk-tab-center{border-bottom:1px solid #ddd}.uk-tab-center-bottom{border-bottom:none;border-top:1px solid #ddd}.uk-tab-center:before,.uk-tab-center:after{content:" ";display:table}.uk-tab-center:after{clear:both}.uk-tab-center .uk-tab{position:relative;right:50%;border:none;float:right}.uk-tab-center .uk-tab>li{position:relative;right:-50%}.uk-tab-center .uk-tab>li>a{text-align:center}.uk-tab-bottom{border-top:1px solid #ddd;border-bottom:none}.uk-tab-bottom>li{margin-top:-1px;margin-bottom:0}.uk-tab-bottom>li>a{padding-top:8px;padding-bottom:8px;border-bottom-width:1px;border-top-width:0}.uk-tab-bottom>li:not(.uk-active)>a:hover,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li.uk-open:not(.uk-active)>a{margin-bottom:0;margin-top:1px;padding-bottom:8px;padding-top:7px}.uk-tab-bottom>li.uk-active>a{border-top-color:transparent;border-bottom-color:#ddd}.uk-tab-grid{margin-left:-5px;border-bottom:none;position:relative;z-index:0}.uk-tab-grid:before{display:block;position:absolute;left:5px;right:0;bottom:-1px;border-top:1px solid #ddd;z-index:-1}.uk-tab-grid>li:first-child>a{margin-left:5px}.uk-tab-grid>li>a{text-align:center}.uk-tab-grid.uk-tab-bottom{border-top:none}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:none}.uk-tab-left>li,.uk-tab-right>li{margin-bottom:0;float:none}.uk-tab-left>li>a,.uk-tab-right>li>a{padding-top:8px;padding-bottom:8px}.uk-tab-left>li:nth-child(n+2)>a,.uk-tab-right>li:nth-child(n+2)>a{margin-left:0;margin-top:5px}.uk-tab-left>li.uk-active>a,.uk-tab-right>li.uk-active>a{border-color:#ddd}.uk-tab-left{border-right:1px solid #ddd}.uk-tab-left>li{margin-right:-1px}.uk-tab-left>li>a{border-bottom-width:1px;border-right-width:0}.uk-tab-left>li:not(.uk-active)>a:hover,.uk-tab-left>li:not(.uk-active)>a:focus{margin-bottom:0;margin-right:1px;padding-bottom:8px;padding-right:11px}.uk-tab-left>li.uk-active>a{border-right-color:transparent}.uk-tab-right{border-left:1px solid #ddd}.uk-tab-right>li{margin-left:-1px}.uk-tab-right>li>a{border-bottom-width:1px;border-left-width:0}.uk-tab-right>li:not(.uk-active)>a:hover,.uk-tab-right>li:not(.uk-active)>a:focus{margin-bottom:0;margin-left:1px;padding-bottom:8px;padding-left:11px}.uk-tab-right>li.uk-active>a{border-left-color:transparent}}.uk-list{padding:0;list-style:none}.uk-list>li:before,.uk-list>li:after{content:" ";display:table}.uk-list>li:after{clear:both}.uk-list>li>:last-child{margin-bottom:0}.uk-list ul{margin:0;padding-left:20px;list-style:none}.uk-list-line>li:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-list-striped>li{padding:5px}.uk-list-striped>li:nth-of-type(odd){background:#f5f5f5}.uk-list-space>li:nth-child(n+2){margin-top:10px}@media (min-width:768px){.uk-description-list-horizontal{overflow:hidden}.uk-description-list-horizontal>dt{width:160px;float:left;clear:both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-description-list-horizontal>dd{margin-left:180px}}.uk-description-list-line>dt{font-weight:400}.uk-description-list-line>dt:nth-child(n+2){margin-top:5px;padding-top:5px;border-top:1px solid #ddd}.uk-description-list-line>dd{color:#999}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:15px}*+.uk-table{margin-top:15px}.uk-table th,.uk-table td{padding:8px}.uk-table th{text-align:left}.uk-table td{vertical-align:top}.uk-table thead th{vertical-align:bottom}.uk-table caption,.uk-table tfoot{font-size:12px;font-style:italic}.uk-table caption{text-align:left;color:#999}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-striped tbody tr:nth-of-type(odd){background:#f5f5f5}.uk-table-condensed td{padding:4px 8px}.uk-table-hover tbody tr:hover{background:#eee}.uk-form input,.uk-form select,.uk-form textarea{-moz-box-sizing:border-box;box-sizing:border-box;margin:0;border-radius:0;font:inherit;color:inherit}.uk-form select{text-transform:none}.uk-form optgroup{font:inherit;font-weight:700}.uk-form input::-moz-focus-inner{border:0;padding:0}.uk-form input[type=checkbox],.uk-form input[type=radio]{padding:0}.uk-form input[type=checkbox]:not(:disabled),.uk-form input[type=radio]:not(:disabled){cursor:pointer}.uk-form textarea,.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=number],.uk-form input[type=datetime]{-webkit-appearance:none}.uk-form input[type=search]::-webkit-search-cancel-button,.uk-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-form input[type=number]::-webkit-inner-spin-button,.uk-form input[type=number]::-webkit-outer-spin-button{height:auto}.uk-form fieldset{border:none;margin:0;padding:0}.uk-form textarea{overflow:auto;vertical-align:top}.uk-form ::-moz-placeholder{opacity:1}.uk-form :invalid{box-shadow:none}.uk-form input:not([type=radio]):not([type=checkbox]),.uk-form select{vertical-align:middle}.uk-form>:last-child{margin-bottom:0}.uk-form select,.uk-form textarea,.uk-form input:not([type]),.uk-form input[type=text],.uk-form input[type=password],.uk-form input[type=datetime],.uk-form input[type=datetime-local],.uk-form input[type=date],.uk-form input[type=month],.uk-form input[type=time],.uk-form input[type=week],.uk-form input[type=number],.uk-form input[type=email],.uk-form input[type=url],.uk-form input[type=search],.uk-form input[type=tel],.uk-form input[type=color]{height:30px;max-width:100%;padding:4px 6px;border:1px solid #ddd;background:#fff;color:#444;-webkit-transition:all linear .2s;transition:all linear .2s}.uk-form select:focus,.uk-form textarea:focus,.uk-form input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]:focus,.uk-form input[type=datetime]:focus,.uk-form input[type=datetime-local]:focus,.uk-form input[type=date]:focus,.uk-form input[type=month]:focus,.uk-form input[type=time]:focus,.uk-form input[type=week]:focus,.uk-form input[type=number]:focus,.uk-form input[type=email]:focus,.uk-form input[type=url]:focus,.uk-form input[type=search]:focus,.uk-form input[type=tel]:focus,.uk-form input[type=color]:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form select:disabled,.uk-form textarea:disabled,.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]:disabled,.uk-form input[type=datetime]:disabled,.uk-form input[type=datetime-local]:disabled,.uk-form input[type=date]:disabled,.uk-form input[type=month]:disabled,.uk-form input[type=time]:disabled,.uk-form input[type=week]:disabled,.uk-form input[type=number]:disabled,.uk-form input[type=email]:disabled,.uk-form input[type=url]:disabled,.uk-form input[type=search]:disabled,.uk-form input[type=tel]:disabled,.uk-form input[type=color]:disabled{border-color:#ddd;background-color:#f5f5f5;color:#999}.uk-form :-ms-input-placeholder{color:#999!important}.uk-form ::-moz-placeholder{color:#999}.uk-form ::-webkit-input-placeholder{color:#999}.uk-form :disabled:-ms-input-placeholder{color:#999!important}.uk-form :disabled::-moz-placeholder{color:#999}.uk-form :disabled::-webkit-input-placeholder{color:#999}.uk-form legend{width:100%;border:0;padding:0;padding-bottom:15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd}select.uk-form-small,textarea.uk-form-small,input[type].uk-form-small,input:not([type]).uk-form-small{height:25px;padding:3px;font-size:12px}select.uk-form-large,textarea.uk-form-large,input[type].uk-form-large,input:not([type]).uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form textarea,.uk-form select[multiple],.uk-form select[size]{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#c91032!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#539022!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:none!important}.uk-form-blank:focus{border-color:#ddd!important}input.uk-form-width-mini{width:40px}select.uk-form-width-mini{width:65px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-form-row:before,.uk-form-row:after{content:" ";display:table}.uk-form-row:after{clear:both}.uk-form-row+.uk-form-row{margin-top:15px}.uk-form-help-inline{display:inline-block;margin:0 0 0 10px}.uk-form-help-block{margin:5px 0 0}.uk-form-controls>:first-child{margin-top:0}.uk-form-controls>:last-child{margin-bottom:0}.uk-form-controls-condensed{margin:5px 0}.uk-form-stacked .uk-form-label{display:block;margin-bottom:5px;font-weight:700}@media (max-width:959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px;font-weight:700}}@media (min-width:960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:5px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:5px}}.uk-form-icon{display:inline-block;position:relative;max-width:100%}.uk-form-icon>[class*=uk-icon-]{position:absolute;top:50%;width:30px;margin-top:-7px;font-size:14px;color:#999;text-align:center;pointer-events:none}.uk-form-icon:not(.uk-form-icon-flip)>input{padding-left:30px!important}.uk-form-icon-flip>[class*=uk-icon-]{right:0}.uk-form-icon-flip>input{padding-right:30px!important}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:#444;text-transform:none;display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px;background:#eee;vertical-align:middle;line-height:30px;min-height:30px;font-size:1rem;text-decoration:none;text-align:center}.uk-button:not(:disabled){cursor:pointer}.uk-button:hover,.uk-button:focus{background-color:#f5f5f5;color:#444;outline:0;text-decoration:none}.uk-button:active,.uk-button.uk-active{background-color:#ddd;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:hover,.uk-button-primary:focus{background-color:#35b3ee;color:#fff}.uk-button-primary:active,.uk-button-primary.uk-active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:hover,.uk-button-success:focus{background-color:#8ec73b;color:#fff}.uk-button-success:active,.uk-button-success.uk-active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:hover,.uk-button-danger:focus{background-color:#e4354f;color:#fff}.uk-button-danger:active,.uk-button-danger.uk-active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#f5f5f5;color:#999}.uk-button-link,.uk-button-link:hover,.uk-button-link:focus,.uk-button-link:active,.uk-button-link.uk-active,.uk-button-link:disabled{border-color:transparent;background:0 0}.uk-button-link{color:#07d}.uk-button-link:hover,.uk-button-link:focus,.uk-button-link:active,.uk-button-link.uk-active{color:#059;text-decoration:underline}.uk-button-link:disabled{color:#999}.uk-button-link:focus{outline:1px dotted}.uk-button-mini{min-height:20px;padding:0 6px;line-height:20px;font-size:11px}.uk-button-small{min-height:25px;padding:0 10px;line-height:25px;font-size:12px}.uk-button-large{min-height:40px;padding:0 15px;line-height:40px;font-size:16px}.uk-button-group{display:inline-block;vertical-align:middle;position:relative;font-size:0;white-space:nowrap}.uk-button-group>*{display:inline-block}.uk-button-group .uk-button{vertical-align:top}.uk-button-dropdown{display:inline-block;vertical-align:middle;position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot);src:url(../fonts/fontawesome-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff) format("woff"),url(../fonts/fontawesome-webfont.ttf) format("truetype");font-weight:400;font-style:normal}[class*=uk-icon-]{font-family:FontAwesome;display:inline-block;font-weight:400;font-style:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.uk-icon-small:before{font-size:150%;vertical-align:-10%}.uk-icon-medium:before{font-size:200%;vertical-align:-16%}.uk-icon-large:before{font-size:250%;vertical-align:-22%}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-button{-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#eee;line-height:35px;color:#444;font-size:18px;text-align:center}.uk-icon-button:hover,.uk-icon-button:focus{background-color:#f5f5f5;color:#444;text-decoration:none;outline:0}.uk-icon-button:active{background-color:#ddd;color:#444}.uk-icon-glass:before{content:"\f000"}.uk-icon-music:before{content:"\f001"}.uk-icon-search:before{content:"\f002"}.uk-icon-envelope-o:before{content:"\f003"}.uk-icon-heart:before{content:"\f004"}.uk-icon-star:before{content:"\f005"}.uk-icon-star-o:before{content:"\f006"}.uk-icon-user:before{content:"\f007"}.uk-icon-film:before{content:"\f008"}.uk-icon-th-large:before{content:"\f009"}.uk-icon-th:before{content:"\f00a"}.uk-icon-th-list:before{content:"\f00b"}.uk-icon-check:before{content:"\f00c"}.uk-icon-remove:before,.uk-icon-close:before,.uk-icon-times:before{content:"\f00d"}.uk-icon-search-plus:before{content:"\f00e"}.uk-icon-search-minus:before{content:"\f010"}.uk-icon-power-off:before{content:"\f011"}.uk-icon-signal:before{content:"\f012"}.uk-icon-gear:before,.uk-icon-cog:before{content:"\f013"}.uk-icon-trash-o:before{content:"\f014"}.uk-icon-home:before{content:"\f015"}.uk-icon-file-o:before{content:"\f016"}.uk-icon-clock-o:before{content:"\f017"}.uk-icon-road:before{content:"\f018"}.uk-icon-download:before{content:"\f019"}.uk-icon-arrow-circle-o-down:before{content:"\f01a"}.uk-icon-arrow-circle-o-up:before{content:"\f01b"}.uk-icon-inbox:before{content:"\f01c"}.uk-icon-play-circle-o:before{content:"\f01d"}.uk-icon-rotate-right:before,.uk-icon-repeat:before{content:"\f01e"}.uk-icon-refresh:before{content:"\f021"}.uk-icon-list-alt:before{content:"\f022"}.uk-icon-lock:before{content:"\f023"}.uk-icon-flag:before{content:"\f024"}.uk-icon-headphones:before{content:"\f025"}.uk-icon-volume-off:before{content:"\f026"}.uk-icon-volume-down:before{content:"\f027"}.uk-icon-volume-up:before{content:"\f028"}.uk-icon-qrcode:before{content:"\f029"}.uk-icon-barcode:before{content:"\f02a"}.uk-icon-tag:before{content:"\f02b"}.uk-icon-tags:before{content:"\f02c"}.uk-icon-book:before{content:"\f02d"}.uk-icon-bookmark:before{content:"\f02e"}.uk-icon-print:before{content:"\f02f"}.uk-icon-camera:before{content:"\f030"}.uk-icon-font:before{content:"\f031"}.uk-icon-bold:before{content:"\f032"}.uk-icon-italic:before{content:"\f033"}.uk-icon-text-height:before{content:"\f034"}.uk-icon-text-width:before{content:"\f035"}.uk-icon-align-left:before{content:"\f036"}.uk-icon-align-center:before{content:"\f037"}.uk-icon-align-right:before{content:"\f038"}.uk-icon-align-justify:before{content:"\f039"}.uk-icon-list:before{content:"\f03a"}.uk-icon-dedent:before,.uk-icon-outdent:before{content:"\f03b"}.uk-icon-indent:before{content:"\f03c"}.uk-icon-video-camera:before{content:"\f03d"}.uk-icon-photo:before,.uk-icon-image:before,.uk-icon-picture-o:before{content:"\f03e"}.uk-icon-pencil:before{content:"\f040"}.uk-icon-map-marker:before{content:"\f041"}.uk-icon-adjust:before{content:"\f042"}.uk-icon-tint:before{content:"\f043"}.uk-icon-edit:before,.uk-icon-pencil-square-o:before{content:"\f044"}.uk-icon-share-square-o:before{content:"\f045"}.uk-icon-check-square-o:before{content:"\f046"}.uk-icon-arrows:before{content:"\f047"}.uk-icon-step-backward:before{content:"\f048"}.uk-icon-fast-backward:before{content:"\f049"}.uk-icon-backward:before{content:"\f04a"}.uk-icon-play:before{content:"\f04b"}.uk-icon-pause:before{content:"\f04c"}.uk-icon-stop:before{content:"\f04d"}.uk-icon-forward:before{content:"\f04e"}.uk-icon-fast-forward:before{content:"\f050"}.uk-icon-step-forward:before{content:"\f051"}.uk-icon-eject:before{content:"\f052"}.uk-icon-chevron-left:before{content:"\f053"}.uk-icon-chevron-right:before{content:"\f054"}.uk-icon-plus-circle:before{content:"\f055"}.uk-icon-minus-circle:before{content:"\f056"}.uk-icon-times-circle:before{content:"\f057"}.uk-icon-check-circle:before{content:"\f058"}.uk-icon-question-circle:before{content:"\f059"}.uk-icon-info-circle:before{content:"\f05a"}.uk-icon-crosshairs:before{content:"\f05b"}.uk-icon-times-circle-o:before{content:"\f05c"}.uk-icon-check-circle-o:before{content:"\f05d"}.uk-icon-ban:before{content:"\f05e"}.uk-icon-arrow-left:before{content:"\f060"}.uk-icon-arrow-right:before{content:"\f061"}.uk-icon-arrow-up:before{content:"\f062"}.uk-icon-arrow-down:before{content:"\f063"}.uk-icon-mail-forward:before,.uk-icon-share:before{content:"\f064"}.uk-icon-expand:before{content:"\f065"}.uk-icon-compress:before{content:"\f066"}.uk-icon-plus:before{content:"\f067"}.uk-icon-minus:before{content:"\f068"}.uk-icon-asterisk:before{content:"\f069"}.uk-icon-exclamation-circle:before{content:"\f06a"}.uk-icon-gift:before{content:"\f06b"}.uk-icon-leaf:before{content:"\f06c"}.uk-icon-fire:before{content:"\f06d"}.uk-icon-eye:before{content:"\f06e"}.uk-icon-eye-slash:before{content:"\f070"}.uk-icon-warning:before,.uk-icon-exclamation-triangle:before{content:"\f071"}.uk-icon-plane:before{content:"\f072"}.uk-icon-calendar:before{content:"\f073"}.uk-icon-random:before{content:"\f074"}.uk-icon-comment:before{content:"\f075"}.uk-icon-magnet:before{content:"\f076"}.uk-icon-chevron-up:before{content:"\f077"}.uk-icon-chevron-down:before{content:"\f078"}.uk-icon-retweet:before{content:"\f079"}.uk-icon-shopping-cart:before{content:"\f07a"}.uk-icon-folder:before{content:"\f07b"}.uk-icon-folder-open:before{content:"\f07c"}.uk-icon-arrows-v:before{content:"\f07d"}.uk-icon-arrows-h:before{content:"\f07e"}.uk-icon-bar-chart-o:before,.uk-icon-bar-chart:before{content:"\f080"}.uk-icon-twitter-square:before{content:"\f081"}.uk-icon-facebook-square:before{content:"\f082"}.uk-icon-camera-retro:before{content:"\f083"}.uk-icon-key:before{content:"\f084"}.uk-icon-gears:before,.uk-icon-cogs:before{content:"\f085"}.uk-icon-comments:before{content:"\f086"}.uk-icon-thumbs-o-up:before{content:"\f087"}.uk-icon-thumbs-o-down:before{content:"\f088"}.uk-icon-star-half:before{content:"\f089"}.uk-icon-heart-o:before{content:"\f08a"}.uk-icon-sign-out:before{content:"\f08b"}.uk-icon-linkedin-square:before{content:"\f08c"}.uk-icon-thumb-tack:before{content:"\f08d"}.uk-icon-external-link:before{content:"\f08e"}.uk-icon-sign-in:before{content:"\f090"}.uk-icon-trophy:before{content:"\f091"}.uk-icon-github-square:before{content:"\f092"}.uk-icon-upload:before{content:"\f093"}.uk-icon-lemon-o:before{content:"\f094"}.uk-icon-phone:before{content:"\f095"}.uk-icon-square-o:before{content:"\f096"}.uk-icon-bookmark-o:before{content:"\f097"}.uk-icon-phone-square:before{content:"\f098"}.uk-icon-twitter:before{content:"\f099"}.uk-icon-facebook:before{content:"\f09a"}.uk-icon-github:before{content:"\f09b"}.uk-icon-unlock:before{content:"\f09c"}.uk-icon-credit-card:before{content:"\f09d"}.uk-icon-rss:before{content:"\f09e"}.uk-icon-hdd-o:before{content:"\f0a0"}.uk-icon-bullhorn:before{content:"\f0a1"}.uk-icon-bell:before{content:"\f0f3"}.uk-icon-certificate:before{content:"\f0a3"}.uk-icon-hand-o-right:before{content:"\f0a4"}.uk-icon-hand-o-left:before{content:"\f0a5"}.uk-icon-hand-o-up:before{content:"\f0a6"}.uk-icon-hand-o-down:before{content:"\f0a7"}.uk-icon-arrow-circle-left:before{content:"\f0a8"}.uk-icon-arrow-circle-right:before{content:"\f0a9"}.uk-icon-arrow-circle-up:before{content:"\f0aa"}.uk-icon-arrow-circle-down:before{content:"\f0ab"}.uk-icon-globe:before{content:"\f0ac"}.uk-icon-wrench:before{content:"\f0ad"}.uk-icon-tasks:before{content:"\f0ae"}.uk-icon-filter:before{content:"\f0b0"}.uk-icon-briefcase:before{content:"\f0b1"}.uk-icon-arrows-alt:before{content:"\f0b2"}.uk-icon-group:before,.uk-icon-users:before{content:"\f0c0"}.uk-icon-chain:before,.uk-icon-link:before{content:"\f0c1"}.uk-icon-cloud:before{content:"\f0c2"}.uk-icon-flask:before{content:"\f0c3"}.uk-icon-cut:before,.uk-icon-scissors:before{content:"\f0c4"}.uk-icon-copy:before,.uk-icon-files-o:before{content:"\f0c5"}.uk-icon-paperclip:before{content:"\f0c6"}.uk-icon-save:before,.uk-icon-floppy-o:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-navicon:before,.uk-icon-reorder:before,.uk-icon-bars:before{content:"\f0c9"}.uk-icon-list-ul:before{content:"\f0ca"}.uk-icon-list-ol:before{content:"\f0cb"}.uk-icon-strikethrough:before{content:"\f0cc"}.uk-icon-underline:before{content:"\f0cd"}.uk-icon-table:before{content:"\f0ce"}.uk-icon-magic:before{content:"\f0d0"}.uk-icon-truck:before{content:"\f0d1"}.uk-icon-pinterest:before{content:"\f0d2"}.uk-icon-pinterest-square:before{content:"\f0d3"}.uk-icon-google-plus-square:before{content:"\f0d4"}.uk-icon-google-plus:before{content:"\f0d5"}.uk-icon-money:before{content:"\f0d6"}.uk-icon-caret-down:before{content:"\f0d7"}.uk-icon-caret-up:before{content:"\f0d8"}.uk-icon-caret-left:before{content:"\f0d9"}.uk-icon-caret-right:before{content:"\f0da"}.uk-icon-columns:before{content:"\f0db"}.uk-icon-unsorted:before,.uk-icon-sort:before{content:"\f0dc"}.uk-icon-sort-down:before,.uk-icon-sort-desc:before{content:"\f0dd"}.uk-icon-sort-up:before,.uk-icon-sort-asc:before{content:"\f0de"}.uk-icon-envelope:before{content:"\f0e0"}.uk-icon-linkedin:before{content:"\f0e1"}.uk-icon-rotate-left:before,.uk-icon-undo:before{content:"\f0e2"}.uk-icon-legal:before,.uk-icon-gavel:before{content:"\f0e3"}.uk-icon-dashboard:before,.uk-icon-tachometer:before{content:"\f0e4"}.uk-icon-comment-o:before{content:"\f0e5"}.uk-icon-comments-o:before{content:"\f0e6"}.uk-icon-flash:before,.uk-icon-bolt:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-paste:before,.uk-icon-clipboard:before{content:"\f0ea"}.uk-icon-lightbulb-o:before{content:"\f0eb"}.uk-icon-exchange:before{content:"\f0ec"}.uk-icon-cloud-download:before{content:"\f0ed"}.uk-icon-cloud-upload:before{content:"\f0ee"}.uk-icon-user-md:before{content:"\f0f0"}.uk-icon-stethoscope:before{content:"\f0f1"}.uk-icon-suitcase:before{content:"\f0f2"}.uk-icon-bell-o:before{content:"\f0a2"}.uk-icon-coffee:before{content:"\f0f4"}.uk-icon-cutlery:before{content:"\f0f5"}.uk-icon-file-text-o:before{content:"\f0f6"}.uk-icon-building-o:before{content:"\f0f7"}.uk-icon-hospital-o:before{content:"\f0f8"}.uk-icon-ambulance:before{content:"\f0f9"}.uk-icon-medkit:before{content:"\f0fa"}.uk-icon-fighter-jet:before{content:"\f0fb"}.uk-icon-beer:before{content:"\f0fc"}.uk-icon-h-square:before{content:"\f0fd"}.uk-icon-plus-square:before{content:"\f0fe"}.uk-icon-angle-double-left:before{content:"\f100"}.uk-icon-angle-double-right:before{content:"\f101"}.uk-icon-angle-double-up:before{content:"\f102"}.uk-icon-angle-double-down:before{content:"\f103"}.uk-icon-angle-left:before{content:"\f104"}.uk-icon-angle-right:before{content:"\f105"}.uk-icon-angle-up:before{content:"\f106"}.uk-icon-angle-down:before{content:"\f107"}.uk-icon-desktop:before{content:"\f108"}.uk-icon-laptop:before{content:"\f109"}.uk-icon-tablet:before{content:"\f10a"}.uk-icon-mobile-phone:before,.uk-icon-mobile:before{content:"\f10b"}.uk-icon-circle-o:before{content:"\f10c"}.uk-icon-quote-left:before{content:"\f10d"}.uk-icon-quote-right:before{content:"\f10e"}.uk-icon-spinner:before{content:"\f110"}.uk-icon-circle:before{content:"\f111"}.uk-icon-mail-reply:before,.uk-icon-reply:before{content:"\f112"}.uk-icon-github-alt:before{content:"\f113"}.uk-icon-folder-o:before{content:"\f114"}.uk-icon-folder-open-o:before{content:"\f115"}.uk-icon-smile-o:before{content:"\f118"}.uk-icon-frown-o:before{content:"\f119"}.uk-icon-meh-o:before{content:"\f11a"}.uk-icon-gamepad:before{content:"\f11b"}.uk-icon-keyboard-o:before{content:"\f11c"}.uk-icon-flag-o:before{content:"\f11d"}.uk-icon-flag-checkered:before{content:"\f11e"}.uk-icon-terminal:before{content:"\f120"}.uk-icon-code:before{content:"\f121"}.uk-icon-mail-reply-all:before,.uk-icon-reply-all:before{content:"\f122"}.uk-icon-star-half-empty:before,.uk-icon-star-half-full:before,.uk-icon-star-half-o:before{content:"\f123"}.uk-icon-location-arrow:before{content:"\f124"}.uk-icon-crop:before{content:"\f125"}.uk-icon-code-fork:before{content:"\f126"}.uk-icon-unlink:before,.uk-icon-chain-broken:before{content:"\f127"}.uk-icon-question:before{content:"\f128"}.uk-icon-info:before{content:"\f129"}.uk-icon-exclamation:before{content:"\f12a"}.uk-icon-superscript:before{content:"\f12b"}.uk-icon-subscript:before{content:"\f12c"}.uk-icon-eraser:before{content:"\f12d"}.uk-icon-puzzle-piece:before{content:"\f12e"}.uk-icon-microphone:before{content:"\f130"}.uk-icon-microphone-slash:before{content:"\f131"}.uk-icon-shield:before{content:"\f132"}.uk-icon-calendar-o:before{content:"\f133"}.uk-icon-fire-extinguisher:before{content:"\f134"}.uk-icon-rocket:before{content:"\f135"}.uk-icon-maxcdn:before{content:"\f136"}.uk-icon-chevron-circle-left:before{content:"\f137"}.uk-icon-chevron-circle-right:before{content:"\f138"}.uk-icon-chevron-circle-up:before{content:"\f139"}.uk-icon-chevron-circle-down:before{content:"\f13a"}.uk-icon-html5:before{content:"\f13b"}.uk-icon-css3:before{content:"\f13c"}.uk-icon-anchor:before{content:"\f13d"}.uk-icon-unlock-alt:before{content:"\f13e"}.uk-icon-bullseye:before{content:"\f140"}.uk-icon-ellipsis-h:before{content:"\f141"}.uk-icon-ellipsis-v:before{content:"\f142"}.uk-icon-rss-square:before{content:"\f143"}.uk-icon-play-circle:before{content:"\f144"}.uk-icon-ticket:before{content:"\f145"}.uk-icon-minus-square:before{content:"\f146"}.uk-icon-minus-square-o:before{content:"\f147"}.uk-icon-level-up:before{content:"\f148"}.uk-icon-level-down:before{content:"\f149"}.uk-icon-check-square:before{content:"\f14a"}.uk-icon-pencil-square:before{content:"\f14b"}.uk-icon-external-link-square:before{content:"\f14c"}.uk-icon-share-square:before{content:"\f14d"}.uk-icon-compass:before{content:"\f14e"}.uk-icon-toggle-down:before,.uk-icon-caret-square-o-down:before{content:"\f150"}.uk-icon-toggle-up:before,.uk-icon-caret-square-o-up:before{content:"\f151"}.uk-icon-toggle-right:before,.uk-icon-caret-square-o-right:before{content:"\f152"}.uk-icon-euro:before,.uk-icon-eur:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-rupee:before,.uk-icon-inr:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-rmb:before,.uk-icon-yen:before,.uk-icon-jpy:before{content:"\f157"}.uk-icon-ruble:before,.uk-icon-rouble:before,.uk-icon-rub:before{content:"\f158"}.uk-icon-won:before,.uk-icon-krw:before{content:"\f159"}.uk-icon-bitcoin:before,.uk-icon-btc:before{content:"\f15a"}.uk-icon-file:before{content:"\f15b"}.uk-icon-file-text:before{content:"\f15c"}.uk-icon-sort-alpha-asc:before{content:"\f15d"}.uk-icon-sort-alpha-desc:before{content:"\f15e"}.uk-icon-sort-amount-asc:before{content:"\f160"}.uk-icon-sort-amount-desc:before{content:"\f161"}.uk-icon-sort-numeric-asc:before{content:"\f162"}.uk-icon-sort-numeric-desc:before{content:"\f163"}.uk-icon-thumbs-up:before{content:"\f164"}.uk-icon-thumbs-down:before{content:"\f165"}.uk-icon-youtube-square:before{content:"\f166"}.uk-icon-youtube:before{content:"\f167"}.uk-icon-xing:before{content:"\f168"}.uk-icon-xing-square:before{content:"\f169"}.uk-icon-youtube-play:before{content:"\f16a"}.uk-icon-dropbox:before{content:"\f16b"}.uk-icon-stack-overflow:before{content:"\f16c"}.uk-icon-instagram:before{content:"\f16d"}.uk-icon-flickr:before{content:"\f16e"}.uk-icon-adn:before{content:"\f170"}.uk-icon-bitbucket:before{content:"\f171"}.uk-icon-bitbucket-square:before{content:"\f172"}.uk-icon-tumblr:before{content:"\f173"}.uk-icon-tumblr-square:before{content:"\f174"}.uk-icon-long-arrow-down:before{content:"\f175"}.uk-icon-long-arrow-up:before{content:"\f176"}.uk-icon-long-arrow-left:before{content:"\f177"}.uk-icon-long-arrow-right:before{content:"\f178"}.uk-icon-apple:before{content:"\f179"}.uk-icon-windows:before{content:"\f17a"}.uk-icon-android:before{content:"\f17b"}.uk-icon-linux:before{content:"\f17c"}.uk-icon-dribbble:before{content:"\f17d"}.uk-icon-skype:before{content:"\f17e"}.uk-icon-foursquare:before{content:"\f180"}.uk-icon-trello:before{content:"\f181"}.uk-icon-female:before{content:"\f182"}.uk-icon-male:before{content:"\f183"}.uk-icon-gittip:before{content:"\f184"}.uk-icon-sun-o:before{content:"\f185"}.uk-icon-moon-o:before{content:"\f186"}.uk-icon-archive:before{content:"\f187"}.uk-icon-bug:before{content:"\f188"}.uk-icon-vk:before{content:"\f189"}.uk-icon-weibo:before{content:"\f18a"}.uk-icon-renren:before{content:"\f18b"}.uk-icon-pagelines:before{content:"\f18c"}.uk-icon-stack-exchange:before{content:"\f18d"}.uk-icon-arrow-circle-o-right:before{content:"\f18e"}.uk-icon-arrow-circle-o-left:before{content:"\f190"}.uk-icon-toggle-left:before,.uk-icon-caret-square-o-left:before{content:"\f191"}.uk-icon-dot-circle-o:before{content:"\f192"}.uk-icon-wheelchair:before{content:"\f193"}.uk-icon-vimeo-square:before{content:"\f194"}.uk-icon-turkish-lira:before,.uk-icon-try:before{content:"\f195"}.uk-icon-plus-square-o:before{content:"\f196"}.uk-icon-space-shuttle:before{content:"\f197"}.uk-icon-slack:before{content:"\f198"}.uk-icon-envelope-square:before{content:"\f199"}.uk-icon-wordpress:before{content:"\f19a"}.uk-icon-openid:before{content:"\f19b"}.uk-icon-institution:before,.uk-icon-bank:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-mortar-board:before,.uk-icon-graduation-cap:before{content:"\f19d"}.uk-icon-yahoo:before{content:"\f19e"}.uk-icon-google:before{content:"\f1a0"}.uk-icon-reddit:before{content:"\f1a1"}.uk-icon-reddit-square:before{content:"\f1a2"}.uk-icon-stumbleupon-circle:before{content:"\f1a3"}.uk-icon-stumbleupon:before{content:"\f1a4"}.uk-icon-delicious:before{content:"\f1a5"}.uk-icon-digg:before{content:"\f1a6"}.uk-icon-pied-piper:before{content:"\f1a7"}.uk-icon-pied-piper-alt:before{content:"\f1a8"}.uk-icon-drupal:before{content:"\f1a9"}.uk-icon-joomla:before{content:"\f1aa"}.uk-icon-language:before{content:"\f1ab"}.uk-icon-fax:before{content:"\f1ac"}.uk-icon-building:before{content:"\f1ad"}.uk-icon-child:before{content:"\f1ae"}.uk-icon-paw:before{content:"\f1b0"}.uk-icon-spoon:before{content:"\f1b1"}.uk-icon-cube:before{content:"\f1b2"}.uk-icon-cubes:before{content:"\f1b3"}.uk-icon-behance:before{content:"\f1b4"}.uk-icon-behance-square:before{content:"\f1b5"}.uk-icon-steam:before{content:"\f1b6"}.uk-icon-steam-square:before{content:"\f1b7"}.uk-icon-recycle:before{content:"\f1b8"}.uk-icon-automobile:before,.uk-icon-car:before{content:"\f1b9"}.uk-icon-cab:before,.uk-icon-taxi:before{content:"\f1ba"}.uk-icon-tree:before{content:"\f1bb"}.uk-icon-spotify:before{content:"\f1bc"}.uk-icon-deviantart:before{content:"\f1bd"}.uk-icon-soundcloud:before{content:"\f1be"}.uk-icon-database:before{content:"\f1c0"}.uk-icon-file-pdf-o:before{content:"\f1c1"}.uk-icon-file-word-o:before{content:"\f1c2"}.uk-icon-file-excel-o:before{content:"\f1c3"}.uk-icon-file-powerpoint-o:before{content:"\f1c4"}.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before,.uk-icon-file-image-o:before{content:"\f1c5"}.uk-icon-file-zip-o:before,.uk-icon-file-archive-o:before{content:"\f1c6"}.uk-icon-file-sound-o:before,.uk-icon-file-audio-o:before{content:"\f1c7"}.uk-icon-file-movie-o:before,.uk-icon-file-video-o:before{content:"\f1c8"}.uk-icon-file-code-o:before{content:"\f1c9"}.uk-icon-vine:before{content:"\f1ca"}.uk-icon-codepen:before{content:"\f1cb"}.uk-icon-jsfiddle:before{content:"\f1cc"}.uk-icon-life-bouy:before,.uk-icon-life-buoy:before,.uk-icon-life-saver:before,.uk-icon-support:before,.uk-icon-life-ring:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-ge:before,.uk-icon-empire:before{content:"\f1d1"}.uk-icon-git-square:before{content:"\f1d2"}.uk-icon-git:before{content:"\f1d3"}.uk-icon-hacker-news:before{content:"\f1d4"}.uk-icon-tencent-weibo:before{content:"\f1d5"}.uk-icon-qq:before{content:"\f1d6"}.uk-icon-wechat:before,.uk-icon-weixin:before{content:"\f1d7"}.uk-icon-send:before,.uk-icon-paper-plane:before{content:"\f1d8"}.uk-icon-send-o:before,.uk-icon-paper-plane-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before{content:"\f1db"}.uk-icon-header:before{content:"\f1dc"}.uk-icon-paragraph:before{content:"\f1dd"}.uk-icon-sliders:before{content:"\f1de"}.uk-icon-share-alt:before{content:"\f1e0"}.uk-icon-share-alt-square:before{content:"\f1e1"}.uk-icon-bomb:before{content:"\f1e2"}.uk-icon-soccer-ball-o:before,.uk-icon-futbol-o:before{content:"\f1e3"}.uk-icon-tty:before{content:"\f1e4"}.uk-icon-binoculars:before{content:"\f1e5"}.uk-icon-plug:before{content:"\f1e6"}.uk-icon-slideshare:before{content:"\f1e7"}.uk-icon-twitch:before{content:"\f1e8"}.uk-icon-yelp:before{content:"\f1e9"}.uk-icon-newspaper-o:before{content:"\f1ea"}.uk-icon-wifi:before{content:"\f1eb"}.uk-icon-calculator:before{content:"\f1ec"}.uk-icon-paypal:before{content:"\f1ed"}.uk-icon-google-wallet:before{content:"\f1ee"}.uk-icon-cc-visa:before{content:"\f1f0"}.uk-icon-cc-mastercard:before{content:"\f1f1"}.uk-icon-cc-discover:before{content:"\f1f2"}.uk-icon-cc-amex:before{content:"\f1f3"}.uk-icon-cc-paypal:before{content:"\f1f4"}.uk-icon-cc-stripe:before{content:"\f1f5"}.uk-icon-bell-slash:before{content:"\f1f6"}.uk-icon-bell-slash-o:before{content:"\f1f7"}.uk-icon-trash:before{content:"\f1f8"}.uk-icon-copyright:before{content:"\f1f9"}.uk-icon-at:before{content:"\f1fa"}.uk-icon-eyedropper:before{content:"\f1fb"}.uk-icon-paint-brush:before{content:"\f1fc"}.uk-icon-birthday-cake:before{content:"\f1fd"}.uk-icon-area-chart:before{content:"\f1fe"}.uk-icon-pie-chart:before{content:"\f200"}.uk-icon-line-chart:before{content:"\f201"}.uk-icon-lastfm:before{content:"\f202"}.uk-icon-lastfm-square:before{content:"\f203"}.uk-icon-toggle-off:before{content:"\f204"}.uk-icon-toggle-on:before{content:"\f205"}.uk-icon-bicycle:before{content:"\f206"}.uk-icon-bus:before{content:"\f207"}.uk-icon-ioxhost:before{content:"\f208"}.uk-icon-angellist:before{content:"\f209"}.uk-icon-cc:before{content:"\f20a"}.uk-icon-shekel:before,.uk-icon-sheqel:before,.uk-icon-ils:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{-webkit-appearance:none;margin:0;border:none;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background:0 0;display:inline-block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;line-height:20px;text-align:center;vertical-align:middle;opacity:.3}.uk-close:after{display:block;content:"\f00d";font-family:FontAwesome}.uk-close:hover,.uk-close:focus{opacity:.5;outline:0;color:inherit;text-decoration:none;cursor:pointer}.uk-close-alt{padding:2px;border-radius:50%;background:#eee;opacity:1}.uk-close-alt:hover,.uk-close-alt:focus{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:hover:after,.uk-close-alt:focus:after{opacity:.8}.uk-badge{display:inline-block;padding:0 5px;background:#00a8e6;font-size:10px;font-weight:700;line-height:14px;color:#fff;text-align:center;vertical-align:middle;text-transform:none}a.uk-badge:hover{color:#fff}.uk-badge-notification{-moz-box-sizing:border-box;box-sizing:border-box;min-width:18px;border-radius:500px;font-size:12px;line-height:18px}.uk-badge-success{background-color:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px;background:#ebf7fd;color:#2d7091}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child{float:right}.uk-alert>.uk-close:first-child+*{margin-top:0}.uk-alert-success{background:#f2fae3;color:#659f13}.uk-alert-warning{background:#fffceb;color:#e28327}.uk-alert-danger{background:#fff1f0;color:#d85030}.uk-alert-large{padding:20px}.uk-alert-large>.uk-close:first-child{margin:-10px -10px 0 0}.uk-thumbnail{display:inline-block;max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px;border:1px solid #ddd;background:#fff}a.uk-thumbnail:hover,a.uk-thumbnail:focus{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{padding-top:4px;text-align:center;color:#444}.uk-thumbnail-mini{width:150px}.uk-thumbnail-small{width:200px}.uk-thumbnail-medium{width:300px}.uk-thumbnail-large{width:400px}.uk-thumbnail-expand,.uk-thumbnail-expand>img{width:100%}.uk-overlay{display:inline-block;position:relative;max-width:100%;vertical-align:middle;overflow:hidden}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-area{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay-toggle.uk-hover .uk-overlay-area{opacity:1}.uk-overlay-area:empty:before{content:"\f002";position:absolute;top:50%;left:50%;width:50px;height:50px;margin-top:-25px;margin-left:-25px;font-size:50px;line-height:1;font-family:FontAwesome;text-align:center;color:#fff}.uk-overlay-area:not(:empty){font-size:0}.uk-overlay-area:not(:empty):before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-overlay-area-content{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;vertical-align:middle;font-size:1rem;text-align:center;padding:0 15px;color:#fff}.uk-overlay-area-content>:last-child{margin-bottom:0}.uk-overlay-area-content a:not([class]),.uk-overlay-area-content a:not([class]):hover{color:inherit}.uk-overlay-caption{position:absolute;bottom:0;left:0;right:0;padding:15px;background:rgba(0,0,0,.5);color:#fff;opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;-webkit-transform:translate3d(0,0,0)}.uk-overlay:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay-toggle.uk-hover .uk-overlay-caption{opacity:1}.uk-progress{-moz-box-sizing:border-box;box-sizing:border-box;height:20px;margin-bottom:15px;background:#eee;overflow:hidden;line-height:20px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.uk-progress-striped .uk-progress-bar{background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-size:30px 30px}.uk-progress-striped.uk-active .uk-progress-bar{-webkit-animation:uk-progress-bar-stripes 2s linear infinite;animation:uk-progress-bar-stripes 2s linear infinite}@-webkit-keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}@keyframes uk-progress-bar-stripes{0%{background-position:0 0}100%{background-position:30px 0}}[class*=uk-animation-]{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@media screen{[data-uk-scrollspy*=uk-animation-]{opacity:0}}.uk-animation-fade{-webkit-animation-name:uk-fade;animation-name:uk-fade;-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.uk-animation-scale-up{-webkit-animation-name:uk-fade-scale-02;animation-name:uk-fade-scale-02}.uk-animation-scale-down{-webkit-animation-name:uk-fade-scale-18;animation-name:uk-fade-scale-18}.uk-animation-slide-top{-webkit-animation-name:uk-fade-top;animation-name:uk-fade-top}.uk-animation-slide-bottom{-webkit-animation-name:uk-fade-bottom;animation-name:uk-fade-bottom}.uk-animation-slide-left{-webkit-animation-name:uk-fade-left;animation-name:uk-fade-left}.uk-animation-slide-right{-webkit-animation-name:uk-fade-right;animation-name:uk-fade-right}.uk-animation-scale{-webkit-animation-name:uk-scale-12;animation-name:uk-scale-12}.uk-animation-shake{-webkit-animation-name:uk-shake;animation-name:uk-shake}.uk-animation-reverse{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.uk-animation-10{-webkit-animation-duration:10s;animation-duration:10s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}@-webkit-keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@keyframes uk-fade{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes uk-fade-top{0%{opacity:0;-webkit-transform:translateY(-100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-top{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-bottom{0%{opacity:0;-webkit-transform:translateY(100%)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-fade-bottom{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-fade-left{0%{opacity:0;-webkit-transform:translateX(-100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-left{0%{opacity:0;transform:translateX(-100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-right{0%{opacity:0;-webkit-transform:translateX(100%)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes uk-fade-right{0%{opacity:0;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(0.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(0.2)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-15{0%{opacity:0;-webkit-transform:scale(1.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-15{0%{opacity:0;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-fade-scale-18{0%{opacity:0;-webkit-transform:scale(1.8)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-18{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-left-33{0%{-webkit-transform:translateX(33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left-33{0%{transform:translateX(33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right-33{0%{-webkit-transform:translateX(-33%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right-33{0%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}@-webkit-keyframes uk-shake{0%,100%{-webkit-transform:translateX(0)}10%{-webkit-transform:translateX(-9px)}20%{-webkit-transform:translateX(8px)}30%{-webkit-transform:translateX(-7px)}40%{-webkit-transform:translateX(6px)}50%{-webkit-transform:translateX(-5px)}60%{-webkit-transform:translateX(4px)}70%{-webkit-transform:translateX(-3px)}80%{-webkit-transform:translateX(2px)}90%{-webkit-transform:translateX(-1px)}}@keyframes uk-shake{0%,100%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}@-webkit-keyframes uk-slide-top-fixed{0%{opacity:0;-webkit-transform:translateY(-10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-top-fixed{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes uk-slide-bottom-fixed{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes uk-slide-bottom-fixed{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown{display:none;position:absolute;top:100%;left:0;z-index:1020;-moz-box-sizing:border-box;box-sizing:border-box;width:200px;margin-top:5px;padding:15px;background:#f5f5f5;color:#444;font-size:1rem;vertical-align:top}.uk-open>.uk-dropdown{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-flip{left:auto;right:0}.uk-dropdown-up{top:auto;bottom:100%;margin-top:auto;margin-bottom:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}.uk-dropdown-grid>[class*=uk-width-]>.uk-panel+.uk-panel{margin-top:15px}@media (min-width:768px){.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid{margin-left:-15px;margin-right:-15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]{padding-left:15px;padding-right:15px}.uk-dropdown:not(.uk-dropdown-stack)>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){border-left:1px solid #ddd}.uk-dropdown-width-2:not(.uk-dropdown-stack){width:400px}.uk-dropdown-width-3:not(.uk-dropdown-stack){width:600px}.uk-dropdown-width-4:not(.uk-dropdown-stack){width:800px}.uk-dropdown-width-5:not(.uk-dropdown-stack){width:1000px}}@media (max-width:767px){.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]{width:100%}.uk-dropdown-stack>.uk-dropdown-grid>[class*=uk-width-]:nth-child(n+2){margin-top:15px}.uk-dropdown-small{min-width:150px;width:auto;padding:5px;white-space:nowrap}.uk-dropdown-small .uk-nav{margin:0 -5px}.uk-dropdown-navbar{margin-top:0;background:#f5f5f5;color:#444}.uk-open>.uk-dropdown-navbar{-webkit-animation:uk-slide-top-fixed .2s ease-in-out;animation:uk-slide-top-fixed .2s ease-in-out}.uk-dropdown-scrollable{overflow-y:auto;max-height:200px}.uk-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.6);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-modal.uk-open{opacity:1}.uk-modal-page,.uk-modal-page body{overflow:hidden}.uk-modal-dialog{position:relative;-moz-box-sizing:border-box;box-sizing:border-box;margin:50px auto;padding:20px;width:600px;max-width:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition:opacity .3s linear,-webkit-transform .3s ease-out;transition:opacity .3s linear,transform .3s ease-out}@media (max-width:767px){.uk-modal-dialog{width:auto;margin:10px}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:last-child{margin-bottom:0}.uk-modal-dialog>.uk-close:first-child{margin:-10px -10px 0 0;float:right}.uk-modal-dialog>.uk-close:first-child+*{margin-top:0}.uk-modal-dialog-frameless{padding:0}.uk-modal-dialog-frameless>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-frameless>.uk-close:first-child{top:-7px;right:-7px}}@media (min-width:768px){.uk-modal-dialog-large{width:930px}}@media (min-width:1220px){.uk-modal-dialog-large{width:1130px}}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(0,0,0,.1)}.uk-offcanvas.uk-active{display:block}.uk-offcanvas-page{position:fixed;-webkit-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out}.uk-offcanvas-bar{position:fixed;top:0;bottom:0;left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);z-index:1001;width:270px;max-width:100%;background:#333;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0%);transform:translateX(0%)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-offcanvas .uk-panel{margin:20px 15px;color:#777}.uk-offcanvas .uk-panel-title{color:#ccc}.uk-offcanvas .uk-panel a:not([class]){color:#ccc}.uk-offcanvas .uk-panel a:not([class]):hover{color:#fff}.uk-switcher{margin:0;padding:0;list-style:none}.uk-switcher>:not(.uk-active){display:none}.uk-tooltip{display:none;position:absolute;z-index:1030;-moz-box-sizing:border-box;box-sizing:border-box;max-width:200px;padding:5px 8px;background:#333;color:rgba(255,255,255,.7);font-size:12px;line-height:18px;text-align:center}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top:after,.uk-tooltip-top-left:after,.uk-tooltip-top-right:after{bottom:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-bottom-left:after,.uk-tooltip-bottom-right:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-top:after,.uk-tooltip-bottom:after{left:50%;margin-left:-5px}.uk-tooltip-top-left:after,.uk-tooltip-bottom-left:after{left:10px}.uk-tooltip-top-right:after,.uk-tooltip-bottom-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333}.uk-text-small{font-size:11px;line-height:16px}.uk-text-large{font-size:18px;line-height:24px;font-weight:400}.uk-text-bold{font-weight:700}.uk-text-muted{color:#999!important}.uk-text-primary{color:#2d7091!important}.uk-text-success{color:#659f13!important}.uk-text-warning{color:#e28327!important}.uk-text-danger{color:#d85030!important}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}@media (max-width:959px){.uk-text-center-medium{text-align:center!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-text-break{word-wrap:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.uk-container{-moz-box-sizing:border-box;box-sizing:border-box;max-width:980px;padding:0 25px}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:before,.uk-container:after{content:" ";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before,.uk-clearfix:after{content:" ";display:table}.uk-clearfix:after{clear:both}.uk-nbfc{overflow:hidden}.uk-nbfc-alt{display:table-cell;width:10000px}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}[class*=uk-align-]{display:block;margin-bottom:15px}.uk-align-left{margin-right:15px;float:left}.uk-align-right{margin-left:15px;float:right}@media (min-width:768px){.uk-align-medium-left{margin-right:15px;margin-bottom:15px;float:left}.uk-align-medium-right{margin-left:15px;margin-bottom:15px;float:right}}.uk-align-center{margin-left:auto;margin-right:auto}.uk-vertical-align{font-size:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-middle,.uk-vertical-align-bottom{display:inline-block;max-width:100%;font-size:1rem}.uk-vertical-align-middle{vertical-align:middle}.uk-vertical-align-bottom{vertical-align:bottom}[class*=uk-height]{-moz-box-sizing:border-box;box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{height:100vh;min-height:600px}.uk-responsive-width,.uk-responsive-height{-moz-box-sizing:border-box;box-sizing:border-box}.uk-responsive-width{max-width:100%;height:auto}.uk-responsive-height{max-height:100%;width:auto}.uk-margin{margin-bottom:15px}*+.uk-margin{margin-top:15px}.uk-margin-top{margin-top:15px!important}.uk-margin-bottom{margin-bottom:15px!important}.uk-margin-left{margin-left:15px!important}.uk-margin-right{margin-right:15px!important}.uk-margin-large{margin-bottom:50px}*+.uk-margin-large{margin-top:50px}.uk-margin-large-top{margin-top:50px!important}.uk-margin-large-bottom{margin-bottom:50px!important}.uk-margin-large-left{margin-left:50px!important}.uk-margin-large-right{margin-right:50px!important}.uk-margin-small{margin-bottom:5px}*+.uk-margin-small{margin-top:5px}.uk-margin-small-top{margin-top:5px!important}.uk-margin-small-bottom{margin-bottom:5px!important}.uk-margin-small-left{margin-left:5px!important}.uk-margin-small-right{margin-right:5px!important}.uk-margin-remove{margin:0!important}.uk-margin-top-remove{margin-top:0!important}.uk-margin-bottom-remove{margin-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}@media (min-width:768px){.uk-heading-large{font-size:52px;line-height:64px}}.uk-link-muted,.uk-link-muted a{color:#444}.uk-link-muted:hover,.uk-link-muted a:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset:hover,.uk-link-reset a:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{-moz-box-sizing:border-box;box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute{position:absolute!important}.uk-position-relative{position:relative!important}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important}@media (min-width:960px){.uk-visible-small{display:none!important}.uk-visible-medium{display:none!important}.uk-hidden-large{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-visible-small{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important;visibility:hidden!important}.uk-invisible{visibility:hidden!important}.uk-visible-hover:hover .uk-hidden,.uk-visible-hover:hover .uk-invisible{display:block!important;visibility:visible!important}.uk-visible-hover-inline:hover .uk-hidden,.uk-visible-hover-inline:hover .uk-invisible{display:inline-block!important;visibility:visible!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}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}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/gadget.json b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/gadget.json new file mode 100644 index 0000000000..5216984977 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/gadget.json @@ -0,0 +1,26 @@ +{ + "id": "geo-dashboard", + "title": "Geo Dashboard", + "type": "widget", + "thumbnail": "gadget/geo-dashboard/img/thumbnail.png", + "settings": { + "personalize": true + }, + "data": { + "url": "gadget/geo-dashboard/index.xml" + }, + "styles": { + "borders": false, + "title": false + }, + "notify": { + "select": { + "type": "address", + "description": "This notifies selected state" + }, + "cancel": { + "type": "boolean", + "description": "This notifies cancellation of state selection" + } + } +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/fav/wso2_fav.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/fav/wso2_fav.png new file mode 100644 index 0000000000..15f87be78d Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/fav/wso2_fav.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-120.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-120.png new file mode 100644 index 0000000000..4be5ee49a0 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-120.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-152.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-152.png new file mode 100644 index 0000000000..5cd63423ab Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-152.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-196.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-196.png new file mode 100644 index 0000000000..cea6af7275 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-196.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-76.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-76.png new file mode 100644 index 0000000000..a43d7e63c3 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon-76.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon.ico b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon.ico new file mode 100644 index 0000000000..4b9e7d6d60 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/favicon.ico differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/layers-2x.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/layers-2x.png new file mode 100644 index 0000000000..a2cf7f9efe Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/layers-2x.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/layers.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/layers.png new file mode 100644 index 0000000000..bca0a0e429 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/layers.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-icon-2x.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-icon-2x.png new file mode 100644 index 0000000000..0015b6495f Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-icon-2x.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-icon.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-icon.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-icon.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-shadow.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-shadow.png new file mode 100644 index 0000000000..d1e773c715 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/marker-shadow.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/STOP.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/STOP.png new file mode 100644 index 0000000000..d8ae0b20d0 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/STOP.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/VEHICLE.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/VEHICLE.png new file mode 100644 index 0000000000..aa240851c2 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/VEHICLE.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_alerted.png new file mode 100644 index 0000000000..064b8a610d Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_normal.png new file mode 100644 index 0000000000..aa240851c2 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_offline.png new file mode 100644 index 0000000000..3266b65261 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_warning.png new file mode 100644 index 0000000000..660253dfe9 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/arrow_warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/danger.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/danger.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/danger.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/greenMarker.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/greenMarker.png new file mode 100644 index 0000000000..d73343dfe5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/greenMarker.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/marker-icon.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/marker-icon.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/marker-icon.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/marker-shadow.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/marker-shadow.png new file mode 100644 index 0000000000..d1e773c715 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/marker-shadow.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/pinkMarker.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/pinkMarker.png new file mode 100644 index 0000000000..57366df789 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/pinkMarker.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/redMarker.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/redMarker.png new file mode 100644 index 0000000000..5af0c6a427 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/default_icons/redMarker.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/info.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/info.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/info.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-alerted.png new file mode 100644 index 0000000000..064b8a610d Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-normal.png new file mode 100644 index 0000000000..aa240851c2 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-offline.png new file mode 100644 index 0000000000..3266b65261 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-warning.png new file mode 100644 index 0000000000..660253dfe9 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/moving/device-warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-alerted.png new file mode 100644 index 0000000000..b1f3e5f82a Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-normal.png new file mode 100644 index 0000000000..caf3ac2341 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-offline.png new file mode 100644 index 0000000000..1eb2595e52 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-warning.png new file mode 100644 index 0000000000..52595255cf Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/device-warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-alerted.png new file mode 100644 index 0000000000..5af0c6a427 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-normal.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-normal2.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-normal2.png new file mode 100644 index 0000000000..d73343dfe5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-normal2.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-offline.png new file mode 100644 index 0000000000..b3735f28a7 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-warning.png new file mode 100644 index 0000000000..57366df789 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/non_moving/stationary-warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/alerted.png new file mode 100644 index 0000000000..064b8a610d Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/normal.png new file mode 100644 index 0000000000..aa240851c2 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/offline.png new file mode 100644 index 0000000000..3266b65261 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/warning.png new file mode 100644 index 0000000000..660253dfe9 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/moving/warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/alerted.png new file mode 100644 index 0000000000..b1f3e5f82a Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/normal.png new file mode 100644 index 0000000000..caf3ac2341 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/offline.png new file mode 100644 index 0000000000..1eb2595e52 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/warning.png new file mode 100644 index 0000000000..52595255cf Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/default/non-moving/warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/alerted.png new file mode 100644 index 0000000000..5af0c6a427 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/normal.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/normal2.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/normal2.png new file mode 100644 index 0000000000..d73343dfe5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/normal2.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/offline.png new file mode 100644 index 0000000000..b3735f28a7 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/warning.png new file mode 100644 index 0000000000..57366df789 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stationary/non-moving/warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/alerted.png new file mode 100644 index 0000000000..5af0c6a427 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/normal.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/normal2.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/normal2.png new file mode 100644 index 0000000000..d73343dfe5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/normal2.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/offline.png new file mode 100644 index 0000000000..b3735f28a7 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/warning.png new file mode 100644 index 0000000000..57366df789 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/stop/non-moving/warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/alerted.png new file mode 100644 index 0000000000..064b8a610d Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/normal.png new file mode 100644 index 0000000000..aa240851c2 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/offline.png new file mode 100644 index 0000000000..3266b65261 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/warning.png new file mode 100644 index 0000000000..660253dfe9 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/moving/warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/alerted.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/alerted.png new file mode 100644 index 0000000000..b1f3e5f82a Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/alerted.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/normal.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/normal.png new file mode 100644 index 0000000000..caf3ac2341 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/normal.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/offline.png new file mode 100644 index 0000000000..1eb2595e52 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/warning.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/warning.png new file mode 100644 index 0000000000..52595255cf Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/object-types/vehicle/non-moving/warning.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/offline.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/offline.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/offline.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/resize.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/resize.png new file mode 100644 index 0000000000..033898ecff Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/resize.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/resize_2.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/resize_2.png new file mode 100644 index 0000000000..47e5bef599 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/resize_2.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/stopIcon.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/stopIcon.png new file mode 100644 index 0000000000..d8ae0b20d0 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/stopIcon.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/warn.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/warn.png new file mode 100644 index 0000000000..e2e9f757f5 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/markers/warn.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/thumbnail.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/thumbnail.png new file mode 100644 index 0000000000..eaea0e7a91 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/thumbnail.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/wso2-logo.png b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/wso2-logo.png new file mode 100644 index 0000000000..81de1a8869 Binary files /dev/null and b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/img/wso2-logo.png differ diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/commons.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/commons.jag new file mode 100644 index 0000000000..c0c40ab423 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/commons.jag @@ -0,0 +1,39 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ +var escapeSiddhiql = function (s) { + XML_CHAR_MAP = { + '<': '<', + '>': '>', + '&': '&', + '"': '"', + "'": ''' + }; + return s.replace(/[<>&"']/g, function (ch) { + return XML_CHAR_MAP[ch]; + }); +}; + +var cepInfo = function () { + var configuration = require("../conf/cep_info.json"); + return configuration; +}; + +// TODO: move to new datastore api +var dataStore = new MetadataStore("admin", "admin"); +%> \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/database.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/database.jag new file mode 100644 index 0000000000..7e5325cc15 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/database.jag @@ -0,0 +1,20 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + var configuration = require('../conf/database.json'); +%> diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/store_alerts.jag b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/store_alerts.jag new file mode 100644 index 0000000000..5b1b3b825c --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/include/store_alerts.jag @@ -0,0 +1,150 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + +// TODO: change the name of this jaggery file even thoe it says 'store_alerts' it is actually removing the alerts from the data store as well o.O wired + +var dataStore = require('../include/commons.jag').dataStore; +var log = new Log(); +var deviceIdSeperator = "---"; + +function store(parameterKeyName, resourceContents, executionPlan, optional, deviceId) { + log.info("DEBUG:*** resourceContents:" + resourceContents); + if (executionPlan == "Speed") { + var currentLimit; + var speedFile = "speed" + deviceIdSeperator + ".json"; + try { + currentLimit = dataStore.get(speedFile); + } + catch (e) { + log.info("DEBUG:*** Catch error:" + e.message); + currentLimit = dataStore.newResource(); + currentLimit.mediaType = 'application/json'; + currentLimit.description = "User define speed limit for display alerts."; + } + currentLimit.content = String('{"speedLimit": ' + resourceContents + '}'); + dataStore.put(speedFile, currentLimit); + log.info("DEBUG:*** Current speed limit set to:" + currentLimit.content); + } + else if (executionPlan == "Within") { + try { + var res = dataStore.get("geo/alerts/within"); + } + catch (e) { + var geo = dataStore.newCollection(); + var alerts = dataStore.newCollection(); + var within = dataStore.newCollection(); + + dataStore.put("geo", geo); + dataStore.put("alerts", alerts); + dataStore.put("within", within); + + } + log.info("DEBUG:****** resourceContents = " + String('{"geoJson": ' + resourceContents + '}')); + var resource = dataStore.newResource(); + resource.addProperty("queryName", optional.queryName); + resource.addProperty("areaName", optional.customName); + resource.mediaType = 'application/json'; + resource.content = String(resourceContents); + dataStore.put(String("geo/alerts/within/" + optional.queryName + deviceIdSeperator + deviceId + ".json"), resource); + } else if (executionPlan == "Proximity") { + + try { + var res = dataStore.get("geo/alerts/proximity"); + } + catch (e) { + var geo = dataStore.newCollection(); + var alerts = dataStore.newCollection(); + var proximity = dataStore.newCollection(); + + dataStore.put("geo", geo); + dataStore.put("alerts", alerts); + dataStore.put("proximity", proximity); + } + log.info("DEBUG:****** resourceContents = " + resourceContents); + var resource = dataStore.newResource(); + resource.addProperty("proximityDistance", resourceContents.proximityDistance); + resource.addProperty("proximityTime", resourceContents.proximityTime); + dataStore.put(String("geo/alerts/proximity/" + optional.executionPlan + deviceIdSeperator + deviceId + ".json"), resource); + + } else if (executionPlan == "Stationery") { + + try { + var res = dataStore.get("geo/alerts/stationery"); + } + catch (e) { + var geo = dataStore.newCollection(); + var alerts = dataStore.newCollection(); + var stationery = dataStore.newCollection(); + + dataStore.put("geo", geo); + dataStore.put("alerts", alerts); + dataStore.put("stationery", stationery); + } + log.info("DEBUG:****** resourceContents = " + resourceContents.geoFenceGeoJSON); + var resource = dataStore.newResource(); + resource.addProperty("queryName", optional.queryName); + resource.addProperty("stationeryName", optional.customName); + resource.addProperty("stationeryTime", resourceContents.stationeryTime); + resource.addProperty("fluctuationRadius", resourceContents.fluctuationRadius); + resource.content = String(resourceContents.geoFenceGeoJSON); + dataStore.put(String("geo/alerts/stationery/" + optional.queryName + deviceIdSeperator + deviceId + ".json"), resource); + + } else if (executionPlan == "Traffic") { + + try { + var res = dataStore.get("geo/alerts/traffic"); + } + catch (e) { + var geo = dataStore.newCollection(); + var alerts = dataStore.newCollection(); + var traffic = dataStore.newCollection(); + + dataStore.put("geo", geo); + dataStore.put("alerts", alerts); + dataStore.put("traffic", traffic); + } + log.info("DEBUG:****** resourceContents = " + resourceContents.geoFenceGeoJSON); + var resource = dataStore.newResource(); + resource.addProperty("queryName", optional.queryName); + resource.addProperty("areaName", optional.customName); + resource.content = String(resourceContents); + dataStore.put(String("geo/alerts/traffic/" + optional.queryName + deviceIdSeperator + deviceId + ".json"), resource); + + } + +} + +function remove(queryName, id, deviceId) { + var path = ""; + try { + if (id == "WithIn") { + path = "geo/alerts/within/" + queryName + deviceIdSeperator + deviceId + ".json"; + } else if (id == "Stationery") { + path = "geo/alerts/stationery/" + queryName + deviceIdSeperator + deviceId + ".json"; + } else if (id == "Traffic") { + path = "geo/alerts/traffic/" + queryName + deviceIdSeperator + deviceId + ".json"; + } + log.info("DEBUG: path = " + path); + dataStore.remove(path); + } + catch (e) { + log.info("The requested resource " + path + " was not found on this server. That’s all we know."); // Inspired by google 404 message + } +} +%> \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/index.xml b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/index.xml new file mode 100644 index 0000000000..f5900bb29f --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/index.xml @@ -0,0 +1,871 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+
+ + + + +
+
+ +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

ID

+ +
+
Information
+ +

+
Speed km/h
+
Heading
+ +
+
+ +
+
+

ID

+ +
+
Information
+ +

+
+
+ +
+
+

ID

+
+
Severity
+ +

+
+
+
Information
+ +

+
+
+ +
+
+
+ + + Can use this name to locate the execution plan + + + + Name of the selected area(i.e colombo) +
+
+
+
+ +
+
+ +
+
+ Export +
+
+
+
+
+
+
+
+
+ + + Can use this name to locate the execution plan + + + + Name of the selected area(i.e colombo) + + + + + + +
+
+
+
+ +
+
+ +
+
+ Export +
+
+
+
+
+
+
+
+ + + Can use this name to locate the execution plan + + + + Name of the selected area(i.e colombo) +
+
+
+
+ +
+
+ +
+
+ Export +
+
+
+
+
+
+ + ]]> +
+
\ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/app.js b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/app.js new file mode 100644 index 0000000000..44894d3b59 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/app.js @@ -0,0 +1,312 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +$(".modal").draggable({ + handle: ".modal-header" +}); + +//Clear modal content for reuse the wrapper by other functions +$('body').on('hidden.bs.modal', '.modal', function () { + $(this).removeData('bs.modal'); +}); + +/*Map layer configurations*/ +var map; + +initialLoad(); + +function initialLoad() { + if (document.getElementById('map') == null) { + setTimeout(initialLoad, 500); // give everything some time to render + } else { + initializeMap(); + getTileServers(); + loadWms(); + processAfterInitializationMap(); + //Access gps and make zoom to server location as map center + //navigator.geolocation.getCurrentPosition(success, error); + $("#loading").hide(); + } +} + + +//function success(position) { +// var browserLatitude = position.coords.latitude; +// var browserLongitude = position.coords.longitude; +// map.setView([browserLatitude, browserLongitude]); +// map.setZoom(14); +// $.UIkit.notify({ +// message: "Map view set to browser's location", +// status: 'info', +// timeout: ApplicationOptions.constance.NOTIFY_INFO_TIMEOUT, +// pos: 'top-center' +// }); +//} +// +//function error() { +// $.UIkit.notify({ +// message: "Unable to find browser location!", +// status: 'warning', +// timeout: ApplicationOptions.constance.NOTIFY_WARNING_TIMEOUT, +// pos: 'top-center' +// }); +//} + + +function initializeMap() { + if (typeof(map) !== 'undefined') { + map.remove(); + } + + + if (document.getElementById('map') == null) { + console.log("no map"); + } else { + } + + map = L.map("map", { + zoom: 14, + center:[51.548525, 0.111749], + layers: [defaultOSM, defaultTFL], + zoomControl: false, + attributionControl: false, + maxZoom: 20, + maxNativeZoom: 18 + }); + + map.on('click', function (e) { + $.UIkit.offcanvas.hide();//[force = false] no animation + }); + + map.on('zoomend', function () { + if (map.getZoom() < 14) { + // remove busStops + var layer; + for (var key in currentSpatialObjects) { + if (currentSpatialObjects.hasOwnProperty(key)) { + object = currentSpatialObjects[key]; + if (object.type == "STOP") + map.removeLayer(object.geoJson); + } + } + console.log("removed busStops from map"); + } else { + + var layer; + for (var key in currentSpatialObjects) { + if (currentSpatialObjects.hasOwnProperty(key)) { + object = currentSpatialObjects[key]; + if (object.type == "STOP") + map.addLayer(object.geoJson); + } + } + console.log("added busStops to map"); + } + + }); + + +} + +/* Attribution control */ +function updateAttribution(e) { + $.each(map._layers, function (index, layer) { + if (layer.getAttribution) { + $("#attribution").html((layer.getAttribution())); + } + }); +} + +var attributionControl; +var groupedOverlays; +var layerControl; + +function processAfterInitializationMap(){ + attributionControl = L.control({ + position: "bottomright" + }); + attributionControl.onAdd = function (map) { + var div = L.DomUtil.create("div", "leaflet-control-attribution"); + div.innerHTML = "Attribution"; + return div; + }; + //map.addControl(attributionControl); + + //L.control.fullscreen({ + // position: 'bottomright' + //}).addTo(map); + L.control.zoom({ + position: "bottomright" + }).addTo(map); + + groupedOverlays = { + "Web Map Service layers": {} + }; + + layerControl = L.control.groupedLayers(baseLayers, groupedOverlays, { + collapsed: true + }).addTo(map); + + //L.control.layers(baseLayers).addTo(map); + //map.addLayer(defaultTFL); +} + +/* Highlight search box text on click */ +$("#searchbox").click(function () { + $(this).select(); +}); + +/* TypeAhead search functionality */ + +var substringMatcher = function () { + return function findMatches(q, cb) { + var matches, substrRegex; + matches = []; + substrRegex = new RegExp(q, 'i'); + $.each(currentSpatialObjects, function (i, str) { + if (substrRegex.test(i)) { + matches.push({value: i}); + } + }); + + cb(matches); + }; +}; + +var chart; +function createChart() { + chart = c3.generate({ + bindto: '#chart_div', + data: { + columns: [ + ['speed'] + ] + }, + subchart: { + show: true + }, + axis: { + y: { + label: { + text: 'Speed', + position: 'outer-middle' + } + } + }, + legend: { + show: false + } + }); +} + +var predictionChart; +function createPredictionChart() { + predictionChart = c3.generate({ + bindto: '#prediction_chart_div', + data: { + x: 'x', + columns: [ + ['traffic'] + ] + }, + subchart: { + show: true + }, + axis: { + y: { + label: { + text: 'Traffic', + position: 'outer-middle' + } + }, + x: { + label: { + text: 'UTC hour for today', + position: 'outer-middle' + } + } + + }, + legend: { + show: false + } + }); +} + +$('#searchbox').typeahead({ + hint: true, + highlight: true, + minLength: 1 + }, + { + name: 'speed', + displayKey: 'value', + source: substringMatcher() + }).on('typeahead:selected', function ($e, datum) { + objectId = datum['value']; + focusOnSpatialObject(objectId) + }); + +var toggled = false; +function focusOnSpatialObject(objectId) { + console.log("Selecting" + objectId); + var spatialObject = currentSpatialObjects[objectId];// (local) + if (!spatialObject) { + $.UIkit.notify({ + message: "Spatial Object " + objectId + " not in the Map!!", + status: 'warning', + timeout: ApplicationOptions.constance.NOTIFY_WARNING_TIMEOUT, + pos: 'top-center' + }); + return false; + } + clearFocus(); // Clear current focus if any + selectedSpatialObject = objectId; // (global) Why not use 'var' other than implicit declaration http://stackoverflow.com/questions/1470488/what-is-the-function-of-the-var-keyword-and-when-to-use-it-or-omit-it#answer-1471738 + + console.log("Selected " + objectId + " type " + spatialObject.type); + if (spatialObject.type == "area") { + spatialObject.focusOn(map); + return true; + } + + map.setView(spatialObject.marker.getLatLng(), 15, {animate: true}); // TODO: check the map._layersMaxZoom and set the zoom level accordingly + + $('#objectInfo').find('#objectInfoId').html(selectedSpatialObject); + spatialObject.marker.openPopup(); + if (!toggled) { + $('#objectInfo').animate({width: 'toggle'}, 100); + toggled = true; + } + getAlertsHistory(objectId); + spatialObject.drawPath(); + setTimeout(function () { + createChart(); + chart.load({columns: [spatialObject.speedHistory.getArray()]}); + }, 100); +} + + +// Unfocused on current searched spatial object +function clearFocus() { + if (selectedSpatialObject) { + spatialObject = currentSpatialObjects[selectedSpatialObject]; + spatialObject.removeFromMap(); + selectedSpatialObject = null; + } +} \ No newline at end of file diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/application_options.js b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/application_options.js new file mode 100644 index 0000000000..9ce922b5ac --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/application_options.js @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +var ApplicationOptions = { + colors: { + states: { + NORMAL: 'blue', + WARNING: 'blue', + OFFLINE: 'grey', + ALERTED: 'red', + UNKNOWN: 'black' // TODO: previous color #19FFFF , change this if black is not user friendly ;) + }, + application: { + header: 'grey' + } + }, + constance:{ + CEP_WEB_SOCKET_OUTPUT_ADAPTOR_NAME: 'org.wso2.geo.FusedSpatialEvent', + CEP_ON_ALERT_WEB_SOCKET_OUTPUT_ADAPTOR_NAME: 'org.wso2.geo.AlertsNotifications', + CEP_Traffic_STREAM_WEB_SOCKET_OUTPUT_ADAPTOR_NAME: 'DefaultWebsocketOutputAdaptorOnTrafficStream', + CEP_WEB_SOCKET_OUTPUT_ADAPTOR_WEBAPP_NAME: 'secured-websocket', + TENANT_INDEX: 't', + COLON : ':', + PATH_SEPARATOR : '/', + VERSION: '1.0.0', + + SPEED_HISTORY_COUNT: 20, + NOTIFY_INFO_TIMEOUT: 1000, + NOTIFY_SUCCESS_TIMEOUT: 1000, + NOTIFY_WARNING_TIMEOUT: 3000, + NOTIFY_DANGER_TIMEOUT: 5000 + }, + messages:{ + app:{ + + } + }, + leaflet: { + iconUrls: { + normalMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/object-types/default/moving/alerted.png', + alertedMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/moving/arrow_alerted.png', + offlineMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/moving/arrow_offline.png', + warningMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/moving/arrow_warning.png', + defaultMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/moving/arrow_normal.png', + + normalNonMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/non_moving/dot_normal.png', + alertedNonMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/non_moving/dot_alerted.png', + offlineNonMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/non_moving/dot_offline.png', + warningNonMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/non_moving/dot_warning.png', + defaultNonMovingIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/non_moving/dot_normal.png', + + normalPlaceIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/places/marker-icon.png', + alertedPlaceIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/places/redMarker.png', + offlinePlaceIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/places/ashMarker.png', + warningPlaceIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/places/pinkMarker.png', + defaultPlaceIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/places/marker-icon.png', + + defaultIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/moving/default_icons/marker-icon.png', + resizeIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/resize.png', + stopIcon: '/portal/store/carbon.super/fs/gadget/geo-dashboard/img/markers/stopIcon.png' + + } + } +}; diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/LICENSE b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/LICENSE new file mode 100644 index 0000000000..6aee4f8c2b --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2013 Panopta, Andrew Moffat + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/bootstrap-wizard.js b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/bootstrap-wizard.js new file mode 100644 index 0000000000..b0bc7f7f2e --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/bootstrap-wizard.js @@ -0,0 +1,1171 @@ +/* + * Copyright (C) 2013 Panopta, Andrew Moffat + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +(function ($) { + $.fn.wizard = function(args) { + return new Wizard(this, args); + }; + + $.fn.wizard.logging = false; + + var WizardCard = function(wizard, card, index, prev, next) { + this.wizard = wizard; + this.index = index; + this.prev = prev; + this.next = next; + this.el = card; + this.title = card.find("h3").first().text(); + this.name = card.data("cardname") || this.title; + + this.nav = this._createNavElement(this.title, index); + + this._disabled = false; + this._loaded = false; + this._events = {}; + }; + + WizardCard.prototype = { + select: function() { + this.log("selecting"); + if (!this.isSelected()) { + this.nav.addClass("active"); + this.el.show(); + + if (!this._loaded) { + this.trigger("loaded"); + this.reload(); + } + + this.trigger("selected"); + } + + + /* + * this is ugly, but we're handling the changing of the wizard's + * buttons here, in the WizardCard select. so when a card is + * selected, we're figuring out if we're the first card or the + * last card and changing the wizard's buttons via the guts of + * the wizard + * + * ideally this logic should be encapsulated by some wizard methods + * that we can call from here, instead of messing with the guts + */ + var w = this.wizard; + + // The back button is only disabled on this first card... + w.backButton.toggleClass("disabled", this.index == 0); + + if (this.index >= w._cards.length-1) { + this.log("on last card, changing next button to submit"); + + w.changeNextButton(w.args.buttons.submitText, "btn-success"); + w._readyToSubmit = true; + w.trigger("readySubmit"); + } + else { + w._readyToSubmit = false; + w.changeNextButton(w.args.buttons.nextText, "btn-primary"); + } + + return this; + }, + + _createNavElement: function(name, i) { + var li = $('
  • '); + var a = $(''); + a.data("navindex", i); + li.append(a); + a.append(' '); + a.append(name); + return li; + }, + + markVisited: function() { + this.log("marking as visited"); + this.nav.addClass("already-visited"); + this.trigger("markVisited"); + return this; + }, + + unmarkVisited: function() { + this.log("unmarking as visited"); + this.nav.removeClass("already-visited"); + this.trigger("unmarkVisited"); + return this; + }, + + deselect: function() { + this.nav.removeClass("active"); + this.el.hide(); + this.trigger("deselect"); + return this; + }, + + enable: function() { + this.log("enabling"); + + // Issue #38 Hiding navigation link when hide card + // Awaiting approval + // + // this.nav.removeClass('hide'); + + this.nav.addClass("active"); + this._disabled = false; + this.trigger("enabled"); + return this; + }, + + disable: function(hideCard) { + this.log("disabling"); + this._disabled = true; + this.nav.removeClass("active already-visited"); + if (hideCard) { + this.el.hide(); + // Issue #38 Hiding navigation link when hide card + // Awaiting approval + // + // this.nav.addClass('hide'); + } + this.trigger("disabled"); + return this; + }, + + isDisabled: function() { + return this._disabled; + }, + + alreadyVisited: function() { + return this.nav.hasClass("already-visited"); + }, + + isSelected: function() { + return this.nav.hasClass("active"); + }, + + reload: function() { + this._loaded = true; + this.trigger("reload"); + return this; + }, + + on: function() { + return this.wizard.on.apply(this, arguments); + }, + + trigger: function() { + this.callListener("on"+arguments[0]); + return this.wizard.trigger.apply(this, arguments); + }, + + /* + * displays an alert box on the current card + */ + toggleAlert: function(msg, toggle) { + this.log("toggling alert to: " + toggle); + + toggle = typeof(toggle) == "undefined" ? true : toggle; + + if (toggle) {this.trigger("showAlert");} + else {this.trigger("hideAlert");} + + var div; + var alert = this.el.children("h3").first().next("div.alert"); + + if (alert.length == 0) { + /* + * we're hiding anyways, so no need to create anything. + * we'll do that if we ever are actually showing the alert + */ + if (!toggle) {return this;} + + this.log("couldn't find existing alert div, creating one"); + div = $("
    "); + div.addClass("alert"); + div.addClass("hide"); + div.insertAfter(this.el.find("h3").first()); + } + else { + this.log("found existing alert div"); + div = alert.first(); + } + + if (toggle) { + if (msg != null) { + this.log("setting alert msg to", msg); + div.html(msg); + } + div.show(); + } + else { + div.hide(); + } + return this; + }, + + /* + * this looks for event handlers embedded into the html of the + * wizard card itself, in the form of a data- attribute + */ + callListener: function(name) { + // a bug(?) in jquery..can't access data- if name is camelCase + name = name.toLowerCase(); + + this.log("looking for listener " + name); + var listener = window[this.el.data(name)]; + if (listener) { + this.log("calling listener " + name); + var wizard = this.wizard; + + try { + var vret = listener(this); + } + catch (e) { + this.log("exception calling listener " + name + ": ", e); + } + } + else { + this.log("didn't find listener " + name); + } + }, + + problem: function(toggle) { + this.nav.find("a").toggleClass("wizard-step-error", toggle); + }, + + validate: function() { + var failures = false; + var self = this; + + /* + * run all the validators embedded on the inputs themselves + */ + this.el.find("[data-validate]").each(function(i, el) { + self.log("validating individiual inputs"); + el = $(el); + + var v = el.data("validate"); + if (!v) {return;} + + var ret = { + status: true, + title: "Error", + msg: "" + }; + + var vret = window[v](el); + $.extend(ret, vret); + + // Add-On + // This allows the use of a INPUT+BTN used as one according to boostrap layout + // for the wizard it is required to add an id with btn-(ID of Input) + // this will make sure the popover is drawn on the correct element + if ( $('#btn-' + el.attr('id')).length === 1 ) { + el = $('#btn-' + el.attr('id')); + } + + if (!ret.status) { + failures = true; + + // Updated to show error on correct form-group + el.parents("div.form-group").toggleClass("has-error", true); + + // This allows the use of a INPUT+BTN used as one according to boostrap layout + // for the wizard it is required to add an id with btn-(ID of Input) + // this will make sure the popover is drawn on the correct element + if ( $('#btn-' + el.attr('id')).length === 1 ) { + el = $('#btn-' + el.attr('id')); + } + + self.wizard.errorPopover(el, ret.msg); + } else { + el.parents("div.form-group").toggleClass("has-error", false); + + // This allows the use of a INPUT+BTN used as one according to boostrap layout + // for the wizard it is required to add an id with btn-(ID of Input) + // this will make sure the popover is drawn on the correct element + if ( $('#btn-' + el.attr('id')).length === 1 ) { + el = $('#btn-' + el.attr('id')); + } + + try { + el.popover("destroy"); + } + /* + * older versions of bootstrap don't have a destroy call + * for popovers + */ + catch (e) { + el.popover("hide"); + } + } + }); + this.log("after validating inputs, failures is", failures); + + /* + * run the validator embedded in the card + */ + var cardValidator = window[this.el.data("validate")]; + if (cardValidator) { + this.log("running html-embedded card validator"); + var cardValidated = cardValidator(this); + if (typeof(cardValidated) == "undefined" || cardValidated == null) { + cardValidated = true; + } + if (!cardValidated) failures = true; + this.log("after running html-embedded card validator, failures is", failures); + } + + /* + * run the validate listener + */ + this.log("running listener validator"); + var listenerValidated = this.trigger("validate"); + if (typeof(listenerValidated) == "undefined" || listenerValidated == null) { + listenerValidated = true; + } + if (!listenerValidated) failures = true; + this.log("after running listener validator, failures is", failures); + + var validated = !failures; + if (validated) { + this.log("validated, calling listeners"); + this.trigger("validated"); + } + else { + this.log("invalid"); + this.trigger("invalid"); + } + return validated; + }, + + log: function() { + if (!window.console || !$.fn.wizard.logging) {return;} + var prepend = "card '"+this.name+"': "; + var args = [prepend]; + args.push.apply(args, arguments); + + console.log.apply(console, args); + }, + + isActive: function() { + return this.nav.hasClass("active"); + } + }; + + Wizard = function(markup, args) { + + /* TEMPLATE */ + this.wizard_template = [ + '' + ]; + + this.args = { + keyboard: true, + backdrop: true, + show: false, + submitUrl: "", + showCancel: false, + showClose: true, + progressBarCurrent: false, + increaseHeight: 0, + contentHeight: 400, + contentWidth: '50%', + buttons: { + cancelText: "Cancel", + nextText: "Next", + backText: "Back", + submitText: "Submit", + submittingText: "Submitting...", + }, + formClass: "form-horizontal" + }; + + $.extend(this.args, args || {}); + + this._create(markup); + }; + + Wizard.prototype = { + log: function() { + if (!window.console || !$.fn.wizard.logging) {return;} + var prepend = "wizard "+this.el.id+": "; + var args = [prepend]; + args.push.apply(args, arguments); + console.log.apply(console, args); + }, + + _create: function(markup) { + this.markup = $(markup); + this.title = this.markup.data('title'); + this.submitCards = this.markup.find(".wizard-error,.wizard-failure,.wizard-success,.wizard-loading"); + this.el = $(this.wizard_template.join('\n')); + $('body').append(this.el); + + this.modal = this.el.modal({ + keyboard: this.args.keyboard, + show: this.args.show, + backdrop: this.args.backdrop + }); + + this.dimensions = { + contentHeight: this.args.contentHeight, + contentWidth: this.args.contentWidth + }; + this.dialog = this.modal.find('.wizard-dialog'); + this.content = this.modal.find('.wizard-content'); + this.header = this.modal.find('.wizard-header'); + this.body = this.modal.find('.wizard-body'); + this.wizardSteps = this.modal.find('.wizard-steps'); + this.wizardCards = this.modal.find('.wizard-cards'); + this.wizardCardContainer = this.modal.find('.wizard-card-container'); + this.wizardCardContainer + .append(this.markup.find('.wizard-card')) + .append(this.submitCards); + this.navContainer = this.modal.find('.wizard-nav-container'); + this.navList = this.modal.find('.wizard-nav-list'); + this.progressContainer = this.modal.find('.wizard-progress-container'); + this.progress = this.progressContainer.find('.progress-bar'); + this.closeButton = this.modal.find('button.wizard-close.close'); + this.cardsContainer = this.modal.find('wizard-cards-container'); + this.form = this.modal.find('form'); + this.footer = this.modal.find(".wizard-footer"); + this.cancelButton = this.footer.find(".wizard-cancel"); + this.backButton = this.footer.find(".wizard-back"); + this.nextButton = this.footer.find(".wizard-next"); + + this._cards = []; + this.cards = {}; + this._readyToSubmit = false; + this.percentComplete = 0; + this._submitting = false; + this._events = {}; + this._firstShow = true; + + this._createCards(); + + this.nextButton.click(this, this._handleNextClick); + this.backButton.click(this, this._handleBackClick); + + this.cancelButton.text(this.args.buttons.cancelText); + this.backButton.text(this.args.buttons.backText); + this.nextButton.text(this.args.buttons.nextText); + + // Apply Form Class(es) + this.form.addClass(this.args.formClass); + + // Register Array Holder for popovers + this.popovers = []; + + var self = this; + var _close = function() { + self.reset(); + self.close(); + self.trigger("closed"); + }; + + // Register Close Button + this.closeButton.click(_close); + this.cancelButton.click(_close); + + this.wizardSteps.on("click", "li.already-visited a.wizard-nav-link", this, + function(event) { + var index = parseInt($(event.target).data("navindex")); + event.data.setCard(index); + }); + + if ( this.title.length != 0 ) { + this.setTitle(this.title); + } + + this.on("submit", this._defaultSubmit); + + // Set Modal Dimensions + this.autoDimensions(); + }, + + autoDimensions: function() { + // DO NOT REMOVE DISPLAY ; Temporary display is required for calculation + this.modal.css('display', 'block'); + + this.dimensions.header = this.header.outerHeight(true); + + // Navigation Pane is dyanmic build on card content + // Navigation Pane === BASE Inner Content Height + this.dimensions.navigation = this.wizardSteps.outerHeight(true); + if ( this.dimensions.navigation < this.dimensions.contentHeight ) { + this.dimensions.navigation = this.dimensions.contentHeight; + this.navContainer.height( (this.dimensions.contentHeight-30) - this.progressContainer.outerHeight(true)); + } + + // Dimension Alias ( Body Height === (Navigation Height) ) + this.dimensions.body = this.dimensions.navigation; + + // Apply OuterHeight of navigation to it's parent wizardSteps + this.wizardSteps.height(this.dimensions.body); + + // Modal Height === (Header + Content) + this.dimensions.modal = (this.dimensions.header + this.dimensions.navigation); + this.content.height(this.dimensions.modal + 'px'); + this.dialog.width(this.dimensions.contentWidth); + + this.body.height(this.dimensions.body + 'px'); + this.wizardCards.height(this.dimensions.body + 'px'); + + // Footer Height + this.dimensions.footer = this.footer.outerHeight(true); + + // Card Container === (Body - Footer) + this.dimensions.cardContainer = (this.dimensions.body - this.dimensions.footer); + this.wizardCardContainer.height(this.dimensions.cardContainer); + + // Reposition + this.dimensions.offset = ($(window).height() - this.dialog.height()) / 2; + this.dialog.css({ + 'margin-top': this.dimensions.offset + 'px', + 'padding-top': 0 + }); + + // DO NOT REMOVE NEXT LINE + this.modal.css('display', ''); + }, + + setTitle: function(title) { + this.log("setting title to", title); + this.modal.find(".wizard-title").first().text(title); + return this; + }, + + setSubtitle: function(title) { + this.log("setting subtitle to", title); + this.modal.find(".wizard-subtitle").first().text(title); + return this; + }, + + errorPopover: function(el, msg, allowHtml) { + this.log("launching popover on", el); + allowHtml = typeof allowHtml !== "undefined" ? allowHtml : false; + var popover = el.popover({ + content: msg, + trigger: "manual", + html: allowHtml, + container: el.parents('.form-group') + }).addClass("error-popover").popover("show").next(".popover"); + + el.parents('.form-group').find('.popover').addClass("error-popover"); + + this.popovers.push(el); + + return popover; + }, + + destroyPopover: function(pop) { + pop = $(pop); + + /* + * this is the element that the popover was created for + */ + try { + pop.popover("destroy"); + } + /* + * older versions of bootstrap don't have a destroy call + * for popovers + */ + catch (e) { + pop.popover("hide"); + } + }, + + hidePopovers: function(el) { + this.log("hiding all popovers"); + var self = this; + + $.each(this.popovers, function(i, p) { + self.destroyPopover(p); + }); + + this.modal.find('.has-error').removeClass('has-error'); + this.popovers = []; + }, + + eachCard: function(fn) { + $.each(this._cards, fn); + return this; + }, + + getActiveCard: function() { + this.log("getting active card"); + var currentCard = null; + + $.each(this._cards, function(i, card) { + if (card.isActive()) { + currentCard = card; + return false; + } + }); + if (currentCard) {this.log("found active card", currentCard);} + else {this.log("couldn't find an active card");} + return currentCard; + }, + + changeNextButton: function(text, cls) { + this.log("changing next button, text: " + text, "class: " + cls); + if (typeof(cls) != "undefined") { + this.nextButton.removeClass("btn-success btn-primary"); + } + + if (cls) { + this.nextButton.addClass(cls); + } + this.nextButton.text(text); + return this; + }, + + hide: function() { + this.log("hiding"); + this.modal.modal("hide"); + return this; + }, + + close: function() { + this.log("closing"); + this.modal.modal("hide"); + return this; + }, + + + show: function(modalOptions) { + this.log("showing"); + if (this._firstShow) { + this.setCard(0); + this._firstShow = false; + } + if (this.args.showCancel) { + this.cancelButton.show(); + } else { + this.cancelButton.hide(); + } + if (this.args.showClose) { this.closeButton.show(); } + this.modal.modal('show'); + + return this; + }, + + on: function(name, fn) { + this.log("adding listener to event " + name); + this._events[name] = fn; + return this; + }, + + trigger: function() { + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments); + args.shift(); + args.unshift(this); + + this.log("firing event " + name); + var handler = this._events[name]; + if (handler === undefined && this.wizard !== undefined) { + handler = this.wizard._events[name]; + } + var ret = null; + + if (typeof(handler) == "function") { + this.log("found event handler, calling " + name); + try { + ret = handler.apply(this, args); + } + catch (e) { + this.log("event handler " + name + " had an exception"); + } + } + else { + this.log("couldn't find an event handler for " + name); + } + return ret; + }, + + + reset: function() { + this.log("resetting"); + + this.updateProgressBar(0); + this.hideSubmitCards(); + + this.setCard(0); + this.lockCards(); + + this.enableNextButton(); + this.showButtons(); + + this.hidePopovers(); + + this.trigger("reset"); + return this; + }, + + /* + * this handles switching to the next card or previous card, taking + * care to skip over disabled cards + */ + _abstractIncrementStep: function(direction, getNext) { + var current = this.getActiveCard(); + var next; + + if (current) { + /* + * loop until we find a card that isn't disabled + */ + this.log("searching for valid next card"); + while (true) { + next = getNext(current); + if (next) { + this.log("looking at card", next.index); + if (next.isDisabled()) { + this.log("card " + next.index + " is disabled/locked, continuing"); + current = next; + continue; + } + else { + return this.setCard(current.index+direction); + } + } + else { + this.log("next card is not defined, breaking"); + break; + } + } + } + else { + this.log("current card is undefined"); + } + }, + + + incrementCard: function() { + this.log("incrementing card"); + var card = this._abstractIncrementStep(1, function(current){return current.next;}); + this.trigger("incrementCard"); + return card; + }, + + decrementCard: function() { + this.log("decrementing card"); + var card = this._abstractIncrementStep(-1, function(current){return current.prev;}); + this.trigger("decrementCard"); + return card; + }, + + setCard: function(i) { + this.log("setting card to " + i); + this.hideSubmitCards(); + var currentCard = this.getActiveCard(); + + if (this._submitting) { + this.log("we're submitting the wizard already, can't change cards"); + return currentCard; + } + + var newCard = this._cards[i]; + if (newCard) { + if (newCard.isDisabled()) { + this.log("new card is currently disabled, returning"); + return currentCard; + } + + if (currentCard) { + + /* + * here, we're only validating if we're going forward, + * not if we're going backwards in a step + */ + if (i > currentCard.index) { + var cardToValidate = currentCard; + var ok = false; + + /* + * we need to loop over every card between our current + * card and the card that we clicked, and re-validate + * them. if there's an error, we need to select the + * first card to have an error + */ + while (cardToValidate.index != newCard.index) { + /* + * unless we're validating the card that we're + * leaving, we need to select the card, so that + * any validators that trigger errorPopovers can + * display correctly + */ + if (cardToValidate.index != currentCard.index) { + cardToValidate.prev.deselect(); + cardToValidate.prev.markVisited(); + cardToValidate.select(); + } + ok = cardToValidate.validate(); + if (!ok) { + return cardToValidate; + } + cardToValidate = cardToValidate.next; + } + + cardToValidate.prev.deselect(); + cardToValidate.prev.markVisited(); + } + + currentCard.deselect(); + currentCard.markVisited(); + } + + newCard.select(); + + if (this.args.progressBarCurrent) { + this.percentComplete = i * 100.0 / this._cards.length; + this.updateProgressBar(this.percentComplete); + } + else { + var lastPercent = this.percentComplete; + this.percentComplete = i * 100.0 / this._cards.length; + this.percentComplete = Math.max(lastPercent, this.percentComplete); + this.updateProgressBar(this.percentComplete); + } + + return newCard; + } + else { + this.log("couldn't find card " + i); + } + }, + + updateProgressBar: function(percent) { + this.log("updating progress to " + percent + "%"); + this.progress.css({width: percent + "%"}); + this.percentComplete = percent; + + this.trigger("progressBar", percent); + + if (percent == 100) { + this.log("progress is 100, animating progress bar"); + this.progressContainer.find('.progress').addClass("active"); + } + else if (percent == 0) { + this.log("progress is 0, disabling animation"); + this.progressContainer.find('.progress').removeClass("active"); + } + }, + + getNextCard: function() { + var currentCard = this.getActiveCard(); + if (currentCard) return currentCard.next; + }, + + lockCards: function() { + this.log("locking nav cards"); + this.eachCard(function(i,card){card.unmarkVisited();}); + return this; + }, + + disableCards: function() { + this.log("disabling all nav cards"); + this.eachCard(function(i,card){card.disable();}); + return this; + }, + + enableCards: function() { + this.log("enabling all nav cards"); + this.eachCard(function(i,card){card.enable();}); + return this; + }, + + hideCards: function() { + this.log("hiding cards"); + this.eachCard(function(i,card){card.deselect();}); + this.hideSubmitCards(); + return this; + }, + + hideButtons: function() { + this.log("hiding buttons"); + this.cancelButton.hide(); + this.closeButton.hide(); + this.nextButton.hide(); + this.backButton.hide(); + return this; + }, + + showButtons: function() { + this.log("showing buttons"); + if (this.args.showCancel) { + this.cancelButton.show(); + } else { + this.cancelButton.hide(); + } + if (this.args.showClose) { this.closeButton.show(); }; + this.nextButton.show(); + this.backButton.show(); + return this; + }, + + getCard: function(el) { + var cardDOMEl = $(el).parents(".wizard-card").first()[0]; + if (cardDOMEl) { + var foundCard = null; + this.eachCard(function(i, card) { + if (cardDOMEl == card.el[0]) { + foundCard = card; + return false; + } + return true; + }); + return foundCard; + } + else { + return null; + } + }, + + _createCards: function() { + var prev = null; + var next = null; + var currentCard = null; + var wizard = this; + var self = this; + + self.log("Creating Cards"); + + var cards = this.modal.find(".wizard-cards .wizard-card"); + $.each(cards, function(i, card) { + card = $(card); + + prev = currentCard; + currentCard = new WizardCard(wizard, card, i, prev, next); + self._cards.push(currentCard); + if (currentCard.name) { + self.cards[currentCard.name] = currentCard; + } + if (prev) {prev.next = currentCard;} + + self.modal.find(".wizard-steps .wizard-nav-list").append(currentCard.nav); + }); + }, + + showSubmitCard: function(name) { + this.log("showing "+name+" submit card"); + + var card = this.el.find(".wizard-"+name); + if (card.length) { + this.hideCards(); + this.el.find(".wizard-"+name).show(); + } + else { + this.log("couldn't find submit card "+name); + } + }, + + hideSubmitCard: function(name) { + this.log("hiding "+name+" submit card"); + this.el.find(".wizard-"+name).hide(); + }, + + hideSubmitCards: function() { + var wizard = this; + $.each(["success", "error", "failure", "loading"], function(i, name) { + wizard.hideSubmitCard(name); + }); + }, + + enableNextButton: function() { + this.log("enabling next button"); + this.nextButton.removeAttr("disabled"); + return this; + }, + + disableNextButton: function() { + this.log("disabling next button"); + this.nextButton.attr("disabled", "disabled"); + return this; + }, + + serializeArray: function() { + var form = this.form.serializeArray(); + this.form.find('input[disabled][data-serialize="1"]').each(function() { + formObj = { + name: $(this).attr('name'), + value: $(this).val() + }; + + form.push(formObj); + }); + + return form; + }, + + serialize: function() { + var form = this.form.serialize(); + this.form.find('input[disabled][data-serialize="1"]').each(function() { + form = form + '&' + $(this).attr('name') + '=' + $(this).val(); + }); + + return form; + }, + + find: function(selector) { + return this.modal.find(selector); + }, + + + /* + * the next 3 functions are to be called by the custom submit event + * handler. the idea is that after you make an ajax call to submit + * your wizard data (or whatever it is you want to do at the end of + * the wizard), you call one of these 3 handlers to display a specific + * card for either success, failure, or error + */ + submitSuccess: function() { + this.log("submit success"); + this._submitting = false; + this.showSubmitCard("success"); + this.trigger("submitSuccess"); + }, + + submitFailure: function() { + this.log("submit failure"); + this._submitting = false; + this.showSubmitCard("failure"); + this.trigger("submitFailure"); + }, + + submitError: function() { + this.log("submit error"); + this._submitting = false; + this.showSubmitCard("error"); + this.trigger("submitError"); + }, + + + _submit: function() { + this.log("submitting wizard"); + this._submitting = true; + + this.lockCards(); + this.cancelButton.hide(); + this.closeButton.hide(); + this.backButton.hide(); + + this.showSubmitCard("loading"); + this.updateProgressBar(100); + + this.changeNextButton(this.args.buttons.submittingText, false); + this.disableNextButton(); + + var ret = this.trigger("submit"); + this.trigger("loading"); + }, + + _onNextClick: function() { + this.log("handling 'next' button click"); + var currentCard = this.getActiveCard(); + if (this._readyToSubmit && currentCard.validate()) { + this._submit(); + } + else { + currentCard = this.incrementCard(); + } + }, + + _onBackClick: function() { + this.log("handling 'back' button click"); + var currentCard = this.decrementCard(); + }, + + _handleNextClick: function(event) { + var wizard = event.data; + wizard._onNextClick.call(wizard); + }, + + _handleBackClick: function(event) { + var wizard = event.data; + wizard._onBackClick.call(wizard); + }, + + + /* + * this function is attached by default to the wizard's "submit" event. + * if you choose to implement your own custom submit logic, you should + * copy how this function works + */ + _defaultSubmit: function(wizard) { + $.ajax({ + type: "POST", + url: wizard.args.submitUrl, + data: wizard.serialize(), + dataType: "json" + }).done(function(response) { + wizard.submitSuccess(); + wizard.hideButtons(); + wizard.updateProgressBar(0); + }).fail(function() { + wizard.submitFailure(); + wizard.hideButtons(); + }); + } + }; + + +}(window.jQuery)); diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/bootstrap-wizard.min.js b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/bootstrap-wizard.min.js new file mode 100644 index 0000000000..898bb73da5 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap-wizard-lib/bootstrap-wizard.min.js @@ -0,0 +1 @@ +(function(e){e.fn.wizard=function(e){return new Wizard(this,e)};e.fn.wizard.logging=false;var t=function(e,t,n,r,i){this.wizard=e;this.index=n;this.prev=r;this.next=i;this.el=t;this.title=t.find("h3").first().text();this.name=t.data("cardname")||this.title;this.nav=this._createNavElement(this.title,n);this._disabled=false;this._loaded=false;this._events={}};t.prototype={select:function(){this.log("selecting");if(!this.isSelected()){this.nav.addClass("active");this.el.show();if(!this._loaded){this.trigger("loaded");this.reload()}this.trigger("selected")}var e=this.wizard;e.backButton.toggleClass("disabled",this.index==0);if(this.index>=e._cards.length-1){this.log("on last card, changing next button to submit");e.changeNextButton(e.args.buttons.submitText,"btn-success");e._readyToSubmit=true;e.trigger("readySubmit")}else{e._readyToSubmit=false;e.changeNextButton(e.args.buttons.nextText,"btn-primary")}return this},_createNavElement:function(t,n){var r=e('
  • ');var i=e('');i.data("navindex",n);r.append(i);i.append(' ');i.append(t);return r},markVisited:function(){this.log("marking as visited");this.nav.addClass("already-visited");this.trigger("markVisited");return this},unmarkVisited:function(){this.log("unmarking as visited");this.nav.removeClass("already-visited");this.trigger("unmarkVisited");return this},deselect:function(){this.nav.removeClass("active");this.el.hide();this.trigger("deselect");return this},enable:function(){this.log("enabling");this.nav.addClass("active");this._disabled=false;this.trigger("enabled");return this},disable:function(e){this.log("disabling");this._disabled=true;this.nav.removeClass("active already-visited");if(e){this.el.hide()}this.trigger("disabled");return this},isDisabled:function(){return this._disabled},alreadyVisited:function(){return this.nav.hasClass("already-visited")},isSelected:function(){return this.nav.hasClass("active")},reload:function(){this._loaded=true;this.trigger("reload");return this},on:function(){return this.wizard.on.apply(this,arguments)},trigger:function(){this.callListener("on"+arguments[0]);return this.wizard.trigger.apply(this,arguments)},toggleAlert:function(t,n){this.log("toggling alert to: "+n);n=typeof n=="undefined"?true:n;if(n){this.trigger("showAlert")}else{this.trigger("hideAlert")}var r;var i=this.el.children("h3").first().next("div.alert");if(i.length==0){if(!n){return this}this.log("couldn't find existing alert div, creating one");r=e("
    ");r.addClass("alert");r.addClass("hide");r.insertAfter(this.el.find("h3").first())}else{this.log("found existing alert div");r=i.first()}if(n){if(t!=null){this.log("setting alert msg to",t);r.html(t)}r.show()}else{r.hide()}return this},callListener:function(e){e=e.toLowerCase();this.log("looking for listener "+e);var t=window[this.el.data(e)];if(t){this.log("calling listener "+e);var n=this.wizard;try{var r=t(this)}catch(i){this.log("exception calling listener "+e+": ",i)}}else{this.log("didn't find listener "+e)}},problem:function(e){this.nav.find("a").toggleClass("wizard-step-error",e)},validate:function(){var t=false;var n=this;this.el.find("[data-validate]").each(function(r,i){n.log("validating individiual inputs");i=e(i);var s=i.data("validate");if(!s){return}var o={status:true,title:"Error",msg:""};var u=window[s](i);e.extend(o,u);if(e("#btn-"+i.attr("id")).length===1){i=e("#btn-"+i.attr("id"))}if(!o.status){t=true;i.parents("div.form-group").toggleClass("has-error",true);if(e("#btn-"+i.attr("id")).length===1){i=e("#btn-"+i.attr("id"))}n.wizard.errorPopover(i,o.msg)}else{i.parents("div.form-group").toggleClass("has-error",false);if(e("#btn-"+i.attr("id")).length===1){i=e("#btn-"+i.attr("id"))}try{i.popover("destroy")}catch(a){i.popover("hide")}}});this.log("after validating inputs, failures is",t);var r=window[this.el.data("validate")];if(r){this.log("running html-embedded card validator");var i=r(this);if(typeof i=="undefined"||i==null){i=true}if(!i)t=true;this.log("after running html-embedded card validator, failures is",t)}this.log("running listener validator");var s=this.trigger("validate");if(typeof s=="undefined"||s==null){s=true}if(!s)t=true;this.log("after running listener validator, failures is",t);var o=!t;if(o){this.log("validated, calling listeners");this.trigger("validated")}else{this.log("invalid");this.trigger("invalid")}return o},log:function(){if(!window.console||!e.fn.wizard.logging){return}var t="card '"+this.name+"': ";var n=[t];n.push.apply(n,arguments);console.log.apply(console,n)},isActive:function(){return this.nav.hasClass("active")}};Wizard=function(t,n){this.wizard_template=['"];this.args={keyboard:true,backdrop:true,show:false,submitUrl:"",showCancel:false,showClose:true,progressBarCurrent:false,increaseHeight:0,contentHeight:300,contentWidth:'50%',buttons:{cancelText:"Cancel",nextText:"Next",backText:"Back",submitText:"Submit",submittingText:"Submitting..."},formClass:"form-horizontal"};e.extend(this.args,n||{});this._create(t)};Wizard.prototype={log:function(){if(!window.console||!e.fn.wizard.logging){return}var t="wizard "+this.el.id+": ";var n=[t];n.push.apply(n,arguments);console.log.apply(console,n)},_create:function(t){this.markup=e(t);this.title=this.markup.data("title");this.submitCards=this.markup.find(".wizard-error,.wizard-failure,.wizard-success,.wizard-loading");this.el=e(this.wizard_template.join("\n"));e("body").append(this.el);this.modal=this.el.modal({keyboard:this.args.keyboard,show:this.args.show,backdrop:this.args.backdrop});this.dimensions={contentHeight:this.args.contentHeight,contentWidth:this.args.contentWidth};this.dialog=this.modal.find(".wizard-dialog");this.content=this.modal.find(".wizard-content");this.header=this.modal.find(".wizard-header");this.body=this.modal.find(".wizard-body");this.wizardSteps=this.modal.find(".wizard-steps");this.wizardCards=this.modal.find(".wizard-cards");this.wizardCardContainer=this.modal.find(".wizard-card-container");this.wizardCardContainer.append(this.markup.find(".wizard-card")).append(this.submitCards);this.navContainer=this.modal.find(".wizard-nav-container");this.navList=this.modal.find(".wizard-nav-list");this.progressContainer=this.modal.find(".wizard-progress-container");this.progress=this.progressContainer.find(".progress-bar");this.closeButton=this.modal.find("button.wizard-close.close");this.cardsContainer=this.modal.find("wizard-cards-container");this.form=this.modal.find("form");this.footer=this.modal.find(".wizard-footer");this.cancelButton=this.footer.find(".wizard-cancel");this.backButton=this.footer.find(".wizard-back");this.nextButton=this.footer.find(".wizard-next");this._cards=[];this.cards={};this._readyToSubmit=false;this.percentComplete=0;this._submitting=false;this._events={};this._firstShow=true;this._createCards();this.nextButton.click(this,this._handleNextClick);this.backButton.click(this,this._handleBackClick);this.cancelButton.text(this.args.buttons.cancelText);this.backButton.text(this.args.buttons.backText);this.nextButton.text(this.args.buttons.nextText);this.form.addClass(this.args.formClass);this.popovers=[];var n=this;var r=function(){n.reset();n.close();n.trigger("closed")};this.closeButton.click(r);this.cancelButton.click(r);this.wizardSteps.on("click","li.already-visited a.wizard-nav-link",this,function(t){var n=parseInt(e(t.target).data("navindex"));t.data.setCard(n)});if(this.title.length!=0){this.setTitle(this.title)}this.on("submit",this._defaultSubmit);this.autoDimensions()},autoDimensions:function(){this.modal.css("display","block");this.dimensions.header=this.header.outerHeight(true);this.dimensions.navigation=this.wizardSteps.outerHeight(true);if(this.dimensions.navigationt.index){var r=t;var i=false;while(r.index!=n.index){if(r.index!=t.index){r.prev.deselect();r.prev.markVisited();r.select()}i=r.validate();if(!i){return r}r=r.next}r.prev.deselect();r.prev.markVisited()}t.deselect();t.markVisited()}n.select();if(this.args.progressBarCurrent){this.percentComplete=e*100/this._cards.length;this.updateProgressBar(this.percentComplete)}else{var s=this.percentComplete;this.percentComplete=e*100/this._cards.length;this.percentComplete=Math.max(s,this.percentComplete);this.updateProgressBar(this.percentComplete)}return n}else{this.log("couldn't find card "+e)}},updateProgressBar:function(e){this.log("updating progress to "+e+"%");this.progress.css({width:e+"%"});this.percentComplete=e;this.trigger("progressBar",e);if(e==100){this.log("progress is 100, animating progress bar");this.progressContainer.find(".progress").addClass("active")}else if(e==0){this.log("progress is 0, disabling animation");this.progressContainer.find(".progress").removeClass("active")}},getNextCard:function(){var e=this.getActiveCard();if(e)return e.next},lockCards:function(){this.log("locking nav cards");this.eachCard(function(e,t){t.unmarkVisited()});return this},disableCards:function(){this.log("disabling all nav cards");this.eachCard(function(e,t){t.disable()});return this},enableCards:function(){this.log("enabling all nav cards");this.eachCard(function(e,t){t.enable()});return this},hideCards:function(){this.log("hiding cards");this.eachCard(function(e,t){t.deselect()});this.hideSubmitCards();return this},hideButtons:function(){this.log("hiding buttons");this.cancelButton.hide();this.closeButton.hide();this.nextButton.hide();this.backButton.hide();return this},showButtons:function(){this.log("showing buttons");if(this.args.showCancel){this.cancelButton.show()}else{this.cancelButton.hide()}if(this.args.showClose){this.closeButton.show()}this.nextButton.show();this.backButton.show();return this},getCard:function(t){var n=e(t).parents(".wizard-card").first()[0];if(n){var r=null;this.eachCard(function(e,t){if(n==t.el[0]){r=t;return false}return true});return r}else{return null}},_createCards:function(){var n=null;var r=null;var i=null;var s=this;var o=this;o.log("Creating Cards");var u=this.modal.find(".wizard-cards .wizard-card");e.each(u,function(u,a){a=e(a);n=i;i=new t(s,a,u,n,r);o._cards.push(i);if(i.name){o.cards[i.name]=i}if(n){n.next=i}o.modal.find(".wizard-steps .wizard-nav-list").append(i.nav)})},showSubmitCard:function(e){this.log("showing "+e+" submit card");var t=this.el.find(".wizard-"+e);if(t.length){this.hideCards();this.el.find(".wizard-"+e).show()}else{this.log("couldn't find submit card "+e)}},hideSubmitCard:function(e){this.log("hiding "+e+" submit card");this.el.find(".wizard-"+e).hide()},hideSubmitCards:function(){var t=this;e.each(["success","error","failure","loading"],function(e,n){t.hideSubmitCard(n)})},enableNextButton:function(){this.log("enabling next button");this.nextButton.removeAttr("disabled");return this},disableNextButton:function(){this.log("disabling next button");this.nextButton.attr("disabled","disabled");return this},serializeArray:function(){var t=this.form.serializeArray();this.form.find('input[disabled][data-serialize="1"]').each(function(){formObj={name:e(this).attr("name"),value:e(this).val()};t.push(formObj)});return t},serialize:function(){var t=this.form.serialize();this.form.find('input[disabled][data-serialize="1"]').each(function(){t=t+"&"+e(this).attr("name")+"="+e(this).val()});return t},find:function(e){return this.modal.find(e)},submitSuccess:function(){this.log("submit success");this._submitting=false;this.showSubmitCard("success");this.trigger("submitSuccess")},submitFailure:function(){this.log("submit failure");this._submitting=false;this.showSubmitCard("failure");this.trigger("submitFailure")},submitError:function(){this.log("submit error");this._submitting=false;this.showSubmitCard("error");this.trigger("submitError")},_submit:function(){this.log("submitting wizard");this._submitting=true;this.lockCards();this.cancelButton.hide();this.closeButton.hide();this.backButton.hide();this.showSubmitCard("loading");this.updateProgressBar(100);this.changeNextButton(this.args.buttons.submittingText,false);this.disableNextButton();var e=this.trigger("submit");this.trigger("loading")},_onNextClick:function(){this.log("handling 'next' button click");var e=this.getActiveCard();if(this._readyToSubmit&&e.validate()){this._submit()}else{e=this.incrementCard()}},_onBackClick:function(){this.log("handling 'back' button click");var e=this.decrementCard()},_handleNextClick:function(e){var t=e.data;t._onNextClick.call(t)},_handleBackClick:function(e){var t=e.data;t._onBackClick.call(t)},_defaultSubmit:function(t){e.ajax({type:"POST",url:t.args.submitUrl,data:t.serialize(),dataType:"json"}).done(function(e){t.submitSuccess();t.hideButtons();t.updateProgressBar(0)}).fail(function(){t.submitFailure();t.hideButtons()})}}})(window.jQuery) diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap/BOOTSTRAP_LICENSE b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap/BOOTSTRAP_LICENSE new file mode 100644 index 0000000000..8d94aa9ac9 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap/BOOTSTRAP_LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2011-2014 Twitter, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap/bootstrap.min.js b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap/bootstrap.min.js new file mode 100644 index 0000000000..4723aabe87 --- /dev/null +++ b/features/analytics-feature/org.wso2.carbon.iot.geo.dashboard.feature/src/main/capp/GadgetGeoDashboard_1.0.0/geo-dashboard/js/bootstrap/bootstrap.min.js @@ -0,0 +1,655 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if ("undefined" == typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery"); ++function (a) { + "use strict"; + function b() { + var a = document.createElement("bootstrap"), b = {WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend"}; + for (var c in b)if (void 0 !== a.style[c])return{end: b[c]}; + return!1 + } + + a.fn.emulateTransitionEnd = function (b) { + var c = !1, d = this; + a(this).one("bsTransitionEnd", function () { + c = !0 + }); + var e = function () { + c || a(d).trigger(a.support.transition.end) + }; + return setTimeout(e, b), this + }, a(function () { + a.support.transition = b(), a.support.transition && (a.event.special.bsTransitionEnd = {bindType: a.support.transition.end, delegateType: a.support.transition.end, handle: function (b) { + return a(b.target).is(this) ? b.handleObj.handler.apply(this, arguments) : void 0 + }}) + }) +}(jQuery), +function (a) { + "use strict"; + function b(b) { + return this.each(function () { + var c = a(this), e = c.data("bs.alert"); + e || c.data("bs.alert", e = new d(this)), "string" == typeof b && e[b].call(c) + }) + } + + var c = '[data-dismiss="alert"]', d = function (b) { + a(b).on("click", c, this.close) + }; + d.VERSION = "3.2.0", d.prototype.close = function (b) { + function c() { + f.detach().trigger("closed.bs.alert").remove() + } + + var d = a(this), e = d.attr("data-target"); + e || (e = d.attr("href"), e = e && e.replace(/.*(?=#[^\s]*$)/, "")); + var f = a(e); + b && b.preventDefault(), f.length || (f = d.hasClass("alert") ? d : d.parent()), f.trigger(b = a.Event("close.bs.alert")), b.isDefaultPrevented() || (f.removeClass("in"), a.support.transition && f.hasClass("fade") ? f.one("bsTransitionEnd", c).emulateTransitionEnd(150) : c()) + }; + var e = a.fn.alert; + a.fn.alert = b, a.fn.alert.Constructor = d, a.fn.alert.noConflict = function () { + return a.fn.alert = e, this + }, a(document).on("click.bs.alert.data-api", c, d.prototype.close) +}(jQuery), +function (a) { + "use strict"; + function b(b) { + return this.each(function () { + var d = a(this), e = d.data("bs.button"), f = "object" == typeof b && b; + e || d.data("bs.button", e = new c(this, f)), "toggle" == b ? e.toggle() : b && e.setState(b) + }) + } + + var c = function (b, d) { + this.$element = a(b), this.options = a.extend({}, c.DEFAULTS, d), this.isLoading = !1 + }; + c.VERSION = "3.2.0", c.DEFAULTS = {loadingText: "loading..."}, c.prototype.setState = function (b) { + var c = "disabled", d = this.$element, e = d.is("input") ? "val" : "html", f = d.data(); + b += "Text", null == f.resetText && d.data("resetText", d[e]()), d[e](null == f[b] ? this.options[b] : f[b]), setTimeout(a.proxy(function () { + "loadingText" == b ? (this.isLoading = !0, d.addClass(c).attr(c, c)) : this.isLoading && (this.isLoading = !1, d.removeClass(c).removeAttr(c)) + }, this), 0) + }, c.prototype.toggle = function () { + var a = !0, b = this.$element.closest('[data-toggle="buttons"]'); + if (b.length) { + var c = this.$element.find("input"); + "radio" == c.prop("type") && (c.prop("checked") && this.$element.hasClass("active") ? a = !1 : b.find(".active").removeClass("active")), a && c.prop("checked", !this.$element.hasClass("active")).trigger("change") + } + a && this.$element.toggleClass("active") + }; + var d = a.fn.button; + a.fn.button = b, a.fn.button.Constructor = c, a.fn.button.noConflict = function () { + return a.fn.button = d, this + }, a(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function (c) { + var d = a(c.target); + d.hasClass("btn") || (d = d.closest(".btn")), b.call(d, "toggle"), c.preventDefault() + }) +}(jQuery), +function (a) { + "use strict"; + function b(b) { + return this.each(function () { + var d = a(this), e = d.data("bs.carousel"), f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b), g = "string" == typeof b ? b : f.slide; + e || d.data("bs.carousel", e = new c(this, f)), "number" == typeof b ? e.to(b) : g ? e[g]() : f.interval && e.pause().cycle() + }) + } + + var c = function (b, c) { + this.$element = a(b).on("keydown.bs.carousel", a.proxy(this.keydown, this)), this.$indicators = this.$element.find(".carousel-indicators"), this.options = c, this.paused = this.sliding = this.interval = this.$active = this.$items = null, "hover" == this.options.pause && this.$element.on("mouseenter.bs.carousel", a.proxy(this.pause, this)).on("mouseleave.bs.carousel", a.proxy(this.cycle, this)) + }; + c.VERSION = "3.2.0", c.DEFAULTS = {interval: 5e3, pause: "hover", wrap: !0}, c.prototype.keydown = function (a) { + switch (a.which) { + case 37: + this.prev(); + break; + case 39: + this.next(); + break; + default: + return + } + a.preventDefault() + }, c.prototype.cycle = function (b) { + return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this + }, c.prototype.getItemIndex = function (a) { + return this.$items = a.parent().children(".item"), this.$items.index(a || this.$active) + }, c.prototype.to = function (b) { + var c = this, d = this.getItemIndex(this.$active = this.$element.find(".item.active")); + return b > this.$items.length - 1 || 0 > b ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function () { + c.to(b) + }) : d == b ? this.pause().cycle() : this.slide(b > d ? "next" : "prev", a(this.$items[b])) + }, c.prototype.pause = function (b) { + return b || (this.paused = !0), this.$element.find(".next, .prev").length && a.support.transition && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this + }, c.prototype.next = function () { + return this.sliding ? void 0 : this.slide("next") + }, c.prototype.prev = function () { + return this.sliding ? void 0 : this.slide("prev") + }, c.prototype.slide = function (b, c) { + var d = this.$element.find(".item.active"), e = c || d[b](), f = this.interval, g = "next" == b ? "left" : "right", h = "next" == b ? "first" : "last", i = this; + if (!e.length) { + if (!this.options.wrap)return; + e = this.$element.find(".item")[h]() + } + if (e.hasClass("active"))return this.sliding = !1; + var j = e[0], k = a.Event("slide.bs.carousel", {relatedTarget: j, direction: g}); + if (this.$element.trigger(k), !k.isDefaultPrevented()) { + if (this.sliding = !0, f && this.pause(), this.$indicators.length) { + this.$indicators.find(".active").removeClass("active"); + var l = a(this.$indicators.children()[this.getItemIndex(e)]); + l && l.addClass("active") + } + var m = a.Event("slid.bs.carousel", {relatedTarget: j, direction: g}); + return a.support.transition && this.$element.hasClass("slide") ? (e.addClass(b), e[0].offsetWidth, d.addClass(g), e.addClass(g), d.one("bsTransitionEnd", function () { + e.removeClass([b, g].join(" ")).addClass("active"), d.removeClass(["active", g].join(" ")), i.sliding = !1, setTimeout(function () { + i.$element.trigger(m) + }, 0) + }).emulateTransitionEnd(1e3 * d.css("transition-duration").slice(0, -1))) : (d.removeClass("active"), e.addClass("active"), this.sliding = !1, this.$element.trigger(m)), f && this.cycle(), this + } + }; + var d = a.fn.carousel; + a.fn.carousel = b, a.fn.carousel.Constructor = c, a.fn.carousel.noConflict = function () { + return a.fn.carousel = d, this + }, a(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", function (c) { + var d, e = a(this), f = a(e.attr("data-target") || (d = e.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, "")); + if (f.hasClass("carousel")) { + var g = a.extend({}, f.data(), e.data()), h = e.attr("data-slide-to"); + h && (g.interval = !1), b.call(f, g), h && f.data("bs.carousel").to(h), c.preventDefault() + } + }), a(window).on("load", function () { + a('[data-ride="carousel"]').each(function () { + var c = a(this); + b.call(c, c.data()) + }) + }) +}(jQuery), +function (a) { + "use strict"; + function b(b) { + return this.each(function () { + var d = a(this), e = d.data("bs.collapse"), f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b); + !e && f.toggle && "show" == b && (b = !b), e || d.data("bs.collapse", e = new c(this, f)), "string" == typeof b && e[b]() + }) + } + + var c = function (b, d) { + this.$element = a(b), this.options = a.extend({}, c.DEFAULTS, d), this.transitioning = null, this.options.parent && (this.$parent = a(this.options.parent)), this.options.toggle && this.toggle() + }; + c.VERSION = "3.2.0", c.DEFAULTS = {toggle: !0}, c.prototype.dimension = function () { + var a = this.$element.hasClass("width"); + return a ? "width" : "height" + }, c.prototype.show = function () { + if (!this.transitioning && !this.$element.hasClass("in")) { + var c = a.Event("show.bs.collapse"); + if (this.$element.trigger(c), !c.isDefaultPrevented()) { + var d = this.$parent && this.$parent.find("> .panel > .in"); + if (d && d.length) { + var e = d.data("bs.collapse"); + if (e && e.transitioning)return; + b.call(d, "hide"), e || d.data("bs.collapse", null) + } + var f = this.dimension(); + this.$element.removeClass("collapse").addClass("collapsing")[f](0), this.transitioning = 1; + var g = function () { + this.$element.removeClass("collapsing").addClass("collapse in")[f](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") + }; + if (!a.support.transition)return g.call(this); + var h = a.camelCase(["scroll", f].join("-")); + this.$element.one("bsTransitionEnd", a.proxy(g, this)).emulateTransitionEnd(350)[f](this.$element[0][h]) + } + } + }, c.prototype.hide = function () { + if (!this.transitioning && this.$element.hasClass("in")) { + var b = a.Event("hide.bs.collapse"); + if (this.$element.trigger(b), !b.isDefaultPrevented()) { + var c = this.dimension(); + this.$element[c](this.$element[c]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"), this.transitioning = 1; + var d = function () { + this.transitioning = 0, this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse") + }; + return a.support.transition ? void this.$element[c](0).one("bsTransitionEnd", a.proxy(d, this)).emulateTransitionEnd(350) : d.call(this) + } + } + }, c.prototype.toggle = function () { + this[this.$element.hasClass("in") ? "hide" : "show"]() + }; + var d = a.fn.collapse; + a.fn.collapse = b, a.fn.collapse.Constructor = c, a.fn.collapse.noConflict = function () { + return a.fn.collapse = d, this + }, a(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (c) { + var d, e = a(this), f = e.attr("data-target") || c.preventDefault() || (d = e.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, ""), g = a(f), h = g.data("bs.collapse"), i = h ? "toggle" : e.data(), j = e.attr("data-parent"), k = j && a(j); + h && h.transitioning || (k && k.find('[data-toggle="collapse"][data-parent="' + j + '"]').not(e).addClass("collapsed"), e[g.hasClass("in") ? "addClass" : "removeClass"]("collapsed")), b.call(g, i) + }) +}(jQuery), +function (a) { + "use strict"; + function b(b) { + b && 3 === b.which || (a(e).remove(), a(f).each(function () { + var d = c(a(this)), e = {relatedTarget: this}; + d.hasClass("open") && (d.trigger(b = a.Event("hide.bs.dropdown", e)), b.isDefaultPrevented() || d.removeClass("open").trigger("hidden.bs.dropdown", e)) + })) + } + + function c(b) { + var c = b.attr("data-target"); + c || (c = b.attr("href"), c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, "")); + var d = c && a(c); + return d && d.length ? d : b.parent() + } + + function d(b) { + return this.each(function () { + var c = a(this), d = c.data("bs.dropdown"); + d || c.data("bs.dropdown", d = new g(this)), "string" == typeof b && d[b].call(c) + }) + } + + var e = ".dropdown-backdrop", f = '[data-toggle="dropdown"]', g = function (b) { + a(b).on("click.bs.dropdown", this.toggle) + }; + g.VERSION = "3.2.0", g.prototype.toggle = function (d) { + var e = a(this); + if (!e.is(".disabled, :disabled")) { + var f = c(e), g = f.hasClass("open"); + if (b(), !g) { + "ontouchstart"in document.documentElement && !f.closest(".navbar-nav").length && a('