/**
03/TYPOGRAPHY
=====================================================================**/
/** FONT FAMILY **/
body { font-family: Arial, Tahoma, sans-serif; }


/** HEADINGS, PARAGRAPHS, LISTS... **/
/* font sizes and styles */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-weight: normal; letter-spacing: 0; text-transform: none; }
h1, .h1 { font-size: 30px; line-height: 1; font-weight: bold; letter-spacing: -.04em; }
h2, .h2 { font-size: 24px; line-height: 1.1; }
h3, .h3 { font-size: 18px; line-height: 1.3; }
h4, .h4 { font-size: 14px; line-height: 1.4; font-weight: bold; }
h5, .h5 { font-size: 12px; line-height: 1.4; }
h6, .h6 { font-size: 11px; line-height: 1.4; text-transform: uppercase; }
p, .p, ul, ol, dl, table { font-size: 12px; line-height: 1.5; font-weight: normal; letter-spacing: 0; text-transform: none; }

    /* additional font sizes and line heights */
    .fine { font-size: 11px; line-height: 1.3; }
    sup, sub { font-size: 10px; line-height: 1; }

/*** default spacing ***/
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, blockquote { padding-top: 10px; padding-bottom: 10px; }
li h1, li h2, li h3, li h4, li h5, li h6, li p, li ul, li ol, li dl, li blockquote { padding: 0 0 10px 0; }
    p + p { padding-top: 0; }


