From 2f3f8997ad9bdbef70d4adf4fd56e72993cea3fe Mon Sep 17 00:00:00 2001 From: Andromeda Yelton Date: Wed, 5 Jun 2013 11:06:07 -0400 Subject: [PATCH] make sure graceful degradation works, fix bugs --- frontend/templates/download.html | 21 +++++++--- .../kindle_response_graceful_degradation.html | 5 +++ frontend/urls.py | 3 +- frontend/views.py | 40 +++++++++++++++---- static/css/enhanced_download.css | 2 +- static/css/enhanced_download_ie.css | 2 +- static/css/sitewide4.css | 2 +- static/js/download_page.js | 7 ++-- static/less/enhanced_download.less | 10 ++++- static/less/enhanced_download_ie.less | 10 ++++- static/less/sitewide4.less | 5 +++ 11 files changed, 85 insertions(+), 22 deletions(-) create mode 100644 frontend/templates/kindle_response_graceful_degradation.html diff --git a/frontend/templates/download.html b/frontend/templates/download.html index 4e2c089c..03a10208 100644 --- a/frontend/templates/download.html +++ b/frontend/templates/download.html @@ -85,7 +85,7 @@ $j(document).ready(function() { {% endif %} {% if kindle_ebook_id %}
- Send to Kindle + Send to Kindlef
{% endif %}
@@ -119,9 +119,20 @@ $j(document).ready(function() {

Send to Kindle

{% if request.user.is_authenticated and request.user.profile.kindle_email %} -

Sending...

-

(For large files, this may take some time.)

-

If your Kindle email has changed, you can add the new one to Unglue.it here.

+
+

Sending...

+

(For large files, this may take some time.)

+

If your Kindle email has changed, you can add the new one to Unglue.it here.

+
+
+

+

+ +
+

+

(For large files, this may take some time.)

+

If your Kindle email has changed, you can add the new one to Unglue.it here.

+
{% else %}

If you have a Kindle device or app, add your Kindle email address to Unglue.it and you'll be able to send unglued ebooks to your reader with one click.

{% endif %} @@ -134,7 +145,7 @@ $j(document).ready(function() {
  • Download the free iBooks app from the App Store.
  • Download your book from this page using your device's web browser.
  • -
  • You can read HTML files right in the browser. For other formats, you will be given the option of opening the file in iBooks.
  • +
  • You will be given the option of opening the file in iBooks.
diff --git a/frontend/templates/kindle_response_graceful_degradation.html b/frontend/templates/kindle_response_graceful_degradation.html new file mode 100644 index 00000000..58fef9ba --- /dev/null +++ b/frontend/templates/kindle_response_graceful_degradation.html @@ -0,0 +1,5 @@ +{% extends "registration/registration_base.html" %} + +{% block doccontent %} +{{ message }} +{% endblock %} \ No newline at end of file diff --git a/frontend/urls.py b/frontend/urls.py index 7ad7f355..e6a1ee04 100644 --- a/frontend/urls.py +++ b/frontend/urls.py @@ -127,7 +127,8 @@ urlpatterns = patterns( url(r"^press/$","press", name="press"), url(r"^press_submitterator/$","press_submitterator", name="press_submitterator"), url(r"^accounts/edit/kindle_config/$", "kindle_config", name="kindle_config"), - url(r"^send_to_kindle/(?P\d+)/$", "send_to_kindle", name="send_to_kindle"), + url(r"^send_to_kindle/(?P\d+)/(?P\d)/$", "send_to_kindle", name="send_to_kindle"), + url(r"^send_to_kindle/result/(?P\d)/$", "send_to_kindle_graceful", name="send_to_kindle_graceful"), ) if settings.DEBUG: diff --git a/frontend/views.py b/frontend/views.py index 5e8783a1..a17689af 100755 --- a/frontend/views.py +++ b/frontend/views.py @@ -1793,7 +1793,7 @@ def wishlist(request): return HttpResponse('added googlebooks id') except bookloader.LookupFailure: logger.warning("failed to load googlebooks_id %s" % googlebooks_id) - return HttpResponse('error addin googlebooks id') + return HttpResponse('error adding googlebooks id') except Exception, e: logger.warning("Error in wishlist adding %s" % (e)) return HttpResponse('error adding googlebooks id') @@ -2469,16 +2469,31 @@ def kindle_config(request): form = KindleEmailForm() return render(request, "kindle_config.html", {'form': form}) - + +kindle_response_params = [ + 'This ebook is too big to be sent by email. Please download the file and then sideload it to your device using the instructions under Ereaders or Desktop.', + "Well, this is awkward. We can't seem to email that. Please download it using the instructions for your device, and we'll look into the error.", + 'This book has been sent to your Kindle. Happy reading!' +] + @require_POST @login_required @csrf_exempt -def send_to_kindle(request, kindle_ebook_id): +def send_to_kindle(request, kindle_ebook_id, javascript='0'): + # make sure to gracefully communicate with both js and non-js users + def local_response(request, javascript, message): + if javascript == '1': + return HttpResponse(kindle_response_params[message]) + else: + # can't pass context with HttpResponseRedirect + # must use an HttpResponse, not a render(), after POST + return HttpResponseRedirect(reverse('send_to_kindle_graceful', args=(message,))) + # don't forget to increment the download counter! ebook = models.Ebook.objects.get(pk=kindle_ebook_id) assert ebook.format == 'mobi' or ebook.format == 'pdf' ebook.increment() - logger.info("ebook: {0}, user_ip: {1}".format(kindle_ebook_id, request.META['REMOTE_ADDR'])) + logger.info('ebook: {0}, user_ip: {1}'.format(kindle_ebook_id, request.META['REMOTE_ADDR'])) title = ebook.edition.title title = title.replace(' ', '_') @@ -2486,7 +2501,8 @@ def send_to_kindle(request, kindle_ebook_id): filehandle = urllib.urlopen(ebook.url) filesize = int(filehandle.info().getheaders("Content-Length")[0]) if filesize > 26214400: - return HttpResponse('

This ebook is too big to be sent by email. Please download the file and then sideload it to your device using the instructions under Ereaders or Desktop.

') + logger.info('ebook %s is too large to be emailed' % kindle_ebook_id) + return local_response(request, javascript, 0) try: email = EmailMessage(from_email='kindle@gluejar.com', @@ -2495,6 +2511,14 @@ def send_to_kindle(request, kindle_ebook_id): email.send() except: logger.warning('Unexpected error:', sys.exc_info()[0]) - return HttpResponse("

Well, this is awkward. We can't seem to email that. Please download it using the instructions for your device, and we'll look into the error.

") - - return HttpResponse('

This book has been sent to your Kindle. Happy reading!

') + return local_response(request, javascript, 1) + + return local_response(request, javascript, 2) + +def send_to_kindle_graceful(request, message): + message = kindle_response_params[int(message)] + return render( + request, + 'kindle_response_graceful_degradation.html', + {'message': message} + ) diff --git a/static/css/enhanced_download.css b/static/css/enhanced_download.css index dc59aed4..73d0b430 100644 --- a/static/css/enhanced_download.css +++ b/static/css/enhanced_download.css @@ -1 +1 @@ -.buttons{display:inherit}.instructions div:not(#trythis_div),.instructions h4{display:none} \ No newline at end of file +.buttons{display:inherit}.instructions>div:not(#trythis_div),.instructions h4{display:none}#kindle_div .no_js{display:none!important}#kindle_div .yes_js{display:inherit} \ No newline at end of file diff --git a/static/css/enhanced_download_ie.css b/static/css/enhanced_download_ie.css index 35807629..7f8f64ee 100644 --- a/static/css/enhanced_download_ie.css +++ b/static/css/enhanced_download_ie.css @@ -1 +1 @@ -.buttons{display:inherit}.instructions div,.instructions h4{display:none}#trythis_div{display:inherit} \ No newline at end of file +.buttons{display:inherit}.instructions>div,.instructions h4{display:none}#kindle_div .no_js{display:none!important}#kindle_div .yes_js{display:inherit}#trythis_div{display:inherit} \ No newline at end of file diff --git a/static/css/sitewide4.css b/static/css/sitewide4.css index f838ff50..fe04da0b 100644 --- a/static/css/sitewide4.css +++ b/static/css/sitewide4.css @@ -1 +1 @@ -.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em}.panelborders{border-width:1px 0;border-style:solid none;border-color:#fff}.roundedspan{border:1px solid #d4d4d4;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;padding:1px;color:#fff;margin:0 8px 0 0;display:inline-block}.roundedspan>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}.roundedspan>span .hovertext{display:none}.roundedspan>span:hover .hovertext{display:inline}.mediaborder{padding:5px;border:solid 5px #edf3f4}.actionbuttons{width:auto;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;color:white;cursor:pointer;font-size:13px;font-weight:bold;padding:0 15px;border:0;margin:5px 0}.errors{-moz-border-radius:16px;-webkit-border-radius:16px;border-radius:16px;border:solid #e35351 3px;clear:both;width:90%;height:auto;line-height:16px;padding:7px 0;font-weight:bold;font-size:13px;text-align:center}.errors li{list-style:none;border:0}.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em}.panelborders{border-width:1px 0;border-style:solid none;border-color:#fff}.roundedspan{border:1px solid #d4d4d4;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;padding:1px;color:#fff;margin:0 8px 0 0;display:inline-block}.roundedspan>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}.roundedspan>span .hovertext{display:none}.roundedspan>span:hover .hovertext{display:inline}.mediaborder{padding:5px;border:solid 5px #edf3f4}.actionbuttons{width:auto;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;color:white;cursor:pointer;font-size:13px;font-weight:bold;padding:0 15px;border:0;margin:5px 0}.errors{-moz-border-radius:16px;-webkit-border-radius:16px;border-radius:16px;border:solid #e35351 3px;clear:both;width:90%;height:auto;line-height:16px;padding:7px 0;font-weight:bold;font-size:13px;text-align:center}.errors li{list-style:none;border:0}ul.social a:hover{text-decoration:none}ul.social li{padding:5px 0 5px 30px!important;height:28px;line-height:28px!important;margin:0!important;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}ul.social li.facebook{background:url("/static/images/icons/facebook.png") 10px center no-repeat;cursor:pointer}ul.social li.facebook span{padding-left:10px}ul.social li.facebook:hover{background:#8dc63f url("/static/images/icons/facebook-hover.png") 10px center no-repeat}ul.social li.facebook:hover span{color:#fff}ul.social li.twitter{background:url("/static/images/icons/twitter.png") 10px center no-repeat;cursor:pointer}ul.social li.twitter span{padding-left:10px}ul.social li.twitter:hover{background:#8dc63f url("/static/images/icons/twitter-hover.png") 10px center no-repeat}ul.social li.twitter:hover span{color:#fff}ul.social li.email{background:url("/static/images/icons/email.png") 10px center no-repeat;cursor:pointer}ul.social li.email span{padding-left:10px}ul.social li.email:hover{background:#8dc63f url("/static/images/icons/email-hover.png") 10px center no-repeat}ul.social li.email:hover span{color:#fff}ul.social li.embed{background:url("/static/images/icons/embed.png") 10px center no-repeat;cursor:pointer}ul.social li.embed span{padding-left:10px}ul.social li.embed:hover{background:#8dc63f url("/static/images/icons/embed-hover.png") 10px center no-repeat}ul.social li.embed:hover span{color:#fff}.download_container{width:75%;margin:auto}#lightbox_content a{color:#6994a3}#lightbox_content .signuptoday a{color:white}#lightbox_content h2,#lightbox_content h3,#lightbox_content h4{margin-top:15px}#lightbox_content h2 a{font-size:18.75px}#lightbox_content .ebook_download a{margin:auto 5px auto 0;font-size:15px}#lightbox_content .ebook_download img{vertical-align:middle}#lightbox_content .logo{font-size:15px}#lightbox_content .logo img{-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;height:50px;width:50px;margin-right:5px}#lightbox_content .unglued,#lightbox_content .not_unglued{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;margin-left:-0.25%;padding:.5%;padding-bottom:15px;margin-bottom:5px;width:74%}#lightbox_content .unglued h3,#lightbox_content .not_unglued h3{margin-top:5px}#lightbox_content .unglued{border:solid 2px #8dc63f}#lightbox_content .not_unglued{border:solid 2px #d6dde0}#lightbox_content a.add-wishlist .on-wishlist,#lightbox_content a.success,a.success:hover{text-decoration:none;color:#3d4e53}#lightbox_content a.success,a.success:hover{cursor:default}#lightbox_content ul{padding-left:50px}#lightbox_content ul li{margin-bottom:4px}.border{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:solid 2px #d6dde0;margin:5px auto;padding-right:5px;padding-left:5px}.sharing{float:right;padding:.5%!important;width:23%!important;min-width:105px}.sharing ul{padding:.5%!important}.sharing .jsmod-title{-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;height:auto}.sharing .jsmod-title span{padding:5%!important;color:white!important;font-style:normal}#widgetcode2{display:none;border:1px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px}#widgetcode2 textarea{max-width:90%}.preview{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;width:934px}.preview a{color:#8dc63f}.launch_top{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;width:934px;border-color:#8dc63f;margin:10px auto 0 auto;font-size:15px;line-height:22.5px}.launch_top a{color:#8dc63f}.launch_top.pale{border-color:#d6dde0;font-size:13px}.launch_top.alert{border-color:#e35351;font-size:13px}.preview_content{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;width:934px;width:80%;margin:10px auto}.preview_content a{color:#8dc63f}.utilityheaders{text-transform:uppercase;color:#3d4e53;font-size:15px;display:block}html,body{height:100%}body{background:url("/static/images/bg-body.png") 0 0 repeat-x;padding:0 0 20px 0;margin:0;font-size:13px;line-height:16.900000000000002px;font-family:"Lucida Grande","Lucida Sans Unicode","Lucida Sans",Arial,Helvetica,sans-serif;color:#3d4e53}#feedback{position:fixed;bottom:10%;right:0;z-index:500}#feedback p{writing-mode:tb-rl;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);white-space:nowrap;display:block;bottom:0;width:160px;height:32px;-moz-border-radius:0 0 10px 10px;-webkit-border-radius:0 0 10px 10px;border-radius:0 0 10px 10px;background:#8dc63f;margin-bottom:0;text-align:center;margin-right:-67px;line-height:normal}#feedback p a{color:white;font-size:24px;font-weight:normal}#feedback p a:hover{color:#3d4e53}a{font-weight:bold;font-size:inherit;text-decoration:none;cursor:pointer;color:#6994a3}a:hover{text-decoration:underline}h1{font-size:22.5px}h2{font-size:18.75px}h3{font-size:17.549999999999997px}h4{font-size:15px}img{border:0}img.user-avatar{float:left;margin-right:10px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px}input,textarea,a.fakeinput{border:2px solid #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}input:focus,textarea:focus,a.fakeinput:focus{border:2px solid #8dc63f;outline:0}a.fakeinput:hover{text-decoration:none}.js-search input{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}h2.content-heading{padding:15px;margin:0;font-size:19px;font-weight:normal;color:#3d4e53;float:left;width:50%}h2.content-heading span{font-style:italic}h3.jsmod-title{-moz-border-radius:8px 8px 0 0;-webkit-border-radius:8px 8px 0 0;border-radius:8px 8px 0 0;background:#a7c1ca;padding:0;margin:0;height:73px}h3.jsmod-title span{font-size:19px;font-style:italic;color:#3d4e53;padding:26px 40px 27px 20px;display:block}input[type="submit"],a.fakeinput{background:#8dc63f;color:white;font-weight:bold;padding:.5em 1em;cursor:pointer}.loader-gif[disabled="disabled"],.loader-gif.show-loading{background:url('/static/images/loading.gif') center no-repeat!important}.js-page-wrap{position:relative;min-height:100%}.js-main{width:960px;margin:0 auto;clear:both;padding:0}ul.menu{list-style:none;padding:0;margin:0}.errorlist{-moz-border-radius:16px;-webkit-border-radius:16px;border-radius:16px;border:solid #e35351 3px;clear:both;width:90%;height:auto;line-height:16px;padding:7px 0;font-weight:bold;font-size:13px;text-align:center}.errorlist li{list-style:none;border:0}.errorlist li{list-style:none;border:0}.errorlist+input{border:2px solid #e35351!important}.errorlist+input:focus{border:1px solid #8dc63f!important}.errorlist+textarea{border:2px solid #e35351!important}.errorlist+textarea:focus{border:2px solid #8dc63f!important}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}#js-header{height:90px}.js-logo{float:left;padding-top:10px}.js-logo a img{border:0}.js-topmenu{float:right;margin-top:25px;font-size:15px}.js-topmenu#authenticated{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;height:36px}.js-topmenu#authenticated:hover,.js-topmenu#authenticated.highlight{background:#d6dde0;cursor:pointer;position:relative}.js-topmenu#authenticated.highlight span#welcome{background-image:url("/static/images/menu_bar_up_arrow_textblue.png")}.js-topmenu ul#user_menu{white-space:nowrap;display:none;z-index:100;position:absolute;top:36px;left:0;padding:0;overflow:visible;margin:0}.js-topmenu ul#user_menu li{border-top:1px solid white;list-style-type:none;float:none;background:#d6dde0;padding:7px 10px}.js-topmenu ul#user_menu li:hover{background:#8dc63f}.js-topmenu ul#user_menu li:hover a{color:white}.js-topmenu ul#user_menu li:hover #i_haz_notifications{border-color:white;background-color:white;color:#3d4e53}.js-topmenu ul#user_menu li a{height:auto;line-height:26.25px}.js-topmenu ul#user_menu li span{margin-right:10px}.js-topmenu ul li{float:left;position:relative;z-index:50}.js-topmenu ul li a{color:#3d4e53;height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em}.js-topmenu ul li span#welcome{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em;padding:0 10px;margin-right:5px;padding-right:22px;background-image:url("/static/images/menu_bar_down_arrow_textblue.png");background-repeat:no-repeat;background-position:right}.js-topmenu ul li span#welcome img{vertical-align:middle}.js-topmenu ul li img{padding:0;margin:0}.js-topmenu ul li.last{padding-left:20px}.js-topmenu ul li.last a{background:url("/static/images/bg.png") right top no-repeat}.js-topmenu ul li.last a span{-moz-border-radius:32px 0 0 32px;-webkit-border-radius:32px 0 0 32px;border-radius:32px 0 0 32px;background-color:#8dc63f;margin-right:29px;display:block;padding:0 5px 0 15px;color:white}.js-topmenu ul .unseen_count{border:solid 2px;-moz-border-radius:700px;-webkit-border-radius:700px;border-radius:700px;padding:3px;line-height:16px;width:16px;cursor:pointer;text-align:center}.js-topmenu ul .unseen_count#i_haz_notifications{background-color:#8dc63f;color:white;border-color:white}.js-topmenu ul .unseen_count#no_notifications_for_you{border-color:#edf3f4;background-color:#edf3f4;color:#3d4e53}#i_haz_notifications_badge{-moz-border-radius:700px;-webkit-border-radius:700px;border-radius:700px;font-size:13px;border:solid 2px white;margin-left:-7px;margin-top:-10px;padding:3px;background:#8dc63f;color:white;position:absolute;line-height:normal}form.login label,#login form label{display:block;line-height:18px}form.login input,#login form input{width:90%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #d6dde0;height:18px;line-height:18px;margin-bottom:6px}form.login input[type=submit],#login form input[type=submit]{text-decoration:capitalize;width:auto;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;color:white;cursor:pointer;font-size:13px;font-weight:bold;padding:0 15px;border:0;margin:5px 0}form.login input:focus,#login form input:focus{border:solid 1px #8dc63f}form.login input[type="text"],#login form input[type="text"],form.login input[type="password"],#login form input[type="password"]{height:22.75px;line-height:22.75px;margin-bottom:13px;border-width:2px}form.login input[type="submit"],#login form input[type="submit"]{font-size:15px}form.login span.helptext,#login form span.helptext{display:block;margin-top:-11px;font-style:italic;font-size:13px}#lightbox_content .google_signup{padding:14px 0}#lightbox_content .google_signup div{height:36px;line-height:36px;float:left;padding-left:5px;font-size:15px;display:inline-block}#lightbox_content .google_signup img{float:left;height:36px;width:36px}#lightbox_content .google_signup div{height:36px;line-height:36px;float:left;padding-left:5px;font-size:15px;display:inline-block}#lightbox_content .google_signup img{float:left;height:36px;width:36px}.js-search{float:left;padding-top:25px;margin-left:81px}.js-search input{float:left}.js-search .inputbox{padding:0 0 0 15px;margin:0;border-top:solid 4px #8ac3d7;border-left:solid 4px #8ac3d7;border-bottom:solid 4px #8ac3d7;border-right:0;-moz-border-radius:50px 0 0 50px;-webkit-border-radius:50px 0 0 50px;border-radius:50px 0 0 50px;outline:0;height:28px;line-height:28px;width:156px;float:left;color:#6994a3}.js-search .button{background:url("/static/images/blue-search-button.png") no-repeat;padding:0;margin:0;width:40px;height:36px;display:block;border:0;text-indent:-10000px;cursor:pointer}.js-search-inner{float:right}#locationhash{display:none}#block-intro-text{padding-right:10px}#block-intro-text span.def{font-style:italic}a#readon{background:url("/static/images/learnmore-downarrow.png") right center no-repeat;color:#fff;text-transform:capitalize;display:block;float:right;font-size:13px;font-weight:bold}a#readon.down{background:url("/static/images/learnmore-uparrow.png") right center no-repeat}a#readon span{-moz-border-radius:32px 0 0 32px;-webkit-border-radius:32px 0 0 32px;border-radius:32px 0 0 32px;background-color:#8ac3d7;margin-right:34px;padding:0 5px 0 20px;height:36px;line-height:36px;display:block}.spread_the_word{height:24px;width:24px;position:top;margin-left:5px}#js-leftcol{float:left;width:235px;margin-bottom:20px}#js-leftcol a{font-weight:normal}#js-leftcol a:hover{text-decoration:underline}#js-leftcol .jsmod-content{border:solid 1px #edf3f4;-moz-border-radius:0 0 10px 10px;-webkit-border-radius:0 0 10px 10px;border-radius:0 0 10px 10px}#js-leftcol ul.level1>li>a,#js-leftcol ul.level1>li>span{border-bottom:1px solid #edf3f4;border-top:1px solid #edf3f4;text-transform:uppercase;color:#3d4e53;font-size:15px;display:block;padding:10px}#js-leftcol ul.level2 li{padding:5px 10px}#js-leftcol ul.level2 li a{color:#6994a3;font-size:15px}#js-leftcol ul.level2 li img{vertical-align:middle;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}#js-leftcol ul.level2 li .ungluer-name{height:30px;line-height:30px}#js-topsection{padding:15px 0 0 0;overflow:hidden}.js-topnews{float:left;width:100%}.js-topnews1{background:url("/static/images/header/header-m.png") 0 0 repeat-y}.js-topnews2{background:url("/static/images/header/header-t.png") 0 0 no-repeat}.js-topnews3{background:url("/static/images/header/header-b.png") 0 100% no-repeat;display:block;overflow:hidden;padding:10px}#main-container{margin:15px 0 0 0}#js-maincol-fr{float:right;width:725px}div#content-block{overflow:hidden;background:url("/static/images/bg.png") 100% -223px no-repeat;padding:0 0 0 7px;margin-bottom:20px}div#content-block.jsmodule{background:0}.content-block-heading a.block-link{float:right;padding:15px;font-size:13px;color:#3d4e53;text-decoration:underline;font-weight:normal}div#content-block-content,div#content-block-content-1{width:100%;overflow:hidden;padding-left:10px}div#content-block-content .cols3 .column,div#content-block-content-1 .cols3 .column{width:33.33%;float:left}#footer{background-color:#edf3f4;clear:both;text-transform:uppercase;color:#3d4e53;font-size:15px;display:block;padding:15px 0 45px 0;margin-top:15px;overflow:hidden}#footer .column{float:left;width:25%;padding-top:5px}#footer .column ul{padding-top:5px;margin-left:0;padding-left:0}#footer .column li{padding:5px 0;text-transform:none;list-style:none;margin-left:0}#footer .column li a{color:#6994a3;font-size:15px}.pagination{width:100%;text-align:center;margin-top:20px;clear:both;border-top:solid #3d4e53 thin;padding-top:7px}.pagination .endless_page_link{font-size:13px;border:thin #3d4e53 solid;font-weight:normal;margin:5px;padding:1px}.pagination .endless_page_current{font-size:13px;border:thin #3d4e53 solid;font-weight:normal;margin:5px;padding:1px;background-color:#edf3f4}a.nounderline{text-decoration:none}.slides_control{height:325px!important}#about_expandable{display:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:solid 5px #d6dde0;background:white;z-index:500;top:25%;padding:9px;max-width:90%}#about_expandable .collapser_x{margin-top:-27px;margin-right:-27px}#lightbox_content p{padding:9px 0;font-size:15px;line-height:20px}#lightbox_content p a{font-size:15px;line-height:20px}#lightbox_content p b{color:#8dc63f}#lightbox_content p.last{border-bottom:solid 2px #d6dde0;margin-bottom:5px}#lightbox_content .right_border{border-right:solid 1px #d6dde0;float:left;padding:9px}#lightbox_content .signuptoday{float:right;margin-top:0;clear:none}#lightbox_content h2+form,#lightbox_content h3+form,#lightbox_content h4+form{margin-top:15px}#lightbox_content h2,#lightbox_content h3,#lightbox_content h4{margin-bottom:10px}.nonlightbox .about_page{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:solid 5px #d6dde0;width:75%;margin:10px auto auto auto;padding:9px}.collapser_x{float:right;height:24px;line-height:24px;width:24px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px;-moz-box-shadow:-1px 1px #3d4e53;-webkit-box-shadow:-1px 1px #3d4e53;box-shadow:-1px 1px #3d4e53;border:solid 3px white;text-align:center;color:white;background:#3d4e53;font-size:17px;z-index:5000;margin-top:-12px;margin-right:-22px}.signuptoday{-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;background-color:#8dc63f;padding:0 15px;height:36px;line-height:36px;float:left;clear:both;margin:10px auto;cursor:pointer;font-style:normal}.signuptoday a{background:url("/static/images/icons/pledgearrow-hover.png") right center no-repeat;padding-right:17px;color:white}.signuptoday a:hover{text-decoration:none}.central{width:480px;margin:0 auto}li.checked{list-style-type:none;background:transparent url(/static/images/checkmark_small.png) no-repeat 0 0;margin-left:-20px;padding-left:20px}.btn_support{margin:10px;width:215px}.btn_support a,.btn_support form input,.btn_support>span{font-size:22px;border:4px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;display:block;text-align:center;padding-top:14.25px;padding-bottom:14.25px;background-color:#8dc63f;color:white!important}.btn_support a span,.btn_support form input span,.btn_support>span span{color:white!important;font-weight:bold;padding-left:0;margin-left:0!important;background:0}.btn_support.create-account span{padding:0;margin:0;background:0}.btn_support a:hover,.btn_support form input:hover{background-color:#7aae34;text-decoration:none}.btn_support a{width:207px}.btn_support form input{width:215px}.btn_support.modify a,.btn_support.modify form input{background-color:#a7c1ca}.btn_support.modify a:hover,.btn_support.modify form input:hover{background-color:#91b1bd}.buttons{display:none;border-bottom:solid 2px #d6dde0;margin-bottom:10px}.buttons .btn_support{float:left;width:auto}.buttons .btn_support a{width:auto;padding:14.25px;font-size:15px}.instructions h4{border-top:solid #d6dde0 1px;border-bottom:solid #d6dde0 1px;padding:.5em 0}.instructions p,.instructions ul{margin:auto 2em;font-size:15px;line-height:22.5px} \ No newline at end of file +.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em}.panelborders{border-width:1px 0;border-style:solid none;border-color:#fff}.roundedspan{border:1px solid #d4d4d4;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;padding:1px;color:#fff;margin:0 8px 0 0;display:inline-block}.roundedspan>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}.roundedspan>span .hovertext{display:none}.roundedspan>span:hover .hovertext{display:inline}.mediaborder{padding:5px;border:solid 5px #edf3f4}.actionbuttons{width:auto;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;color:white;cursor:pointer;font-size:13px;font-weight:bold;padding:0 15px;border:0;margin:5px 0}.errors{-moz-border-radius:16px;-webkit-border-radius:16px;border-radius:16px;border:solid #e35351 3px;clear:both;width:90%;height:auto;line-height:16px;padding:7px 0;font-weight:bold;font-size:13px;text-align:center}.errors li{list-style:none;border:0}.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em}.panelborders{border-width:1px 0;border-style:solid none;border-color:#fff}.roundedspan{border:1px solid #d4d4d4;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;padding:1px;color:#fff;margin:0 8px 0 0;display:inline-block}.roundedspan>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}.roundedspan>span .hovertext{display:none}.roundedspan>span:hover .hovertext{display:inline}.mediaborder{padding:5px;border:solid 5px #edf3f4}.actionbuttons{width:auto;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;color:white;cursor:pointer;font-size:13px;font-weight:bold;padding:0 15px;border:0;margin:5px 0}.errors{-moz-border-radius:16px;-webkit-border-radius:16px;border-radius:16px;border:solid #e35351 3px;clear:both;width:90%;height:auto;line-height:16px;padding:7px 0;font-weight:bold;font-size:13px;text-align:center}.errors li{list-style:none;border:0}ul.social a:hover{text-decoration:none}ul.social li{padding:5px 0 5px 30px!important;height:28px;line-height:28px!important;margin:0!important;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}ul.social li.facebook{background:url("/static/images/icons/facebook.png") 10px center no-repeat;cursor:pointer}ul.social li.facebook span{padding-left:10px}ul.social li.facebook:hover{background:#8dc63f url("/static/images/icons/facebook-hover.png") 10px center no-repeat}ul.social li.facebook:hover span{color:#fff}ul.social li.twitter{background:url("/static/images/icons/twitter.png") 10px center no-repeat;cursor:pointer}ul.social li.twitter span{padding-left:10px}ul.social li.twitter:hover{background:#8dc63f url("/static/images/icons/twitter-hover.png") 10px center no-repeat}ul.social li.twitter:hover span{color:#fff}ul.social li.email{background:url("/static/images/icons/email.png") 10px center no-repeat;cursor:pointer}ul.social li.email span{padding-left:10px}ul.social li.email:hover{background:#8dc63f url("/static/images/icons/email-hover.png") 10px center no-repeat}ul.social li.email:hover span{color:#fff}ul.social li.embed{background:url("/static/images/icons/embed.png") 10px center no-repeat;cursor:pointer}ul.social li.embed span{padding-left:10px}ul.social li.embed:hover{background:#8dc63f url("/static/images/icons/embed-hover.png") 10px center no-repeat}ul.social li.embed:hover span{color:#fff}.download_container{width:75%;margin:auto}#lightbox_content a{color:#6994a3}#lightbox_content .signuptoday a{color:white}#lightbox_content h2,#lightbox_content h3,#lightbox_content h4{margin-top:15px}#lightbox_content h2 a{font-size:18.75px}#lightbox_content .ebook_download a{margin:auto 5px auto 0;font-size:15px}#lightbox_content .ebook_download img{vertical-align:middle}#lightbox_content .logo{font-size:15px}#lightbox_content .logo img{-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;height:50px;width:50px;margin-right:5px}#lightbox_content .unglued,#lightbox_content .not_unglued{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;margin-left:-0.25%;padding:.5%;padding-bottom:15px;margin-bottom:5px;width:74%}#lightbox_content .unglued h3,#lightbox_content .not_unglued h3{margin-top:5px}#lightbox_content .unglued{border:solid 2px #8dc63f}#lightbox_content .not_unglued{border:solid 2px #d6dde0}#lightbox_content a.add-wishlist .on-wishlist,#lightbox_content a.success,a.success:hover{text-decoration:none;color:#3d4e53}#lightbox_content a.success,a.success:hover{cursor:default}#lightbox_content ul{padding-left:50px}#lightbox_content ul li{margin-bottom:4px}.border{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:solid 2px #d6dde0;margin:5px auto;padding-right:5px;padding-left:5px}.sharing{float:right;padding:.5%!important;width:23%!important;min-width:105px}.sharing ul{padding:.5%!important}.sharing .jsmod-title{-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;height:auto}.sharing .jsmod-title span{padding:5%!important;color:white!important;font-style:normal}#widgetcode2{display:none;border:1px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px}#widgetcode2 textarea{max-width:90%}.preview{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;width:934px}.preview a{color:#8dc63f}.launch_top{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;width:934px;border-color:#8dc63f;margin:10px auto 0 auto;font-size:15px;line-height:22.5px}.launch_top a{color:#8dc63f}.launch_top.pale{border-color:#d6dde0;font-size:13px}.launch_top.alert{border-color:#e35351;font-size:13px}.preview_content{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;width:934px;width:80%;margin:10px auto}.preview_content a{color:#8dc63f}.utilityheaders{text-transform:uppercase;color:#3d4e53;font-size:15px;display:block}html,body{height:100%}body{background:url("/static/images/bg-body.png") 0 0 repeat-x;padding:0 0 20px 0;margin:0;font-size:13px;line-height:16.900000000000002px;font-family:"Lucida Grande","Lucida Sans Unicode","Lucida Sans",Arial,Helvetica,sans-serif;color:#3d4e53}#feedback{position:fixed;bottom:10%;right:0;z-index:500}#feedback p{writing-mode:tb-rl;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);white-space:nowrap;display:block;bottom:0;width:160px;height:32px;-moz-border-radius:0 0 10px 10px;-webkit-border-radius:0 0 10px 10px;border-radius:0 0 10px 10px;background:#8dc63f;margin-bottom:0;text-align:center;margin-right:-67px;line-height:normal}#feedback p a{color:white;font-size:24px;font-weight:normal}#feedback p a:hover{color:#3d4e53}a{font-weight:bold;font-size:inherit;text-decoration:none;cursor:pointer;color:#6994a3}a:hover{text-decoration:underline}h1{font-size:22.5px}h2{font-size:18.75px}h3{font-size:17.549999999999997px}h4{font-size:15px}img{border:0}img.user-avatar{float:left;margin-right:10px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px}input,textarea,a.fakeinput{border:2px solid #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}input:focus,textarea:focus,a.fakeinput:focus{border:2px solid #8dc63f;outline:0}a.fakeinput:hover{text-decoration:none}.js-search input{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}h2.content-heading{padding:15px;margin:0;font-size:19px;font-weight:normal;color:#3d4e53;float:left;width:50%}h2.content-heading span{font-style:italic}h3.jsmod-title{-moz-border-radius:8px 8px 0 0;-webkit-border-radius:8px 8px 0 0;border-radius:8px 8px 0 0;background:#a7c1ca;padding:0;margin:0;height:73px}h3.jsmod-title span{font-size:19px;font-style:italic;color:#3d4e53;padding:26px 40px 27px 20px;display:block}input[type="submit"],a.fakeinput{background:#8dc63f;color:white;font-weight:bold;padding:.5em 1em;cursor:pointer}.loader-gif[disabled="disabled"],.loader-gif.show-loading{background:url('/static/images/loading.gif') center no-repeat!important}.js-page-wrap{position:relative;min-height:100%}.js-main{width:960px;margin:0 auto;clear:both;padding:0}ul.menu{list-style:none;padding:0;margin:0}.errorlist{-moz-border-radius:16px;-webkit-border-radius:16px;border-radius:16px;border:solid #e35351 3px;clear:both;width:90%;height:auto;line-height:16px;padding:7px 0;font-weight:bold;font-size:13px;text-align:center}.errorlist li{list-style:none;border:0}.errorlist li{list-style:none;border:0}.errorlist+input{border:2px solid #e35351!important}.errorlist+input:focus{border:1px solid #8dc63f!important}.errorlist+textarea{border:2px solid #e35351!important}.errorlist+textarea:focus{border:2px solid #8dc63f!important}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}#js-header{height:90px}.js-logo{float:left;padding-top:10px}.js-logo a img{border:0}.js-topmenu{float:right;margin-top:25px;font-size:15px}.js-topmenu#authenticated{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;height:36px}.js-topmenu#authenticated:hover,.js-topmenu#authenticated.highlight{background:#d6dde0;cursor:pointer;position:relative}.js-topmenu#authenticated.highlight span#welcome{background-image:url("/static/images/menu_bar_up_arrow_textblue.png")}.js-topmenu ul#user_menu{white-space:nowrap;display:none;z-index:100;position:absolute;top:36px;left:0;padding:0;overflow:visible;margin:0}.js-topmenu ul#user_menu li{border-top:1px solid white;list-style-type:none;float:none;background:#d6dde0;padding:7px 10px}.js-topmenu ul#user_menu li:hover{background:#8dc63f}.js-topmenu ul#user_menu li:hover a{color:white}.js-topmenu ul#user_menu li:hover #i_haz_notifications{border-color:white;background-color:white;color:#3d4e53}.js-topmenu ul#user_menu li a{height:auto;line-height:26.25px}.js-topmenu ul#user_menu li span{margin-right:10px}.js-topmenu ul li{float:left;position:relative;z-index:50}.js-topmenu ul li a{color:#3d4e53;height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em}.js-topmenu ul li span#welcome{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;letter-spacing:-0.05em;padding:0 10px;margin-right:5px;padding-right:22px;background-image:url("/static/images/menu_bar_down_arrow_textblue.png");background-repeat:no-repeat;background-position:right}.js-topmenu ul li span#welcome img{vertical-align:middle}.js-topmenu ul li img{padding:0;margin:0}.js-topmenu ul li.last{padding-left:20px}.js-topmenu ul li.last a{background:url("/static/images/bg.png") right top no-repeat}.js-topmenu ul li.last a span{-moz-border-radius:32px 0 0 32px;-webkit-border-radius:32px 0 0 32px;border-radius:32px 0 0 32px;background-color:#8dc63f;margin-right:29px;display:block;padding:0 5px 0 15px;color:white}.js-topmenu ul .unseen_count{border:solid 2px;-moz-border-radius:700px;-webkit-border-radius:700px;border-radius:700px;padding:3px;line-height:16px;width:16px;cursor:pointer;text-align:center}.js-topmenu ul .unseen_count#i_haz_notifications{background-color:#8dc63f;color:white;border-color:white}.js-topmenu ul .unseen_count#no_notifications_for_you{border-color:#edf3f4;background-color:#edf3f4;color:#3d4e53}#i_haz_notifications_badge{-moz-border-radius:700px;-webkit-border-radius:700px;border-radius:700px;font-size:13px;border:solid 2px white;margin-left:-7px;margin-top:-10px;padding:3px;background:#8dc63f;color:white;position:absolute;line-height:normal}form.login label,#login form label{display:block;line-height:18px}form.login input,#login form input{width:90%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #d6dde0;height:18px;line-height:18px;margin-bottom:6px}form.login input[type=submit],#login form input[type=submit]{text-decoration:capitalize;width:auto;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;color:white;cursor:pointer;font-size:13px;font-weight:bold;padding:0 15px;border:0;margin:5px 0}form.login input:focus,#login form input:focus{border:solid 1px #8dc63f}form.login input[type="text"],#login form input[type="text"],form.login input[type="password"],#login form input[type="password"]{height:22.75px;line-height:22.75px;margin-bottom:13px;border-width:2px}form.login input[type="submit"],#login form input[type="submit"]{font-size:15px}form.login span.helptext,#login form span.helptext{display:block;margin-top:-11px;font-style:italic;font-size:13px}#lightbox_content .google_signup{padding:14px 0}#lightbox_content .google_signup div{height:36px;line-height:36px;float:left;padding-left:5px;font-size:15px;display:inline-block}#lightbox_content .google_signup img{float:left;height:36px;width:36px}#lightbox_content .google_signup div{height:36px;line-height:36px;float:left;padding-left:5px;font-size:15px;display:inline-block}#lightbox_content .google_signup img{float:left;height:36px;width:36px}.js-search{float:left;padding-top:25px;margin-left:81px}.js-search input{float:left}.js-search .inputbox{padding:0 0 0 15px;margin:0;border-top:solid 4px #8ac3d7;border-left:solid 4px #8ac3d7;border-bottom:solid 4px #8ac3d7;border-right:0;-moz-border-radius:50px 0 0 50px;-webkit-border-radius:50px 0 0 50px;border-radius:50px 0 0 50px;outline:0;height:28px;line-height:28px;width:156px;float:left;color:#6994a3}.js-search .button{background:url("/static/images/blue-search-button.png") no-repeat;padding:0;margin:0;width:40px;height:36px;display:block;border:0;text-indent:-10000px;cursor:pointer}.js-search-inner{float:right}#locationhash{display:none}#block-intro-text{padding-right:10px}#block-intro-text span.def{font-style:italic}a#readon{background:url("/static/images/learnmore-downarrow.png") right center no-repeat;color:#fff;text-transform:capitalize;display:block;float:right;font-size:13px;font-weight:bold}a#readon.down{background:url("/static/images/learnmore-uparrow.png") right center no-repeat}a#readon span{-moz-border-radius:32px 0 0 32px;-webkit-border-radius:32px 0 0 32px;border-radius:32px 0 0 32px;background-color:#8ac3d7;margin-right:34px;padding:0 5px 0 20px;height:36px;line-height:36px;display:block}.spread_the_word{height:24px;width:24px;position:top;margin-left:5px}#js-leftcol{float:left;width:235px;margin-bottom:20px}#js-leftcol a{font-weight:normal}#js-leftcol a:hover{text-decoration:underline}#js-leftcol .jsmod-content{border:solid 1px #edf3f4;-moz-border-radius:0 0 10px 10px;-webkit-border-radius:0 0 10px 10px;border-radius:0 0 10px 10px}#js-leftcol ul.level1>li>a,#js-leftcol ul.level1>li>span{border-bottom:1px solid #edf3f4;border-top:1px solid #edf3f4;text-transform:uppercase;color:#3d4e53;font-size:15px;display:block;padding:10px}#js-leftcol ul.level2 li{padding:5px 10px}#js-leftcol ul.level2 li a{color:#6994a3;font-size:15px}#js-leftcol ul.level2 li img{vertical-align:middle;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}#js-leftcol ul.level2 li .ungluer-name{height:30px;line-height:30px}#js-topsection{padding:15px 0 0 0;overflow:hidden}.js-topnews{float:left;width:100%}.js-topnews1{background:url("/static/images/header/header-m.png") 0 0 repeat-y}.js-topnews2{background:url("/static/images/header/header-t.png") 0 0 no-repeat}.js-topnews3{background:url("/static/images/header/header-b.png") 0 100% no-repeat;display:block;overflow:hidden;padding:10px}#main-container{margin:15px 0 0 0}#js-maincol-fr{float:right;width:725px}div#content-block{overflow:hidden;background:url("/static/images/bg.png") 100% -223px no-repeat;padding:0 0 0 7px;margin-bottom:20px}div#content-block.jsmodule{background:0}.content-block-heading a.block-link{float:right;padding:15px;font-size:13px;color:#3d4e53;text-decoration:underline;font-weight:normal}div#content-block-content,div#content-block-content-1{width:100%;overflow:hidden;padding-left:10px}div#content-block-content .cols3 .column,div#content-block-content-1 .cols3 .column{width:33.33%;float:left}#footer{background-color:#edf3f4;clear:both;text-transform:uppercase;color:#3d4e53;font-size:15px;display:block;padding:15px 0 45px 0;margin-top:15px;overflow:hidden}#footer .column{float:left;width:25%;padding-top:5px}#footer .column ul{padding-top:5px;margin-left:0;padding-left:0}#footer .column li{padding:5px 0;text-transform:none;list-style:none;margin-left:0}#footer .column li a{color:#6994a3;font-size:15px}.pagination{width:100%;text-align:center;margin-top:20px;clear:both;border-top:solid #3d4e53 thin;padding-top:7px}.pagination .endless_page_link{font-size:13px;border:thin #3d4e53 solid;font-weight:normal;margin:5px;padding:1px}.pagination .endless_page_current{font-size:13px;border:thin #3d4e53 solid;font-weight:normal;margin:5px;padding:1px;background-color:#edf3f4}a.nounderline{text-decoration:none}.slides_control{height:325px!important}#about_expandable{display:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:solid 5px #d6dde0;background:white;z-index:500;top:25%;padding:9px;max-width:90%}#about_expandable .collapser_x{margin-top:-27px;margin-right:-27px}#lightbox_content p{padding:9px 0;font-size:15px;line-height:20px}#lightbox_content p a{font-size:15px;line-height:20px}#lightbox_content p b{color:#8dc63f}#lightbox_content p.last{border-bottom:solid 2px #d6dde0;margin-bottom:5px}#lightbox_content .right_border{border-right:solid 1px #d6dde0;float:left;padding:9px}#lightbox_content .signuptoday{float:right;margin-top:0;clear:none}#lightbox_content h2+form,#lightbox_content h3+form,#lightbox_content h4+form{margin-top:15px}#lightbox_content h2,#lightbox_content h3,#lightbox_content h4{margin-bottom:10px}.nonlightbox .about_page{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:solid 5px #d6dde0;width:75%;margin:10px auto auto auto;padding:9px}.collapser_x{float:right;height:24px;line-height:24px;width:24px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px;-moz-box-shadow:-1px 1px #3d4e53;-webkit-box-shadow:-1px 1px #3d4e53;box-shadow:-1px 1px #3d4e53;border:solid 3px white;text-align:center;color:white;background:#3d4e53;font-size:17px;z-index:5000;margin-top:-12px;margin-right:-22px}.signuptoday{-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;background-color:#8dc63f;padding:0 15px;height:36px;line-height:36px;float:left;clear:both;margin:10px auto;cursor:pointer;font-style:normal}.signuptoday a{background:url("/static/images/icons/pledgearrow-hover.png") right center no-repeat;padding-right:17px;color:white}.signuptoday a:hover{text-decoration:none}.central{width:480px;margin:0 auto}li.checked{list-style-type:none;background:transparent url(/static/images/checkmark_small.png) no-repeat 0 0;margin-left:-20px;padding-left:20px}.btn_support{margin:10px;width:215px}.btn_support a,.btn_support form input,.btn_support>span{font-size:22px;border:4px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;display:block;text-align:center;padding-top:14.25px;padding-bottom:14.25px;background-color:#8dc63f;color:white!important}.btn_support a span,.btn_support form input span,.btn_support>span span{color:white!important;font-weight:bold;padding-left:0;margin-left:0!important;background:0}.btn_support.create-account span{padding:0;margin:0;background:0}.btn_support a:hover,.btn_support form input:hover{background-color:#7aae34;text-decoration:none}.btn_support a{width:207px}.btn_support form input{width:215px}.btn_support.modify a,.btn_support.modify form input{background-color:#a7c1ca}.btn_support.modify a:hover,.btn_support.modify form input:hover{background-color:#91b1bd}.buttons{display:none;border-bottom:solid 2px #d6dde0;margin-bottom:10px}.buttons .btn_support{float:left;width:auto}.buttons .btn_support a{width:auto;padding:14.25px;font-size:15px}.instructions h4{border-top:solid #d6dde0 1px;border-bottom:solid #d6dde0 1px;padding:.5em 0}.instructions p,.instructions ul{margin:auto 2em;font-size:15px;line-height:22.5px}#kindle_div .yes_js{display:none} \ No newline at end of file diff --git a/static/js/download_page.js b/static/js/download_page.js index cdfcba7f..39cd047f 100644 --- a/static/js/download_page.js +++ b/static/js/download_page.js @@ -21,9 +21,10 @@ $j(document).on('click', '.buttons div', function() { activeDiv.siblings().hide(); }); -$j(document).on('click', '#kindle', function() { - kindle_ebook_id = $j(this).attr('class'); - $j.post('/send_to_kindle/' + kindle_ebook_id + '/', function(data) { +$j(document).on('click', '#kindle.authenticated', function() { + classes = $j(this).attr('class').split(' '); + kindle_ebook_id = classes[0]; + $j.post('/send_to_kindle/' + kindle_ebook_id + '/1/', function(data) { $j('#kindle_div').html(data); }); }); \ No newline at end of file diff --git a/static/less/enhanced_download.less b/static/less/enhanced_download.less index 99dad3f5..ec0b43fb 100644 --- a/static/less/enhanced_download.less +++ b/static/less/enhanced_download.less @@ -2,6 +2,14 @@ display: inherit; } -.instructions div:not(#trythis_div), .instructions h4 { +.instructions > div:not(#trythis_div), .instructions h4 { display: none; +} + +#kindle_div .no_js { + display: none !important; +} + +#kindle_div .yes_js { + display: inherit; } \ No newline at end of file diff --git a/static/less/enhanced_download_ie.less b/static/less/enhanced_download_ie.less index c48030a6..aadf83af 100644 --- a/static/less/enhanced_download_ie.less +++ b/static/less/enhanced_download_ie.less @@ -2,10 +2,18 @@ display: inherit; } -.instructions div, .instructions h4 { +.instructions > div, .instructions h4 { display: none; } +#kindle_div .no_js { + display: none !important; +} + +#kindle_div .yes_js { + display: inherit; +} + /* the not selector doesn't work in IE <= 8 */ #trythis_div { display: inherit; diff --git a/static/less/sitewide4.less b/static/less/sitewide4.less index 52b161b3..ac6fb5b4 100644 --- a/static/less/sitewide4.less +++ b/static/less/sitewide4.less @@ -901,6 +901,7 @@ li.checked { } } +/* download page */ .buttons { display: none; border-bottom: solid 2px @blue-grey; @@ -931,3 +932,7 @@ li.checked { line-height: @font-size-larger*1.5; } } + +#kindle_div .yes_js { + display: none; +} \ No newline at end of file