/* @group Links
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* link */
.cw-link {}

/* links to external documents */
.cw-link-external {}
.cw-link-external:after {
    content: " \2192";
}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

/* @group Text
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* text */
.cw-text {}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

/* @group Buttons
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* button */
.cw-button {}

/* constrained buttons */
.cw-button-constrained {}

/* button groups */
.cw-button-group {}

/** button groups implemented using unordered lists **/
ul.cw-button-group {
    display: inline-block;
    margin: 0;
    padding: 0;

    list-style-type: none;
    white-space: nowrap;
}

ul.cw-button-group > li {
    display: inline;
    float: left;
    margin: 0;
}

/* elegant buttons */
.cw-button.cw-button-elegant,
a.cw-button.cw-button-elegant:link,
a.cw-button.cw-button-elegant:visited,
a.cw-button.cw-button-elegant:hover,
ul.cw-button-group.cw-button-elegant > li > *,
ul.cw-button-group.cw-button-elegant > li > a:link,
ul.cw-button-group.cw-button-elegant > li > a:hover,
ul.cw-button-group.cw-button-elegant > li > a:visited {
    display: inline-block;
    padding: 4px 8px;

    border-width: 1px;
    border-style: solid;
    border-top-color: #CCCCCC;
    border-right-color: #999999;
    border-bottom-color: #999999;
    border-left-color: #CCCCCC;
    background-color: #F0F0F0;
    background-image: url("../images/CW-Gradient-Short.png");
    background-repeat: repeat-x;
    text-align: center;
    text-decoration: none;
    color: #383838;
    font-size: 1em;
    font-family: inherit;
    cursor: pointer;
    /* reset appearance for elements that get special user-agent treatment */
    -webkit-appearance: none;
    -moz-appearance: none;
    /* stretch the background to fit the entire button */
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    -o-background-size: 100% 100%;
    background-size: 100% 100%;
    /* make the borders rounded */
    -moz-border-radius-bottomleft: 3px;
    -webkit-border-bottom-left-radius: 3px;
    border-bottom-left-radius: 3px;
    -moz-border-radius-topleft: 3px;
    -webkit-border-top-left-radius: 3px;
    border-top-left-radius: 3px;
    -moz-border-radius-bottomright: 3px;
    -webkit-border-bottom-right-radius: 3px;
    border-bottom-right-radius: 3px;
    -moz-border-radius-topright: 3px;
    -webkit-border-top-right-radius: 3px;
    border-top-right-radius: 3px;
}

/** elegant button group buttons (unordered list) **/
ul.cw-button-group.cw-button-elegant > li > *,
ul.cw-button-group.cw-button-elegant > li > a:link,
ul.cw-button-group.cw-button-elegant > li > a:hover,
ul.cw-button-group.cw-button-elegant > li > a:visited {
    margin: 0;

    border-left: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
}

/** first elegant button group button (unordered list) **/
ul.cw-button-group.cw-button-elegant > li:first-child > *,
ul.cw-button-group.cw-button-elegant > li:first-child > a:link,
ul.cw-button-group.cw-button-elegant > li:first-child > a:hover,
ul.cw-button-group.cw-button-elegant > li:first-child > a:visited {
    border-left: 1px solid #CCCCCC;
    -moz-border-radius-bottomleft: 3px;
    -webkit-border-bottom-left-radius: 3px;
    border-bottom-left-radius: 3px;
    -moz-border-radius-topleft: 3px;
    -webkit-border-top-left-radius: 3px;
    border-top-left-radius: 3px;
}

/** last elegant button group button (unordered list) **/
ul.cw-button-group.cw-button-elegant > li:last-child > *,
ul.cw-button-group.cw-button-elegant > li:last-child > a:link,
ul.cw-button-group.cw-button-elegant > li:last-child > a:hover,
ul.cw-button-group.cw-button-elegant > li:last-child > a:visited {
    -moz-border-radius-bottomright: 3px;
    -webkit-border-bottom-right-radius: 3px;
    border-bottom-right-radius: 3px;
    -moz-border-radius-topright: 3px;
    -webkit-border-top-right-radius: 3px;
    border-top-right-radius: 3px;
}