/** COLORS **/
body            { color: #222; }
.clr_b          { color: #000; }
.clr_w          { color: #fff; }
.clr_error      { color: #f00; }

.clr_def        { color: #222; }
.clr_meta       { color: #777; }
.clr_dist       { color: #18719a; }


/** LINKS **/
a { color: #028ec3; text-decoration: underline; }
a:active, a:hover, a:focus { text-decoration: none; }
a:active { outline: none; }
/*a[href^="http"] { padding-right: 16px; background: transparent url(cssimg/icons/icon_external_link.png) 100% 0 no-repeat; }*/
a.link_invert { text-decoration: none; }
    a.link_invert:active, a.link_invert:hover, a.link_invert:focus { text-decoration: underline; }
a.link_suppress { text-decoration: none !important; }


/**
04/CONTENT
=====================================================================**/
/** LISTS **/
li { list-style-image: none; list-style-position: outside; list-style-type: none; }
    ul.data li, ol.data li { margin-left: 20px; }
    ul.data li, ol.data li ul li { list-style-type: circle; }
    ol.data li, ul.data li ol li { list-style-type: decimal; }

    /* flat */
    .flat { overflow: hidden; }
        .flat li { float: left; display: inline; padding-right: 10px; }
        .flat li:last-child { padding-right: 0; }

        .flat.ext {  } /* extends .flat */
            .flat.ext li { border-right: 1px solid #000; padding-left: 10px; }

        .nav_main { padding-top: 0; padding-bottom: 0; } /* extends .flat */
            .nav_main li { text-transform: uppercase; padding: 0 1px; }
            .nav_main a  { display: block; padding: 8px; font-size: 10px; line-height: 1.1; text-decoration: none; color: #7F8184; background: #FCFCFC;
                           border: 1px solid #B7B7B7; border-bottom: none;
                           -webkit-border-top-left-radius: 3px; -webkit-border-top-right-radius: 3px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; }
            .nav_main a:hover, .nav_main a:focus { color: #FF5919; }
                .nav_main a.active { font-size: 11px; font-weight: bold; color: white; background-color: #FF5919; border-color: #FF5919; }

        .nav_sub { padding-top: 5px; padding-bottom: 5px; } /* extends .flat */
            .nav_sub li {  }
            .nav_sub a  { display: block; padding: 4px 5px; font-size: 11px; line-height: 1; font-weight: bold; color: #eee; text-decoration: none; }
            .nav_sub a:hover, .nav_sub a:focus { color: white; background: #8a8a8a; }

    /* opposable */
    .opposable { overflow: hidden; }
        .opposable li { width: 50%; }
        .opposable li:first-child { float: left; }
        .opposable li:last-child { float: right; text-align: right; }

    /* listings */
    .listing_grid { padding: 0; }
        .listing_grid li /* use c_X classes on <li> to control item width; default: 2 cols */
            { display: inline-block; vertical-align: top; width: 120px; }

    /* tags */
    .tag-cloud {  }
        .tag-cloud li { display: inline-block; vertical-align: text-bottom; }
            .tag-cloud li a { font-size: 11px; line-height: 1.1; color: #7AB3CD; }
            .tag-cloud .rank-2  a { font-size: 12px; }
            .tag-cloud .rank-3  a { font-size: 13px; }
            .tag-cloud .rank-4  a { font-size: 14px; }
            .tag-cloud .rank-5  a { font-size: 15px; color: #337799 !important; }
            .tag-cloud .rank-6  a { font-size: 16px; color: #337799 !important; }
            .tag-cloud .rank-7  a { font-size: 17px; color: #337799 !important; }
            .tag-cloud .rank-8  a { font-size: 18px; color: #337799 !important; }
            .tag-cloud .rank-9  a { font-size: 19px; color: #337799 !important; }
            .tag-cloud .rank-10 a { font-size: 20px; color: #1A3C4D !important; }

    /* definition list */
    .data { overflow: hidden; }
        .data dt { float: left; clear: left; margin-right: 0px; font-weight: bold; padding-top: 5px; padding-right: 5px; }
        .data dd { float: left; clear: right; padding-top: 5px; }


/** FORMS **/
/* global */
legend { display: none; }
label[for], input[type="button"], input[type="submit"], button { cursor: pointer; }
button, input, select, textarea { margin: 0; }
.fm_desc { font-size: 11px; padding-top: .3em; padding-bottom: .5em; color: #999; }
.fm_wraptext { font-size: 11px; color: #333; padding-top: 6px; }


/* groups */
fieldset {  }
.fm_field { padding-top: .5em; padding-bottom: .5em; }
    .fm_field ul, .fm_field ol { padding-top: 0; padding-bottom: 0; }

/* labels */
label { display: block; padding-top: 5px; padding-bottom: 5px; font-size: 12px; font-weight: bold; }
    label[for] { -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select: none; -o-user-select: none; user-select: none; }
    li label { padding-top: 2px; padding-bottom: 2px; }
    .label_r label { text-align: right; }
    .label_l label { text-align: left; }
    .fm_field li label, .fm_field_multi label[for] { text-align: left; }
    .fm_req { font-weight: bold; color: red; }
    label .fm_req { font-weight: bold; color: red; /*margin-left: -.65em; */cursor: help; }

/* fields */
input, select { vertical-align: middle; }
input[type="text"], input[type="password"], textarea, select {
    width: 100%; padding: .2em; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;
    font-family: inherit; font-size: 13px; line-height: 1.4;
    background: white; border-color: #777 #aaa #ddd; border-style: solid; border-width: 1px;
}
select { padding: .15em; }
input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus { border-color: #028ec3; }
input[type="radio"], input[type="checkbox"] { vertical-align: text-bottom; }
textarea { overflow: auto; max-width: 100%; min-width: 50px; }

/* errors */
.fm_error {  }
    .fm_error label { color: #cf1919; }
    .fm_error input[type="text"], .fm_error input[type="password"],
    .fm_error textarea, .fm_error select { background-color: #FCFCC4; border-color: #CF1919; }
    .fm_error .mceLayout { outline: 1px solid red; }
    .fm_error_msg { background: #cf1919; color: white; }
        .fm_error_msg li { padding: .2em .5em; font-size: 11px; font-weight: bold; }


/* buttons */
button { width: auto; overflow: visible; }
input[type="submit"], a.button { padding: 5px 10px; font-size: 10px; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; border: none; color: white; background-color: #FF5919; }
input[type="submit"]:hover, a.button:hover { background: #BF633E; }

a.button { text-decoration: none; color: white !important; display: inline-block; }
input.button_action, a.button_action { background-color: #4b72b6; }
input.button_action:hover, a.button_action:hover { background-color: #4E608A; }
input.button_cancel, a.button_cancel { background-color: #7e7e7e; }
input.button_cancel:hover, a.button_cancel:hover { background-color: #5F5F5F; }
input.button_delete, a.button_delete { background-color: #e01c1c; }
input.button_delete:hover, a.button_delete:hover { background-color: #A83A3A; }
input.button_l, a.button_l { padding: 10px 20px; }

input[disabled], select[disabled], textarea[disabled] { background-color: #cecece; color: #8a8a8a; cursor: default; }

.js_editable_enabled { min-height: 18px; }
.js_editable_enabled:hover { outline: 1px dotted #aaa; }
.js_editable_enabled:focus { outline: 1px dotted #999; background: #FCFCC4; }
.js_editable_error { outline: 1px dashed red !important; background: #FCFCC4; }

/** TABLES **/
table { border-collapse: collapse; width: 100%; margin-top: 10px; margin-bottom: 10px; }
    caption { display: none; }
    th, td { vertical-align: middle; text-align: left; }

table.data { table-layout: fixed; }
    table.data th, table.data td  { padding: 5px; }
    table.data th, table.data tfoot tr:first-child td { background-color: #dbdbdb; }
    table.data td { background-color: white; }
        table.data tbody tr:nth-child(even) td { background-color: #f9f9f9; }
        table.data tbody tr:hover td { background-color: #eee; }

table.data .ui-state-highlight { height: 26px; border-color: yellow; }

.delimiter td { border-top: 4px solid #dbdbdb; }

/** MISC **/
iframe { width: 100%; outline: 1px solid #ddd;/* overflow-y: scroll;*/ overflow-x: hidden; }
.iframe { overflow-y: auto; }
    .iframe .container { width: 100%; padding-left: 0; padding-right: 0; }

.iframe_alt {  }

abbr[title] { border-bottom: 1px dotted black; cursor: help; }

.skipper { padding: 0; } /* used for skip links at the top and bottom */
    .skipper li { line-height: 0; }
    .skipper a { position: absolute; top: 0; left: -9999px; z-index: 100; width: 100%; font-size: 12px; line-height: 1.2; }
    .skipper a:focus,
    .skipper a:active { display: block; position: absolute; top: 0; left: 0; width: 100%; padding: .5em 0; color: white; background: #212121; text-align: center; text-transform: uppercase; outline: 0; }

.pagination {  }
    .pagination a, .pagination strong, .pagination span { padding: 0 .2em; }

