/*
  ALL HEIGHTS SHOULD BE MULTIPLES OF 18

    see note on typography:
    http://wiki.github.com/joshuaclayton/blueprint-css/quick-start-tutorial

  BLUEPRINT CSS SETTINGS (yaml)
  tbwp-admin:
    path: /home/rsyring/dev/blaze/templatingbwc-src/default/templatingbwc/static/blueprint-css
    semantic_classes:
      "#page-header, #page-nav, #page-body, #page-footer": ".span-24"
      "#page-footer": ".last"
      "#page-container": ".container"
      "#page-container:after": ".clearfix:after"
      "#page-nav:after": ".clearfix:after"

    COLOR SCHEME:

    http://colorschemedesigner.com/#0j31Trwunwtw0

    Andrew's Orange: F26822
    Darker Orange: ED4F00
    Darkest Orange: #D64700

*/

/*

###
### GENERAL TYPOGRAPHY
###

*/

body {
    font-family:Lucida Grande,Verdana,Lucida Sans Regular,Lucida Sans Unicode,Arial,sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}

h1 {
    font-size: 1.9em;
    margin: .5em 0;
}

h2 {
    font-size: 1.7em;
    margin: .75em 0 .5em 0;
}

h3 {
    font-size: 1.4em;
    margin: 1em 0 .75em 0;
}

h4 {
    margin: 1.25em 0 1em 0;
}

h5 {
    margin: 1.5em 0 1.25em 0;
}


/* reST doesn't provide a way to target the heading element directly with a
  class.  That doesn't solve the problem of having h2 primary headings, but
  we won't do that in the reST, so #primary-heading should still apply.
*/
#primary-content h2 {
    border-bottom: solid 1px #AFAFAF;
}

#primary-content div h1,
#primary-content div #primary-heading {
    font-size: 1.9em;
    margin-top: 12px;
    margin-bottom: .5em;
}

/*
  when there is no div between #primary content and the primary heading
  then the top margin on #primary-content and the heading collapse.  So, we
  have to make the top-margin on the heading taller
*/
#primary-content h1,
#primary-content #primary-heading {
    margin-top: 30px;
}

dl {
    margin-left: 0;
}

dl dt {
    margin-bottom: .8em;
}

dl dd {
    margin-bottom: 1.5em;
}

/* images on top are before any text, so no top margin */
p img.top {
    margin-top: 0px;
}

a,
a:active,
a:hover,
.js-action-link {
    text-decoration: underline;
    color: #0e7e07;
    outline: 0;
    font-size: 1.2em;
}

a:hover,
.js-action-link:hover {
    text-decoration: none;
}

a:visited {

}

.js-action-link:hover {
    cursor: pointer;
}

.accent-color {
    color: #ED4F00;
}

/* gray in screen.css is too light */
blockquote {
    color: #333333;
}

/*

###
### ELEMENTS
###

*/
body {
    background: #687e57 url(../images/page-bg.jpg) no-repeat center -25px;
    background-attachment:fixed;
}

#page-container {
    padding-top: 20px;
    margin-bottom: 200px;
    text-align: left; /* w/out this IE7 shows everything in the center */
    min-height: 900px;
}

#page-container.showgrid {
    background:url(../../blueprint-css/src/grid.png);
}

#page-header {
    background: url(../images/header-bg.png) no-repeat transparent top left;
    height: 126px;
    position:relative;
}

#page-nav {
    width: 100%;
    text-align: center;
    margin: 90px auto 10px auto;
    padding: 0;
    list-style: none;
}

#page-nav li {
    display: inline;
    color:white;
    margin-left: 20px;
    margin-right: 20px;

}

#page-nav a {
    text-decoration: none;
    color: white;
    outline: 0;
    font-size: 1.4em;
}
#page-nav a:hover,
.js-action-link:hover {
    text-decoration: underline;
}

#page-body {
    padding-bottom: 15px;
}

#primary-content {
    position: relative;
    margin-top: 15px;
}

#primary-content .section {
    clear: both;
}

#primary-content .section:after {
    content:"\0020";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
    overflow:hidden;
}

#page-footer {
    background: #1b4626;
    color: #ececec;
    height: 50px;
    padding-top: 25px;
    padding-bottom: 15px;
}

#page-body.sidebar-right {
    background-image: url(../images/gray-semitrans-bg.png);
    background-position: 600px 0px;
    background-repeat: repeat-y;
}