/** active elegant buttons **/
.cw-button.cw-button-elegant:active,
a.cw-button.cw-button-elegant:active,
ul.cw-button-group.cw-button-elegant > li > *:active,
ul.cw-button-group.cw-button-elegant > li > a:active,
.cw-button-active.cw-button-elegant,
a.cw-button-active.cw-button-elegant:link,
a.cw-button-active.cw-button-elegant:hover,
a.cw-button-active.cw-button-elegant:visited,
ul.cw-button-group.cw-button-elegant > li > .cw-button-active,
ul.cw-button-group.cw-button-elegant > li > a.cw-button-active {
    background-image: none;
    background-color: #DDDDDD;
}

/** constrained elegant buttons **/
.cw-button.cw-button-constrained,
a.cw-button.cw-button-constrained:link,
a.cw-button.cw-button-constrained:visited,
a.cw-button.cw-button-constrained:hover,
ul.cw-button.cw-button-constrained > li > *,
ul.cw-button.cw-button-constrained > li > a:link,
ul.cw-button.cw-button-constrained > li > a:hover,
ul.cw-button.cw-button-constrained > li > a:visited {
    padding: 2px 4px;

    font-size: 0.78em;
}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

/* @group Images
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* image */
.cw-image {}

/* thumbnail-size image */
.cw-image-thumbnail {
    max-width: 50px;
    max-height: 50px;
}

/* preview-size image */
.cw-image-preview {
    max-width: 100px;
    max-height: 100px;
}

/* large-size image */
.cw-image-large {
    max-width: 500px;
    max-height: 500px;
}

/* full-size image */
.cw-image-full {}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

/* @group Sections
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* section */
.cw-section {
    display: block;
}

/* section headers */
.cw-section-header {
    display: block;
}

/* section bodies */
.cw-section-body {
    display: block;
}

/* section footers */
.cw-section-footer {
    display: block;
}

/* shadowed sections (drop shadow) */
.cw-section-shadowed {}

/* pop-up/modal sections (the exact position must be declared separately) */
.cw-section-popup {
    position: absolute;
    z-index: 100;
}

/** shadowed popups **/
.cw-section-popup.cw-section-shadowed {
    -webkit-box-shadow: rgba(24, 24, 19, 0.6) 0 0 55px;
    -moz-box-shadow: rgba(24, 24, 19, 0.6) 0 0 55px;
    box-shadow: rgba(24, 24, 19, 0.6) 0 0 55px;
}

/* drawer sections */
.cw-section-drawer {
    position: fixed;
    bottom: 0;
    right: 20px;
    z-index: 100;
}

/** shadowed drawer sections */
.cw-section-drawer.cw-section-shadowed {
    border-bottom: none;
    -webkit-box-shadow: rgba(24, 24, 19, 0.3) 0 0 20px;
    -moz-box-shadow: rgba(24, 24, 19, 0.3) 0 0 20px;
    box-shadow: rgba(24, 24, 19, 0.3) 0 0 20px;
}

/* elegant sections */
.cw-section-elegant {
    border: 1px solid #CCCCCC;
    background-color: #FFFFFF;
}

.cw-section-elegant > .cw-section-header {
    padding: 3px;

    background-color: #D7D7D7;
    background-image: url("../images/CW-Gradient-Short.png");
    background-repeat: repeat-x;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    -o-background-size: 100% 100%;
    background-size: 100% 100%;
}

.cw-section-elegant > .cw-section-body {
    padding: 3px;

    background-color: #FFFFFF;
}

.cw-section-elegant > .cw-section-footer {
    padding: 3px;
}

/* simple decorations */
.cw-section-simple {
    border: 1px solid #DDDDDD;
}

.cw-section-simple > .cw-section-header {
    padding: 3px;

    background-color: #DDDDDD;
}

.cw-section-simple > .cw-section-body {
    padding: 3px;
}

.cw-section-simple > .cw-section-footer {
    padding: 3px;
}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

/* @group Tables
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* table */
.cw-table {}

