From c4a96a5d34b84f12ae093071776f260a00c5cf99 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 23 Jul 2012 07:41:20 -0400
Subject: [PATCH 01/95] work page will now display only custom premiums
---
frontend/views.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/frontend/views.py b/frontend/views.py
index 770ab1bb..de89e293 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -192,8 +192,9 @@ def work(request, work_id, action='display'):
else:
claimform = None
if campaign:
- # pull up premiums explicitly tied to the campaign or generic premiums
- premiums = campaign.effective_premiums()
+ # pull up premiums explicitly tied to the campaign
+ # mandatory premiums are only displayed in pledge process
+ premiums = campaign.custom_premiums()
else:
premiums = None
From fd5e73ea9b8988f41de02fa467ee2c9f057fa344 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 23 Jul 2012 07:41:56 -0400
Subject: [PATCH 02/95] don't need adwords code for oral lit any more
---
frontend/templates/pledge.html | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/frontend/templates/pledge.html b/frontend/templates/pledge.html
index adf94005..f7c70789 100644
--- a/frontend/templates/pledge.html
+++ b/frontend/templates/pledge.html
@@ -103,27 +103,6 @@
(You will be sent to
{{ payment_processor|capfirst }}
{% if faqmenu == 'modify' %}, if needed, to modify your pledge. We hope you won't, but of course you're also free to
cancel your pledge {% else %} to complete your pledge.{% endif %}.)
-{% ifequal work.id 81724 %}
-
-
-
-
-
-
-
-
-{% endifequal %}
-
{% endblock %}
From 3de4c40647b1b73cf9ebc6c1b21a54dd8f0a0852 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 23 Jul 2012 07:43:21 -0400
Subject: [PATCH 03/95] pledge page shows only custom premiums in main list
---
frontend/views.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/views.py b/frontend/views.py
index de89e293..35b5858f 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -586,7 +586,7 @@ class PledgeView(FormView):
if campaign is None or campaign.status != 'ACTIVE':
raise Http404
- premiums = campaign.effective_premiums()
+ premiums = campaign.custom_premiums()
premium_id = self.request.REQUEST.get('premium_id', None)
preapproval_amount = self.request.REQUEST.get('preapproval_amount', None)
From ef005bbef176c785b9fea0c417b0058a39a35cdb Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 23 Jul 2012 08:12:40 -0400
Subject: [PATCH 04/95] added fields for supporter acknowledgement to class
Transaction
---
payment/models.py | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/payment/models.py b/payment/models.py
index ac793ca6..ba64f343 100644
--- a/payment/models.py
+++ b/payment/models.py
@@ -72,12 +72,17 @@ class Transaction(models.Model):
campaign = models.ForeignKey(Campaign, null=True)
premium = models.ForeignKey(Premium, null=True)
- # list: makes allowance for pledging against a Wishlist: not currently in use
- list = models.ForeignKey(Wishlist, null=True)
+ # how to acknowledge the user on the supporter page of the campaign ebook
+ ack_name = models.CharField(max_length=64, null=False)
+ ack_link = models.URLField(null=False)
+ ack_dedication = models.CharField(max_length=140, null=False)
# whether the user wants to be not listed publicly
anonymous = models.BooleanField(null=False)
-
+
+ # list: makes allowance for pledging against a Wishlist: not currently in use
+ list = models.ForeignKey(Wishlist, null=True)
+
def save(self, *args, **kwargs):
if not self.secret:
self.secret = str(uuid.uuid1())
From 5855593c5b155da1b41ef288f0cf3897680a4859 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 23 Jul 2012 08:31:57 -0400
Subject: [PATCH 05/95] adding support for acknowledgement fields throughout
data pipeline
---
frontend/forms.py | 5 ++++-
frontend/views.py | 15 ++++++---------
payment/manager.py | 17 +++++++++++++----
3 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/frontend/forms.py b/frontend/forms.py
index 1eae6d56..dac18ca0 100644
--- a/frontend/forms.py
+++ b/frontend/forms.py
@@ -277,7 +277,10 @@ class CampaignPledgeForm(forms.Form):
decimal_places=2,
label="Pledge Amount",
)
- anonymous = forms.BooleanField(required=False, label=_("Don't display my username in the supporters list"))
+ anonymous = forms.BooleanField(required=False, label=_("Don't display my name in the acknowledgements"))
+ ack_name = forms.CharField(required=False, max_length=64, label=_("Name to display"))
+ ack_link = forms.URLField(required=False, label=_("Your web site"))
+ ack_dedication = forms.CharField(required=False, max_length=140, label=_("Dedication"))
premium_id = forms.IntegerField(required=False)
diff --git a/frontend/views.py b/frontend/views.py
index 35b5858f..49fdf00b 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -671,7 +671,7 @@ class PledgeView(FormView):
paymentReason = "Unglue.it Pledge for {0}".format(campaign.name)
t, url = p.authorize('USD', TARGET_TYPE_CAMPAIGN, preapproval_amount, expiry=expiry, campaign=campaign, list=None, user=user,
return_url=return_url, nevermind_url=nevermind_url, anonymous=anonymous, premium=premium,
- paymentReason=paymentReason)
+ paymentReason=paymentReason, ack_name=ack_name, ack_link=ack_link, ack_dedication=ack_dedication)
else: # embedded view -- which we're not actively using right now.
# embedded view triggerws instant payment: send to the partnering RH
receiver_list = [{'email':settings.PAYPAL_NONPROFIT_PARTNER_EMAIL, 'amount':preapproval_amount}]
@@ -680,7 +680,8 @@ class PledgeView(FormView):
nevermind_url = None
t, url = p.pledge('USD', TARGET_TYPE_CAMPAIGN, receiver_list, campaign=campaign, list=None, user=user,
- return_url=return_url, nevermind_url=nevermind_url, anonymous=anonymous, premium=premium)
+ return_url=return_url, nevermind_url=nevermind_url, anonymous=anonymous, premium=premium,
+ ack_name=ack_name, ack_link=ack_link, ack_dedication=ack_dedication)
if url:
logger.info("PledgeView url: " + url)
@@ -855,7 +856,7 @@ class PledgeRechargeView(TemplateView):
p = PaymentManager(embedded=False)
t, url = p.authorize('USD', TARGET_TYPE_CAMPAIGN, transaction.amount, expiry=expiry, campaign=campaign, list=None, user=user,
return_url=return_url, nevermind_url=nevermind_url, anonymous=transaction.anonymous, premium=transaction.premium,
- paymentReason=paymentReason)
+ paymentReason=paymentReason, ack_name=ack_name, ack_link=ack_link, ack_dedication=ack_dedication)
logger.info("Recharge url: {0}".format(url))
else:
url = None
@@ -876,11 +877,6 @@ class PledgeCompleteView(TemplateView):
after pledging, supporter receives email including thanks, work pledged, amount, expiry date, any next steps they should expect; others?
study other confirmation emails for their contents
- after pledging, supporters are returned to a thank-you screen
- should have prominent "thank you" or "congratulations" message
- should have prominent share options
- should suggest other works for supporters to explore (on what basis?)
- link to work page? or to page on which supporter entered the process? (if the latter, how does that work with widgets?)
should note that a confirmation email has been sent to $email from $sender
should briefly note next steps (e.g. if this campaign succeeds you will be emailed on date X)
@@ -1149,7 +1145,8 @@ class DonateView(FormView):
return_url = self.request.build_absolute_uri(reverse('donate'))
t, url = p.pledge('USD', TARGET_TYPE_DONATION, receiver_list, campaign=campaign, list=None, user=user,
- return_url=return_url, anonymous=anonymous)
+ return_url=return_url, anonymous=anonymous, ack_name=ack_name, ack_link=ack_link,
+ ack_dedication=ack_dedication)
if url:
return HttpResponseRedirect(url)
diff --git a/payment/manager.py b/payment/manager.py
index 4d77dd03..1f0ad5a5 100644
--- a/payment/manager.py
+++ b/payment/manager.py
@@ -543,7 +543,7 @@ class PaymentManager( object ):
def authorize(self, currency, target, amount, expiry=None, campaign=None, list=None, user=None,
return_url=None, nevermind_url=None, anonymous=False, premium=None,
- paymentReason="unglue.it Pledge", modification=False):
+ paymentReason="unglue.it Pledge", ack_name=None, ack_link=None, ack_dedication=None, modification=False):
'''
authorize
@@ -578,7 +578,10 @@ class PaymentManager( object ):
list=list,
user=user,
anonymous=anonymous,
- premium=premium
+ premium=premium,
+ ack_name=ack_name,
+ ack_link=ack_link,
+ ack_dedication=ack_dedication
)
# we might want to not allow for a return_url or nevermind_url to be passed in but calculated
@@ -736,6 +739,9 @@ class PaymentManager( object ):
transaction.anonymous,
premium,
paymentReason,
+ ack_name,
+ ack_link,
+ ack_dedication,
True)
if t and url:
@@ -819,7 +825,7 @@ class PaymentManager( object ):
logger.info("Refund Transaction " + str(transaction.id) + " Failed with error: " + p.error_string())
return False
- def pledge(self, currency, target, receiver_list, campaign=None, list=None, user=None, return_url=None, nevermind_url=None, anonymous=False, premium=None):
+ def pledge(self, currency, target, receiver_list, campaign=None, list=None, user=None, return_url=None, nevermind_url=None, anonymous=False, premium=None, ack_name=None, ack_link=None, ack_dedication=None):
'''
pledge
@@ -864,7 +870,10 @@ class PaymentManager( object ):
user=user,
date_payment=now(),
anonymous=anonymous,
- premium=premium
+ premium=premium,
+ ack_name=ack_name,
+ ack_link=ack_link,
+ ack_dedication=ack_dedication
)
t.create_receivers(receiver_list)
From 6d4044bcde36143b082abdf3ddddf6dd1dd5d2c1 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 24 Jul 2012 08:08:34 -0400
Subject: [PATCH 06/95] intermediate state
---
frontend/templates/pledge.html | 39 +++++++++++++++++++++++++++++-----
frontend/views.py | 3 +++
2 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/frontend/templates/pledge.html b/frontend/templates/pledge.html
index f7c70789..8937518c 100644
--- a/frontend/templates/pledge.html
+++ b/frontend/templates/pledge.html
@@ -92,11 +92,40 @@
{% endfor %}
-
-
- {% comment %}
- When the pledge amount and premium are in an inconsistent state, the real button is disabled and (via css) hidden; instead we display this fake button with a helpful message. It's a button so we can reuse all the existing CSS for buttons, so that it looks like the real button has just changed in appearance. It's hidden and the other one un-disabled and un-hidden when the pledge & premium return to a correct state. People without javascript enabled will miss out on the front-end corrections but form validation will catch it.
- {% endcomment %}
+
+ Depending on your pledge level, you'll also get these bonus premiums.
+
Any amount
+
$25+ {{ form.ack_name.label_tag }}: {{ form.ack_name.errors }}{{ form.ack_name }}{{ form.anonymous.label_tag }}: {{ form.anonymous.errors }}{{ form.anonymous }}
+
$50+ {{ form.ack_link.label_tag }}: {{ form.ack_link.errors }}{{ form.ack_link }}
+
$100+ {{ form.ack_dedication.label_tag }}: {{ form.ack_dedication.errors }}{{ form.ack_dedication }}
+ {% comment %}
+ What this needs:
+ DONE fields for name (and anonymity), link, dedication (140 char limit)
+ selective highlighting/activation. if inactive, grey out and provide an indication of the amount ( "$50+" or "($50+)" ); remove indication when active
+ DONE "How would you like to be recognized on the supporters page?" or similar
+ DONE validation? how?
+ prefill name and link? how? (do NOT prefill dedication; make them commit to that) At any rate, this is a second-step problem.
+ A way to commit this to the db.
+ DONE: fields attached to transaction
+ - do we want to update supporter with a last-committed-name-and-link to allow prefilling?
+ - path from frontend through db field. add to existing form and use for validation? make sure everything is optional.
+ styling
+
+ Testing:
+ run tests
+ create tests pertaining to name/link/dedication. what?
+ scour for places transaction authorize() & pledge() happen
+ make sure they've all been fed needed data!
+ wire in support analogously to PledgeView, then ask raymond to check in on DonateView
+ make sure forms do something sensible when ack_name, etc., are empty
+ make sure to expose & handle anonymity checkbox
+ {% endcomment %}
+
+
+
+ {% comment %}
+ When the pledge amount and premium are in an inconsistent state, the real button is disabled and (via css) hidden; instead we display this fake button with a helpful message. It's a button so we can reuse all the existing CSS for buttons, so that it looks like the real button has just changed in appearance. It's hidden and the other one un-disabled and un-hidden when the pledge & premium return to a correct state. People without javascript enabled will miss out on the front-end corrections but form validation will catch it.
+ {% endcomment %}
diff --git a/frontend/views.py b/frontend/views.py
index 49fdf00b..6260b41a 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -638,6 +638,9 @@ class PledgeView(FormView):
work_id = self.kwargs["work_id"]
preapproval_amount = form.cleaned_data["preapproval_amount"]
anonymous = form.cleaned_data["anonymous"]
+ ack_name = form.cleaned_data["ack_name"]
+ ack_link = form.cleaned_data["ack_link"]
+ ack_dedication = form.cleaned_data["ack_dedication"]
# right now, if there is a non-zero pledge amount, go with that. otherwise, do the pre_approval
campaign = models.Work.objects.get(id=int(work_id)).last_campaign()
From 05ae85a32d3746e1d08262bd9754849437b0dda0 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 31 Jul 2012 07:46:09 -0400
Subject: [PATCH 07/95] intermediate state
---
static/less/pledge.less | 62 +++++++++++++++++++++++++++++++
static/less/variables.css | 77 +++++++++++++++++++++++++++++++++++++++
2 files changed, 139 insertions(+)
diff --git a/static/less/pledge.less b/static/less/pledge.less
index 717260f9..0cef6cf9 100644
--- a/static/less/pledge.less
+++ b/static/less/pledge.less
@@ -76,4 +76,66 @@ p {
span.menu-item-price {
float: none !important;
+}
+
+#mandatory_premiums {
+ font-size: @font-size-larger;
+
+ div {
+ float: left;
+
+ &.ack_level {
+ width: 16%;
+ margin-right: 3%;
+ height: 100%;
+ padding: 1.5%;
+ }
+
+ &.ack_header {
+ width: 73%;
+ padding: 1.5%;
+ }
+
+ &.ack_active, &.ack_inactive {
+ width: 100%;
+ }
+
+ &.ack_active {
+ .ack_header, .ack_level {
+ border: solid @text-blue;
+ border-width: 1%;
+ background: white;
+ }
+ }
+
+ &.ack_inactive {
+ .ack_header, .ack_level {
+ border: solid @blue-grey;
+ border-width: 1%;
+ background: @blue-grey;
+ }
+
+ input {
+ background: @blue-grey;
+ border: dashed 1px @text-blue;
+ }
+ }
+ }
+
+ > div {
+ margin: 7px 0;
+ }
+
+ input[type=text] {
+ width: 95%;
+ .height(@font-size-larger*1.3);
+ font-size: @font-size-larger;
+ color: @text-blue;
+ margin: 5px 0;
+ }
+}
+
+#id_ack_link {
+ border: none;
+ cursor: default;
}
\ No newline at end of file
diff --git a/static/less/variables.css b/static/less/variables.css
index 4d261f86..f5e3c848 100644
--- a/static/less/variables.css
+++ b/static/less/variables.css
@@ -13,3 +13,80 @@
border-style: solid none;
border-color: #FFFFFF;
}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
From b04143073161c02b0515711f5fd05d82d588cf2b Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Wed, 1 Aug 2012 08:52:39 -0400
Subject: [PATCH 08/95] front end for new pledge page, plus just enough back
end that it displays
---
frontend/forms.py | 6 +-
frontend/templates/faq_pledge.html | 2 +-
frontend/templates/pledge.html | 14 +-
..._name__add_field_transaction_ack_link__.py | 199 +++++
payment/models.py | 6 +-
static/css/book_list.css | 342 +-------
static/css/book_panel.css | 576 +-------------
static/css/campaign.css | 668 +---------------
static/css/comments.css | 148 +---
static/css/documentation.css | 579 +-------------
static/css/landingpage.css | 584 +-------------
static/css/learnmore.css | 140 +---
static/css/lists.css | 15 +-
static/css/manage_campaign.css | 277 +------
static/css/notices.css | 172 +---
static/css/pledge.css | 160 +---
static/css/registration.css | 241 +-----
static/css/search.css | 125 +--
static/css/sitewide.css | 732 +-----------------
static/css/supporter_layout.css | 513 +-----------
static/js/reconcile_pledge.js | 142 +++-
static/less/pledge.less | 13 +-
22 files changed, 361 insertions(+), 5293 deletions(-)
create mode 100644 payment/migrations/0008_auto__add_field_transaction_ack_name__add_field_transaction_ack_link__.py
diff --git a/frontend/forms.py b/frontend/forms.py
index dac18ca0..ab4453c2 100644
--- a/frontend/forms.py
+++ b/frontend/forms.py
@@ -278,9 +278,9 @@ class CampaignPledgeForm(forms.Form):
label="Pledge Amount",
)
anonymous = forms.BooleanField(required=False, label=_("Don't display my name in the acknowledgements"))
- ack_name = forms.CharField(required=False, max_length=64, label=_("Name to display"))
- ack_link = forms.URLField(required=False, label=_("Your web site"))
- ack_dedication = forms.CharField(required=False, max_length=140, label=_("Dedication"))
+ ack_name = forms.CharField(required=False, max_length=64, label=_("What name should we display?"))
+ ack_link = forms.URLField(required=False, label=_("Your web site:"))
+ ack_dedication = forms.CharField(required=False, max_length=140, label=_("Your dedication:"))
premium_id = forms.IntegerField(required=False)
diff --git a/frontend/templates/faq_pledge.html b/frontend/templates/faq_pledge.html
index 0a0f62a7..11a34bc6 100644
--- a/frontend/templates/faq_pledge.html
+++ b/frontend/templates/faq_pledge.html
@@ -20,7 +20,7 @@
When will I be charged?
diff --git a/frontend/templates/pledge.html b/frontend/templates/pledge.html
index 8937518c..b5bb5daf 100644
--- a/frontend/templates/pledge.html
+++ b/frontend/templates/pledge.html
@@ -92,12 +92,12 @@
{% endfor %}
-
- Depending on your pledge level, you'll also get these bonus premiums.
-
Any amount
-
$25+ {{ form.ack_name.label_tag }}: {{ form.ack_name.errors }}{{ form.ack_name }}{{ form.anonymous.label_tag }}: {{ form.anonymous.errors }}{{ form.anonymous }}
-
$50+ {{ form.ack_link.label_tag }}: {{ form.ack_link.errors }}{{ form.ack_link }}
-
$100+ {{ form.ack_dedication.label_tag }}: {{ form.ack_dedication.errors }}{{ form.ack_dedication }}
+
+
Depending on your pledge level, you'll also get these acknowledgements.
+
+
+
+
{% comment %}
What this needs:
DONE fields for name (and anonymity), link, dedication (140 char limit)
@@ -131,7 +131,7 @@
(You will be sent to
{{ payment_processor|capfirst }}
{% if faqmenu == 'modify' %}, if needed, to modify your pledge. We hope you won't, but of course you're also free to
cancel your pledge {% else %} to complete your pledge.{% endif %}.)
-
+
{{ request.user.username }}
{% endblock %}
diff --git a/payment/migrations/0008_auto__add_field_transaction_ack_name__add_field_transaction_ack_link__.py b/payment/migrations/0008_auto__add_field_transaction_ack_name__add_field_transaction_ack_link__.py
new file mode 100644
index 00000000..92e7ffdb
--- /dev/null
+++ b/payment/migrations/0008_auto__add_field_transaction_ack_name__add_field_transaction_ack_link__.py
@@ -0,0 +1,199 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'Transaction.ack_name'
+ db.add_column('payment_transaction', 'ack_name',
+ self.gf('django.db.models.fields.CharField')(max_length=64, null=True),
+ keep_default=False)
+
+ # Adding field 'Transaction.ack_link'
+ db.add_column('payment_transaction', 'ack_link',
+ self.gf('django.db.models.fields.URLField')(max_length=200, null=True),
+ keep_default=False)
+
+ # Adding field 'Transaction.ack_dedication'
+ db.add_column('payment_transaction', 'ack_dedication',
+ self.gf('django.db.models.fields.CharField')(max_length=140, null=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'Transaction.ack_name'
+ db.delete_column('payment_transaction', 'ack_name')
+
+ # Deleting field 'Transaction.ack_link'
+ db.delete_column('payment_transaction', 'ack_link')
+
+ # Deleting field 'Transaction.ack_dedication'
+ db.delete_column('payment_transaction', 'ack_dedication')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'core.campaign': {
+ 'Meta': {'object_name': 'Campaign'},
+ 'activated': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'amazon_receiver': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'deadline': ('django.db.models.fields.DateTimeField', [], {}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True'}),
+ 'details': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'edition': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'campaigns'", 'null': 'True', 'to': "orm['core.Edition']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '14', 'decimal_places': '2'}),
+ 'license': ('django.db.models.fields.CharField', [], {'default': "'CC BY-NC-ND'", 'max_length': '255'}),
+ 'managers': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'campaigns'", 'symmetrical': 'False', 'to': "orm['auth.User']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
+ 'paypal_receiver': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'status': ('django.db.models.fields.CharField', [], {'default': "'INITIALIZED'", 'max_length': '15', 'null': 'True'}),
+ 'target': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '14', 'decimal_places': '2'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'campaigns'", 'to': "orm['core.Work']"})
+ },
+ 'core.edition': {
+ 'Meta': {'object_name': 'Edition'},
+ 'cover_image': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'public_domain': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'publication_date': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'publisher': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'editions'", 'null': 'True', 'to': "orm['core.Work']"})
+ },
+ 'core.premium': {
+ 'Meta': {'object_name': 'Premium'},
+ 'amount': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '0'}),
+ 'campaign': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'premiums'", 'null': 'True', 'to': "orm['core.Campaign']"}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'limit': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+ },
+ 'core.wishes': {
+ 'Meta': {'object_name': 'Wishes', 'db_table': "'core_wishlist_works'"},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'source': ('django.db.models.fields.CharField', [], {'max_length': '15', 'blank': 'True'}),
+ 'wishlist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Wishlist']"}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'wishes'", 'to': "orm['core.Work']"})
+ },
+ 'core.wishlist': {
+ 'Meta': {'object_name': 'Wishlist'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'wishlist'", 'unique': 'True', 'to': "orm['auth.User']"}),
+ 'works': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'wishlists'", 'symmetrical': 'False', 'through': "orm['core.Wishes']", 'to': "orm['core.Work']"})
+ },
+ 'core.work': {
+ 'Meta': {'ordering': "['title']", 'object_name': 'Work'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}),
+ 'num_wishes': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'openlibrary_lookup': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000'})
+ },
+ 'payment.paymentresponse': {
+ 'Meta': {'object_name': 'PaymentResponse'},
+ 'api': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'correlation_id': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'info': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True'}),
+ 'status': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}),
+ 'timestamp': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+ 'transaction': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['payment.Transaction']"})
+ },
+ 'payment.receiver': {
+ 'Meta': {'object_name': 'Receiver'},
+ 'amount': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '14', 'decimal_places': '2'}),
+ 'currency': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+ 'email': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'local_status': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+ 'primary': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'reason': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'status': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'transaction': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['payment.Transaction']"}),
+ 'txn_id': ('django.db.models.fields.CharField', [], {'max_length': '64'})
+ },
+ 'payment.transaction': {
+ 'Meta': {'object_name': 'Transaction'},
+ 'ack_dedication': ('django.db.models.fields.CharField', [], {'max_length': '140', 'null': 'True'}),
+ 'ack_link': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True'}),
+ 'ack_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+ 'amount': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '14', 'decimal_places': '2'}),
+ 'anonymous': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'approved': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'campaign': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Campaign']", 'null': 'True'}),
+ 'currency': ('django.db.models.fields.CharField', [], {'default': "'USD'", 'max_length': '10', 'null': 'True'}),
+ 'date_authorized': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_executed': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'date_expired': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'date_payment': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'error': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}),
+ 'execution': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'host': ('django.db.models.fields.CharField', [], {'default': "'amazon'", 'max_length': '32'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'list': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Wishlist']", 'null': 'True'}),
+ 'local_status': ('django.db.models.fields.CharField', [], {'default': "'NONE'", 'max_length': '32', 'null': 'True'}),
+ 'max_amount': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '14', 'decimal_places': '2'}),
+ 'pay_key': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+ 'preapproval_key': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+ 'premium': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Premium']", 'null': 'True'}),
+ 'reason': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+ 'receipt': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}),
+ 'secret': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+ 'status': ('django.db.models.fields.CharField', [], {'default': "'None'", 'max_length': '32'}),
+ 'target': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'})
+ }
+ }
+
+ complete_apps = ['payment']
\ No newline at end of file
diff --git a/payment/models.py b/payment/models.py
index ba64f343..7aa84cc3 100644
--- a/payment/models.py
+++ b/payment/models.py
@@ -73,9 +73,9 @@ class Transaction(models.Model):
premium = models.ForeignKey(Premium, null=True)
# how to acknowledge the user on the supporter page of the campaign ebook
- ack_name = models.CharField(max_length=64, null=False)
- ack_link = models.URLField(null=False)
- ack_dedication = models.CharField(max_length=140, null=False)
+ ack_name = models.CharField(max_length=64, null=True)
+ ack_link = models.URLField(null=True)
+ ack_dedication = models.CharField(max_length=140, null=True)
# whether the user wants to be not listed publicly
anonymous = models.BooleanField(null=False)
diff --git a/static/css/book_list.css b/static/css/book_list.css
index 01a58899..3844c591 100755
--- a/static/css/book_list.css
+++ b/static/css/book_list.css
@@ -1,341 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-/* Cross-browser language */
-/* rows in listview should alternate colors */
-.row1 .book-list.listview {
- background: #f6f9f9;
-}
-.row2 .book-list.listview {
- background: #fff;
-}
-div.book-list.listview {
- clear: both;
- display: block;
- vertical-align: middle;
- height: 43px;
- line-height: 43px;
- margin: 0 5px 0 0;
- padding: 7px 0;
- position: relative;
- /* row is a container for divs with individual content elements */
-
- /* these elements are styled differently to create list and panel views */
-
-}
-div.book-list.listview div.unglue-this {
- float: left;
-}
-div.book-list.listview div.book-thumb {
- margin-right: 5px;
- float: left;
-}
-div.book-list.listview div.book-name {
- width: 235px;
- margin-right: 10px;
- background: url("/static/images/booklist/booklist-vline.png") right center no-repeat;
- float: left;
-}
-div.book-list.listview div.book-name .title {
- display: block;
- line-height: normal;
- overflow: hidden;
- height: 19px;
- line-height: 19px;
- margin-bottom: 5px;
- font-weight: bold;
-}
-div.book-list.listview div.book-name .listview.author {
- overflow: hidden;
- display: block;
- line-height: normal;
- height: 19px;
- line-height: 19px;
-}
-div.book-list.listview div.add-wishlist,
-div.book-list.listview div.remove-wishlist,
-div.book-list.listview div.on-wishlist,
-div.book-list.listview div.create-account {
- margin-right: 10px;
- padding-right: 10px;
- width: 136px;
- background: url("/static/images/booklist/booklist-vline.png") right center no-repeat;
- float: left;
-}
-div.book-list.listview div.add-wishlist span,
-div.book-list.listview div.remove-wishlist span,
-div.book-list.listview div.on-wishlist span,
-div.book-list.listview div.create-account span {
- font-weight: normal;
- color: #3d4e53;
- text-transform: none;
- padding-left: 20px;
-}
-div.book-list.listview div.add-wishlist span,
-div.book-list.listview div.create-account span {
- background: url("/static/images/booklist/add-wishlist.png") left center no-repeat;
-}
-div.book-list.listview div.remove-wishlist span {
- background: url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat;
-}
-div.book-list.listview div.on-wishlist > span,
-div.book-list.listview div > span.on-wishlist {
- background: url("/static/images/checkmark_small.png") left center no-repeat;
-}
-div.book-list.listview div.booklist-status {
- width: 110px;
- margin-right: 7px;
- float: left;
-}
-div.add-wishlist,
-div.remove-wishlist {
- cursor: pointer;
-}
-.booklist-status.listview span.booklist-status-label {
- display: none;
-}
-.booklist-status.listview span.booklist-status-text {
- float: left;
- display: block;
- padding-right: 5px;
-}
-div.unglue-this a {
- text-transform: uppercase;
- color: #3d4e53;
- font-size: 11px;
- font-weight: bold;
-}
-div.unglue-this.complete .unglue-this-inner1 {
- background: url("/static/images/booklist/bg.png") 0 -84px no-repeat;
- height: 42px;
-}
-div.unglue-this.complete .unglue-this-inner2 {
- background: url("/static/images/booklist/bg.png") 100% -126px no-repeat;
- margin-left: 29px;
- height: 42px;
- padding-right: 10px;
-}
-div.unglue-this.complete a {
- color: #fff;
- display: block;
-}
-div.unglue-this.processing .unglue-this-inner1 {
- background: url("/static/images/booklist/bg.png") 0 0 no-repeat;
- height: 42px;
-}
-div.unglue-this.processing .unglue-this-inner2 {
- background: url("/static/images/booklist/bg.png") 100% -42px no-repeat;
- margin-left: 25px;
- height: 42px;
- padding-right: 10px;
-}
-ul.book-list-view {
- padding: 0;
- margin: 15px;
- float: right;
- list-style: none;
-}
-ul.book-list-view li {
- float: left;
- margin-right: 10px;
- display: block;
- vertical-align: middle;
- line-height: 22px;
-}
-div.navigation {
- float: left;
- clear: both;
- width: 100%;
- color: #37414d;
-}
-ul.navigation {
- float: right;
- padding: 0;
- margin: 0;
- list-style: none;
-}
-ul.navigation li {
- float: left;
- line-height: normal;
- margin-right: 5px;
-}
-ul.navigation li a {
- color: #37414d;
- font-weight: normal;
-}
-ul.navigation li.arrow-l a {
- background: url("/static/images/booklist/bg.png") 0 -168px no-repeat;
- width: 10px;
- height: 15px;
- display: block;
- text-indent: -10000px;
-}
-ul.navigation li.arrow-r a {
- background: url("/static/images/booklist/bg.png") -1px -185px no-repeat;
- width: 10px;
- height: 15px;
- display: block;
- text-indent: -10000px;
-}
-ul.navigation li a:hover,
-ul.navigation li.active a {
- color: #8ac3d7;
- text-decoration: underline;
-}
-.unglue-button {
- display: block;
- border: 0;
-}
-.book-thumb.listview a {
- display: block;
- height: 50px;
- width: 32px;
- overflow: hidden;
- position: relative;
- z-index: 1;
-}
-.book-thumb.listview a:hover {
- overflow: visible;
- z-index: 1000;
- border: none;
-}
-.book-thumb.listview a img {
- position: absolute;
- /* the excerpt you get looks cooler if you select from the middle, but
- the popup version doesn't extend past the containing div's boundaries,
- so the positioned part is cut off.
- top:-20px;
- left:-50px;
- */
-
-}
-.listview.icons {
- position: absolute;
- right: 31px;
-}
-.listview.icons .booklist-status-img {
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- background-color: #fff;
- margin-top: 4px;
- height: 37px;
-}
-.listview.icons .booklist-status-img img {
- padding: 5px;
-}
-.listview.icons .booklist-status-label {
- display: none;
-}
-div#content-block-content {
- padding-bottom: 100px;
-}
-.listview.panelback,
-.listview.panelback div {
- display: none;
-}
-/* Starting state of toggle icons; will be overwritten by js in page */
-#toggle-list {
- filter: alpha(opacity=100);
- -moz-opacity: 1;
- -khtml-opacity: 1;
- opacity: 1;
-}
-#toggle-panel {
- filter: alpha(opacity=100);
- -moz-opacity: 0.2;
- -khtml-opacity: 0.2;
- opacity: 0.2;
-}
-.nobold {
- font-weight: normal;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.row1 .book-list.listview{background:#f6f9f9}.row2 .book-list.listview{background:#fff}div.book-list.listview{clear:both;display:block;vertical-align:middle;height:43px;line-height:43px;margin:0 5px 0 0;padding:7px 0;position:relative}div.book-list.listview div.unglue-this{float:left}div.book-list.listview div.book-thumb{margin-right:5px;float:left}div.book-list.listview div.book-name{width:235px;margin-right:10px;background:url("/static/images/booklist/booklist-vline.png") right center no-repeat;float:left}div.book-list.listview div.book-name .title{display:block;line-height:normal;overflow:hidden;height:19px;line-height:19px;margin-bottom:5px;font-weight:bold}div.book-list.listview div.book-name .listview.author{overflow:hidden;display:block;line-height:normal;height:19px;line-height:19px}div.book-list.listview div.add-wishlist,div.book-list.listview div.remove-wishlist,div.book-list.listview div.on-wishlist,div.book-list.listview div.create-account{margin-right:10px;padding-right:10px;width:136px;background:url("/static/images/booklist/booklist-vline.png") right center no-repeat;float:left}div.book-list.listview div.add-wishlist span,div.book-list.listview div.remove-wishlist span,div.book-list.listview div.on-wishlist span,div.book-list.listview div.create-account span{font-weight:normal;color:#3d4e53;text-transform:none;padding-left:20px}div.book-list.listview div.add-wishlist span,div.book-list.listview div.create-account span{background:url("/static/images/booklist/add-wishlist.png") left center no-repeat}div.book-list.listview div.remove-wishlist span{background:url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat}div.book-list.listview div.on-wishlist>span,div.book-list.listview div>span.on-wishlist{background:url("/static/images/checkmark_small.png") left center no-repeat}div.book-list.listview div.booklist-status{width:110px;margin-right:7px;float:left}div.add-wishlist,div.remove-wishlist{cursor:pointer}.booklist-status.listview span.booklist-status-label{display:none}.booklist-status.listview span.booklist-status-text{float:left;display:block;padding-right:5px}div.unglue-this a{text-transform:uppercase;color:#3d4e53;font-size:11px;font-weight:bold}div.unglue-this.complete .unglue-this-inner1{background:url("/static/images/booklist/bg.png") 0 -84px no-repeat;height:42px}div.unglue-this.complete .unglue-this-inner2{background:url("/static/images/booklist/bg.png") 100% -126px no-repeat;margin-left:29px;height:42px;padding-right:10px}div.unglue-this.complete a{color:#fff;display:block}div.unglue-this.processing .unglue-this-inner1{background:url("/static/images/booklist/bg.png") 0 0 no-repeat;height:42px}div.unglue-this.processing .unglue-this-inner2{background:url("/static/images/booklist/bg.png") 100% -42px no-repeat;margin-left:25px;height:42px;padding-right:10px}ul.book-list-view{padding:0;margin:15px;float:right;list-style:none}ul.book-list-view li{float:left;margin-right:10px;display:block;vertical-align:middle;line-height:22px}div.navigation{float:left;clear:both;width:100%;color:#37414d}ul.navigation{float:right;padding:0;margin:0;list-style:none}ul.navigation li{float:left;line-height:normal;margin-right:5px}ul.navigation li a{color:#37414d;font-weight:normal}ul.navigation li.arrow-l a{background:url("/static/images/booklist/bg.png") 0 -168px no-repeat;width:10px;height:15px;display:block;text-indent:-10000px}ul.navigation li.arrow-r a{background:url("/static/images/booklist/bg.png") -1px -185px no-repeat;width:10px;height:15px;display:block;text-indent:-10000px}ul.navigation li a:hover,ul.navigation li.active a{color:#8ac3d7;text-decoration:underline}.unglue-button{display:block;border:0}.book-thumb.listview a{display:block;height:50px;width:32px;overflow:hidden;position:relative;z-index:1}.book-thumb.listview a:hover{overflow:visible;z-index:1000;border:0}.book-thumb.listview a img{position:absolute}.listview.icons{position:absolute;right:31px}.listview.icons .booklist-status-img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#fff;margin-top:4px;height:37px}.listview.icons .booklist-status-img img{padding:5px}.listview.icons .booklist-status-label{display:none}div#content-block-content{padding-bottom:100px}.listview.panelback,.listview.panelback div{display:none}#toggle-list{filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#toggle-panel{filter:alpha(opacity=100);-moz-opacity:.2;-khtml-opacity:.2;opacity:.2}.nobold{font-weight:normal}
\ No newline at end of file
diff --git a/static/css/book_panel.css b/static/css/book_panel.css
index 8c0a0c78..51d6fc3f 100644
--- a/static/css/book_panel.css
+++ b/static/css/book_panel.css
@@ -1,575 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-/* Local variables */
-.greenpanelstuff {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 12px;
- width: 120px;
- line-height: 16px;
-}
-.greenpanelactionborders {
- border-top-width: 1px;
- border-bottom-width: 1px;
- border-top-style: solid;
- border-bottom-style: solid;
- border-top-color: #FFFFFF;
- border-bottom-color: #FFFFFF;
-}
-.panelhoverlink {
- text-decoration: none;
- color: #3d4e53;
-}
-.readit {
- width: 118px;
- height: 35px;
- padding: 0px 0px;
- background: #FFFFFF;
- margin: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- border: 1px solid #81bb38;
-}
-/* background */
-@charset "utf-8";
-* {
- padding: 0px;
- margin: 0px;
-}
-#main-wrapper {
- height: 100%;
- width: 725px;
- margin: 0px;
- padding: 0px 0px;
-}
-.panelview.tabs {
- padding: 5px 0px;
- margin: 0px;
- width: 142px;
- float: left;
-}
-.panelview.tabs span.active {
- padding: 15px;
- margin: 15px 0px;
- font-weight: bold;
-}
-/* styling of front side elements */
-.panelview.book-list {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 12px;
- width: 120px;
- line-height: 16px;
- margin: auto;
- padding: 0px 5px 5px 5px;
- height: 300px;
- background-color: #ffffff;
- color: #3d4e53;
- border: 5px solid #edf3f4;
- position: relative;
-}
-.panelview.book-list:hover {
- color: #3d4e53;
-}
-.panelview.book-list img {
- padding: 5px 0px;
- margin: 0px;
-}
-.panelview.remove-wishlist,
-.panelview.on-wishlist,
-.panelview.create-account,
-.panelview.add-wishlist {
- display: none;
-}
-.panelview.book-name div {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 12px;
- line-height: 16px;
- max-height: 32px;
- color: #3d4e53;
- overflow: hidden;
-}
-.panelview.booklist-status {
- display: none;
-}
-.panelview.icons {
- position: absolute;
- bottom: -3px;
- width: 140px;
-}
-.panelview.icons .booklist-status-img {
- float: left;
-}
-.panelview.icons .booklist-status-label {
- position: absolute;
- color: #8dc63f;
- padding-left: 5px;
- left: 40px;
- bottom: 5px;
- font-size: 17px;
- margin-bottom: 3px;
-}
-.panelview.icons .panelnope {
- display: none;
-}
-.panelview.icons .rounded {
- margin-bottom: 7px;
-}
-.panelview.boolist-ebook a {
- display: none;
-}
-/* switch to/from hover state when jquery swaps class names */
-div.panelview.side1 {
- display: visible;
-}
-div.panelview.side2 {
- display: none;
-}
-/* styling of hover state */
-.panelback {
- position: relative;
-}
-.greenpanel2 {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 12px;
- width: 120px;
- line-height: 16px;
- margin: 0;
- padding: 10px;
- height: 295px;
- background-color: #8dc63f;
- color: #fff;
- position: absolute;
- top: -5px;
- left: -10px;
-}
-.greenpanel_top {
- height: 135px;
-}
-/* Campaign status text at top of hover state */
-.unglued_white {
- font-size: 12px;
- margin: 0px auto 10px auto;
- padding: 5px 0 10px 0;
- height: 58px;
-}
-/* White-background action buttons; vary by state of campaign */
-.read_itbutton {
- width: 118px;
- height: 35px;
- padding: 0px 0px;
- background: #FFFFFF;
- margin: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- border: 1px solid #81bb38;
-}
-.read_itbutton span {
- line-height: 40px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: 10px center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0px 0px 0px 30px;
- color: #73a334;
- background: url("/static/images/book-panel/book_icon.png") no-repeat 10% center;
-}
-.read_itbutton span:hover {
- text-decoration: none;
-}
-.read_itbutton span:hover {
- text-decoration: none;
- color: #3d4e53;
-}
-.read_itbutton.pledge {
- background-image: url("/static/images/icons/pledgearrow-green.png");
- background-repeat: no-repeat;
- background-position: 90% center;
-}
-.read_itbutton.pledge span {
- line-height: 35px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: 10px center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0px 0px 0px 25px;
- color: #73a334;
- background: none;
-}
-.read_itbutton.pledge span:hover {
- text-decoration: none;
-}
-.read_itbutton.pledge span:hover {
- text-decoration: none;
- color: #3d4e53;
-}
-.read_itbutton_fail {
- width: 118px;
- height: 35px;
- padding: 0px 0px;
- background: #FFFFFF;
- margin: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- border: 1px solid #81bb38;
-}
-.read_itbutton_fail span {
- line-height: 40px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: 10px center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0px 0px 0px 15px;
- color: #73a334;
- background: none;
-}
-.read_itbutton_fail span:hover {
- text-decoration: none;
-}
-.Unglue_itbutton {
- width: 118px;
- height: 35px;
- padding: 0px 0px;
- background: #FFFFFF;
- margin: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- border: 1px solid #81bb38;
-}
-.Unglue_itbutton a {
- background-image: url("/static/images/book-panel/unglue_icon.png");
- line-height: 40px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: 10px center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0px 0px 0px 25px;
- color: #73a334;
-}
-.Unglue_itbutton a:hover {
- text-decoration: none;
-}
-.moreinfo.add-wishlist,
-.moreinfo.create-account {
- width: 120px;
- height: 30px;
- padding: 0px;
- margin: 10px 0 0 0;
- border-top-width: 1px;
- border-bottom-width: 1px;
- border-top-style: solid;
- border-bottom-style: solid;
- border-top-color: #FFFFFF;
- border-bottom-color: #FFFFFF;
- background: url("/static/images/book-panel/add_wish_icon.png") no-repeat left center;
- padding-right: 0;
-}
-.moreinfo.add-wishlist a,
-.moreinfo.create-account a,
-.moreinfo.add-wishlist span,
-.moreinfo.create-account span {
- line-height: 30px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: left center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0 5px 0 21px;
- color: #FFF;
-}
-.moreinfo.add-wishlist a:hover,
-.moreinfo.create-account a:hover,
-.moreinfo.add-wishlist span:hover,
-.moreinfo.create-account span:hover {
- text-decoration: none;
- color: #3d4e53;
-}
-.moreinfo.remove-wishlist {
- width: 120px;
- height: 30px;
- padding: 0px;
- margin: 10px 0 0 0;
- border-top-width: 1px;
- border-bottom-width: 1px;
- border-top-style: solid;
- border-bottom-style: solid;
- border-top-color: #FFFFFF;
- border-bottom-color: #FFFFFF;
- background: url("/static/images/booklist/remove-wishlist-white.png") no-repeat left center;
-}
-.moreinfo.remove-wishlist a,
-.moreinfo.remove-wishlist span {
- line-height: 30px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: left center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0 5px 0 21px;
- color: #FFF;
-}
-.moreinfo.remove-wishlist a:hover,
-.moreinfo.remove-wishlist span:hover {
- text-decoration: none;
- color: #3d4e53;
-}
-.moreinfo.on-wishlist {
- width: 120px;
- height: 30px;
- padding: 0px;
- margin: 10px 0 0 0;
- border-top-width: 1px;
- border-bottom-width: 1px;
- border-top-style: solid;
- border-bottom-style: solid;
- border-top-color: #FFFFFF;
- border-bottom-color: #FFFFFF;
- background: url("/static/images/checkmark_small-white.png") no-repeat left center;
-}
-.moreinfo.on-wishlist a,
-.moreinfo.on-wishlist span {
- line-height: 30px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: left center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0 5px 0 21px;
- color: #FFF;
-}
-.moreinfo.on-wishlist a:hover,
-.moreinfo.on-wishlist span:hover {
- text-decoration: none;
- color: #3d4e53;
-}
-/* title, author */
-.white_text {
- width: 120px;
- height: 45px;
- padding: 15px 0px;
- margin: 0px;
-}
-.white_text a {
- color: #FFFFFF;
- text-decoration: none;
-}
-.white_text a:hover {
- text-decoration: none;
- color: #3d4e53;
-}
-.white_text p {
- /* necessary to ensure title/author don't overflow onto icons */
-
- line-height: 16px;
- max-height: 32px;
- overflow: hidden;
-}
-.moreinfo {
- width: 120px;
- height: 30px;
- padding: 0px;
- margin: 10px 0 0 0;
- border-top-width: 1px;
- border-bottom-width: 1px;
- border-top-style: solid;
- border-bottom-style: solid;
- border-top-color: #FFFFFF;
- border-bottom-color: #FFFFFF;
- background: url("/static/images/book-panel/more_icon.png") no-repeat left center;
- cursor: pointer;
-}
-.moreinfo a,
-.moreinfo span {
- line-height: 30px;
- font-size: 11px;
- background-repeat: no-repeat;
- background-position: left center;
- font-weight: bold;
- text-decoration: none;
- text-transform: uppercase;
- padding: 0 0 0 21px;
- color: #FFF;
-}
-.moreinfo a:hover,
-.moreinfo span:hover {
- text-decoration: none;
- color: #3d4e53;
-}
-.moreinfo > div {
- height: 30px;
- line-height: 30px;
- padding-bottom: 8px;
-}
-/*end the 2greenpanel*/
-.read {
- margin: 15px auto 5px auto;
- padding: 0px;
- width: 140px;
- color: #8dc63f;
- height: 40px;
- line-height: 25px;
- float: left;
- position: absolute;
- bottom: -15px;
-}
-.read p {
- margin: 0px;
- padding: 10px 3px;
- width: 50px;
- font-size: 10pt;
- float: left;
-}
-.read img {
- padding: 5px 0px;
- margin: 0px;
- float: left;
-}
-/**/
-.read2 {
- margin: 15px auto;
- padding: 0px;
- width: 130px;
- color: #8dc63f;
- height: 40px;
- line-height: 25px;
-}
-.read2 p {
- margin: 0px;
- padding: 10px 3px;
- width: 50px;
- font-size: 10pt;
- float: left;
-}
-.read2 img {
- padding: 0px;
- margin: 0px;
- float: left;
-}
-.right_add {
- padding: 10px;
- margin: 0px;
- float: right;
-}
-/* --------------- ( slideout hover state ) --------------------------------------------- */
-.panelview.book-thumb {
- position: relative;
- margin: 0px;
- padding: 0px;
- left: 0px;
-}
-.panelview.book-thumb img {
- z-index: 100;
- width: 120px;
- height: 182px;
-}
-.panelview.book-thumb span {
- position: absolute;
- bottom: 0;
- left: -10px;
- top: -5px;
- z-index: 1000;
- height: auto;
-}
+@charset "utf-8";.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.greenpanelstuff{font-family:Arial,Helvetica,sans-serif;font-size:12px;width:120px;line-height:16px}.greenpanelactionborders{border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff}.panelhoverlink{text-decoration:none;color:#3d4e53}.readit{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}*{padding:0;margin:0}#main-wrapper{height:100%;width:725px;margin:0;padding:0}.panelview.tabs{padding:5px 0;margin:0;width:142px;float:left}.panelview.tabs span.active{padding:15px;margin:15px 0;font-weight:bold}.panelview.book-list{font-family:Arial,Helvetica,sans-serif;font-size:12px;width:120px;line-height:16px;margin:auto;padding:0 5px 5px 5px;height:300px;background-color:#fff;color:#3d4e53;border:5px solid #edf3f4;position:relative}.panelview.book-list:hover{color:#3d4e53}.panelview.book-list img{padding:5px 0;margin:0}.panelview.remove-wishlist,.panelview.on-wishlist,.panelview.create-account,.panelview.add-wishlist{display:none}.panelview.book-name div{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:16px;max-height:32px;color:#3d4e53;overflow:hidden}.panelview.booklist-status{display:none}.panelview.icons{position:absolute;bottom:-3px;width:140px}.panelview.icons .booklist-status-img{float:left}.panelview.icons .booklist-status-label{position:absolute;color:#8dc63f;padding-left:5px;left:40px;bottom:5px;font-size:17px;margin-bottom:3px}.panelview.icons .panelnope{display:none}.panelview.icons .rounded{margin-bottom:7px}.panelview.boolist-ebook a{display:none}div.panelview.side1{display:visible}div.panelview.side2{display:none}.panelback{position:relative}.greenpanel2{font-family:Arial,Helvetica,sans-serif;font-size:12px;width:120px;line-height:16px;margin:0;padding:10px;height:295px;background-color:#8dc63f;color:#fff;position:absolute;top:-5px;left:-10px}.greenpanel_top{height:135px}.unglued_white{font-size:12px;margin:0 auto 10px auto;padding:5px 0 10px 0;height:58px}.read_itbutton{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}.read_itbutton span{line-height:40px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 30px;color:#73a334;background:url("/static/images/book-panel/book_icon.png") no-repeat 10% center}.read_itbutton span:hover{text-decoration:none}.read_itbutton span:hover{text-decoration:none;color:#3d4e53}.read_itbutton.pledge{background-image:url("/static/images/icons/pledgearrow-green.png");background-repeat:no-repeat;background-position:90% center}.read_itbutton.pledge span{line-height:35px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 25px;color:#73a334;background:0}.read_itbutton.pledge span:hover{text-decoration:none}.read_itbutton.pledge span:hover{text-decoration:none;color:#3d4e53}.read_itbutton_fail{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}.read_itbutton_fail span{line-height:40px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 15px;color:#73a334;background:0}.read_itbutton_fail span:hover{text-decoration:none}.Unglue_itbutton{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}.Unglue_itbutton a{background-image:url("/static/images/book-panel/unglue_icon.png");line-height:40px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 25px;color:#73a334}.Unglue_itbutton a:hover{text-decoration:none}.moreinfo.add-wishlist,.moreinfo.create-account{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/book-panel/add_wish_icon.png") no-repeat left center;padding-right:0}.moreinfo.add-wishlist a,.moreinfo.create-account a,.moreinfo.add-wishlist span,.moreinfo.create-account span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 5px 0 21px;color:#FFF}.moreinfo.add-wishlist a:hover,.moreinfo.create-account a:hover,.moreinfo.add-wishlist span:hover,.moreinfo.create-account span:hover{text-decoration:none;color:#3d4e53}.moreinfo.remove-wishlist{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/booklist/remove-wishlist-white.png") no-repeat left center}.moreinfo.remove-wishlist a,.moreinfo.remove-wishlist span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 5px 0 21px;color:#FFF}.moreinfo.remove-wishlist a:hover,.moreinfo.remove-wishlist span:hover{text-decoration:none;color:#3d4e53}.moreinfo.on-wishlist{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/checkmark_small-white.png") no-repeat left center}.moreinfo.on-wishlist a,.moreinfo.on-wishlist span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 5px 0 21px;color:#FFF}.moreinfo.on-wishlist a:hover,.moreinfo.on-wishlist span:hover{text-decoration:none;color:#3d4e53}.white_text{width:120px;height:45px;padding:15px 0;margin:0}.white_text a{color:#fff;text-decoration:none}.white_text a:hover{text-decoration:none;color:#3d4e53}.white_text p{line-height:16px;max-height:32px;overflow:hidden}.moreinfo{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/book-panel/more_icon.png") no-repeat left center;cursor:pointer}.moreinfo a,.moreinfo span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 21px;color:#FFF}.moreinfo a:hover,.moreinfo span:hover{text-decoration:none;color:#3d4e53}.moreinfo>div{height:30px;line-height:30px;padding-bottom:8px}.read{margin:15px auto 5px auto;padding:0;width:140px;color:#8dc63f;height:40px;line-height:25px;float:left;position:absolute;bottom:-15px}.read p{margin:0;padding:10px 3px;width:50px;font-size:10pt;float:left}.read img{padding:5px 0;margin:0;float:left}.read2{margin:15px auto;padding:0;width:130px;color:#8dc63f;height:40px;line-height:25px}.read2 p{margin:0;padding:10px 3px;width:50px;font-size:10pt;float:left}.read2 img{padding:0;margin:0;float:left}.right_add{padding:10px;margin:0;float:right}.panelview.book-thumb{position:relative;margin:0;padding:0;left:0}.panelview.book-thumb img{z-index:100;width:120px;height:182px}.panelview.book-thumb span{position:absolute;bottom:0;left:-10px;top:-5px;z-index:1000;height:auto}
\ No newline at end of file
diff --git a/static/css/campaign.css b/static/css/campaign.css
index c3729f70..646a998d 100755
--- a/static/css/campaign.css
+++ b/static/css/campaign.css
@@ -1,667 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-/* Campaign and manage_campaign use same tab styling, so it's factored out here */
-#tabs {
- border-bottom: 4px solid #6994a3;
- clear: both;
- float: left;
- margin-top: 10px;
- width: 100%;
-}
-#tabs ul.book-list-view {
- margin-bottom: 4px !important;
-}
-#tabs-1,
-#tabs-2,
-#tabs-3,
-#tabs-4 {
- display: none;
-}
-#tabs-1.active,
-#tabs-2.active,
-#tabs-3.active,
-#tabs-4.active {
- display: inherit;
-}
-#tabs-2 textarea {
- width: 95%;
-}
-ul.tabs {
- float: left;
- padding: 0;
- margin: 0;
- list-style: none;
- width: 100%;
-}
-ul.tabs li {
- float: left;
- height: 46px;
- line-height: 20px;
- padding-right: 2px;
- width: 116px;
- background: none;
- margin: 0;
- padding: 0 2px 0 0;
-}
-ul.tabs li.tabs4 {
- padding-right: 0px;
-}
-ul.tabs li a {
- height: 46px;
- line-height: 18px;
- display: block;
- text-align: center;
- padding: 0 10px;
- min-width: 80px;
- -moz-border-radius: 7px 7px 0 0;
- -webkit-border-radius: 7px 7px 0 0;
- border-radius: 7px 7px 0 0;
- background: #d6dde0;
- color: #3d4e53;
-}
-ul.tabs li a:hover {
- text-decoration: none;
-}
-ul.tabs li a div {
- padding-top: 8px;
-}
-ul.tabs li a:hover,
-ul.tabs li.active a {
- background: #6994a3;
- color: #fff;
-}
-/* needed for campaign, pledge, and manage_campaign */
-.book-detail {
- float: left;
- width: 100%;
- clear: both;
- display: block;
-}
-#book-detail-img {
- float: left;
- margin-right: 10px;
- width: 151px;
-}
-#book-detail-img img {
- padding: 5px;
- border: solid 5px #EDF3F4;
-}
-.book-detail-info {
- float: left;
- /* if we want to nix the explore bar, width should be 544ish */
-
- width: 309px;
-}
-.book-detail-info h2.book-name,
-.book-detail-info h3.book-author,
-.book-detail-info h3.book-year {
- padding: 0;
- margin: 0;
- line-height: normal;
-}
-.book-detail-info h2.book-name {
- font-size: 19px;
- text-transform: capitalize;
- font-weight: bold;
- color: #3d4e53;
-}
-.book-detail-info h3.book-author,
-.book-detail-info h3.book-year {
- font-size: 13px;
- font-weight: normal;
- color: #6994a3;
-}
-.book-detail-info > div {
- width: 100%;
- clear: both;
- display: block;
- overflow: hidden;
- border-top: 1px solid #edf3f4;
- padding: 10px 0;
-}
-.book-detail-info > div.layout {
- border: none;
- padding: 0;
-}
-.book-detail-info > div.layout div.pubinfo {
- float: left;
- width: auto;
- padding-bottom: 7px;
-}
-.book-detail-info > div.layout div.btn_support {
- float: right;
-}
-.book-detail-info > div.layout div.btn_support input {
- font-size: 15px;
-}
-.book-detail-info > div.layout div.btn_support.modify input {
- background: #d6dde0;
- font-size: 13px;
- border: double white;
- line-height: 17px;
-}
-.book-detail-info .btn_wishlist span {
- text-align: right;
-}
-.book-detail-info .find-book {
- margin-top: 15px;
-}
-.book-detail-info .find-book label {
- float: left;
- line-height: 31px;
-}
-.book-detail-info .find-link {
- float: right;
-}
-.book-detail-info .find-link img {
- padding: 2px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
-}
-.book-detail-info .pledged-info {
- padding: 0;
- position: relative;
-}
-.book-detail-info .pledged-group {
- padding: 10px 40px 10px 0;
- float: left;
-}
-.book-detail-info .status {
- position: absolute;
- top: 50%;
- right: 0%;
- height: 25px;
- margin-top: -12px;
-}
-/* Common elements of share links -- just swap in the background image */
-/* Page layout */
-#js-page-wrap {
- overflow: hidden;
-}
-#main-container {
- margin-top: 20px;
-}
-#js-leftcol .jsmodule,
-.pledge.jsmodule {
- margin-bottom: 10px;
-}
-#js-leftcol .jsmodule.rounded .jsmod-content,
-.pledge.jsmodule.rounded .jsmod-content {
- -moz-border-radius: 20px;
- -webkit-border-radius: 20px;
- border-radius: 20px;
- background: #edf3f4;
- color: #3d4e53;
- padding: 10px 20px;
- font-weight: bold;
- border: none;
- margin: 0;
- line-height: 16px;
- /* Bubble in upper left looks different depending on campaign status */
-
-}
-#js-leftcol .jsmodule.rounded .jsmod-content.ACTIVE,
-.pledge.jsmodule.rounded .jsmod-content.ACTIVE {
- background: #8dc63f;
- color: white;
- font-size: 19px;
- font-weight: normal;
- line-height: 20px;
-}
-#js-leftcol .jsmodule.rounded .jsmod-content.No.campaign.yet,
-.pledge.jsmodule.rounded .jsmod-content.No.campaign.yet {
- background: #e18551;
- color: white;
-}
-#js-leftcol .jsmodule.rounded .jsmod-content span,
-.pledge.jsmodule.rounded .jsmod-content span {
- display: inline-block;
- vertical-align: middle;
-}
-#js-leftcol .jsmodule.rounded .jsmod-content span.spacer,
-.pledge.jsmodule.rounded .jsmod-content span.spacer {
- visibility: none;
-}
-#js-leftcol .jsmodule.rounded .jsmod-content span.findtheungluers,
-.pledge.jsmodule.rounded .jsmod-content span.findtheungluers {
- cursor: pointer;
-}
-.jsmodule.pledge {
- float: left;
- margin-left: 10px;
-}
-#js-slide .jsmodule {
- width: 660px !important;
-}
-a {
- color: #3d4e53;
- font-size: 13px;
-}
-#js-search {
- margin: 0 15px 0 15px !important;
-}
-.alert > .errorlist {
- list-style-type: none;
- font-size: 15px;
- border: none;
- text-align: left;
- font-weight: normal;
- font-size: 13px;
-}
-.alert > .errorlist > li {
- margin-bottom: 14px;
-}
-.alert > .errorlist .errorlist {
- margin-top: 7px;
-}
-.alert > .errorlist .errorlist li {
- width: auto;
- height: auto;
- padding-left: 32px;
- padding-right: 32px;
- font-size: 13px;
-}
-/* Center elements */
-#js-maincol {
- float: left;
- width: 470px;
- margin: 0 10px;
-}
-#js-maincol div#content-block {
- background: none;
- padding: 0;
-}
-.status {
- font-size: 19px;
- color: #8dc63f;
-}
-/* Center - add/remove actions in book detail area */
-.add-wishlist,
-.add-wishlist-workpage,
-.remove-wishlist-workpage,
-.remove-wishlist,
-.on-wishlist,
-.create-account {
- float: right;
- cursor: pointer;
-}
-.add-wishlist span,
-.add-wishlist-workpage span,
-.remove-wishlist-workpage span,
-.remove-wishlist span,
-.on-wishlist span,
-.create-account span {
- font-weight: normal;
- color: #3d4e53;
- text-transform: none;
- padding-left: 20px;
-}
-.add-wishlist span.on-wishlist,
-.add-wishlist-workpage span.on-wishlist,
-.remove-wishlist-workpage span.on-wishlist,
-.remove-wishlist span.on-wishlist,
-.on-wishlist span.on-wishlist,
-.create-account span.on-wishlist {
- background: url("/static/images/checkmark_small.png") left center no-repeat;
- cursor: default;
-}
-.add-wishlist span,
-.add-wishlist-workpage span,
-.create-account span {
- background: url("/static/images/booklist/add-wishlist.png") left center no-repeat;
-}
-.remove-wishlist-workpage span,
-.remove-wishlist span {
- background: url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat;
-}
-/* Center - tabs and content below them */
-div#content-block-content {
- padding-left: 5px;
-}
-div#content-block-content a {
- color: #6994a3;
-}
-div#content-block-content #tabs-1 img {
- padding: 5px;
- border: solid 5px #EDF3F4;
-}
-div#content-block-content #tabs-3 {
- margin-left: -5px;
-}
-.tabs-content {
- padding-right: 5px;
-}
-.tabs-content iframe {
- padding: 5px;
- border: solid 5px #EDF3F4;
-}
-.tabs-content form {
- margin-left: -5px;
-}
-.work_supporter {
- height: auto;
- min-height: 50px;
- margin-top: 5px;
- vertical-align: middle;
-}
-.work_supporter_avatar {
- float: left;
- margin-right: 5px;
-}
-.work_supporter_avatar img {
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
-}
-.work_supporter_name {
- height: 50px;
- line-height: 50px;
- float: left;
-}
-.work_supporter_nocomment {
- height: 50px;
- margin-top: 5px;
- vertical-align: middle;
- min-width: 235px;
- float: left;
-}
-.official {
- border: 3px #8ac3d7 solid;
- padding: 3px;
- margin-left: -5px;
-}
-.editions {
- clear: both;
-}
-.editions div {
- float: left;
- padding-bottom: 5px;
-}
-.editions .image {
- width: 60px;
- overflow: hidden;
-}
-.editions .metadata {
- display: block;
- overflow: hidden;
- margin-left: 5px;
-}
-.editions a:hover {
- text-decoration: underline;
-}
-.show_more_edition,
-.show_more_ebooks {
- cursor: pointer;
-}
-.show_more_edition {
- text-align: right;
-}
-.show_more_edition:hover {
- text-decoration: underline;
-}
-.more_edition {
- display: none;
- clear: both;
- padding-bottom: 10px;
- padding-left: 60px;
-}
-.more_ebooks {
- display: none;
-}
-.show_more_ebooks:hover {
- text-decoration: underline;
-}
-/* Right column */
-#js-rightcol,
-#pledge-rightcol {
- float: right;
- width: 235px;
- margin-bottom: 20px;
-}
-#js-rightcol h3.jsmod-title,
-#pledge-rightcol h3.jsmod-title {
- background: #a7c1ca;
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
- padding: 10px;
- height: auto;
- font-style: normal;
- font-size: 15px;
- margin: 0 0 10px 0;
- color: white;
-}
-#js-rightcol h3.jsmod-title span,
-#pledge-rightcol h3.jsmod-title span {
- padding: 0;
- color: #fff;
- font-style: normal;
- height: 22px;
- line-height: 22px;
-}
-#js-rightcol .jsmodule,
-#pledge-rightcol .jsmodule {
- margin-bottom: 10px;
-}
-#js-rightcol .jsmodule a:hover,
-#pledge-rightcol .jsmodule a:hover {
- text-decoration: none;
-}
-#pledge-rightcol {
- margin-top: 7px;
-}
-.js-rightcol-pad {
- border: 1px solid #d6dde0;
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
- padding: 10px;
-}
-/* Right column - sharing */
-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: 0px;
- -webkit-border-radius: 0px;
- border-radius: 0px;
-}
-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;
-}
-#widgetcode {
- display: none;
- border: 1px solid #d6dde0;
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
- padding: 10px;
-}
-/* Right column - support tiers */
-ul.support li {
- border-bottom: 1px solid #d6dde0;
- padding: 10px 5px 10px 10px;
- background: url("/static/images/icons/pledgearrow.png") 98% center no-repeat;
-}
-ul.support li span {
- display: block;
- padding-right: 10px;
-}
-ul.support li span.menu-item-price {
- font-size: 19px;
- float: left;
- display: inline;
- margin-bottom: 3px;
-}
-ul.support li span.menu-item-desc {
- float: none;
- clear: both;
- font-size: 15px;
- font-weight: normal;
- line-height: 19.5px;
-}
-ul.support li:hover {
- color: #fff;
- background: #8dc63f url("/static/images/icons/pledgearrow-hover.png") 98% center no-repeat;
-}
-ul.support li:hover a {
- color: #fff;
- text-decoration: none;
-}
-.you_pledged {
- float: left;
- line-height: 21px;
- font-weight: normal;
- color: #3d4e53;
- padding-left: 20px;
- background: url("/static/images/checkmark_small.png") left center no-repeat;
-}
-.thank-you {
- font-size: 19px;
- font-weight: bold;
- margin: 20px auto;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#tabs{border-bottom:4px solid #6994a3;clear:both;float:left;margin-top:10px;width:100%}#tabs ul.book-list-view{margin-bottom:4px!important}#tabs-1,#tabs-2,#tabs-3,#tabs-4{display:none}#tabs-1.active,#tabs-2.active,#tabs-3.active,#tabs-4.active{display:inherit}#tabs-2 textarea{width:95%}ul.tabs{float:left;padding:0;margin:0;list-style:none;width:100%}ul.tabs li{float:left;height:46px;line-height:20px;padding-right:2px;width:116px;background:0;margin:0;padding:0 2px 0 0}ul.tabs li.tabs4{padding-right:0}ul.tabs li a{height:46px;line-height:18px;display:block;text-align:center;padding:0 10px;min-width:80px;-moz-border-radius:7px 7px 0 0;-webkit-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;background:#d6dde0;color:#3d4e53}ul.tabs li a:hover{text-decoration:none}ul.tabs li a div{padding-top:8px}ul.tabs li a:hover,ul.tabs li.active a{background:#6994a3;color:#fff}.book-detail{float:left;width:100%;clear:both;display:block}#book-detail-img{float:left;margin-right:10px;width:151px}#book-detail-img img{padding:5px;border:solid 5px #edf3f4}.book-detail-info{float:left;width:309px}.book-detail-info h2.book-name,.book-detail-info h3.book-author,.book-detail-info h3.book-year{padding:0;margin:0;line-height:normal}.book-detail-info h2.book-name{font-size:19px;text-transform:capitalize;font-weight:bold;color:#3d4e53}.book-detail-info h3.book-author,.book-detail-info h3.book-year{font-size:13px;font-weight:normal;color:#6994a3}.book-detail-info>div{width:100%;clear:both;display:block;overflow:hidden;border-top:1px solid #edf3f4;padding:10px 0}.book-detail-info>div.layout{border:0;padding:0}.book-detail-info>div.layout div.pubinfo{float:left;width:auto;padding-bottom:7px}.book-detail-info>div.layout div.btn_support{float:right}.book-detail-info>div.layout div.btn_support input{font-size:15px}.book-detail-info>div.layout div.btn_support.modify input{background:#d6dde0;font-size:13px;border:double white;line-height:17px}.book-detail-info .btn_wishlist span{text-align:right}.book-detail-info .find-book{margin-top:15px}.book-detail-info .find-book label{float:left;line-height:31px}.book-detail-info .find-link{float:right}.book-detail-info .find-link img{padding:2px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.book-detail-info .pledged-info{padding:0;position:relative}.book-detail-info .pledged-group{padding:10px 40px 10px 0;float:left}.book-detail-info .status{position:absolute;top:50%;right:0;height:25px;margin-top:-12px}#js-page-wrap{overflow:hidden}#main-container{margin-top:20px}#js-leftcol .jsmodule,.pledge.jsmodule{margin-bottom:10px}#js-leftcol .jsmodule.rounded .jsmod-content,.pledge.jsmodule.rounded .jsmod-content{-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;background:#edf3f4;color:#3d4e53;padding:10px 20px;font-weight:bold;border:0;margin:0;line-height:16px}#js-leftcol .jsmodule.rounded .jsmod-content.ACTIVE,.pledge.jsmodule.rounded .jsmod-content.ACTIVE{background:#8dc63f;color:white;font-size:19px;font-weight:normal;line-height:20px}#js-leftcol .jsmodule.rounded .jsmod-content.No.campaign.yet,.pledge.jsmodule.rounded .jsmod-content.No.campaign.yet{background:#e18551;color:white}#js-leftcol .jsmodule.rounded .jsmod-content span,.pledge.jsmodule.rounded .jsmod-content span{display:inline-block;vertical-align:middle}#js-leftcol .jsmodule.rounded .jsmod-content span.spacer,.pledge.jsmodule.rounded .jsmod-content span.spacer{visibility:none}#js-leftcol .jsmodule.rounded .jsmod-content span.findtheungluers,.pledge.jsmodule.rounded .jsmod-content span.findtheungluers{cursor:pointer}.jsmodule.pledge{float:left;margin-left:10px}#js-slide .jsmodule{width:660px!important}a{color:#3d4e53;font-size:13px}#js-search{margin:0 15px 0 15px!important}.alert>.errorlist{list-style-type:none;font-size:15px;border:0;text-align:left;font-weight:normal;font-size:13px}.alert>.errorlist>li{margin-bottom:14px}.alert>.errorlist .errorlist{margin-top:7px}.alert>.errorlist .errorlist li{width:auto;height:auto;padding-left:32px;padding-right:32px;font-size:13px}#js-maincol{float:left;width:470px;margin:0 10px}#js-maincol div#content-block{background:0;padding:0}.status{font-size:19px;color:#8dc63f}.add-wishlist,.add-wishlist-workpage,.remove-wishlist-workpage,.remove-wishlist,.on-wishlist,.create-account{float:right;cursor:pointer}.add-wishlist span,.add-wishlist-workpage span,.remove-wishlist-workpage span,.remove-wishlist span,.on-wishlist span,.create-account span{font-weight:normal;color:#3d4e53;text-transform:none;padding-left:20px}.add-wishlist span.on-wishlist,.add-wishlist-workpage span.on-wishlist,.remove-wishlist-workpage span.on-wishlist,.remove-wishlist span.on-wishlist,.on-wishlist span.on-wishlist,.create-account span.on-wishlist{background:url("/static/images/checkmark_small.png") left center no-repeat;cursor:default}.add-wishlist span,.add-wishlist-workpage span,.create-account span{background:url("/static/images/booklist/add-wishlist.png") left center no-repeat}.remove-wishlist-workpage span,.remove-wishlist span{background:url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat}div#content-block-content{padding-left:5px}div#content-block-content a{color:#6994a3}div#content-block-content #tabs-1 img{padding:5px;border:solid 5px #edf3f4}div#content-block-content #tabs-3{margin-left:-5px}.tabs-content{padding-right:5px}.tabs-content iframe{padding:5px;border:solid 5px #edf3f4}.tabs-content form{margin-left:-5px}.work_supporter{height:auto;min-height:50px;margin-top:5px;vertical-align:middle}.work_supporter_avatar{float:left;margin-right:5px}.work_supporter_avatar img{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.work_supporter_name{height:50px;line-height:50px;float:left}.work_supporter_nocomment{height:50px;margin-top:5px;vertical-align:middle;min-width:235px;float:left}.official{border:3px #8ac3d7 solid;padding:3px;margin-left:-5px}.editions{clear:both}.editions div{float:left;padding-bottom:5px}.editions .image{width:60px;overflow:hidden}.editions .metadata{display:block;overflow:hidden;margin-left:5px}.editions a:hover{text-decoration:underline}.show_more_edition,.show_more_ebooks{cursor:pointer}.show_more_edition{text-align:right}.show_more_edition:hover{text-decoration:underline}.more_edition{display:none;clear:both;padding-bottom:10px;padding-left:60px}.more_ebooks{display:none}.show_more_ebooks:hover{text-decoration:underline}#js-rightcol,#pledge-rightcol{float:right;width:235px;margin-bottom:20px}#js-rightcol h3.jsmod-title,#pledge-rightcol h3.jsmod-title{background:#a7c1ca;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px;height:auto;font-style:normal;font-size:15px;margin:0 0 10px 0;color:white}#js-rightcol h3.jsmod-title span,#pledge-rightcol h3.jsmod-title span{padding:0;color:#fff;font-style:normal;height:22px;line-height:22px}#js-rightcol .jsmodule,#pledge-rightcol .jsmodule{margin-bottom:10px}#js-rightcol .jsmodule a:hover,#pledge-rightcol .jsmodule a:hover{text-decoration:none}#pledge-rightcol{margin-top:7px}.js-rightcol-pad{border:1px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px}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}#widgetcode{display:none;border:1px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px}ul.support li{border-bottom:1px solid #d6dde0;padding:10px 5px 10px 10px;background:url("/static/images/icons/pledgearrow.png") 98% center no-repeat}ul.support li span{display:block;padding-right:10px}ul.support li span.menu-item-price{font-size:19px;float:left;display:inline;margin-bottom:3px}ul.support li span.menu-item-desc{float:none;clear:both;font-size:15px;font-weight:normal;line-height:19.5px}ul.support li:hover{color:#fff;background:#8dc63f url("/static/images/icons/pledgearrow-hover.png") 98% center no-repeat}ul.support li:hover a{color:#fff;text-decoration:none}.you_pledged{float:left;line-height:21px;font-weight:normal;color:#3d4e53;padding-left:20px;background:url("/static/images/checkmark_small.png") left center no-repeat}.thank-you{font-size:19px;font-weight:bold;margin:20px auto}
\ No newline at end of file
diff --git a/static/css/comments.css b/static/css/comments.css
index 9ed8a886..e6f4e965 100644
--- a/static/css/comments.css
+++ b/static/css/comments.css
@@ -1,147 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-.comments {
- clear: both;
- padding: 5px;
- margin: 0 5px 8px 0;
- width: 95%;
-}
-.comments.row1 {
- background: #f6f9f9;
-}
-.comments.row2 {
- background: #fff;
-}
-.comments div {
- float: left;
-}
-.comments div img {
- margin: 0 5px;
-}
-.comments .image img {
- height: 100px;
-}
-.comments:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-.comments .nonavatar {
- width: 620px;
-}
-.comments .nonavatar span {
- padding-right: 5px;
-}
-.comments .nonavatar span.text:before {
- content: "\201C";
- font-size: 15px;
- font-weight: bold;
-}
-.comments .nonavatar span.text:after {
- content: "\201D";
- font-size: 15px;
- font-weight: bold;
-}
-.comments .avatar {
- float: right;
- margin: 0 auto;
- padding-top: 5px;
-}
-.official {
- border: 3px #B8DDE0 solid;
- margin-top: 3px;
- margin-bottom: 5px;
- padding-left: 2px;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.comments{clear:both;padding:5px;margin:0 5px 8px 0;width:95%}.comments.row1{background:#f6f9f9}.comments.row2{background:#fff}.comments div{float:left}.comments div img{margin:0 5px}.comments .image img{height:100px}.comments:after{content:".";display:block;height:0;clear:both;visibility:hidden}.comments .nonavatar{width:620px}.comments .nonavatar span{padding-right:5px}.comments .nonavatar span.text:before{content:"\201C";font-size:15px;font-weight:bold}.comments .nonavatar span.text:after{content:"\201D";font-size:15px;font-weight:bold}.comments .avatar{float:right;margin:0 auto;padding-top:5px}.official{border:3px #b8dde0 solid;margin-top:3px;margin-bottom:5px;padding-left:2px}
\ No newline at end of file
diff --git a/static/css/documentation.css b/static/css/documentation.css
index 4aede896..7e3c55d2 100644
--- a/static/css/documentation.css
+++ b/static/css/documentation.css
@@ -1,578 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.roundedspan {
- border: 1px solid #d4d4d4;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- -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;
- -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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.actionbuttons {
- width: auto;
- height: 36px;
- line-height: 36px;
- height: 36px;
- line-height: 36px;
- background: #8dc63f;
- -moz-border-radius: 32px;
- -webkit-border-radius: 32px;
- border-radius: 32px;
- -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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.roundedspan {
- border: 1px solid #d4d4d4;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- -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;
- -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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.actionbuttons {
- width: auto;
- height: 36px;
- line-height: 36px;
- height: 36px;
- line-height: 36px;
- background: #8dc63f;
- -moz-border-radius: 32px;
- -webkit-border-radius: 32px;
- border-radius: 32px;
- -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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-.learnmore_block {
- float: left;
- width: 100%;
- clear: both;
- border-top: solid 1px #8ac3d7;
- margin-top: 20px;
-}
-.learnmore_block .quicktour {
- width: 270px;
- float: left;
- font-style: italic;
- line-height: 20px;
- font-size: 13px;
- margin-top: 20px;
-}
-.learnmore_block .quicktour .highlight {
- font-weight: bold;
-}
-.learnmore_block .quicktour.last {
- padding-right: 0px;
- width: 270px;
-}
-.learnmore_block .quicktour.last .signup {
- color: #8dc63f;
- font-weight: bold;
- margin-top: 10px;
-}
-.learnmore_block .quicktour.last .signup img {
- margin-left: 5px;
- vertical-align: middle;
- margin-bottom: 3px;
-}
-.learnmore_block .movingrightalong {
- background: url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;
- height: 100px;
- width: 75px;
- float: left;
- margin-top: 20px;
-}
-#block-intro-text div {
- display: none;
- line-height: 25px;
- padding-bottom: 10px;
-}
-#block-intro-text div#active {
- display: inherit;
-}
-body {
- line-height: 17px;
-}
-/* Learn More area (not already styles by learnmore.less) */
-.user-block {
- width: 100%;
- clear: both;
-}
-#user-block1,
-.user-block2 {
- float: left;
-}
-#user-block1 {
- width: 70%;
-}
-#user-block1 #block-intro-text {
- float: left;
- width: 70%;
- font-size: 19px;
-}
-#user-block1 a#readon {
- float: left;
- margin-top: 10px;
-}
-.user-block2 {
- color: #6994a3;
- font-size: 13px;
- line-height: normal;
- width: 30%;
-}
-.user-block2 .block-inner {
- float: right;
- padding-right: 0;
-}
-.user-block2 label {
- float: left;
- font-size: 19px;
- height: 30px;
- line-height: 30px;
- color: #3d4e53;
- padding-right: 15px;
-}
-#user-block-hide .quicktour.last {
- background: none;
-}
-/* Containers */
-.have-right #js-main-container {
- float: left;
-}
-.js-main-container-inner {
- padding-left: 15px;
-}
-.have-right #js-rightcol {
- margin-top: 50px;
- background: #edf3f4;
- border: 1px solid #d6dde0;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
-}
-.have-right #js-rightcol .jsmodule {
- border-bottom: 1px solid #3c4e52;
- width: 235px;
-}
-.have-right #js-rightcol .jsmodule.last {
- border-bottom: none;
- padding-bottom: 10px;
-}
-.js-rightcol-padd {
- padding: 10px;
-}
-/* Elements */
-.doc h2 {
- margin: 20px 0;
- color: #3d4e53;
- font-size: 15px;
- font-weight: bold;
-}
-.doc h3 {
- color: #3d4e53;
- font-weight: bold;
-}
-.doc ul {
- list-style: none;
- padding: 0;
- margin: 0;
-}
-.doc ul li {
- margin-bottom: 7px;
- -moz-border-radius: 14px;
- -webkit-border-radius: 14px;
- border-radius: 14px;
- -moz-border-radius: 14px;
- -webkit-border-radius: 14px;
- border-radius: 14px;
- padding: 10px;
- background: #edf3f4;
-}
-.doc ul.errorlist li {
- background: none;
- margin-bottom: 0;
-}
-.doc ul.terms {
- list-style: inherit;
- list-style-position: inside;
- padding-left: 1em;
- text-indent: -1em;
-}
-.doc ul.terms li {
- -moz-border-radius: auto;
- -webkit-border-radius: auto;
- border-radius: auto;
- -moz-border-radius: auto;
- -webkit-border-radius: auto;
- border-radius: auto;
- background: inherit;
-}
-.doc div.inset {
- background: #edf3f4;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
- padding: 10px;
- font-style: italic;
-}
-dt {
- margin: 7px 0px 7px -7px;
- -moz-border-radius: 14px;
- -webkit-border-radius: 14px;
- border-radius: 14px;
- -moz-border-radius: 14px;
- -webkit-border-radius: 14px;
- border-radius: 14px;
- padding: 10px 0px 10px 7px;
- background: #edf3f4;
-}
-dd {
- margin: 0;
- padding-bottom: 7px;
-}
-.doc ol li {
- margin-bottom: 7px;
-}
-.collapse ul {
- display: none;
-}
-.faq,
-.answer {
- text-transform: none !important;
-}
-.faq a,
-.answer a {
- color: #6994a3;
-}
-.faq {
- cursor: pointer;
-}
-.faq:hover {
- text-decoration: underline;
-}
-/* items on press page */
-.press_spacer {
- clear: both;
- height: 0px;
-}
-.presstoc {
- overflow: auto;
- clear: both;
- padding-bottom: 10px;
-}
-.presstoc div {
- float: left;
- padding-right: 15px;
- margin-bottom: 7px;
-}
-.presstoc div.pressemail {
- border: solid 2px #3d4e53;
- padding: 5px;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- max-width: 678px;
- margin-top: 7px;
-}
-.pressarticles div {
- margin-bottom: 10px;
-}
-.pressvideos > div {
- margin-bottom: 15px;
- padding-bottom: 7px;
- border-bottom: solid 1px #3d4e53;
- float: left;
-}
-.pressvideos iframe,
-.pressvideos div.mediaborder {
- padding: 5px;
- border: solid 5px #EDF3F4;
- padding: 5px;
- border: solid 5px #EDF3F4;
-}
-.pressimages {
- clear: both;
-}
-.pressimages .outer {
- clear: both;
-}
-.pressimages .outer div {
- float: left;
- width: 25%;
- padding-bottom: 10px;
-}
-.pressimages .outer div.text {
- width: 75%;
-}
-.pressimages .outer div p {
- margin: 0 auto;
- padding-left: 10px;
- padding-right: 10px;
-}
-.pressimages .screenshot {
- width: 150px;
- padding: 5px;
- border: solid 5px #EDF3F4;
- padding: 5px;
- border: solid 5px #EDF3F4;
-}
-/* Miscellaneous */
-a.manage {
- background: #8dc63f;
- color: white;
- font-weight: bold;
- padding: 0.5em 1em;
- cursor: pointer;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- border: 1px solid #d6dde0;
-}
-a.manage:hover {
- text-decoration: none;
-}
-.rh_help {
- cursor: pointer;
- color: #8ac3d7;
-}
-.rh_help:hover {
- text-decoration: underline;
-}
-.rh_answer {
- display: none;
- padding-left: 10px;
- margin-bottom: 7px;
- border: solid 2px #d6dde0;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- text-indent: 0 !important;
-}
-.work_campaigns {
- border: 1px solid #d6dde0;
- margin: 10px auto;
-}
-.work_campaigns div {
- float: left;
-}
-.work_campaigns div.campaign_info {
- width: 60%;
- margin: 5px;
-}
-h2.thank-you {
- font-size: 34px;
- color: #8dc63f;
- line-height: 40px;
-}
-.pledge_complete,
-.pledge_complete a {
- font-size: 15px;
- line-height: 18px;
- margin-bottom: 15px;
-}
-#js-slide .jsmodule.pledge {
- width: 960px !important;
-}
-ul.social.pledge {
- margin-bottom: 100px;
-}
-ul.social.pledge li {
- float: left;
- padding-right: 30px !important;
-}
-#widgetcode {
- float: right;
-}
-div.pledge-container {
- width: 100%;
-}
-.yikes {
- color: #e35351;
- font-weight: bold;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.learnmore_block{float:left;width:100%;clear:both;border-top:solid 1px #8ac3d7;margin-top:20px}.learnmore_block .quicktour{width:270px;float:left;font-style:italic;line-height:20px;font-size:13px;margin-top:20px}.learnmore_block .quicktour .highlight{font-weight:bold}.learnmore_block .quicktour.last{padding-right:0;width:270px}.learnmore_block .quicktour.last .signup{color:#8dc63f;font-weight:bold;margin-top:10px}.learnmore_block .quicktour.last .signup img{margin-left:5px;vertical-align:middle;margin-bottom:3px}.learnmore_block .movingrightalong{background:url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;height:100px;width:75px;float:left;margin-top:20px}#block-intro-text div{display:none;line-height:25px;padding-bottom:10px}#block-intro-text div#active{display:inherit}body{line-height:17px}.user-block{width:100%;clear:both}#user-block1,.user-block2{float:left}#user-block1{width:70%}#user-block1 #block-intro-text{float:left;width:70%;font-size:19px}#user-block1 a#readon{float:left;margin-top:10px}.user-block2{color:#6994a3;font-size:13px;line-height:normal;width:30%}.user-block2 .block-inner{float:right;padding-right:0}.user-block2 label{float:left;font-size:19px;height:30px;line-height:30px;color:#3d4e53;padding-right:15px}#user-block-hide .quicktour.last{background:0}.have-right #js-main-container{float:left}.js-main-container-inner{padding-left:15px}.have-right #js-rightcol{margin-top:50px;background:#edf3f4;border:1px solid #d6dde0;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px}.have-right #js-rightcol .jsmodule{border-bottom:1px solid #3c4e52;width:235px}.have-right #js-rightcol .jsmodule.last{border-bottom:0;padding-bottom:10px}.js-rightcol-padd{padding:10px}.doc h2{margin:20px 0;color:#3d4e53;font-size:15px;font-weight:bold}.doc h3{color:#3d4e53;font-weight:bold}.doc ul{list-style:none;padding:0;margin:0}.doc ul li{margin-bottom:7px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;padding:10px;background:#edf3f4}.doc ul.errorlist li{background:0;margin-bottom:0}.doc ul.terms{list-style:inherit;list-style-position:inside;padding-left:1em;text-indent:-1em}.doc ul.terms li{-moz-border-radius:auto;-webkit-border-radius:auto;border-radius:auto;-moz-border-radius:auto;-webkit-border-radius:auto;border-radius:auto;background:inherit}.doc div.inset{background:#edf3f4;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;padding:10px;font-style:italic}dt{margin:7px 0 7px -7px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;padding:10px 0 10px 7px;background:#edf3f4}dd{margin:0;padding-bottom:7px}.doc ol li{margin-bottom:7px}.collapse ul{display:none}.faq,.answer{text-transform:none!important}.faq a,.answer a{color:#6994a3}.faq{cursor:pointer}.faq:hover{text-decoration:underline}.press_spacer{clear:both;height:0}.presstoc{overflow:auto;clear:both;padding-bottom:10px}.presstoc div{float:left;padding-right:15px;margin-bottom:7px}.presstoc div.pressemail{border:solid 2px #3d4e53;padding:5px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;max-width:678px;margin-top:7px}.pressarticles div{margin-bottom:10px}.pressvideos>div{margin-bottom:15px;padding-bottom:7px;border-bottom:solid 1px #3d4e53;float:left}.pressvideos iframe,.pressvideos div.mediaborder{padding:5px;border:solid 5px #edf3f4;padding:5px;border:solid 5px #edf3f4}.pressimages{clear:both}.pressimages .outer{clear:both}.pressimages .outer div{float:left;width:25%;padding-bottom:10px}.pressimages .outer div.text{width:75%}.pressimages .outer div p{margin:0 auto;padding-left:10px;padding-right:10px}.pressimages .screenshot{width:150px;padding:5px;border:solid 5px #edf3f4;padding:5px;border:solid 5px #edf3f4}a.manage{background:#8dc63f;color:white;font-weight:bold;padding:.5em 1em;cursor:pointer;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #d6dde0}a.manage:hover{text-decoration:none}.rh_help{cursor:pointer;color:#8ac3d7}.rh_help:hover{text-decoration:underline}.rh_answer{display:none;padding-left:10px;margin-bottom:7px;border:solid 2px #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-indent:0!important}.work_campaigns{border:1px solid #d6dde0;margin:10px auto}.work_campaigns div{float:left}.work_campaigns div.campaign_info{width:60%;margin:5px}h2.thank-you{font-size:34px;color:#8dc63f;line-height:40px}.pledge_complete,.pledge_complete a{font-size:15px;line-height:18px;margin-bottom:15px}#js-slide .jsmodule.pledge{width:960px!important}ul.social.pledge{margin-bottom:100px}ul.social.pledge li{float:left;padding-right:30px!important}#widgetcode{float:right}div.pledge-container{width:100%}.yikes{color:#e35351;font-weight:bold}
\ No newline at end of file
diff --git a/static/css/landingpage.css b/static/css/landingpage.css
index 3b4c2b16..f10728d0 100644
--- a/static/css/landingpage.css
+++ b/static/css/landingpage.css
@@ -1,583 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.roundedspan {
- border: 1px solid #d4d4d4;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- -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;
- -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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.actionbuttons {
- width: auto;
- height: 36px;
- line-height: 36px;
- height: 36px;
- line-height: 36px;
- background: #8dc63f;
- -moz-border-radius: 32px;
- -webkit-border-radius: 32px;
- border-radius: 32px;
- -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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.roundedspan {
- border: 1px solid #d4d4d4;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- -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;
- -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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.actionbuttons {
- width: auto;
- height: 36px;
- line-height: 36px;
- height: 36px;
- line-height: 36px;
- background: #8dc63f;
- -moz-border-radius: 32px;
- -webkit-border-radius: 32px;
- border-radius: 32px;
- -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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-.learnmore_block {
- float: left;
- width: 100%;
- clear: both;
- border-top: solid 1px #8ac3d7;
- margin-top: 20px;
-}
-.learnmore_block .quicktour {
- width: 270px;
- float: left;
- font-style: italic;
- line-height: 20px;
- font-size: 13px;
- margin-top: 20px;
-}
-.learnmore_block .quicktour .highlight {
- font-weight: bold;
-}
-.learnmore_block .quicktour.last {
- padding-right: 0px;
- width: 270px;
-}
-.learnmore_block .quicktour.last .signup {
- color: #8dc63f;
- font-weight: bold;
- margin-top: 10px;
-}
-.learnmore_block .quicktour.last .signup img {
- margin-left: 5px;
- vertical-align: middle;
- margin-bottom: 3px;
-}
-.learnmore_block .movingrightalong {
- background: url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;
- height: 100px;
- width: 75px;
- float: left;
- margin-top: 20px;
-}
-#block-intro-text div {
- display: none;
- line-height: 25px;
- padding-bottom: 10px;
-}
-#block-intro-text div#active {
- display: inherit;
-}
-#expandable {
- display: none;
-}
-#main-container.main-container-fl .js-main {
- width: 968px;
- background: #ffffff url("/static/images/landingpage/container-top.png") top center no-repeat;
-}
-#js-maincol-fl {
- padding: 30px 30px 0 30px;
- overflow: hidden;
-}
-#js-maincol-fl #content-block {
- background: none;
- padding: 0;
-}
-#js-maincol-fl #js-main-container {
- float: left;
- width: 672px;
-}
-#js-maincol-fl .js-main-container-inner {
- padding-right: 40px;
-}
-#js-maincol-fl h2.page-heading {
- margin: 0 0 20px 0;
- color: #3d4e53;
- font-size: 19px;
- font-weight: bold;
-}
-#user-block {
- width: 100%;
- clear: both;
-}
-#user-block1,
-.user-block2 {
- float: left;
-}
-#user-block1 {
- width: 70%;
-}
-#user-block1 #block-intro-text {
- float: left;
- width: 70%;
- font-size: 19px;
-}
-#user-block1 a#readon {
- float: left;
-}
-.user-block2 {
- color: #6994a3;
- font-size: 13px;
- line-height: normal;
- width: 30%;
-}
-.user-block2 .block-inner {
- float: right;
- padding-right: 0;
-}
-.user-block2 label {
- float: left;
- font-size: 19px;
- height: 30px;
- line-height: 30px;
- height: 30px;
- line-height: 30px;
- color: #3d4e53;
- padding-right: 15px;
-}
-#js-rightcol,
-#js-rightcol2 {
- float: right;
- width: 230px;
-}
-#js-rightcol .jsmodule,
-#js-rightcol2 .jsmodule {
- float: left;
- width: 208px;
- background: #edf3f4;
- border: 1px solid #d6dde0;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
- margin-bottom: 10px;
- padding: 0 10px 10px 10px;
-}
-#js-rightcol .jsmodule.last,
-#js-rightcol2 .jsmodule.last {
- border-bottom: none;
- padding-bottom: 10px;
-}
-#js-rightcol .jsmodule input,
-#js-rightcol2 .jsmodule input {
- -moz-border-radius: 32px;
- -webkit-border-radius: 32px;
- border-radius: 32px;
- -moz-border-radius: 32px;
- -webkit-border-radius: 32px;
- border-radius: 32px;
- border: none;
- height: 36px;
- line-height: 36px;
- height: 36px;
- line-height: 36px;
- width: 90%;
- outline: none;
- padding-left: 16px;
-}
-#js-rightcol .jsmodule input.signup,
-#js-rightcol2 .jsmodule input.signup {
- background: url("/static/images/landingpage/button.png") no-repeat 0 0;
- border: medium none;
- color: #FFF;
- cursor: pointer;
- display: inline-block;
- font-weight: bold;
- font-size: 13px;
- overflow: hidden;
- padding: 0 31px 0 11px;
- width: 111px;
-}
-#js-rightcol div.button,
-#js-rightcol2 div.button {
- padding-top: 10px;
-}
-#js-rightcol label,
-#js-rightcol2 label {
- width: 100%;
- display: block;
- clear: both;
- padding: 10px 0 5px 16px;
-}
-.js-rightcol-padd {
- padding: 0;
-}
-h3.heading {
- color: #3d4e53;
- font-weight: bold;
-}
-ul.ungluingwhat {
- list-style: none;
- padding: 0;
- margin: 0 -10px;
-}
-ul.ungluingwhat li {
- margin-bottom: 7px;
- background: #fff;
- padding: 10px;
- display: block;
- overflow: hidden;
-}
-ul.ungluingwhat li > div {
- float: left;
-}
-ul.ungluingwhat div.user-avatar {
- width: 43px;
-}
-ul.ungluingwhat div.user-avatar img {
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
-}
-ul.ungluingwhat .user-book-thumb {
- width: 29px;
-}
-ul.ungluingwhat .user-book-info {
- width: 135px;
- color: #3d4e53;
-}
-ul.ungluingwhat .user-book-info p {
- margin: 0;
- padding: 0 5px;
- font-size: 13px;
-}
-ul.ungluingwhat .user-book-info a {
- display: block;
- padding: 0;
- color: #3d4e53;
- font-size: 13px;
- text-decoration: underline;
-}
-ul.ungluingwhat .user-book-info a.user-book-name {
- padding: 0 5px;
-}
-div.typo2 {
- background: #edf3f4;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
- -moz-border-radius: 12px;
- -webkit-border-radius: 12px;
- border-radius: 12px;
- padding: 10px;
- font-style: italic;
-}
-div.signup_btn {
- display: block;
- overflow: hidden;
-}
-div.signup_btn a {
- background: url("/static/images/bg.png") no-repeat scroll right top transparent;
- color: #fff;
- display: block;
- font-size: 13px;
- font-weight: bold;
- height: 36px;
- line-height: 36px;
- height: 36px;
- line-height: 36px;
- letter-spacing: 1px;
- text-decoration: none;
- text-transform: capitalize;
- float: left;
-}
-div.signup_btn a span {
- background: url("/static/images/bg.png") no-repeat scroll -770px -36px transparent;
- display: block;
- margin-right: 29px;
- padding: 0 5px 0 15px;
-}
-.have-content-right-module .item-content {
- float: left;
- width: 364px;
- font-size: 15px;
- height: 132px;
- border-bottom: 7px solid #8ac3d7;
-}
-.have-content-right-module .item-content p {
- margin-bottom: 20px;
- line-height: 135%;
-}
-.have-content-right-module .item-content h2.page-heading {
- padding-right: 97px;
- line-height: 43px;
- padding-bottom: 4px;
- padding-top: 5px;
-}
-.have-content-right-module .content-right-module {
- width: 268px;
- float: right;
-}
-.have-content-right-module .content-right-module h3 {
- color: #8ac3d7;
- text-transform: uppercase;
- font-size: 24px;
- font-weight: normal;
- padding: 0;
- margin: 0 0 16px 0;
-}
-h2.page-heading {
- color: #3c4e52;
- font-size: 28px !important;
- font-style: italic;
- font-weight: normal !important;
-}
-#js-maincontainer-faq {
- clear: both;
- overflow: hidden;
- margin: 15px 0;
- width: 100%;
-}
-.js-maincontainer-faq-inner {
- float: right;
- color: #3d4e53;
- font-size: 15px;
- padding-right: 60px;
-}
-.js-maincontainer-faq-inner a {
- font-weight: normal;
- color: #3d4e53;
- text-decoration: underline;
-}
-h3.module-title {
- padding: 10px 0 0 0;
- font-size: 19px;
- font-weight: normal;
-}
-.google_signup {
- padding: 14px 0;
- padding: 14px 0;
-}
-.google_signup div {
- height: 24px;
- line-height: 24px;
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.google_signup div {
- height: 24px;
- line-height: 24px;
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.landingheader {
- border-bottom: solid 5px #6994a3;
- float: left;
- height: 134px;
-}
-#footer {
- clear: both;
- margin-top: 30px;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.learnmore_block{float:left;width:100%;clear:both;border-top:solid 1px #8ac3d7;margin-top:20px}.learnmore_block .quicktour{width:270px;float:left;font-style:italic;line-height:20px;font-size:13px;margin-top:20px}.learnmore_block .quicktour .highlight{font-weight:bold}.learnmore_block .quicktour.last{padding-right:0;width:270px}.learnmore_block .quicktour.last .signup{color:#8dc63f;font-weight:bold;margin-top:10px}.learnmore_block .quicktour.last .signup img{margin-left:5px;vertical-align:middle;margin-bottom:3px}.learnmore_block .movingrightalong{background:url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;height:100px;width:75px;float:left;margin-top:20px}#block-intro-text div{display:none;line-height:25px;padding-bottom:10px}#block-intro-text div#active{display:inherit}#expandable{display:none}#main-container.main-container-fl .js-main{width:968px;background:#fff url("/static/images/landingpage/container-top.png") top center no-repeat}#js-maincol-fl{padding:30px 30px 0 30px;overflow:hidden}#js-maincol-fl #content-block{background:0;padding:0}#js-maincol-fl #js-main-container{float:left;width:672px}#js-maincol-fl .js-main-container-inner{padding-right:40px}#js-maincol-fl h2.page-heading{margin:0 0 20px 0;color:#3d4e53;font-size:19px;font-weight:bold}#user-block{width:100%;clear:both}#user-block1,.user-block2{float:left}#user-block1{width:70%}#user-block1 #block-intro-text{float:left;width:70%;font-size:19px}#user-block1 a#readon{float:left}.user-block2{color:#6994a3;font-size:13px;line-height:normal;width:30%}.user-block2 .block-inner{float:right;padding-right:0}.user-block2 label{float:left;font-size:19px;height:30px;line-height:30px;height:30px;line-height:30px;color:#3d4e53;padding-right:15px}#js-rightcol,#js-rightcol2{float:right;width:230px}#js-rightcol .jsmodule,#js-rightcol2 .jsmodule{float:left;width:208px;background:#edf3f4;border:1px solid #d6dde0;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;margin-bottom:10px;padding:0 10px 10px 10px}#js-rightcol .jsmodule.last,#js-rightcol2 .jsmodule.last{border-bottom:0;padding-bottom:10px}#js-rightcol .jsmodule input,#js-rightcol2 .jsmodule input{-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;border:0;height:36px;line-height:36px;height:36px;line-height:36px;width:90%;outline:0;padding-left:16px}#js-rightcol .jsmodule input.signup,#js-rightcol2 .jsmodule input.signup{background:url("/static/images/landingpage/button.png") no-repeat 0 0;border:medium none;color:#FFF;cursor:pointer;display:inline-block;font-weight:bold;font-size:13px;overflow:hidden;padding:0 31px 0 11px;width:111px}#js-rightcol div.button,#js-rightcol2 div.button{padding-top:10px}#js-rightcol label,#js-rightcol2 label{width:100%;display:block;clear:both;padding:10px 0 5px 16px}.js-rightcol-padd{padding:0}h3.heading{color:#3d4e53;font-weight:bold}ul.ungluingwhat{list-style:none;padding:0;margin:0 -10px}ul.ungluingwhat li{margin-bottom:7px;background:#fff;padding:10px;display:block;overflow:hidden}ul.ungluingwhat li>div{float:left}ul.ungluingwhat div.user-avatar{width:43px}ul.ungluingwhat div.user-avatar img{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}ul.ungluingwhat .user-book-thumb{width:29px}ul.ungluingwhat .user-book-info{width:135px;color:#3d4e53}ul.ungluingwhat .user-book-info p{margin:0;padding:0 5px;font-size:13px}ul.ungluingwhat .user-book-info a{display:block;padding:0;color:#3d4e53;font-size:13px;text-decoration:underline}ul.ungluingwhat .user-book-info a.user-book-name{padding:0 5px}div.typo2{background:#edf3f4;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;padding:10px;font-style:italic}div.signup_btn{display:block;overflow:hidden}div.signup_btn a{background:url("/static/images/bg.png") no-repeat scroll right top transparent;color:#fff;display:block;font-size:13px;font-weight:bold;height:36px;line-height:36px;height:36px;line-height:36px;letter-spacing:1px;text-decoration:none;text-transform:capitalize;float:left}div.signup_btn a span{background:url("/static/images/bg.png") no-repeat scroll -770px -36px transparent;display:block;margin-right:29px;padding:0 5px 0 15px}.have-content-right-module .item-content{float:left;width:364px;font-size:15px;height:132px;border-bottom:7px solid #8ac3d7}.have-content-right-module .item-content p{margin-bottom:20px;line-height:135%}.have-content-right-module .item-content h2.page-heading{padding-right:97px;line-height:43px;padding-bottom:4px;padding-top:5px}.have-content-right-module .content-right-module{width:268px;float:right}.have-content-right-module .content-right-module h3{color:#8ac3d7;text-transform:uppercase;font-size:24px;font-weight:normal;padding:0;margin:0 0 16px 0}h2.page-heading{color:#3c4e52;font-size:28px!important;font-style:italic;font-weight:normal!important}#js-maincontainer-faq{clear:both;overflow:hidden;margin:15px 0;width:100%}.js-maincontainer-faq-inner{float:right;color:#3d4e53;font-size:15px;padding-right:60px}.js-maincontainer-faq-inner a{font-weight:normal;color:#3d4e53;text-decoration:underline}h3.module-title{padding:10px 0 0 0;font-size:19px;font-weight:normal}.google_signup{padding:14px 0;padding:14px 0}.google_signup div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup img{float:left;height:24px;width:24px}.google_signup div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup img{float:left;height:24px;width:24px}.landingheader{border-bottom:solid 5px #6994a3;float:left;height:134px}#footer{clear:both;margin-top:30px}
\ No newline at end of file
diff --git a/static/css/learnmore.css b/static/css/learnmore.css
index cea17514..4f39b354 100644
--- a/static/css/learnmore.css
+++ b/static/css/learnmore.css
@@ -1,139 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-.learnmore_block {
- float: left;
- width: 100%;
- clear: both;
- border-top: solid 1px #8ac3d7;
- margin-top: 20px;
-}
-.learnmore_block .quicktour {
- width: 270px;
- float: left;
- font-style: italic;
- line-height: 20px;
- font-size: 13px;
- margin-top: 20px;
-}
-.learnmore_block .quicktour .highlight {
- font-weight: bold;
-}
-.learnmore_block .quicktour.last {
- padding-right: 0px;
- width: 270px;
-}
-.learnmore_block .quicktour.last .signup {
- color: #8dc63f;
- font-weight: bold;
- margin-top: 10px;
-}
-.learnmore_block .quicktour.last .signup img {
- margin-left: 5px;
- vertical-align: middle;
- margin-bottom: 3px;
-}
-.learnmore_block .movingrightalong {
- background: url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;
- height: 100px;
- width: 75px;
- float: left;
- margin-top: 20px;
-}
-#block-intro-text div {
- display: none;
- line-height: 25px;
- padding-bottom: 10px;
-}
-#block-intro-text div#active {
- display: inherit;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.learnmore_block{float:left;width:100%;clear:both;border-top:solid 1px #8ac3d7;margin-top:20px}.learnmore_block .quicktour{width:270px;float:left;font-style:italic;line-height:20px;font-size:13px;margin-top:20px}.learnmore_block .quicktour .highlight{font-weight:bold}.learnmore_block .quicktour.last{padding-right:0;width:270px}.learnmore_block .quicktour.last .signup{color:#8dc63f;font-weight:bold;margin-top:10px}.learnmore_block .quicktour.last .signup img{margin-left:5px;vertical-align:middle;margin-bottom:3px}.learnmore_block .movingrightalong{background:url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;height:100px;width:75px;float:left;margin-top:20px}#block-intro-text div{display:none;line-height:25px;padding-bottom:10px}#block-intro-text div#active{display:inherit}
\ No newline at end of file
diff --git a/static/css/lists.css b/static/css/lists.css
index e3d7e9df..bfa313fa 100644
--- a/static/css/lists.css
+++ b/static/css/lists.css
@@ -1,14 +1 @@
-.user-block2 {
- width: 48%;
- font-size: 14px;
- padding-right: 2%;
-}
-#js-leftcol li.active_lang a {
- font-weight: bold;
-}
-.show_langs:hover{
- text-decoration: underline;
-}
-#lang_list {
- display: none;
-}
\ No newline at end of file
+.user-block2{width:48%;font-size:14px;padding-right:2%}#js-leftcol li.active_lang a{font-weight:bold}.show_langs:hover{text-decoration:underline}#lang_list{display:none}
\ No newline at end of file
diff --git a/static/css/manage_campaign.css b/static/css/manage_campaign.css
index a370028b..250ef0c2 100644
--- a/static/css/manage_campaign.css
+++ b/static/css/manage_campaign.css
@@ -1,276 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-/* Campaign and manage_campaign use same tab styling, so it's factored out here */
-#tabs {
- border-bottom: 4px solid #6994a3;
- clear: both;
- float: left;
- margin-top: 10px;
- width: 100%;
-}
-#tabs ul.book-list-view {
- margin-bottom: 4px !important;
-}
-#tabs-1,
-#tabs-2,
-#tabs-3,
-#tabs-4 {
- display: none;
-}
-#tabs-1.active,
-#tabs-2.active,
-#tabs-3.active,
-#tabs-4.active {
- display: inherit;
-}
-#tabs-2 textarea {
- width: 95%;
-}
-ul.tabs {
- float: left;
- padding: 0;
- margin: 0;
- list-style: none;
- width: 100%;
-}
-ul.tabs li {
- float: left;
- height: 46px;
- line-height: 20px;
- padding-right: 2px;
- width: 116px;
- background: none;
- margin: 0;
- padding: 0 2px 0 0;
-}
-ul.tabs li.tabs4 {
- padding-right: 0px;
-}
-ul.tabs li a {
- height: 46px;
- line-height: 18px;
- display: block;
- text-align: center;
- padding: 0 10px;
- min-width: 80px;
- -moz-border-radius: 7px 7px 0 0;
- -webkit-border-radius: 7px 7px 0 0;
- border-radius: 7px 7px 0 0;
- background: #d6dde0;
- color: #3d4e53;
-}
-ul.tabs li a:hover {
- text-decoration: none;
-}
-ul.tabs li a div {
- padding-top: 8px;
-}
-ul.tabs li a:hover,
-ul.tabs li.active a {
- background: #6994a3;
- color: #fff;
-}
-/* needed for campaign, pledge, and manage_campaign */
-.book-detail {
- float: left;
- width: 100%;
- clear: both;
- display: block;
-}
-#book-detail-img {
- float: left;
- margin-right: 10px;
- width: 151px;
-}
-#book-detail-img img {
- padding: 5px;
- border: solid 5px #EDF3F4;
-}
-.book-detail-info {
- float: left;
- /* if we want to nix the explore bar, width should be 544ish */
-
- width: 309px;
-}
-.book-detail-info h2.book-name,
-.book-detail-info h3.book-author,
-.book-detail-info h3.book-year {
- padding: 0;
- margin: 0;
- line-height: normal;
-}
-.book-detail-info h2.book-name {
- font-size: 19px;
- text-transform: capitalize;
- font-weight: bold;
- color: #3d4e53;
-}
-.book-detail-info h3.book-author,
-.book-detail-info h3.book-year {
- font-size: 13px;
- font-weight: normal;
- color: #6994a3;
-}
-.book-detail-info > div {
- width: 100%;
- clear: both;
- display: block;
- overflow: hidden;
- border-top: 1px solid #edf3f4;
- padding: 10px 0;
-}
-.book-detail-info > div.layout {
- border: none;
- padding: 0;
-}
-.book-detail-info > div.layout div.pubinfo {
- float: left;
- width: auto;
- padding-bottom: 7px;
-}
-.book-detail-info > div.layout div.btn_support {
- float: right;
-}
-.book-detail-info > div.layout div.btn_support input {
- font-size: 15px;
-}
-.book-detail-info > div.layout div.btn_support.modify input {
- background: #d6dde0;
- font-size: 13px;
- border: double white;
- line-height: 17px;
-}
-.book-detail-info .btn_wishlist span {
- text-align: right;
-}
-.book-detail-info .find-book {
- margin-top: 15px;
-}
-.book-detail-info .find-book label {
- float: left;
- line-height: 31px;
-}
-.book-detail-info .find-link {
- float: right;
-}
-.book-detail-info .find-link img {
- padding: 2px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
-}
-.book-detail-info .pledged-info {
- padding: 0;
- position: relative;
-}
-.book-detail-info .pledged-group {
- padding: 10px 40px 10px 0;
- float: left;
-}
-.book-detail-info .status {
- position: absolute;
- top: 50%;
- right: 0%;
- height: 25px;
- margin-top: -12px;
-}
-.preview_campaign {
- float: right;
- margin-right: 10px;
-}
-input[name="launch"] {
- display: none;
-}
-#launchme {
- margin: 15px auto;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#tabs{border-bottom:4px solid #6994a3;clear:both;float:left;margin-top:10px;width:100%}#tabs ul.book-list-view{margin-bottom:4px!important}#tabs-1,#tabs-2,#tabs-3,#tabs-4{display:none}#tabs-1.active,#tabs-2.active,#tabs-3.active,#tabs-4.active{display:inherit}#tabs-2 textarea{width:95%}ul.tabs{float:left;padding:0;margin:0;list-style:none;width:100%}ul.tabs li{float:left;height:46px;line-height:20px;padding-right:2px;width:116px;background:0;margin:0;padding:0 2px 0 0}ul.tabs li.tabs4{padding-right:0}ul.tabs li a{height:46px;line-height:18px;display:block;text-align:center;padding:0 10px;min-width:80px;-moz-border-radius:7px 7px 0 0;-webkit-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;background:#d6dde0;color:#3d4e53}ul.tabs li a:hover{text-decoration:none}ul.tabs li a div{padding-top:8px}ul.tabs li a:hover,ul.tabs li.active a{background:#6994a3;color:#fff}.book-detail{float:left;width:100%;clear:both;display:block}#book-detail-img{float:left;margin-right:10px;width:151px}#book-detail-img img{padding:5px;border:solid 5px #edf3f4}.book-detail-info{float:left;width:309px}.book-detail-info h2.book-name,.book-detail-info h3.book-author,.book-detail-info h3.book-year{padding:0;margin:0;line-height:normal}.book-detail-info h2.book-name{font-size:19px;text-transform:capitalize;font-weight:bold;color:#3d4e53}.book-detail-info h3.book-author,.book-detail-info h3.book-year{font-size:13px;font-weight:normal;color:#6994a3}.book-detail-info>div{width:100%;clear:both;display:block;overflow:hidden;border-top:1px solid #edf3f4;padding:10px 0}.book-detail-info>div.layout{border:0;padding:0}.book-detail-info>div.layout div.pubinfo{float:left;width:auto;padding-bottom:7px}.book-detail-info>div.layout div.btn_support{float:right}.book-detail-info>div.layout div.btn_support input{font-size:15px}.book-detail-info>div.layout div.btn_support.modify input{background:#d6dde0;font-size:13px;border:double white;line-height:17px}.book-detail-info .btn_wishlist span{text-align:right}.book-detail-info .find-book{margin-top:15px}.book-detail-info .find-book label{float:left;line-height:31px}.book-detail-info .find-link{float:right}.book-detail-info .find-link img{padding:2px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.book-detail-info .pledged-info{padding:0;position:relative}.book-detail-info .pledged-group{padding:10px 40px 10px 0;float:left}.book-detail-info .status{position:absolute;top:50%;right:0;height:25px;margin-top:-12px}.preview_campaign{float:right;margin-right:10px}input[name="launch"]{display:none}#launchme{margin:15px auto}
\ No newline at end of file
diff --git a/static/css/notices.css b/static/css/notices.css
index 7326d3f2..f6eb2db2 100644
--- a/static/css/notices.css
+++ b/static/css/notices.css
@@ -1,171 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-.notices_menu {
- float: right;
- -moz-border-radius: 20px;
- -webkit-border-radius: 20px;
- border-radius: 20px;
- background: #edf3f4;
- padding: 10px 20px;
- margin: -15px auto 7px 7px;
-}
-.notices_menu a {
- font-size: 13px;
- font-weight: bold;
-}
-#js-main-container {
- float: none !important;
- padding-right: 15px;
-}
-/* notice_settings */
-th {
- text-align: left;
-}
-tr {
- line-height: 24px;
-}
-tr.row1 {
- background: #edf3f4;
-}
-td {
- padding-left: 7px;
- padding-right: 7px;
-}
-td#last {
- padding: 0;
-}
-input[type="submit"] {
- float: right;
- margin-right: 0;
-}
-/* comment containers */
-.comments {
- border: solid 3px #d6dde0;
- margin: 3px auto;
-}
-.comments hr {
- margin: 10px auto 5px;
- color: #d6dde0;
- background-color: #d6dde0;
- height: 2px;
- border: 0;
-}
-.comments .comments_book {
- padding: 5px;
- border: solid 5px #EDF3F4;
- margin-right: 10px;
- margin-bottom: 10px;
- max-width: 80px;
-}
-.comments .comments_book img {
- max-width: 80px;
-}
-.comments .comments_textual {
- padding: 10px 5px 5px;
-}
-.comments .comments_textual div {
- margin-bottom: 5px;
-}
-.comments .comments_info {
- border-bottom: solid 1px #d6dde0;
- padding: 5px;
-}
-.comments .comments_info div {
- float: left;
-}
-.comments .comments_info .comments_graphical {
- padding: 5px auto;
-}
-.comments .comments_info span {
- text-indent: 0;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.notices_menu{float:right;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;background:#edf3f4;padding:10px 20px;margin:-15px auto 7px 7px}.notices_menu a{font-size:13px;font-weight:bold}#js-main-container{float:none!important;padding-right:15px}th{text-align:left}tr{line-height:24px}tr.row1{background:#edf3f4}td{padding-left:7px;padding-right:7px}td#last{padding:0}input[type="submit"]{float:right;margin-right:0}.comments{border:solid 3px #d6dde0;margin:3px auto}.comments hr{margin:10px auto 5px;color:#d6dde0;background-color:#d6dde0;height:2px;border:0}.comments .comments_book{padding:5px;border:solid 5px #edf3f4;margin-right:10px;margin-bottom:10px;max-width:80px}.comments .comments_book img{max-width:80px}.comments .comments_textual{padding:10px 5px 5px}.comments .comments_textual div{margin-bottom:5px}.comments .comments_info{border-bottom:solid 1px #d6dde0;padding:5px}.comments .comments_info div{float:left}.comments .comments_info .comments_graphical{padding:5px auto}.comments .comments_info span{text-indent:0}
\ No newline at end of file
diff --git a/static/css/pledge.css b/static/css/pledge.css
index e5804977..ef570d2d 100644
--- a/static/css/pledge.css
+++ b/static/css/pledge.css
@@ -1,159 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-#content-block .jsmod-content,
-.book-detail {
- float: left;
- width: auto;
-}
-input[type="submit"] {
- float: right;
- font-size: 19px;
- margin: 10px;
- cursor: pointer;
-}
-.pledge_amount {
- padding: 10px;
- font-size: 19px;
- background: #edf3f4;
-}
-.pledge_amount.premium_level {
- margin-top: 3px;
-}
-form.pledgeform {
- width: 470px;
-}
-#id_preapproval_amount {
- width: 50%;
- line-height: 30px;
- font-size: 15px;
-}
-ul.support li,
-ul.support li:hover {
- background-image: none;
-}
-p {
- margin: 7px auto;
-}
-.jsmodule.pledge {
- margin: auto;
-}
-.jsmodule.pledge .jsmod-content {
- float: right !important;
-}
-.modify_notification {
- width: 452px;
- margin-bottom: 7px;
- border: solid 2px #8dc63f;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- padding: 7px;
-}
-.modify_notification h4 {
- margin: 0 0 5px 0;
-}
-.cancel_notice {
- width: 470px;
- padding: 5px;
- margin-top: 10px;
-}
-#fakepledgesubmit {
- background-color: #e35351;
- cursor: pointer;
- font-weight: bold;
- font-size: 19px;
- display: none;
-}
-span.menu-item-price {
- float: none !important;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#content-block .jsmod-content,.book-detail{float:left;width:auto}input[type="submit"]{float:right;font-size:19px;margin:10px 0 10px;cursor:pointer}.pledge_amount{padding:10px;font-size:19px;background:#edf3f4}.pledge_amount.premium_level{margin-top:3px}form.pledgeform{width:470px}#id_preapproval_amount{width:50%;line-height:30px;font-size:15px}ul.support li,ul.support li:hover{background-image:none}p{margin:7px auto}.jsmodule.pledge{margin:auto}.jsmodule.pledge .jsmod-content{float:right!important}.modify_notification{width:452px;margin-bottom:7px;border:solid 2px #8dc63f;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:7px}.modify_notification h4{margin:0 0 5px 0}.cancel_notice{width:470px;padding:5px;margin-top:10px}#fakepledgesubmit{background-color:#e35351;cursor:default;font-weight:bold;font-size:19px;display:none}span.menu-item-price{float:none!important}#mandatory_premiums{font-size:15px}#mandatory_premiums div{float:left}#mandatory_premiums div.ack_level{width:16%;margin-right:3%;height:100%;padding:1.5%}#mandatory_premiums div.ack_header{width:73%;padding:1.5%}#mandatory_premiums div.ack_active,#mandatory_premiums div.ack_inactive{width:100%}#mandatory_premiums div.ack_active .ack_header,#mandatory_premiums div.ack_active .ack_level{border:solid #3d4e53;border-width:1%;background:white}#mandatory_premiums div.ack_inactive .ack_header,#mandatory_premiums div.ack_inactive .ack_level{border:solid #d6dde0;border-width:1%;background:#d6dde0}#mandatory_premiums div.ack_inactive input,#mandatory_premiums div.ack_inactive textarea{background:#d6dde0;border:dashed 1px #3d4e53}#mandatory_premiums>div{margin:7px 0}#mandatory_premiums input[type=text],#mandatory_premiums textarea{width:95%;font-size:15px;color:#3d4e53;margin:5px 0}#mandatory_premiums input[type=text]{height:19.5px;line-height:19.5px}#id_ack_link{border:0;cursor:default}
\ No newline at end of file
diff --git a/static/css/registration.css b/static/css/registration.css
index 532a3478..fb6efa0f 100644
--- a/static/css/registration.css
+++ b/static/css/registration.css
@@ -1,240 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-#login_centerer {
- padding: 10px 25%;
- width: 960px;
-}
-#registration {
- width: 960px;
- padding: 10px;
- margin: 0 auto;
- padding: 10px 0;
- font-size: 13px;
- line-height: 18px;
-}
-#registration input[type="submit"] {
- margin: 0 auto;
- padding: 5px 0;
-}
-#login {
- border: solid 3px #d6dde0;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- margin: 10px auto;
- float: left;
- padding: 10px;
- width: 50%;
-}
-#login form label {
- display: block;
-}
-#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: 16px;
-}
-#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: none;
- margin: 5px 0;
-}
-#login form input:focus {
- border: solid 1px #8dc63f;
-}
-#login form span.helptext {
- display: block;
- margin-top: -11px;
- font-style: italic;
- font-size: 13px;
-}
-#login .google_signup {
- padding: 14px 0;
-}
-#login .google_signup div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-#login .google_signup img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.actionbutton {
- 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: none;
- margin: 5px 0;
- float: left;
-}
-#welcomesearch label {
- display: block;
- margin: 0 auto;
- font-size: 19px;
- padding-bottom: 10px;
-}
-#welcomesearch p {
- margin-bottom: 5px;
-}
-#welcomesearch form {
- margin: 0 auto;
- width: 210px;
- background: url("/static/images/landingpage/search-box-two.png") 0 0 no-repeat;
- height: 36px;
- display: block;
- overflow: hidden;
-}
-#welcomesearch input.inputbox {
- border: none;
- color: #66942e;
- height: 26px;
- line-height: 26px;
- font-size: 13px;
- float: left;
- padding: 0;
- margin: 5px 0 5px 20px;
- width: 149px;
- outline: none;
-}
-#welcomesearch input.inputbox:focus {
- border: none;
-}
-#welcomesearch input.greenbutton[type="submit"] {
- background: url("/static/images/landingpage/search-button-two.png") 0 0 no-repeat;
- width: 40px;
- height: 40px;
- padding: 0;
- margin: 0;
- border: none;
- display: block;
- float: right;
- text-indent: -10000px;
- font-size: 0;
- -moz-border-radius: 0;
- -webkit-border-radius: 0;
- border-radius: 0;
-}
-.welcomealternatives {
- border-top: 1px solid #d6dde0;
- margin-top: 10px;
- padding-top: 5px;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#login_centerer{padding:10px 25%;width:960px}#registration{width:960px;padding:10px;margin:0 auto;padding:10px 0;font-size:13px;line-height:18px}#registration input[type="submit"]{margin:0 auto;padding:5px 0}#login{border:solid 3px #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;margin:10px auto;float:left;padding:10px;width:50%}#login form label{display:block}#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:16px}#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}#login form input:focus{border:solid 1px #8dc63f}#login form span.helptext{display:block;margin-top:-11px;font-style:italic;font-size:13px}#login .google_signup{padding:14px 0}#login .google_signup div{height:24px;line-height:24px;float:left;padding-left:5px}#login .google_signup img{float:left;height:24px;width:24px}.actionbutton{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;float:left}#welcomesearch label{display:block;margin:0 auto;font-size:19px;padding-bottom:10px}#welcomesearch p{margin-bottom:5px}#welcomesearch form{margin:0 auto;width:210px;background:url("/static/images/landingpage/search-box-two.png") 0 0 no-repeat;height:36px;display:block;overflow:hidden}#welcomesearch input.inputbox{border:0;color:#66942e;height:26px;line-height:26px;font-size:13px;float:left;padding:0;margin:5px 0 5px 20px;width:149px;outline:0}#welcomesearch input.inputbox:focus{border:0}#welcomesearch input.greenbutton[type="submit"]{background:url("/static/images/landingpage/search-button-two.png") 0 0 no-repeat;width:40px;height:40px;padding:0;margin:0;border:0;display:block;float:right;text-indent:-10000px;font-size:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.welcomealternatives{border-top:1px solid #d6dde0;margin-top:10px;padding-top:5px}
\ No newline at end of file
diff --git a/static/css/search.css b/static/css/search.css
index 4c460502..89b57d7e 100644
--- a/static/css/search.css
+++ b/static/css/search.css
@@ -1,124 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-span.rounded {
- 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;
-}
-span.rounded > span {
- padding: 7px 7px;
- min-width: 15px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- text-align: center;
- display: inline-block;
-}
-span.rounded > span .hovertext {
- display: none;
-}
-span.rounded > span:hover .hovertext {
- display: inline;
-}
-span.grey {
- background: #bacfd6 url("/static/images/header-button-undefined.png") left bottom repeat-x;
-}
-.listview .rounded {
- line-height: normal;
- margin-right: 0;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}span.rounded{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}span.rounded>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}span.rounded>span .hovertext{display:none}span.rounded>span:hover .hovertext{display:inline}span.grey{background:#bacfd6 url("/static/images/header-button-undefined.png") left bottom repeat-x}.listview .rounded{line-height:normal;margin-right:0}
\ No newline at end of file
diff --git a/static/css/sitewide.css b/static/css/sitewide.css
index 50814df8..4c31fcc3 100644
--- a/static/css/sitewide.css
+++ b/static/css/sitewide.css
@@ -1,731 +1 @@
-/* For sitewide elements of unglue.it. */
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-/* remove before beta */
-.preview {
- border: solid 3px #e35351;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- clear: both;
- padding: 5px 10px;
- font-size: 13px;
- line-height: 17px;
-}
-.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;
- line-height: 17px;
- border-color: #8dc63f;
- width: 90%;
- margin: 10px auto 0 auto;
- font-size: 120%;
-}
-.launch_top a {
- color: #8dc63f;
-}
-.launch_top a {
- font-size: 110%;
-}
-.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;
- line-height: 17px;
- width: 80%;
- margin: 10px auto;
-}
-.preview_content a {
- color: #8dc63f;
-}
-/* Local variables */
-.utilityheaders {
- text-transform: uppercase;
- color: #3d4e53;
- font-size: 15px;
- display: block;
-}
-/* Page-wide elements */
-html,
-body {
- /* Necessary to make footer stretch to bottom of page */
-
- 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 {
- /* remove after alpha? */
-
- position: fixed;
- top: 30%;
- right: 0;
- z-index: 500;
-}
-#feedback p {
- /* see http://scottgale.com/blog/css-vertical-text/2010/03/01/ */
-
- 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: 13px;
- text-decoration: none;
- cursor: pointer;
- color: #6994a3;
-}
-a:hover {
- text-decoration: underline;
-}
-img {
- border: none;
-}
-input,
-textarea {
- border: 2px solid #d6dde0;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
-}
-input:focus,
-textarea:focus {
- border: 2px solid #8dc63f;
- outline: 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"] {
- background: #8dc63f;
- color: white;
- font-weight: bold;
- padding: 0.5em 1em;
- cursor: pointer;
-}
-.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 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-.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;
-}
-/* add class clearfix to floats to make them self-clear */
-.clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-/* Header section */
-#js-header {
- height: 90px;
-}
-.js-logo {
- float: left;
- padding-top: 10px;
-}
-.js-logo a img {
- border: none;
-}
-.js-topmenu {
- float: right;
- padding-top: 25px;
-}
-.js-topmenu ul li {
- float: left;
- padding: 0 10px;
- 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;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.js-topmenu ul li span#welcome {
- color: #8dc63f;
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
- overflow: auto;
- max-width: 240px;
-}
-.js-topmenu ul li #unseen_count div {
- border: solid 2px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- padding: 3px;
- line-height: 16px;
- width: 16px;
- cursor: pointer;
- text-align: center;
- margin-left: -10px;
-}
-.js-topmenu ul li #unseen_count div#i_haz_notifications {
- background-color: #8dc63f;
- color: white;
- border-color: #8dc63f;
-}
-.js-topmenu ul li #unseen_count div#no_notifications_for_you {
- border-color: #d6dde0;
- background-color: #d6dde0;
- color: #edf3f4;
-}
-.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-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: none;
- -moz-border-radius: 50px 0 0 50px;
- -webkit-border-radius: 50px 0 0 50px;
- border-radius: 50px 0 0 50px;
- outline: none;
- 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: none;
- text-indent: -10000px;
- cursor: pointer;
-}
-.js-search-inner {
- float: right;
-}
-#welcome {
- overflow: hidden;
-}
-#locationhash {
- /* used solely to contain template variables for tabs.js; should not display */
-
- display: none;
-}
-/* Learn More menu */
-#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;
-}
-/* Explore column */
-#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;
-}
-/* Main content area: top */
-#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 content area: main*/
-#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: none;
-}
-.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 {
- width: 100%;
- overflow: hidden;
- padding-left: 10px;
-}
-div#content-block-content .cols3 .column {
- width: 33.33%;
- float: left;
-}
-/* Footer */
-#footer {
- background-color: #edf3f4;
- clear: both;
- text-transform: uppercase;
- color: #3d4e53;
- font-size: 15px;
- display: block;
- padding: 15px 0px 45px 0px;
- 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;
-}
-/* Without this the slideshow resizes to the wrong height when you click the controls */
-.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;
- position: absolute;
- left: 12.5%;
- width: 75%;
- top: 25%;
- margin-left: 0;
- padding: 9px;
-}
-#about_expandable p {
- padding: 9px 0;
- font-size: 15px;
- line-height: 20px;
-}
-#about_expandable p a {
- font-size: 15px;
- line-height: 20px;
-}
-#about_expandable p b {
- color: #8dc63f;
-}
-#about_expandable p.last {
- border-bottom: solid 2px #d6dde0;
- margin-bottom: 5px;
-}
-#about_expandable .right_border {
- border-right: solid 1px #d6dde0;
- float: left;
- padding: 9px;
-}
-#about_expandable .signuptoday {
- float: right;
- margin-top: 0;
- clear: none;
-}
-#about_expandable .collapser_x {
- margin-top: -27px;
- margin-right: -27px;
-}
-.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;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.preview{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;line-height:17px}.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;line-height:17px;border-color:#8dc63f;width:90%;margin:10px auto 0 auto;font-size:120%}.launch_top a{color:#8dc63f}.launch_top a{font-size:110%}.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;line-height:17px;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;top:30%;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:13px;text-decoration:none;cursor:pointer;color:#6994a3}a:hover{text-decoration:underline}img{border:0}input,textarea{border:2px solid #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}input:focus,textarea:focus{border:2px solid #8dc63f;outline:0}.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"]{background:#8dc63f;color:white;font-weight:bold;padding:.5em 1em;cursor:pointer}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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+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;padding-top:25px}.js-topmenu ul li{float:left;padding:0 10px;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;font-size:13px;letter-spacing:-0.05em}.js-topmenu ul li span#welcome{color:#8dc63f;height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;letter-spacing:-0.05em;overflow:auto;max-width:240px}.js-topmenu ul li #unseen_count div{border:solid 2px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:3px;line-height:16px;width:16px;cursor:pointer;text-align:center;margin-left:-10px}.js-topmenu ul li #unseen_count div#i_haz_notifications{background-color:#8dc63f;color:white;border-color:#8dc63f}.js-topmenu ul li #unseen_count div#no_notifications_for_you{border-color:#d6dde0;background-color:#d6dde0;color:#edf3f4}.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-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}#welcome{overflow:hidden}#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{width:100%;overflow:hidden;padding-left:10px}div#content-block-content .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;position:absolute;left:12.5%;width:75%;top:25%;margin-left:0;padding:9px}#about_expandable p{padding:9px 0;font-size:15px;line-height:20px}#about_expandable p a{font-size:15px;line-height:20px}#about_expandable p b{color:#8dc63f}#about_expandable p.last{border-bottom:solid 2px #d6dde0;margin-bottom:5px}#about_expandable .right_border{border-right:solid 1px #d6dde0;float:left;padding:9px}#about_expandable .signuptoday{float:right;margin-top:0;clear:none}#about_expandable .collapser_x{margin-top:-27px;margin-right:-27px}.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}
\ No newline at end of file
diff --git a/static/css/supporter_layout.css b/static/css/supporter_layout.css
index 5c4c7df8..26c7ff3b 100644
--- a/static/css/supporter_layout.css
+++ b/static/css/supporter_layout.css
@@ -1,512 +1 @@
-/* variables and mixins used in multiple less files go here */
-.header-text {
- height: 36px;
- line-height: 36px;
- display: block;
- text-decoration: none;
- font-weight: bold;
- font-size: 13px;
- letter-spacing: -0.05em;
-}
-.panelborders {
- border-width: 1px 0px;
- border-style: solid none;
- border-color: #FFFFFF;
-}
-.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;
-}
-.google_signup_div {
- padding: 14px 0;
-}
-.google_signup_div div {
- height: 24px;
- line-height: 24px;
- float: left;
- padding-left: 5px;
-}
-.google_signup_div img {
- float: left;
- height: 24px;
- width: 24px;
-}
-.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: none;
- margin: 5px 0;
-}
-.errors {
- -moz-border-radius: 16px 16px 0 0;
- -webkit-border-radius: 16px 16px 0 0;
- border-radius: 16px 16px 0 0;
- 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: none;
-}
-.block-inner {
- padding-right: 10px;
-}
-.user-block {
- width: 100%;
- clear: both;
-}
-#user-block-hide {
- float: left;
- width: 100%;
- clear: both;
- padding-top: 10px;
-}
-#user-block-hide .block {
- float: left;
-}
-#user-block-hide .block1,
-#user-block-hide .block3 {
- width: 25%;
-}
-#user-block-hide .block2 {
- width: 50%;
-}
-#user-block-hide .block2 div {
- float: left;
- max-width: 340px;
-}
-#user-block-hide .block2 input {
- margin-left: 5px;
-}
-#user-block-hide input {
- float: left;
- margin: 3px 10px 0 0;
- width: 45%;
-}
-#user-block-hide input[type=checkbox] {
- float: none;
- width: auto;
-}
-#user-block-hide input#librarything_input,
-#user-block-hide input#goodreads_input {
- width: auto;
- cursor: pointer;
- background: #edf3f4;
- color: #3d4e53;
- cursor: pointer;
-}
-#user-block-hide input.profile-save {
- width: 116px;
- cursor: pointer;
-}
-#user-block-hide label {
- float: left;
- width: 90%;
-}
-#user-block-hide textarea {
- width: 95%;
-}
-#user-block-hide select {
- margin-bottom: 5px;
-}
-#user-block1 {
- float: left;
- width: 25%;
-}
-.user-block2 {
- color: #6994a3;
- font-size: 13px;
- line-height: normal;
- float: left;
- width: 25%;
-}
-.user-block3,
-.user-block4 {
- float: left;
- width: 25%;
-}
-.user-block3.recommended,
-.user-block4.recommended {
- margin-top: auto;
-}
-.user-block3.recommended img,
-.user-block4.recommended img {
- margin-right: 7px;
-}
-.user-block3 {
- margin-top: 8px;
-}
-.user-block3 .ungluingtext {
- height: 29px;
- line-height: 29px;
- float: left;
- color: #3d4e53;
- padding-right: 5px;
-}
-.user-block4 {
- margin-top: 7px;
-}
-img.user-avatar {
- float: left;
- margin-right: 10px;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
-}
-.social {
- width: 100%;
-}
-span.special-user-name {
- display: block;
- font-size: 19px;
- color: #3d4e53;
- margin-left: 10px;
- font-weight: bold;
- height: 50px;
-}
-span.user-name,
-span.user-date,
-span.user-short-info {
- display: block;
-}
-.user-block2 .user-short-info {
- padding-right: 10px;
-}
-span.user-name,
-span.user-name a {
- font-size: 13px;
- color: #3d4e53;
-}
-span.user-status-title {
- float: left;
- margin-right: 8px;
- padding-top: 5px;
-}
-span.rounded {
- 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;
-}
-span.rounded > span {
- padding: 7px 7px;
- min-width: 15px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- text-align: center;
- display: inline-block;
-}
-span.rounded > span .hovertext {
- display: none;
-}
-span.rounded > span:hover .hovertext {
- display: inline;
-}
-span.blue {
- background: #a7d26a url("/static/images/header-button-blue.png") left bottom repeat-x;
-}
-span.orange {
- background: #eabc7c url("/static/images/header-button-orange.png") left bottom repeat-x;
-}
-span.grey {
- background: #bacfd6 url("/static/images/header-button-grey.png") left bottom repeat-x;
-}
-div.check-list {
- float: left;
- padding-bottom: 7px;
- clear: both;
-}
-a.profile-edit {
- display: block;
-}
-div.profile-save {
- padding-top: 15px;
- border: none;
-}
-input.profile-save {
- background: url("/static/images/header/save-setting.png") 0 0 no-repeat;
- width: 116px;
- height: 42px;
- display: block;
- text-indent: -100000px;
- border: none;
- cursor: pointer;
-}
-#loadgr {
- background: url("/static/images/supporter_icons/goodreads_square.png") left center no-repeat;
- min-height: 33px;
- margin: 12px auto;
-}
-#loadgr span {
- display: inline-block;
- vertical-align: middle;
-}
-#loadgr div,
-#loadgr input {
- margin: auto 10px auto 36px;
-}
-#loadgr #goodreads_shelves {
- margin: auto 10px auto 36px;
- display: block;
-}
-#loadlt {
- background: url("/static/images/supporter_icons/librarything_square.png") left center no-repeat;
- min-height: 32px;
- padding-top: 4px;
-}
-#loadlt div,
-#loadlt input {
- margin: auto 10px auto 36px;
-}
-.weareonthat {
- background: url("/static/images/checkmark_small.png") left center no-repeat;
-}
-span.my-setting {
- background: #d6dde0 url("/static/images/header/explane.png") 90% center no-repeat;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- height: 50px;
- line-height: 50px;
- display: block;
- padding: 0 0 0 10px;
- font-size: 19px;
- font-weight: bold;
- cursor: pointer;
-}
-span.my-setting.active {
- background: #d6dde0 url("/static/images/header/collspane.png") 90% center no-repeat;
-}
-.badges.listspage {
- float: left;
- margin-left: 12px;
-}
-#tabs {
- clear: both;
- float: left;
- margin-left: 10px;
- margin-top: 10px;
- width: 100%;
- border-bottom: 4px solid #d6dde0;
-}
-#tabs ul.tabs li a:hover {
- text-decoration: none;
-}
-#tabs.wantto ul.tabs li.tabs3.active a {
- background: #d6dde0;
- color: #3d4e53;
-}
-#tabs.ungluing ul.tabs li.tabs2.active a {
- background: #eabc7c;
- color: #fff;
-}
-#tabs.unglued ul.tabs li.tabs1.active a {
- background: #8dc63f;
- color: #fff;
-}
-#tabs ul.book-list-view {
- margin-bottom: 0 !important;
-}
-#tabs-1,
-#tabs-2,
-#tabs-3 {
- margin-left: 10px;
-}
-ul.tabs {
- float: left;
- padding: 0;
- margin: 0;
- list-style: none;
-}
-ul.tabs li {
- float: left;
- height: 46px;
- line-height: 46px;
- margin-right: 2px;
-}
-ul.tabs li.tabs1,
-ul.tabs li.tabs2,
-ul.tabs li.tabs3 {
- width: 112px;
-}
-ul.tabs li a {
- height: 46px;
- line-height: 46px;
- display: block;
- text-align: center;
- padding: 0 10px;
- min-width: 80px;
- -moz-border-radius: 7px 7px 0 0;
- -webkit-border-radius: 7px 7px 0 0;
- border-radius: 7px 7px 0 0;
- background: #6994a3;
- color: #fff;
-}
-ul.tabs li.tabs1 a:hover,
-ul.tabs li.tabs1.active a {
- background: #8dc63f;
- color: #ffffff;
-}
-ul.tabs li.tabs2 a:hover,
-ul.tabs li.tabs2.active a {
- background: #eabc7c;
- color: #fff;
-}
-ul.tabs li.tabs3 a:hover,
-ul.tabs li.tabs3.active a {
- background: #d6dde0;
- color: #3d4e53;
-}
-#rss {
- height: 46px;
-}
-#rss img {
- padding: 16px 0 0 14px;
-}
-#rss span {
- margin-left: 3px;
- font-size: 13px;
-}
-.listview .rounded {
- line-height: normal;
- margin-right: 0;
-}
-div#content-block-content {
- padding-left: 10px;
-}
-.empty-wishlist {
- margin-top: 10px;
-}
-.js-news-text {
- float: left;
- width: 70%;
- font-size: 15px;
- color: #3d4e53;
- font-family: lucida grande;
-}
-.js-news-links {
- float: right;
- width: 30%;
-}
-.column-left .item {
- margin: 0 10px 10px 0;
-}
-.column-center .item {
- margin: 0 5px 10px 5px;
-}
-.column-right .item {
- margin: 0 0 10px 10px;
-}
-.column .item {
- border: 7px solid #edf3f4;
- padding: 10px;
-}
-.book-image {
- padding: 0 0 10px 0;
-}
-.book-info {
- padding: 0 0 10px 0;
- line-height: 125%;
- position: relative;
-}
-.book-info span.book-new {
- background: url(/static/images/images/icon-new.png) 0 0 no-repeat;
- width: 38px;
- height: 36px;
- display: block;
- position: absolute;
- right: 10px;
- top: 0;
-}
-.book-name {
- color: #3d4e53;
-}
-.book-author {
- color: #6994a3;
-}
-.book-status {
- margin: 0 -10px;
- border-top: 1px solid #edf3f4;
- padding: 15px 10px 0 10px;
- position: relative;
-}
-.book-status span.unglue {
- font-style: italic;
-}
-.book-status span.status {
- position: absolute;
- right: 10px;
- bottom: -5px;
- width: 37px;
- height: 25px;
- display: block;
-}
-#js-slide .jsmodule {
- width: 660px !important;
-}
-#js-maincontainer-bot-block {
- padding-left: 16px;
-}
-.anon_about {
- height: 43px;
- line-height: 43px;
- font-size: 15px;
- padding-left: 37px;
- border: solid 3px #d6dde0;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- width: 665px;
- margin: 7px 0;
-}
-.anon_about a {
- font-size: 15px;
- color: #8dc63f;
-}
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.block-inner{padding-right:10px}.user-block{width:100%;clear:both}#user-block-hide{float:left;width:100%;clear:both;padding-top:10px}#user-block-hide .block{float:left}#user-block-hide .block1,#user-block-hide .block3{width:25%}#user-block-hide .block2{width:50%}#user-block-hide .block2 div{float:left;max-width:340px}#user-block-hide .block2 input{margin-left:5px}#user-block-hide input{float:left;margin:3px 10px 0 0;width:45%}#user-block-hide input[type=checkbox]{float:none;width:auto}#user-block-hide input#librarything_input,#user-block-hide input#goodreads_input{width:auto;cursor:pointer;background:#edf3f4;color:#3d4e53;cursor:pointer}#user-block-hide input.profile-save{width:116px;cursor:pointer}#user-block-hide label{float:left;width:90%}#user-block-hide textarea{width:95%}#user-block-hide select{margin-bottom:5px}#user-block1{float:left;width:25%}.user-block2{color:#6994a3;font-size:13px;line-height:normal;float:left;width:25%}.user-block3,.user-block4{float:left;width:25%}.user-block3.recommended,.user-block4.recommended{margin-top:auto}.user-block3.recommended img,.user-block4.recommended img{margin-right:7px}.user-block3{margin-top:8px}.user-block3 .ungluingtext{height:29px;line-height:29px;float:left;color:#3d4e53;padding-right:5px}.user-block4{margin-top:7px}img.user-avatar{float:left;margin-right:10px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px}.social{width:100%}span.special-user-name{display:block;font-size:19px;color:#3d4e53;margin-left:10px;font-weight:bold;height:50px}span.user-name,span.user-date,span.user-short-info{display:block}.user-block2 .user-short-info{padding-right:10px}span.user-name,span.user-name a{font-size:13px;color:#3d4e53}span.user-status-title{float:left;margin-right:8px;padding-top:5px}span.rounded{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}span.rounded>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}span.rounded>span .hovertext{display:none}span.rounded>span:hover .hovertext{display:inline}span.blue{background:#a7d26a url("/static/images/header-button-blue.png") left bottom repeat-x}span.orange{background:#eabc7c url("/static/images/header-button-orange.png") left bottom repeat-x}span.grey{background:#bacfd6 url("/static/images/header-button-grey.png") left bottom repeat-x}div.check-list{float:left;padding-bottom:7px;clear:both}a.profile-edit{display:block}div.profile-save{padding-top:15px;border:0}input.profile-save{background:url("/static/images/header/save-setting.png") 0 0 no-repeat;width:116px;height:42px;display:block;text-indent:-100000px;border:0;cursor:pointer}#loadgr{background:url("/static/images/supporter_icons/goodreads_square.png") left center no-repeat;min-height:33px;margin:12px auto}#loadgr span{display:inline-block;vertical-align:middle}#loadgr div,#loadgr input{margin:auto 10px auto 36px}#loadgr #goodreads_shelves{margin:auto 10px auto 36px;display:block}#loadlt{background:url("/static/images/supporter_icons/librarything_square.png") left center no-repeat;min-height:32px;padding-top:4px}#loadlt div,#loadlt input{margin:auto 10px auto 36px}.weareonthat{background:url("/static/images/checkmark_small.png") left center no-repeat}span.my-setting{background:#d6dde0 url("/static/images/header/explane.png") 90% center no-repeat;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;height:50px;line-height:50px;display:block;padding:0 0 0 10px;font-size:19px;font-weight:bold;cursor:pointer}span.my-setting.active{background:#d6dde0 url("/static/images/header/collspane.png") 90% center no-repeat}.badges.listspage{float:left;margin-left:12px}#tabs{clear:both;float:left;margin-left:10px;margin-top:10px;width:100%;border-bottom:4px solid #d6dde0}#tabs ul.tabs li a:hover{text-decoration:none}#tabs.wantto ul.tabs li.tabs3.active a{background:#d6dde0;color:#3d4e53}#tabs.ungluing ul.tabs li.tabs2.active a{background:#eabc7c;color:#fff}#tabs.unglued ul.tabs li.tabs1.active a{background:#8dc63f;color:#fff}#tabs ul.book-list-view{margin-bottom:0!important}#tabs-1,#tabs-2,#tabs-3{margin-left:10px}ul.tabs{float:left;padding:0;margin:0;list-style:none}ul.tabs li{float:left;height:46px;line-height:46px;margin-right:2px}ul.tabs li.tabs1,ul.tabs li.tabs2,ul.tabs li.tabs3{width:112px}ul.tabs li a{height:46px;line-height:46px;display:block;text-align:center;padding:0 10px;min-width:80px;-moz-border-radius:7px 7px 0 0;-webkit-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;background:#6994a3;color:#fff}ul.tabs li.tabs1 a:hover,ul.tabs li.tabs1.active a{background:#8dc63f;color:#fff}ul.tabs li.tabs2 a:hover,ul.tabs li.tabs2.active a{background:#eabc7c;color:#fff}ul.tabs li.tabs3 a:hover,ul.tabs li.tabs3.active a{background:#d6dde0;color:#3d4e53}#rss{height:46px}#rss img{padding:16px 0 0 14px}#rss span{margin-left:3px;font-size:13px}.listview .rounded{line-height:normal;margin-right:0}div#content-block-content{padding-left:10px}.empty-wishlist{margin-top:10px}.js-news-text{float:left;width:70%;font-size:15px;color:#3d4e53;font-family:lucida grande}.js-news-links{float:right;width:30%}.column-left .item{margin:0 10px 10px 0}.column-center .item{margin:0 5px 10px 5px}.column-right .item{margin:0 0 10px 10px}.column .item{border:7px solid #edf3f4;padding:10px}.book-image{padding:0 0 10px 0}.book-info{padding:0 0 10px 0;line-height:125%;position:relative}.book-info span.book-new{background:url(/static/images/images/icon-new.png) 0 0 no-repeat;width:38px;height:36px;display:block;position:absolute;right:10px;top:0}.book-name{color:#3d4e53}.book-author{color:#6994a3}.book-status{margin:0 -10px;border-top:1px solid #edf3f4;padding:15px 10px 0 10px;position:relative}.book-status span.unglue{font-style:italic}.book-status span.status{position:absolute;right:10px;bottom:-5px;width:37px;height:25px;display:block}#js-slide .jsmodule{width:660px!important}#js-maincontainer-bot-block{padding-left:16px}.anon_about{height:43px;line-height:43px;font-size:15px;padding-left:37px;border:solid 3px #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;width:665px;margin:7px 0}.anon_about a{font-size:15px;color:#8dc63f}
\ No newline at end of file
diff --git a/static/js/reconcile_pledge.js b/static/js/reconcile_pledge.js
index a254a709..acec369d 100644
--- a/static/js/reconcile_pledge.js
+++ b/static/js/reconcile_pledge.js
@@ -4,47 +4,128 @@ $j(function() {
$j('#id_preapproval_amount').focus();
});
-// if amount in pledge box is too small to qualify for premium, call attention to it
-// and disable the input button with a helpful message
-// when they fix it, revert to original styling and reactivate button
-
$j().ready(function() {
// cache these to speed things up
var inputbox = $j('#id_preapproval_amount');
var submitbutton = $j('#pledgesubmit');
var fakesubmitbutton = $j('#fakepledgesubmit');
+ var anonbox = $j('#anonbox input');
+ var supporterName = $j('#supporter_name').html();
+ var supporterAckName = supporterName;
+ // we're not letting people submit arbitrary links
+ $j('#id_ack_link').attr('disabled', 'disabled');
+
+ // take an input button from the premiums list
+ // find the premium amount in its associated span class
+ // convert to usable integer form and return
var canonicalize = function(amt) {
- // takes an input button from the premiums list
- // finds the premium amount its associated the span class
- // converts to usable integer form and returns
amt = amt.siblings('span.menu-item-price').html();
amt = amt.split('$')[1];
amt = parseInt(amt);
return amt;
}
+ // if amount in pledge box is too small to qualify for premium, highlight pledge
+ // box and submit button in alert color and disable the pledge input button
+ // with a helpful message
var mayday = function() {
- // highlights pledge box and submit button in alert color
- // disables submit button and overwrites with help text
inputbox.css({'border-color': '#e35351', 'background-color': '#e35351', 'color': 'white'});
- fakesubmitbutton.val("You must pledge at least $"+amount+" for that premium");
+ fakesubmitbutton.val("Pledge at least $"+amount+" to claim that premium");
fakesubmitbutton.show();
submitbutton.hide();
submitbutton.attr('disabled', 'disabled');
}
+ // when pledge covers premium again, revert to original styling and reactivate button
var allclear = function() {
- // returns pledge box and submit button to conventional colors
- // enables submit button and rewrites with original text
inputbox.css({'border-color': '#8dc63f', 'background-color': 'white', 'color': '#3d4e53'});
fakesubmitbutton.hide();
submitbutton.show();
submitbutton.removeAttr('disabled');
}
+ // make mandatory premium input area active
+ var activate = function(mySpan) {
+ $j('#'+mySpan).removeClass('ack_inactive').addClass('ack_active');
+ $j('#'+mySpan+' input').removeAttr('disabled');
+ $j('#id_ack_name').val(supporterAckName);
+ }
+
+ // make mandatory premium input area inactive: greyed-out and not modifiable
+ var deactivate = function(mySpan) {
+ $j('#'+mySpan).removeClass('ack_active').addClass('ack_inactive');
+ $j('#'+mySpan+' input[type=text]').attr('disabled', 'disabled');
+ }
+
+ // fill mandatory premium link input with supporter page
+ var activateLink = function() {
+ $j('#ack_link').removeClass('ack_inactive').addClass('ack_active');
+ $j('input#id_ack_link').val('https://unglue.it/supporter/'+supporterName);
+ }
+
+ // empty mandatory premium link
+ var deactivateLink = function() {
+ $j('#ack_link').removeClass('ack_active').addClass('ack_inactive');
+ $j('input#id_ack_link').val('');
+ }
+
+ var anonymizeName = function() {
+ $j('#id_ack_name').val('Anonymous');
+ deactivate('ack_name');
+ // clicking the anonbox should disable name field, but not render
+ // anonbox impossible to click again!
+ $j('#id_anonymous').removeAttr('disabled');
+ }
+
+ // selectively highlight/grey out acknowledgements supporter is eligible for
+ var rectifyAcknowledgements = function(current) {
+ var anon = anonbox.prop("checked");
+ if (current < 25) {
+ $j('#id_ack_name').val('');
+ deactivate('ack_name');
+ deactivateLink();
+ deactivate('ack_dedication');
+ } else if (current >= 25 && current < 50) {
+ deactivateLink();
+ deactivate('ack_dedication');
+ if (anon) {
+ anonymizeName();
+ } else {
+ activate('ack_name');
+ }
+ } else if (current >= 50 && current < 100) {
+ deactivate('ack_dedication');
+ if (anon) {
+ anonymizeName();
+ deactivateLink();
+ } else {
+ activate('ack_name');
+ activateLink();
+ }
+ } else if (current >= 100) {
+ activate('ack_dedication');
+ if (anon) {
+ anonymizeName();
+ deactivateLink();
+ } else {
+ activate('ack_name');
+ activateLink();
+ }
+ }
+ }
+
+ // initialize the acknowledgements fields. if we've prefilled the pledge info,
+ // use that.
+ current = inputbox.val();
+ if (current) {
+ rectifyAcknowledgements(current);
+ } else {
+ rectifyAcknowledgements(0);
+ }
+
+ // when user clicks a premium, ensure it is compatible with the pledge box amount
$j('#premiums_list input').on("click", function() {
- // when user clicks a premium, ensure it is compatible with the pledge box amount
amount = canonicalize($j(this));
current = inputbox.val();
if (current
Date: Wed, 1 Aug 2012 08:52:53 -0400
Subject: [PATCH 09/95] taking care of some edge cases after testing
---
static/js/reconcile_pledge.js | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/static/js/reconcile_pledge.js b/static/js/reconcile_pledge.js
index acec369d..f5fa5b10 100644
--- a/static/js/reconcile_pledge.js
+++ b/static/js/reconcile_pledge.js
@@ -11,7 +11,10 @@ $j().ready(function() {
var fakesubmitbutton = $j('#fakepledgesubmit');
var anonbox = $j('#anonbox input');
var supporterName = $j('#supporter_name').html();
- var supporterAckName = supporterName;
+ var acks = {
+ ack_name: supporterName,
+ ack_dedication: ''
+ };
// we're not letting people submit arbitrary links
$j('#id_ack_link').attr('disabled', 'disabled');
@@ -49,13 +52,14 @@ $j().ready(function() {
var activate = function(mySpan) {
$j('#'+mySpan).removeClass('ack_inactive').addClass('ack_active');
$j('#'+mySpan+' input').removeAttr('disabled');
- $j('#id_ack_name').val(supporterAckName);
+ ack = acks[mySpan];
+ $j('#id_'+mySpan).val(ack);
}
// make mandatory premium input area inactive: greyed-out and not modifiable
var deactivate = function(mySpan) {
$j('#'+mySpan).removeClass('ack_active').addClass('ack_inactive');
- $j('#'+mySpan+' input[type=text]').attr('disabled', 'disabled');
+ $j('#'+mySpan+' input[type=text]').val('').attr('disabled', 'disabled');
}
// fill mandatory premium link input with supporter page
@@ -71,8 +75,8 @@ $j().ready(function() {
}
var anonymizeName = function() {
- $j('#id_ack_name').val('Anonymous');
deactivate('ack_name');
+ $j('#id_ack_name').val('Anonymous');
// clicking the anonbox should disable name field, but not render
// anonbox impossible to click again!
$j('#id_anonymous').removeAttr('disabled');
@@ -82,7 +86,6 @@ $j().ready(function() {
var rectifyAcknowledgements = function(current) {
var anon = anonbox.prop("checked");
if (current < 25) {
- $j('#id_ack_name').val('');
deactivate('ack_name');
deactivateLink();
deactivate('ack_dedication');
@@ -167,11 +170,14 @@ $j().ready(function() {
rectifyAcknowledgements(current);
});
- // if supporters enter a name in the acknowledgements name box, keep track of it
- // so it doesn't get overwritten if they decrease & re-increase pledge, or
+ // if supporters enter a name or dedication, keep track of them
+ // so they doesn't get thrown away if they decrease & re-increase pledge, or
// anonymize and then de-anonymize
$j('#ack_name input[type=text]').change(function() {
- supporterAckName = $j(this).val();
+ acks['ack_name'] = $j(this).val();
+ });
+ $j('#ack_dedication input[type=text]').change(function() {
+ acks['ack_dedication'] = $j(this).val();
});
// input boxes must be enabled for values to be submitted
From 19b71222fa1beab1b3509b28333f0d39a40b48c2 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Wed, 1 Aug 2012 09:08:07 -0400
Subject: [PATCH 10/95] more post-testing fixes
---
static/js/reconcile_pledge.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/static/js/reconcile_pledge.js b/static/js/reconcile_pledge.js
index f5fa5b10..4e668e6d 100644
--- a/static/js/reconcile_pledge.js
+++ b/static/js/reconcile_pledge.js
@@ -15,7 +15,7 @@ $j().ready(function() {
ack_name: supporterName,
ack_dedication: ''
};
-
+
// we're not letting people submit arbitrary links
$j('#id_ack_link').attr('disabled', 'disabled');
From f6f624fe87551b5c11b7552553756fd67819c640 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Wed, 1 Aug 2012 09:19:09 -0400
Subject: [PATCH 11/95] addressing some questions we actually get about Amazon
and Paypal and making sure answers on page are correct
---
frontend/templates/faq_pledge.html | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/frontend/templates/faq_pledge.html b/frontend/templates/faq_pledge.html
index 11a34bc6..0ca0c268 100644
--- a/frontend/templates/faq_pledge.html
+++ b/frontend/templates/faq_pledge.html
@@ -6,21 +6,28 @@
How do I pledge?
Do I need an Amazon account to pledge?
+
+ Can I use PayPal or some other non-Amazon payment system?
+
+
+
When will I be charged?
From 86f87d9b80e029dca1287010a16a57c2cffc9c09 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Wed, 1 Aug 2012 10:56:49 -0400
Subject: [PATCH 12/95] no longer actually using this anywhere
---
static/js/prefill_pledge.js | 19 -------------------
1 file changed, 19 deletions(-)
delete mode 100644 static/js/prefill_pledge.js
diff --git a/static/js/prefill_pledge.js b/static/js/prefill_pledge.js
deleted file mode 100644
index b61b7ffd..00000000
--- a/static/js/prefill_pledge.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var $j = jQuery.noConflict();
-//give pledge box focus
-$j(function() {
- $j('#id_preapproval_amount').focus();
-});
-// This autofills the pledge box when users select a premium tier.
-$j().ready(function() {
- var inputbox = $j('#id_preapproval_amount');
-
- $j('#premiums_list input').on("click", function() {
- amount = $j(this).siblings('span.menu-item-price').html();
- amount = amount.split('$')[1];
- amount = parseInt(amount);
- current = inputbox.val();
- if (current
Date: Wed, 1 Aug 2012 12:08:31 -0400
Subject: [PATCH 13/95] clarifying supporter vs benefactor vs bibliophile
---
static/js/reconcile_pledge.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/static/js/reconcile_pledge.js b/static/js/reconcile_pledge.js
index 4e668e6d..53bacb85 100644
--- a/static/js/reconcile_pledge.js
+++ b/static/js/reconcile_pledge.js
@@ -10,6 +10,7 @@ $j().ready(function() {
var submitbutton = $j('#pledgesubmit');
var fakesubmitbutton = $j('#fakepledgesubmit');
var anonbox = $j('#anonbox input');
+ var ackSection = $j('#ack_section');
var supporterName = $j('#supporter_name').html();
var acks = {
ack_name: supporterName,
@@ -89,6 +90,7 @@ $j().ready(function() {
deactivate('ack_name');
deactivateLink();
deactivate('ack_dedication');
+ ackSection.html('');
} else if (current >= 25 && current < 50) {
deactivateLink();
deactivate('ack_dedication');
@@ -97,6 +99,7 @@ $j().ready(function() {
} else {
activate('ack_name');
}
+ ackSection.html(' as a Supporter');
} else if (current >= 50 && current < 100) {
deactivate('ack_dedication');
if (anon) {
@@ -106,6 +109,7 @@ $j().ready(function() {
activate('ack_name');
activateLink();
}
+ ackSection.html(' as a Benefactor');
} else if (current >= 100) {
activate('ack_dedication');
if (anon) {
@@ -115,6 +119,7 @@ $j().ready(function() {
activate('ack_name');
activateLink();
}
+ ackSection.html(' as a Bibliophile');
}
}
From 2b16fc06a85ebfe1128199d72ce1b02d0c155b8e Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Wed, 1 Aug 2012 12:08:52 -0400
Subject: [PATCH 14/95] clarifying where the acks will happen
---
frontend/templates/pledge.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/templates/pledge.html b/frontend/templates/pledge.html
index b5bb5daf..11a06b5a 100644
--- a/frontend/templates/pledge.html
+++ b/frontend/templates/pledge.html
@@ -93,9 +93,9 @@
-
Depending on your pledge level, you'll also get these acknowledgements.
+
Depending on your pledge amount, you'll also get these acknowledgements.
-
+
{% comment %}
From 9d584a873eea60e328b57366b27a7fb07580d4ae Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Wed, 1 Aug 2012 12:08:57 -0400
Subject: [PATCH 15/95] font size tweaks
---
static/css/pledge.css | 2 +-
static/less/pledge.less | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/static/css/pledge.css b/static/css/pledge.css
index ef570d2d..f407b036 100644
--- a/static/css/pledge.css
+++ b/static/css/pledge.css
@@ -1 +1 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#content-block .jsmod-content,.book-detail{float:left;width:auto}input[type="submit"]{float:right;font-size:19px;margin:10px 0 10px;cursor:pointer}.pledge_amount{padding:10px;font-size:19px;background:#edf3f4}.pledge_amount.premium_level{margin-top:3px}form.pledgeform{width:470px}#id_preapproval_amount{width:50%;line-height:30px;font-size:15px}ul.support li,ul.support li:hover{background-image:none}p{margin:7px auto}.jsmodule.pledge{margin:auto}.jsmodule.pledge .jsmod-content{float:right!important}.modify_notification{width:452px;margin-bottom:7px;border:solid 2px #8dc63f;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:7px}.modify_notification h4{margin:0 0 5px 0}.cancel_notice{width:470px;padding:5px;margin-top:10px}#fakepledgesubmit{background-color:#e35351;cursor:default;font-weight:bold;font-size:19px;display:none}span.menu-item-price{float:none!important}#mandatory_premiums{font-size:15px}#mandatory_premiums div{float:left}#mandatory_premiums div.ack_level{width:16%;margin-right:3%;height:100%;padding:1.5%}#mandatory_premiums div.ack_header{width:73%;padding:1.5%}#mandatory_premiums div.ack_active,#mandatory_premiums div.ack_inactive{width:100%}#mandatory_premiums div.ack_active .ack_header,#mandatory_premiums div.ack_active .ack_level{border:solid #3d4e53;border-width:1%;background:white}#mandatory_premiums div.ack_inactive .ack_header,#mandatory_premiums div.ack_inactive .ack_level{border:solid #d6dde0;border-width:1%;background:#d6dde0}#mandatory_premiums div.ack_inactive input,#mandatory_premiums div.ack_inactive textarea{background:#d6dde0;border:dashed 1px #3d4e53}#mandatory_premiums>div{margin:7px 0}#mandatory_premiums input[type=text],#mandatory_premiums textarea{width:95%;font-size:15px;color:#3d4e53;margin:5px 0}#mandatory_premiums input[type=text]{height:19.5px;line-height:19.5px}#id_ack_link{border:0;cursor:default}
\ No newline at end of file
+.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#content-block .jsmod-content,.book-detail{float:left;width:auto}input[type="submit"]{float:right;font-size:19px;margin:10px 0 10px;cursor:pointer}.pledge_amount{padding:10px;font-size:19px;background:#edf3f4}.pledge_amount.premium_level{margin-top:3px}form.pledgeform{width:470px}#id_preapproval_amount{width:50%;line-height:30px;font-size:15px}ul.support li,ul.support li:hover{background-image:none}p{margin:7px auto}.jsmodule.pledge{margin:auto}.jsmodule.pledge .jsmod-content{float:right!important}.modify_notification{width:452px;margin-bottom:7px;border:solid 2px #8dc63f;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:7px}.modify_notification h4{margin:0 0 5px 0}.cancel_notice{width:470px;padding:5px;margin-top:10px}#fakepledgesubmit{background-color:#e35351;cursor:default;font-weight:bold;font-size:19px;display:none}span.menu-item-price{float:none!important}#mandatory_premiums{font-size:15px}#mandatory_premiums div{float:left}#mandatory_premiums div.ack_level{width:16%;margin-right:3%;height:100%;padding:1.5%}#mandatory_premiums div.ack_header{width:73%;padding:1.5%}#mandatory_premiums div.ack_active,#mandatory_premiums div.ack_inactive{width:100%;font-size:13px}#mandatory_premiums div.ack_active .ack_header,#mandatory_premiums div.ack_active .ack_level{border:solid #3d4e53;border-width:1%;background:white}#mandatory_premiums div.ack_inactive .ack_header,#mandatory_premiums div.ack_inactive .ack_level{border:solid #d6dde0;border-width:1%;background:#d6dde0}#mandatory_premiums div.ack_inactive input,#mandatory_premiums div.ack_inactive textarea{background:#d6dde0;border:dashed 1px #3d4e53}#mandatory_premiums>div{margin:7px 0}#mandatory_premiums input[type=text],#mandatory_premiums textarea{width:95%;font-size:15px;color:#3d4e53;margin:5px 0}#mandatory_premiums input[type=text]{height:19.5px;line-height:19.5px}#id_ack_link{border:0;cursor:default}
\ No newline at end of file
diff --git a/static/less/pledge.less b/static/less/pledge.less
index 04fbb63d..ad0cd780 100644
--- a/static/less/pledge.less
+++ b/static/less/pledge.less
@@ -98,6 +98,7 @@ span.menu-item-price {
&.ack_active, &.ack_inactive {
width: 100%;
+ font-size: @font-size-default;
}
&.ack_active {
From 94d3b724a32b3d9f89433101ed984a8437e600d4 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Fri, 3 Aug 2012 15:25:42 -0400
Subject: [PATCH 16/95] tweaks
---
static/css/book_panel.css | 608 +++++++++++++++++++++++++++++++-
static/css/campaign.css | 668 +++++++++++++++++++++++++++++++++++-
static/css/pledge.css | 216 +++++++++++-
static/less/book_panel.less | 22 +-
4 files changed, 1506 insertions(+), 8 deletions(-)
diff --git a/static/css/book_panel.css b/static/css/book_panel.css
index 51d6fc3f..52c52aa6 100644
--- a/static/css/book_panel.css
+++ b/static/css/book_panel.css
@@ -1 +1,607 @@
-@charset "utf-8";.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.greenpanelstuff{font-family:Arial,Helvetica,sans-serif;font-size:12px;width:120px;line-height:16px}.greenpanelactionborders{border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff}.panelhoverlink{text-decoration:none;color:#3d4e53}.readit{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}*{padding:0;margin:0}#main-wrapper{height:100%;width:725px;margin:0;padding:0}.panelview.tabs{padding:5px 0;margin:0;width:142px;float:left}.panelview.tabs span.active{padding:15px;margin:15px 0;font-weight:bold}.panelview.book-list{font-family:Arial,Helvetica,sans-serif;font-size:12px;width:120px;line-height:16px;margin:auto;padding:0 5px 5px 5px;height:300px;background-color:#fff;color:#3d4e53;border:5px solid #edf3f4;position:relative}.panelview.book-list:hover{color:#3d4e53}.panelview.book-list img{padding:5px 0;margin:0}.panelview.remove-wishlist,.panelview.on-wishlist,.panelview.create-account,.panelview.add-wishlist{display:none}.panelview.book-name div{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:16px;max-height:32px;color:#3d4e53;overflow:hidden}.panelview.booklist-status{display:none}.panelview.icons{position:absolute;bottom:-3px;width:140px}.panelview.icons .booklist-status-img{float:left}.panelview.icons .booklist-status-label{position:absolute;color:#8dc63f;padding-left:5px;left:40px;bottom:5px;font-size:17px;margin-bottom:3px}.panelview.icons .panelnope{display:none}.panelview.icons .rounded{margin-bottom:7px}.panelview.boolist-ebook a{display:none}div.panelview.side1{display:visible}div.panelview.side2{display:none}.panelback{position:relative}.greenpanel2{font-family:Arial,Helvetica,sans-serif;font-size:12px;width:120px;line-height:16px;margin:0;padding:10px;height:295px;background-color:#8dc63f;color:#fff;position:absolute;top:-5px;left:-10px}.greenpanel_top{height:135px}.unglued_white{font-size:12px;margin:0 auto 10px auto;padding:5px 0 10px 0;height:58px}.read_itbutton{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}.read_itbutton span{line-height:40px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 30px;color:#73a334;background:url("/static/images/book-panel/book_icon.png") no-repeat 10% center}.read_itbutton span:hover{text-decoration:none}.read_itbutton span:hover{text-decoration:none;color:#3d4e53}.read_itbutton.pledge{background-image:url("/static/images/icons/pledgearrow-green.png");background-repeat:no-repeat;background-position:90% center}.read_itbutton.pledge span{line-height:35px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 25px;color:#73a334;background:0}.read_itbutton.pledge span:hover{text-decoration:none}.read_itbutton.pledge span:hover{text-decoration:none;color:#3d4e53}.read_itbutton_fail{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}.read_itbutton_fail span{line-height:40px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 15px;color:#73a334;background:0}.read_itbutton_fail span:hover{text-decoration:none}.Unglue_itbutton{width:118px;height:35px;padding:0;background:#fff;margin:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid #81bb38}.Unglue_itbutton a{background-image:url("/static/images/book-panel/unglue_icon.png");line-height:40px;font-size:11px;background-repeat:no-repeat;background-position:10px center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 25px;color:#73a334}.Unglue_itbutton a:hover{text-decoration:none}.moreinfo.add-wishlist,.moreinfo.create-account{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/book-panel/add_wish_icon.png") no-repeat left center;padding-right:0}.moreinfo.add-wishlist a,.moreinfo.create-account a,.moreinfo.add-wishlist span,.moreinfo.create-account span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 5px 0 21px;color:#FFF}.moreinfo.add-wishlist a:hover,.moreinfo.create-account a:hover,.moreinfo.add-wishlist span:hover,.moreinfo.create-account span:hover{text-decoration:none;color:#3d4e53}.moreinfo.remove-wishlist{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/booklist/remove-wishlist-white.png") no-repeat left center}.moreinfo.remove-wishlist a,.moreinfo.remove-wishlist span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 5px 0 21px;color:#FFF}.moreinfo.remove-wishlist a:hover,.moreinfo.remove-wishlist span:hover{text-decoration:none;color:#3d4e53}.moreinfo.on-wishlist{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/checkmark_small-white.png") no-repeat left center}.moreinfo.on-wishlist a,.moreinfo.on-wishlist span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 5px 0 21px;color:#FFF}.moreinfo.on-wishlist a:hover,.moreinfo.on-wishlist span:hover{text-decoration:none;color:#3d4e53}.white_text{width:120px;height:45px;padding:15px 0;margin:0}.white_text a{color:#fff;text-decoration:none}.white_text a:hover{text-decoration:none;color:#3d4e53}.white_text p{line-height:16px;max-height:32px;overflow:hidden}.moreinfo{width:120px;height:30px;padding:0;margin:10px 0 0 0;border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid;border-top-color:#fff;border-bottom-color:#fff;background:url("/static/images/book-panel/more_icon.png") no-repeat left center;cursor:pointer}.moreinfo a,.moreinfo span{line-height:30px;font-size:11px;background-repeat:no-repeat;background-position:left center;font-weight:bold;text-decoration:none;text-transform:uppercase;padding:0 0 0 21px;color:#FFF}.moreinfo a:hover,.moreinfo span:hover{text-decoration:none;color:#3d4e53}.moreinfo>div{height:30px;line-height:30px;padding-bottom:8px}.read{margin:15px auto 5px auto;padding:0;width:140px;color:#8dc63f;height:40px;line-height:25px;float:left;position:absolute;bottom:-15px}.read p{margin:0;padding:10px 3px;width:50px;font-size:10pt;float:left}.read img{padding:5px 0;margin:0;float:left}.read2{margin:15px auto;padding:0;width:130px;color:#8dc63f;height:40px;line-height:25px}.read2 p{margin:0;padding:10px 3px;width:50px;font-size:10pt;float:left}.read2 img{padding:0;margin:0;float:left}.right_add{padding:10px;margin:0;float:right}.panelview.book-thumb{position:relative;margin:0;padding:0;left:0}.panelview.book-thumb img{z-index:100;width:120px;height:182px}.panelview.book-thumb span{position:absolute;bottom:0;left:-10px;top:-5px;z-index:1000;height:auto}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+/* Local variables */
+.greenpanelstuff {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ width: 120px;
+ line-height: 16px;
+}
+.greenpanelactionborders {
+ border-top-width: 1px;
+ border-bottom-width: 1px;
+ border-top-style: solid;
+ border-bottom-style: solid;
+ border-top-color: #FFF;
+ border-bottom-color: #FFF;
+}
+.panelhoverlink {
+ text-decoration: none;
+ color: #3d4e53;
+}
+.readit {
+ width: 118px;
+ height: 35px;
+ padding: 0px 0px;
+ background: #FFF;
+ margin: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ border: 1px solid #81bb38;
+}
+/* background */
+@charset "utf-8";
+* {
+ padding: 0px;
+ margin: 0px;
+}
+#main-wrapper {
+ height: 100%;
+ width: 725px;
+ margin: 0px;
+ padding: 0px 0px;
+}
+.panelview.tabs {
+ padding: 5px 0px;
+ margin: 0px;
+ width: 142px;
+ float: left;
+}
+.panelview.tabs span.active {
+ padding: 15px;
+ margin: 15px 0px;
+ font-weight: bold;
+}
+/* styling of front side elements */
+.panelview.book-list {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ width: 120px;
+ line-height: 16px;
+ margin: auto;
+ padding: 0px 5px 5px 5px;
+ height: 300px;
+ background-color: #ffffff;
+ color: #3d4e53;
+ border: 5px solid #edf3f4;
+ position: relative;
+}
+.panelview.book-list:hover {
+ color: #3d4e53;
+}
+.panelview.book-list img {
+ padding: 5px 0px;
+ margin: 0px;
+}
+.panelview.remove-wishlist,
+.panelview.on-wishlist,
+.panelview.create-account,
+.panelview.add-wishlist {
+ display: none;
+}
+.panelview.book-name div {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ line-height: 16px;
+ max-height: 32px;
+ color: #3d4e53;
+ overflow: hidden;
+}
+.panelview.book-name div a {
+ color: #6994a3;
+}
+.panelview.booklist-status {
+ display: none;
+}
+.panelview.icons {
+ position: absolute;
+ bottom: -3px;
+ width: 140px;
+}
+.panelview.icons .booklist-status-img {
+ float: left;
+}
+.panelview.icons .booklist-status-label {
+ position: absolute;
+ color: #8dc63f;
+ padding-left: 5px;
+ left: 40px;
+ bottom: 5px;
+ font-size: 17px;
+ margin-bottom: 3px;
+}
+.panelview.icons .panelnope {
+ display: none;
+}
+.panelview.icons .rounded {
+ margin-bottom: 7px;
+}
+/* make sure the box with the number of wishers displays right */
+span.rounded {
+ 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;
+}
+span.rounded > span {
+ padding: 7px 7px;
+ min-width: 15px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ text-align: center;
+ display: inline-block;
+}
+span.rounded > span .hovertext {
+ display: none;
+}
+span.rounded > span:hover .hovertext {
+ display: inline;
+}
+span.grey {
+ background: #bacfd6 url("/static/images/header-button-grey.png") left bottom repeat-x;
+}
+.panelview.boolist-ebook a {
+ display: none;
+}
+/* switch to/from hover state when jquery swaps class names */
+div.panelview.side1 {
+ display: visible;
+}
+div.panelview.side2 {
+ display: none;
+}
+/* styling of hover state */
+.panelback {
+ position: relative;
+}
+.greenpanel2 {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ width: 120px;
+ line-height: 16px;
+ margin: 0;
+ padding: 10px;
+ height: 295px;
+ background-color: #8dc63f;
+ color: #fff;
+ position: absolute;
+ top: -5px;
+ left: -10px;
+}
+.greenpanel_top {
+ height: 135px;
+}
+/* Campaign status text at top of hover state */
+.unglued_white {
+ font-size: 12px;
+ margin: 0px auto 10px auto;
+ padding: 5px 0 10px 0;
+ height: 58px;
+}
+/* White-background action buttons; vary by state of campaign */
+.read_itbutton {
+ width: 118px;
+ height: 35px;
+ padding: 0px 0px;
+ background: #FFF;
+ margin: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ border: 1px solid #81bb38;
+}
+.read_itbutton span {
+ line-height: 40px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: 10px center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0px 0px 0px 30px;
+ color: #73a334;
+ background: url("/static/images/book-panel/book_icon.png") no-repeat 10% center;
+}
+.read_itbutton span:hover {
+ text-decoration: none;
+}
+.read_itbutton span:hover {
+ text-decoration: none;
+ color: #3d4e53;
+}
+.read_itbutton.pledge {
+ background-image: url("/static/images/icons/pledgearrow-green.png");
+ background-repeat: no-repeat;
+ background-position: 90% center;
+}
+.read_itbutton.pledge span {
+ line-height: 35px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: 10px center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0px 0px 0px 25px;
+ color: #73a334;
+ background: none;
+}
+.read_itbutton.pledge span:hover {
+ text-decoration: none;
+}
+.read_itbutton.pledge span:hover {
+ text-decoration: none;
+ color: #3d4e53;
+}
+.read_itbutton_fail {
+ width: 118px;
+ height: 35px;
+ padding: 0px 0px;
+ background: #FFF;
+ margin: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ border: 1px solid #81bb38;
+}
+.read_itbutton_fail span {
+ line-height: 40px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: 10px center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0px 0px 0px 15px;
+ color: #73a334;
+ background: none;
+}
+.read_itbutton_fail span:hover {
+ text-decoration: none;
+}
+.Unglue_itbutton {
+ width: 118px;
+ height: 35px;
+ padding: 0px 0px;
+ background: #FFF;
+ margin: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ border: 1px solid #81bb38;
+}
+.Unglue_itbutton a {
+ background-image: url("/static/images/book-panel/unglue_icon.png");
+ line-height: 40px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: 10px center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0px 0px 0px 25px;
+ color: #73a334;
+}
+.Unglue_itbutton a:hover {
+ text-decoration: none;
+}
+.moreinfo.add-wishlist,
+.moreinfo.create-account {
+ width: 120px;
+ height: 30px;
+ padding: 0px;
+ margin: 10px 0 0 0;
+ border-top-width: 1px;
+ border-bottom-width: 1px;
+ border-top-style: solid;
+ border-bottom-style: solid;
+ border-top-color: #FFF;
+ border-bottom-color: #FFF;
+ background: url("/static/images/book-panel/add_wish_icon.png") no-repeat left center;
+ padding-right: 0;
+}
+.moreinfo.add-wishlist a,
+.moreinfo.create-account a,
+.moreinfo.add-wishlist span,
+.moreinfo.create-account span {
+ line-height: 30px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: left center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0 5px 0 21px;
+ color: #FFF;
+}
+.moreinfo.add-wishlist a:hover,
+.moreinfo.create-account a:hover,
+.moreinfo.add-wishlist span:hover,
+.moreinfo.create-account span:hover {
+ text-decoration: none;
+ color: #3d4e53;
+}
+.moreinfo.remove-wishlist {
+ width: 120px;
+ height: 30px;
+ padding: 0px;
+ margin: 10px 0 0 0;
+ border-top-width: 1px;
+ border-bottom-width: 1px;
+ border-top-style: solid;
+ border-bottom-style: solid;
+ border-top-color: #FFF;
+ border-bottom-color: #FFF;
+ background: url("/static/images/booklist/remove-wishlist-white.png") no-repeat left center;
+}
+.moreinfo.remove-wishlist a,
+.moreinfo.remove-wishlist span {
+ line-height: 30px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: left center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0 5px 0 21px;
+ color: #FFF;
+}
+.moreinfo.remove-wishlist a:hover,
+.moreinfo.remove-wishlist span:hover {
+ text-decoration: none;
+ color: #3d4e53;
+}
+.moreinfo.on-wishlist {
+ width: 120px;
+ height: 30px;
+ padding: 0px;
+ margin: 10px 0 0 0;
+ border-top-width: 1px;
+ border-bottom-width: 1px;
+ border-top-style: solid;
+ border-bottom-style: solid;
+ border-top-color: #FFF;
+ border-bottom-color: #FFF;
+ background: url("/static/images/checkmark_small-white.png") no-repeat left center;
+}
+.moreinfo.on-wishlist a,
+.moreinfo.on-wishlist span {
+ line-height: 30px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: left center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0 5px 0 21px;
+ color: #FFF;
+}
+.moreinfo.on-wishlist a:hover,
+.moreinfo.on-wishlist span:hover {
+ text-decoration: none;
+ color: #3d4e53;
+}
+/* title, author */
+.white_text {
+ width: 120px;
+ height: 45px;
+ padding: 15px 0px;
+ margin: 0px;
+}
+.white_text a {
+ color: #FFF;
+ text-decoration: none;
+}
+.white_text a:hover {
+ text-decoration: none;
+ color: #3d4e53;
+}
+.white_text p {
+ /* necessary to ensure title/author don't overflow onto icons */
+
+ line-height: 16px;
+ max-height: 32px;
+ overflow: hidden;
+}
+.moreinfo {
+ width: 120px;
+ height: 30px;
+ padding: 0px;
+ margin: 10px 0 0 0;
+ border-top-width: 1px;
+ border-bottom-width: 1px;
+ border-top-style: solid;
+ border-bottom-style: solid;
+ border-top-color: #FFF;
+ border-bottom-color: #FFF;
+ background: url("/static/images/book-panel/more_icon.png") no-repeat left center;
+ cursor: pointer;
+}
+.moreinfo a,
+.moreinfo span {
+ line-height: 30px;
+ font-size: 11px;
+ background-repeat: no-repeat;
+ background-position: left center;
+ font-weight: bold;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 0 0 0 21px;
+ color: #FFF;
+}
+.moreinfo a:hover,
+.moreinfo span:hover {
+ text-decoration: none;
+ color: #3d4e53;
+}
+.moreinfo > div {
+ height: 30px;
+ line-height: 30px;
+ padding-bottom: 8px;
+}
+/*end the 2greenpanel*/
+.read {
+ margin: 15px auto 5px auto;
+ padding: 0px;
+ width: 140px;
+ color: #8dc63f;
+ height: 40px;
+ line-height: 25px;
+ float: left;
+ position: absolute;
+ bottom: -15px;
+}
+.read p {
+ margin: 0px;
+ padding: 10px 3px;
+ width: 50px;
+ font-size: 10pt;
+ float: left;
+}
+.read img {
+ padding: 5px 0px;
+ margin: 0px;
+ float: left;
+}
+/**/
+.read2 {
+ margin: 15px auto;
+ padding: 0px;
+ width: 130px;
+ color: #8dc63f;
+ height: 40px;
+ line-height: 25px;
+}
+.read2 p {
+ margin: 0px;
+ padding: 10px 3px;
+ width: 50px;
+ font-size: 10pt;
+ float: left;
+}
+.read2 img {
+ padding: 0px;
+ margin: 0px;
+ float: left;
+}
+.right_add {
+ padding: 10px;
+ margin: 0px;
+ float: right;
+}
+/* --------------- ( slideout hover state ) --------------------------------------------- */
+.panelview.book-thumb {
+ position: relative;
+ margin: 0px;
+ padding: 0px;
+ left: 0px;
+}
+.panelview.book-thumb img {
+ z-index: 100;
+ width: 120px;
+ height: 182px;
+}
+.panelview.book-thumb span {
+ position: absolute;
+ bottom: 0;
+ left: -10px;
+ top: -5px;
+ z-index: 1000;
+ height: auto;
+}
diff --git a/static/css/campaign.css b/static/css/campaign.css
index 646a998d..c3729f70 100755
--- a/static/css/campaign.css
+++ b/static/css/campaign.css
@@ -1 +1,667 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#tabs{border-bottom:4px solid #6994a3;clear:both;float:left;margin-top:10px;width:100%}#tabs ul.book-list-view{margin-bottom:4px!important}#tabs-1,#tabs-2,#tabs-3,#tabs-4{display:none}#tabs-1.active,#tabs-2.active,#tabs-3.active,#tabs-4.active{display:inherit}#tabs-2 textarea{width:95%}ul.tabs{float:left;padding:0;margin:0;list-style:none;width:100%}ul.tabs li{float:left;height:46px;line-height:20px;padding-right:2px;width:116px;background:0;margin:0;padding:0 2px 0 0}ul.tabs li.tabs4{padding-right:0}ul.tabs li a{height:46px;line-height:18px;display:block;text-align:center;padding:0 10px;min-width:80px;-moz-border-radius:7px 7px 0 0;-webkit-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;background:#d6dde0;color:#3d4e53}ul.tabs li a:hover{text-decoration:none}ul.tabs li a div{padding-top:8px}ul.tabs li a:hover,ul.tabs li.active a{background:#6994a3;color:#fff}.book-detail{float:left;width:100%;clear:both;display:block}#book-detail-img{float:left;margin-right:10px;width:151px}#book-detail-img img{padding:5px;border:solid 5px #edf3f4}.book-detail-info{float:left;width:309px}.book-detail-info h2.book-name,.book-detail-info h3.book-author,.book-detail-info h3.book-year{padding:0;margin:0;line-height:normal}.book-detail-info h2.book-name{font-size:19px;text-transform:capitalize;font-weight:bold;color:#3d4e53}.book-detail-info h3.book-author,.book-detail-info h3.book-year{font-size:13px;font-weight:normal;color:#6994a3}.book-detail-info>div{width:100%;clear:both;display:block;overflow:hidden;border-top:1px solid #edf3f4;padding:10px 0}.book-detail-info>div.layout{border:0;padding:0}.book-detail-info>div.layout div.pubinfo{float:left;width:auto;padding-bottom:7px}.book-detail-info>div.layout div.btn_support{float:right}.book-detail-info>div.layout div.btn_support input{font-size:15px}.book-detail-info>div.layout div.btn_support.modify input{background:#d6dde0;font-size:13px;border:double white;line-height:17px}.book-detail-info .btn_wishlist span{text-align:right}.book-detail-info .find-book{margin-top:15px}.book-detail-info .find-book label{float:left;line-height:31px}.book-detail-info .find-link{float:right}.book-detail-info .find-link img{padding:2px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.book-detail-info .pledged-info{padding:0;position:relative}.book-detail-info .pledged-group{padding:10px 40px 10px 0;float:left}.book-detail-info .status{position:absolute;top:50%;right:0;height:25px;margin-top:-12px}#js-page-wrap{overflow:hidden}#main-container{margin-top:20px}#js-leftcol .jsmodule,.pledge.jsmodule{margin-bottom:10px}#js-leftcol .jsmodule.rounded .jsmod-content,.pledge.jsmodule.rounded .jsmod-content{-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;background:#edf3f4;color:#3d4e53;padding:10px 20px;font-weight:bold;border:0;margin:0;line-height:16px}#js-leftcol .jsmodule.rounded .jsmod-content.ACTIVE,.pledge.jsmodule.rounded .jsmod-content.ACTIVE{background:#8dc63f;color:white;font-size:19px;font-weight:normal;line-height:20px}#js-leftcol .jsmodule.rounded .jsmod-content.No.campaign.yet,.pledge.jsmodule.rounded .jsmod-content.No.campaign.yet{background:#e18551;color:white}#js-leftcol .jsmodule.rounded .jsmod-content span,.pledge.jsmodule.rounded .jsmod-content span{display:inline-block;vertical-align:middle}#js-leftcol .jsmodule.rounded .jsmod-content span.spacer,.pledge.jsmodule.rounded .jsmod-content span.spacer{visibility:none}#js-leftcol .jsmodule.rounded .jsmod-content span.findtheungluers,.pledge.jsmodule.rounded .jsmod-content span.findtheungluers{cursor:pointer}.jsmodule.pledge{float:left;margin-left:10px}#js-slide .jsmodule{width:660px!important}a{color:#3d4e53;font-size:13px}#js-search{margin:0 15px 0 15px!important}.alert>.errorlist{list-style-type:none;font-size:15px;border:0;text-align:left;font-weight:normal;font-size:13px}.alert>.errorlist>li{margin-bottom:14px}.alert>.errorlist .errorlist{margin-top:7px}.alert>.errorlist .errorlist li{width:auto;height:auto;padding-left:32px;padding-right:32px;font-size:13px}#js-maincol{float:left;width:470px;margin:0 10px}#js-maincol div#content-block{background:0;padding:0}.status{font-size:19px;color:#8dc63f}.add-wishlist,.add-wishlist-workpage,.remove-wishlist-workpage,.remove-wishlist,.on-wishlist,.create-account{float:right;cursor:pointer}.add-wishlist span,.add-wishlist-workpage span,.remove-wishlist-workpage span,.remove-wishlist span,.on-wishlist span,.create-account span{font-weight:normal;color:#3d4e53;text-transform:none;padding-left:20px}.add-wishlist span.on-wishlist,.add-wishlist-workpage span.on-wishlist,.remove-wishlist-workpage span.on-wishlist,.remove-wishlist span.on-wishlist,.on-wishlist span.on-wishlist,.create-account span.on-wishlist{background:url("/static/images/checkmark_small.png") left center no-repeat;cursor:default}.add-wishlist span,.add-wishlist-workpage span,.create-account span{background:url("/static/images/booklist/add-wishlist.png") left center no-repeat}.remove-wishlist-workpage span,.remove-wishlist span{background:url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat}div#content-block-content{padding-left:5px}div#content-block-content a{color:#6994a3}div#content-block-content #tabs-1 img{padding:5px;border:solid 5px #edf3f4}div#content-block-content #tabs-3{margin-left:-5px}.tabs-content{padding-right:5px}.tabs-content iframe{padding:5px;border:solid 5px #edf3f4}.tabs-content form{margin-left:-5px}.work_supporter{height:auto;min-height:50px;margin-top:5px;vertical-align:middle}.work_supporter_avatar{float:left;margin-right:5px}.work_supporter_avatar img{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.work_supporter_name{height:50px;line-height:50px;float:left}.work_supporter_nocomment{height:50px;margin-top:5px;vertical-align:middle;min-width:235px;float:left}.official{border:3px #8ac3d7 solid;padding:3px;margin-left:-5px}.editions{clear:both}.editions div{float:left;padding-bottom:5px}.editions .image{width:60px;overflow:hidden}.editions .metadata{display:block;overflow:hidden;margin-left:5px}.editions a:hover{text-decoration:underline}.show_more_edition,.show_more_ebooks{cursor:pointer}.show_more_edition{text-align:right}.show_more_edition:hover{text-decoration:underline}.more_edition{display:none;clear:both;padding-bottom:10px;padding-left:60px}.more_ebooks{display:none}.show_more_ebooks:hover{text-decoration:underline}#js-rightcol,#pledge-rightcol{float:right;width:235px;margin-bottom:20px}#js-rightcol h3.jsmod-title,#pledge-rightcol h3.jsmod-title{background:#a7c1ca;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px;height:auto;font-style:normal;font-size:15px;margin:0 0 10px 0;color:white}#js-rightcol h3.jsmod-title span,#pledge-rightcol h3.jsmod-title span{padding:0;color:#fff;font-style:normal;height:22px;line-height:22px}#js-rightcol .jsmodule,#pledge-rightcol .jsmodule{margin-bottom:10px}#js-rightcol .jsmodule a:hover,#pledge-rightcol .jsmodule a:hover{text-decoration:none}#pledge-rightcol{margin-top:7px}.js-rightcol-pad{border:1px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px}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}#widgetcode{display:none;border:1px solid #d6dde0;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px}ul.support li{border-bottom:1px solid #d6dde0;padding:10px 5px 10px 10px;background:url("/static/images/icons/pledgearrow.png") 98% center no-repeat}ul.support li span{display:block;padding-right:10px}ul.support li span.menu-item-price{font-size:19px;float:left;display:inline;margin-bottom:3px}ul.support li span.menu-item-desc{float:none;clear:both;font-size:15px;font-weight:normal;line-height:19.5px}ul.support li:hover{color:#fff;background:#8dc63f url("/static/images/icons/pledgearrow-hover.png") 98% center no-repeat}ul.support li:hover a{color:#fff;text-decoration:none}.you_pledged{float:left;line-height:21px;font-weight:normal;color:#3d4e53;padding-left:20px;background:url("/static/images/checkmark_small.png") left center no-repeat}.thank-you{font-size:19px;font-weight:bold;margin:20px auto}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+/* Campaign and manage_campaign use same tab styling, so it's factored out here */
+#tabs {
+ border-bottom: 4px solid #6994a3;
+ clear: both;
+ float: left;
+ margin-top: 10px;
+ width: 100%;
+}
+#tabs ul.book-list-view {
+ margin-bottom: 4px !important;
+}
+#tabs-1,
+#tabs-2,
+#tabs-3,
+#tabs-4 {
+ display: none;
+}
+#tabs-1.active,
+#tabs-2.active,
+#tabs-3.active,
+#tabs-4.active {
+ display: inherit;
+}
+#tabs-2 textarea {
+ width: 95%;
+}
+ul.tabs {
+ float: left;
+ padding: 0;
+ margin: 0;
+ list-style: none;
+ width: 100%;
+}
+ul.tabs li {
+ float: left;
+ height: 46px;
+ line-height: 20px;
+ padding-right: 2px;
+ width: 116px;
+ background: none;
+ margin: 0;
+ padding: 0 2px 0 0;
+}
+ul.tabs li.tabs4 {
+ padding-right: 0px;
+}
+ul.tabs li a {
+ height: 46px;
+ line-height: 18px;
+ display: block;
+ text-align: center;
+ padding: 0 10px;
+ min-width: 80px;
+ -moz-border-radius: 7px 7px 0 0;
+ -webkit-border-radius: 7px 7px 0 0;
+ border-radius: 7px 7px 0 0;
+ background: #d6dde0;
+ color: #3d4e53;
+}
+ul.tabs li a:hover {
+ text-decoration: none;
+}
+ul.tabs li a div {
+ padding-top: 8px;
+}
+ul.tabs li a:hover,
+ul.tabs li.active a {
+ background: #6994a3;
+ color: #fff;
+}
+/* needed for campaign, pledge, and manage_campaign */
+.book-detail {
+ float: left;
+ width: 100%;
+ clear: both;
+ display: block;
+}
+#book-detail-img {
+ float: left;
+ margin-right: 10px;
+ width: 151px;
+}
+#book-detail-img img {
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+}
+.book-detail-info {
+ float: left;
+ /* if we want to nix the explore bar, width should be 544ish */
+
+ width: 309px;
+}
+.book-detail-info h2.book-name,
+.book-detail-info h3.book-author,
+.book-detail-info h3.book-year {
+ padding: 0;
+ margin: 0;
+ line-height: normal;
+}
+.book-detail-info h2.book-name {
+ font-size: 19px;
+ text-transform: capitalize;
+ font-weight: bold;
+ color: #3d4e53;
+}
+.book-detail-info h3.book-author,
+.book-detail-info h3.book-year {
+ font-size: 13px;
+ font-weight: normal;
+ color: #6994a3;
+}
+.book-detail-info > div {
+ width: 100%;
+ clear: both;
+ display: block;
+ overflow: hidden;
+ border-top: 1px solid #edf3f4;
+ padding: 10px 0;
+}
+.book-detail-info > div.layout {
+ border: none;
+ padding: 0;
+}
+.book-detail-info > div.layout div.pubinfo {
+ float: left;
+ width: auto;
+ padding-bottom: 7px;
+}
+.book-detail-info > div.layout div.btn_support {
+ float: right;
+}
+.book-detail-info > div.layout div.btn_support input {
+ font-size: 15px;
+}
+.book-detail-info > div.layout div.btn_support.modify input {
+ background: #d6dde0;
+ font-size: 13px;
+ border: double white;
+ line-height: 17px;
+}
+.book-detail-info .btn_wishlist span {
+ text-align: right;
+}
+.book-detail-info .find-book {
+ margin-top: 15px;
+}
+.book-detail-info .find-book label {
+ float: left;
+ line-height: 31px;
+}
+.book-detail-info .find-link {
+ float: right;
+}
+.book-detail-info .find-link img {
+ padding: 2px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+.book-detail-info .pledged-info {
+ padding: 0;
+ position: relative;
+}
+.book-detail-info .pledged-group {
+ padding: 10px 40px 10px 0;
+ float: left;
+}
+.book-detail-info .status {
+ position: absolute;
+ top: 50%;
+ right: 0%;
+ height: 25px;
+ margin-top: -12px;
+}
+/* Common elements of share links -- just swap in the background image */
+/* Page layout */
+#js-page-wrap {
+ overflow: hidden;
+}
+#main-container {
+ margin-top: 20px;
+}
+#js-leftcol .jsmodule,
+.pledge.jsmodule {
+ margin-bottom: 10px;
+}
+#js-leftcol .jsmodule.rounded .jsmod-content,
+.pledge.jsmodule.rounded .jsmod-content {
+ -moz-border-radius: 20px;
+ -webkit-border-radius: 20px;
+ border-radius: 20px;
+ background: #edf3f4;
+ color: #3d4e53;
+ padding: 10px 20px;
+ font-weight: bold;
+ border: none;
+ margin: 0;
+ line-height: 16px;
+ /* Bubble in upper left looks different depending on campaign status */
+
+}
+#js-leftcol .jsmodule.rounded .jsmod-content.ACTIVE,
+.pledge.jsmodule.rounded .jsmod-content.ACTIVE {
+ background: #8dc63f;
+ color: white;
+ font-size: 19px;
+ font-weight: normal;
+ line-height: 20px;
+}
+#js-leftcol .jsmodule.rounded .jsmod-content.No.campaign.yet,
+.pledge.jsmodule.rounded .jsmod-content.No.campaign.yet {
+ background: #e18551;
+ color: white;
+}
+#js-leftcol .jsmodule.rounded .jsmod-content span,
+.pledge.jsmodule.rounded .jsmod-content span {
+ display: inline-block;
+ vertical-align: middle;
+}
+#js-leftcol .jsmodule.rounded .jsmod-content span.spacer,
+.pledge.jsmodule.rounded .jsmod-content span.spacer {
+ visibility: none;
+}
+#js-leftcol .jsmodule.rounded .jsmod-content span.findtheungluers,
+.pledge.jsmodule.rounded .jsmod-content span.findtheungluers {
+ cursor: pointer;
+}
+.jsmodule.pledge {
+ float: left;
+ margin-left: 10px;
+}
+#js-slide .jsmodule {
+ width: 660px !important;
+}
+a {
+ color: #3d4e53;
+ font-size: 13px;
+}
+#js-search {
+ margin: 0 15px 0 15px !important;
+}
+.alert > .errorlist {
+ list-style-type: none;
+ font-size: 15px;
+ border: none;
+ text-align: left;
+ font-weight: normal;
+ font-size: 13px;
+}
+.alert > .errorlist > li {
+ margin-bottom: 14px;
+}
+.alert > .errorlist .errorlist {
+ margin-top: 7px;
+}
+.alert > .errorlist .errorlist li {
+ width: auto;
+ height: auto;
+ padding-left: 32px;
+ padding-right: 32px;
+ font-size: 13px;
+}
+/* Center elements */
+#js-maincol {
+ float: left;
+ width: 470px;
+ margin: 0 10px;
+}
+#js-maincol div#content-block {
+ background: none;
+ padding: 0;
+}
+.status {
+ font-size: 19px;
+ color: #8dc63f;
+}
+/* Center - add/remove actions in book detail area */
+.add-wishlist,
+.add-wishlist-workpage,
+.remove-wishlist-workpage,
+.remove-wishlist,
+.on-wishlist,
+.create-account {
+ float: right;
+ cursor: pointer;
+}
+.add-wishlist span,
+.add-wishlist-workpage span,
+.remove-wishlist-workpage span,
+.remove-wishlist span,
+.on-wishlist span,
+.create-account span {
+ font-weight: normal;
+ color: #3d4e53;
+ text-transform: none;
+ padding-left: 20px;
+}
+.add-wishlist span.on-wishlist,
+.add-wishlist-workpage span.on-wishlist,
+.remove-wishlist-workpage span.on-wishlist,
+.remove-wishlist span.on-wishlist,
+.on-wishlist span.on-wishlist,
+.create-account span.on-wishlist {
+ background: url("/static/images/checkmark_small.png") left center no-repeat;
+ cursor: default;
+}
+.add-wishlist span,
+.add-wishlist-workpage span,
+.create-account span {
+ background: url("/static/images/booklist/add-wishlist.png") left center no-repeat;
+}
+.remove-wishlist-workpage span,
+.remove-wishlist span {
+ background: url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat;
+}
+/* Center - tabs and content below them */
+div#content-block-content {
+ padding-left: 5px;
+}
+div#content-block-content a {
+ color: #6994a3;
+}
+div#content-block-content #tabs-1 img {
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+}
+div#content-block-content #tabs-3 {
+ margin-left: -5px;
+}
+.tabs-content {
+ padding-right: 5px;
+}
+.tabs-content iframe {
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+}
+.tabs-content form {
+ margin-left: -5px;
+}
+.work_supporter {
+ height: auto;
+ min-height: 50px;
+ margin-top: 5px;
+ vertical-align: middle;
+}
+.work_supporter_avatar {
+ float: left;
+ margin-right: 5px;
+}
+.work_supporter_avatar img {
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+.work_supporter_name {
+ height: 50px;
+ line-height: 50px;
+ float: left;
+}
+.work_supporter_nocomment {
+ height: 50px;
+ margin-top: 5px;
+ vertical-align: middle;
+ min-width: 235px;
+ float: left;
+}
+.official {
+ border: 3px #8ac3d7 solid;
+ padding: 3px;
+ margin-left: -5px;
+}
+.editions {
+ clear: both;
+}
+.editions div {
+ float: left;
+ padding-bottom: 5px;
+}
+.editions .image {
+ width: 60px;
+ overflow: hidden;
+}
+.editions .metadata {
+ display: block;
+ overflow: hidden;
+ margin-left: 5px;
+}
+.editions a:hover {
+ text-decoration: underline;
+}
+.show_more_edition,
+.show_more_ebooks {
+ cursor: pointer;
+}
+.show_more_edition {
+ text-align: right;
+}
+.show_more_edition:hover {
+ text-decoration: underline;
+}
+.more_edition {
+ display: none;
+ clear: both;
+ padding-bottom: 10px;
+ padding-left: 60px;
+}
+.more_ebooks {
+ display: none;
+}
+.show_more_ebooks:hover {
+ text-decoration: underline;
+}
+/* Right column */
+#js-rightcol,
+#pledge-rightcol {
+ float: right;
+ width: 235px;
+ margin-bottom: 20px;
+}
+#js-rightcol h3.jsmod-title,
+#pledge-rightcol h3.jsmod-title {
+ background: #a7c1ca;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ padding: 10px;
+ height: auto;
+ font-style: normal;
+ font-size: 15px;
+ margin: 0 0 10px 0;
+ color: white;
+}
+#js-rightcol h3.jsmod-title span,
+#pledge-rightcol h3.jsmod-title span {
+ padding: 0;
+ color: #fff;
+ font-style: normal;
+ height: 22px;
+ line-height: 22px;
+}
+#js-rightcol .jsmodule,
+#pledge-rightcol .jsmodule {
+ margin-bottom: 10px;
+}
+#js-rightcol .jsmodule a:hover,
+#pledge-rightcol .jsmodule a:hover {
+ text-decoration: none;
+}
+#pledge-rightcol {
+ margin-top: 7px;
+}
+.js-rightcol-pad {
+ border: 1px solid #d6dde0;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ padding: 10px;
+}
+/* Right column - sharing */
+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: 0px;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+}
+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;
+}
+#widgetcode {
+ display: none;
+ border: 1px solid #d6dde0;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ padding: 10px;
+}
+/* Right column - support tiers */
+ul.support li {
+ border-bottom: 1px solid #d6dde0;
+ padding: 10px 5px 10px 10px;
+ background: url("/static/images/icons/pledgearrow.png") 98% center no-repeat;
+}
+ul.support li span {
+ display: block;
+ padding-right: 10px;
+}
+ul.support li span.menu-item-price {
+ font-size: 19px;
+ float: left;
+ display: inline;
+ margin-bottom: 3px;
+}
+ul.support li span.menu-item-desc {
+ float: none;
+ clear: both;
+ font-size: 15px;
+ font-weight: normal;
+ line-height: 19.5px;
+}
+ul.support li:hover {
+ color: #fff;
+ background: #8dc63f url("/static/images/icons/pledgearrow-hover.png") 98% center no-repeat;
+}
+ul.support li:hover a {
+ color: #fff;
+ text-decoration: none;
+}
+.you_pledged {
+ float: left;
+ line-height: 21px;
+ font-weight: normal;
+ color: #3d4e53;
+ padding-left: 20px;
+ background: url("/static/images/checkmark_small.png") left center no-repeat;
+}
+.thank-you {
+ font-size: 19px;
+ font-weight: bold;
+ margin: 20px auto;
+}
diff --git a/static/css/pledge.css b/static/css/pledge.css
index f407b036..db6767e4 100644
--- a/static/css/pledge.css
+++ b/static/css/pledge.css
@@ -1 +1,215 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#content-block .jsmod-content,.book-detail{float:left;width:auto}input[type="submit"]{float:right;font-size:19px;margin:10px 0 10px;cursor:pointer}.pledge_amount{padding:10px;font-size:19px;background:#edf3f4}.pledge_amount.premium_level{margin-top:3px}form.pledgeform{width:470px}#id_preapproval_amount{width:50%;line-height:30px;font-size:15px}ul.support li,ul.support li:hover{background-image:none}p{margin:7px auto}.jsmodule.pledge{margin:auto}.jsmodule.pledge .jsmod-content{float:right!important}.modify_notification{width:452px;margin-bottom:7px;border:solid 2px #8dc63f;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:7px}.modify_notification h4{margin:0 0 5px 0}.cancel_notice{width:470px;padding:5px;margin-top:10px}#fakepledgesubmit{background-color:#e35351;cursor:default;font-weight:bold;font-size:19px;display:none}span.menu-item-price{float:none!important}#mandatory_premiums{font-size:15px}#mandatory_premiums div{float:left}#mandatory_premiums div.ack_level{width:16%;margin-right:3%;height:100%;padding:1.5%}#mandatory_premiums div.ack_header{width:73%;padding:1.5%}#mandatory_premiums div.ack_active,#mandatory_premiums div.ack_inactive{width:100%;font-size:13px}#mandatory_premiums div.ack_active .ack_header,#mandatory_premiums div.ack_active .ack_level{border:solid #3d4e53;border-width:1%;background:white}#mandatory_premiums div.ack_inactive .ack_header,#mandatory_premiums div.ack_inactive .ack_level{border:solid #d6dde0;border-width:1%;background:#d6dde0}#mandatory_premiums div.ack_inactive input,#mandatory_premiums div.ack_inactive textarea{background:#d6dde0;border:dashed 1px #3d4e53}#mandatory_premiums>div{margin:7px 0}#mandatory_premiums input[type=text],#mandatory_premiums textarea{width:95%;font-size:15px;color:#3d4e53;margin:5px 0}#mandatory_premiums input[type=text]{height:19.5px;line-height:19.5px}#id_ack_link{border:0;cursor:default}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+#content-block .jsmod-content,
+.book-detail {
+ float: left;
+ width: auto;
+}
+input[type="submit"] {
+ float: right;
+ font-size: 19px;
+ margin: 10px 0 10px;
+ cursor: pointer;
+}
+.pledge_amount {
+ padding: 10px;
+ font-size: 19px;
+ background: #edf3f4;
+}
+.pledge_amount.premium_level {
+ margin-top: 3px;
+}
+form.pledgeform {
+ width: 470px;
+}
+#id_preapproval_amount {
+ width: 50%;
+ line-height: 30px;
+ font-size: 15px;
+}
+ul.support li,
+ul.support li:hover {
+ background-image: none;
+}
+p {
+ margin: 7px auto;
+}
+.jsmodule.pledge {
+ margin: auto;
+}
+.jsmodule.pledge .jsmod-content {
+ float: right !important;
+}
+.modify_notification {
+ width: 452px;
+ margin-bottom: 7px;
+ border: solid 2px #8dc63f;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ padding: 7px;
+}
+.modify_notification h4 {
+ margin: 0 0 5px 0;
+}
+.cancel_notice {
+ width: 470px;
+ padding: 5px;
+ margin-top: 10px;
+}
+#fakepledgesubmit {
+ background-color: #e35351;
+ cursor: default;
+ font-weight: bold;
+ font-size: 19px;
+ display: none;
+}
+span.menu-item-price {
+ float: none !important;
+}
+#mandatory_premiums {
+ font-size: 15px;
+}
+#mandatory_premiums div {
+ float: left;
+}
+#mandatory_premiums div.ack_level {
+ width: 16%;
+ margin-right: 3%;
+ height: 100%;
+ padding: 1.5%;
+}
+#mandatory_premiums div.ack_header {
+ width: 73%;
+ padding: 1.5%;
+}
+#mandatory_premiums div.ack_active,
+#mandatory_premiums div.ack_inactive {
+ width: 100%;
+ font-size: 13px;
+}
+#mandatory_premiums div.ack_active .ack_header,
+#mandatory_premiums div.ack_active .ack_level {
+ border: solid #3d4e53;
+ border-width: 1%;
+ background: white;
+}
+#mandatory_premiums div.ack_inactive .ack_header,
+#mandatory_premiums div.ack_inactive .ack_level {
+ border: solid #d6dde0;
+ border-width: 1%;
+ background: #d6dde0;
+}
+#mandatory_premiums div.ack_inactive input,
+#mandatory_premiums div.ack_inactive textarea {
+ background: #d6dde0;
+ border: dashed 1px #3d4e53;
+}
+#mandatory_premiums > div {
+ margin: 7px 0;
+}
+#mandatory_premiums input[type=text],
+#mandatory_premiums textarea {
+ width: 95%;
+ font-size: 15px;
+ color: #3d4e53;
+ margin: 5px 0;
+}
+#mandatory_premiums input[type=text] {
+ height: 19.5px;
+ line-height: 19.5px;
+}
+#id_ack_link {
+ border: none;
+ cursor: default;
+}
diff --git a/static/less/book_panel.less b/static/less/book_panel.less
index 18917aca..a7a6752c 100644
--- a/static/less/book_panel.less
+++ b/static/less/book_panel.less
@@ -23,8 +23,8 @@
border-bottom-width: 1px;
border-top-style: solid;
border-bottom-style: solid;
- border-top-color: #FFFFFF;
- border-bottom-color: #FFFFFF;
+ border-top-color: #FFF;
+ border-bottom-color: #FFF;
}
.panelhoverlink {
@@ -36,7 +36,7 @@
width:118px;
height:35px;
padding:0px 0px;
- background:#FFFFFF;
+ background:#FFF;
margin:0px;
.one-border-radius(4px);
border: 1px solid #81bb38;
@@ -127,8 +127,12 @@
font-size: 12px;
line-height:16px;
max-height:32px;
- color: #3d4e53;
+ color: @text-blue;
overflow: hidden;
+
+ a {
+ color: @medium-blue;
+ }
}
.panelview.booklist-status {
@@ -162,6 +166,14 @@
margin-bottom: 7px;
}
}
+/* make sure the box with the number of wishers displays right */
+span.rounded {
+ .roundedspan;
+}
+
+span.grey {
+ .supporter-color-span(#bacfd6, "grey");
+}
.panelview.boolist-ebook a {
display: none;
@@ -272,7 +284,7 @@ div.panelview.side2 {
margin:0px;
a {
- color:#FFFFFF;
+ color:#FFF;
text-decoration:none;
&:hover { .panelhoverlink;}
From b2161d893660cefc93f6e69ca8d6ef8574864a1a Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 6 Aug 2012 13:34:51 -0400
Subject: [PATCH 17/95] having acks variables works better if you actually pass
them through all stages of the data flow
---
payment/manager.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/payment/manager.py b/payment/manager.py
index 1f0ad5a5..911bea38 100644
--- a/payment/manager.py
+++ b/payment/manager.py
@@ -543,7 +543,8 @@ class PaymentManager( object ):
def authorize(self, currency, target, amount, expiry=None, campaign=None, list=None, user=None,
return_url=None, nevermind_url=None, anonymous=False, premium=None,
- paymentReason="unglue.it Pledge", ack_name=None, ack_link=None, ack_dedication=None, modification=False):
+ paymentReason="unglue.it Pledge", ack_name=None, ack_link=None, ack_dedication=None,
+ modification=False):
'''
authorize
@@ -560,7 +561,8 @@ class PaymentManager( object ):
anonymous: whether this pledge is anonymous
premium: the premium selected by the supporter for this transaction
paymentReason: a memo line that will show up in the Payer's Amazon (and Paypal?) account
- modification: whether this authorize call is part of a modification of an existing pledge
+ modification: whether this authorize call is part of a modification of an existing pledge
+ ack_name, ack_link, ack_dedication: how the user will be credited in the unglued ebook, if applicable
return value: a tuple of the new transaction object and a re-direct url. If the process fails,
the redirect url will be None
@@ -686,8 +688,8 @@ class PaymentManager( object ):
return canceled
def modify_transaction(self, transaction, amount, expiry=None, anonymous=None, premium=None,
- return_url=None, nevermind_url=None,
- paymentReason=None):
+ return_url=None, nevermind_url=None, paymentReason=None,
+ ack_name=None, ack_link=None, ack_dedication=None):
'''
modify
@@ -825,7 +827,9 @@ class PaymentManager( object ):
logger.info("Refund Transaction " + str(transaction.id) + " Failed with error: " + p.error_string())
return False
- def pledge(self, currency, target, receiver_list, campaign=None, list=None, user=None, return_url=None, nevermind_url=None, anonymous=False, premium=None, ack_name=None, ack_link=None, ack_dedication=None):
+ def pledge(self, currency, target, receiver_list, campaign=None, list=None, user=None,
+ return_url=None, nevermind_url=None, anonymous=False, premium=None, ack_name=None,
+ ack_link=None, ack_dedication=None):
'''
pledge
From 8db1e5b59a5bb73a903a0865251c0f6764b9564b Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 6 Aug 2012 13:35:29 -0400
Subject: [PATCH 18/95] set up acks page to deal with ack_name, _link,
_dedication and anonymity bit
---
core/models.py | 32 ++++++++++++++++++++++++
frontend/templates/front_matter.html | 37 ++++++++++++++++------------
frontend/views.py | 9 ++++++-
3 files changed, 61 insertions(+), 17 deletions(-)
diff --git a/core/models.py b/core/models.py
index 19d8b86b..80ac3c6a 100755
--- a/core/models.py
+++ b/core/models.py
@@ -368,6 +368,38 @@ class Campaign(models.Model):
return ungluers
+ def ungluer_transactions(self):
+ """
+ returns a list of authorized transactions for campaigns in progress,
+ or completed transactions for successful campaigns
+ used to build the acks page -- because ack_name, _link, _dedication adhere to transactions,
+ it's easier to return transactions than ungluers
+ """
+ p = PaymentManager()
+ ungluers={"all":[],"supporters":[], "patrons":[], "bibliophiles":[]}
+ anons = 0
+ if self.status == "ACTIVE":
+ translist = p.query_campaign(self, summary=False, pledged=True, authorized=True)
+ elif self.status == "SUCCESSFUL":
+ translist = p.query_campaign(self, summary=False, pledged=True, completed=True)
+ else:
+ translist = []
+ for transaction in translist:
+ ungluers['all'].append(transaction.user)
+ if not transaction.anonymous:
+ if transaction.amount >= Premium.TIERS["bibliophile"]:
+ ungluers['bibliophiles'].append(transaction)
+ elif transaction.amount >= Premium.TIERS["patron"]:
+ ungluers['patrons'].append(transaction)
+ elif transaction.amount >= Premium.TIERS["supporter"]:
+ ungluers['supporters'].append(transaction)
+ else:
+ anons += 1
+
+ ungluers['anons'] = anons
+
+ return ungluers
+
def effective_premiums(self):
"""returns the available premiums for the Campaign including any default premiums"""
q = Q(campaign=self) | Q(campaign__isnull=True)
diff --git a/frontend/templates/front_matter.html b/frontend/templates/front_matter.html
index 20cddd22..ded1a977 100644
--- a/frontend/templates/front_matter.html
+++ b/frontend/templates/front_matter.html
@@ -1,5 +1,5 @@
{% extends "basedocumentation.html" %}
-{% block title %}Open Access eBooks{% endblock %}
+{% block title %}Ungluers supporting the {{ campaign }}{% endblock %}
{% block extra_extra_head %}
{% endblock %}
@@ -9,41 +9,46 @@
This is an unglued ebook
+ {% with campaign.ungluer_transactions as transactions %}
- Unglued ebooks are made possible through the Unglue.it website by contributions from {{ campaign.ungluers.all|length }} readers like you.
- {% if campaign.ungluers.supporters %}
- Supporters of this edition include ungluers:
- {% for ungluer in campaign.ungluers.supporters %}
- {% if forloop.last %}and {% endif %}{{ ungluer.username }}{% if forloop.last %}. {% else %}, {% endif %}
+ Unglued ebooks are made possible through the Unglue.it website by contributions from {{ transactions.all|length }} readers like you.
+ {% if transactions.supporters %}
+ Supporters of this edition:
+ {% for transaction in transactions.supporters %}
+ {% if forloop.last %}{% if transactions.supporters|length > 1 %}and {% endif %}{% endif %}{{ transaction.ack_name }}{% if forloop.last %}. {% else %}, {% endif %}
{% endfor %}
{% endif %}
- {% if campaign.ungluers.patrons %}
- Benefactors of this edition include ungluers:
- {% for ungluer in campaign.ungluers.patrons %}
- {% if forloop.last %}and {% endif %}{{ ungluer.username }} {% if forloop.last %}. {% else %}, {% endif %}
+ {% if transactions.patrons %}
+
Benefactors of this edition:
+ {% for transaction in transactions.patrons %}
+ {% if forloop.last %}{% if transactions.patrons|length > 1 %}and {% endif %}{% endif %}{% if transaction.ack_link %}{{ transaction.ack_name }} {% else %}{{ transaction.ack_name }}{% endif %}{% if forloop.last %}. {% else %}, {% endif %}
{% endfor %}
{% endif %}
- {% if campaign.ungluers.bibliophiles %}
- Bibliophiles of this edition include ungluers:
- {% for ungluer in campaign.ungluers.bibliophiles %}
- {{ ungluer.username }} {{ ungluer.profile.tagline }}
+ {% if transactions.bibliophiles %}
+ Bibliophiles of this edition:
+ {% for transaction in transactions.bibliophiles %}
+ {% if transaction.ack_link %}{{ transaction.ack_name }} {% else %}{{ transaction.ack_name }}{% endif %} {{ transaction.ack_dedication }}
{% endfor %}
{% endif %}
+ {% if transactions.anons %}
+ We also gratefully acknowledge the support of {{ transactions.anons }} anonymous ungluer{% if transactions.anons > 1 %}s{% endif %}.
+ {% endif %}
+ {% endwith %}
You can say thank you by supporting the ungluing of more books at https://unglue.it/
diff --git a/frontend/views.py b/frontend/views.py
index 6260b41a..5392130b 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -782,6 +782,9 @@ class PledgeModifyView(FormView):
work_id = self.kwargs["work_id"]
preapproval_amount = form.cleaned_data["preapproval_amount"]
anonymous = form.cleaned_data["anonymous"]
+ ack_name = form.cleaned_data["ack_name"]
+ ack_link = form.cleaned_data["ack_link"]
+ ack_dedication = form.cleaned_data["ack_dedication"]
assert self.request.user.is_authenticated()
user = self.request.user
@@ -807,7 +810,8 @@ class PledgeModifyView(FormView):
p = PaymentManager(embedded=self.embedded)
paymentReason = "Unglue.it Pledge for {0}".format(campaign.name)
status, url = p.modify_transaction(transaction=transaction, amount=preapproval_amount, premium=premium,
- paymentReason=paymentReason)
+ paymentReason=paymentReason, ack_name=ack_name, ack_link=ack_link,
+ ack_dedication=ack_dedication)
logger.info("status: {0}, url:{1}".format(status, url))
@@ -853,6 +857,9 @@ class PledgeRechargeView(TemplateView):
# the recipients of this authorization is not specified here but rather by the PaymentManager.
# set the expiry date based on the campaign deadline
expiry = campaign.deadline + timedelta( days=settings.PREAPPROVAL_PERIOD_AFTER_CAMPAIGN )
+ ack_name = transaction.ack_name
+ ack_link = transaction.ack_link
+ ack_dedication = transaction.ack_dedication
paymentReason = "Unglue.it Recharge for {0}".format(campaign.name)
From da0f4970c21fecb3b298bde3c518238a24e05bf7 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Mon, 6 Aug 2012 15:44:43 -0400
Subject: [PATCH 19/95] improving data flow of acks throughout system
---
core/models.py | 19 +++++++----------
frontend/templates/front_matter.html | 5 +----
frontend/templates/pledge.html | 32 ++++++++--------------------
frontend/views.py | 7 +++---
payment/manager.py | 5 ++++-
static/js/reconcile_pledge.js | 28 +++++++++++++++++++-----
6 files changed, 49 insertions(+), 47 deletions(-)
diff --git a/core/models.py b/core/models.py
index 80ac3c6a..4e021a39 100755
--- a/core/models.py
+++ b/core/models.py
@@ -386,18 +386,15 @@ class Campaign(models.Model):
translist = []
for transaction in translist:
ungluers['all'].append(transaction.user)
- if not transaction.anonymous:
- if transaction.amount >= Premium.TIERS["bibliophile"]:
- ungluers['bibliophiles'].append(transaction)
- elif transaction.amount >= Premium.TIERS["patron"]:
- ungluers['patrons'].append(transaction)
- elif transaction.amount >= Premium.TIERS["supporter"]:
- ungluers['supporters'].append(transaction)
- else:
+ if transaction.anonymous:
anons += 1
-
- ungluers['anons'] = anons
-
+ if transaction.amount >= Premium.TIERS["bibliophile"]:
+ ungluers['bibliophiles'].append(transaction)
+ elif transaction.amount >= Premium.TIERS["patron"]:
+ ungluers['patrons'].append(transaction)
+ elif transaction.amount >= Premium.TIERS["supporter"]:
+ ungluers['supporters'].append(transaction)
+
return ungluers
def effective_premiums(self):
diff --git a/frontend/templates/front_matter.html b/frontend/templates/front_matter.html
index ded1a977..48539ae7 100644
--- a/frontend/templates/front_matter.html
+++ b/frontend/templates/front_matter.html
@@ -45,12 +45,9 @@
{% endif %}
- {% if transactions.anons %}
- We also gratefully acknowledge the support of {{ transactions.anons }} anonymous ungluer{% if transactions.anons > 1 %}s{% endif %}.
- {% endif %}
{% endwith %}
- You can say thank you by supporting the ungluing of more books at https://unglue.it/
+ You can say thank you by supporting the ungluing of more books at https://unglue.it/ .
diff --git a/frontend/templates/pledge.html b/frontend/templates/pledge.html
index 11a06b5a..67d572fa 100644
--- a/frontend/templates/pledge.html
+++ b/frontend/templates/pledge.html
@@ -98,28 +98,6 @@
- {% comment %}
- What this needs:
- DONE fields for name (and anonymity), link, dedication (140 char limit)
- selective highlighting/activation. if inactive, grey out and provide an indication of the amount ( "$50+" or "($50+)" ); remove indication when active
- DONE "How would you like to be recognized on the supporters page?" or similar
- DONE validation? how?
- prefill name and link? how? (do NOT prefill dedication; make them commit to that) At any rate, this is a second-step problem.
- A way to commit this to the db.
- DONE: fields attached to transaction
- - do we want to update supporter with a last-committed-name-and-link to allow prefilling?
- - path from frontend through db field. add to existing form and use for validation? make sure everything is optional.
- styling
-
- Testing:
- run tests
- create tests pertaining to name/link/dedication. what?
- scour for places transaction authorize() & pledge() happen
- make sure they've all been fed needed data!
- wire in support analogously to PledgeView, then ask raymond to check in on DonateView
- make sure forms do something sensible when ack_name, etc., are empty
- make sure to expose & handle anonymity checkbox
- {% endcomment %}
@@ -131,7 +109,15 @@
(You will be sent to
{{ payment_processor|capfirst }}
{% if faqmenu == 'modify' %}, if needed, to modify your pledge. We hope you won't, but of course you're also free to
cancel your pledge {% else %} to complete your pledge.{% endif %}.)
-{{ request.user.username }}
+{{ request.user.username }}
+{% if transaction.ack_name %}
+{{ transaction.ack_name }}
+{% else %}
+{{ request.user.username }}
+{% endif %}
+{{ transaction.ack_link }}
+{{ transaction.ack_dedication }}
+{{ transaction.anonymous }}
{% endblock %}
diff --git a/frontend/views.py b/frontend/views.py
index 5392130b..ae30b182 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -736,7 +736,7 @@ class PledgeModifyView(FormView):
else:
premium_id = None
premium_description = None
-
+
# is there a Transaction for an ACTIVE campaign for this
# should make sure Transaction is modifiable.
@@ -761,6 +761,7 @@ class PledgeModifyView(FormView):
'faqmenu': 'modify',
'tid': transaction.id,
'payment_processor':settings.PAYMENT_PROCESSOR,
+ 'transaction': transaction,
})
return context
@@ -781,10 +782,10 @@ class PledgeModifyView(FormView):
work_id = self.kwargs["work_id"]
preapproval_amount = form.cleaned_data["preapproval_amount"]
- anonymous = form.cleaned_data["anonymous"]
ack_name = form.cleaned_data["ack_name"]
ack_link = form.cleaned_data["ack_link"]
ack_dedication = form.cleaned_data["ack_dedication"]
+ anonymous = form.cleaned_data["anonymous"]
assert self.request.user.is_authenticated()
user = self.request.user
@@ -811,7 +812,7 @@ class PledgeModifyView(FormView):
paymentReason = "Unglue.it Pledge for {0}".format(campaign.name)
status, url = p.modify_transaction(transaction=transaction, amount=preapproval_amount, premium=premium,
paymentReason=paymentReason, ack_name=ack_name, ack_link=ack_link,
- ack_dedication=ack_dedication)
+ ack_dedication=ack_dedication, anonymous=anonymous)
logger.info("status: {0}, url:{1}".format(status, url))
diff --git a/payment/manager.py b/payment/manager.py
index 911bea38..505c5f32 100644
--- a/payment/manager.py
+++ b/payment/manager.py
@@ -738,7 +738,7 @@ class PaymentManager( object ):
transaction.user,
return_url,
nevermind_url,
- transaction.anonymous,
+ anonymous,
premium,
paymentReason,
ack_name,
@@ -771,6 +771,9 @@ class PaymentManager( object ):
transaction.amount = amount
transaction.anonymous = anonymous
transaction.premium = premium
+ transaction.ack_name = ack_name
+ transaction.ack_link = ack_link
+ transaction.ack_dedication = ack_dedication
transaction.save()
logger.info("Updated amount of transaction to %f" % amount)
diff --git a/static/js/reconcile_pledge.js b/static/js/reconcile_pledge.js
index 53bacb85..bd53d47c 100644
--- a/static/js/reconcile_pledge.js
+++ b/static/js/reconcile_pledge.js
@@ -11,12 +11,21 @@ $j().ready(function() {
var fakesubmitbutton = $j('#fakepledgesubmit');
var anonbox = $j('#anonbox input');
var ackSection = $j('#ack_section');
- var supporterName = $j('#supporter_name').html();
+ var supporterName = $j('#pass_supporter_name').html();
+ var ackName = $j('#pass_ack_name').html();
+ var ackLink = $j('#pass_ack_link').html();
+ var ackDedication = $j('#pass_ack_dedication').html();
+ if(ackDedication == 'None') {
+ ackDedication = '';
+ }
var acks = {
- ack_name: supporterName,
- ack_dedication: ''
+ ack_name: ackName,
+ ack_link: ackLink,
+ ack_dedication: ackDedication
};
+ var ackAnon = $j('#pass_anon').html();
+
// we're not letting people submit arbitrary links
$j('#id_ack_link').attr('disabled', 'disabled');
@@ -49,7 +58,7 @@ $j().ready(function() {
submitbutton.removeAttr('disabled');
}
- // make mandatory premium input area active
+ // make acknowledgements input area active
var activate = function(mySpan) {
$j('#'+mySpan).removeClass('ack_inactive').addClass('ack_active');
$j('#'+mySpan+' input').removeAttr('disabled');
@@ -66,7 +75,11 @@ $j().ready(function() {
// fill mandatory premium link input with supporter page
var activateLink = function() {
$j('#ack_link').removeClass('ack_inactive').addClass('ack_active');
- $j('input#id_ack_link').val('https://unglue.it/supporter/'+supporterName);
+ if(ackLink) {
+ $j('input#id_ack_link').val(ackLink);
+ } else {
+ $j('input#id_ack_link').val('https://unglue.it/supporter/'+supporterName);
+ }
}
// empty mandatory premium link
@@ -131,6 +144,11 @@ $j().ready(function() {
} else {
rectifyAcknowledgements(0);
}
+ if (ackAnon == 'True') {
+ anonymizeName();
+ deactivateLink();
+ anonbox.prop("checked", true);
+ }
// when user clicks a premium, ensure it is compatible with the pledge box amount
$j('#premiums_list input').on("click", function() {
From c36e49e42d7da59bf47bc33051915f029a575e50 Mon Sep 17 00:00:00 2001
From: eric
Date: Mon, 6 Aug 2012 22:34:20 -0400
Subject: [PATCH 20/95] set up badges back end [#29340547]
---
core/fixtures/initial_data.json | 8 +
...aign_description__chg_field_campaign_de.py | 260 ++++++++++++++++++
core/models.py | 7 +-
3 files changed, 274 insertions(+), 1 deletion(-)
create mode 100644 core/migrations/0038_auto__add_badge__chg_field_campaign_description__chg_field_campaign_de.py
diff --git a/core/fixtures/initial_data.json b/core/fixtures/initial_data.json
index aa5e4dec..e550a88f 100644
--- a/core/fixtures/initial_data.json
+++ b/core/fixtures/initial_data.json
@@ -82,5 +82,13 @@
"description": "Your username, profile URL, and profile tagline under \"bibliophiles\"",
"created": "2011-11-17 22:03:37"
}
+ },
+ {
+ "pk": 1,
+ "model": "core.badge",
+ "fields": {
+ "name": "pledger",
+ "description": "has made a pledge in at least one ungluing campaign"
+ }
}
]
diff --git a/core/migrations/0038_auto__add_badge__chg_field_campaign_description__chg_field_campaign_de.py b/core/migrations/0038_auto__add_badge__chg_field_campaign_description__chg_field_campaign_de.py
new file mode 100644
index 00000000..5b1388f8
--- /dev/null
+++ b/core/migrations/0038_auto__add_badge__chg_field_campaign_description__chg_field_campaign_de.py
@@ -0,0 +1,260 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+
+ # Adding model 'Badge'
+ db.create_table('core_badge', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=72, blank=True)),
+ ('description', self.gf('django.db.models.fields.TextField')(default='', null=True)),
+ ))
+ db.send_create_signal('core', ['Badge'])
+
+ # Changing field 'Campaign.description'
+ db.alter_column('core_campaign', 'description', self.gf('ckeditor.fields.RichTextField')(null=True))
+
+ # Changing field 'Campaign.details'
+ db.alter_column('core_campaign', 'details', self.gf('ckeditor.fields.RichTextField')(null=True))
+
+ # Adding M2M table for field badges on 'UserProfile'
+ db.create_table('core_userprofile_badges', (
+ ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+ ('userprofile', models.ForeignKey(orm['core.userprofile'], null=False)),
+ ('badge', models.ForeignKey(orm['core.badge'], null=False))
+ ))
+ db.create_unique('core_userprofile_badges', ['userprofile_id', 'badge_id'])
+
+
+ def backwards(self, orm):
+
+ # Deleting model 'Badge'
+ db.delete_table('core_badge')
+
+ # Changing field 'Campaign.description'
+ db.alter_column('core_campaign', 'description', self.gf('django.db.models.fields.TextField')(null=True))
+
+ # Changing field 'Campaign.details'
+ db.alter_column('core_campaign', 'details', self.gf('django.db.models.fields.TextField')(null=True))
+
+ # Removing M2M table for field badges on 'UserProfile'
+ db.delete_table('core_userprofile_badges')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'core.author': {
+ 'Meta': {'object_name': 'Author'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'editions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'authors'", 'symmetrical': 'False', 'to': "orm['core.Edition']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500'})
+ },
+ 'core.badge': {
+ 'Meta': {'object_name': 'Badge'},
+ 'description': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '72', 'blank': 'True'})
+ },
+ 'core.campaign': {
+ 'Meta': {'object_name': 'Campaign'},
+ 'activated': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'amazon_receiver': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'deadline': ('django.db.models.fields.DateTimeField', [], {}),
+ 'description': ('ckeditor.fields.RichTextField', [], {'null': 'True'}),
+ 'details': ('ckeditor.fields.RichTextField', [], {'null': 'True', 'blank': 'True'}),
+ 'edition': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'campaigns'", 'null': 'True', 'to': "orm['core.Edition']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '14', 'decimal_places': '2'}),
+ 'license': ('django.db.models.fields.CharField', [], {'default': "'CC BY-NC-ND'", 'max_length': '255'}),
+ 'managers': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'campaigns'", 'symmetrical': 'False', 'to': "orm['auth.User']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
+ 'paypal_receiver': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'status': ('django.db.models.fields.CharField', [], {'default': "'INITIALIZED'", 'max_length': '15', 'null': 'True'}),
+ 'target': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '14', 'decimal_places': '2'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'campaigns'", 'to': "orm['core.Work']"})
+ },
+ 'core.campaignaction': {
+ 'Meta': {'object_name': 'CampaignAction'},
+ 'campaign': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'actions'", 'to': "orm['core.Campaign']"}),
+ 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'timestamp': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '15'})
+ },
+ 'core.celerytask': {
+ 'Meta': {'object_name': 'CeleryTask'},
+ 'active': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 6, 16, 7, 34, 319207)', 'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True'}),
+ 'function_args': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'function_name': ('django.db.models.fields.CharField', [], {'max_length': '1024'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'task_id': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'null': 'True', 'to': "orm['auth.User']"})
+ },
+ 'core.claim': {
+ 'Meta': {'object_name': 'Claim'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'rights_holder': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'claim'", 'to': "orm['core.RightsHolder']"}),
+ 'status': ('django.db.models.fields.CharField', [], {'default': "'pending'", 'max_length': '7'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'claim'", 'to': "orm['auth.User']"}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'claim'", 'to': "orm['core.Work']"})
+ },
+ 'core.ebook': {
+ 'Meta': {'object_name': 'Ebook'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'edition': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ebooks'", 'to': "orm['core.Edition']"}),
+ 'format': ('django.db.models.fields.CharField', [], {'max_length': '25'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'provider': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'rights': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+ 'url': ('django.db.models.fields.URLField', [], {'max_length': '1024'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'})
+ },
+ 'core.edition': {
+ 'Meta': {'object_name': 'Edition'},
+ 'cover_image': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'public_domain': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'publication_date': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'publisher': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'editions'", 'null': 'True', 'to': "orm['core.Work']"})
+ },
+ 'core.identifier': {
+ 'Meta': {'unique_together': "(('type', 'value'),)", 'object_name': 'Identifier'},
+ 'edition': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'identifiers'", 'null': 'True', 'to': "orm['core.Edition']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '4'}),
+ 'value': ('django.db.models.fields.CharField', [], {'max_length': '31'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'identifiers'", 'to': "orm['core.Work']"})
+ },
+ 'core.key': {
+ 'Meta': {'object_name': 'Key'},
+ 'encrypted_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
+ },
+ 'core.premium': {
+ 'Meta': {'object_name': 'Premium'},
+ 'amount': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '0'}),
+ 'campaign': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'premiums'", 'null': 'True', 'to': "orm['core.Campaign']"}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'limit': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+ },
+ 'core.rightsholder': {
+ 'Meta': {'object_name': 'RightsHolder'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'email': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rights_holder'", 'to': "orm['auth.User']"}),
+ 'rights_holder_name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'core.subject': {
+ 'Meta': {'ordering': "['name']", 'object_name': 'Subject'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'}),
+ 'works': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'subjects'", 'symmetrical': 'False', 'to': "orm['core.Work']"})
+ },
+ 'core.userprofile': {
+ 'Meta': {'object_name': 'UserProfile'},
+ 'badges': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'holders'", 'symmetrical': 'False', 'to': "orm['core.Badge']"}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'facebook_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
+ 'goodreads_auth_secret': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'goodreads_auth_token': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'goodreads_user_id': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
+ 'goodreads_user_link': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'goodreads_user_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'home_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'librarything_id': ('django.db.models.fields.CharField', [], {'max_length': '31', 'blank': 'True'}),
+ 'pic_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
+ 'tagline': ('django.db.models.fields.CharField', [], {'max_length': '140', 'blank': 'True'}),
+ 'twitter_id': ('django.db.models.fields.CharField', [], {'max_length': '15', 'blank': 'True'}),
+ 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"})
+ },
+ 'core.waswork': {
+ 'Meta': {'object_name': 'WasWork'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'moved': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),
+ 'was': ('django.db.models.fields.IntegerField', [], {'unique': 'True'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Work']"})
+ },
+ 'core.wishes': {
+ 'Meta': {'object_name': 'Wishes', 'db_table': "'core_wishlist_works'"},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'source': ('django.db.models.fields.CharField', [], {'max_length': '15', 'blank': 'True'}),
+ 'wishlist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Wishlist']"}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'wishes'", 'to': "orm['core.Work']"})
+ },
+ 'core.wishlist': {
+ 'Meta': {'object_name': 'Wishlist'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'wishlist'", 'unique': 'True', 'to': "orm['auth.User']"}),
+ 'works': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'wishlists'", 'symmetrical': 'False', 'through': "orm['core.Wishes']", 'to': "orm['core.Work']"})
+ },
+ 'core.work': {
+ 'Meta': {'ordering': "['title']", 'object_name': 'Work'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}),
+ 'num_wishes': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'openlibrary_lookup': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000'})
+ }
+ }
+
+ complete_apps = ['core']
diff --git a/core/models.py b/core/models.py
index 19d8b86b..47ab69f3 100755
--- a/core/models.py
+++ b/core/models.py
@@ -821,13 +821,18 @@ class UserProfile(models.Model):
twitter_id = models.CharField(max_length=15, blank=True)
facebook_id = models.PositiveIntegerField(null=True)
librarything_id = models.CharField(max_length=31, blank=True)
+ badges = models.ManyToManyField('Badge', related_name='holders')
goodreads_user_id = models.CharField(max_length=32, null=True, blank=True)
goodreads_user_name = models.CharField(max_length=200, null=True, blank=True)
goodreads_auth_token = models.TextField(null=True, blank=True)
goodreads_auth_secret = models.TextField(null=True, blank=True)
goodreads_user_link = models.CharField(max_length=200, null=True, blank=True)
-
+
+class Badge(models.Model):
+ name = models.CharField(max_length=72, blank=True)
+ description = models.TextField(default='', null=True)
+
#class CampaignSurveyResponse(models.Model):
# # generic
# campaign = models.ForeignKey("Campaign", related_name="surveyresponse", null=False)
From daf0636c5fcbd68b1fa6fb569a87b41fe9a60b2d Mon Sep 17 00:00:00 2001
From: eric
Date: Mon, 6 Aug 2012 22:52:45 -0400
Subject: [PATCH 21/95] back end for credit system [#21784207]
---
.../management/commands/add_credit_records.py | 13 ++
payment/migrations/0008_auto__add_credit.py | 194 ++++++++++++++++++
payment/models.py | 48 +++++
payment/signals.py | 21 +-
payment/tests.py | 25 +++
5 files changed, 300 insertions(+), 1 deletion(-)
create mode 100644 payment/management/commands/add_credit_records.py
create mode 100644 payment/migrations/0008_auto__add_credit.py
diff --git a/payment/management/commands/add_credit_records.py b/payment/management/commands/add_credit_records.py
new file mode 100644
index 00000000..1c08e6b6
--- /dev/null
+++ b/payment/management/commands/add_credit_records.py
@@ -0,0 +1,13 @@
+from django.core.management.base import BaseCommand
+from django.contrib.auth.models import User
+
+import regluit.payment
+
+class Command(BaseCommand):
+ help = "initialize credit table"
+
+ def handle(self, *args, **kwargs):
+ users = User.objects.all()
+ for user in users:
+ regluit.payment.models.Credit(user=user).save()
+
\ No newline at end of file
diff --git a/payment/migrations/0008_auto__add_credit.py b/payment/migrations/0008_auto__add_credit.py
new file mode 100644
index 00000000..51167f06
--- /dev/null
+++ b/payment/migrations/0008_auto__add_credit.py
@@ -0,0 +1,194 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+
+ # Adding model 'Credit'
+ db.create_table('payment_credit', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('user', self.gf('django.db.models.fields.related.OneToOneField')(related_name='credit', unique=True, to=orm['auth.User'])),
+ ('balance', self.gf('django.db.models.fields.IntegerField')(default=0)),
+ ('pledged', self.gf('django.db.models.fields.IntegerField')(default=0)),
+ ('last_activity', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+ ))
+ db.send_create_signal('payment', ['Credit'])
+
+
+ def backwards(self, orm):
+
+ # Deleting model 'Credit'
+ db.delete_table('payment_credit')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'core.campaign': {
+ 'Meta': {'object_name': 'Campaign'},
+ 'activated': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'amazon_receiver': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'deadline': ('django.db.models.fields.DateTimeField', [], {}),
+ 'description': ('ckeditor.fields.RichTextField', [], {'null': 'True'}),
+ 'details': ('ckeditor.fields.RichTextField', [], {'null': 'True', 'blank': 'True'}),
+ 'edition': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'campaigns'", 'null': 'True', 'to': "orm['core.Edition']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'left': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '14', 'decimal_places': '2'}),
+ 'license': ('django.db.models.fields.CharField', [], {'default': "'CC BY-NC-ND'", 'max_length': '255'}),
+ 'managers': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'campaigns'", 'symmetrical': 'False', 'to': "orm['auth.User']"}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
+ 'paypal_receiver': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
+ 'status': ('django.db.models.fields.CharField', [], {'default': "'INITIALIZED'", 'max_length': '15', 'null': 'True'}),
+ 'target': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '14', 'decimal_places': '2'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'campaigns'", 'to': "orm['core.Work']"})
+ },
+ 'core.edition': {
+ 'Meta': {'object_name': 'Edition'},
+ 'cover_image': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'public_domain': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'publication_date': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
+ 'publisher': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'editions'", 'null': 'True', 'to': "orm['core.Work']"})
+ },
+ 'core.premium': {
+ 'Meta': {'object_name': 'Premium'},
+ 'amount': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '0'}),
+ 'campaign': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'premiums'", 'null': 'True', 'to': "orm['core.Campaign']"}),
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'limit': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+ },
+ 'core.wishes': {
+ 'Meta': {'object_name': 'Wishes', 'db_table': "'core_wishlist_works'"},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'source': ('django.db.models.fields.CharField', [], {'max_length': '15', 'blank': 'True'}),
+ 'wishlist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Wishlist']"}),
+ 'work': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'wishes'", 'to': "orm['core.Work']"})
+ },
+ 'core.wishlist': {
+ 'Meta': {'object_name': 'Wishlist'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'wishlist'", 'unique': 'True', 'to': "orm['auth.User']"}),
+ 'works': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'wishlists'", 'symmetrical': 'False', 'through': "orm['core.Wishes']", 'to': "orm['core.Work']"})
+ },
+ 'core.work': {
+ 'Meta': {'ordering': "['title']", 'object_name': 'Work'},
+ 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}),
+ 'num_wishes': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'openlibrary_lookup': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000'})
+ },
+ 'payment.credit': {
+ 'Meta': {'object_name': 'Credit'},
+ 'balance': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'last_activity': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'pledged': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'credit'", 'unique': 'True', 'to': "orm['auth.User']"})
+ },
+ 'payment.paymentresponse': {
+ 'Meta': {'object_name': 'PaymentResponse'},
+ 'api': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'correlation_id': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'info': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True'}),
+ 'status': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}),
+ 'timestamp': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+ 'transaction': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['payment.Transaction']"})
+ },
+ 'payment.receiver': {
+ 'Meta': {'object_name': 'Receiver'},
+ 'amount': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '14', 'decimal_places': '2'}),
+ 'currency': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+ 'email': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'local_status': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+ 'primary': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'reason': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'status': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
+ 'transaction': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['payment.Transaction']"}),
+ 'txn_id': ('django.db.models.fields.CharField', [], {'max_length': '64'})
+ },
+ 'payment.transaction': {
+ 'Meta': {'object_name': 'Transaction'},
+ 'amount': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '14', 'decimal_places': '2'}),
+ 'anonymous': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'approved': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'campaign': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Campaign']", 'null': 'True'}),
+ 'currency': ('django.db.models.fields.CharField', [], {'default': "'USD'", 'max_length': '10', 'null': 'True'}),
+ 'date_authorized': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_executed': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'date_expired': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'date_payment': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+ 'error': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}),
+ 'execution': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'host': ('django.db.models.fields.CharField', [], {'default': "'amazon'", 'max_length': '32'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'list': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Wishlist']", 'null': 'True'}),
+ 'local_status': ('django.db.models.fields.CharField', [], {'default': "'NONE'", 'max_length': '32', 'null': 'True'}),
+ 'max_amount': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '14', 'decimal_places': '2'}),
+ 'pay_key': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+ 'preapproval_key': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+ 'premium': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Premium']", 'null': 'True'}),
+ 'reason': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+ 'receipt': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}),
+ 'secret': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+ 'status': ('django.db.models.fields.CharField', [], {'default': "'None'", 'max_length': '32'}),
+ 'target': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'})
+ }
+ }
+
+ complete_apps = ['payment']
diff --git a/payment/models.py b/payment/models.py
index ac793ca6..56a992a0 100644
--- a/payment/models.py
+++ b/payment/models.py
@@ -142,7 +142,55 @@ class Receiver(models.Model):
def __unicode__(self):
return u"Receiver -- email: {0} status: {1} transaction: {2}".format(self.email, self.status, unicode(self.transaction))
+
+class Credit(models.Model):
+ user = models.OneToOneField(User, related_name='credit')
+ balance = models.IntegerField(default=0)
+ pledged = models.IntegerField(default=0)
+ last_activity = models.DateTimeField(auto_now=True)
+ def add_to_balance(self, num_credits):
+ if self.pledged - self.balance > num_credits : # negative to withdraw
+ return False
+ else:
+ self.balance = self.balance + num_credits
+ self.save()
+ return True
+
+ def add_to_pledged(self, num_credits):
+ if not isinstance( num_credits, int):
+ return False
+ if self.balance - self.pledged < num_credits :
+ return False
+ else:
+ self.pledged=self.pledged + num_credits
+ self.save()
+ return True
+
+ def use_pledge(self, num_credits):
+ if not isinstance( num_credits, int):
+ return False
+ if self.pledged < num_credits :
+ return False
+ else:
+ self.pledged=self.pledged - num_credits
+ self.balance = self.balance - num_credits
+ self.save()
+ return True
+
+ def transfer_to(self, receiver, num_credits):
+ if not isinstance( num_credits, int) or not isinstance( receiver, User):
+ return False
+ if self.add_to_balance(-num_credits):
+ if receiver.credit.add_to_balance(num_credits):
+ return True
+ else:
+ # unwind transfer
+ self.add_to_balance(num_credits)
+ return False
+ else:
+ return False
+
from django.db.models.signals import post_save, post_delete
import regluit.payment.manager
diff --git a/payment/signals.py b/payment/signals.py
index 6f13ce85..4ac5ac4d 100644
--- a/payment/signals.py
+++ b/payment/signals.py
@@ -2,4 +2,23 @@ from django.dispatch import Signal
transaction_charged = Signal(providing_args=["transaction"])
pledge_created = Signal(providing_args=["transaction"])
-pledge_modified = Signal(providing_args=["transaction", "up_or_down"])
\ No newline at end of file
+pledge_modified = Signal(providing_args=["transaction", "up_or_down"])
+
+from django.db.models.signals import post_save
+from django.db.utils import DatabaseError
+from django.db.models import get_model
+from django.contrib.auth.models import User
+
+# create Credit to associate with User
+def create_user_objects(sender, created, instance, **kwargs):
+ # use get_model to avoid circular import problem with models
+ try:
+ Credit = get_model('payment', 'Credit')
+ if created:
+ Credit.objects.create(user=instance)
+ except DatabaseError:
+ # this can happen when creating superuser during syncdb since the
+ # core_wishlist table doesn't exist yet
+ return
+
+post_save.connect(create_user_objects, sender=User)
diff --git a/payment/tests.py b/payment/tests.py
index 06ce262c..b86e3eed 100644
--- a/payment/tests.py
+++ b/payment/tests.py
@@ -300,6 +300,31 @@ class AuthorizeTest(TestCase):
def tearDown(self):
self.selenium.quit()
+
+class CreditTest(TestCase):
+ user1=None
+ user2=None
+ def setUp(self):
+ """
+ """
+ self.user1 = User.objects.create_user('credit_test1', 'support@gluejar.com', 'credit_test1')
+ self.user2 = User.objects.create_user('credit_test2', 'support+1@gluejar.com', 'credit_test2')
+
+ def testSimple(self):
+ """
+ """
+ self.assertFalse(self.user1.credit.add_to_balance(-100))
+ self.assertTrue(self.user1.credit.add_to_balance(100))
+ self.assertTrue(self.user1.credit.add_to_pledged(50))
+ self.assertFalse(self.user1.credit.add_to_pledged(60))
+ self.assertFalse(self.user1.credit.use_pledge(60))
+ self.assertTrue(self.user1.credit.use_pledge(50))
+ self.assertFalse(self.user1.credit.transfer_to(self.user2,60))
+ self.assertTrue(self.user1.credit.transfer_to(self.user2,50))
+ self.assertEqual(self.user1.credit.balance, 0)
+ self.assertEqual(self.user2.credit.balance, 50)
+
+
class TransactionTest(TestCase):
def setUp(self):
From 5362c202bb4d1007a06a96a39b60ce013b849c17 Mon Sep 17 00:00:00 2001
From: eric
Date: Tue, 7 Aug 2012 14:12:50 -0400
Subject: [PATCH 22/95] added management command to create credits, balance
notification [#21784207]
---
core/signals.py | 1 +
frontend/templates/donation.html | 20 ++++++++++++++
.../pledge_donation_credit/full.txt | 11 ++++++++
.../pledge_donation_credit/notice.html | 27 +++++++++++++++++++
.../pledge_donation_credit/short.txt | 1 +
frontend/urls.py | 3 ++-
frontend/views.py | 13 +++++++++
.../management/commands/grant_user_credit.py | 16 +++++++++++
payment/models.py | 6 +++++
payment/signals.py | 14 ++++++++++
10 files changed, 111 insertions(+), 1 deletion(-)
create mode 100644 frontend/templates/donation.html
create mode 100644 frontend/templates/notification/pledge_donation_credit/full.txt
create mode 100644 frontend/templates/notification/pledge_donation_credit/notice.html
create mode 100644 frontend/templates/notification/pledge_donation_credit/short.txt
create mode 100644 payment/management/commands/grant_user_credit.py
diff --git a/core/signals.py b/core/signals.py
index a135a90f..d692ebcc 100644
--- a/core/signals.py
+++ b/core/signals.py
@@ -95,6 +95,7 @@ def create_notice_types(app, created_models, verbosity, **kwargs):
notification.create_notice_type("pledge_charged", _("Your Pledge has been Executed"), _("You have contributed to a successful ungluing campaign."))
notification.create_notice_type("rights_holder_created", _("Agreement Accepted"), _("You have become a verified Unglue.it rights holder."))
notification.create_notice_type("rights_holder_claim_approved", _("Claim Accepted"), _("A claim you've entered has been accepted."))
+ notification.create_notice_type("pledge_donation_credit", _("Donation Credit Balance"), _("You have a donation credit balance"))
signals.post_syncdb.connect(create_notice_types, sender=notification)
diff --git a/frontend/templates/donation.html b/frontend/templates/donation.html
new file mode 100644
index 00000000..2159b9b2
--- /dev/null
+++ b/frontend/templates/donation.html
@@ -0,0 +1,20 @@
+{% extends "basedocumentation.html" %}
+{% load humanize %}
+
+{% block title %}Donations{% endblock %}
+
+{% block extra_extra_head %}
+
+
+{% endblock %}
+
+{% block doccontent %}
+Donation Credits
+
+You have a balance of {{ user.credit.balance }} donation credits.
+You have pledged {{ user.credit.pledged }} donation credits to ungluing campaigns.
+You have {{ user.credit.available }} donation credits available to pledge or transfer.
+
+{% endblock %}
+
+
diff --git a/frontend/templates/notification/pledge_donation_credit/full.txt b/frontend/templates/notification/pledge_donation_credit/full.txt
new file mode 100644
index 00000000..071cac26
--- /dev/null
+++ b/frontend/templates/notification/pledge_donation_credit/full.txt
@@ -0,0 +1,11 @@
+{% if amount > 0 %}
+{{ user.username }}, {{ amount }} donation credits have been added to your unglue.it donation credit account.
+{% else %}
+{{ user.username }}, {{ amount }} donation credits have been deducted from your unglue.it donation credit account.
+{% endif %}
+You have a balance of {{ user.credit.balance }} donation credits.
+You have pledged {{ user.credit.pledged }} donation credits to ungluing campaigns.
+You have {{ user.credit.available }} donation credits available to pledge or transfer.
+You can manage your donation credit account at https://unglue.it/donation/
+
+Donation credits can be used in support of ungluing campaigns.
\ No newline at end of file
diff --git a/frontend/templates/notification/pledge_donation_credit/notice.html b/frontend/templates/notification/pledge_donation_credit/notice.html
new file mode 100644
index 00000000..a6972bcb
--- /dev/null
+++ b/frontend/templates/notification/pledge_donation_credit/notice.html
@@ -0,0 +1,27 @@
+{% extends "notification/notice_template.html" %}
+
+{% block comments_graphical %}
+{% if amount > 0 %}
+{{ user.username }}, {{ amount }} donation credits have been added to your unglue.it donation credit account.
+{% else %}
+{{ user.username }}, {{ minus_amount }} donation credits have been deducted from your unglue.it donation credit account.
+{% endif %}
+{% endblock %}
+{% block comments_textual %}
+
+You have a balance of {{ user.credit.balance }} donation credits.
+
+
+You have pledged {{ user.credit.pledged }} donation credits to ungluing campaigns.
+
+
+You have {{ user.credit.available }} donation credits available to pledge or transfer.
+
+
+You can manage your donation credit account here
+
+
+
+Donation credits can be used in support of ungluing campaigns.
+
+{% endblock %}
\ No newline at end of file
diff --git a/frontend/templates/notification/pledge_donation_credit/short.txt b/frontend/templates/notification/pledge_donation_credit/short.txt
new file mode 100644
index 00000000..0ccc25bf
--- /dev/null
+++ b/frontend/templates/notification/pledge_donation_credit/short.txt
@@ -0,0 +1 @@
+{% if amount > 0 %}{{ amount }} donation credits have been added to your unglue.it donation credit account.{% else %}{{ amount }} donation credits have been deducted from your unglue.it donation credit account.{% endif %}
\ No newline at end of file
diff --git a/frontend/urls.py b/frontend/urls.py
index 66719402..167206c1 100644
--- a/frontend/urls.py
+++ b/frontend/urls.py
@@ -8,7 +8,7 @@ from django.conf import settings
from regluit.core.feeds import SupporterWishlistFeed
from regluit.core.models import Campaign
from regluit.frontend.views import GoodreadsDisplayView, LibraryThingView, PledgeView, PledgeCompleteView, PledgeModifyView, PledgeCancelView, PledgeNeverMindView, PledgeRechargeView, FAQView
-from regluit.frontend.views import CampaignListView, DonateView, WorkListView, UngluedListView, InfoPageView, InfoLangView
+from regluit.frontend.views import CampaignListView, DonateView, WorkListView, UngluedListView, InfoPageView, InfoLangView, DonationView
urlpatterns = patterns(
"regluit.frontend.views",
@@ -50,6 +50,7 @@ urlpatterns = patterns(
url(r"^new_edition/(?P)(?P)$", "new_edition", name="new_edition"),
url(r"^new_edition/(?P\d*)/(?P\d*)$", "new_edition", name="new_edition"),
url(r"^googlebooks/(?P.+)/$", "googlebooks", name="googlebooks"),
+ url(r"^donation/$", login_required(DonationView.as_view()), name="donation"),
url(r"^pledge/(?P\d+)/$", login_required(PledgeView.as_view()), name="pledge"),
url(r"^pledge/cancel/(?P\d+)$", login_required(PledgeCancelView.as_view()), name="pledge_cancel"),
url(r"^pledge/complete/$", login_required(PledgeCompleteView.as_view()), name="pledge_complete"),
diff --git a/frontend/views.py b/frontend/views.py
index 770ab1bb..dd2161fa 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -547,6 +547,19 @@ class CampaignListView(FilterableListView):
context['ungluers'] = userlists.campaign_list_users(qs,5)
context['facet'] =self.kwargs['facet']
return context
+
+class DonationView(TemplateView):
+ template_name = "donation.html"
+
+ def get(self, request, *args, **kwargs):
+ return self.render_to_response(self.get_context_data())
+
+ def post(self, request, *args, **kwargs):
+ return self.render_to_response(self.get_context_data())
+
+ def get_context_data(self, *args, **kwargs):
+ context = {'user' : self.request.user}
+ return context
class PledgeView(FormView):
template_name="pledge.html"
diff --git a/payment/management/commands/grant_user_credit.py b/payment/management/commands/grant_user_credit.py
new file mode 100644
index 00000000..acd05f0c
--- /dev/null
+++ b/payment/management/commands/grant_user_credit.py
@@ -0,0 +1,16 @@
+from django.core.management.base import BaseCommand
+from django.contrib.auth.models import User
+
+class Command(BaseCommand):
+ help = "grant credit to a user"
+ args = " "
+
+ def handle(self, username, amount, action="credit", *args, **kwargs):
+ if action=="debit":
+ amount=-int(amount)
+ else:
+ amount= int(amount)
+ user = User.objects.get(username=username)
+ user.credit.add_to_balance(amount)
+ print "%s now has a balance of %s donation credits" % (username, user.credit.balance)
+
\ No newline at end of file
diff --git a/payment/models.py b/payment/models.py
index 56a992a0..99f53d9d 100644
--- a/payment/models.py
+++ b/payment/models.py
@@ -3,6 +3,7 @@ from django.contrib.auth.models import User
from django.conf import settings
from regluit.core.models import Campaign, Wishlist, Premium
from regluit.payment.parameters import *
+from regluit.payment.signals import credit_balance_added
from decimal import Decimal
import uuid
@@ -149,12 +150,17 @@ class Credit(models.Model):
pledged = models.IntegerField(default=0)
last_activity = models.DateTimeField(auto_now=True)
+ @property
+ def available(self):
+ return self.balance - self.pledged
+
def add_to_balance(self, num_credits):
if self.pledged - self.balance > num_credits : # negative to withdraw
return False
else:
self.balance = self.balance + num_credits
self.save()
+ credit_balance_added.send(sender=self, amount=num_credits)
return True
def add_to_pledged(self, num_credits):
diff --git a/payment/signals.py b/payment/signals.py
index 4ac5ac4d..5117fd5c 100644
--- a/payment/signals.py
+++ b/payment/signals.py
@@ -1,8 +1,10 @@
+from notification import models as notification
from django.dispatch import Signal
transaction_charged = Signal(providing_args=["transaction"])
pledge_created = Signal(providing_args=["transaction"])
pledge_modified = Signal(providing_args=["transaction", "up_or_down"])
+credit_balance_added = Signal(providing_args=["amount"])
from django.db.models.signals import post_save
from django.db.utils import DatabaseError
@@ -22,3 +24,15 @@ def create_user_objects(sender, created, instance, **kwargs):
return
post_save.connect(create_user_objects, sender=User)
+
+def handle_credit_balance(sender, amount=0, **kwargs):
+ notification.queue([sender.user], "pledge_donation_credit", {
+ 'user':sender.user,
+ 'amount':amount,
+ 'minus_amount':-amount
+ }, True)
+ from regluit.core.tasks import emit_notifications
+ emit_notifications.delay()
+
+# successful_campaign -> send notices
+credit_balance_added.connect(handle_credit_balance)
\ No newline at end of file
From 0d13fe9ba4d4d41cc96a4843104051e13a780f84 Mon Sep 17 00:00:00 2001
From: eric
Date: Tue, 7 Aug 2012 16:18:03 -0400
Subject: [PATCH 23/95] 2 more minus_amount s [#21784207]
---
frontend/templates/notification/pledge_donation_credit/full.txt | 2 +-
.../templates/notification/pledge_donation_credit/short.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/templates/notification/pledge_donation_credit/full.txt b/frontend/templates/notification/pledge_donation_credit/full.txt
index 071cac26..e82cbbcf 100644
--- a/frontend/templates/notification/pledge_donation_credit/full.txt
+++ b/frontend/templates/notification/pledge_donation_credit/full.txt
@@ -1,7 +1,7 @@
{% if amount > 0 %}
{{ user.username }}, {{ amount }} donation credits have been added to your unglue.it donation credit account.
{% else %}
-{{ user.username }}, {{ amount }} donation credits have been deducted from your unglue.it donation credit account.
+{{ user.username }}, {{ minus_amount }} donation credits have been deducted from your unglue.it donation credit account.
{% endif %}
You have a balance of {{ user.credit.balance }} donation credits.
You have pledged {{ user.credit.pledged }} donation credits to ungluing campaigns.
diff --git a/frontend/templates/notification/pledge_donation_credit/short.txt b/frontend/templates/notification/pledge_donation_credit/short.txt
index 0ccc25bf..d5917996 100644
--- a/frontend/templates/notification/pledge_donation_credit/short.txt
+++ b/frontend/templates/notification/pledge_donation_credit/short.txt
@@ -1 +1 @@
-{% if amount > 0 %}{{ amount }} donation credits have been added to your unglue.it donation credit account.{% else %}{{ amount }} donation credits have been deducted from your unglue.it donation credit account.{% endif %}
\ No newline at end of file
+{% if amount > 0 %}{{ amount }} donation credits have been added to your unglue.it donation credit account.{% else %}{{ minus_amount }} donation credits have been deducted from your unglue.it donation credit account.{% endif %}
\ No newline at end of file
From 403420a28304c6205e1609913707f6e01ce15681 Mon Sep 17 00:00:00 2001
From: eric
Date: Mon, 13 Aug 2012 21:00:28 -0400
Subject: [PATCH 24/95] Add user-to-user credit transfers [#21784207]
---
frontend/forms.py | 19 +++++++++++++++++++
frontend/templates/donation.html | 23 ++++++++++++++++++++++-
frontend/views.py | 23 +++++++++++++++++++++--
3 files changed, 62 insertions(+), 3 deletions(-)
diff --git a/frontend/forms.py b/frontend/forms.py
index d33a998b..a607ce7d 100644
--- a/frontend/forms.py
+++ b/frontend/forms.py
@@ -177,6 +177,25 @@ class OpenCampaignForm(forms.ModelForm):
fields = 'name', 'work', 'managers'
widgets = { 'work': forms.HiddenInput }
+def getTransferCreditForm(maximum, data=None, *args, **kwargs ):
+ class TransferCreditForm(forms.Form):
+ recipient = AutoCompleteSelectField(
+ OwnerLookup,
+ label='Recipient',
+ widget=AutoCompleteSelectWidget(OwnerLookup),
+ required=True,
+ error_messages={'required': 'Please ensure the recipient is a valid Unglue.it account.'},
+ )
+ amount = forms.IntegerField(
+ required=True,
+ min_value=1,
+ max_value=maximum,
+ label="Transfer Amount",
+ error_messages={'min_value': 'Transfer amount must be positive', 'max_value': 'You only have %(limit_value)s available for transfer'},
+ )
+ return TransferCreditForm( data=data )
+
+
class EditManagersForm(forms.ModelForm):
managers = AutoCompleteSelectMultipleField(
OwnerLookup,
diff --git a/frontend/templates/donation.html b/frontend/templates/donation.html
index 2159b9b2..3d1cf6b1 100644
--- a/frontend/templates/donation.html
+++ b/frontend/templates/donation.html
@@ -4,8 +4,12 @@
{% block title %}Donations{% endblock %}
{% block extra_extra_head %}
+
-
+{{ transfer_form.media.css }}
+
+
+{{ transfer_form.media.js }}
{% endblock %}
{% block doccontent %}
@@ -15,6 +19,23 @@ You have a balance of {{ user.credit.balance }} donation credits.
You have pledged {{ user.credit.pledged }} donation credits to ungluing campaigns.
You have {{ user.credit.available }} donation credits available to pledge or transfer.
+Donation Credit Transfers
+{% if transfer_message %}
+{{ transfer_message }}
+{% if transfer_amount %}
+ Recipient: {{ recipient }}
+ Amount: {{ transfer_amount }} donation credits
+{% endif %}
+
+{% endif %}
+
+You may transfer up to {{ user.credit.available }} donation credits to another Unglue.it user.
+
+
{% endblock %}
diff --git a/frontend/views.py b/frontend/views.py
index dd2161fa..66db3ce0 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -47,6 +47,7 @@ from regluit.frontend.forms import UserData, UserEmail, ProfileForm, CampaignPle
from regluit.frontend.forms import RightsHolderForm, UserClaimForm, LibraryThingForm, OpenCampaignForm
from regluit.frontend.forms import getManageCampaignForm, DonateForm, CampaignAdminForm, EmailShareForm, FeedbackForm
from regluit.frontend.forms import EbookForm, CustomPremiumForm, EditManagersForm, EditionForm, PledgeCancelForm
+from regluit.frontend.forms import getTransferCreditForm
from regluit.payment.manager import PaymentManager
from regluit.payment.models import Transaction
from regluit.payment.parameters import TARGET_TYPE_CAMPAIGN, TARGET_TYPE_DONATION, PAYMENT_TYPE_AUTHORIZATION
@@ -552,10 +553,28 @@ class DonationView(TemplateView):
template_name = "donation.html"
def get(self, request, *args, **kwargs):
- return self.render_to_response(self.get_context_data())
+ context = self.get_context_data()
+ context['transfer_form']=getTransferCreditForm(self.request.user.credit.available)
+ return self.render_to_response(context)
def post(self, request, *args, **kwargs):
- return self.render_to_response(self.get_context_data())
+ context = self.get_context_data()
+ transfer_form=getTransferCreditForm(self.request.user.credit.available, data=self.request.POST)
+ if transfer_form.is_valid():
+ if self.request.user.credit.transfer_to(transfer_form.cleaned_data['recipient'], transfer_form.cleaned_data['amount']):
+ #successful transfer
+ context['transfer_message'] = 'Your transfer has been successfully executed.'
+ context['recipient']= transfer_form.cleaned_data['recipient']
+ context['transfer_amount'] = transfer_form.cleaned_data['amount']
+ context['transfer_form']=getTransferCreditForm(self.request.user.credit.available)
+ else:
+ #unsuccessful transfer
+ context['transfer_message'] = 'Your transfer was not successful.'
+ context['transfer_form']=transfer_form
+ else:
+ #not valid
+ context['transfer_form']=transfer_form
+ return self.render_to_response(context)
def get_context_data(self, *args, **kwargs):
context = {'user' : self.request.user}
From 69d85e6565b6f2d290364ac0d65b70d7f704c83b Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 14 Aug 2012 14:14:03 -0400
Subject: [PATCH 25/95] need a no-premium option. make sure to syncdb
---
core/fixtures/initial_data.json | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/core/fixtures/initial_data.json b/core/fixtures/initial_data.json
index aa5e4dec..4216ecee 100644
--- a/core/fixtures/initial_data.json
+++ b/core/fixtures/initial_data.json
@@ -82,5 +82,16 @@
"description": "Your username, profile URL, and profile tagline under \"bibliophiles\"",
"created": "2011-11-17 22:03:37"
}
+ },
+ {
+ "pk": 150,
+ "model": "core.premium",
+ "fields": {
+ "campaign": null,
+ "amount": 0,
+ "type": "00",
+ "description": "No premium, thanks! I just want to help unglue.",
+ "created": "2011-11-17 22:03:37"
+ }
}
]
From 2369d6508e03f07b5322bb181f20e8e08a47f490 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 14 Aug 2012 14:32:54 -0400
Subject: [PATCH 26/95] include no-premium option in pledgeview
---
frontend/views.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/frontend/views.py b/frontend/views.py
index ae30b182..a0618ec5 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -586,7 +586,9 @@ class PledgeView(FormView):
if campaign is None or campaign.status != 'ACTIVE':
raise Http404
- premiums = campaign.custom_premiums()
+ custom_premiums = campaign.custom_premiums()
+ # need to also include the no-premiums default in the queryset we send the page
+ premiums = custom_premiums | models.Premium.objects.filter(id=150)
premium_id = self.request.REQUEST.get('premium_id', None)
preapproval_amount = self.request.REQUEST.get('preapproval_amount', None)
From 25ce01716c0171163932149552b8779202e6a827 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 14 Aug 2012 14:44:07 -0400
Subject: [PATCH 27/95] also include no-mpremium option in pledge modify
---
frontend/views.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/views.py b/frontend/views.py
index a0618ec5..bb137682 100755
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -716,7 +716,7 @@ class PledgeModifyView(FormView):
try:
campaign = work.last_campaign()
- premiums = campaign.effective_premiums()
+ premiums = campaign.custom_premiums() | models.Premium.objects.filter(id=150)
# which combination of campaign and transaction status required?
# Campaign must be ACTIVE
From 2c555ef98d94692cfe402f807e14b867b843c8c8 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 14 Aug 2012 14:53:28 -0400
Subject: [PATCH 28/95] widths of ack boxes should add up to 100
---
static/css/pledge.css | 4 ++--
static/less/pledge.less | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/static/css/pledge.css b/static/css/pledge.css
index db6767e4..0a8fd96c 100644
--- a/static/css/pledge.css
+++ b/static/css/pledge.css
@@ -167,11 +167,11 @@ span.menu-item-price {
width: 16%;
margin-right: 3%;
height: 100%;
- padding: 1.5%;
+ padding: 1%;
}
#mandatory_premiums div.ack_header {
width: 73%;
- padding: 1.5%;
+ padding: 1%;
}
#mandatory_premiums div.ack_active,
#mandatory_premiums div.ack_inactive {
diff --git a/static/less/pledge.less b/static/less/pledge.less
index ad0cd780..03ce8dda 100644
--- a/static/less/pledge.less
+++ b/static/less/pledge.less
@@ -88,12 +88,12 @@ span.menu-item-price {
width: 16%;
margin-right: 3%;
height: 100%;
- padding: 1.5%;
+ padding: 1%;
}
&.ack_header {
width: 73%;
- padding: 1.5%;
+ padding: 1%;
}
&.ack_active, &.ack_inactive {
From e2957abf25d20cc2427a99ec882b2fd29185ebc5 Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 14 Aug 2012 14:53:48 -0400
Subject: [PATCH 29/95] tweaking
---
frontend/templates/pledge.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/templates/pledge.html b/frontend/templates/pledge.html
index 67d572fa..8b3e71b6 100644
--- a/frontend/templates/pledge.html
+++ b/frontend/templates/pledge.html
@@ -95,7 +95,7 @@
Depending on your pledge amount, you'll also get these acknowledgements.
-
+
From 2a008416b9dee56279c674df3c139e0c384da4de Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 14 Aug 2012 14:53:56 -0400
Subject: [PATCH 30/95] now minified
---
static/css/book_list.css | 342 ++++++++++++++-
static/css/comments.css | 148 ++++++-
static/css/documentation.css | 579 ++++++++++++++++++++++++-
static/css/landingpage.css | 584 ++++++++++++++++++++++++-
static/css/learnmore.css | 140 +++++-
static/css/lists.css | 15 +-
static/css/manage_campaign.css | 277 +++++++++++-
static/css/notices.css | 172 +++++++-
static/css/registration.css | 241 ++++++++++-
static/css/search.css | 125 +++++-
static/css/sitewide.css | 732 +++++++++++++++++++++++++++++++-
static/css/supporter_layout.css | 513 +++++++++++++++++++++-
12 files changed, 3856 insertions(+), 12 deletions(-)
diff --git a/static/css/book_list.css b/static/css/book_list.css
index 3844c591..01a58899 100755
--- a/static/css/book_list.css
+++ b/static/css/book_list.css
@@ -1 +1,341 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.row1 .book-list.listview{background:#f6f9f9}.row2 .book-list.listview{background:#fff}div.book-list.listview{clear:both;display:block;vertical-align:middle;height:43px;line-height:43px;margin:0 5px 0 0;padding:7px 0;position:relative}div.book-list.listview div.unglue-this{float:left}div.book-list.listview div.book-thumb{margin-right:5px;float:left}div.book-list.listview div.book-name{width:235px;margin-right:10px;background:url("/static/images/booklist/booklist-vline.png") right center no-repeat;float:left}div.book-list.listview div.book-name .title{display:block;line-height:normal;overflow:hidden;height:19px;line-height:19px;margin-bottom:5px;font-weight:bold}div.book-list.listview div.book-name .listview.author{overflow:hidden;display:block;line-height:normal;height:19px;line-height:19px}div.book-list.listview div.add-wishlist,div.book-list.listview div.remove-wishlist,div.book-list.listview div.on-wishlist,div.book-list.listview div.create-account{margin-right:10px;padding-right:10px;width:136px;background:url("/static/images/booklist/booklist-vline.png") right center no-repeat;float:left}div.book-list.listview div.add-wishlist span,div.book-list.listview div.remove-wishlist span,div.book-list.listview div.on-wishlist span,div.book-list.listview div.create-account span{font-weight:normal;color:#3d4e53;text-transform:none;padding-left:20px}div.book-list.listview div.add-wishlist span,div.book-list.listview div.create-account span{background:url("/static/images/booklist/add-wishlist.png") left center no-repeat}div.book-list.listview div.remove-wishlist span{background:url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat}div.book-list.listview div.on-wishlist>span,div.book-list.listview div>span.on-wishlist{background:url("/static/images/checkmark_small.png") left center no-repeat}div.book-list.listview div.booklist-status{width:110px;margin-right:7px;float:left}div.add-wishlist,div.remove-wishlist{cursor:pointer}.booklist-status.listview span.booklist-status-label{display:none}.booklist-status.listview span.booklist-status-text{float:left;display:block;padding-right:5px}div.unglue-this a{text-transform:uppercase;color:#3d4e53;font-size:11px;font-weight:bold}div.unglue-this.complete .unglue-this-inner1{background:url("/static/images/booklist/bg.png") 0 -84px no-repeat;height:42px}div.unglue-this.complete .unglue-this-inner2{background:url("/static/images/booklist/bg.png") 100% -126px no-repeat;margin-left:29px;height:42px;padding-right:10px}div.unglue-this.complete a{color:#fff;display:block}div.unglue-this.processing .unglue-this-inner1{background:url("/static/images/booklist/bg.png") 0 0 no-repeat;height:42px}div.unglue-this.processing .unglue-this-inner2{background:url("/static/images/booklist/bg.png") 100% -42px no-repeat;margin-left:25px;height:42px;padding-right:10px}ul.book-list-view{padding:0;margin:15px;float:right;list-style:none}ul.book-list-view li{float:left;margin-right:10px;display:block;vertical-align:middle;line-height:22px}div.navigation{float:left;clear:both;width:100%;color:#37414d}ul.navigation{float:right;padding:0;margin:0;list-style:none}ul.navigation li{float:left;line-height:normal;margin-right:5px}ul.navigation li a{color:#37414d;font-weight:normal}ul.navigation li.arrow-l a{background:url("/static/images/booklist/bg.png") 0 -168px no-repeat;width:10px;height:15px;display:block;text-indent:-10000px}ul.navigation li.arrow-r a{background:url("/static/images/booklist/bg.png") -1px -185px no-repeat;width:10px;height:15px;display:block;text-indent:-10000px}ul.navigation li a:hover,ul.navigation li.active a{color:#8ac3d7;text-decoration:underline}.unglue-button{display:block;border:0}.book-thumb.listview a{display:block;height:50px;width:32px;overflow:hidden;position:relative;z-index:1}.book-thumb.listview a:hover{overflow:visible;z-index:1000;border:0}.book-thumb.listview a img{position:absolute}.listview.icons{position:absolute;right:31px}.listview.icons .booklist-status-img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#fff;margin-top:4px;height:37px}.listview.icons .booklist-status-img img{padding:5px}.listview.icons .booklist-status-label{display:none}div#content-block-content{padding-bottom:100px}.listview.panelback,.listview.panelback div{display:none}#toggle-list{filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#toggle-panel{filter:alpha(opacity=100);-moz-opacity:.2;-khtml-opacity:.2;opacity:.2}.nobold{font-weight:normal}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+/* Cross-browser language */
+/* rows in listview should alternate colors */
+.row1 .book-list.listview {
+ background: #f6f9f9;
+}
+.row2 .book-list.listview {
+ background: #fff;
+}
+div.book-list.listview {
+ clear: both;
+ display: block;
+ vertical-align: middle;
+ height: 43px;
+ line-height: 43px;
+ margin: 0 5px 0 0;
+ padding: 7px 0;
+ position: relative;
+ /* row is a container for divs with individual content elements */
+
+ /* these elements are styled differently to create list and panel views */
+
+}
+div.book-list.listview div.unglue-this {
+ float: left;
+}
+div.book-list.listview div.book-thumb {
+ margin-right: 5px;
+ float: left;
+}
+div.book-list.listview div.book-name {
+ width: 235px;
+ margin-right: 10px;
+ background: url("/static/images/booklist/booklist-vline.png") right center no-repeat;
+ float: left;
+}
+div.book-list.listview div.book-name .title {
+ display: block;
+ line-height: normal;
+ overflow: hidden;
+ height: 19px;
+ line-height: 19px;
+ margin-bottom: 5px;
+ font-weight: bold;
+}
+div.book-list.listview div.book-name .listview.author {
+ overflow: hidden;
+ display: block;
+ line-height: normal;
+ height: 19px;
+ line-height: 19px;
+}
+div.book-list.listview div.add-wishlist,
+div.book-list.listview div.remove-wishlist,
+div.book-list.listview div.on-wishlist,
+div.book-list.listview div.create-account {
+ margin-right: 10px;
+ padding-right: 10px;
+ width: 136px;
+ background: url("/static/images/booklist/booklist-vline.png") right center no-repeat;
+ float: left;
+}
+div.book-list.listview div.add-wishlist span,
+div.book-list.listview div.remove-wishlist span,
+div.book-list.listview div.on-wishlist span,
+div.book-list.listview div.create-account span {
+ font-weight: normal;
+ color: #3d4e53;
+ text-transform: none;
+ padding-left: 20px;
+}
+div.book-list.listview div.add-wishlist span,
+div.book-list.listview div.create-account span {
+ background: url("/static/images/booklist/add-wishlist.png") left center no-repeat;
+}
+div.book-list.listview div.remove-wishlist span {
+ background: url("/static/images/booklist/remove-wishlist-blue.png") left center no-repeat;
+}
+div.book-list.listview div.on-wishlist > span,
+div.book-list.listview div > span.on-wishlist {
+ background: url("/static/images/checkmark_small.png") left center no-repeat;
+}
+div.book-list.listview div.booklist-status {
+ width: 110px;
+ margin-right: 7px;
+ float: left;
+}
+div.add-wishlist,
+div.remove-wishlist {
+ cursor: pointer;
+}
+.booklist-status.listview span.booklist-status-label {
+ display: none;
+}
+.booklist-status.listview span.booklist-status-text {
+ float: left;
+ display: block;
+ padding-right: 5px;
+}
+div.unglue-this a {
+ text-transform: uppercase;
+ color: #3d4e53;
+ font-size: 11px;
+ font-weight: bold;
+}
+div.unglue-this.complete .unglue-this-inner1 {
+ background: url("/static/images/booklist/bg.png") 0 -84px no-repeat;
+ height: 42px;
+}
+div.unglue-this.complete .unglue-this-inner2 {
+ background: url("/static/images/booklist/bg.png") 100% -126px no-repeat;
+ margin-left: 29px;
+ height: 42px;
+ padding-right: 10px;
+}
+div.unglue-this.complete a {
+ color: #fff;
+ display: block;
+}
+div.unglue-this.processing .unglue-this-inner1 {
+ background: url("/static/images/booklist/bg.png") 0 0 no-repeat;
+ height: 42px;
+}
+div.unglue-this.processing .unglue-this-inner2 {
+ background: url("/static/images/booklist/bg.png") 100% -42px no-repeat;
+ margin-left: 25px;
+ height: 42px;
+ padding-right: 10px;
+}
+ul.book-list-view {
+ padding: 0;
+ margin: 15px;
+ float: right;
+ list-style: none;
+}
+ul.book-list-view li {
+ float: left;
+ margin-right: 10px;
+ display: block;
+ vertical-align: middle;
+ line-height: 22px;
+}
+div.navigation {
+ float: left;
+ clear: both;
+ width: 100%;
+ color: #37414d;
+}
+ul.navigation {
+ float: right;
+ padding: 0;
+ margin: 0;
+ list-style: none;
+}
+ul.navigation li {
+ float: left;
+ line-height: normal;
+ margin-right: 5px;
+}
+ul.navigation li a {
+ color: #37414d;
+ font-weight: normal;
+}
+ul.navigation li.arrow-l a {
+ background: url("/static/images/booklist/bg.png") 0 -168px no-repeat;
+ width: 10px;
+ height: 15px;
+ display: block;
+ text-indent: -10000px;
+}
+ul.navigation li.arrow-r a {
+ background: url("/static/images/booklist/bg.png") -1px -185px no-repeat;
+ width: 10px;
+ height: 15px;
+ display: block;
+ text-indent: -10000px;
+}
+ul.navigation li a:hover,
+ul.navigation li.active a {
+ color: #8ac3d7;
+ text-decoration: underline;
+}
+.unglue-button {
+ display: block;
+ border: 0;
+}
+.book-thumb.listview a {
+ display: block;
+ height: 50px;
+ width: 32px;
+ overflow: hidden;
+ position: relative;
+ z-index: 1;
+}
+.book-thumb.listview a:hover {
+ overflow: visible;
+ z-index: 1000;
+ border: none;
+}
+.book-thumb.listview a img {
+ position: absolute;
+ /* the excerpt you get looks cooler if you select from the middle, but
+ the popup version doesn't extend past the containing div's boundaries,
+ so the positioned part is cut off.
+ top:-20px;
+ left:-50px;
+ */
+
+}
+.listview.icons {
+ position: absolute;
+ right: 31px;
+}
+.listview.icons .booklist-status-img {
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ background-color: #fff;
+ margin-top: 4px;
+ height: 37px;
+}
+.listview.icons .booklist-status-img img {
+ padding: 5px;
+}
+.listview.icons .booklist-status-label {
+ display: none;
+}
+div#content-block-content {
+ padding-bottom: 100px;
+}
+.listview.panelback,
+.listview.panelback div {
+ display: none;
+}
+/* Starting state of toggle icons; will be overwritten by js in page */
+#toggle-list {
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+}
+#toggle-panel {
+ filter: alpha(opacity=100);
+ -moz-opacity: 0.2;
+ -khtml-opacity: 0.2;
+ opacity: 0.2;
+}
+.nobold {
+ font-weight: normal;
+}
diff --git a/static/css/comments.css b/static/css/comments.css
index e6f4e965..9ed8a886 100644
--- a/static/css/comments.css
+++ b/static/css/comments.css
@@ -1 +1,147 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.comments{clear:both;padding:5px;margin:0 5px 8px 0;width:95%}.comments.row1{background:#f6f9f9}.comments.row2{background:#fff}.comments div{float:left}.comments div img{margin:0 5px}.comments .image img{height:100px}.comments:after{content:".";display:block;height:0;clear:both;visibility:hidden}.comments .nonavatar{width:620px}.comments .nonavatar span{padding-right:5px}.comments .nonavatar span.text:before{content:"\201C";font-size:15px;font-weight:bold}.comments .nonavatar span.text:after{content:"\201D";font-size:15px;font-weight:bold}.comments .avatar{float:right;margin:0 auto;padding-top:5px}.official{border:3px #b8dde0 solid;margin-top:3px;margin-bottom:5px;padding-left:2px}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+.comments {
+ clear: both;
+ padding: 5px;
+ margin: 0 5px 8px 0;
+ width: 95%;
+}
+.comments.row1 {
+ background: #f6f9f9;
+}
+.comments.row2 {
+ background: #fff;
+}
+.comments div {
+ float: left;
+}
+.comments div img {
+ margin: 0 5px;
+}
+.comments .image img {
+ height: 100px;
+}
+.comments:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+.comments .nonavatar {
+ width: 620px;
+}
+.comments .nonavatar span {
+ padding-right: 5px;
+}
+.comments .nonavatar span.text:before {
+ content: "\201C";
+ font-size: 15px;
+ font-weight: bold;
+}
+.comments .nonavatar span.text:after {
+ content: "\201D";
+ font-size: 15px;
+ font-weight: bold;
+}
+.comments .avatar {
+ float: right;
+ margin: 0 auto;
+ padding-top: 5px;
+}
+.official {
+ border: 3px #B8DDE0 solid;
+ margin-top: 3px;
+ margin-bottom: 5px;
+ padding-left: 2px;
+}
diff --git a/static/css/documentation.css b/static/css/documentation.css
index 7e3c55d2..4aede896 100644
--- a/static/css/documentation.css
+++ b/static/css/documentation.css
@@ -1 +1,578 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.learnmore_block{float:left;width:100%;clear:both;border-top:solid 1px #8ac3d7;margin-top:20px}.learnmore_block .quicktour{width:270px;float:left;font-style:italic;line-height:20px;font-size:13px;margin-top:20px}.learnmore_block .quicktour .highlight{font-weight:bold}.learnmore_block .quicktour.last{padding-right:0;width:270px}.learnmore_block .quicktour.last .signup{color:#8dc63f;font-weight:bold;margin-top:10px}.learnmore_block .quicktour.last .signup img{margin-left:5px;vertical-align:middle;margin-bottom:3px}.learnmore_block .movingrightalong{background:url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;height:100px;width:75px;float:left;margin-top:20px}#block-intro-text div{display:none;line-height:25px;padding-bottom:10px}#block-intro-text div#active{display:inherit}body{line-height:17px}.user-block{width:100%;clear:both}#user-block1,.user-block2{float:left}#user-block1{width:70%}#user-block1 #block-intro-text{float:left;width:70%;font-size:19px}#user-block1 a#readon{float:left;margin-top:10px}.user-block2{color:#6994a3;font-size:13px;line-height:normal;width:30%}.user-block2 .block-inner{float:right;padding-right:0}.user-block2 label{float:left;font-size:19px;height:30px;line-height:30px;color:#3d4e53;padding-right:15px}#user-block-hide .quicktour.last{background:0}.have-right #js-main-container{float:left}.js-main-container-inner{padding-left:15px}.have-right #js-rightcol{margin-top:50px;background:#edf3f4;border:1px solid #d6dde0;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px}.have-right #js-rightcol .jsmodule{border-bottom:1px solid #3c4e52;width:235px}.have-right #js-rightcol .jsmodule.last{border-bottom:0;padding-bottom:10px}.js-rightcol-padd{padding:10px}.doc h2{margin:20px 0;color:#3d4e53;font-size:15px;font-weight:bold}.doc h3{color:#3d4e53;font-weight:bold}.doc ul{list-style:none;padding:0;margin:0}.doc ul li{margin-bottom:7px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;padding:10px;background:#edf3f4}.doc ul.errorlist li{background:0;margin-bottom:0}.doc ul.terms{list-style:inherit;list-style-position:inside;padding-left:1em;text-indent:-1em}.doc ul.terms li{-moz-border-radius:auto;-webkit-border-radius:auto;border-radius:auto;-moz-border-radius:auto;-webkit-border-radius:auto;border-radius:auto;background:inherit}.doc div.inset{background:#edf3f4;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;padding:10px;font-style:italic}dt{margin:7px 0 7px -7px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;-moz-border-radius:14px;-webkit-border-radius:14px;border-radius:14px;padding:10px 0 10px 7px;background:#edf3f4}dd{margin:0;padding-bottom:7px}.doc ol li{margin-bottom:7px}.collapse ul{display:none}.faq,.answer{text-transform:none!important}.faq a,.answer a{color:#6994a3}.faq{cursor:pointer}.faq:hover{text-decoration:underline}.press_spacer{clear:both;height:0}.presstoc{overflow:auto;clear:both;padding-bottom:10px}.presstoc div{float:left;padding-right:15px;margin-bottom:7px}.presstoc div.pressemail{border:solid 2px #3d4e53;padding:5px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;max-width:678px;margin-top:7px}.pressarticles div{margin-bottom:10px}.pressvideos>div{margin-bottom:15px;padding-bottom:7px;border-bottom:solid 1px #3d4e53;float:left}.pressvideos iframe,.pressvideos div.mediaborder{padding:5px;border:solid 5px #edf3f4;padding:5px;border:solid 5px #edf3f4}.pressimages{clear:both}.pressimages .outer{clear:both}.pressimages .outer div{float:left;width:25%;padding-bottom:10px}.pressimages .outer div.text{width:75%}.pressimages .outer div p{margin:0 auto;padding-left:10px;padding-right:10px}.pressimages .screenshot{width:150px;padding:5px;border:solid 5px #edf3f4;padding:5px;border:solid 5px #edf3f4}a.manage{background:#8dc63f;color:white;font-weight:bold;padding:.5em 1em;cursor:pointer;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #d6dde0}a.manage:hover{text-decoration:none}.rh_help{cursor:pointer;color:#8ac3d7}.rh_help:hover{text-decoration:underline}.rh_answer{display:none;padding-left:10px;margin-bottom:7px;border:solid 2px #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-indent:0!important}.work_campaigns{border:1px solid #d6dde0;margin:10px auto}.work_campaigns div{float:left}.work_campaigns div.campaign_info{width:60%;margin:5px}h2.thank-you{font-size:34px;color:#8dc63f;line-height:40px}.pledge_complete,.pledge_complete a{font-size:15px;line-height:18px;margin-bottom:15px}#js-slide .jsmodule.pledge{width:960px!important}ul.social.pledge{margin-bottom:100px}ul.social.pledge li{float:left;padding-right:30px!important}#widgetcode{float:right}div.pledge-container{width:100%}.yikes{color:#e35351;font-weight:bold}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.roundedspan {
+ border: 1px solid #d4d4d4;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ -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;
+ -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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.actionbuttons {
+ width: auto;
+ height: 36px;
+ line-height: 36px;
+ height: 36px;
+ line-height: 36px;
+ background: #8dc63f;
+ -moz-border-radius: 32px;
+ -webkit-border-radius: 32px;
+ border-radius: 32px;
+ -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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.roundedspan {
+ border: 1px solid #d4d4d4;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ -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;
+ -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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.actionbuttons {
+ width: auto;
+ height: 36px;
+ line-height: 36px;
+ height: 36px;
+ line-height: 36px;
+ background: #8dc63f;
+ -moz-border-radius: 32px;
+ -webkit-border-radius: 32px;
+ border-radius: 32px;
+ -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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+.learnmore_block {
+ float: left;
+ width: 100%;
+ clear: both;
+ border-top: solid 1px #8ac3d7;
+ margin-top: 20px;
+}
+.learnmore_block .quicktour {
+ width: 270px;
+ float: left;
+ font-style: italic;
+ line-height: 20px;
+ font-size: 13px;
+ margin-top: 20px;
+}
+.learnmore_block .quicktour .highlight {
+ font-weight: bold;
+}
+.learnmore_block .quicktour.last {
+ padding-right: 0px;
+ width: 270px;
+}
+.learnmore_block .quicktour.last .signup {
+ color: #8dc63f;
+ font-weight: bold;
+ margin-top: 10px;
+}
+.learnmore_block .quicktour.last .signup img {
+ margin-left: 5px;
+ vertical-align: middle;
+ margin-bottom: 3px;
+}
+.learnmore_block .movingrightalong {
+ background: url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;
+ height: 100px;
+ width: 75px;
+ float: left;
+ margin-top: 20px;
+}
+#block-intro-text div {
+ display: none;
+ line-height: 25px;
+ padding-bottom: 10px;
+}
+#block-intro-text div#active {
+ display: inherit;
+}
+body {
+ line-height: 17px;
+}
+/* Learn More area (not already styles by learnmore.less) */
+.user-block {
+ width: 100%;
+ clear: both;
+}
+#user-block1,
+.user-block2 {
+ float: left;
+}
+#user-block1 {
+ width: 70%;
+}
+#user-block1 #block-intro-text {
+ float: left;
+ width: 70%;
+ font-size: 19px;
+}
+#user-block1 a#readon {
+ float: left;
+ margin-top: 10px;
+}
+.user-block2 {
+ color: #6994a3;
+ font-size: 13px;
+ line-height: normal;
+ width: 30%;
+}
+.user-block2 .block-inner {
+ float: right;
+ padding-right: 0;
+}
+.user-block2 label {
+ float: left;
+ font-size: 19px;
+ height: 30px;
+ line-height: 30px;
+ color: #3d4e53;
+ padding-right: 15px;
+}
+#user-block-hide .quicktour.last {
+ background: none;
+}
+/* Containers */
+.have-right #js-main-container {
+ float: left;
+}
+.js-main-container-inner {
+ padding-left: 15px;
+}
+.have-right #js-rightcol {
+ margin-top: 50px;
+ background: #edf3f4;
+ border: 1px solid #d6dde0;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+}
+.have-right #js-rightcol .jsmodule {
+ border-bottom: 1px solid #3c4e52;
+ width: 235px;
+}
+.have-right #js-rightcol .jsmodule.last {
+ border-bottom: none;
+ padding-bottom: 10px;
+}
+.js-rightcol-padd {
+ padding: 10px;
+}
+/* Elements */
+.doc h2 {
+ margin: 20px 0;
+ color: #3d4e53;
+ font-size: 15px;
+ font-weight: bold;
+}
+.doc h3 {
+ color: #3d4e53;
+ font-weight: bold;
+}
+.doc ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+.doc ul li {
+ margin-bottom: 7px;
+ -moz-border-radius: 14px;
+ -webkit-border-radius: 14px;
+ border-radius: 14px;
+ -moz-border-radius: 14px;
+ -webkit-border-radius: 14px;
+ border-radius: 14px;
+ padding: 10px;
+ background: #edf3f4;
+}
+.doc ul.errorlist li {
+ background: none;
+ margin-bottom: 0;
+}
+.doc ul.terms {
+ list-style: inherit;
+ list-style-position: inside;
+ padding-left: 1em;
+ text-indent: -1em;
+}
+.doc ul.terms li {
+ -moz-border-radius: auto;
+ -webkit-border-radius: auto;
+ border-radius: auto;
+ -moz-border-radius: auto;
+ -webkit-border-radius: auto;
+ border-radius: auto;
+ background: inherit;
+}
+.doc div.inset {
+ background: #edf3f4;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+ padding: 10px;
+ font-style: italic;
+}
+dt {
+ margin: 7px 0px 7px -7px;
+ -moz-border-radius: 14px;
+ -webkit-border-radius: 14px;
+ border-radius: 14px;
+ -moz-border-radius: 14px;
+ -webkit-border-radius: 14px;
+ border-radius: 14px;
+ padding: 10px 0px 10px 7px;
+ background: #edf3f4;
+}
+dd {
+ margin: 0;
+ padding-bottom: 7px;
+}
+.doc ol li {
+ margin-bottom: 7px;
+}
+.collapse ul {
+ display: none;
+}
+.faq,
+.answer {
+ text-transform: none !important;
+}
+.faq a,
+.answer a {
+ color: #6994a3;
+}
+.faq {
+ cursor: pointer;
+}
+.faq:hover {
+ text-decoration: underline;
+}
+/* items on press page */
+.press_spacer {
+ clear: both;
+ height: 0px;
+}
+.presstoc {
+ overflow: auto;
+ clear: both;
+ padding-bottom: 10px;
+}
+.presstoc div {
+ float: left;
+ padding-right: 15px;
+ margin-bottom: 7px;
+}
+.presstoc div.pressemail {
+ border: solid 2px #3d4e53;
+ padding: 5px;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ max-width: 678px;
+ margin-top: 7px;
+}
+.pressarticles div {
+ margin-bottom: 10px;
+}
+.pressvideos > div {
+ margin-bottom: 15px;
+ padding-bottom: 7px;
+ border-bottom: solid 1px #3d4e53;
+ float: left;
+}
+.pressvideos iframe,
+.pressvideos div.mediaborder {
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+}
+.pressimages {
+ clear: both;
+}
+.pressimages .outer {
+ clear: both;
+}
+.pressimages .outer div {
+ float: left;
+ width: 25%;
+ padding-bottom: 10px;
+}
+.pressimages .outer div.text {
+ width: 75%;
+}
+.pressimages .outer div p {
+ margin: 0 auto;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+.pressimages .screenshot {
+ width: 150px;
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+}
+/* Miscellaneous */
+a.manage {
+ background: #8dc63f;
+ color: white;
+ font-weight: bold;
+ padding: 0.5em 1em;
+ cursor: pointer;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ border: 1px solid #d6dde0;
+}
+a.manage:hover {
+ text-decoration: none;
+}
+.rh_help {
+ cursor: pointer;
+ color: #8ac3d7;
+}
+.rh_help:hover {
+ text-decoration: underline;
+}
+.rh_answer {
+ display: none;
+ padding-left: 10px;
+ margin-bottom: 7px;
+ border: solid 2px #d6dde0;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ text-indent: 0 !important;
+}
+.work_campaigns {
+ border: 1px solid #d6dde0;
+ margin: 10px auto;
+}
+.work_campaigns div {
+ float: left;
+}
+.work_campaigns div.campaign_info {
+ width: 60%;
+ margin: 5px;
+}
+h2.thank-you {
+ font-size: 34px;
+ color: #8dc63f;
+ line-height: 40px;
+}
+.pledge_complete,
+.pledge_complete a {
+ font-size: 15px;
+ line-height: 18px;
+ margin-bottom: 15px;
+}
+#js-slide .jsmodule.pledge {
+ width: 960px !important;
+}
+ul.social.pledge {
+ margin-bottom: 100px;
+}
+ul.social.pledge li {
+ float: left;
+ padding-right: 30px !important;
+}
+#widgetcode {
+ float: right;
+}
+div.pledge-container {
+ width: 100%;
+}
+.yikes {
+ color: #e35351;
+ font-weight: bold;
+}
diff --git a/static/css/landingpage.css b/static/css/landingpage.css
index f10728d0..3b4c2b16 100644
--- a/static/css/landingpage.css
+++ b/static/css/landingpage.css
@@ -1 +1,583 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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;font-size:13px;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;-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;-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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.actionbuttons{width:auto;height:36px;line-height:36px;height:36px;line-height:36px;background:#8dc63f;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;-moz-border-radius:16px 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.learnmore_block{float:left;width:100%;clear:both;border-top:solid 1px #8ac3d7;margin-top:20px}.learnmore_block .quicktour{width:270px;float:left;font-style:italic;line-height:20px;font-size:13px;margin-top:20px}.learnmore_block .quicktour .highlight{font-weight:bold}.learnmore_block .quicktour.last{padding-right:0;width:270px}.learnmore_block .quicktour.last .signup{color:#8dc63f;font-weight:bold;margin-top:10px}.learnmore_block .quicktour.last .signup img{margin-left:5px;vertical-align:middle;margin-bottom:3px}.learnmore_block .movingrightalong{background:url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;height:100px;width:75px;float:left;margin-top:20px}#block-intro-text div{display:none;line-height:25px;padding-bottom:10px}#block-intro-text div#active{display:inherit}#expandable{display:none}#main-container.main-container-fl .js-main{width:968px;background:#fff url("/static/images/landingpage/container-top.png") top center no-repeat}#js-maincol-fl{padding:30px 30px 0 30px;overflow:hidden}#js-maincol-fl #content-block{background:0;padding:0}#js-maincol-fl #js-main-container{float:left;width:672px}#js-maincol-fl .js-main-container-inner{padding-right:40px}#js-maincol-fl h2.page-heading{margin:0 0 20px 0;color:#3d4e53;font-size:19px;font-weight:bold}#user-block{width:100%;clear:both}#user-block1,.user-block2{float:left}#user-block1{width:70%}#user-block1 #block-intro-text{float:left;width:70%;font-size:19px}#user-block1 a#readon{float:left}.user-block2{color:#6994a3;font-size:13px;line-height:normal;width:30%}.user-block2 .block-inner{float:right;padding-right:0}.user-block2 label{float:left;font-size:19px;height:30px;line-height:30px;height:30px;line-height:30px;color:#3d4e53;padding-right:15px}#js-rightcol,#js-rightcol2{float:right;width:230px}#js-rightcol .jsmodule,#js-rightcol2 .jsmodule{float:left;width:208px;background:#edf3f4;border:1px solid #d6dde0;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;margin-bottom:10px;padding:0 10px 10px 10px}#js-rightcol .jsmodule.last,#js-rightcol2 .jsmodule.last{border-bottom:0;padding-bottom:10px}#js-rightcol .jsmodule input,#js-rightcol2 .jsmodule input{-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;-moz-border-radius:32px;-webkit-border-radius:32px;border-radius:32px;border:0;height:36px;line-height:36px;height:36px;line-height:36px;width:90%;outline:0;padding-left:16px}#js-rightcol .jsmodule input.signup,#js-rightcol2 .jsmodule input.signup{background:url("/static/images/landingpage/button.png") no-repeat 0 0;border:medium none;color:#FFF;cursor:pointer;display:inline-block;font-weight:bold;font-size:13px;overflow:hidden;padding:0 31px 0 11px;width:111px}#js-rightcol div.button,#js-rightcol2 div.button{padding-top:10px}#js-rightcol label,#js-rightcol2 label{width:100%;display:block;clear:both;padding:10px 0 5px 16px}.js-rightcol-padd{padding:0}h3.heading{color:#3d4e53;font-weight:bold}ul.ungluingwhat{list-style:none;padding:0;margin:0 -10px}ul.ungluingwhat li{margin-bottom:7px;background:#fff;padding:10px;display:block;overflow:hidden}ul.ungluingwhat li>div{float:left}ul.ungluingwhat div.user-avatar{width:43px}ul.ungluingwhat div.user-avatar img{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}ul.ungluingwhat .user-book-thumb{width:29px}ul.ungluingwhat .user-book-info{width:135px;color:#3d4e53}ul.ungluingwhat .user-book-info p{margin:0;padding:0 5px;font-size:13px}ul.ungluingwhat .user-book-info a{display:block;padding:0;color:#3d4e53;font-size:13px;text-decoration:underline}ul.ungluingwhat .user-book-info a.user-book-name{padding:0 5px}div.typo2{background:#edf3f4;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;padding:10px;font-style:italic}div.signup_btn{display:block;overflow:hidden}div.signup_btn a{background:url("/static/images/bg.png") no-repeat scroll right top transparent;color:#fff;display:block;font-size:13px;font-weight:bold;height:36px;line-height:36px;height:36px;line-height:36px;letter-spacing:1px;text-decoration:none;text-transform:capitalize;float:left}div.signup_btn a span{background:url("/static/images/bg.png") no-repeat scroll -770px -36px transparent;display:block;margin-right:29px;padding:0 5px 0 15px}.have-content-right-module .item-content{float:left;width:364px;font-size:15px;height:132px;border-bottom:7px solid #8ac3d7}.have-content-right-module .item-content p{margin-bottom:20px;line-height:135%}.have-content-right-module .item-content h2.page-heading{padding-right:97px;line-height:43px;padding-bottom:4px;padding-top:5px}.have-content-right-module .content-right-module{width:268px;float:right}.have-content-right-module .content-right-module h3{color:#8ac3d7;text-transform:uppercase;font-size:24px;font-weight:normal;padding:0;margin:0 0 16px 0}h2.page-heading{color:#3c4e52;font-size:28px!important;font-style:italic;font-weight:normal!important}#js-maincontainer-faq{clear:both;overflow:hidden;margin:15px 0;width:100%}.js-maincontainer-faq-inner{float:right;color:#3d4e53;font-size:15px;padding-right:60px}.js-maincontainer-faq-inner a{font-weight:normal;color:#3d4e53;text-decoration:underline}h3.module-title{padding:10px 0 0 0;font-size:19px;font-weight:normal}.google_signup{padding:14px 0;padding:14px 0}.google_signup div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup img{float:left;height:24px;width:24px}.google_signup div{height:24px;line-height:24px;height:24px;line-height:24px;float:left;padding-left:5px}.google_signup img{float:left;height:24px;width:24px}.landingheader{border-bottom:solid 5px #6994a3;float:left;height:134px}#footer{clear:both;margin-top:30px}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.roundedspan {
+ border: 1px solid #d4d4d4;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ -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;
+ -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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.actionbuttons {
+ width: auto;
+ height: 36px;
+ line-height: 36px;
+ height: 36px;
+ line-height: 36px;
+ background: #8dc63f;
+ -moz-border-radius: 32px;
+ -webkit-border-radius: 32px;
+ border-radius: 32px;
+ -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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.roundedspan {
+ border: 1px solid #d4d4d4;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ -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;
+ -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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.actionbuttons {
+ width: auto;
+ height: 36px;
+ line-height: 36px;
+ height: 36px;
+ line-height: 36px;
+ background: #8dc63f;
+ -moz-border-radius: 32px;
+ -webkit-border-radius: 32px;
+ border-radius: 32px;
+ -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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+.learnmore_block {
+ float: left;
+ width: 100%;
+ clear: both;
+ border-top: solid 1px #8ac3d7;
+ margin-top: 20px;
+}
+.learnmore_block .quicktour {
+ width: 270px;
+ float: left;
+ font-style: italic;
+ line-height: 20px;
+ font-size: 13px;
+ margin-top: 20px;
+}
+.learnmore_block .quicktour .highlight {
+ font-weight: bold;
+}
+.learnmore_block .quicktour.last {
+ padding-right: 0px;
+ width: 270px;
+}
+.learnmore_block .quicktour.last .signup {
+ color: #8dc63f;
+ font-weight: bold;
+ margin-top: 10px;
+}
+.learnmore_block .quicktour.last .signup img {
+ margin-left: 5px;
+ vertical-align: middle;
+ margin-bottom: 3px;
+}
+.learnmore_block .movingrightalong {
+ background: url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;
+ height: 100px;
+ width: 75px;
+ float: left;
+ margin-top: 20px;
+}
+#block-intro-text div {
+ display: none;
+ line-height: 25px;
+ padding-bottom: 10px;
+}
+#block-intro-text div#active {
+ display: inherit;
+}
+#expandable {
+ display: none;
+}
+#main-container.main-container-fl .js-main {
+ width: 968px;
+ background: #ffffff url("/static/images/landingpage/container-top.png") top center no-repeat;
+}
+#js-maincol-fl {
+ padding: 30px 30px 0 30px;
+ overflow: hidden;
+}
+#js-maincol-fl #content-block {
+ background: none;
+ padding: 0;
+}
+#js-maincol-fl #js-main-container {
+ float: left;
+ width: 672px;
+}
+#js-maincol-fl .js-main-container-inner {
+ padding-right: 40px;
+}
+#js-maincol-fl h2.page-heading {
+ margin: 0 0 20px 0;
+ color: #3d4e53;
+ font-size: 19px;
+ font-weight: bold;
+}
+#user-block {
+ width: 100%;
+ clear: both;
+}
+#user-block1,
+.user-block2 {
+ float: left;
+}
+#user-block1 {
+ width: 70%;
+}
+#user-block1 #block-intro-text {
+ float: left;
+ width: 70%;
+ font-size: 19px;
+}
+#user-block1 a#readon {
+ float: left;
+}
+.user-block2 {
+ color: #6994a3;
+ font-size: 13px;
+ line-height: normal;
+ width: 30%;
+}
+.user-block2 .block-inner {
+ float: right;
+ padding-right: 0;
+}
+.user-block2 label {
+ float: left;
+ font-size: 19px;
+ height: 30px;
+ line-height: 30px;
+ height: 30px;
+ line-height: 30px;
+ color: #3d4e53;
+ padding-right: 15px;
+}
+#js-rightcol,
+#js-rightcol2 {
+ float: right;
+ width: 230px;
+}
+#js-rightcol .jsmodule,
+#js-rightcol2 .jsmodule {
+ float: left;
+ width: 208px;
+ background: #edf3f4;
+ border: 1px solid #d6dde0;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+ margin-bottom: 10px;
+ padding: 0 10px 10px 10px;
+}
+#js-rightcol .jsmodule.last,
+#js-rightcol2 .jsmodule.last {
+ border-bottom: none;
+ padding-bottom: 10px;
+}
+#js-rightcol .jsmodule input,
+#js-rightcol2 .jsmodule input {
+ -moz-border-radius: 32px;
+ -webkit-border-radius: 32px;
+ border-radius: 32px;
+ -moz-border-radius: 32px;
+ -webkit-border-radius: 32px;
+ border-radius: 32px;
+ border: none;
+ height: 36px;
+ line-height: 36px;
+ height: 36px;
+ line-height: 36px;
+ width: 90%;
+ outline: none;
+ padding-left: 16px;
+}
+#js-rightcol .jsmodule input.signup,
+#js-rightcol2 .jsmodule input.signup {
+ background: url("/static/images/landingpage/button.png") no-repeat 0 0;
+ border: medium none;
+ color: #FFF;
+ cursor: pointer;
+ display: inline-block;
+ font-weight: bold;
+ font-size: 13px;
+ overflow: hidden;
+ padding: 0 31px 0 11px;
+ width: 111px;
+}
+#js-rightcol div.button,
+#js-rightcol2 div.button {
+ padding-top: 10px;
+}
+#js-rightcol label,
+#js-rightcol2 label {
+ width: 100%;
+ display: block;
+ clear: both;
+ padding: 10px 0 5px 16px;
+}
+.js-rightcol-padd {
+ padding: 0;
+}
+h3.heading {
+ color: #3d4e53;
+ font-weight: bold;
+}
+ul.ungluingwhat {
+ list-style: none;
+ padding: 0;
+ margin: 0 -10px;
+}
+ul.ungluingwhat li {
+ margin-bottom: 7px;
+ background: #fff;
+ padding: 10px;
+ display: block;
+ overflow: hidden;
+}
+ul.ungluingwhat li > div {
+ float: left;
+}
+ul.ungluingwhat div.user-avatar {
+ width: 43px;
+}
+ul.ungluingwhat div.user-avatar img {
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+ul.ungluingwhat .user-book-thumb {
+ width: 29px;
+}
+ul.ungluingwhat .user-book-info {
+ width: 135px;
+ color: #3d4e53;
+}
+ul.ungluingwhat .user-book-info p {
+ margin: 0;
+ padding: 0 5px;
+ font-size: 13px;
+}
+ul.ungluingwhat .user-book-info a {
+ display: block;
+ padding: 0;
+ color: #3d4e53;
+ font-size: 13px;
+ text-decoration: underline;
+}
+ul.ungluingwhat .user-book-info a.user-book-name {
+ padding: 0 5px;
+}
+div.typo2 {
+ background: #edf3f4;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ border-radius: 12px;
+ padding: 10px;
+ font-style: italic;
+}
+div.signup_btn {
+ display: block;
+ overflow: hidden;
+}
+div.signup_btn a {
+ background: url("/static/images/bg.png") no-repeat scroll right top transparent;
+ color: #fff;
+ display: block;
+ font-size: 13px;
+ font-weight: bold;
+ height: 36px;
+ line-height: 36px;
+ height: 36px;
+ line-height: 36px;
+ letter-spacing: 1px;
+ text-decoration: none;
+ text-transform: capitalize;
+ float: left;
+}
+div.signup_btn a span {
+ background: url("/static/images/bg.png") no-repeat scroll -770px -36px transparent;
+ display: block;
+ margin-right: 29px;
+ padding: 0 5px 0 15px;
+}
+.have-content-right-module .item-content {
+ float: left;
+ width: 364px;
+ font-size: 15px;
+ height: 132px;
+ border-bottom: 7px solid #8ac3d7;
+}
+.have-content-right-module .item-content p {
+ margin-bottom: 20px;
+ line-height: 135%;
+}
+.have-content-right-module .item-content h2.page-heading {
+ padding-right: 97px;
+ line-height: 43px;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+.have-content-right-module .content-right-module {
+ width: 268px;
+ float: right;
+}
+.have-content-right-module .content-right-module h3 {
+ color: #8ac3d7;
+ text-transform: uppercase;
+ font-size: 24px;
+ font-weight: normal;
+ padding: 0;
+ margin: 0 0 16px 0;
+}
+h2.page-heading {
+ color: #3c4e52;
+ font-size: 28px !important;
+ font-style: italic;
+ font-weight: normal !important;
+}
+#js-maincontainer-faq {
+ clear: both;
+ overflow: hidden;
+ margin: 15px 0;
+ width: 100%;
+}
+.js-maincontainer-faq-inner {
+ float: right;
+ color: #3d4e53;
+ font-size: 15px;
+ padding-right: 60px;
+}
+.js-maincontainer-faq-inner a {
+ font-weight: normal;
+ color: #3d4e53;
+ text-decoration: underline;
+}
+h3.module-title {
+ padding: 10px 0 0 0;
+ font-size: 19px;
+ font-weight: normal;
+}
+.google_signup {
+ padding: 14px 0;
+ padding: 14px 0;
+}
+.google_signup div {
+ height: 24px;
+ line-height: 24px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.google_signup div {
+ height: 24px;
+ line-height: 24px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.landingheader {
+ border-bottom: solid 5px #6994a3;
+ float: left;
+ height: 134px;
+}
+#footer {
+ clear: both;
+ margin-top: 30px;
+}
diff --git a/static/css/learnmore.css b/static/css/learnmore.css
index 4f39b354..cea17514 100644
--- a/static/css/learnmore.css
+++ b/static/css/learnmore.css
@@ -1 +1,139 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.learnmore_block{float:left;width:100%;clear:both;border-top:solid 1px #8ac3d7;margin-top:20px}.learnmore_block .quicktour{width:270px;float:left;font-style:italic;line-height:20px;font-size:13px;margin-top:20px}.learnmore_block .quicktour .highlight{font-weight:bold}.learnmore_block .quicktour.last{padding-right:0;width:270px}.learnmore_block .quicktour.last .signup{color:#8dc63f;font-weight:bold;margin-top:10px}.learnmore_block .quicktour.last .signup img{margin-left:5px;vertical-align:middle;margin-bottom:3px}.learnmore_block .movingrightalong{background:url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;height:100px;width:75px;float:left;margin-top:20px}#block-intro-text div{display:none;line-height:25px;padding-bottom:10px}#block-intro-text div#active{display:inherit}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+.learnmore_block {
+ float: left;
+ width: 100%;
+ clear: both;
+ border-top: solid 1px #8ac3d7;
+ margin-top: 20px;
+}
+.learnmore_block .quicktour {
+ width: 270px;
+ float: left;
+ font-style: italic;
+ line-height: 20px;
+ font-size: 13px;
+ margin-top: 20px;
+}
+.learnmore_block .quicktour .highlight {
+ font-weight: bold;
+}
+.learnmore_block .quicktour.last {
+ padding-right: 0px;
+ width: 270px;
+}
+.learnmore_block .quicktour.last .signup {
+ color: #8dc63f;
+ font-weight: bold;
+ margin-top: 10px;
+}
+.learnmore_block .quicktour.last .signup img {
+ margin-left: 5px;
+ vertical-align: middle;
+ margin-bottom: 3px;
+}
+.learnmore_block .movingrightalong {
+ background: url("/static/images/landingpage/quicktour-arrow.png") no-repeat center;
+ height: 100px;
+ width: 75px;
+ float: left;
+ margin-top: 20px;
+}
+#block-intro-text div {
+ display: none;
+ line-height: 25px;
+ padding-bottom: 10px;
+}
+#block-intro-text div#active {
+ display: inherit;
+}
diff --git a/static/css/lists.css b/static/css/lists.css
index bfa313fa..69dfdba0 100644
--- a/static/css/lists.css
+++ b/static/css/lists.css
@@ -1 +1,14 @@
-.user-block2{width:48%;font-size:14px;padding-right:2%}#js-leftcol li.active_lang a{font-weight:bold}.show_langs:hover{text-decoration:underline}#lang_list{display:none}
\ No newline at end of file
+.user-block2 {
+ width: 48%;
+ font-size: 14px;
+ padding-right: 2%;
+}
+#js-leftcol li.active_lang a {
+ font-weight: bold;
+}
+.show_langs:hover {
+ text-decoration: underline;
+}
+#lang_list {
+ display: none;
+}
diff --git a/static/css/manage_campaign.css b/static/css/manage_campaign.css
index 250ef0c2..a370028b 100644
--- a/static/css/manage_campaign.css
+++ b/static/css/manage_campaign.css
@@ -1 +1,276 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#tabs{border-bottom:4px solid #6994a3;clear:both;float:left;margin-top:10px;width:100%}#tabs ul.book-list-view{margin-bottom:4px!important}#tabs-1,#tabs-2,#tabs-3,#tabs-4{display:none}#tabs-1.active,#tabs-2.active,#tabs-3.active,#tabs-4.active{display:inherit}#tabs-2 textarea{width:95%}ul.tabs{float:left;padding:0;margin:0;list-style:none;width:100%}ul.tabs li{float:left;height:46px;line-height:20px;padding-right:2px;width:116px;background:0;margin:0;padding:0 2px 0 0}ul.tabs li.tabs4{padding-right:0}ul.tabs li a{height:46px;line-height:18px;display:block;text-align:center;padding:0 10px;min-width:80px;-moz-border-radius:7px 7px 0 0;-webkit-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;background:#d6dde0;color:#3d4e53}ul.tabs li a:hover{text-decoration:none}ul.tabs li a div{padding-top:8px}ul.tabs li a:hover,ul.tabs li.active a{background:#6994a3;color:#fff}.book-detail{float:left;width:100%;clear:both;display:block}#book-detail-img{float:left;margin-right:10px;width:151px}#book-detail-img img{padding:5px;border:solid 5px #edf3f4}.book-detail-info{float:left;width:309px}.book-detail-info h2.book-name,.book-detail-info h3.book-author,.book-detail-info h3.book-year{padding:0;margin:0;line-height:normal}.book-detail-info h2.book-name{font-size:19px;text-transform:capitalize;font-weight:bold;color:#3d4e53}.book-detail-info h3.book-author,.book-detail-info h3.book-year{font-size:13px;font-weight:normal;color:#6994a3}.book-detail-info>div{width:100%;clear:both;display:block;overflow:hidden;border-top:1px solid #edf3f4;padding:10px 0}.book-detail-info>div.layout{border:0;padding:0}.book-detail-info>div.layout div.pubinfo{float:left;width:auto;padding-bottom:7px}.book-detail-info>div.layout div.btn_support{float:right}.book-detail-info>div.layout div.btn_support input{font-size:15px}.book-detail-info>div.layout div.btn_support.modify input{background:#d6dde0;font-size:13px;border:double white;line-height:17px}.book-detail-info .btn_wishlist span{text-align:right}.book-detail-info .find-book{margin-top:15px}.book-detail-info .find-book label{float:left;line-height:31px}.book-detail-info .find-link{float:right}.book-detail-info .find-link img{padding:2px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.book-detail-info .pledged-info{padding:0;position:relative}.book-detail-info .pledged-group{padding:10px 40px 10px 0;float:left}.book-detail-info .status{position:absolute;top:50%;right:0;height:25px;margin-top:-12px}.preview_campaign{float:right;margin-right:10px}input[name="launch"]{display:none}#launchme{margin:15px auto}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+/* Campaign and manage_campaign use same tab styling, so it's factored out here */
+#tabs {
+ border-bottom: 4px solid #6994a3;
+ clear: both;
+ float: left;
+ margin-top: 10px;
+ width: 100%;
+}
+#tabs ul.book-list-view {
+ margin-bottom: 4px !important;
+}
+#tabs-1,
+#tabs-2,
+#tabs-3,
+#tabs-4 {
+ display: none;
+}
+#tabs-1.active,
+#tabs-2.active,
+#tabs-3.active,
+#tabs-4.active {
+ display: inherit;
+}
+#tabs-2 textarea {
+ width: 95%;
+}
+ul.tabs {
+ float: left;
+ padding: 0;
+ margin: 0;
+ list-style: none;
+ width: 100%;
+}
+ul.tabs li {
+ float: left;
+ height: 46px;
+ line-height: 20px;
+ padding-right: 2px;
+ width: 116px;
+ background: none;
+ margin: 0;
+ padding: 0 2px 0 0;
+}
+ul.tabs li.tabs4 {
+ padding-right: 0px;
+}
+ul.tabs li a {
+ height: 46px;
+ line-height: 18px;
+ display: block;
+ text-align: center;
+ padding: 0 10px;
+ min-width: 80px;
+ -moz-border-radius: 7px 7px 0 0;
+ -webkit-border-radius: 7px 7px 0 0;
+ border-radius: 7px 7px 0 0;
+ background: #d6dde0;
+ color: #3d4e53;
+}
+ul.tabs li a:hover {
+ text-decoration: none;
+}
+ul.tabs li a div {
+ padding-top: 8px;
+}
+ul.tabs li a:hover,
+ul.tabs li.active a {
+ background: #6994a3;
+ color: #fff;
+}
+/* needed for campaign, pledge, and manage_campaign */
+.book-detail {
+ float: left;
+ width: 100%;
+ clear: both;
+ display: block;
+}
+#book-detail-img {
+ float: left;
+ margin-right: 10px;
+ width: 151px;
+}
+#book-detail-img img {
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+}
+.book-detail-info {
+ float: left;
+ /* if we want to nix the explore bar, width should be 544ish */
+
+ width: 309px;
+}
+.book-detail-info h2.book-name,
+.book-detail-info h3.book-author,
+.book-detail-info h3.book-year {
+ padding: 0;
+ margin: 0;
+ line-height: normal;
+}
+.book-detail-info h2.book-name {
+ font-size: 19px;
+ text-transform: capitalize;
+ font-weight: bold;
+ color: #3d4e53;
+}
+.book-detail-info h3.book-author,
+.book-detail-info h3.book-year {
+ font-size: 13px;
+ font-weight: normal;
+ color: #6994a3;
+}
+.book-detail-info > div {
+ width: 100%;
+ clear: both;
+ display: block;
+ overflow: hidden;
+ border-top: 1px solid #edf3f4;
+ padding: 10px 0;
+}
+.book-detail-info > div.layout {
+ border: none;
+ padding: 0;
+}
+.book-detail-info > div.layout div.pubinfo {
+ float: left;
+ width: auto;
+ padding-bottom: 7px;
+}
+.book-detail-info > div.layout div.btn_support {
+ float: right;
+}
+.book-detail-info > div.layout div.btn_support input {
+ font-size: 15px;
+}
+.book-detail-info > div.layout div.btn_support.modify input {
+ background: #d6dde0;
+ font-size: 13px;
+ border: double white;
+ line-height: 17px;
+}
+.book-detail-info .btn_wishlist span {
+ text-align: right;
+}
+.book-detail-info .find-book {
+ margin-top: 15px;
+}
+.book-detail-info .find-book label {
+ float: left;
+ line-height: 31px;
+}
+.book-detail-info .find-link {
+ float: right;
+}
+.book-detail-info .find-link img {
+ padding: 2px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+.book-detail-info .pledged-info {
+ padding: 0;
+ position: relative;
+}
+.book-detail-info .pledged-group {
+ padding: 10px 40px 10px 0;
+ float: left;
+}
+.book-detail-info .status {
+ position: absolute;
+ top: 50%;
+ right: 0%;
+ height: 25px;
+ margin-top: -12px;
+}
+.preview_campaign {
+ float: right;
+ margin-right: 10px;
+}
+input[name="launch"] {
+ display: none;
+}
+#launchme {
+ margin: 15px auto;
+}
diff --git a/static/css/notices.css b/static/css/notices.css
index f6eb2db2..7326d3f2 100644
--- a/static/css/notices.css
+++ b/static/css/notices.css
@@ -1 +1,171 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.notices_menu{float:right;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;background:#edf3f4;padding:10px 20px;margin:-15px auto 7px 7px}.notices_menu a{font-size:13px;font-weight:bold}#js-main-container{float:none!important;padding-right:15px}th{text-align:left}tr{line-height:24px}tr.row1{background:#edf3f4}td{padding-left:7px;padding-right:7px}td#last{padding:0}input[type="submit"]{float:right;margin-right:0}.comments{border:solid 3px #d6dde0;margin:3px auto}.comments hr{margin:10px auto 5px;color:#d6dde0;background-color:#d6dde0;height:2px;border:0}.comments .comments_book{padding:5px;border:solid 5px #edf3f4;margin-right:10px;margin-bottom:10px;max-width:80px}.comments .comments_book img{max-width:80px}.comments .comments_textual{padding:10px 5px 5px}.comments .comments_textual div{margin-bottom:5px}.comments .comments_info{border-bottom:solid 1px #d6dde0;padding:5px}.comments .comments_info div{float:left}.comments .comments_info .comments_graphical{padding:5px auto}.comments .comments_info span{text-indent:0}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+.notices_menu {
+ float: right;
+ -moz-border-radius: 20px;
+ -webkit-border-radius: 20px;
+ border-radius: 20px;
+ background: #edf3f4;
+ padding: 10px 20px;
+ margin: -15px auto 7px 7px;
+}
+.notices_menu a {
+ font-size: 13px;
+ font-weight: bold;
+}
+#js-main-container {
+ float: none !important;
+ padding-right: 15px;
+}
+/* notice_settings */
+th {
+ text-align: left;
+}
+tr {
+ line-height: 24px;
+}
+tr.row1 {
+ background: #edf3f4;
+}
+td {
+ padding-left: 7px;
+ padding-right: 7px;
+}
+td#last {
+ padding: 0;
+}
+input[type="submit"] {
+ float: right;
+ margin-right: 0;
+}
+/* comment containers */
+.comments {
+ border: solid 3px #d6dde0;
+ margin: 3px auto;
+}
+.comments hr {
+ margin: 10px auto 5px;
+ color: #d6dde0;
+ background-color: #d6dde0;
+ height: 2px;
+ border: 0;
+}
+.comments .comments_book {
+ padding: 5px;
+ border: solid 5px #EDF3F4;
+ margin-right: 10px;
+ margin-bottom: 10px;
+ max-width: 80px;
+}
+.comments .comments_book img {
+ max-width: 80px;
+}
+.comments .comments_textual {
+ padding: 10px 5px 5px;
+}
+.comments .comments_textual div {
+ margin-bottom: 5px;
+}
+.comments .comments_info {
+ border-bottom: solid 1px #d6dde0;
+ padding: 5px;
+}
+.comments .comments_info div {
+ float: left;
+}
+.comments .comments_info .comments_graphical {
+ padding: 5px auto;
+}
+.comments .comments_info span {
+ text-indent: 0;
+}
diff --git a/static/css/registration.css b/static/css/registration.css
index fb6efa0f..532a3478 100644
--- a/static/css/registration.css
+++ b/static/css/registration.css
@@ -1 +1,240 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}#login_centerer{padding:10px 25%;width:960px}#registration{width:960px;padding:10px;margin:0 auto;padding:10px 0;font-size:13px;line-height:18px}#registration input[type="submit"]{margin:0 auto;padding:5px 0}#login{border:solid 3px #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;margin:10px auto;float:left;padding:10px;width:50%}#login form label{display:block}#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:16px}#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}#login form input:focus{border:solid 1px #8dc63f}#login form span.helptext{display:block;margin-top:-11px;font-style:italic;font-size:13px}#login .google_signup{padding:14px 0}#login .google_signup div{height:24px;line-height:24px;float:left;padding-left:5px}#login .google_signup img{float:left;height:24px;width:24px}.actionbutton{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;float:left}#welcomesearch label{display:block;margin:0 auto;font-size:19px;padding-bottom:10px}#welcomesearch p{margin-bottom:5px}#welcomesearch form{margin:0 auto;width:210px;background:url("/static/images/landingpage/search-box-two.png") 0 0 no-repeat;height:36px;display:block;overflow:hidden}#welcomesearch input.inputbox{border:0;color:#66942e;height:26px;line-height:26px;font-size:13px;float:left;padding:0;margin:5px 0 5px 20px;width:149px;outline:0}#welcomesearch input.inputbox:focus{border:0}#welcomesearch input.greenbutton[type="submit"]{background:url("/static/images/landingpage/search-button-two.png") 0 0 no-repeat;width:40px;height:40px;padding:0;margin:0;border:0;display:block;float:right;text-indent:-10000px;font-size:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.welcomealternatives{border-top:1px solid #d6dde0;margin-top:10px;padding-top:5px}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+#login_centerer {
+ padding: 10px 25%;
+ width: 960px;
+}
+#registration {
+ width: 960px;
+ padding: 10px;
+ margin: 0 auto;
+ padding: 10px 0;
+ font-size: 13px;
+ line-height: 18px;
+}
+#registration input[type="submit"] {
+ margin: 0 auto;
+ padding: 5px 0;
+}
+#login {
+ border: solid 3px #d6dde0;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ margin: 10px auto;
+ float: left;
+ padding: 10px;
+ width: 50%;
+}
+#login form label {
+ display: block;
+}
+#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: 16px;
+}
+#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: none;
+ margin: 5px 0;
+}
+#login form input:focus {
+ border: solid 1px #8dc63f;
+}
+#login form span.helptext {
+ display: block;
+ margin-top: -11px;
+ font-style: italic;
+ font-size: 13px;
+}
+#login .google_signup {
+ padding: 14px 0;
+}
+#login .google_signup div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+#login .google_signup img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.actionbutton {
+ 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: none;
+ margin: 5px 0;
+ float: left;
+}
+#welcomesearch label {
+ display: block;
+ margin: 0 auto;
+ font-size: 19px;
+ padding-bottom: 10px;
+}
+#welcomesearch p {
+ margin-bottom: 5px;
+}
+#welcomesearch form {
+ margin: 0 auto;
+ width: 210px;
+ background: url("/static/images/landingpage/search-box-two.png") 0 0 no-repeat;
+ height: 36px;
+ display: block;
+ overflow: hidden;
+}
+#welcomesearch input.inputbox {
+ border: none;
+ color: #66942e;
+ height: 26px;
+ line-height: 26px;
+ font-size: 13px;
+ float: left;
+ padding: 0;
+ margin: 5px 0 5px 20px;
+ width: 149px;
+ outline: none;
+}
+#welcomesearch input.inputbox:focus {
+ border: none;
+}
+#welcomesearch input.greenbutton[type="submit"] {
+ background: url("/static/images/landingpage/search-button-two.png") 0 0 no-repeat;
+ width: 40px;
+ height: 40px;
+ padding: 0;
+ margin: 0;
+ border: none;
+ display: block;
+ float: right;
+ text-indent: -10000px;
+ font-size: 0;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+}
+.welcomealternatives {
+ border-top: 1px solid #d6dde0;
+ margin-top: 10px;
+ padding-top: 5px;
+}
diff --git a/static/css/search.css b/static/css/search.css
index 89b57d7e..4c460502 100644
--- a/static/css/search.css
+++ b/static/css/search.css
@@ -1 +1,124 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}span.rounded{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}span.rounded>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}span.rounded>span .hovertext{display:none}span.rounded>span:hover .hovertext{display:inline}span.grey{background:#bacfd6 url("/static/images/header-button-undefined.png") left bottom repeat-x}.listview .rounded{line-height:normal;margin-right:0}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+span.rounded {
+ 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;
+}
+span.rounded > span {
+ padding: 7px 7px;
+ min-width: 15px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ text-align: center;
+ display: inline-block;
+}
+span.rounded > span .hovertext {
+ display: none;
+}
+span.rounded > span:hover .hovertext {
+ display: inline;
+}
+span.grey {
+ background: #bacfd6 url("/static/images/header-button-undefined.png") left bottom repeat-x;
+}
+.listview .rounded {
+ line-height: normal;
+ margin-right: 0;
+}
diff --git a/static/css/sitewide.css b/static/css/sitewide.css
index 4c31fcc3..50814df8 100644
--- a/static/css/sitewide.css
+++ b/static/css/sitewide.css
@@ -1 +1,731 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.preview{border:solid 3px #e35351;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;clear:both;padding:5px 10px;font-size:13px;line-height:17px}.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;line-height:17px;border-color:#8dc63f;width:90%;margin:10px auto 0 auto;font-size:120%}.launch_top a{color:#8dc63f}.launch_top a{font-size:110%}.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;line-height:17px;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;top:30%;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:13px;text-decoration:none;cursor:pointer;color:#6994a3}a:hover{text-decoration:underline}img{border:0}input,textarea{border:2px solid #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}input:focus,textarea:focus{border:2px solid #8dc63f;outline:0}.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"]{background:#8dc63f;color:white;font-weight:bold;padding:.5em 1em;cursor:pointer}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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+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;padding-top:25px}.js-topmenu ul li{float:left;padding:0 10px;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;font-size:13px;letter-spacing:-0.05em}.js-topmenu ul li span#welcome{color:#8dc63f;height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;letter-spacing:-0.05em;overflow:auto;max-width:240px}.js-topmenu ul li #unseen_count div{border:solid 2px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:3px;line-height:16px;width:16px;cursor:pointer;text-align:center;margin-left:-10px}.js-topmenu ul li #unseen_count div#i_haz_notifications{background-color:#8dc63f;color:white;border-color:#8dc63f}.js-topmenu ul li #unseen_count div#no_notifications_for_you{border-color:#d6dde0;background-color:#d6dde0;color:#edf3f4}.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-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}#welcome{overflow:hidden}#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{width:100%;overflow:hidden;padding-left:10px}div#content-block-content .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;position:absolute;left:12.5%;width:75%;top:25%;margin-left:0;padding:9px}#about_expandable p{padding:9px 0;font-size:15px;line-height:20px}#about_expandable p a{font-size:15px;line-height:20px}#about_expandable p b{color:#8dc63f}#about_expandable p.last{border-bottom:solid 2px #d6dde0;margin-bottom:5px}#about_expandable .right_border{border-right:solid 1px #d6dde0;float:left;padding:9px}#about_expandable .signuptoday{float:right;margin-top:0;clear:none}#about_expandable .collapser_x{margin-top:-27px;margin-right:-27px}.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}
\ No newline at end of file
+/* For sitewide elements of unglue.it. */
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+/* remove before beta */
+.preview {
+ border: solid 3px #e35351;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ clear: both;
+ padding: 5px 10px;
+ font-size: 13px;
+ line-height: 17px;
+}
+.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;
+ line-height: 17px;
+ border-color: #8dc63f;
+ width: 90%;
+ margin: 10px auto 0 auto;
+ font-size: 120%;
+}
+.launch_top a {
+ color: #8dc63f;
+}
+.launch_top a {
+ font-size: 110%;
+}
+.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;
+ line-height: 17px;
+ width: 80%;
+ margin: 10px auto;
+}
+.preview_content a {
+ color: #8dc63f;
+}
+/* Local variables */
+.utilityheaders {
+ text-transform: uppercase;
+ color: #3d4e53;
+ font-size: 15px;
+ display: block;
+}
+/* Page-wide elements */
+html,
+body {
+ /* Necessary to make footer stretch to bottom of page */
+
+ 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 {
+ /* remove after alpha? */
+
+ position: fixed;
+ top: 30%;
+ right: 0;
+ z-index: 500;
+}
+#feedback p {
+ /* see http://scottgale.com/blog/css-vertical-text/2010/03/01/ */
+
+ 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: 13px;
+ text-decoration: none;
+ cursor: pointer;
+ color: #6994a3;
+}
+a:hover {
+ text-decoration: underline;
+}
+img {
+ border: none;
+}
+input,
+textarea {
+ border: 2px solid #d6dde0;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+input:focus,
+textarea:focus {
+ border: 2px solid #8dc63f;
+ outline: 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"] {
+ background: #8dc63f;
+ color: white;
+ font-weight: bold;
+ padding: 0.5em 1em;
+ cursor: pointer;
+}
+.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 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+.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;
+}
+/* add class clearfix to floats to make them self-clear */
+.clearfix:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+/* Header section */
+#js-header {
+ height: 90px;
+}
+.js-logo {
+ float: left;
+ padding-top: 10px;
+}
+.js-logo a img {
+ border: none;
+}
+.js-topmenu {
+ float: right;
+ padding-top: 25px;
+}
+.js-topmenu ul li {
+ float: left;
+ padding: 0 10px;
+ 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;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.js-topmenu ul li span#welcome {
+ color: #8dc63f;
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+ overflow: auto;
+ max-width: 240px;
+}
+.js-topmenu ul li #unseen_count div {
+ border: solid 2px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ padding: 3px;
+ line-height: 16px;
+ width: 16px;
+ cursor: pointer;
+ text-align: center;
+ margin-left: -10px;
+}
+.js-topmenu ul li #unseen_count div#i_haz_notifications {
+ background-color: #8dc63f;
+ color: white;
+ border-color: #8dc63f;
+}
+.js-topmenu ul li #unseen_count div#no_notifications_for_you {
+ border-color: #d6dde0;
+ background-color: #d6dde0;
+ color: #edf3f4;
+}
+.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-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: none;
+ -moz-border-radius: 50px 0 0 50px;
+ -webkit-border-radius: 50px 0 0 50px;
+ border-radius: 50px 0 0 50px;
+ outline: none;
+ 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: none;
+ text-indent: -10000px;
+ cursor: pointer;
+}
+.js-search-inner {
+ float: right;
+}
+#welcome {
+ overflow: hidden;
+}
+#locationhash {
+ /* used solely to contain template variables for tabs.js; should not display */
+
+ display: none;
+}
+/* Learn More menu */
+#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;
+}
+/* Explore column */
+#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;
+}
+/* Main content area: top */
+#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 content area: main*/
+#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: none;
+}
+.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 {
+ width: 100%;
+ overflow: hidden;
+ padding-left: 10px;
+}
+div#content-block-content .cols3 .column {
+ width: 33.33%;
+ float: left;
+}
+/* Footer */
+#footer {
+ background-color: #edf3f4;
+ clear: both;
+ text-transform: uppercase;
+ color: #3d4e53;
+ font-size: 15px;
+ display: block;
+ padding: 15px 0px 45px 0px;
+ 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;
+}
+/* Without this the slideshow resizes to the wrong height when you click the controls */
+.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;
+ position: absolute;
+ left: 12.5%;
+ width: 75%;
+ top: 25%;
+ margin-left: 0;
+ padding: 9px;
+}
+#about_expandable p {
+ padding: 9px 0;
+ font-size: 15px;
+ line-height: 20px;
+}
+#about_expandable p a {
+ font-size: 15px;
+ line-height: 20px;
+}
+#about_expandable p b {
+ color: #8dc63f;
+}
+#about_expandable p.last {
+ border-bottom: solid 2px #d6dde0;
+ margin-bottom: 5px;
+}
+#about_expandable .right_border {
+ border-right: solid 1px #d6dde0;
+ float: left;
+ padding: 9px;
+}
+#about_expandable .signuptoday {
+ float: right;
+ margin-top: 0;
+ clear: none;
+}
+#about_expandable .collapser_x {
+ margin-top: -27px;
+ margin-right: -27px;
+}
+.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;
+}
diff --git a/static/css/supporter_layout.css b/static/css/supporter_layout.css
index 26c7ff3b..5c4c7df8 100644
--- a/static/css/supporter_layout.css
+++ b/static/css/supporter_layout.css
@@ -1 +1,512 @@
-.header-text{height:36px;line-height:36px;display:block;text-decoration:none;font-weight:bold;font-size:13px;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}.google_signup_div{padding:14px 0}.google_signup_div div{height:24px;line-height:24px;float:left;padding-left:5px}.google_signup_div img{float:left;height:24px;width:24px}.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 16px 0 0;-webkit-border-radius:16px 16px 0 0;border-radius:16px 16px 0 0;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}.block-inner{padding-right:10px}.user-block{width:100%;clear:both}#user-block-hide{float:left;width:100%;clear:both;padding-top:10px}#user-block-hide .block{float:left}#user-block-hide .block1,#user-block-hide .block3{width:25%}#user-block-hide .block2{width:50%}#user-block-hide .block2 div{float:left;max-width:340px}#user-block-hide .block2 input{margin-left:5px}#user-block-hide input{float:left;margin:3px 10px 0 0;width:45%}#user-block-hide input[type=checkbox]{float:none;width:auto}#user-block-hide input#librarything_input,#user-block-hide input#goodreads_input{width:auto;cursor:pointer;background:#edf3f4;color:#3d4e53;cursor:pointer}#user-block-hide input.profile-save{width:116px;cursor:pointer}#user-block-hide label{float:left;width:90%}#user-block-hide textarea{width:95%}#user-block-hide select{margin-bottom:5px}#user-block1{float:left;width:25%}.user-block2{color:#6994a3;font-size:13px;line-height:normal;float:left;width:25%}.user-block3,.user-block4{float:left;width:25%}.user-block3.recommended,.user-block4.recommended{margin-top:auto}.user-block3.recommended img,.user-block4.recommended img{margin-right:7px}.user-block3{margin-top:8px}.user-block3 .ungluingtext{height:29px;line-height:29px;float:left;color:#3d4e53;padding-right:5px}.user-block4{margin-top:7px}img.user-avatar{float:left;margin-right:10px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px}.social{width:100%}span.special-user-name{display:block;font-size:19px;color:#3d4e53;margin-left:10px;font-weight:bold;height:50px}span.user-name,span.user-date,span.user-short-info{display:block}.user-block2 .user-short-info{padding-right:10px}span.user-name,span.user-name a{font-size:13px;color:#3d4e53}span.user-status-title{float:left;margin-right:8px;padding-top:5px}span.rounded{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}span.rounded>span{padding:7px 7px;min-width:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;text-align:center;display:inline-block}span.rounded>span .hovertext{display:none}span.rounded>span:hover .hovertext{display:inline}span.blue{background:#a7d26a url("/static/images/header-button-blue.png") left bottom repeat-x}span.orange{background:#eabc7c url("/static/images/header-button-orange.png") left bottom repeat-x}span.grey{background:#bacfd6 url("/static/images/header-button-grey.png") left bottom repeat-x}div.check-list{float:left;padding-bottom:7px;clear:both}a.profile-edit{display:block}div.profile-save{padding-top:15px;border:0}input.profile-save{background:url("/static/images/header/save-setting.png") 0 0 no-repeat;width:116px;height:42px;display:block;text-indent:-100000px;border:0;cursor:pointer}#loadgr{background:url("/static/images/supporter_icons/goodreads_square.png") left center no-repeat;min-height:33px;margin:12px auto}#loadgr span{display:inline-block;vertical-align:middle}#loadgr div,#loadgr input{margin:auto 10px auto 36px}#loadgr #goodreads_shelves{margin:auto 10px auto 36px;display:block}#loadlt{background:url("/static/images/supporter_icons/librarything_square.png") left center no-repeat;min-height:32px;padding-top:4px}#loadlt div,#loadlt input{margin:auto 10px auto 36px}.weareonthat{background:url("/static/images/checkmark_small.png") left center no-repeat}span.my-setting{background:#d6dde0 url("/static/images/header/explane.png") 90% center no-repeat;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px;height:50px;line-height:50px;display:block;padding:0 0 0 10px;font-size:19px;font-weight:bold;cursor:pointer}span.my-setting.active{background:#d6dde0 url("/static/images/header/collspane.png") 90% center no-repeat}.badges.listspage{float:left;margin-left:12px}#tabs{clear:both;float:left;margin-left:10px;margin-top:10px;width:100%;border-bottom:4px solid #d6dde0}#tabs ul.tabs li a:hover{text-decoration:none}#tabs.wantto ul.tabs li.tabs3.active a{background:#d6dde0;color:#3d4e53}#tabs.ungluing ul.tabs li.tabs2.active a{background:#eabc7c;color:#fff}#tabs.unglued ul.tabs li.tabs1.active a{background:#8dc63f;color:#fff}#tabs ul.book-list-view{margin-bottom:0!important}#tabs-1,#tabs-2,#tabs-3{margin-left:10px}ul.tabs{float:left;padding:0;margin:0;list-style:none}ul.tabs li{float:left;height:46px;line-height:46px;margin-right:2px}ul.tabs li.tabs1,ul.tabs li.tabs2,ul.tabs li.tabs3{width:112px}ul.tabs li a{height:46px;line-height:46px;display:block;text-align:center;padding:0 10px;min-width:80px;-moz-border-radius:7px 7px 0 0;-webkit-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0;background:#6994a3;color:#fff}ul.tabs li.tabs1 a:hover,ul.tabs li.tabs1.active a{background:#8dc63f;color:#fff}ul.tabs li.tabs2 a:hover,ul.tabs li.tabs2.active a{background:#eabc7c;color:#fff}ul.tabs li.tabs3 a:hover,ul.tabs li.tabs3.active a{background:#d6dde0;color:#3d4e53}#rss{height:46px}#rss img{padding:16px 0 0 14px}#rss span{margin-left:3px;font-size:13px}.listview .rounded{line-height:normal;margin-right:0}div#content-block-content{padding-left:10px}.empty-wishlist{margin-top:10px}.js-news-text{float:left;width:70%;font-size:15px;color:#3d4e53;font-family:lucida grande}.js-news-links{float:right;width:30%}.column-left .item{margin:0 10px 10px 0}.column-center .item{margin:0 5px 10px 5px}.column-right .item{margin:0 0 10px 10px}.column .item{border:7px solid #edf3f4;padding:10px}.book-image{padding:0 0 10px 0}.book-info{padding:0 0 10px 0;line-height:125%;position:relative}.book-info span.book-new{background:url(/static/images/images/icon-new.png) 0 0 no-repeat;width:38px;height:36px;display:block;position:absolute;right:10px;top:0}.book-name{color:#3d4e53}.book-author{color:#6994a3}.book-status{margin:0 -10px;border-top:1px solid #edf3f4;padding:15px 10px 0 10px;position:relative}.book-status span.unglue{font-style:italic}.book-status span.status{position:absolute;right:10px;bottom:-5px;width:37px;height:25px;display:block}#js-slide .jsmodule{width:660px!important}#js-maincontainer-bot-block{padding-left:16px}.anon_about{height:43px;line-height:43px;font-size:15px;padding-left:37px;border:solid 3px #d6dde0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;width:665px;margin:7px 0}.anon_about a{font-size:15px;color:#8dc63f}
\ No newline at end of file
+/* variables and mixins used in multiple less files go here */
+.header-text {
+ height: 36px;
+ line-height: 36px;
+ display: block;
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 13px;
+ letter-spacing: -0.05em;
+}
+.panelborders {
+ border-width: 1px 0px;
+ border-style: solid none;
+ border-color: #FFFFFF;
+}
+.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;
+}
+.google_signup_div {
+ padding: 14px 0;
+}
+.google_signup_div div {
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ padding-left: 5px;
+}
+.google_signup_div img {
+ float: left;
+ height: 24px;
+ width: 24px;
+}
+.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: none;
+ margin: 5px 0;
+}
+.errors {
+ -moz-border-radius: 16px 16px 0 0;
+ -webkit-border-radius: 16px 16px 0 0;
+ border-radius: 16px 16px 0 0;
+ 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: none;
+}
+.block-inner {
+ padding-right: 10px;
+}
+.user-block {
+ width: 100%;
+ clear: both;
+}
+#user-block-hide {
+ float: left;
+ width: 100%;
+ clear: both;
+ padding-top: 10px;
+}
+#user-block-hide .block {
+ float: left;
+}
+#user-block-hide .block1,
+#user-block-hide .block3 {
+ width: 25%;
+}
+#user-block-hide .block2 {
+ width: 50%;
+}
+#user-block-hide .block2 div {
+ float: left;
+ max-width: 340px;
+}
+#user-block-hide .block2 input {
+ margin-left: 5px;
+}
+#user-block-hide input {
+ float: left;
+ margin: 3px 10px 0 0;
+ width: 45%;
+}
+#user-block-hide input[type=checkbox] {
+ float: none;
+ width: auto;
+}
+#user-block-hide input#librarything_input,
+#user-block-hide input#goodreads_input {
+ width: auto;
+ cursor: pointer;
+ background: #edf3f4;
+ color: #3d4e53;
+ cursor: pointer;
+}
+#user-block-hide input.profile-save {
+ width: 116px;
+ cursor: pointer;
+}
+#user-block-hide label {
+ float: left;
+ width: 90%;
+}
+#user-block-hide textarea {
+ width: 95%;
+}
+#user-block-hide select {
+ margin-bottom: 5px;
+}
+#user-block1 {
+ float: left;
+ width: 25%;
+}
+.user-block2 {
+ color: #6994a3;
+ font-size: 13px;
+ line-height: normal;
+ float: left;
+ width: 25%;
+}
+.user-block3,
+.user-block4 {
+ float: left;
+ width: 25%;
+}
+.user-block3.recommended,
+.user-block4.recommended {
+ margin-top: auto;
+}
+.user-block3.recommended img,
+.user-block4.recommended img {
+ margin-right: 7px;
+}
+.user-block3 {
+ margin-top: 8px;
+}
+.user-block3 .ungluingtext {
+ height: 29px;
+ line-height: 29px;
+ float: left;
+ color: #3d4e53;
+ padding-right: 5px;
+}
+.user-block4 {
+ margin-top: 7px;
+}
+img.user-avatar {
+ float: left;
+ margin-right: 10px;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+}
+.social {
+ width: 100%;
+}
+span.special-user-name {
+ display: block;
+ font-size: 19px;
+ color: #3d4e53;
+ margin-left: 10px;
+ font-weight: bold;
+ height: 50px;
+}
+span.user-name,
+span.user-date,
+span.user-short-info {
+ display: block;
+}
+.user-block2 .user-short-info {
+ padding-right: 10px;
+}
+span.user-name,
+span.user-name a {
+ font-size: 13px;
+ color: #3d4e53;
+}
+span.user-status-title {
+ float: left;
+ margin-right: 8px;
+ padding-top: 5px;
+}
+span.rounded {
+ 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;
+}
+span.rounded > span {
+ padding: 7px 7px;
+ min-width: 15px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ text-align: center;
+ display: inline-block;
+}
+span.rounded > span .hovertext {
+ display: none;
+}
+span.rounded > span:hover .hovertext {
+ display: inline;
+}
+span.blue {
+ background: #a7d26a url("/static/images/header-button-blue.png") left bottom repeat-x;
+}
+span.orange {
+ background: #eabc7c url("/static/images/header-button-orange.png") left bottom repeat-x;
+}
+span.grey {
+ background: #bacfd6 url("/static/images/header-button-grey.png") left bottom repeat-x;
+}
+div.check-list {
+ float: left;
+ padding-bottom: 7px;
+ clear: both;
+}
+a.profile-edit {
+ display: block;
+}
+div.profile-save {
+ padding-top: 15px;
+ border: none;
+}
+input.profile-save {
+ background: url("/static/images/header/save-setting.png") 0 0 no-repeat;
+ width: 116px;
+ height: 42px;
+ display: block;
+ text-indent: -100000px;
+ border: none;
+ cursor: pointer;
+}
+#loadgr {
+ background: url("/static/images/supporter_icons/goodreads_square.png") left center no-repeat;
+ min-height: 33px;
+ margin: 12px auto;
+}
+#loadgr span {
+ display: inline-block;
+ vertical-align: middle;
+}
+#loadgr div,
+#loadgr input {
+ margin: auto 10px auto 36px;
+}
+#loadgr #goodreads_shelves {
+ margin: auto 10px auto 36px;
+ display: block;
+}
+#loadlt {
+ background: url("/static/images/supporter_icons/librarything_square.png") left center no-repeat;
+ min-height: 32px;
+ padding-top: 4px;
+}
+#loadlt div,
+#loadlt input {
+ margin: auto 10px auto 36px;
+}
+.weareonthat {
+ background: url("/static/images/checkmark_small.png") left center no-repeat;
+}
+span.my-setting {
+ background: #d6dde0 url("/static/images/header/explane.png") 90% center no-repeat;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ height: 50px;
+ line-height: 50px;
+ display: block;
+ padding: 0 0 0 10px;
+ font-size: 19px;
+ font-weight: bold;
+ cursor: pointer;
+}
+span.my-setting.active {
+ background: #d6dde0 url("/static/images/header/collspane.png") 90% center no-repeat;
+}
+.badges.listspage {
+ float: left;
+ margin-left: 12px;
+}
+#tabs {
+ clear: both;
+ float: left;
+ margin-left: 10px;
+ margin-top: 10px;
+ width: 100%;
+ border-bottom: 4px solid #d6dde0;
+}
+#tabs ul.tabs li a:hover {
+ text-decoration: none;
+}
+#tabs.wantto ul.tabs li.tabs3.active a {
+ background: #d6dde0;
+ color: #3d4e53;
+}
+#tabs.ungluing ul.tabs li.tabs2.active a {
+ background: #eabc7c;
+ color: #fff;
+}
+#tabs.unglued ul.tabs li.tabs1.active a {
+ background: #8dc63f;
+ color: #fff;
+}
+#tabs ul.book-list-view {
+ margin-bottom: 0 !important;
+}
+#tabs-1,
+#tabs-2,
+#tabs-3 {
+ margin-left: 10px;
+}
+ul.tabs {
+ float: left;
+ padding: 0;
+ margin: 0;
+ list-style: none;
+}
+ul.tabs li {
+ float: left;
+ height: 46px;
+ line-height: 46px;
+ margin-right: 2px;
+}
+ul.tabs li.tabs1,
+ul.tabs li.tabs2,
+ul.tabs li.tabs3 {
+ width: 112px;
+}
+ul.tabs li a {
+ height: 46px;
+ line-height: 46px;
+ display: block;
+ text-align: center;
+ padding: 0 10px;
+ min-width: 80px;
+ -moz-border-radius: 7px 7px 0 0;
+ -webkit-border-radius: 7px 7px 0 0;
+ border-radius: 7px 7px 0 0;
+ background: #6994a3;
+ color: #fff;
+}
+ul.tabs li.tabs1 a:hover,
+ul.tabs li.tabs1.active a {
+ background: #8dc63f;
+ color: #ffffff;
+}
+ul.tabs li.tabs2 a:hover,
+ul.tabs li.tabs2.active a {
+ background: #eabc7c;
+ color: #fff;
+}
+ul.tabs li.tabs3 a:hover,
+ul.tabs li.tabs3.active a {
+ background: #d6dde0;
+ color: #3d4e53;
+}
+#rss {
+ height: 46px;
+}
+#rss img {
+ padding: 16px 0 0 14px;
+}
+#rss span {
+ margin-left: 3px;
+ font-size: 13px;
+}
+.listview .rounded {
+ line-height: normal;
+ margin-right: 0;
+}
+div#content-block-content {
+ padding-left: 10px;
+}
+.empty-wishlist {
+ margin-top: 10px;
+}
+.js-news-text {
+ float: left;
+ width: 70%;
+ font-size: 15px;
+ color: #3d4e53;
+ font-family: lucida grande;
+}
+.js-news-links {
+ float: right;
+ width: 30%;
+}
+.column-left .item {
+ margin: 0 10px 10px 0;
+}
+.column-center .item {
+ margin: 0 5px 10px 5px;
+}
+.column-right .item {
+ margin: 0 0 10px 10px;
+}
+.column .item {
+ border: 7px solid #edf3f4;
+ padding: 10px;
+}
+.book-image {
+ padding: 0 0 10px 0;
+}
+.book-info {
+ padding: 0 0 10px 0;
+ line-height: 125%;
+ position: relative;
+}
+.book-info span.book-new {
+ background: url(/static/images/images/icon-new.png) 0 0 no-repeat;
+ width: 38px;
+ height: 36px;
+ display: block;
+ position: absolute;
+ right: 10px;
+ top: 0;
+}
+.book-name {
+ color: #3d4e53;
+}
+.book-author {
+ color: #6994a3;
+}
+.book-status {
+ margin: 0 -10px;
+ border-top: 1px solid #edf3f4;
+ padding: 15px 10px 0 10px;
+ position: relative;
+}
+.book-status span.unglue {
+ font-style: italic;
+}
+.book-status span.status {
+ position: absolute;
+ right: 10px;
+ bottom: -5px;
+ width: 37px;
+ height: 25px;
+ display: block;
+}
+#js-slide .jsmodule {
+ width: 660px !important;
+}
+#js-maincontainer-bot-block {
+ padding-left: 16px;
+}
+.anon_about {
+ height: 43px;
+ line-height: 43px;
+ font-size: 15px;
+ padding-left: 37px;
+ border: solid 3px #d6dde0;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ width: 665px;
+ margin: 7px 0;
+}
+.anon_about a {
+ font-size: 15px;
+ color: #8dc63f;
+}
From 6d6c324a82788ea06682f7a39d36735e9f150f5f Mon Sep 17 00:00:00 2001
From: Andromeda Yelton
Date: Tue, 14 Aug 2012 15:03:33 -0400
Subject: [PATCH 31/95] tweaking
---
frontend/templates/pledge.html | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/frontend/templates/pledge.html b/frontend/templates/pledge.html
index 8b3e71b6..03f06ffe 100644
--- a/frontend/templates/pledge.html
+++ b/frontend/templates/pledge.html
@@ -68,11 +68,6 @@
{{ form.non_field_errors }}
{{ form.preapproval_amount.label_tag }}: {{ form.preapproval_amount.errors }}${{ form.preapproval_amount }}
- {% comment %}
- not supported yet; don't display
- {{ form.anonymous.label_tag }}: {{ form.anonymous.errors }}{{ form.anonymous }}
- {% endcomment %}
-
Choose your premium: