diff --git a/rowers/dataprep.py b/rowers/dataprep.py
index 146b9656..f0849105 100644
--- a/rowers/dataprep.py
+++ b/rowers/dataprep.py
@@ -667,6 +667,7 @@ def new_workout_from_df(r,df,
starttimeunix = mktime(startdatetime.utctimetuple())
df[' ElapsedTime (sec)'] = df['TimeStamp (sec)']
df['TimeStamp (sec)'] = df['TimeStamp (sec)']+starttimeunix
+ print df.info()
row = rrdata(df=df)
row.write_csv(csvfilename,gzip=True)
diff --git a/rowers/forms.py b/rowers/forms.py
index 8e35e8c4..e9e4f31e 100644
--- a/rowers/forms.py
+++ b/rowers/forms.py
@@ -259,7 +259,7 @@ class WorkoutMultipleCompareForm(forms.Form):
workouts = forms.ModelMultipleChoiceField(queryset=Workout.objects.all(),
widget=forms.CheckboxSelectMultiple())
-from rowers.interactiveplots import axlabels
+from rowers.metrics import axlabels
formaxlabels = axlabels.copy()
formaxlabels.pop('None')
diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py
index 8b514d66..0fe5bfe6 100644
--- a/rowers/interactiveplots.py
+++ b/rowers/interactiveplots.py
@@ -50,36 +50,7 @@ import stravastuff
from rowers.dataprep import rdata
import rowers.dataprep as dataprep
-axes = (
- ('time','Time',0,1e5,'basic'),
- ('distance', 'Distance (m)',0,1e5,'basic'),
- ('cumdist', 'Cumulative Distance (m)',0,1e5,'basic'),
- ('hr','Heart Rate (bpm)',100,200,'basic'),
- ('spm', 'Stroke Rate (spm)',15,45,'basic'),
- ('pace', 'Pace (/500m)',1.0e3*210,1.0e3*75,'basic'),
- ('power', 'Power (Watt)',0,600,'basic'),
- ('averageforce', 'Average Drive Force (lbs)',0,200,'pro'),
- ('drivelength', 'Drive Length (m)',0.5,2.0,'pro'),
- ('peakforce', 'Peak Drive Force (lbs)',0,400,'pro'),
- ('forceratio', 'Average/Peak Force Ratio',0,1,'pro'),
- ('driveenergy', 'Work per Stroke (J)',0,1000,'pro'),
- ('drivespeed', 'Drive Speed (m/s)',0,4,'pro'),
- ('slip', 'Slip (degrees)',0,20,'pro'),
- ('catch', 'Catch (degrees)',-40,-75,'pro'),
- ('finish', 'Finish (degrees)',20,55,'pro'),
- ('wash', 'Wash (degrees)',0,30,'pro'),
- ('peakforceangle', 'Peak Force Angle (degrees)',-20,20,'pro'),
- ('totalangle', 'Drive Length (deg)',40,140,'pro'),
- ('effectiveangle', 'Effective Drive Length (deg)',40,140,'pro'),
- ('rhythm', 'Stroke Rhythm (%)',20,55,'pro'),
- ('None', 'None',0,1,'basic'),
- )
-
-axlabels = {ax[0]:ax[1] for ax in axes}
-
-yaxminima = {ax[0]:ax[2] for ax in axes}
-
-yaxmaxima = {ax[0]:ax[3] for ax in axes}
+from rowers.metrics import axes,axlabels,yaxminima,yaxmaxima
def tailwind(bearing,vwind,winddir):
""" Calculates head-on head/tailwind in direction of rowing
diff --git a/rowers/metrics.py b/rowers/metrics.py
new file mode 100644
index 00000000..c92dfba2
--- /dev/null
+++ b/rowers/metrics.py
@@ -0,0 +1,30 @@
+axes = (
+ ('time','Time',0,1e5,'basic'),
+ ('distance', 'Distance (m)',0,1e5,'basic'),
+ ('cumdist', 'Cumulative Distance (m)',0,1e5,'basic'),
+ ('hr','Heart Rate (bpm)',100,200,'basic'),
+ ('spm', 'Stroke Rate (spm)',15,45,'basic'),
+ ('pace', 'Pace (/500m)',1.0e3*210,1.0e3*75,'basic'),
+ ('power', 'Power (Watt)',0,600,'basic'),
+ ('averageforce', 'Average Drive Force (lbs)',0,200,'pro'),
+ ('drivelength', 'Drive Length (m)',0.5,2.0,'pro'),
+ ('peakforce', 'Peak Drive Force (lbs)',0,400,'pro'),
+ ('forceratio', 'Average/Peak Force Ratio',0,1,'pro'),
+ ('driveenergy', 'Work per Stroke (J)',0,1000,'pro'),
+ ('drivespeed', 'Drive Speed (m/s)',0,4,'pro'),
+ ('slip', 'Slip (degrees)',0,20,'pro'),
+ ('catch', 'Catch (degrees)',-40,-75,'pro'),
+ ('finish', 'Finish (degrees)',20,55,'pro'),
+ ('wash', 'Wash (degrees)',0,30,'pro'),
+ ('peakforceangle', 'Peak Force Angle (degrees)',-20,20,'pro'),
+ ('totalangle', 'Drive Length (deg)',40,140,'pro'),
+ ('effectiveangle', 'Effective Drive Length (deg)',40,140,'pro'),
+ ('rhythm', 'Stroke Rhythm (%)',20,55,'pro'),
+ ('None', 'None',0,1,'basic'),
+ )
+
+axlabels = {ax[0]:ax[1] for ax in axes}
+
+yaxminima = {ax[0]:ax[2] for ax in axes}
+
+yaxmaxima = {ax[0]:ax[3] for ax in axes}
diff --git a/rowers/models.py b/rowers/models.py
index 6c581794..ee55c678 100644
--- a/rowers/models.py
+++ b/rowers/models.py
@@ -242,64 +242,18 @@ def auto_delete_teams_on_change(sender, instance, **kwargs):
teams = Team.objects.filter(manager=instance.user)
for team in teams:
team.delete()
-
+
+from rowers.metrics import axlabels
+favchartlabelsx = axlabels.copy()
+favchartlabelsy1 = axlabels.copy()
+favchartlabelsy2 = axlabels.copy()
+favchartlabelsy1.pop('None')
+parchoicesy1 = list(sorted(favchartlabelsy1.items(), key = lambda x:x[1]))
+parchoicesy2 = list(sorted(favchartlabelsy2.items(), key = lambda x:x[1]))
+parchoicesx = list(sorted(favchartlabelsx.items(), key = lambda x:x[1]))
+
# Saving a chart as a favorite chart
class FavoriteChart(models.Model):
- y1params = (
- ('hr','Heart Rate'),
- ('pace','Pace'),
- ('spm','SPM'),
- ('driveenergy','Work per Stroke'),
- ('power','Power'),
- ('drivelength','Drivelength'),
- ('averageforce','Average Force'),
- ('peakforce','Peak Force'),
- ('forceratio','Average/Peak Force Ratio'),
- ('drivespeed','Drive Speed'),
- ('wash','Wash'),
- ('slip','Slip'),
- ('catch','Catch Angle'),
- ('finish','Finish Angle'),
- ('peakforceangle','Peak Force Angle')
- )
-
- y2params = (
- ('hr','Heart Rate'),
- ('spm','SPM'),
- ('driveenergy','Work per Stroke'),
- ('power','Power'),
- ('drivelength','Drivelength'),
- ('averageforce','Average Force'),
- ('peakforce','Peak Force'),
- ('forceratio','Average/Peak Force Ratio'),
- ('drivespeed','Drive Speed'),
- ('wash','Wash'),
- ('slip','Slip'),
- ('catch','Catch Angle'),
- ('finish','Finish Angle'),
- ('peakforceangle','Peak Force Angle'),
- ('None','None')
- )
-
- xparams = (
- ('time','Time'),
- ('distance','Distance'),
- ('hr','Heart Rate'),
- ('spm','SPM'),
- ('driveenergy','Work per Stroke'),
- ('power','Power'),
- ('drivelength','Drivelength'),
- ('averageforce','Average Force'),
- ('peakforce','Peak Force'),
- ('forceratio','Average/Peak Force Ratio'),
- ('drivespeed','Drive Speed'),
- ('wash','Wash'),
- ('slip','Slip'),
- ('catch','Catch Angle'),
- ('finish','Finish Angle'),
- ('peakforceangle','Peak Force Angle'),
- )
-
workouttypechoices = (
('ote','Erg/SkiErg'),
('otw','On The Water'),
@@ -311,9 +265,9 @@ class FavoriteChart(models.Model):
('scatter','Scatter Chart')
)
- yparam1 = models.CharField(max_length=50,choices=y1params,verbose_name='Y1')
- yparam2 = models.CharField(max_length=50,choices=y2params,verbose_name='Y2',default='None',blank=True)
- xparam = models.CharField(max_length=50,choices=xparams,verbose_name='X')
+ yparam1 = models.CharField(max_length=50,choices=parchoicesy1,verbose_name='Y1')
+ yparam2 = models.CharField(max_length=50,choices=parchoicesy2,verbose_name='Y2',default='None',blank=True)
+ xparam = models.CharField(max_length=50,choices=parchoicesx,verbose_name='X')
plottype = models.CharField(max_length=50,choices=plottypes,
default='line',
verbose_name='Chart Type')
diff --git a/rowers/templates/about_us.html b/rowers/templates/about_us.html
index a57e5e3a..b89f6881 100644
--- a/rowers/templates/about_us.html
+++ b/rowers/templates/about_us.html
@@ -116,8 +116,8 @@ of a rowers technique.
The online logbook provide the ability to record OTW sessions
manually, but none of the data from these sessions is captured.
-The Premium Features are available for only 5 EURO per year.
- Your 5 EURO will be used
+
The Premium Features are available for only 15 EURO per year.
+ Your 15 EURO will be used
to cover the hosting costs of the site.
diff --git a/rowers/templates/base.html b/rowers/templates/base.html
index 50fb8a97..492949e7 100644
--- a/rowers/templates/base.html
+++ b/rowers/templates/base.html
@@ -11,8 +11,11 @@
-
-
+
+
+
+
+
Rowsandall
@@ -26,64 +29,71 @@
{% analytical_body_top %}
-
- {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
-
- {% else %}
-
- {% endif %}
+
+
-
-
-
-
-
-
-
+
+
+ {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
+
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Free Data and Analysis. For Rowers. By Rowers.
+
+
+
+
+
+
+ {% if user.is_authenticated %}
+
logout
+ {% else %}
+
 
+ {% endif %}
+
-
-
-
+ {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
+
Pro Member
+ {% else %}
+
+ {% endif %}
+
-
-
-
-
Free Data and Analysis. For Rowers. By Rowers.
-
-
- {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
-
Pro Member
- {% else %}
-
- {% endif %}
-
-
- {% if user.is_authenticated %}
-
logout
-
- {% else %}
-
 
- {% endif %}
-
-
-
-
-
+
-
diff --git a/rowers/templates/basefront.html b/rowers/templates/basefront.html
new file mode 100644
index 00000000..d2eed657
--- /dev/null
+++ b/rowers/templates/basefront.html
@@ -0,0 +1,261 @@
+{% load cookielaw_tags %}
+{% load analytical %}
+
+
+
+
+ {% analytical_head_top %}
+ {% if GOOGLE_ANALYTICS_PROPERTY_ID %}
+ {% include "ga.html" %}
+ {% endif %}
+
+
+
+
+
+
+
+
+
+
+
Rowsandall
+
+
+
+
+ {% block meta %} {% endblock %}
+ {% analytical_head_bottom %}
+
+
+
+
+
+
+ {% analytical_body_top %}
+
+
+
+
+
+
+
+ {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
+
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Free Data and Analysis. For Rowers. By Rowers.
+
+
+
+
+
+
+ {% if user.is_authenticated %}
+
logout
+ {% else %}
+
 
+ {% endif %}
+
+
+
+ {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
+
Pro Member
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+
+
+
+
+
+ {% block message %}
+ {% if message %}
+
+ {{ message }}
+
+ {% endif %}
+ {% if successmessage %}
+
+ {{ successmessage }}
+
+ {% endif %}
+ {% endblock %}
+
+
+ {% load tz %}
+
+ {% block content %}{% endblock %}
+
+
+
+
+ {% block footer %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% endblock %}
+
+ {% cookielaw_banner %}
+
+
+
+ {% analytical_body_bottom %}
+
+
diff --git a/rowers/templates/frontpage.html b/rowers/templates/frontpage.html
index 1532f44d..2e297706 100644
--- a/rowers/templates/frontpage.html
+++ b/rowers/templates/frontpage.html
@@ -1,4 +1,4 @@
-{% extends "base.html" %}
+{% extends "basefront.html" %}
{% load staticfiles %}
{% load rowerfilters %}
@@ -6,11 +6,6 @@
{% block content %}
-
-
-
-
-
Compatible with:
@@ -27,4 +22,5 @@
+
{% endblock %}
diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html
index b3b37262..9073b53a 100644
--- a/rowers/templates/list_workouts.html
+++ b/rowers/templates/list_workouts.html
@@ -27,7 +27,7 @@
{% csrf_token %}
-
+
@@ -42,10 +42,10 @@
{% endif %}
{% if workouts %}
-
+
- Date
+ Date
Time
Name
Type
@@ -54,8 +54,8 @@
Avg HR
Max HR
{% if not team %}
- Delete
- Export
+
+
{% else %}
Owner
@@ -89,17 +89,17 @@
{{ workout.maxhr }}
{% if not team %}
- Delete
-
-
- Export
+ Export
{% else %}
{{ workout.user.user.first_name }} {{ workout.user.user.last_name }}
{% endif %}
- Flex
+ Flex
+
+ Delete
+
@@ -116,7 +116,9 @@
{% if team %}
{% endif %}
diff --git a/rowers/templates/promembership.html b/rowers/templates/promembership.html
index 41d31a5b..76e228aa 100644
--- a/rowers/templates/promembership.html
+++ b/rowers/templates/promembership.html
@@ -7,7 +7,7 @@
Donations are welcome to keep this web site going. To help cover the hosting
-costs, I have created a Pro membership option (for only 5 EURO per year). Once I process your
+costs, I have created a Pro membership option (for only 15 EURO per year). Once I process your
donation, I will give you access to some special features on this
website.
diff --git a/rowers/templates/registration/login.html b/rowers/templates/registration/login.html
index 41550cc7..a98484cb 100644
--- a/rowers/templates/registration/login.html
+++ b/rowers/templates/registration/login.html
@@ -1,4 +1,4 @@
-{% extends "base.html" %}
+{% extends "basefront.html" %}
{% block content %}
diff --git a/rowers/templates/rower_form.html b/rowers/templates/rower_form.html
index c17124ec..c495cb23 100644
--- a/rowers/templates/rower_form.html
+++ b/rowers/templates/rower_form.html
@@ -80,6 +80,14 @@
Account Information
+
+
{% if userform.errors %}
Please correct the error{{ form.errors|pluralize }} below.
@@ -113,6 +121,8 @@
+
+
diff --git a/rowers/templates/team_compare_select.html b/rowers/templates/team_compare_select.html
index c52bcb1f..162a36ee 100644
--- a/rowers/templates/team_compare_select.html
+++ b/rowers/templates/team_compare_select.html
@@ -7,8 +7,8 @@
{% block content %}
-
-
+
+
{% include "teambuttons.html" with teamid=team.id %}
diff --git a/rowers/templates/teambuttons.html b/rowers/templates/teambuttons.html
index b91e27c7..6fa2c663 100644
--- a/rowers/templates/teambuttons.html
+++ b/rowers/templates/teambuttons.html
@@ -1,9 +1,15 @@
-
+
diff --git a/static/css/960.css b/static/css/960.css
index 260fa152..b69fd3b3 100644
--- a/static/css/960.css
+++ b/static/css/960.css
@@ -650,4 +650,4 @@ body {
.container_12,
.container_16 {
zoom: 1;
-}
\ No newline at end of file
+}
diff --git a/static/css/960_12_col.css b/static/css/960_12_col.css
index 48e86ee8..4166289c 100644
--- a/static/css/960_12_col.css
+++ b/static/css/960_12_col.css
@@ -14,7 +14,7 @@
*/
body {
- min-width: 960px;
+ min-width: 960px;
}
/* `Container
@@ -354,4 +354,4 @@ body {
.clearfix,
.container_12 {
zoom: 1;
-}
\ No newline at end of file
+}
diff --git a/static/css/demo.css b/static/css/demo.css
index d689be41..b95cd13d 100644
--- a/static/css/demo.css
+++ b/static/css/demo.css
@@ -52,4 +52,4 @@ p {
.container_24 {
background-image: url(../img/24_col.gif);
-}
\ No newline at end of file
+}
diff --git a/static/css/rowsandall.css b/static/css/rowsandall.css
index 24a757de..1f72281d 100644
--- a/static/css/rowsandall.css
+++ b/static/css/rowsandall.css
@@ -5,13 +5,14 @@ html {
}
body {
- background: #edc;
+/* background: #edc; */
color: #333;
font-size: 1.2em;
height: auto;
padding-bottom: 20px;
}
+
a {
/* color: #fff; */
text-decoration: none;
@@ -58,6 +59,9 @@ th {
.listtable thead th {
font-weight: bold;
}
+
+.shortpadded td { padding: 3px 3px }
+
.paddedtable td { padding: 1px 20px }
.cortable {
@@ -155,6 +159,11 @@ th.rotate > div > span {
text-align: center;
}
+.transparentbutton {
+ padding: 1px;
+ text-align: center;
+}
+
.tooltip {
position: relative;
display: inline-block;
@@ -193,9 +202,9 @@ th.rotate > div > span {
display: block;
padding: .2em .5em .2em .5em;
zoom: 1;
- border-radius: .5em;
- -moz-border-radius: .5em;
- -webkit-border-radius: .5em;
+/* border-radius: .5em; */
+/* -moz-border-radius: .5em; */
+/* -webkit-border-radius: .5em; */
text-align: left;
border: solid 1px #333;
}
@@ -208,13 +217,13 @@ th.rotate > div > span {
color: white;
padding: 0.2em 0.0em 0.2em 0.0em;
zoom: 1;
- border-radius: .5em;
- -moz-border-radius: .5em;
- -webkit-border-radius: .5em;
- -box-shadow: 0 1px 3px rgba(0,0,0,0.5);
- -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
- text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
+/* border-radius: .5em; */
+/* -moz-border-radius: .5em; */
+/* -webkit-border-radius: .5em; */
+/* -box-shadow: 0 1px 3px rgba(0,0,0,0.5); */
+/* -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5); */
+/* -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5); /*
+/* text-shadow: 0 -1px 1px rgba(0,0,0,0.25); */
text-align: center;
}
@@ -229,10 +238,10 @@ th.rotate > div > span {
border-radius: .5em;
-moz-border-radius: .5em;
-webkit-border-radius: .5em;
- -box-shadow: 0 1px 3px rgba(0,0,0,0.5);
- -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
- text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
+/* -box-shadow: 0 1px 3px rgba(0,0,0,0.5); */
+/* -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5); */
+/* -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5); */
+/* text-shadow: 0 -1px 1px rgba(0,0,0,0.25); */
text-align: center;
}
@@ -242,9 +251,6 @@ a.button {
.button:hover {
background: #d8e6ff; /* old browsers */
- background: -moz-linear-gradient(top, #d8e6ff 0%, #8da8d7 100%); /* firefox */
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d8e6ff), color-stop(100%,#8da8d7)); /* webkit */
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d8e6ff', endColorstr='#8da8d7',GradientType=0 ); /* ie */
text-decoration: none;
}
@@ -270,43 +276,25 @@ a.button {
color: #d7d7d7;
border: solid 1px #333;
background: #333;
- background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000));
- background: -moz-linear-gradient(top, #666, #000);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#000000');
}
.black:hover {
background: #000;
- background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#000));
- background: -moz-linear-gradient(top, #444, #000);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#000000');
}
.black:active {
color: #666;
- background: -webkit-gradient(linear, left top, left bottom, from(#000), to(#444));
- background: -moz-linear-gradient(top, #000, #444);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#666666');
}
/* gray */
-.gray {
+.blue {
color: #e9e9e9;
border: solid 1px #555;
background: #6e6e6e;
- background: -webkit-gradient(linear, left top, left bottom, from(#888), to(#575757));
- background: -moz-linear-gradient(top, #888, #575757);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#888888', endColorstr='#575757');
}
-.gray:hover {
+.blue:hover {
background: #616161;
- background: -webkit-gradient(linear, left top, left bottom, from(#757575), to(#4b4b4b));
- background: -moz-linear-gradient(top, #757575, #4b4b4b);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#757575', endColorstr='#4b4b4b');
}
-.gray:active {
+.blue:active {
color: #afafaf;
- background: -webkit-gradient(linear, left top, left bottom, from(#575757), to(#888));
- background: -moz-linear-gradient(top, #575757, #888);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#575757', endColorstr='#888888');
}
/* white */
@@ -314,21 +302,12 @@ a.button {
color: #606060;
border: solid 1px #b7b7b7;
background: #fff;
- background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
- background: -moz-linear-gradient(top, #fff, #ededed);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
}
.white:hover {
background: #ededed;
- background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));
- background: -moz-linear-gradient(top, #fff, #dcdcdc);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dcdcdc');
}
.white:active {
color: #999;
- background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#fff));
- background: -moz-linear-gradient(top, #ededed, #fff);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#ffffff');
}
/* orange */
@@ -336,21 +315,12 @@ a.button {
color: #fef4e9;
border: solid 1px #da7c0c;
background: #f78d1d;
- background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20));
- background: -moz-linear-gradient(top, #faa51a, #f47a20);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20');
}
.orange:hover {
background: #f47c20;
- background: -webkit-gradient(linear, left top, left bottom, from(#f88e11), to(#f06015));
- background: -moz-linear-gradient(top, #f88e11, #f06015);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f88e11', endColorstr='#f06015');
}
.orange:active {
color: #fcd3a5;
- background: -webkit-gradient(linear, left top, left bottom, from(#f47a20), to(#faa51a));
- background: -moz-linear-gradient(top, #f47a20, #faa51a);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f47a20', endColorstr='#faa51a');
}
/* red */
@@ -358,43 +328,30 @@ a.button {
color: #faddde;
border: solid 1px #980c10;
background: #d81b21;
- background: -webkit-gradient(linear, left top, left bottom, from(#ed1c24), to(#aa1317));
- background: -moz-linear-gradient(top, #ed1c24, #aa1317);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed1c24', endColorstr='#aa1317');
}
.red:hover {
background: #b61318;
- background: -webkit-gradient(linear, left top, left bottom, from(#c9151b), to(#a11115));
- background: -moz-linear-gradient(top, #c9151b, #a11115);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#c9151b', endColorstr='#a11115');
}
.red:active {
color: #de898c;
- background: -webkit-gradient(linear, left top, left bottom, from(#aa1317), to(#ed1c24));
- background: -moz-linear-gradient(top, #aa1317, #ed1c24);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#aa1317', endColorstr='#ed1c24');
}
/* blue */
-.blue {
- color: #d9eef7;
- border: solid 1px #0076a3;
- background: #0095cd;
- background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5));
- background: -moz-linear-gradient(top, #00adee, #0078a5);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');
+.graytext {
+ color: #27aae2;
}
-.blue:hover {
- background: #007ead;
- background: -webkit-gradient(linear, left top, left bottom, from(#0095cc), to(#00678e));
- background: -moz-linear-gradient(top, #0095cc, #00678e);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0095cc', endColorstr='#00678e');
+
+.gray {
+ color: #fae7e9;
+ border: solid 1px #27aae2;
+ background: #27aae2;
}
-.blue:active {
- color: #80bed6;
- background: -webkit-gradient(linear, left top, left bottom, from(#0078a5), to(#00adee));
- background: -moz-linear-gradient(top, #0078a5, #00adee);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0078a5', endColorstr='#00adee');
+.gray:hover {
+ background: #1c74bb;
+ border: solid 1px #27aae2;
+}
+.gray:active {
+ color: #ffffff;
}
/* rosy */
@@ -402,21 +359,12 @@ a.button {
color: #fae7e9;
border: solid 1px #b73948;
background: #da5867;
- background: -webkit-gradient(linear, left top, left bottom, from(#f16c7c), to(#bf404f));
- background: -moz-linear-gradient(top, #f16c7c, #bf404f);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f16c7c', endColorstr='#bf404f');
}
.rosy:hover {
background: #ba4b58;
- background: -webkit-gradient(linear, left top, left bottom, from(#cf5d6a), to(#a53845));
- background: -moz-linear-gradient(top, #cf5d6a, #a53845);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cf5d6a', endColorstr='#a53845');
}
.rosy:active {
color: #dca4ab;
- background: -webkit-gradient(linear, left top, left bottom, from(#bf404f), to(#f16c7c));
- background: -moz-linear-gradient(top, #bf404f, #f16c7c);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bf404f', endColorstr='#f16c7c');
}
/* green */
@@ -424,21 +372,12 @@ a.button {
color: #e8f0de;
border: solid 1px #538312;
background: #64991e;
- background: -webkit-gradient(linear, left top, left bottom, from(#7db72f), to(#4e7d0e));
- background: -moz-linear-gradient(top, #7db72f, #4e7d0e);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7db72f', endColorstr='#4e7d0e');
}
.green:hover {
background: #538018;
- background: -webkit-gradient(linear, left top, left bottom, from(#6b9d28), to(#436b0c));
- background: -moz-linear-gradient(top, #6b9d28, #436b0c);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6b9d28', endColorstr='#436b0c');
}
.green:active {
color: #a9c08c;
- background: -webkit-gradient(linear, left top, left bottom, from(#4e7d0e), to(#7db72f));
- background: -moz-linear-gradient(top, #4e7d0e, #7db72f);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4e7d0e', endColorstr='#7db72f');
}
/* pink */
@@ -446,21 +385,12 @@ a.button {
color: #feeef5;
border: solid 1px #d2729e;
background: #f895c2;
- background: -webkit-gradient(linear, left top, left bottom, from(#feb1d3), to(#f171ab));
- background: -moz-linear-gradient(top, #feb1d3, #f171ab);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#feb1d3', endColorstr='#f171ab');
}
.pink:hover {
background: #d57ea5;
- background: -webkit-gradient(linear, left top, left bottom, from(#f4aacb), to(#e86ca4));
- background: -moz-linear-gradient(top, #f4aacb, #e86ca4);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4aacb', endColorstr='#e86ca4');
}
.pink:active {
color: #f3c3d9;
- background: -webkit-gradient(linear, left top, left bottom, from(#f171ab), to(#feb1d3));
- background: -moz-linear-gradient(top, #f171ab, #feb1d3);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f171ab', endColorstr='#feb1d3');
}
@@ -509,7 +439,7 @@ a.button {
display: none;
position: absolute;
min-width: 160px;
- box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
+/* box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); */
z-index: 999;
}
diff --git a/static/img/android-icon-144x144.png b/static/img/android-icon-144x144.png
new file mode 100644
index 00000000..9799108b
Binary files /dev/null and b/static/img/android-icon-144x144.png differ
diff --git a/static/img/android-icon-192x192.png b/static/img/android-icon-192x192.png
new file mode 100644
index 00000000..0d77320f
Binary files /dev/null and b/static/img/android-icon-192x192.png differ
diff --git a/static/img/android-icon-36x36.png b/static/img/android-icon-36x36.png
new file mode 100644
index 00000000..ace730cc
Binary files /dev/null and b/static/img/android-icon-36x36.png differ
diff --git a/static/img/android-icon-48x48.png b/static/img/android-icon-48x48.png
new file mode 100644
index 00000000..fef65fb1
Binary files /dev/null and b/static/img/android-icon-48x48.png differ
diff --git a/static/img/android-icon-72x72.png b/static/img/android-icon-72x72.png
new file mode 100644
index 00000000..ab3ec927
Binary files /dev/null and b/static/img/android-icon-72x72.png differ
diff --git a/static/img/android-icon-96x96.png b/static/img/android-icon-96x96.png
new file mode 100644
index 00000000..2245a95f
Binary files /dev/null and b/static/img/android-icon-96x96.png differ
diff --git a/static/img/apple-icon-114x114.png b/static/img/apple-icon-114x114.png
new file mode 100644
index 00000000..e010b19e
Binary files /dev/null and b/static/img/apple-icon-114x114.png differ
diff --git a/static/img/apple-icon-120x120.png b/static/img/apple-icon-120x120.png
new file mode 100644
index 00000000..b13dcd00
Binary files /dev/null and b/static/img/apple-icon-120x120.png differ
diff --git a/static/img/apple-icon-144x144.png b/static/img/apple-icon-144x144.png
new file mode 100644
index 00000000..9799108b
Binary files /dev/null and b/static/img/apple-icon-144x144.png differ
diff --git a/static/img/apple-icon-152x152.png b/static/img/apple-icon-152x152.png
new file mode 100644
index 00000000..7c9de081
Binary files /dev/null and b/static/img/apple-icon-152x152.png differ
diff --git a/static/img/apple-icon-180x180.png b/static/img/apple-icon-180x180.png
new file mode 100644
index 00000000..5e4f9800
Binary files /dev/null and b/static/img/apple-icon-180x180.png differ
diff --git a/static/img/apple-icon-57x57.png b/static/img/apple-icon-57x57.png
new file mode 100644
index 00000000..4a9d6a87
Binary files /dev/null and b/static/img/apple-icon-57x57.png differ
diff --git a/static/img/apple-icon-60x60.png b/static/img/apple-icon-60x60.png
new file mode 100644
index 00000000..1ac76716
Binary files /dev/null and b/static/img/apple-icon-60x60.png differ
diff --git a/static/img/apple-icon-72x72.png b/static/img/apple-icon-72x72.png
new file mode 100644
index 00000000..ab3ec927
Binary files /dev/null and b/static/img/apple-icon-72x72.png differ
diff --git a/static/img/apple-icon-76x76.png b/static/img/apple-icon-76x76.png
new file mode 100644
index 00000000..1642dcbc
Binary files /dev/null and b/static/img/apple-icon-76x76.png differ
diff --git a/static/img/apple-icon-precomposed.png b/static/img/apple-icon-precomposed.png
new file mode 100644
index 00000000..93dfaa34
Binary files /dev/null and b/static/img/apple-icon-precomposed.png differ
diff --git a/static/img/apple-icon.png b/static/img/apple-icon.png
new file mode 100644
index 00000000..93dfaa34
Binary files /dev/null and b/static/img/apple-icon.png differ
diff --git a/static/img/browserconfig.xml b/static/img/browserconfig.xml
new file mode 100644
index 00000000..c5541482
--- /dev/null
+++ b/static/img/browserconfig.xml
@@ -0,0 +1,2 @@
+
+
#ffffff
\ No newline at end of file
diff --git a/static/img/favicon-16x16.png b/static/img/favicon-16x16.png
new file mode 100644
index 00000000..5f57c1ad
Binary files /dev/null and b/static/img/favicon-16x16.png differ
diff --git a/static/img/favicon-32x32.png b/static/img/favicon-32x32.png
new file mode 100644
index 00000000..e850b6e7
Binary files /dev/null and b/static/img/favicon-32x32.png differ
diff --git a/static/img/favicon-96x96.png b/static/img/favicon-96x96.png
new file mode 100644
index 00000000..2245a95f
Binary files /dev/null and b/static/img/favicon-96x96.png differ
diff --git a/static/img/favicon.ico b/static/img/favicon.ico
index 9d585592..ac437c41 100644
Binary files a/static/img/favicon.ico and b/static/img/favicon.ico differ
diff --git a/static/img/henley.jpg b/static/img/henley.jpg
new file mode 100644
index 00000000..f0d42dc6
Binary files /dev/null and b/static/img/henley.jpg differ
diff --git a/static/img/landing1.jpg b/static/img/landing1.jpg
new file mode 100644
index 00000000..6e02e345
Binary files /dev/null and b/static/img/landing1.jpg differ
diff --git a/static/img/landing2.jpg b/static/img/landing2.jpg
new file mode 100644
index 00000000..b780db2f
Binary files /dev/null and b/static/img/landing2.jpg differ
diff --git a/static/img/logo3.jpg b/static/img/logo3.jpg
new file mode 100644
index 00000000..82b9e914
Binary files /dev/null and b/static/img/logo3.jpg differ
diff --git a/static/img/logo4.png b/static/img/logo4.png
new file mode 100644
index 00000000..f565371c
Binary files /dev/null and b/static/img/logo4.png differ
diff --git a/static/img/logo5.png b/static/img/logo5.png
new file mode 100644
index 00000000..f9a63ff5
Binary files /dev/null and b/static/img/logo5.png differ
diff --git a/static/img/logo6.png b/static/img/logo6.png
new file mode 100644
index 00000000..ba84dea8
Binary files /dev/null and b/static/img/logo6.png differ
diff --git a/static/img/logo7.jpg b/static/img/logo7.jpg
new file mode 100644
index 00000000..cd640b55
Binary files /dev/null and b/static/img/logo7.jpg differ
diff --git a/static/img/logo7.png b/static/img/logo7.png
new file mode 100644
index 00000000..a9f1493e
Binary files /dev/null and b/static/img/logo7.png differ
diff --git a/static/img/logo701.jpg b/static/img/logo701.jpg
new file mode 100644
index 00000000..9e7742a9
Binary files /dev/null and b/static/img/logo701.jpg differ
diff --git a/static/img/manifest.json b/static/img/manifest.json
new file mode 100644
index 00000000..013d4a6a
--- /dev/null
+++ b/static/img/manifest.json
@@ -0,0 +1,41 @@
+{
+ "name": "App",
+ "icons": [
+ {
+ "src": "\/android-icon-36x36.png",
+ "sizes": "36x36",
+ "type": "image\/png",
+ "density": "0.75"
+ },
+ {
+ "src": "\/android-icon-48x48.png",
+ "sizes": "48x48",
+ "type": "image\/png",
+ "density": "1.0"
+ },
+ {
+ "src": "\/android-icon-72x72.png",
+ "sizes": "72x72",
+ "type": "image\/png",
+ "density": "1.5"
+ },
+ {
+ "src": "\/android-icon-96x96.png",
+ "sizes": "96x96",
+ "type": "image\/png",
+ "density": "2.0"
+ },
+ {
+ "src": "\/android-icon-144x144.png",
+ "sizes": "144x144",
+ "type": "image\/png",
+ "density": "3.0"
+ },
+ {
+ "src": "\/android-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image\/png",
+ "density": "4.0"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/static/img/ms-icon-144x144.png b/static/img/ms-icon-144x144.png
new file mode 100644
index 00000000..9799108b
Binary files /dev/null and b/static/img/ms-icon-144x144.png differ
diff --git a/static/img/ms-icon-150x150.png b/static/img/ms-icon-150x150.png
new file mode 100644
index 00000000..04cf9be9
Binary files /dev/null and b/static/img/ms-icon-150x150.png differ
diff --git a/static/img/ms-icon-310x310.png b/static/img/ms-icon-310x310.png
new file mode 100644
index 00000000..fcc66997
Binary files /dev/null and b/static/img/ms-icon-310x310.png differ
diff --git a/static/img/ms-icon-70x70.png b/static/img/ms-icon-70x70.png
new file mode 100644
index 00000000..9d5d9d42
Binary files /dev/null and b/static/img/ms-icon-70x70.png differ
diff --git a/static/img/testpic.png b/static/img/testpic.png
new file mode 100644
index 00000000..ded3a256
Binary files /dev/null and b/static/img/testpic.png differ