/* tables that are padded */
.cw-table-padded {}

/* tables with emphasized cells */
.cw-table-emphasizedcells {}

/* tables with headers on the left side */
.cw-table-sideheaders {}

/* tables with sections, i.e., scope=rowspan for each tbody */
.cw-table-sectioned {}

/* tables that are full size */
.cw-table-fullsize {
    width: 100%;
}

/* tables with pagination buttons for the data in the footer */
table.cw-table-pagination > tfoot > tr > th:first-child,
table.cw-table-pagination > tfoot > tr > td:first-child {
    padding-left: 0;

    text-align: left;
}

table.cw-table-pagination > tfoot > tr > th:last-child,
table.cw-table-pagination > tfoot > tr > td:last-child {
    padding-right: 0;

    text-align: right;
}

/* faux tables using the display property */
.cw-table-fauxtable {
    display: table;
}

.cw-table-fauxrow {
    display: table-row;
}

.cw-table-fauxcell {
    display: table-cell;
}

.cw-table-fauxtable.cw-table-padded > .cw-table-fauxrow > .cw-table-fauxcell {
    padding: 5px;
}

/* striped tables */
table.cw-table-striped {
    border-collapse: collapse;
}

table.cw-table-striped.cw-table-padded > thead > tr > th,
table.cw-table-striped.cw-table-padded > thead > tr > td,
table.cw-table-striped.cw-table-padded > tbody > tr > th,
table.cw-table-striped.cw-table-padded > tbody > tr > td,
table.cw-table-striped.cw-table-padded > tfoot > tr > th,
table.cw-table-striped.cw-table-padded > tfoot > tr > td {
    padding: 5px;
}

table.cw-table-striped.cw-table-padded.cw-table-pagination > tfoot > tr > th,
table.cw-table-striped.cw-table-padded.cw-table-pagination > tfoot > tr > td {
    padding-top: 5px;
    padding-bottom: 5px;
}

table.cw-table-striped.cw-table-emphasizedcells > thead > tr > th,
table.cw-table-striped.cw-table-emphasizedcells > thead > tr > td,
table.cw-table-striped.cw-table-emphasizedcells > tbody > tr > th,
table.cw-table-striped.cw-table-emphasizedcells > tbody > tr > td {
    border: 1px solid #FFFFFF;
}

table.cw-table-striped.cw-table-sideheaders > tbody > tr > th:first-child {
    font-weight: bold;
    text-align: left;
    padding-right: 15px;
    white-space: nowrap;
}

table.cw-table-striped.cw-table-sideheaders.cw-table-dense > tbody > tr > th:first-child {
    text-align: right;
    padding-right: 5px;
}

table.cw-table-striped.cw-table-sectioned > tbody > tr:first-child > th {
    background-color: #BABACF;
    text-align: left;
    text-transform: uppercase;
}

table.cw-table-striped > caption {
    background-color: #CFCFDD;
}

table.cw-table-striped > tfoot {
    background-color: #FFFFFF;
}