.sidebar-right #primary-content {
    width: 570px;
    float: left;
    margin-right: 30px;
}

.sidebar-right #sidebar-content {
    /* primary-content lp + width + rm => 40 + 570 + 30 = 640
       total width - primary-content width => 950 - 640 = 310
       total width - rp => 310 - 30 = 280
    */
    width: 280px;
    padding: 0 30px 0 0;
    float: left;
    margin-top: 18px; /* match primary-content top margin */
}

#user-messages ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#user-messages li {
    margin: 0 0 .3em 0;
    padding: .3em;
    padding-left: 35px;
    background-position: 10px 50%;
    background-repeat: no-repeat;
    border: solid 1px;
    position: relative;
}

#close-all-messages {
    text-align: right;
}

#close-all-messages a {
    text-decoration: none;
}

#close-all-messages a:hover {
    text-decoration: underline;
}

#user-messages .close-icon {
    position: absolute;
    display: block;
    height: 12px;
    width: 12px;
    background: url(../../templates-admin/icons/black-x-12.png) no-repeat;
    top: 3px;
    right: 3px;
    cursor: pointer;
}

#user-messages li.sev-error {
    background-image: url(../../templates-admin/icons/cancel.png);
    background-color: #FBE3E4;
    border-color: #FBC2C4;
    color: #860006;
}

#user-messages li.sev-warning {
    background-image: url(../../templates-admin/icons/error.png);
    background-color: #FFF6BF;
    border-color: #FFD324;
    color: #5F5200;
}

#user-messages li.sev-notice {
    background-image: url(../../templates-admin/icons/information.png);
    background-color: #8FBDE0;
    border-color: #6BACDE;
    color: #003863;
}

#user-messages li.sev-success {
    background-image: url(../../templates-admin/icons/accept.png);
    background-color: #E6EFC2;
    border-color: #C6D880;
    color: #4E6100;
}

/*

###
### CONTENT BOXES & NAV BOXES
###

*/

.cbox {
    /* matches the top margin on primary-heading */
    margin-top: 12px;
}

/*
  use when you don't need to match the margin of a primary-heading, useful
  when both content columns have boxes
*/
.cbox-top {
    margin-top: 0px;
}

.cbox-header {
    background: url(../../templates-admin/images/charcoal_inset_background.png) repeat-x left -30px;
}

.cbox-header h1,
.cbox-header h2,
.cbox-header h3,
.cbox-header h4,
.cbox-header h5,
.cbox-header h6,
h1.cbox-header,
h2.cbox-header,
h3.cbox-header,
h4.cbox-header,
h5.cbox-header,
h6.cbox-header,
.cbox-header ul li a {
    padding: .4em .4em;
    font-size: 1.2em;
    margin: 0;
}

.cbox-header-tabs h1,
.cbox-header-tabs h2,
.cbox-header-tabs h3,
.cbox-header-tabs h4,
.cbox-header-tabs h5,
.cbox-header-tabs h6 {
    float: left;
    padding-bottom: 0;
}

.cbox-header ul {
    list-style: none;
    float: right;
    margin: 0;
    padding: 0;
}

.cbox-header ul li {
    float: left;
    margin: 0;
    padding: 0;
}

.cbox-header ul li a {
    font-weight: bold;
    font-size: .9em;
    float: left;
    border-left: solid 1px #4f4f4f;
    padding: .8em 1em 1em 1em;
    text-decoration: none;
}

.cbox-header ul li.ui-tabs-selected a {
    background: url(../../templates-admin/images/white_up_arrow.gif) no-repeat center bottom;
}

.cbox-header ul li a:visited {
    color: #ECECEC;
}

.cbox-header ul li a:hover {
    background: url(../../templates-admin/images/white_up_arrow.gif) no-repeat center bottom #5e5e5e;
    color: #FDDA57;
}

.cbox .ui-tabs-hide {
    display: none !important;
}

.cbox-content {
    padding: 1em;
    border: #bdbdbd solid 1px;
    border-top: 0px;
}

.navbox .cbox-content {
    padding-left: 0;
    padding-right: 0;
    border: none;
}

.navbox .cbox-header {
    background: none;
    border-bottom: solid 3px #666666;
    margin-left: 20px;
    padding-left: 10px;
}

.navbox .cbox-header h2 {
    padding-left: 0px;
    font-size: 1.4em;
    padding: 0 0 .3em 0px;
    line-height: 1em;
}

