/* reset browsers */
    * {
        margin: 0;
        padding: 0;

        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
    }

    img {
        border: none;
    }
/* end reset browsers */

/* tools */
    .clear {
        clear: both;
    }
    
    .group:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
/* end tools */

/* typography */
    body {
        font-size: 62.5%;
    }
    h1 {
        font-size: 210%;
        letter-spacing: -1px;
        color: #333;
    }
    h1 small {
        display: block;
        font-size: 0.6em;
        font-weight: normal;
    }
    h1 em {
        display: block;
        font-size: 130%;
        font-style: normal;
        margin: 0 0 1em;
    }
    h2 {
        margin-top: 1em;
        font-size: 150%;
        font-weight: bold;
    }
    h3 {
        margin-top: 1em;
    }
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 0.8em;
        line-height: 1.15;
    }
    h4 {
        font-size: 120%;
        font-weight: bold;
    }
    
    p,
    li {
        line-height: 1.5em;
    }
    
    p,
    ol,
    ul {
        margin: 1em 0;
    }
    
    ol,
    ul {
        margin-left: 1em;
    }
    
    li {
        margin: 0.55em 0 0.55em 2em;
    }
    
    table {
        margin: 0 0 1.1em;
        border-collapse: collapse;
    }
    td,
    th {
        padding: 0.25em 2em 0.25em 0;
    }
    
    textarea {
        font: 100%/120% Verdana, Geneva, Arial, Helvetica, sans-serif;
    }
    a:link {
        color: #235C9A;
    }
    a:hover {
        color: #507AB2;
    }
    
    .accessibility {
        text-indent: -9000px;
        height: 0;
        margin: 0;
    }
/* end typography */

/* messages */
    p.message {
        clear: both;
            
        background: none;
        color: #333;
        
        font-size: 1.1em;
        font-weight: bold;
        text-align: center;        
    }
    
    p.message,
    div.errors,
    ul.errors {
        margin: 1em 0;
        padding: 0.5em 1em;
    }
    div#content div.errors ul {
        margin: 0;
    }
    
    div.errors,
    p.error,
    ul.errors {
        background: #EABA76;
    }
    p.notice {
        background: #BFEBBF;
    }
    div.announcement {
      padding: 0.5em;
      padding-left: 60px;
      background: url(/assets/images/help-icon-small.png) no-repeat 17px 17px #fff69c;
      border: 2px solid #fcf099;
    }
/* end messages */