table.cw-table-striped > thead > tr > th {
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

table.cw-table-striped > thead > tr:nth-child(odd) {
    background-color: #BABACF;
}

table.cw-table-striped > thead > tr:nth-child(even) {
    background-color: #CFCFDD;
}

table.cw-table-striped > tbody > tr:nth-child(odd) {
    background-color: #EAF1F3;
}

table.cw-table-striped > tbody > tr:nth-child(even) {
    background-color: #F4F9FA;
}

/* simple table */
table.cw-table-simple {
    border-collapse: collapse;
}

table.cw-table-simple.cw-table-padded > thead > tr > th,
table.cw-table-simple.cw-table-padded > thead > tr > td {
    padding: 10px;
}

table.cw-table-simple.cw-table-padded > tbody > tr > th,
table.cw-table-simple.cw-table-padded > tbody > tr > td,
table.cw-table-simple.cw-table-padded > tfoot > tr > th,
table.cw-table-simple.cw-table-padded > tfoot > tr > td {
    padding: 5px;
}

table.cw-table-simple.cw-table-padded.cw-table-pagination > tfoot > tr > th,
table.cw-table-simple.cw-table-padded.cw-table-pagination > tfoot > tr > td {
    padding-top: 5px;
    padding-bottom: 5px;
}

table.cw-table-simple.cw-table-sideheaders > tbody > tr > th:first-child {
    padding-right: 5px;

    font-weight: normal;
    text-align: right;
    white-space: nowrap;
}

table.cw-table-simple.cw-table-sectioned > tbody > tr:first-child > th {
    font-weight: bold;
    border: 1px solid #DDDDDD;
    background-color: #EAF1F3;
    text-align: left;
}

table.cw-table-simple > thead > tr > th {
    text-align: left;
    white-space: nowrap;
}

/* map table (key -> value) */
table.cw-table-map {
    border-collapse: collapse;
}

table.cw-table-map > tbody > tr > th:first-child {
    padding-right: 20px;

    text-align: left;
    font-weight: normal;
}

table.cw-table-map.cw-table-padded > thead > tr > th,
table.cw-table-map.cw-table-padded > thead > tr > td {
    padding: 10px;
}

table.cw-table-map.cw-table-padded > tbody > tr > th,
table.cw-table-map.cw-table-padded > tbody > tr > td,
table.cw-table-map.cw-table-padded > tfoot > tr > th,
table.cw-table-map.cw-table-padded > tfoot > tr > td {
    padding: 5px;
}

table.cw-table-map.cw-table-padded.cw-table-pagination > tfoot > tr > th,
table.cw-table-map.cw-table-padded.cw-table-pagination > tfoot > tr > td {
    padding-top: 5px;
    padding-bottom: 5px;
}

table.cw-table-map.cw-table-sectioned > tbody:nth-child(n+2) > tr:first-child > th,
table.cw-table-map.cw-table-sectioned > tbody:nth-child(n+2) > tr:first-child > td {
    padding-top: 12px;
}

table.cw-table-map.cw-table-sectioned.cw-table-padded > tbody:nth-child(n+2) > tr:first-child > th,
table.cw-table-map.cw-table-sectioned.cw-table-padded > tbody:nth-child(n+2) > tr:first-child > td {
    padding-top: 20px;
}

/* boxed table */
table.cw-table-boxed {
    border-collapse: separate;
    border-spacing: 0;
}

table.cw-table-boxed {
    border-width: 1px;
    border-style: solid;
    border-color: #CCCCCC;
}

/** rows of the table **/
table.cw-table-boxed > thead > tr > th,
table.cw-table-boxed > thead > tr > td,
table.cw-table-boxed > tbody > tr > th,
table.cw-table-boxed > tbody > tr > td,
table.cw-table-boxed > tfoot > tr > th,
table.cw-table-boxed > tfoot > tr > td {
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
}

/** last row of the table **/
table.cw-table-boxed > thead > tr:last-child > th,
table.cw-table-boxed > thead > tr:last-child > td,
table.cw-table-boxed > tbody > tr:last-child > th,
table.cw-table-boxed > tbody > tr:last-child > td,
table.cw-table-boxed > tfoot > tr:last-child > th,
table.cw-table-boxed > tfoot > tr:last-child > td {
    border-bottom-width: 0;
}

/** last cell of a row **/
table.cw-table-boxed > thead > tr > th:last-child,
table.cw-table-boxed > thead > tr > td:last-child,
table.cw-table-boxed > tbody > tr > th:last-child,
table.cw-table-boxed > tbody > tr > td:last-child,
table.cw-table-boxed > tfoot > tr > th:last-child,
table.cw-table-boxed > tfoot > tr > td:last-child {
    border-right-width: 0;
}

table.cw-table-boxed.cw-table-padded > thead > tr > th,
table.cw-table-boxed.cw-table-padded > thead > tr > td,
table.cw-table-boxed.cw-table-padded > tbody > tr > th,
table.cw-table-boxed.cw-table-padded > tbody > tr > td,
table.cw-table-boxed.cw-table-padded > tfoot > tr > th,
table.cw-table-boxed.cw-table-padded > tfoot > tr > td {
    padding: 5px;
}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

/* @group Forms
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* form */
.cw-form {}

/* an element that appears to be a label, but isn't one */
.cw-form-pseudolabel {}

/* form element that isn't strictly necessary, but is helpful for text-based
   browsers or screen readers */
.cw-form-nonessential {
    display: none;
}

/* form requirements */
.cw-form-required {
    background-color: #FFEE77;
}

span.cw-form-required,
label.cw-form-required {
    padding-left: 2px;
    padding-right: 2px;

    background-color: transparent;
    border-color: #FFEE77;
    border-width: 2px;
    border-style: solid;
    -moz-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

/* form errors */
.cw-form-error {
    background-color: #FFEEEE;
}

span.cw-form-error,
label.cw-form-error {
    padding-left: 2px;
    padding-right: 2px;

    background-color: transparent;
    border-color: #FF7777;
    border-width: 2px;
    border-style: solid;
    -moz-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

ul.cw-form-error,
p.cw-form-error,
div.cw-form-error {
    padding: 5px;
}

ul.cw-form-error {
    padding-left: 23px;
}

ul.cw-form-error > li {
    padding-bottom: 2px;

    list-style-type: square;
}

ul.cw-form-error > li:last-child {
    padding-bottom: 0;
}

/* fields that have been modified */
.cw-form-modified {
    background-color: #FCE9A9;
}

label.cw-form-modified {
    position: relative;
    right: 2px;
    padding-left: 2px;
    padding-right: 2px;

    background-color: transparent;
    border-color: #FCE9A9;
    border-width: 2px;
    border-style: solid;
    -moz-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

ul.cw-form-modified,
p.cw-form-modified,
div.cw-form-modified {
    padding: 5px;
}

ul.cw-form-modified {
    padding-left: 23px;
}

ul.cw-form-modified > li {
    padding-bottom: 2px;

    list-style-type: square;
}

ul.cw-form-modified > li:last-child {
    padding-bottom: 0;
}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

/* @group Lists
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

/* list */
.cw-list {}

/* unmarked, i.e., no bullets or indent, lists */
ol.cw-list-unmarked,
ul.cw-list-unmarked {
    padding-left: 0;

    list-style-type: none;
}

/* un-bulleted lists */
ol.cw-list-nobullets,
ul.cw-list-nobullets {
    list-style-type: none;
}

/* remove the "matte" (margin) from the top and bottom of a list */
ol.cw-list-dematte,
ul.cw-list-dematte {
    margin-top: 0;
    margin-bottom: 0;
}

/* un-indented lists */
ol.cw-list-noindent,
ul.cw-list-noindent {
    padding-left: 20px;
}

ol.cw-list-noindent.cw-list-nobullets,
ul.cw-list-noindent.cw-list-nobullets {
    padding-left: 0;
}

/* &middot; lists */
ul.cw-list-dotlist {
    list-style-type: none;
    padding-left: 20px;
}

ul.cw-list-dotlist > li:before {
    content: "\00B7 \0020";
}

ul.cw-list-dotlist.cw-list-noindent {
    padding-left: 0;
}

/* horizontal lists */
ol.cw-list-horizontal,
ul.cw-list-horizontal,
dl.cw-list-horizontal,
ol.cw-list-horizontal > li,
ul.cw-list-horizontal > li,
dl.cw-list-horizontal > dt,
dl.cw-list-horizontal > dd {
    display: inline;

    list-style-type: none;
}

dl.cw-list-horizontal > dt {
    margin-left: 10px;

    font-weight: bold;
}

dl.cw-list-horizontal > dt:first-child {
    margin-left: 0;
}

dl.cw-list-horizontal > dt:after {
    content: ":";
}

dl.cw-list-horizontal > dd {
    margin-left: 2px;
}

/* dictionary lists */
dl.cw-list-dictionary {
    overflow: auto;
}

dl.cw-list-dictionary > dt {
    clear: left;
    float: left;
    margin-right: 5px; /* simulate whitespace, even if there isn't any */

    font-weight: bold;
}

dl.cw-list-dictionary > dd {
    margin-left: 0;
}

/* @end
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
