From 2ba9133a1dcb96136db47556203770ed47c3b192 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 27 May 2020 14:56:09 +0200 Subject: [PATCH] first result working --- rowers/models.py | 3 +- rowers/plannedsessions.py | 4 +- rowers/scoring.py | 18 ++++++++ rowers/tasks.py | 22 ++++++++-- rowers/templates/standard_form.html | 2 +- rowers/templates/virtualevent.html | 35 +++++++++++++--- rowers/views/racesviews.py | 7 +++- static/css/rowsandall2.css | 64 +++++++++++++++-------------- static/css/rowsandall2.min.css | 2 +- 9 files changed, 112 insertions(+), 45 deletions(-) diff --git a/rowers/models.py b/rowers/models.py index 2eca5a37..0b5ed03f 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -2252,7 +2252,7 @@ class VirtualRace(PlannedSession): validators=[validate_email],blank=True) coursestandards = models.ForeignKey(StandardCollection,null=True,on_delete=models.SET_NULL, - verbose_name='Standard Times') + verbose_name='Standard Times',blank=True) def __str__(self): @@ -2954,6 +2954,7 @@ class VirtualRaceResult(models.Model): startsecond = models.FloatField(default=0) endsecond = models.FloatField(default=0) + referencespeed = models.FloatField(default=5.0) entrycategory = models.ForeignKey(CourseStandard,null=True,on_delete=models.SET_NULL, verbose_name='Group') diff --git a/rowers/plannedsessions.py b/rowers/plannedsessions.py index 4c859b65..5201c279 100644 --- a/rowers/plannedsessions.py +++ b/rowers/plannedsessions.py @@ -1514,6 +1514,7 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0): return 0,comments,errors,0 if ws[0].workouttype != record.boatclass: + print(ws[0].workouttype,record.boatclass) errors.append('Your workout boat class is different than on your race registration') return 0,comments,errors,0 @@ -1551,7 +1552,8 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0): comments.append('Workouts submitted to virtual events have to be public. We have changed the workout to a public workout.') job = myqueue(queue,handle_check_race_course,ws[0].csvfilename, - ws[0].id,race.course.id,record.id,splitsecond=splitsecond) + ws[0].id,race.course.id,record.id,splitsecond=splitsecond, + referencespeed=record.referencespeed) diff --git a/rowers/scoring.py b/rowers/scoring.py index 915a799b..38cba81a 100644 --- a/rowers/scoring.py +++ b/rowers/scoring.py @@ -17,6 +17,10 @@ def save_scoring(name,user,filename,id=0,notes=""): collection.name = name collection.notes = notes collection.save() + standards = CourseStandard.objects.filter(standardcollection=collection) + for standard in standards: + print(standard,collection) + standard.delete() except StandardCollection.DoesNotExist: return 0 @@ -56,6 +60,20 @@ def save_scoring(name,user,filename,id=0,notes=""): try: boatclass = row['BoatClass'] + if boatclass.lower() in ['standard','olympic','normal']: + boatclass = 'water' + elif boatclass.lower() in ['erg','c2','concept','static']: + boatclass = 'rower' + elif boatclass.lower() in ['dynamic']: + boatclass = 'dynamic' + elif boatclass.lower() in ['slides','slide','slider','sliders']: + boatclass = 'slides' + elif boatclass.lower() in ['c','c-boat']: + boatclass = 'c-boat' + elif boatclass.lower() in ['coastal','coast']: + boatclass = 'coastal' + elif boatclass.lower() in ['church','churchboat','finnish','finland']: + boatclass = 'churchboat' except KeyError: boatclass = 'water' diff --git a/rowers/tasks.py b/rowers/tasks.py index 71eca7bb..f2408632 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -353,6 +353,16 @@ def handle_check_race_course(self, else: splitsecond = 0 + if 'referencespeed' in kwargs: + referencespeed = kwargs['referencespeed'] + else: + referencespeed = 5.0 + + if 'coursedistance' in kwargs: + coursedistance = kwargs['coursedistance'] + else: + coursedistance = 0 + mode = 'race' if 'mode' in kwargs: mode = kwargs['mode'] @@ -479,22 +489,28 @@ def handle_check_race_course(self, else: coursecompleted = False - + points = 0 if coursecompleted: - query = 'UPDATE rowers_virtualraceresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond} WHERE id={recordid}'.format( + if coursedistance == 0: + coursedistance = coursemeters + velo = coursedistance/coursetimeseconds + points = int(100*(2.-referencespeed/velo)) + query = 'UPDATE rowers_virtualraceresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond}, points={points} WHERE id={recordid}'.format( recordid=recordid, duration=totaltime_sec_to_string(coursetimeseconds), distance=int(coursemeters), + points=points, workoutid=workoutid, startsecond=startsecond, endsecond=endsecond, ) if mode == 'coursetest': - query = 'UPDATE rowers_coursetestresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond} WHERE id={recordid}'.format( + query = 'UPDATE rowers_coursetestresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond}, points={points} WHERE id={recordid}'.format( recordid=recordid, duration=totaltime_sec_to_string(coursetimeseconds), distance=int(coursemeters), + points=points, workoutid=workoutid, startsecond=startsecond, endsecond=endsecond, diff --git a/rowers/templates/standard_form.html b/rowers/templates/standard_form.html index 777c1857..2e8c2314 100644 --- a/rowers/templates/standard_form.html +++ b/rowers/templates/standard_form.html @@ -187,7 +187,7 @@ $.ajax({ data: data, type: $(this).attr('method'), - url: '/rowers/standards/upload/', + url: window.location.pathname, contentType: false, processData: false, error: function(result) { diff --git a/rowers/templates/virtualevent.html b/rowers/templates/virtualevent.html index 3589b469..cd8c6ccc 100644 --- a/rowers/templates/virtualevent.html +++ b/rowers/templates/virtualevent.html @@ -268,7 +268,9 @@   Name Team Name -   + {% if race.coursestandards %} + Group + {% else %}       @@ -276,8 +278,12 @@ {% if race.sessiontype == 'race' %} Boat {% endif %} + {% endif %} Time Distance + {% if race.coursestandards %} + Points + {% endif %} Details   @@ -290,6 +296,9 @@ {{ result.username }} {{ result.teamname }} + {% if race.coursestandards %} + {{ result.entrycategory }} + {% else %} {{ result.age }} {{ result.sex }} {{ result.weightcategory }} @@ -304,11 +313,17 @@ {% if race.sessiontype == 'race' %} {{ result.boattype }} {% endif %} + {% endif %} {{ result.duration |durationprint:"%H:%M:%S.%f" }} {{ result.distance }} m + {% if race.coursestandards %} + {{ result.points }} + {% endif %} - Details + Details + + {% if race.manager == request.user and not race|is_final %} @@ -394,22 +409,29 @@ Name Team Name - {% if race.sessiontype == 'race' %} - Class - Boat + {% if race.coursestandards %} + Group + Age {% else %} - Class + {% if race.sessiontype == 'race' %} + Boat {% endif %} + Class Age Gender Weight Category Adaptive + {% endif %} {% for record in records %} {{ record.username }} {{ record.teamname }} + {% if race.coursestandards %} + {{ record.entrycategory }} + {{ record.age }} + {% else %} {{ record.boatclass }} {% if race.sessiontype == 'race' %} {{ record.boattype }} @@ -424,6 +446,7 @@ {{ record.adaptiveclass }} {% endif %} + {% endif %} {% if record.userid == rower.id and 'withdrawbutton' in buttons %} Withdraw diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py index 9603465c..f968306a 100644 --- a/rowers/views/racesviews.py +++ b/rowers/views/racesviews.py @@ -525,6 +525,7 @@ def course_upload_view(request): @login_required() def standards_upload_view(request,id=0): is_ajax = False + print(id,'aap') if request.is_ajax(): is_ajax = True r = getrower(request.user) @@ -573,6 +574,8 @@ def standards_upload_view(request,id=0): messages.error(request,'Form is not valid') return render(request,'standard_form.html', {'form':form, + 'active':'nav-racing', + 'id':id, }) else: @@ -587,6 +590,7 @@ def standards_upload_view(request,id=0): return render(request,'standard_form.html', {'form':form, 'active':'nav-racing', + 'id':id, }) return {'result':0} @@ -1127,8 +1131,6 @@ def virtualevent_view(request,id=0): else: form = None - - breadcrumbs = [ { 'url':reverse('virtualevents_view'), @@ -1687,6 +1689,7 @@ def virtualevent_register_view(request,id=0): sex=sex, age=age, entrycategory=coursestandard, + referencespeed=referencespeed, ) record.save() diff --git a/static/css/rowsandall2.css b/static/css/rowsandall2.css index f096204a..e4054cb8 100644 --- a/static/css/rowsandall2.css +++ b/static/css/rowsandall2.css @@ -50,7 +50,7 @@ } html { - font-size: 62.5%; + font-size: 62.5%; margin: 0px; height: 100%; width: 100%; @@ -96,13 +96,13 @@ cox { ------------------------------------------------------------------------------- */ -th { +th { font-weight: bold; align: left; } .listtable tbody tr:nth-of-type(even) { background-color: #DDD; } -.listtable thead th { +.listtable thead th { font-weight: bold; align: left; } @@ -112,6 +112,10 @@ th { .paddedtable td { padding: 1px 20px } +.shortpadded th { padding: 3px 3px } + +.paddedtable th { padding: 1px 20px } + .cortable { border-collapse: collapse; } @@ -124,12 +128,12 @@ th { th.rotate { /* Something you can count on */ - height: 120px; + height: 120px; white-space: nowrap; } th.rotate > div { - transform: + transform: /* Magic Numbers */ translate(28px, 91px) /* 45 is really 360 - 45 */ @@ -141,12 +145,12 @@ th.rotate > div > span { padding: 5px 5px; } -.fixtable table { +.fixtable table { table-layout: fixed; width: 60%; } -.message { +.message { border: 1px solid #000; background-color: #f88; font-weight: bold; @@ -172,7 +176,7 @@ th.rotate > div > span { background-color: #fee; } -.successmessage { +.successmessage { border: 1px solid #000; background-color: #8f8; color: #000; @@ -180,7 +184,7 @@ th.rotate > div > span { font-weight: bold; } -.deletelink { +.deletelink { border: 1px solid #000; background-color: #f88; color: #000; @@ -189,7 +193,7 @@ th.rotate > div > span { } .navbar { - border: 1px solid #666; + border: 1px solid #666; color: #000; @@ -199,7 +203,7 @@ th.rotate > div > span { text-align: center; } -.navbutton { +.navbutton { background-color: #ddd; -moz-border-radius: 15px; -webkit-border-radius: 15px; @@ -242,7 +246,7 @@ th.rotate > div > span { transition-delay:1s; } -.caption { +.caption { text-align: center; } @@ -263,7 +267,7 @@ th.rotate > div > span { font: 1.0em/1.2em sans-serif; text-decoration: none; display: block; - padding: .2em .5em .2em .5em; + padding: .2em .5em .2em .5em; zoom: 1; /* border-radius: .5em; */ /* -moz-border-radius: .5em; */ @@ -276,7 +280,7 @@ th.rotate > div > span { font: 1.0em/1.2em sans-serif; text-decoration: none; display: block; - padding: .2em .5em .2em .5em; + padding: .2em .5em .2em .5em; zoom: 1; /* border-radius: .5em; */ /* -moz-border-radius: .5em; */ @@ -304,7 +308,7 @@ th.rotate > div > span { } .dot:hover { - text-decoration: none; + text-decoration: none; } .rounder { @@ -345,9 +349,9 @@ th.rotate > div > span { -webkit-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4); -moz-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4); box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4); - + line-height: 0; /* ensure no space between bottom */ - + } .vignet img { @@ -367,9 +371,9 @@ th.rotate > div > span { -webkit-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4); -moz-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4); box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4); - + line-height: 0; /* ensure no space between bottom */ - + } .vignet2 img { @@ -751,7 +755,7 @@ th.rotate > div > span { padding: 1em; text-align: left; line-height: 1.5em; - word-wrap: break-word; + word-wrap: break-word; } .talktext p{ /* remove webkit p margins */ @@ -776,7 +780,7 @@ th.rotate > div > span { /* paleblue */ .paleblue { -# padding: 8px; +# padding: 8px; background: aliceblue; box-shadow:inset 0px 0px 0px 6px #fff; -moz-box-shadow:inset 0px 0px 0px 6px #fff; @@ -948,7 +952,7 @@ th.rotate > div > span { .greenbar { - border: 1px solid #666; + border: 1px solid #666; color: #000; @@ -959,7 +963,7 @@ th.rotate > div > span { } -#footer { +#footer { text-align:center; } @@ -1016,21 +1020,21 @@ th.rotate > div > span { background-color: #3e8e41; } -.flexplot { +.flexplot { position: relative; z-index: 10; } -a.wh:link { +a.wh:link { color: #e9e9e9; } -a.wh:visited { +a.wh:visited { color: #e9e9e9; } -a.wh:hover { +a.wh:hover { color: #e9e9e9; } @@ -1067,7 +1071,7 @@ a.wh:hover { .icon-link a:hover, a:active, a:visited, a:link { /* color: #1c75bc; */ - text-decoration: none; + text-decoration: none; } @@ -1086,9 +1090,9 @@ a.wh:hover { } .mystyle { - font-size: 11pt; + font-size: 11pt; font-family: Arial; - border-collapse: collapse; + border-collapse: collapse; border: 1px solid silver; } diff --git a/static/css/rowsandall2.min.css b/static/css/rowsandall2.min.css index d995d025..ab482e51 100644 --- a/static/css/rowsandall2.min.css +++ b/static/css/rowsandall2.min.css @@ -1 +1 @@ -#main{background-color:transparent;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;min-height:759px;min-width:1024px;width:100%;height:auto}.one{background-image:url("/static/img/landing1.jpg")}.two{background-image:url("/static/img/landing1.jpg")}.three{background-image:url("/static/img/landing2.jpg")}.four{background-image:url("/static/img/landing8b.jpg")}.errorlist{color:red}.watermark{position:absolute;float:center;opacity:.25;font-size:3em;width:100%;top:50%;left:50%;transform:translateX(-25%) translateY(-50%);text-align:center;vertical-align:middle;z-index:1000}.invisible{display:none}html{font-size:62.5%;margin:0;height:100%;width:100%;min-height:100%}body{color:#333;font-size:1.2em;width:100%;min-height:100%;margin:0;box-sizing:border-box}.notyellow{font-size:1.2em;height:auto;padding:0}.yellow{color:#1c75bc;font-size:1.2em;height:auto;padding:0}cox{font-weight:normal;text-align:center;font-size:2em}th{font-weight:bold;align:left}.listtable tbody tr:nth-of-type(even){background-color:#DDD}.listtable thead th{font-weight:bold;align:left}.shortpadded td{padding:3px 3px}.paddedtable td{padding:1px 20px}.cortable{border-collapse:collapse}.cortable td{border:1px solid #999;text-align:center}th.rotate{height:120px;white-space:nowrap}th.rotate>div{transform:translate(28px,91px) rotate(315deg);width:30px}th.rotate>div>span{border-bottom:1px solid #ccc;padding:5px 5px}.fixtable table{table-layout:fixed;width:60%}.message{border:1px solid #000;background-color:#f88;font-weight:bold;color:#000;text-align:center}.midden{text-align:center}.poscor{background-color:#8f8}.weakposcor{background-color:#efe}.negcor{background-color:#f88}.weaknegcor{background-color:#fee}.successmessage{border:1px solid #000;background-color:#8f8;color:#000;text-align:center;font-weight:bold}.deletelink{border:1px solid #000;background-color:#f88;color:#000;text-align:center;font-weight:bold}.navbar{border:1px solid #666;color:#000;overflow:hidden;background-color:#ddd;text-align:center}.navbutton{background-color:#ddd;-moz-border-radius:15px;-webkit-border-radius:15px;border:2px solid #666;padding:5px;text-align:center}.transparentbutton{padding:1px;text-align:center}.tooltip{position:relative;display:inline-block;color:#000}.tooltip a{color:black}.tooltip .tooltiptext{visibility:hidden;width:120px;background-color:#ff6;color:black;text-align:center;border-radius:6px;padding:5px 5px;position:absolute;z-index:999}.tooltip:hover .tooltiptext{visibility:visible;transition-delay:1s}.caption{text-align:center}.site-announcement-box{padding:.2em .5em .2em 0;width:100%;max-width:200px}@media only screen and (max-width:450px){.site-announcement-box{max-width:100%}}.site-announcement{font:1.0/1.2em sans-serif;text-decoration:none;display:block;padding:.2em .5em .2em .5em;zoom:1;text-align:left;border:solid 1px #333}.site-announcement-white{font:1.0/1.2em sans-serif;text-decoration:none;display:block;padding:.2em .5em .2em .5em;zoom:1;text-align:left;border:solid 1px #fff}.contentli{margin-left:30px;display:list-item;list-style-type:circle}.dot{border-radius:50%;display:block;text-align:center;width:25px;height:25px;border:solid 1px #333}.dot:hover{text-decoration:none}.rounder{border-radius:10px;display:block;overflow-x:hidden;border:solid 1px #333;padding:5px;margin:2px}.whiteborder{border:solid 2px #aaa}.frontitem{background-color:rgba(255,255,255,0.7);border:solid 1px wite;padding:5px;margin:5px;color:black}.frontitem label{color:black}.frontitem a{color:#1c75bc}.vignet{border-radius:50%;display:block;overflow:hidden;padding:5px;margin:5px;-webkit-box-shadow:inset 0 0 85px rgba(0,0,0,0.4);-moz-box-shadow:inset 0 0 85px rgba(0,0,0,0.4);box-shadow:inset 0 0 85px rgba(0,0,0,0.4);line-height:0}.vignet img{position:relative;transform:scale(1.5);z-index:-1}.vignet2{border-radius:50%;width:200px;height:200px;display:block;overflow:hidden;padding:5px;margin:5px;-webkit-box-shadow:inset 0 0 85px rgba(0,0,0,0.4);-moz-box-shadow:inset 0 0 85px rgba(0,0,0,0.4);box-shadow:inset 0 0 85px rgba(0,0,0,0.4);line-height:0}.vignet2 img{position:center;z-index:-1}.button{font:1.1em/1.5em sans-serif;text-decoration:none;display:block;margin:0;padding:0;zoom:1;text-align:center}.button:active{position:relative;top:1px}.red{color:#faddde;border:solid 1px #980c10;background:#d81b21}.red:hover{background:#b61318}.red:active{color:#de898c}.green{color:#e8f0de;border:solid 1px #538312;background:#64991e}.green:hover{background:#538018}.green:active{color:#a9c08c}.lightgreen{background:#e2f0da;color:#fdffc;border:solid 1px #b2bfaa}.lightgreen:active{color:#f5faf2}.lightgreen:hover{background:#b2bfaa}.mediumgreen{background:#aad090;color:#fafff7;border:solid 1px #8db374}.mediumgreen:active{color:#d8e6cf}.mediumgreen:hover{background:#8db374}.purple{background:#8c1ec1;color:#e9ddf0;border:solid 1px #6b0f99}.purple:active{color:#cfa160}.purple:hover{background:#6b0f99}.violet{background:#c20d60;color:#f0dae5;border:solid 1px #99034e}.violet:active{color:#e595bd}.violet:hover{background:#99034e}.blue{color:#fae7e9;border:solid 1px #27aae2;background:#27aae2}.blue:hover{background:#1c74bb;border:solid 1px #27aae2}.blue:active{color:#fff}.leafletmap{padding:0;margin:0;display:grid;grid-gap:0}.orange{color:#fef4e9;border:solid 1px #da7c0c;background:#f78d1d}.orange:hover{background:#f47c20}.orange:active{color:#fcd3a5}.talk-bubble{margin:40px;display:inline-block;position:relative;width:200px;height:auto;background-color:lightyellow}.border{border:8px solid #666}.round{border-radius:30px;-webkit-border-radius:30px;-moz-border-radius:30px}.tri-right.border.left-top:before{content:' ';position:absolute;width:0;height:0;left:-40px;right:auto;top:-8px;bottom:auto;border:32px solid;border-color:#666 transparent transparent transparent}.tri-right.left-top:after{content:' ';position:absolute;width:0;height:0;left:-20px;right:auto;top:0;bottom:auto;border:22px solid;border-color:lightyellow transparent transparent transparent}.tri-right.border.left-in:before{content:' ';position:absolute;width:0;height:0;left:-40px;right:auto;top:30px;bottom:auto;border:20px solid;border-color:#666 #666 transparent transparent}.tri-right.left-in:after{content:' ';position:absolute;width:0;height:0;left:-20px;right:auto;top:38px;bottom:auto;border:12px solid;border-color:lightyellow lightyellow transparent transparent}.tri-right.border.btm-left:before{content:' ';position:absolute;width:0;height:0;left:-8px;right:auto;top:auto;bottom:-40px;border:32px solid;border-color:transparent transparent transparent #666}.tri-right.btm-left:after{content:' ';position:absolute;width:0;height:0;left:0;right:auto;top:auto;bottom:-20px;border:22px solid;border-color:transparent transparent transparent lightyellow}.tri-right.border.btm-left-in:before{content:' ';position:absolute;width:0;height:0;left:30px;right:auto;top:auto;bottom:-40px;border:20px solid;border-color:#666 transparent transparent #666}.tri-right.btm-left-in:after{content:' ';position:absolute;width:0;height:0;left:38px;right:auto;top:auto;bottom:-20px;border:12px solid;border-color:lightyellow transparent transparent lightyellow}.tri-right.border.btm-right-in:before{content:' ';position:absolute;width:0;height:0;left:auto;right:30px;bottom:-40px;border:20px solid;border-color:#666 #666 transparent transparent}.tri-right.btm-right-in:after{content:' ';position:absolute;width:0;height:0;left:auto;right:38px;bottom:-20px;border:12px solid;border-color:lightyellow lightyellow transparent transparent}.tri-right.border.btm-right:before{content:' ';position:absolute;width:0;height:0;left:auto;right:-8px;bottom:-40px;border:20px solid;border-color:#666 #666 transparent transparent}.tri-right.btm-right:after{content:' ';position:absolute;width:0;height:0;left:auto;right:0;bottom:-20px;border:12px solid;border-color:lightyellow lightyellow transparent transparent}.tri-right.border.right-in:before{content:' ';position:absolute;width:0;height:0;left:auto;right:-40px;top:30px;bottom:auto;border:20px solid;border-color:#666 transparent transparent #666}.tri-right.right-in:after{content:' ';position:absolute;width:0;height:0;left:auto;right:-20px;top:38px;bottom:auto;border:12px solid;border-color:lightyellow transparent transparent lightyellow}.tri-right.border.right-top:before{content:' ';position:absolute;width:0;height:0;left:auto;right:-40px;top:-8px;bottom:auto;border:32px solid;border-color:#666 transparent transparent transparent}.tri-right.right-top:after{content:' ';position:absolute;width:0;height:0;left:auto;right:-20px;top:0;bottom:auto;border:20px solid;border-color:lightyellow transparent transparent transparent}.talktext{padding:1em;text-align:left;line-height:1.5em;word-wrap:break-word}.talktext p{-webkit-margin-before:0;-webkit-margin-after:0}.drop-files{border:1px solid #000;color:#000}.palegreen{background:palegreen;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.paleblue{# padding:8px;background:aliceblue;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.lightsalmon{# padding:4px;background:lightsalmon;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.filler{background:darkgray;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.padded{padding:10px}.input{font:1.1em/1.5em sans-serif;text-decoration:none;display:block;color:white;padding:.2em 0 .2em 0;zoom:1;border-radius:.5em;-moz-border-radius:.5em;-webkit-border-radius:.5em;text-align:center}.blueicon{text-decoration:none;display:block;color:#1c75bc;padding:.2em 0 .2em 0;zoom:1}.bigrounded{-webkit-border-radius:2em;-moz-border-radius:2em;border-radius:2em;border:solid 1px white}.medium{font-size:1.2em}.small{font-size:1.0}.black{color:#d7d7d7;border:solid 1px #333;background:#333}.black:hover{background:#000}.black:active{color:#666}.gray{color:#e9e9e9;border:solid 1px #555;background:#6e6e6e}.gray:hover{background:#616161}.gray:active{color:#afafaf}.white{color:#606060;border:solid 1px #b7b7b7;background:#fff}.white:hover{background:#ededed}.white:active{color:#999}.bluetext{color:#27aae2}.rbluetext{color:#27aae1}.rdarkbluetext{color:#1c75bc}.rblue{color:#fae7e9;border:solid 1px #27aae1;background:#27aae1}.rblue:active{color:#fff}.rblue:hover{background:#1c75bc;border:solid 1px #27aae1}.rosy{color:#fae7e9;border:solid 1px #b73948;background:#da5867}.rosy:hover{background:#ba4b58}.rosy:active{color:#dca4ab}.pink{color:#feeef5;border:solid 1px #d2729e;background:#f895c2}.pink:hover{background:#d57ea5}.pink:active{color:#f3c3d9}.greenbar{border:1px solid #666;color:#000;overflow:hidden;background-color:#8f8;text-align:center}#footer{text-align:center}.container_12,.container_16,.container_24{background-color:#fff;background-repeat:repeat-y}.dropbtn{color:white}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;min-width:160px;z-index:999}.dropdown-content a{text-decoration:none;display:block;z-index:999}.dropdown:hover .dropdown-content{display:block}.dropdown:hover .dropbtn{background-color:#3e8e41}.flexplot{position:relative;z-index:10}a.wh:link{color:#e9e9e9}a.wh:visited{color:#e9e9e9}a.wh:hover{color:#e9e9e9}.bk-canvas-map{overflow:hidden}.container{padding:5% 5%}.wrapwords{-ms-word-break:break-all;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.icon-link a{text-decoration:none}.icon-link a:hover,a:active,a:visited,a:link{text-decoration:none}.mapdiv{padding:0 !important}.mapdiv img{float:left !important;padding:0 !important}.paypalpix{width:auto !important;max-width:1px}.mystyle{font-size:11pt;font-family:Arial;border-collapse:collapse;border:1px solid silver}.pandastable tr{display:block}.pandastable th,.pandastable td{width:100px}.pandastable tbody{display:block;height:1200px;overflow:auto}.pandastable td,.pandastable th{padding:5px}.pandastable tr:nth-child(even){background:#e0e0e0}.pandastable tr:hover{background:silver;cursor:pointer}table.djangoform tbody>tr>th{vertical-align:top} \ No newline at end of file +#main{background-color:initial;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;min-height:759px;min-width:1024px;width:100%;height:auto}.one{background-image:url(/static/img/landing1.jpg)}.two{background-image:url(/static/img/landing1.jpg)}.three{background-image:url(/static/img/landing2.jpg)}.four{background-image:url(/static/img/landing8b.jpg)}.errorlist{color:red}.watermark{position:absolute;float:center;opacity:.25;font-size:3em;width:100%;top:50%;left:50%;transform:translateX(-25%)translateY(-50%);text-align:center;vertical-align:middle;z-index:1000}.invisible{display:none}html{font-size:62.5%;margin:0;height:100%;width:100%;min-height:100%}body{color:#333;font-size:1.2em;width:100%;min-height:100%;margin:0;box-sizing:border-box}.notyellow{font-size:1.2em;height:auto;padding:0}.yellow{color:#1c75bc;font-size:1.2em;height:auto;padding:0}cox{font-weight:400;text-align:center;font-size:2em}th{font-weight:700;align:left}.listtable tbody tr:nth-of-type(even){background-color:#ddd}.listtable thead th{font-weight:700;align:left}.shortpadded td{padding:3px}.paddedtable td{padding:1px 20px}.shortpadded th{padding:3px}.paddedtable th{padding:1px 20px}.cortable{border-collapse:collapse}.cortable td{border:1px solid #999;text-align:center}th.rotate{height:120px;white-space:nowrap}th.rotate>div{transform:translate(28px,91px)rotate(315deg);width:30px}th.rotate>div>span{border-bottom:1px solid #ccc;padding:5px}.fixtable table{table-layout:fixed;width:60%}.message{border:1px solid #000;background-color:#f88;font-weight:700;color:#000;text-align:center}.midden{text-align:center}.poscor{background-color:#8f8}.weakposcor{background-color:#efe}.negcor{background-color:#f88}.weaknegcor{background-color:#fee}.successmessage{border:1px solid #000;background-color:#8f8;color:#000;text-align:center;font-weight:700}.deletelink{border:1px solid #000;background-color:#f88;color:#000;text-align:center;font-weight:700}.navbar{border:1px solid #666;color:#000;overflow:hidden;background-color:#ddd;text-align:center}.navbutton{background-color:#ddd;-moz-border-radius:15px;-webkit-border-radius:15px;border:2px solid #666;padding:5px;text-align:center}.transparentbutton{padding:1px;text-align:center}.tooltip{position:relative;display:inline-block;color:#000}.tooltip a{color:#000}.tooltip .tooltiptext{visibility:hidden;width:120px;background-color:#ff6;color:#000;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:999}.tooltip:hover .tooltiptext{visibility:visible;transition-delay:1s}.caption{text-align:center}.site-announcement-box{padding:.2em .5em .2em 0;width:100%;max-width:200px}@media only screen and (max-width:450px){.site-announcement-box{max-width:100%}}.site-announcement{font:1em/1.2em sans-serif;text-decoration:none;display:block;padding:.2em .5em;zoom:1;text-align:left;border:solid 1px #333}.site-announcement-white{font:1em/1.2em sans-serif;text-decoration:none;display:block;padding:.2em .5em;zoom:1;text-align:left;border:solid 1px #fff}.contentli{margin-left:30px;display:list-item;list-style-type:circle}.dot{border-radius:50%;display:block;text-align:center;width:25px;height:25px;border:solid 1px #333}.dot:hover{text-decoration:none}.rounder{border-radius:10px;display:block;overflow-x:hidden;border:solid 1px #333;padding:5px;margin:2px}.whiteborder{border:solid 2px #aaa}.frontitem{background-color:rgba(255,255,255,.7);border:solid 1px wite;padding:5px;margin:5px;color:#000}.frontitem label{color:#000}.frontitem a{color:#1c75bc}.vignet{border-radius:50%;display:block;overflow:hidden;padding:5px;margin:5px;-webkit-box-shadow:inset 0 0 85px rgba(0,0,0,.4);-moz-box-shadow:inset 0 0 85px rgba(0,0,0,.4);box-shadow:inset 0 0 85px rgba(0,0,0,.4);line-height:0}.vignet img{position:relative;transform:scale(1.5);z-index:-1}.vignet2{border-radius:50%;width:200px;height:200px;display:block;overflow:hidden;padding:5px;margin:5px;-webkit-box-shadow:inset 0 0 85px rgba(0,0,0,.4);-moz-box-shadow:inset 0 0 85px rgba(0,0,0,.4);box-shadow:inset 0 0 85px rgba(0,0,0,.4);line-height:0}.vignet2 img{position:center;z-index:-1}.button{font:1.1em/1.5em sans-serif;text-decoration:none;display:block;margin:0;padding:0;zoom:1;text-align:center}.button:active{position:relative;top:1px}.red{color:#faddde;border:solid 1px #980c10;background:#d81b21}.red:hover{background:#b61318}.red:active{color:#de898c}.green{color:#e8f0de;border:solid 1px #538312;background:#64991e}.green:hover{background:#538018}.green:active{color:#a9c08c}.lightgreen{background:#e2f0da;color:#fdffc;border:solid 1px #b2bfaa}.lightgreen:active{color:#f5faf2}.lightgreen:hover{background:#b2bfaa}.mediumgreen{background:#aad090;color:#fafff7;border:solid 1px #8db374}.mediumgreen:active{color:#d8e6cf}.mediumgreen:hover{background:#8db374}.purple{background:#8c1ec1;color:#e9ddf0;border:solid 1px #6b0f99}.purple:active{color:#cfa160}.purple:hover{background:#6b0f99}.violet{background:#c20d60;color:#f0dae5;border:solid 1px #99034e}.violet:active{color:#e595bd}.violet:hover{background:#99034e}.blue{color:#fae7e9;border:solid 1px #27aae2;background:#27aae2}.blue:hover{background:#1c74bb;border:solid 1px #27aae2}.blue:active{color:#fff}.leafletmap{padding:0;margin:0;display:grid;grid-gap:0}.orange{color:#fef4e9;border:solid 1px #da7c0c;background:#f78d1d}.orange:hover{background:#f47c20}.orange:active{color:#fcd3a5}.talk-bubble{margin:40px;display:inline-block;position:relative;width:200px;height:auto;background-color:#ffffe0}.border{border:8px solid #666}.round{border-radius:30px;-webkit-border-radius:30px;-moz-border-radius:30px}.tri-right.border.left-top:before{content:' ';position:absolute;width:0;height:0;left:-40px;right:auto;top:-8px;bottom:auto;border:32px solid;border-color:#666 transparent transparent transparent}.tri-right.left-top:after{content:' ';position:absolute;width:0;height:0;left:-20px;right:auto;top:0;bottom:auto;border:22px solid;border-color:#ffffe0 transparent transparent transparent}.tri-right.border.left-in:before{content:' ';position:absolute;width:0;height:0;left:-40px;right:auto;top:30px;bottom:auto;border:20px solid;border-color:#666 #666 transparent transparent}.tri-right.left-in:after{content:' ';position:absolute;width:0;height:0;left:-20px;right:auto;top:38px;bottom:auto;border:12px solid;border-color:#ffffe0 #ffffe0 transparent transparent}.tri-right.border.btm-left:before{content:' ';position:absolute;width:0;height:0;left:-8px;right:auto;top:auto;bottom:-40px;border:32px solid;border-color:transparent transparent transparent #666}.tri-right.btm-left:after{content:' ';position:absolute;width:0;height:0;left:0;right:auto;top:auto;bottom:-20px;border:22px solid;border-color:transparent transparent transparent #ffffe0}.tri-right.border.btm-left-in:before{content:' ';position:absolute;width:0;height:0;left:30px;right:auto;top:auto;bottom:-40px;border:20px solid;border-color:#666 transparent transparent #666}.tri-right.btm-left-in:after{content:' ';position:absolute;width:0;height:0;left:38px;right:auto;top:auto;bottom:-20px;border:12px solid;border-color:#ffffe0 transparent transparent #ffffe0}.tri-right.border.btm-right-in:before{content:' ';position:absolute;width:0;height:0;left:auto;right:30px;bottom:-40px;border:20px solid;border-color:#666 #666 transparent transparent}.tri-right.btm-right-in:after{content:' ';position:absolute;width:0;height:0;left:auto;right:38px;bottom:-20px;border:12px solid;border-color:#ffffe0 #ffffe0 transparent transparent}.tri-right.border.btm-right:before{content:' ';position:absolute;width:0;height:0;left:auto;right:-8px;bottom:-40px;border:20px solid;border-color:#666 #666 transparent transparent}.tri-right.btm-right:after{content:' ';position:absolute;width:0;height:0;left:auto;right:0;bottom:-20px;border:12px solid;border-color:#ffffe0 #ffffe0 transparent transparent}.tri-right.border.right-in:before{content:' ';position:absolute;width:0;height:0;left:auto;right:-40px;top:30px;bottom:auto;border:20px solid;border-color:#666 transparent transparent #666}.tri-right.right-in:after{content:' ';position:absolute;width:0;height:0;left:auto;right:-20px;top:38px;bottom:auto;border:12px solid;border-color:#ffffe0 transparent transparent #ffffe0}.tri-right.border.right-top:before{content:' ';position:absolute;width:0;height:0;left:auto;right:-40px;top:-8px;bottom:auto;border:32px solid;border-color:#666 transparent transparent transparent}.tri-right.right-top:after{content:' ';position:absolute;width:0;height:0;left:auto;right:-20px;top:0;bottom:auto;border:20px solid;border-color:#ffffe0 transparent transparent transparent}.talktext{padding:1em;text-align:left;line-height:1.5em;word-wrap:break-word}.talktext p{-webkit-margin-before:0;-webkit-margin-after:0}.drop-files{border:1px solid #000;color:#000}.palegreen{background:#98fb98;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.paleblue{# padding: 8px;background:#f0f8ff;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.lightsalmon{# padding: 4px;background:#ffa07a;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.filler{background:#a9a9a9;box-shadow:inset 0 0 0 6px #fff;-moz-box-shadow:inset 0 0 0 6px #fff;box-shadow:inset 0 0 0 6px #fff}.padded{padding:10px}.input{font:1.1em/1.5em sans-serif;text-decoration:none;display:block;color:#fff;padding:.2em 0;zoom:1;border-radius:.5em;-moz-border-radius:.5em;-webkit-border-radius:.5em;text-align:center}.blueicon{text-decoration:none;display:block;color:#1c75bc;padding:.2em 0;zoom:1}.bigrounded{-webkit-border-radius:2em;-moz-border-radius:2em;border-radius:2em;border:solid 1px #fff}.medium{font-size:1.2em}.small{font-size:1em}.black{color:#d7d7d7;border:solid 1px #333;background:#333}.black:hover{background:#000}.black:active{color:#666}.gray{color:#e9e9e9;border:solid 1px #555;background:#6e6e6e}.gray:hover{background:#616161}.gray:active{color:#afafaf}.white{color:#606060;border:solid 1px #b7b7b7;background:#fff}.white:hover{background:#ededed}.white:active{color:#999}.bluetext{color:#27aae2}.rbluetext{color:#27aae1}.rdarkbluetext{color:#1c75bc}.rblue{color:#fae7e9;border:solid 1px #27aae1;background:#27aae1}.rblue:active{color:#fff}.rblue:hover{background:#1c75bc;border:solid 1px #27aae1}.rosy{color:#fae7e9;border:solid 1px #b73948;background:#da5867}.rosy:hover{background:#ba4b58}.rosy:active{color:#dca4ab}.pink{color:#feeef5;border:solid 1px #d2729e;background:#f895c2}.pink:hover{background:#d57ea5}.pink:active{color:#f3c3d9}.greenbar{border:1px solid #666;color:#000;overflow:hidden;background-color:#8f8;text-align:center}#footer{text-align:center}.container_12,.container_16,.container_24{background-color:#fff;background-repeat:repeat-y}.container_12{}.dropbtn{color:#fff}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;min-width:160px;z-index:999}.dropdown-content a{text-decoration:none;display:block;z-index:999}.dropdown:hover .dropdown-content{display:block}.dropdown:hover .dropbtn{background-color:#3e8e41}.flexplot{position:relative;z-index:10}a.wh:link{color:#e9e9e9}a.wh:visited{color:#e9e9e9}a.wh:hover{color:#e9e9e9}.bk-canvas-map{overflow:hidden}.container{padding:5%}.wrapwords{-ms-word-break:break-all;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.icon-link a{text-decoration:none}.icon-link a:hover,a:active,a:visited,a:link{text-decoration:none}.mapdiv{padding:0!important}.mapdiv img{float:left!important;padding:0!important}.paypalpix{width:auto!important;max-width:1px}.mystyle{font-size:11pt;font-family:Arial;border-collapse:collapse;border:1px solid silver}.pandastable tr{display:block}.pandastable th,.pandastable td{width:100px}.pandastable tbody{display:block;height:1200px;overflow:auto}.pandastable td,.pandastable th{padding:5px}.pandastable tr:nth-child(even){background:#e0e0e0}.pandastable tr:hover{background:silver;cursor:pointer}table.djangoform tbody>tr>th{vertical-align:top} \ No newline at end of file