mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-27 09:03:48 +00:00
772 lines
17 KiB
Stylus
Executable file
772 lines
17 KiB
Stylus
Executable file
// Base grid system dimensions
|
|
grid_width = 480px
|
|
grid_columns = 12
|
|
outer_margin = 20px
|
|
column_space = 20px
|
|
column_width = grid_width / grid_columns - column_space
|
|
base_font_size = round(grid_width * 0.033333)
|
|
vertical_space = 20px
|
|
|
|
input_border = 1px
|
|
input_padding = 5px
|
|
input_height = base_font_size + 6px
|
|
field_height = input_height + (input_padding + input_border)*2
|
|
|
|
columns(n)
|
|
(column_width * n + column_space * (-1+n))
|
|
|
|
// Some CSS3 property mixins
|
|
user-select()
|
|
-webkit-user-select arguments
|
|
-khtml-user-select arguments
|
|
-moz-user-select arguments
|
|
-o-user-select arguments
|
|
user-select arguments
|
|
|
|
linear-gradient(start, stops...)
|
|
prop = current-property[0]
|
|
stops = unquote(join(', ', stops))
|
|
add-property(prop, '-webkit-linear-gradient(%s, %s)' % (start stops) )
|
|
add-property(prop, '-moz-linear-gradient(%s, %s)' % (start stops) )
|
|
add-property(prop, '-o-linear-gradient(%s, %s)' % (start stops) )
|
|
'linear-gradient(%s, %s)' % (start stops)
|
|
|
|
image-linear-gradient(image, start, stops...)
|
|
prop = current-property[0]
|
|
stops = unquote(join(', ', stops))
|
|
add-property(prop, '%s, -webkit-linear-gradient(%s, %s)' % (image start stops) )
|
|
add-property(prop, '%s, -moz-linear-gradient(%s, %s)' % (image start stops) )
|
|
add-property(prop, '%s, -o-linear-gradient(%s, %s)' % (image start stops) )
|
|
'%s linear-gradient(%s, %s)' % (image start stops)
|
|
|
|
transition()
|
|
-webkit-transition arguments
|
|
-moz-transition arguments
|
|
|
|
// For IE6/7 support we use this for all inputs,
|
|
// in lieu of border-box sizing 100%
|
|
field-width(v)
|
|
width v
|
|
|
|
// Fit the input by subtracting padding and border from box
|
|
& input[type=text]
|
|
width v - (input_border+input_padding)*2
|
|
|
|
// Horizontally stack a field on the preceeding field
|
|
hstack(cols)
|
|
field-width columns(cols)
|
|
add-property(margin-left, column_space)
|
|
add-property(clear, none)
|
|
|
|
// Subscription form
|
|
.recurly
|
|
display block
|
|
position relative
|
|
width columns(grid_columns) + (outer_margin*2)
|
|
|
|
.cost, .discount
|
|
font-size base_font_size
|
|
text-align right
|
|
|
|
.subscription
|
|
border-radius 9px 9px 0 0
|
|
text-shadow 0 1px 0 white
|
|
padding-top 20px
|
|
overflow hidden
|
|
|
|
.plan
|
|
color #333
|
|
overflow hidden
|
|
position relative
|
|
zoom 1 // IE6
|
|
|
|
.name
|
|
float left
|
|
font-size base_font_size*2
|
|
min-width columns(6) - column_space
|
|
padding-left outer_margin
|
|
padding-right (column_space*2)
|
|
|
|
.quantity.field
|
|
clear none
|
|
field-width columns(2)
|
|
margin 4px 0
|
|
|
|
&:before
|
|
content "\d7"
|
|
height 48px
|
|
line-height 30px
|
|
position absolute
|
|
right 100%
|
|
width column_space * 2
|
|
font-size 20px
|
|
text-align center
|
|
vertical-align middle
|
|
z-index 1337
|
|
color #666
|
|
|
|
.recurring_cost
|
|
float right
|
|
text-align right
|
|
padding-right outer_margin
|
|
|
|
.cost
|
|
font-size base_font_size*2
|
|
|
|
.interval
|
|
font-size round(base_font_size*0.75)
|
|
padding-bottom vertical_space
|
|
|
|
.free_trial
|
|
clear left
|
|
float left
|
|
font-size 13px
|
|
height 22px
|
|
margin 0
|
|
position absolute
|
|
top 35px
|
|
left outer_margin
|
|
font-style italic
|
|
|
|
|
|
.setup_fee
|
|
clear both
|
|
background url(images/dash.png) repeat-x 1px top
|
|
overflow hidden
|
|
padding-top vertical_space
|
|
|
|
.title
|
|
float left
|
|
padding-left outer_margin
|
|
font-weight bold
|
|
font-size base_font_size
|
|
.cost
|
|
float right
|
|
padding-right outer_margin
|
|
|
|
.vat
|
|
height 24px
|
|
padding column_space outer_margin
|
|
display none
|
|
background url(images/dash.png) repeat-x 1px top
|
|
|
|
&.applicable
|
|
display block
|
|
|
|
.title
|
|
font-size base_font_size
|
|
font-weight normal
|
|
float left
|
|
|
|
.cost
|
|
float right
|
|
font-size 18px
|
|
|
|
.add_ons
|
|
clear both
|
|
|
|
&.any
|
|
margin vertical_space (outer_margin/2)
|
|
|
|
.add_on
|
|
background #ecedee
|
|
background linear-gradient(top, #ecedee, #e5e6e7)
|
|
margin 0
|
|
height 43px
|
|
line-height 42px
|
|
vertical-align middle
|
|
position relative
|
|
clear both
|
|
overflow hidden
|
|
border-top 1px solid #ccc
|
|
border-left 1px solid #ccc
|
|
border-right 1px solid #ccc
|
|
text-shadow 0 1px 0 white
|
|
color #999
|
|
font-weight 300
|
|
font-size 16px
|
|
zoom 1 // IE6
|
|
cursor default
|
|
|
|
&.first
|
|
border-top-left-radius 10px
|
|
border-top-right-radius 10px
|
|
|
|
&.last
|
|
border-bottom 1px solid #ccc
|
|
border-bottom-left-radius 10px
|
|
border-bottom-right-radius 10px
|
|
|
|
.name
|
|
font-size inherit
|
|
font-weight inherit
|
|
font-style italic
|
|
color inherit
|
|
width columns(6) - outer_margin
|
|
margin-left (outer_margin/2) - 1
|
|
margin-right column_space
|
|
position absolute
|
|
left 0
|
|
top 0
|
|
|
|
.quantity.field
|
|
position absolute
|
|
top 4px
|
|
left columns(6) + (outer_margin/2) + column_space - 1px
|
|
field-width columns(2)
|
|
display none
|
|
|
|
&:before
|
|
content "\d7"
|
|
height 48px
|
|
line-height 30px
|
|
position absolute
|
|
right 100%
|
|
width column_space * 2
|
|
font-size 20px
|
|
text-align center
|
|
vertical-align middle
|
|
z-index 1337
|
|
color #666
|
|
|
|
.cost
|
|
font-size inherit
|
|
line-height inherit
|
|
vertical-align middle
|
|
position absolute
|
|
right (outer_margin/2)
|
|
|
|
&:hover
|
|
background linear-gradient(top, '#f0f0f0 0%', '#dfdfdf 50%', '#d5d5d5 50%', '#e0e0e0 100%')
|
|
box-shadow inset 0 1px 0 #fff
|
|
text-shadow none
|
|
color #111
|
|
|
|
&:active
|
|
&.selected
|
|
color #111
|
|
background linear-gradient(top, #f0f0f0, #fff)
|
|
width auto
|
|
box-shadow inset 0 1px 4px 0 rgba(0,0,0,0.075)
|
|
text-shadow none
|
|
|
|
&.selected
|
|
background #fff url(images/check.png) no-repeat (outer_margin/2) center
|
|
|
|
.name
|
|
padding-left 24px
|
|
|
|
&:hover
|
|
background #fcf5f0 url(images/uncheck.png) no-repeat (outer_margin/2) center
|
|
|
|
&.selected .quantity
|
|
display block
|
|
|
|
.coupon
|
|
clear both
|
|
overflow hidden
|
|
height field_height
|
|
color #333
|
|
padding column_space outer_margin
|
|
position relative
|
|
background url(images/dash.png) repeat-x 1px top
|
|
|
|
.check
|
|
width 26px
|
|
height 26px
|
|
float left
|
|
border-radius 15px 15px 15px 15px
|
|
background #70CCF8
|
|
border 1px solid #0090C9
|
|
margin 3px 0 1px 10px
|
|
box-shadow inset 0 1px 0 0 rgba(255,255,255,.35), 0 1px 1px 0 rgba(0,0,0,0.1)
|
|
background #43BEF9 url(images/coupon_check.png) no-repeat center center
|
|
background image-linear-gradient(url(images/coupon_check.png) no-repeat center center, top, '#71CDFA 0%', '#43BEF9 50%', '#00B1F6 50%', '#71CEFB 100%')
|
|
|
|
&:hover
|
|
background image-linear-gradient(url(images/coupon_check.png) no-repeat center center, top, '#71CDFA 0%', '#43BEF9 50%', '#00B1F6 50%', '#71CEFB 100%')
|
|
box-shadow inset 0 1px 0 0 rgba(255,255,255,.75), 0 1px 1px 0 rgba(0,0,0,0.1)
|
|
|
|
&:active
|
|
background image-linear-gradient(url(images/coupon_check.png) no-repeat center center, top, #f0f0f0, #fff)
|
|
box-shadow inset 0 3px 3px 0 rgba(0,0,0,0.025)
|
|
border 1px solid #999
|
|
|
|
&.checking .check
|
|
background #f0f0f0 url(images/coupon_checking.gif) no-repeat center center
|
|
box-shadow inset 0 3px 3px 0 rgba(0,0,0,0.025)
|
|
border 1px solid #999
|
|
|
|
&.invalid .coupon_code
|
|
border-color #a55
|
|
background #fee
|
|
color #311
|
|
|
|
.coupon_code .error
|
|
left columns(8)
|
|
|
|
|
|
|
|
.description
|
|
float left
|
|
margin-left column_space
|
|
height field_height
|
|
line-height field_height
|
|
vertical-align middle
|
|
font-size base_font_size * 0.9
|
|
|
|
.discount
|
|
float right
|
|
height field_height
|
|
line-height field_height
|
|
vertical-align middle
|
|
|
|
.error
|
|
padding input_padding
|
|
line-height input_height
|
|
vertical-align middle
|
|
color black
|
|
text-shadow 0 1px 0 #fec
|
|
background #ffc
|
|
border 1px solid #ba1
|
|
box-shadow 3px 5px 5px 0 rgba(0,0,0,0.1)
|
|
border-radius 5px
|
|
font-size 13px
|
|
|
|
|
|
.server_errors
|
|
color #fff
|
|
text-shadow 0 1px 0 black
|
|
margin 0 outer_margin
|
|
|
|
.error
|
|
padding-left 26px
|
|
background rgba(240,250,0,0.5) url(images/error.png) no-repeat 5px (input_padding + 4px)
|
|
|
|
opacity 0
|
|
&.any
|
|
opacity 1.0
|
|
transition opacity 0.5s linear
|
|
margin column_space outer_margin
|
|
margin-bottom 0
|
|
|
|
|
|
.contact_info
|
|
.billing_info
|
|
.accept_tos
|
|
position relative
|
|
padding vertical_space outer_margin
|
|
overflow hidden
|
|
zoom 1 // IE6
|
|
|
|
.title
|
|
font-size base_font_size
|
|
height base_font_size + 4px
|
|
font-weight bold
|
|
padding-bottom 20px
|
|
color #404041
|
|
text-shadow 0 1px 0 white
|
|
float left
|
|
|
|
.credit_card
|
|
.paypal
|
|
clear both
|
|
|
|
.payment_method
|
|
margin-bottom vertical_space
|
|
width columns(8)
|
|
|
|
.payment_option
|
|
float right
|
|
input[type=radio]
|
|
margin-right 10px
|
|
display none
|
|
|
|
&.multiple
|
|
height field_height
|
|
clear both
|
|
|
|
// line-height field_height
|
|
|
|
input[type=radio]
|
|
display block
|
|
float left
|
|
height field_height - 5px
|
|
|
|
.card_option
|
|
float left
|
|
|
|
.paypal_option
|
|
float right
|
|
|
|
.logo, .accepted_cards
|
|
opacity 0.5
|
|
|
|
.payment_option
|
|
&:hover, &.selected
|
|
.logo, .accepted_cards
|
|
cursor pointer
|
|
opacity 1
|
|
|
|
.payment_option
|
|
line-height field_height - 2px
|
|
display block
|
|
height field_height - 2px
|
|
line-height field_height
|
|
|
|
|
|
.title
|
|
margin 0
|
|
font-size 12px
|
|
|
|
.icon
|
|
float left
|
|
width 24px
|
|
height field_height
|
|
margin 0 5px
|
|
|
|
&.card_option
|
|
border-radius 5px 0 0 5px
|
|
border-right none
|
|
|
|
.icon
|
|
width 42px
|
|
background url(images/credit_cards/generic.png) no-repeat 0 center
|
|
|
|
&.paypal_option
|
|
border-radius 0 5px 5px 0
|
|
float right
|
|
|
|
.logo
|
|
height 24px
|
|
width 90px
|
|
display inline-block
|
|
vertical-align middle
|
|
background url(images/paypal_logo.png) no-repeat 0 center
|
|
|
|
.paypal_message
|
|
width columns(8)
|
|
font-style italic
|
|
margin-bottom 10px
|
|
|
|
.contact_info
|
|
background url(images/dash.png) repeat-x 1px bottom
|
|
|
|
.accept_tos
|
|
background url(images/dash.png) repeat-x 1px top
|
|
overflow visible
|
|
|
|
input[type=checkbox]
|
|
display inline
|
|
line-height field_height
|
|
vertical-align middle
|
|
|
|
label
|
|
margin 0 0 0 5px
|
|
display inline
|
|
line-height field_height
|
|
vertical-align middle
|
|
|
|
.field .error
|
|
display block
|
|
position static
|
|
|
|
.field
|
|
display inline // IE margin bug hack
|
|
float left
|
|
clear left
|
|
field-width columns(8) // Default field is full width
|
|
height field_height
|
|
margin-bottom vertical_space
|
|
position relative
|
|
|
|
&.company_name
|
|
margin-bottom 0 //IE not accounting for margins, so using other methods
|
|
|
|
.error
|
|
min-width columns(4) - (input_padding+1)*2
|
|
white-space nowrap
|
|
position absolute
|
|
top 0
|
|
left 100%
|
|
margin-left column_space
|
|
z-index 1337
|
|
|
|
.placeholder
|
|
position absolute
|
|
top 0
|
|
left 0
|
|
right 0
|
|
bottom 0
|
|
padding-left input_padding + 4px
|
|
font-size base_font_size
|
|
font-weight normal
|
|
line-height field_height
|
|
vertical-align middle
|
|
color #999
|
|
cursor text
|
|
overflow hidden
|
|
white-space nowrap
|
|
user-select none
|
|
font-weight 300
|
|
|
|
&.focus .placeholder
|
|
color #ccc
|
|
|
|
&.invalid .placeholder
|
|
color #a77
|
|
|
|
// Special field sizes
|
|
&.coupon_code
|
|
field-width columns(4)
|
|
|
|
&.first_name
|
|
clear left
|
|
field-width columns(4)
|
|
|
|
.error
|
|
left columns(8)
|
|
|
|
&.last_name
|
|
hstack(4)
|
|
|
|
&.card_number
|
|
field-width columns(6)
|
|
|
|
.error
|
|
left columns(8)
|
|
|
|
&.cvv
|
|
hstack(2)
|
|
|
|
&.expires
|
|
field-width columns(8)
|
|
|
|
.title
|
|
float left
|
|
font-size round(base_font_size*0.8)
|
|
line-height 24px
|
|
vertical-align middle
|
|
width columns(2) - 1px
|
|
|
|
.month
|
|
float left
|
|
field-width columns(3) + column_width
|
|
margin-left 0
|
|
|
|
.year
|
|
float left
|
|
margin-left 1px
|
|
field-width columns(2)
|
|
|
|
|
|
&.state
|
|
field-width columns(5)
|
|
.error
|
|
left columns(8)
|
|
|
|
&.zip
|
|
hstack(3)
|
|
|
|
&.vat_number
|
|
field-width columns(4)
|
|
display none
|
|
&.applicable
|
|
display block
|
|
|
|
// Special limited address cases for zip
|
|
.only_zipstreet .zip.field
|
|
.only_zip .zip.field
|
|
margin-left 0
|
|
clear left
|
|
|
|
.accepted_cards
|
|
display inline-block
|
|
height field_height
|
|
overflow hidden
|
|
|
|
.card
|
|
background-position right top
|
|
background-repeat no-repeat
|
|
text-indent -3000px
|
|
width 32px
|
|
height 32px
|
|
margin 0
|
|
padding 0
|
|
display inline-block
|
|
|
|
&.mastercard
|
|
background-image url(images/credit_cards/mastercard.png)
|
|
&.american_express
|
|
background-image url(images/credit_cards/american_express.png)
|
|
&.visa
|
|
background-image url(images/credit_cards/visa.png)
|
|
&.discover
|
|
background-image url(images/credit_cards/discover.png)
|
|
&.jcb
|
|
background-image url(images/credit_cards/jcb.png)
|
|
&.laser
|
|
background-image url(images/credit_cards/laser.png)
|
|
&.diners_club
|
|
background-image url(images/credit_cards/diners_club.png)
|
|
&.maestro
|
|
background-image url(images/credit_cards/maestro.png)
|
|
|
|
&.match
|
|
// nothing
|
|
|
|
&.no_match
|
|
opacity 0.5
|
|
|
|
|
|
// General
|
|
input[type=text],
|
|
select
|
|
vertical-align middle
|
|
color #000000
|
|
|
|
&.invalid
|
|
border-color #a55
|
|
background #fee
|
|
color #311
|
|
|
|
input[type=text]
|
|
display block
|
|
background white
|
|
border input_border solid #a0a0a5
|
|
box-shadow inset 0 2px 3px rgba(0,0,0,0.1)
|
|
font-size base_font_size
|
|
font-family inherit
|
|
padding input_padding
|
|
height input_height
|
|
|
|
|
|
&[disabled]
|
|
background #eee
|
|
|
|
input[type=checkbox]
|
|
color red
|
|
|
|
select
|
|
color inherit
|
|
font-family inherit
|
|
width 100%
|
|
|
|
> option
|
|
color inherit
|
|
|
|
// DUE NOW BAR
|
|
.due_now
|
|
background url(images/due_now.png) no-repeat top left
|
|
clear both
|
|
color #2a3a3c
|
|
height 70px
|
|
line-height 67px
|
|
vertical-align middle
|
|
// overflow hidden
|
|
padding 0 outer_margin + 5px
|
|
width columns(12)
|
|
position relative
|
|
left -5px
|
|
text-shadow 0 1px 0 rgba(255,255,255,0.5)
|
|
|
|
.title
|
|
float left
|
|
font-size 29px
|
|
position relative
|
|
|
|
.cost
|
|
color #fff
|
|
float right
|
|
font-size 33px
|
|
font-weight bold
|
|
letter-spacing 1px
|
|
margin 0
|
|
position relative
|
|
text-shadow 0px 1px 1px rgba(0,0,0,0.9)
|
|
|
|
.footer
|
|
border-radius 0px 0px 9px 9px
|
|
margin 0px
|
|
padding outer_margin
|
|
|
|
&.submitting .footer
|
|
background url(images/submitting.gif) no-repeat columns(5) 28px
|
|
|
|
button.submit
|
|
height 46px
|
|
max-width 600px
|
|
font-size 18px
|
|
font-weight 700
|
|
color #302106
|
|
text-align center
|
|
margin-left 0px
|
|
border 1px solid #767674
|
|
background #e7a500
|
|
border-radius 10px
|
|
outline none
|
|
box-shadow inset rgba(255, 255, 255, 0.7) 0px 1px 0px, rgba(0,0,0, 0.5) 0px 1px 3px
|
|
background-image -webkit-gradient(linear, 0% 20%, 0% 100%, from(#FECD00), to(#CE7B00))
|
|
background -moz-linear-gradient(top, #fecd00, #ce7b00)
|
|
text-shadow rgba(255,255,255, .5) 0 1px 0
|
|
padding 10px 20px
|
|
|
|
&:hover
|
|
color #451
|
|
|
|
&:active
|
|
top 2px
|
|
color #302106
|
|
text-shadow rgba(255,255,255, .5694) 0 -1px 0
|
|
outline none
|
|
background-image -webkit-gradient(linear, 0% 0%, 0% 100%, from(#CE7B00), to(#FECD00))
|
|
background -moz-linear-gradient(top, #ce7b00, #fecd00)
|
|
box-shadow rgba(255, 255, 255, 0.69) 0px -1px 0px inset, rgba(0,0,0, 0.26) 0px 2px 3px
|
|
|
|
&[disabled]
|
|
position relative
|
|
height 46px
|
|
max-width 600px
|
|
padding 0 10px
|
|
font-weight 700
|
|
color #555
|
|
text-shadow rgba(255,255,255, .5694) 0 1px 0
|
|
text-align center
|
|
|
|
opacity .75
|
|
border 1px solid #767674
|
|
background #e7a500
|
|
|
|
-moz-border-radius 10px
|
|
-webkit-border-radius 10px
|
|
border-radius 10px
|
|
-webkit-user-select none
|
|
-moz-user-select -moz-none
|
|
outline none
|
|
background-image -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DBD9D2), to(#999))
|
|
background -moz-linear-gradient(top, #DBD9D2, #999999)
|
|
-webkit-background-clip padding-box
|
|
-webkit-box-shadow rgba(255, 255, 255, 0.69) 0px 1px 0px inset, rgba(0,0,0, 0.26) 0px 2px 3px
|
|
box-shadow rgba(255, 255, 255, 0.699219) 0px 1px 0px inset, rgba(0,0,0, 0.269219) 0px 2px 3px
|
|
.iefail
|
|
background #666
|
|
padding 10px
|
|
position absolute
|
|
top -1%
|
|
left -1%
|
|
height 102%
|
|
width 102%
|
|
z-index 9999
|
|
.chromeframe
|
|
background #fff
|
|
border 1px solid #ccc
|
|
padding 10px
|
|
|
|
p
|
|
text-align center
|
|
&.blast
|
|
font-size 1.3em
|
|
font-weight bold
|
|
a
|
|
color #4183C4
|
|
text-transform capitalize
|