/* first level */
.navbox .cbox-content > ul {
    padding: 0;
    margin: 0 0 0 40px;
    list-style: none;
    font-size: 1.2em;
}

.navbox li {
    /* next two create a hanging indent */
    padding-left: 2em;
    text-indent: -2em;
    margin-top: .2em;
}

/* subsequent levels */

.navbox .cbox-content > ul > li ul {
    padding: 0;
    margin: 0 0 0 0;
    list-style: none;
    font-size: .8em;
}

/*

###
### SUPERFISH NAV
###

*/

/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
    margin:            0;
    padding:        0;
    list-style:        none;
}
.sf-menu {
    line-height:    1.0;
}
.sf-menu ul {
    position:        absolute;
    top:            -999em;
    width:            10em; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
    width:            100%;
}
.sf-menu li:hover {
    visibility:        inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
    float:            left;
    position:        relative;
}
.sf-menu a,
.sf-menu .sf-placeholder {
    display:        block;
    position:        relative;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
    left:            0;
    top:            35px; /* match top ul list item height */
    z-index:        99;
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
    top:            -999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
    left:            10em; /* match ul width */
    top:            0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
    top: -999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
    left: 10em; /* match ul width */
    top: 0;
}

/*** arrows **/
.sf-menu li a.sf-with-ul,
.sf-menu li span.sf-placeholder{
    padding-right: 33px;
    min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
}
.sf-sub-indicator {
    position: absolute;
    display: block;
    right: .75em;
    top: .7em;
    width:  10px;
    height: 10px;
    text-indent: -999em;
    overflow: hidden;
    background-image: url(../images/superfish_arrows.png);
    background-repeat: no-repeat;
    background-position: bottom right;
}


/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
.sf-placeholder:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
.sf-placeholder:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li:hover > .sf-placeholder > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator
li.sfHover > .sf-placeholder > .sf-sub-indicator {
    background-position: bottom right; /* arrow hovers for modern browsers*/
}

/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator {
    background-position:  top right;
}

/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul .sf-placeholder:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul .sf-placeholder:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul .sf-placeholder:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li:hover > .sf-placeholder > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > .sf-placeholder > .sf-sub-indicator {
    background-position: top right; /* arrow hovers for modern browsers*/
}

/* when top menu is current, we need an orange arrow */
li.current > a > .sf-sub-indicator,
li.current > .sf-placeholder > .sf-sub-indicator{
    background-position: bottom left; /* arrow hovers for modern browsers*/
}

/* OUR THEMEING */
    .sf-menu {
        float: none;
        margin: 0;
        height: 35px;
        padding-left: 18px; /* left edge of text in first menu item should align with header */
    }

    /* top-level menu */
        .sf-menu li {
            height: 35px;
            border-left: solid 1px #848484;
        }

        .sf-menu li.first {
            border-left: none;
        }

        .sf-menu li a,
        .sf-menu li .sf-placeholder {
            font-size: 1.25em;
            text-transform: uppercase;
            border-top: none;
            padding: 9px 22px 0 22px;
        }

        .sf-menu li.current a,
        .sf-menu li.current .sf-placeholder  {
            color: #ED4F00;
        }

    /* cancel top-level menu styling for sub-menus */
        .sf-menu li ul a,
        .sf-menu li ul .sf-placeholder {
            font-size: 1em;
            text-transform: none;
            padding: 1em 1.3em;
        }

        .sf-menu li ul li {
            height: auto;
            border-left: none;
        }

        .sf-menu li.current ul a,
        .sf-menu li.current ul .sf-placeholder  {
            color: #f6f7f7;
        }

    /* other */
    .sf-menu a,
    .sf-menu .sf-placeholder {
        text-decoration: none;
        font-size: 1.1em;
    }

    .sf-menu .sf-placeholder {
        padding-right: 2.25em;
    }

    .sf-menu li.first a,
    .sf-men li.first .sf-placeholder {
        border-left: none;
    }

    .sf-menu a,
    .sf-menu a:visited, /* visited pseudo selector so IE6 applies text colour*/
    .sf-menu .sf-placeholder {
        color: #f6f7f7;
    }

    .sf-menu li:hover,
    .sf-menu li.sfHover {
        background: #24323a top left repeat-x;
        outline: 0;
        z-index: 99; /* IE7: drop-down nav ends up behind box headers without this */
    }