/* layout */
    body, html {
        height: 100%; /* see http://www.alistapart.com/articles/footers */
    }
    
    body {
        padding: 0 3%;
        background: #cacaca url(/assets/images/body-bg.png) repeat-x;
        
        text-align: left;
        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
        font-size: 76%;
        line-height: 1.5em;
        
        color: #262626;
    }
    body.no-top-nav {
        background: #d2cfb9 url(/assets/images/body-bg.png) repeat-x 0 -43px;
    }

    div#wrapper {
        position: relative;
        min-height: 100%;
        min-width: 70em;
        max-width: 90em;
        margin:0 auto;
        background: white url(/assets/images/content-bg.png) repeat-y 61% 0;
    }

    body.clean div#wrapper {
        background-image: none;
    }
    body.clean div#wrapper div.content-main {
        margin-right: 0;
    }
    
    div#header p,
    div#header ol,
    div#header ul,
    ul#main-nav,
    ul#secondary-nav,
    div#footer p,
    div#footer ol,
    div#footer ul {
        margin: 0;
    }
    
    /* header */
        div#header {
            height: 72px;
            background-color: #456a9f;
            background-image: -moz-linear-gradient(center bottom, rgb(69,106,159) 0%, rgb(86,125,182) 100%);
            background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.0, rgb(69,106,159)),color-stop(1.0, rgb(86,125,182)));
        }
        div#header a.logo {
            position: absolute;
            top: 16px;
            left: 1.7em;

            width: 249px;
            height: 35px;

            background-image: url(/assets/images/logo-trans.png);
            background-repeat: no-repeat;
            text-indent: -9000px;
            outline: 0;
        }
        div#header a.login {
            position: absolute;
            top: 19px;
            right: 1.7em;

            width: 109px;
            height: 35px;
            
            background-image: url(/assets/images/login-button-trans.png);
            text-indent: -9000px;
            outline: 0;
        }
        div#header ul#logins {
            position: absolute;
            top: 19px;
            right: 1.7em;
            
            list-style: none;
        }
        div#header ul#logins li {
            display: inline;
            margin: 0 0.8em 0 0;
            padding-right: 0.8em;
            border-right: 1px solid white;
            
            color: white;
            
            font-size: 95%;
        }
        div#header ul#logins li:first-child,
        div#header ul#logins li:last-child {
            margin: 0;
            padding: 0;
            border: none;
        }
        div#header ul#logins li a {
            font-weight: bold;
            color: white;
        }
        div#header ul#logins li a:active {
            color: white;
        }
    /* end header */
    
    /* navigation */
        ul#main-nav {
            height: 3.47em;
            padding-left: 1.7em;
            border-top: 1px solid #4569A9;

            list-style: none;
        }
        ul#main-nav,
        ul#main-nav li {
            margin: 0;
            background-color: #658dca;
            background-image: -moz-linear-gradient(center bottom, rgb(61,97,149) 0%, rgb(101,141,202) 100%);
            background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.0, rgb(61,97,149)),color-stop(1.0, rgb(101,141,202)));
        }
        ul#main-nav li {
            float: left;
            width: auto;
            
            border-left: 1px solid #2F4B82;
            padding: 1em 0;

            font-size: 95%;
            font-weight: bold;
            text-transform: uppercase;
        }
        ul#main-nav li.our-tools {
            padding: 1em;
            color: #E1E0C7;
        }
        ul#main-nav li.current {
            background: #314E87;
        }
        ul#main-nav li:last-child {
            border-right: 1px solid #2F4B82;
        }
        ul#main-nav a:hover {
            text-decoration: underline;
        }
        ul#main-nav a {
            padding: 1em;
            color: white;
            text-decoration: none;
        }
        ul#main-nav li.current a {
            color: #E1E0C7;
        }
        
        ul#secondary-nav {
            position: absolute;
            top: 87px;
            right: 0.7em;

            list-style: none;
            font-size: 90%;
        }
        body.no-top-nav ul#secondary-nav {
            top: 38px;
        }
        ul#secondary-nav li {
            float: left;
            width: auto;
            
            margin: 0;
            border-left: 1px solid white;
            padding: 0 1em;
            
            line-height: 1.2em;
        }
        ul#secondary-nav li:first-child {
            border-left: none;
        }
        ul#secondary-nav a {
            color: white;
            text-decoration: none;
        }
        ul#secondary-nav a:hover {
            text-decoration: underline;
        }
    /* end navigation */
    
    /* main and secondary content */
        div#content {
            position: relative;
            clear: both;
            
            padding: 1.2em 1.7em 7em;
        }
        div#content div.content-main {
            margin-right: 35.5%;
        }
        div.sidebar {
            position: absolute;
            top: 0.8em;
            right: 0;
            bottom: 0;
            left: 66%;
            
            padding: 1.5em 2.5em 1em 1.5em;
        }
        div.sidebar h2 {
            margin-top: 0.4em;

            font-size: 120%;
        }

        body.no-top-nav div#content {
            top: 0;
            padding-top: 1.2em;
        }
        body.no-top-nav div.sidebar {
            padding-top: 1.1em;
        }

        div#content div.shaded-box {
            background: white url(../images/boxout-contrast-grey-gradient.png) repeat-x top left;
            padding: 1em;
        }
        div#content div.shaded-box h2 {
            margin-top: 0;
        }

        div#content div.light-blue-box {
            border-top: 1px solid #cccccc;
            background-color: #fafafa;
            padding: 1em;
            border-top: 
        }

        div#content div.icon {
            height: 51px;
            padding-left: 60px;
        }
        div#content div.icon h2 {
            margin: 0; padding: 14px 0 0 0;
        }
        div#content div.icon.film {
            background: transparent url(../images/icon-video-51x51-trans.png) no-repeat top left;
        }
        div#content div.icon.document {
            background: transparent url(../images/icon-document-51x51-trans.png) no-repeat top left;
        }
        div#content div.icon.document-star {
            background: transparent url(../images/icon-document-star-51x51-trans.png) no-repeat top left;
        }
        div#content div.icon.folder {
            background: transparent url(../images/icon-folder-51x51-trans.png) no-repeat top left;
        }
    /* end main and secondary content */

    /* side bar (sales site; see below for Rails apps side bars) */
        div#content div.sidebar div.newsletter.box {
            border: 1px solid #cccccc;
            margin: 0 0 1em 0;
        }
    /* Sidebar content */
        div#content div.sidebar div.newsletter.box p.buttons {
            margin-bottom: 0.5em;
        }

        div#content div.sidebar div.promo {
            border: 3px solid #d6d6d6;
            background: url(../images/sidebar/business-blogging-book-ad.png) no-repeat bottom right;
            height: 214px;
            padding: 18px 160px 18px 18px;
        }

        div#content div.sidebar div.promo.recipe {
            background: url(../images/sidebar/web-content-recipe-book-ad.png) no-repeat bottom right;
        }
        
        div#content div.sidebar div.promo h2 {
            color: white;
            font-size: 200%;
            font-style: italic;
            display: block;
            margin: 0;
        }
        div#content div.sidebar div.promo.recipe h2 {
            font-size: 180%;
        }
        div#content div.sidebar div.promo p {
            margin: 0.5em 0;
            color: white;
        }
        div#content div.sidebar div.promo a.marketing {
            display: block;
            margin-top: 1.5em;
        }
        
        div#content div.sidebar div.bonuses {width: 22em; margin: 0 auto;}
        div#content div.sidebar div.bonuses h2 {color: #996801; font-size: 200%; font-family: Georgia, times, serif; font-weight: normal;}
        div#content div.sidebar div.bonuses li {font-size: 115%; margin: .6em 0 .6em 1.1em;}
        div#content div.sidebar div.screenshot {width: 22em; margin: 8.4em auto 0; border-top: 1px solid #cfcfcf; padding-top: 2em;}
        div#content div.sidebar div.screenshot h3 {font-weight: bold; font-size: 150%; margin: 0 0 -1.1em 0; line-height: 1.1; width: 220px;}
        div#content div.sidebar div.screenshot p {margin: .8em 0;}
        
    /* end side bar (sales site) */
    
    /* side bar (rails apps) */
        div#copy {
            float: left;
            width: 72.5%;
        }
        div#sidebar {
            float: right;
            width: 25%;

            margin-top: 4em;

            background-color: #F6F6FA;
        }

        div#sidebar h2 {
            font-size: 120%;
            margin: 0 0 0.1em 0;
        }
        div#sidebar p em a {
            display: block;
            font-size: 120%;
            font-weight: bold;
            font-style: normal;
            margin-top: 0.5em;
        }

        div#sidebar ul {
            margin: 0.5em 0 0 0;
        }
        div#sidebar ul li {
            margin: 0 0 0.5em 1.25em;
        }
        div#sidebar ul li.last {
            margin-bottom: 1em;
        }
        div#sidebar ul li div.feedback {
            position: relative;
            right: inherit;
            top: inherit;
        }
        div#sidebar a img {
            border: 4px solid #CCC;
        }

        div#sidebar div.sidebar-section {
            margin: 1.3em 1.4em 1em;
            border-bottom: 1px solid #ccc;
            padding-bottom: 1em;
        }
        div#sidebar div.sidebar-section p {
            margin-top: 0.5em;
        }
        div#sidebar div.sidebar-section.last {
            border: none;
            margin-bottom: 2em;
        }
        div#sidebar div.sidebar-section.videos {
            background: url(../images/videos-icon-big.png) no-repeat scroll top left;
            padding-top: 61px;
        }
        div#sidebar div.sidebar-section.academy {
            background: url(../images/academy-icon-big.png) no-repeat scroll top left;
            padding-top: 61px;
        }
        div#sidebar div.sidebar-section.help {
            background: url(../images/help-icon-big.png) no-repeat scroll top left;
            padding-top: 61px;
        }
        div#sidebar div.sidebar-section.get-satisfaction {
            background: url(../images/get-satisfaction-icon.png) no-repeat scroll top left;
            padding-top: 61px;
        }
    /* end sidebar (rails apps) */

    /* footer */
        div#pre-footer {
            clear: both;
            display: block;
            width: 100%;
            height: 6em;
        }
        div#footer {
            position: absolute;
            right: 0;
            bottom: 0;
            left: 0;
            border-top: 1px solid #DFDFDF;
            padding: 1.3em 1.7em 1.7em 1.7em;
        
            background: white;
            font-size: 85%;
            color: #555;
        }
        div#footer ul {
            margin: auto;
            margin-bottom: 2em;
            list-style: none;
        }
        div#footer li {
            float: left;
            width: auto;
            margin: 0 0.75em 0 0;
            padding-right: 0.75em;
            border-right: 1px solid #BDBCBA;
        }
        div#footer li:last-child {
            border-right: none;
        }
        div#footer p {
            clear: both;
        }
    /* end footer */

    /* popup page */
        body.popup div#wrapper {
            min-width: 40em;
        }
    /* end popup page*/
