/* -- reset -- */
html,body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input { margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6,pre,code,address,caption,cite,code,em,strong,th,var,kbd { font-size: 1em; font-weight: normal; font-style: normal; }
fieldset,img { border: none; }
caption,th { text-align: left; }
table { border-collapse: collapse; border-spacing: 0; }
i, em, em strong { font-style: italic; }
b, strong, h2 em { font-weight: bold; }
p:last-child, pre:last-child, a.block:last-child p:last-child { margin-bottom: 0 !important; }

html, body { background: #0a0a0a; }
body { font-family: sans-serif; color: #333; font-size: 13px; *font-size: 11px; line-height: 1.4; }

/* -- elements -- */
/* headings */
h1, h2, h3, h4, h5, h6 { color: #000 !important; line-height: 1.2; }
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * { color: #000 !important; text-decoration: none; font-size: 1em !important; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a[href]:hover, h5 a:hover, h6 a:hover,
a.block:hover h1, a.block:hover h2, a.block:hover h3, a.block:hover h4, a.block:hover h5, a.block:hover h6 { color: #c10000 !important; }
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child { margin-top: 0 !important; }

h1 { margin-bottom: 60px; font-size: 2.2em; line-height: 1; font-weight: bold; }

h2 { margin: 40px 0 20px; font-size: 1.6em; font-weight: bold; }
h2 img { display: block; margin: -6px 0; }

h3 { margin: 30px 0 10px; font-size: 1.4em; }

h4 { margin: 20px 0 5px; font-weight: bold; }
h4 span { color: #999 !important; }
h4 a { display: block; }

h5, h6 { margin: 20px 0 2px; font-weight: bold; }

h6 { font-size: 0.85em; }

p { margin: 20px 0; }
h3 + p, h4 + p, h4 + img.right + p, h5 + p, h6 + p { margin-top: 0; }
p.intro { color: #000; }

/* lists */
ul { list-style: none; }
.body ul { margin: 5px 0 20px; list-style-type: square; }
.body ul li { margin-left: 22px; }
.body ol { margin: 20px 0 20px 40px; }
.body ol li { margin-bottom: 3px; }
li li { margin-left: 20px; }

/* links */
a { color: #252525; }
a:hover { color: #c10000; }

a.block { display: block; text-decoration: none; color: inherit; }
a.block p:last-child { margin-bottom: 20px !important; }

.body p a, .body li a, .body dd a { padding: 1px; border-bottom: 1px dotted #ccc; text-decoration: none; }
.body p a:hover, .body li a:hover, .body dd a:hover { border-bottom-color: #c29090; }

ul.go { list-style-type: none; }
.go li { margin: 0 0 5px 0 !important; }
.go a { display: block; border: none !important; padding: 0 25px 0 0 !important; height: 15px; font-weight: bold; color: #000; text-decoration: none; background: url(/images/site/go.png) no-repeat 100% 0 !important; }
.go a:hover { background-position: 100% -15px; }


em.new { display: inline-block; margin-left: 5px; width: 25px; height: 11px; text-indent: -9999px; font-size: 1px; line-height: 1; background: url(/images/site/new.png) no-repeat; }

var, kbd { font-family: sans-serif; font-weight: bold; font-style: italic; }
var { color: #393; }
kbd { color: #c33; }

/* inline code and codeblocks */
code { border: 1px solid #e0e0e0; -webkit-border-radius: 0.25em; -moz-border-radius: 3px; padding: 1px 2px; font-family: Menlo, Monaco, monospace; font-size: 0.75em; color: #666; background: #f5f5f5; }
pre { margin-bottom: 20px; -webkit-border-radius: 3px; -moz-border-radius: 3px; padding: 5px; background: #111; -webkit-box-shadow: rgba(0,0,0,0.5) 0 1px 2px; }
pre code { display: block; border: none; padding: 0 3px; color: #fff; font-size: 10px; line-height: 15px; background: transparent url(/images/site/code_bg.gif) 0 0 !important; overflow: auto; }

pre code::-webkit-scrollbar { width: 0; height: 8px; background: #111; } /* the scrollbar area */
pre code::-webkit-scrollbar-button { display: none; } /* the left and right arrows */
pre code::-webkit-scrollbar-thumb { background: #555; -webkit-border-radius: 4px; }
pre code::-webkit-scrollbar-thumb:hover { background: #666; }

hr { clear: left; margin: 40px 0; border: none; height: 3px; background: #ccc; color: #ccc; }

del { opacity: 0.5; text-decoration: line-through; }
ins { font-style: italic; text-decoration: none; }

.clear { clear: both; }
.last { margin-bottom: 0 !important; }

/*--- modules ----*/
#main { border-top: 3px solid #000; border-bottom: 1px solid #000; padding-bottom: 60px; background: #fff; }
.centered { position: relative; margin: 0 auto; width: 980px; }

/* footer */
#footer { border-top: 1px solid #444; padding: 60px 0; color: #555; font-size: 11px; background: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#0a0a0a)); }
#footer .centered { padding: 0 15px; }
#footer h2 { font-size: 18px; font-weight: normal; color: #777 !important; text-shadow: 0 -1px 0 #000; }
#footer h5 { color: #ccc !important; text-shadow: 0 -1px 0 #000; }
#footer a { border-bottom: 1px dotted #333 !important; color: #777; text-decoration: none; }
#footer a:hover { border-color: #555 !important; color: #999; }

#footer #bio { border-bottom: 1px solid #000; padding-bottom: 30px; }
#footer #bio ul li { float: left; width: 170px; }
#footer #bio ul li a { border: none !important; }
#footer #bio img.headshot { float: left; }
#footer #bio .col.first { margin: 0 0 0 40px !important; width: 470px; }
#footer #bio .col.first p { margin-bottom: 10px; }
#footer #bio .col.first p strong { color: #ccc; font-weight: normal; }
#footer #bio .col.first ul li a { color: #ccc; font-weight: bold; padding-right: 8px; background: url(/images/site/home_arrow.gif) no-repeat 100% 50%; }
#footer #bio .col.last h2 { margin-bottom: 0; }
#footer #bio .col.last ul li { margin-bottom: 10px; width: 150px; height: 33px; }
#footer #bio .col.last ul.contact { padding-top: 9px; }

#footer #more { border-top: 1px solid #1a1a1a; padding-top: 30px; }
#footer #more .col ul li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#footer #more .col.blogposts ul li span { display: block; float: left; width: 5.5em; }

/* breadcrumbs */
ul#breadcrumbs { font-size: 14px; line-height: 20px; margin: 0 0 60px -8px; width: 630px; white-space: nowrap; position: relative; z-index: 3; *zoom: 1; color: #000 !important; }
ul#breadcrumbs:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
ul#breadcrumbs li,
ul#breadcrumbs li.static:hover { float: left; margin: 0; padding: 4px 17px 3px 8px; height: 20px; color: #000; background: url(/images/site/breadcrumbs_arrow.gif) no-repeat 100% 0; cursor: default; }
ul#breadcrumbs li:hover { color: #fff; background-color: #111; }
ul#breadcrumbs li.subnav:hover { background-position: 100% 100%; }
ul#breadcrumbs li strong { color: inherit; }
ul#breadcrumbs li a { display: block; margin: -20px -5px 0; padding: 20px 5px 0; text-decoration: none; color: inherit !important; }

ul#breadcrumbs li ul { display: none; margin: 0 -8px; padding: 3px 0; background: #000; font-size: 12px; line-height: 15px; }
ul#breadcrumbs li:hover ul { display: block; }
ul#breadcrumbs li ul li { float: none; padding: 0; height: 19px; background: none !important; color: #bbb; }
ul#breadcrumbs li ul li:hover { color: #fff; }
ul#breadcrumbs li ul li.active { color: #555; }
ul#breadcrumbs li ul li.active a { cursor: default; }
ul#breadcrumbs li ul li a { margin: 0; padding: 2px 8px; }

/* subnav */
ul.subnav { float: right; font-size: 13px; }
ul.subnav li { float: left; margin-left: 10px; }
ul.subnav li a { display: block; padding: 5px 10px; text-decoration: none; }
ul.subnav li a:hover { background: #111; color: #fff; }
ul.subnav li a.active { background: #eee; color: #999; text-shadow: #fff 0 1px 0; cursor: default; }
ul.subnav li a.button { margin: 2px 10px; border: 1px solid; border-color: #cfa843 #be7a17 #b06a01; -webkit-border-radius: 12px; -moz-border-radius: 12px; padding: 2px 17px; color: #fff; text-shadow: #945c07 1px 1px 0; background: #ec9514; background: -webkit-gradient(linear, 0 0, 0 100%, from(#ffc74a), to(#da8402), color-stop(.1, #ffab2b)); -webkit-box-shadow: #bbb 0 1px 2px; -moz-box-shadow: #bbb 0 1px 2px; }

/* cols */
.col { float: left; margin-left: 40px; width: 300px; }
.col.first { margin-left: 0 !important; }
.col.last { float: right; margin-left: 0; }
.col.wide { width: 640px; }
.col .col { width: 130px; }

/* box */
a.box-link { display: block; text-decoration: none; cursor: pointer; }
.box { position: relative; margin: 20px 0; padding: 7px 10px; width: 280px; height: 46px; line-height: 1.2; background: #e5e5e5 url(/images/site/box_bg.png) repeat-x 0 0; _background-image: none; }
.box.s2 { height: 126px; }

.box h4 { margin: 0 0 3px !important; text-shadow: #fff 0 1px 0; }
.box .go { position: absolute; left: 10px; bottom: 7px; width: 280px; }
.box .go.p3 { left: 150px; width: 140px; }

.box .badge { position: absolute; z-index: 2; top: 0; right: 0; }

.box .left { display: block; position: relative; float: left; margin: -7px 10px -7px -10px; _display: inline; _margin-bottom: -10px; }
.box .left .border u { top: 1px; height: 58px; }
.box.s2 .left .border u { height: 138px; }

  /* box border
     b=top, i=bottom, s=left, u=right */
.box .border { clear: both; _display: none; }
.box .border * { display: block; position: absolute; z-index: 1; }
.box .border b, .box .border i { left: 0; width: 300px; height: 3px; background: no-repeat 0 0; }
.box .border b { top: 0; background-image: url(/images/site/box_bgtop.png); }
.box .border i { bottom: 0; background-image: url(/images/site/box_bgbottom.png); }
.box .border s, .box .border u { top: 3px; width: 1px; height: 54px; background: #000; opacity: 0.2; *filter: alpha(opacity=20); }
.box .border s { left: 0; }
.box .border u { right: 0; }
.box.s2 .border s, .box.s2 .border u { height: 134px; }

/* hero box */
#hero { margin: -45px 5px 60px; border: 3px solid #ccc; padding: 2px; -webkit-border-radius: 3px; -moz-border-radius: 3px; }


/* -- content page -- */
body.content h1 small { font-size: 18px !important; font-weight: normal;  }

body.content p.date { margin: -35px 0 -3px !important; color: #999; font-size: 0.85em; font-weight: bold; }
body.content p.intro { margin-bottom: 40px; font-size: 1.3em; color: #777; }
body.content p.intro strong { color: #000; font-weight: normal; }
body.content h2 + p.intro { margin-top: -15px; }

/* ee2 compatibility */
.ee2 { margin: -45px 5px 30px; border: 3px solid #e5e5e5; padding: 15px 20px; background: #fafafa; -webkit-border-radius: 3px; -moz-border-radius: 3px; }

/* callout */
body.content .callout { margin: 30px 0; padding: 18px 20px; border-top: 1px solid #fff; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; background: #f5f5f5; background: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#eaeaea)); -webkit-box-shadow: #999 0 1px 3px; -moz-box-shadow: #999 0 1px 3px; font-size: 12px; }
body.content .callout h3 { margin-bottom: 20px; color: #999 !important; text-shadow: #fff 0 1px; }
body.content .callout h4 { color: #555 !important; }
body.content .callout p { margin: 0 0 10px; color: #444 !important; }


body.content img.border { display: block; margin: 5px -1px 30px; border: 1px solid #cad0d5; }
body.content p + img.border { margin-top: -10px; }
body.content img.across { display: block; margin-top: 5px; margin-bottom: 20px; }
body.content img.left { display: block; float: left; margin: 2px 20px 18px 0; }
body.content img.right { display: block; float: right; margin: 2px 0 18px 20px; }

body.content .col h3:first-child,
body.content .col h4:first-child { margin-top: 0; }

body.content blockquote { margin-top: 20px; padding: 4px 0 4px 18px; border-left: 2px solid #ccc; font-size: 0.85em; }

body.content #purchase-box { margin: 0 0 20px; background-color: #ffd699; }
body.content #purchase-box p { padding-top: 2px; font-size: 11px; color: #333 !important; }
body.content a:hover #purchase-box h4 { color: #c10000 !important; }


body.content #download-box { background-color: #c5dcf4; }
body.content #download-box form { margin-top: 7px; position: relative; }
body.content #download-box form label { position: absolute; left: 60px; width: 145px; text-align: center; font-size: 11px; line-height: 19px; color: #999; cursor: text; }
body.content #download-box form input#license { padding: 2px; width: 145px; font-size: 9px; }
body.content #download-box form input#license-download { display: block; position: absolute; top: 0; right: 0; }

body.content #devotee { margin: 30px 0; padding: 7px; height: 16px; background: url(/images/site/devotee.jpg) no-repeat; }
body.content #devotee img { display: block; float: left; width: 16px; height: 16px; }
body.content #devotee img.fav { margin-left: 15px; }
body.content #devotee span { display: block; float: left; margin-left: 3px; line-height: 16px; color: #fff; text-shadow: #000 0 -1px 1px; font-size: 11px; }
body.content #devotee span strong { font-size: 12px; }


body.content #donations-box { height: 16px; background-color: #ffbf5d; }
body.content #donations-box .border s,
body.content #donations-box .border u { height: 24px; }
body.content #donations-box .left .border u { height: 28px; }

body.content #changelog { margin-bottom: 50px; }
body.content #changelog .cl-links { float: right; margin: -28px 0 0; font-style: italic; color: #bbb; }
body.content #changelog dl:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
body.content #changelog dl dt { clear: left; float: left; width: 60px; }
body.content #changelog dl dd { margin: 0 0 10px 70px; }

body.content #testimonials { margin-bottom: 30px; }
body.content #testimonials blockquote { margin: -10px -27px 1px; padding: 7px 0 0 27px; border: none; font-size: 14px; line-height: 18px; background: url(/images/site/testimonial_ldquo.gif) no-repeat 0 0; }
body.content #testimonials blockquote p { margin: 0 0 -7px; padding: 0 27px 7px 0; color: #000; background: url(/images/site/testimonial_rdquo.gif) no-repeat 100% 100%; }
body.content #testimonials p.author { margin-top: 5px; padding-left: 20px; text-indent: -10px; color: #888; }

body.content #donations form { float: left; margin-right: 5px; }
body.content #donations p { padding-top: 2px; font-size: 11px; line-height: 12px; }

body.content #getsatisfaction { margin-bottom: 60px; }
body.content #getsatisfaction img { float: right; margin-top: -59px; }

body.content #links, body.content .links { border-left: 2px solid #eee; padding: 0 5px 5px 18px; }
body.content #links h3, body.content .links h3 { margin: 0 -5px 15px -18px; padding: 0 5px 15px 18px; border-bottom: 2px solid #eee; }

body.content sup { color: #777; }
body.content .legal { color: #777; }
body.content .legal h4 { color: #666; }


/* -- blog -- */
body.blog .col.wide { float: none; margin: 0 auto;  font-family: Georgia, serif; }
body.blog p.date { margin: -25px 0 30px !important; }
body.blog hr { color: #ecc800; background-color: #ecc800; height: 2px; }
body.blog blockquote { border-left-color: #ecc800; }
body.blog code { border-color: #f2e491; background-color: #fff7cc; }

body.blog #main { border-top-color: #bfa300; background: #fffceb; background: -webkit-gradient(linear, 0 0, 0 400, from(#fffef7), to(#fffceb)); }
body.blog #main a { text-decoration: none; color: #947e00; }
body.blog #main a:hover { color: #bfa300; }
body.blog #post { font-size: 18px; }

body.blog #post table { width: 100%; font-family: sans-serif; font-size: 13px; }
body.blog #post table th, body.blog #post table td { padding: 5px 30px 5px 1px; }
body.blog #post table thead tr { border-bottom: 2px solid #ecc800; }
body.blog #post table thead tr th { font-weight: bold; }
body.blog #post table tbody tr { border-bottom: 1px solid #eddf8e; }

body.blog #postnav { margin: 60px 0 0; padding: 5px 0; border-top: 1px solid #f2efdf; background: #fffdf5; background: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#f7f4e4)); }
body.blog #postnav .centered { zoom: 1; }
body.blog #postnav .centered:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
body.blog #postnav a { display: block; color: #bfa300; }
body.blog #postnav a:hover { color: #998200; }
body.blog #postnav a.prev { float: left; }
body.blog #postnav a.next { float: right; }

body.blog #comments { margin: 0 0 -60px; border-top: 1px solid #eddf8e; padding-bottom: 60px; background: #fff7cc; background: -webkit-gradient(linear, 0 0, 0 200, from(#fff4b2), to(#fff7cc)); }
body.blog #comments h2 { margin-top: 0; padding-top: 60px; }
body.blog #comments .comment { margin: 15px 0 0 65px; padding: 4px 10px 8px; min-height: 38px; border: 1px solid; border-color: rgba(0,0,0,0.2) rgba(0,0,0,0.15) rgba(0,0,0,0.1); -webkit-border-radius: 5px; -moz-border-radius: 5px; font-family: sans-serif; background: #fff; background: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(rgba(255,255,255,0.4))); -webkit-box-shadow: rgba(255,255,255,0.6) 0 1px 0; -moz-box-shadow: rgba(255,255,255,0.6) 0 1px 0; }
body.blog #comments .comment img.avatar { display: block; float: left; margin: -4px 0 0 -75px; -webkit-border-radius: 3px; -moz-border-radius: 3px; }
body.blog #comments .comment.me { margin-left: 0; margin-right: 65px; }
body.blog #comments .comment.me img.avatar { float: right; margin-left: 0; margin-right: -75px; }
body.blog #comments .comment h4 { float: left; margin: 0; }
body.blog #comments .comment h4 a { display: inline; }
body.blog #comments .comment .timestamp { float: right; margin: 0;  color: #aaa; font-size: 12px; zoom: 1; }
body.blog #comments .comment .timestamp:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
body.blog #comments form textarea { width: 640px; -webkit-appearance: textfield; resize: vertical; }
body.blog #comments form label { display: block; margin: 20px 0 0 20px; width: 200px; float: left; font-weight: bold; }
body.blog #comments form label.first { margin-left: 0; }
body.blog #comments form label.checkbox { margin-left: 40px; width: auto; }
body.blog #comments form label input[type=text] { width: 194px; }
body.blog #comments form .submit { float: left; margin-top: 20px; }
body.blog #comments p.commentsoff { margin: 30px 0 -30px !important; font-style: italic; }



/* -- docs -- */
body.docs .col.callout { margin: 0; padding: 20px 30px; width: 240px; width: 240px; background: #f5f5f5; }
body.docs .col.callout ul li a { display: inline-block; padding: 3px 0; text-decoration: none; }
body.docs .col.callout ul li a.active { color: #999; text-shadow: #fff 0 1px 0; cursor: default; }
body.docs .col.callout ul li h4 { margin-top: 10px !important; }
body.docs .col.callout ul li h4 + ul { margin-bottom: 10px; }


/* -- playa in action -- */
body.action #purchase-box { position: absolute; top: 20px; right: 20px; height: 16px; }
body.action #purchase-box .border s,
body.action #purchase-box .border u { height: 24px; }


/* -- fieldtype showcase -- */
body.showcase #pubtabs { margin-bottom: -1px; zoom: 1; }
body.showcase #pubtabs:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
body.showcase #pubtabs li { float: left; }
body.showcase #pubtabs li a { display: block; margin-right: -1px; border: solid #95a3b3; border-width: 1px 1px 2px; padding: 4px 3px 2px; width: 92px; text-align: center; font-size: 11px; font-weight: bold; line-height: 18px; color: #29343d; text-decoration: none; background: #b8c3d1; }
body.showcase #pubtabs li a:hover { background: #98a7b9; }
body.showcase #pubtabs li a.active { border-bottom-width: 0; border-top-color: #b8c3d1; padding-bottom: 4px; color: #304166; background: #dde4ed; cursor: default; }
body.showcase #pubtabs li:first-child a.active { border-left-color: #b8c3d1; }
body.showcase #pubtabs li:last-child a.active { border-right-color: #b8c3d1; }

body.showcase #pubform { border: 1px solid #b8c3d1; padding: 30px 20px; font-size: 12px; color: #333; background: #dde4ed; }
body.showcase #pubform h3 { margin-bottom: 5px; font-size: 13px; font-weight: bold; }
body.showcase #pubform h3 a { color: #1d7fc6 !important; }
body.showcase #pubform a { color: #1d7fc6; text-decoration: none; }
body.showcase #pubform a:hover { text-decoration: underline; }
body.showcase #pubform > p { width: 600px; }
body.showcase #pubform hr { margin: 30px -15px; height: 1px; color: #a1a5c8; background-color: #a1a5c8; border-bottom: 1px solid #fff; }

body.showcase #pubform .ff-ft { background: none; }
body.showcase #pubform .ff-ft .box { width: auto; }
body.showcase #pubform .cke_skin_wygwam .cke_toolgroup { padding-right: 2px !important; }
body.showcase #pubform .cke_skin_wygwam .cke_toolgroup .cke_button { margin: 0 !important; }
body.showcase #pubform .ff-ft .playa { margin-right: 0; }
body.showcase #pubform .ff-ft .playa a { font-size: 12px; color: #333 !important; }
body.showcase #pubform .ff-ft .ngen-ff-choice-remove a: link, body.showcase #pubform .ff-ft .ngen-ff-choice-remove a: visited { color: #2e9600; text-decoration: none; }
body.showcase #pubform .ff-ft .ngen-ff-choice-delete a: link, body.showcase #pubform .ff-ft .ngen-ff-choice-delete a: visited { color: #cd0000; text-decoration: none; }
body.showcase #pubform .ff-ft .ngen-ff-choice-remove a:hover, body.showcase #pubform .ff-ft .ngen-ff-choice-delete a:hover { color: #000; text-decoration: none; }
body.showcase #pubform .ff-ft .markItUp { width: auto; }
body.showcase #pubform .ff-ft .markItUpEditor { height: 200px; }


/* -- editor buttons -- */
.editor-button:first-child { z-index: 2; }
.editor-button a { left: 4px; }
.centered .editor-button a { left: -16px; }
body.docs .col.callout .editor-button a { display: none !important; }
#footer .editor-button { display: none; }