/* sub-menus */
.sf-menu ul {
    border: solid 1px #bdbdbd;
    border-bottom: none;
    border-top: none;
    background: #24323a;
}

.sf-menu ul li {
    border-bottom: solid 1px #bdbdbd;
}

.sf-menu li.sfHover ul li.sfHover,
.sf-menu li.sfHover ul li.hover,
.sf-menu li.sfHover ul li a:hover,
.sf-menu li.sfHover ul li .sf-placeholder:hover {
    background: #bdbdbd;
}
.sf-menu li.sfHover ul li a:hover {
    text-decoration: underline;
    color: #000;
}

.sf-menu ul ul {
    border-top: 1px solid #bdbdbd;
}

/*

###
### DatagridBWP Controls
###

*/

form.datagrid-form input,
form.datagrid-form select {
    margin-bottom: 1px;
}

.manage-add-link {
    float: right;
    margin-top: 0.8em;
}

/*

###
### datagrid tables
###

*/

table.datagrid {
    margin-top: 1em;
}

table.datagrid th,
table.datagrid td {
    padding: .5em 1em;
    margin: 0px;
    text-align: center;
}

table.datagrid td.ta-left {
    text-align: left;
}

table.datagrid th {
    font-weight: bold;
    color: #ececec;
    background-color: #31527C;
    text-align: center;
    border-bottom: solid 1px white;
    border-right: solid 1px white;
    border-top: solid 1px white;
}

table.datagrid th a {
    color: #ececec;
}

table.datagrid th a.sort-asc {
    padding-right: 40px;
    background: url(../../templates-admin/icons/th_arrow_up.png) no-repeat right -7px;
}

table.datagrid th a.sort-desc {
    padding-right: 40px;
    background: url(../../templates-admin/icons/th_arrow_down.png) no-repeat right -7px;
}

table.datagrid td {
    border-bottom: solid 1px white;
    border-right: solid 1px white;
}

table.datagrid tr.even td{
    background-color: #d5d5d5;
}

table.datagrid td,
table.datagrid tr.odd td{
    background-color: #e5e5e5;
}

table.datagrid td a.edit_link,
table.datagrid td a.delete_link {
    float: left;
    height: 16px;
    width: 16px;
    text-indent: -1200px;
}

table.datagrid td a.edit_link:focus,
table.datagrid td a.delete_link:focus {
    outline: 0;
}

table.datagrid td a.edit_link {
    background: url(../../templates-admin/icons/application_form_edit.png);
    margin-left: 1em;
}

table.datagrid td a.delete_link {
    background: url(../../templates-admin/icons/delete.png);
}

/*

###
### BlazeForm forms
###

*/
form.generated,
div.static-form {
    margin: 0px;
    padding: 0px;
    position: relative;
}

form.generated div.row,
div.static-form div.row {
    padding: 0.4em 0 0.4em 0;
    margin: 0;
    border: solid 1px #CCCCCC;
    border-top: none;
}

/* START: Expand row around floated child elements */
/* http://csscreator.com/?q=attributes/containedfloat.php */
form.generated div.row:after,
div.static-form div.row:after {
    content: ".";
    display: block;
    height: 0;
    font-size:0;
    clear: both;
    visibility:hidden;
}

form.generated div.row,
div.static-form div.row {
    display: inline-block;
}

/* Hides from IE Mac \*/
* html form.generated div.row,
* html div.static-form div.row {
    height: 1%;
}
form.generated div.row,
div.static-form div.row {
    display:block;
}
/* End Hack */
/* END: Expand row around floated child elements */

form.generated div.row.first,
div.static-form div.row.first {
    border-top: solid 1px #CCCCCC;
}

form.generated div.row.odd,
div.static-form div.row.odd {
    background-color: #F6F6F6;
}

form.generated div.row.even,
div.static-form div.row.even {
    background-color: #FFF;
}

/* remove background colors and borders from a submit button so it appears
  below the form */
form.generated div.row.submit,
form.generated div.row.reset,
form.generated div.row.cancel,
form.generated div.row.submit-only,
div.static-form div.row.submit-only {
    background: none;
    border: none;
}


form.generated div.row.submit-only,
div.static-form div.row.submit-only {
    padding-top: 15px;
}

form.generated label,
div.static-form label {
    width: 150px;
    float: left;
    padding: 0 0 0 10px;
    margin: 0;
    font-size: 1.1em;
    font-weight: normal;
}