/* end layout */

/* components shared between apps */
    /* forms */
        form p {
            clear: left;
            float: left;
            width: 100%;
            
            margin: 0.6em 0;
        }
        form p.buttons {
            margin: 0.7em 0 2em 0;
        }
        form p.buttons span.privacy {
            font-size: 90%;
        }

        form p label {
            float: left;
            width: auto;
            
            margin-right: 1.5em;
        }
        form p.multi-line-checkbox input[type=checkbox] {
            float: left;
            margin-right: 0.4em;
        }
        form label.required {
            font-weight: bold;
        }

        form input.text,
        form label.text input,
        form textarea {
            display: block;
            
            margin-top: 0.25em;
        }
        form input.text.inline,
        form label.text.inline input {
            display: inline;
        }
        form input.text,
        form label.text input,
        form textarea {
            border: 1px solid #A3A08C;
            padding: 3px;

            font-size: 105%;
        }
        form input.text:focus,
        form label.text input:focus,
        form textarea:focus {
            border: 1px solid #7F7B64;
            background-color: #F5F3E7;
        }
        form input.text[disabled],
        form label.text input[disabled],
        form textarea[disabled] {
            background-color: #eee;
        }
    /* end forms */

    /* newsletter sign up */
        /* re-usable element */
            div.newsletter {
                background: #f5f7fa;
                padding: 1.5em 1em 1em;
            }
            div.newsletter h2 {
                margin: 0 0 0.5em;
                padding-right: 55px;
                min-height: 42px;

                font-size: 115%;
                line-height: 1.3;
                background: url("/assets/images/newsletter-signup-icon.png") no-repeat right;
            }
        
            }
            div.newsletter p {
                margin-top: 0;
                margin-bottom: 0.6em;
                font-size: 95%;
            }
            div.newsletter label {
                margin-top: 0.5em;
            }
            div.newsletter p.buttons span.privacy {
                display: block;
                margin-top: 1em;
            }
        /* end re-usable element */

        /* home page */
            body.home div#content-home div.newsletter {
                float: right;
                width: 23%;

                margin: 0;
                border-top: 1px solid #ccc;
            }
        /* end home page */

        /* side bar */
            div#marketing div.newsletter p {
                margin-top: 0;
            }
        /* end side bar */

        /* within page content */
            div.signup input.text {
                width: 20em;
            }
        /* end within page content */
    /* end newsletter sign up */

    /* buttons (and/or links) */
        a.marketing {
            display: block;
            
            width: 193px;
            height: 31px;
            
            padding-top: 0.38em;
            
            color: white;
            font-size: 110%;
            font-weight: bold;
            text-decoration: none;
            text-align: center;
            
            background: url(/assets/images/action-button-trans.png) no-repeat;
        }
        a.marketing:hover {
            background: url(/assets/images/action-button-active-trans.png) no-repeat;
        }

        a.marketing.small {
            width: 108px;

            background: url(/assets/images/action-button-small-trans.png) no-repeat;
        }
        a.marketing.small:hover {
            background: url(/assets/images/action-button-small-active-trans.png) no-repeat;
        }
        a.marketing.large {
            width: 421px;

            background: url(/assets/images/action-button-large-trans.png) no-repeat;
        }
        a.marketing.large:hover {
            background: url(/assets/images/action-button-large-active-trans.png) no-repeat;
        }
        a.button {
            padding: 0.3em;
            margin: 0.4em 0;
            color: #fff;
            font-weight: bold;
            font-size: 150%;
            text-decoration: none;
            text-align: center;

            -webkit-border-radius: 5px;
            -moz-border-radius: 5px;
            border-radius: 5px;
       
            background-color: #ff9934;
            background-image: -moz-linear-gradient(center bottom, rgb(204,103,2) 15%, rgb(255,154,52) 80%);
            background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.15, rgb(204,103,2)),color-stop(0.80, rgb(255,154,52)));
            border-top: 2px solid #f9b079;
            border-left: 2px solid #f9b079;
            border-bottom: 2px solid #8e340a;
            border-right: 2px solid #8e340a;
        }
        a.button.small {
            font-size: inherit;
        }
        a.button:hover {
            text-decoration: underline;
        }
        a.button:active {
            background-image: -moz-linear-gradient(center bottom, rgb(255,154,52) 15%, rgb(204,103,2) 80%);
            background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.15, rgb(255,154,52)),color-stop(0.80, rgb(204,103,2)));
            border-bottom: 2px solid #f9b079;
            border-right: 2px solid #f9b079;
            border-top: 2px solid #8e340a;
            border-left: 2px solid #8e340a;
        }
        a.button span {
            display: block;

            font-weight: normal;
            font-size: 70%;
            line-height: 1.2em;
            margin-top: 0.25em;
        }
        a.button.trial, a.button.login {
            display: block;
        }
        a.button.login {
            background-color: #6a9448;
            background-image: -moz-linear-gradient(center bottom, rgb(176,194,168) 15%, rgb(190,211,179) 80%);
            background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.15, rgb(86,123,57)),color-stop(0.80, rgb(119,165,82)));
            border-top: 2px solid #c3e0b4;
            border-left: 2px solid #c3e0b4;
            border-bottom: 2px solid #92a888;
            border-right: 2px solid #92a888;
        }
        a.button.login:hover {
            text-decoration: underline;
        }
        a.button.login:active {
            background-image: -moz-linear-gradient(center bottom, rgb(119,165,82) 15%, rgb(86,123,57) 80%);
            background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.15, rgb(119,165,82)),color-stop(0.80, rgb(86,123,57)));
            border-bottom: 2px solid #90d95a;
            border-right: 2px solid #90d95a;
            border-top: 2px solid #31531a;
            border-left: 2px solid #31531a;
        }
        div#content p.textad {
            font-size: 140%;
            padding: .3em 2em;
            text-align: center;
            font-weight: bold;
            background-color: #efefef;
            margin: 0;
        }

        a.external {
            padding-right: 17px;
            background: url(../images/external-link-icon.gif) top right no-repeat;
        }
    /* end buttons (and/or links) */
    
    /* testimonials */
        /* testimonials */
            blockquote.testimonial {
                margin: 1em 0;
            }
            blockquote.testimonial p span.author {
                display: block;
                font-weight: bold;
            }
            blockquote.testimonial p span.url {
                display: block;

                font-size: 90%;
                font-weight: normal;                
            }
            blockquote.testimonial cite {
                display: block;

                text-align: right;
            }

            /* sidebar layout */
                div.sidebar div.testimonials h2,
                div.sidebar blockquote.testimonial {
                    border-bottom: 1px solid #ccc;
                    padding-bottom: 1em;
                }
                div.sidebar blockquote.testimonial {
                    margin: 0 0 1em 0;

                    font-size: 93%;
                }
                div#content div.sidebar blockquote.testimonial p {
                    margin: 0.5em 0 0 0;
                    color: #666;
                }
                div.sidebar blockquote.testimonial cite {
                    text-align: right;
                }
                div.sidebar blockquote.testimonial span.url {
                    text-align: right;
                }
            /* end sidebar layout */
        /* end testimonials */
    /* end testimonials */

    /* search results table */
        h2.results {
            background: white url(../images/light-blue-title-gradient.png) repeat-x bottom left;
            color: black;
            font-size: 140%;
            padding: 8px 13px;
            text-align: left;
            border-top: 1px solid #cccccc;
            margin: 2em 0 0 0;
        }
        h2.results .unemphasised {
            font-weight: normal;
            font-size: 71%;
        }
        table.results { border-collapse: collapse; }
        table.results th {text-align: left;}
        table.results thead tr.subhead2 th {
            background: #dce1eb;
            color: black;
            font-size: 100%;
        }
        table.results thead tr.subhead th {
            background: #fbfcfd;
            color: black;
            font-size: 100%;
        }
        table.results thead {
            border: none;
            border-bottom: 1px solid black;
        }
        table.results tr.even td {
            background: #f3f5f8;
        }
        table.results td.i { width: 1px; }
        table.results td.k { width: 94%; }
        table.results td.s { width: 5%; }
        table.results td, table.results th {
            padding: 5px 13px 5px 13px;
        }
    /* end search results table */
    
    /* suggestion tool table */
        div._suggestion-tool-table {
            width: 450px;
            padding: 10px;
        }

        div._suggestion-tool-table table {
            border-collapse:collapse;
            padding: 0;
            margin: 0;
        }

        div._suggestion-tool-table th {
            padding: 5px;
            padding-left: 20px;
            font-size: 1em;
            background: #BEAA88;
            color: #fff;
        }

        div._suggestion-tool-table td {
            padding: 8px;
            padding-left: 20px;
            font-weight: normal;
        }
    /* end suggestion tool table */
/* end components shared between apps */

/* start sales pages */
    body.signup div#content h1 { font-size: 225%; }
    body.signup div#content h2 { font-size: 115%; margin: .4em 0;}
    body.signup div#content p { margin: 0;}
    body.signup div#content form fieldset { border: none; width: 100%; margin: 2em 0 0 0; padding: 0;}
    body.signup div#content form fieldset h2 { display: block; font-weight: bold; font-size: 150%; background-color: #ededed; padding: .3em 1em .5em .5em; margin: 0 0 .3em 0;}
    body.signup div#content form p { margin: 0.6em 0;}
    body.signup div#content form textarea { height: 11em; overflow: auto;}
    body.signup div#content div input.activate { 
        display: inline;
        width: auto;
        height: auto;
        padding: 0.5em;
        
        color: white;
        font-size: 150%; 
        font-weight: bold;
        text-decoration: none;
        text-align: center;
  
        background: #ef873e;
  
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
    }
    
    div#content div.guarantee { background-color: #eee7b9; padding: 1em 1.2em; margin: 1em 0; clear: left; }
    div#content div.guarantee h3 { margin: 0 0 0.3em 0; }
    div#content div.guarantee p { float: none; margin: 0;}
/* end sales pages */