form.generated div.field-wrapper,
form.generated div.group-wrapper,
div.static-form div.field-wrapper,
div.static-form div.group-wrapper {
    width: 620px;
    position: relative;
    float: left;
    padding: 0 0 0 10px;
    margin: 0;
    /* IE double-margin bug */
    display: inline;
}

/* margin should be the label width plus the left padding on the field-wrapper */
form.generated div.field-wrapper.no-label,
form.generated div.group-wrapper.no-label,
div.static-form div.field-wrapper.no-label,
div.static-form div.group-wrapper.no-label{
    margin-left: 160px;
}

/****** BEGIN group elements ********/
form.generated div.group-wrapper div.first,
form.generated div.group-wrapper div.odd,
form.generated div.group-wrapper div.even,
div.static-form div.group-wrapper div.first,
div.static-form div.group-wrapper div.odd,
div.static-form div.group-wrapper div.even{
    /* IE 6 doesn't understand the multi-class selectors above, so we need to cancel
    the styling
    */
    border: none;
    background: none;
}

form.generated div.group-wrapper label,
div.static-form div.group-wrapper label {
    float: none;
    width: auto;
    padding: 0;
    margin: 0;
}

form.generated div.grpel,
div.static-form div.grpel {
    float: left;
    margin: 0 15px 0 0;
}

form.generated div.group-wrapper div.field-wrapper,
div.static-form div.group-wrapper div.field-wrapper {
    position: static;
    width: auto;
    float: none;
    padding: 0;
    margin: 0;
    display: block;
}
/****** END group elements ********/


form.generated .required_note {
    position: absolute;
    top: -2em;
    right: 0;
}

form.generated .header-section {
    position: relative;
}

form.generated .header-section .required_note_above_header {
    position: absolute;
    top: 1em;
    right: 0;
}

form.generated .header-section h3 {
    margin-top: 1em;
}


form.generated .required_note span.star,
form.generated .required_note_above_header span.star{
    color: red;
}

form.generated span.required-star {
    position: absolute;
    left: 0;
    color: red;
    padding: 0;
    margin: 0;
}

form.generated input.text,
form.generated input.password,
form.generated input.file {
    /* the width doesn't actually seem to affect the file input */
    width: 175px;
    padding: .2em;
    margin: 2px 0;
}

/* have to set the width on the checkbox or otherwise the left margin
  doesn't line up with the other input elements in IE */
form.generated input.checkbox {
    width: 13px;
    height: 13px;
}

form.generated label.after {
    width: auto;
    padding: 0 0 0 .5em;
}

form.generated ul.errors,
form.generated ul.notes,
div.static-form ul.notes {
    margin: 0px 0 0 5px;
    padding: 3px;
    list-style: none;
}

form.generated ul.errors {
    margin: 0;
    padding: 0;
}

form.generated ul.errors li,
form.generated ul.notes li,
div.static-form ul.notes li {
    margin: 4px 0 0 0;
    padding: 0 0 0 15px;
    text-indent: -12px;
}

form.generated p.note,
div.static-form p.note {
    margin: 3px 0 0 5px;
    padding: 3px 3px 3px 15px;
    text-indent: -12px;
}

form.generated p.error {
    margin: 0;
    padding: 3px 8px;
    margin: 3px 0 0 0;
}

form.generated ul.errors li {
    padding-left: 8px;
    text-indent: 0px;
}

form.generated p.error,
form.generated ul.errors li {
    background-color: #FBE3E4;
    border: solid 2px #FBC2C4;
    color: #860006;
}

form.generated p.frozen {
    margin: 0;
    padding: 0;
}

/*

###
### Blueprint-CSS overrides
###

*/

/* jquery-ui uses a less specific position than blueprint, so we need to
  add a selector so it applies
*/
input.ui-helper-hidden-accessible {
    position: absolute;
}

/*

###
### inverted tab color scheme (tcs)
###

*/
.inverted-tcs {
    border: none;
}
.inverted-tcs .ui-widget-header{
    background: none;
    border: none;
    border-left: none;
    border-right: none;
}
.inverted-tcs .ui-tabs-panel {
    border-top: 1px solid #aaaaaa;
}

/*

###
### other stuff specifically for this website
###

*/
.rounded-corner-content {
    -webkit-border-radius: 10px;
    -o-border-radius: 10px;
    -ms-border-radius: 10px;
    -khtml-border-radius: 10px;
    border-radius: 10px;
    padding-bottom: 1.5em;
}
