/*****************************
 * Default Style Templates
 *****************************/

p {
    -ro-style-template: "L_STYLE_TEMPLATE_PARAGRAPH" paragraph;
    -ro-style-template-group: "L_PARAGRAPH";
    -ro-style-template-setter-id: "template-paragraph";
    -ro-style-template-toggle-id: "template-toggle-paragraph";
    -ro-style-template-not-context: "chapter-context";
}

h1 {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING1" paragraph;
    -ro-style-template-group: "L_PARAGRAPH";
    -ro-style-template-setter-id: "template-heading-1";
    -ro-style-template-toggle-id: "template-toggle-heading-1";
    -ro-style-template-not-context: "chapter-context";
}

h2 {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING2" paragraph;
    -ro-style-template-group: "L_PARAGRAPH";
    -ro-style-template-setter-id: "template-heading-2";
    -ro-style-template-toggle-id: "template-toggle-heading-2";
    -ro-style-template-not-context: "chapter-context";
}

h3 {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING3" paragraph;
    -ro-style-template-group: "L_PARAGRAPH";
    -ro-style-template-setter-id: "template-heading-3";
    -ro-style-template-toggle-id: "template-toggle-heading-3";
    -ro-style-template-not-context: "chapter-context";
}

h4 {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING4" paragraph;
    -ro-style-template-group: "L_PARAGRAPH";
    -ro-style-template-setter-id: "template-heading-4";
    -ro-style-template-toggle-id: "template-toggle-heading-4";
    -ro-style-template-not-context: "chapter-context";
}

h5 {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING5" paragraph;
    -ro-style-template-group: "L_PARAGRAPH";
    -ro-style-template-setter-id: "template-heading-5";
    -ro-style-template-toggle-id: "template-toggle-heading-5";
    -ro-style-template-not-context: "chapter-context";
}

h6 {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING6" paragraph;
    -ro-style-template-group: "L_PARAGRAPH";
    -ro-style-template-setter-id: "template-heading-6";
    -ro-style-template-toggle-id: "template-toggle-heading-6";
    -ro-style-template-not-context: "chapter-context";
}

/*****************************
 * Element: List
 *****************************/

/* Style Templates */

:not(*){ 
    -ro-style-template: default list; 
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_LIST_ITEM"; 
    -ro-style-template-context: "ro-text-context";
    -ro-style-template-setter-id: "template-list-default";
    -ro-style-template-context: "ro-list-item-context";
    -ro-style-template-not-context: "chapter-title-context";
} 

ul {
    -ro-style-template: "L_STYLE_TEMPLATE_LIST_DISC" list; /* &#x2022; */
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_LIST_ITEM";
    -ro-style-template-context: "ro-text-context";
    -ro-style-template-setter-id: "template-list-disc";
    -ro-style-template-context: "ro-list-item-context";
    -ro-style-template-not-context: "chapter-title-context";
}
ul.square { 
    -ro-style-template: "L_STYLE_TEMPLATE_LIST_SQUARE" list; /* &#x25a0; */
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_LIST_ITEM";
    -ro-style-template-context: "ro-text-context";
    -ro-style-template-setter-id: "template-list-square";
    -ro-style-template-context: "ro-list-item-context";
    -ro-style-template-not-context: "chapter-title-context";
}
ul.checked { 
    -ro-style-template: "L_STYLE_TEMPLATE_LIST_CHECKED" list; /* &#x2713; */
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_LIST_ITEM";
    -ro-style-template-context: "ro-text-context";
    -ro-style-template-setter-id: "template-list-checked";
    -ro-style-template-context: "ro-list-item-context";
    -ro-style-template-not-context: "chapter-title-context";
}

ol {
    -ro-style-template: "L_STYLE_TEMPLATE_LIST_DECIMAL" list; /* 1., 2., 3. */
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_LIST_ITEM";
    -ro-style-template-context: "ro-text-context";
    -ro-style-template-setter-id: "template-list-decimal";
    -ro-style-template-context: "ro-list-item-context";
    -ro-style-template-not-context: "chapter-title-context";
}

ol.upperRoman {
    -ro-style-template: "L_STYLE_TEMPLATE_LIST_UPPER_ROMAN" list; /* I., II., III. */
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_LIST_ITEM";
    -ro-style-template-context: "ro-text-context";
    -ro-style-template-setter-id: "template-list-upper-roman";
    -ro-style-template-context: "ro-list-item-context";
    -ro-style-template-not-context: "chapter-title-context";
}

ol.upperAlpha {
    -ro-style-template: "L_STYLE_TEMPLATE_LIST_UPPER_ALPHA" list; /* A., B., C. */
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_LIST_ITEM";
    -ro-style-template-context: "ro-text-context";
    -ro-style-template-setter-id: "template-list-upper-alpha";
    -ro-style-template-context: "ro-list-item-context";
    -ro-style-template-not-context: "chapter-title-context";
}

/* Style for Style Templates*/

ul {
    list-style-type: disc; 
}
ul.square { 
    list-style-type: square; 
}
ul.checked { 
    list-style-type: check;
}

ol {
    list-style-type: decimal;
}

ol.upperRoman {
    list-style-type: upper-roman;
}

ol.upperAlpha {
    list-style-type: upper-alpha;
}


/*****************************
 * Element: Container 
 *****************************/

/* Style Templates */

:not(*){
    -ro-style-template: default container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_FLOATED" hidden;
    -ro-style-template-setter-id: "template-set-float-default";
    -ro-style-template-not-context: "chapter-context", "no-container-context", "ro-shape-context";
    -ro-style-template-context: "ro-container-context";
}

div.float_left {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_FLOAT_LEFT" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_FLOATED" hidden;
    -ro-style-template-setter-id: "template-set-float-left";
    -ro-style-template-not-context: "chapter-context", "no-container-context", "ro-shape-context";
    -ro-style-template-context: "ro-container-context";
}

div.float_right {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_FLOAT_RIGHT" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_FLOATED" hidden;
    -ro-style-template-setter-id: "template-set-float-right";
    -ro-style-template-not-context: "chapter-context", "no-container-context", "ro-shape-context";
    -ro-style-template-context: "ro-container-context";
}

div {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_TEXT" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_TYPE";
    -ro-style-template-setter-id: "template-set-container-type-frame";
    -ro-style-template-context: "ro-container-context", "chapter-context";
}

div.nobreak {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_KEEP" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_TYPE";
    -ro-style-template-setter-id: "template-set-container-type-nobreak";
    -ro-style-template-context: "ro-container-context", "chapter-context";
}

section {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_CHAPTER" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_TYPE";
    -ro-style-template-setter-id: "template-set-container-type-chapter";
    -ro-style-template-context: "ro-container-context", "chapter-context";
}


:not(*) {
    -ro-style-template: default container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_STYLE";
    -ro-style-template-not-context: "chapter-context", "no-container-context";
    -ro-style-template-context: "ro-container-context";
}

div.important {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_IMPORTANT" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_STYLE";
    -ro-style-template-not-context: "chapter-context", "no-container-context";
    -ro-style-template-context: "ro-container-context";
}

div.note {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_NOTE" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_STYLE";
    -ro-style-template-not-context: "chapter-context", "no-container-context";
    -ro-style-template-context: "ro-container-context";
}

div.reference {
    -ro-style-template: "L_STYLE_TEMPLATE_CONTAINER_REF" container;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CONTAINER_STYLE";
    -ro-style-template-not-context: "chapter-context", "no-container-context";
    -ro-style-template-context: "ro-container-context";
}

/* Style for Style Templates */

div:not(.nobreak):not(.ro-page-break).float_left,
div:not(.nobreak):not(.ro-page-break).float_right {
    width: 33.3% !important;
    margin-top: 0em !important;
}

div:not(.nobreak):not(.ro-page-break).float_left {
    float: left;
    margin-left: -2px !important;
    margin-right: 0.25cm !important;
    margin-bottom: 0.25cm !important;
}

div:not(.nobreak):not(.ro-page-break).float_right {
    float: right;
    margin-left: 0.25cm !important;
    margin-right: -2px !important;
    margin-bottom: 0.25cm !important;
}

/* image-content related styles */

div:not(.nobreak):not(.ro-page-break).float_left img,
div:not(.nobreak):not(.ro-page-break).float_right img {
    max-width: 100%;
}


/* normal */
div:not(.nobreak):not(.ro-page-break) {
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: -2px;
    border-width: 2px;
    border-style: solid;
    padding: 5px;
    border-color: #919191;
    background-color: #E3E3E3;
}

div:not(.nobreak):not(.ro-page-break).important {
    border-color: crimson !important;
    background-color: transparent !important;
    border-style: dashed !important;
    border-width: 5px !important;
}

div:not(.nobreak):not(.ro-page-break).important::before {
    display: block;
    background-color: crimson;
    content: "Important!";
    color: white;
    font-weight: bold;
    margin: -10px -10px 0 -10px;
    padding: 5px;
}

div:not(.nobreak):not(.ro-page-break).note {
    background-color: lightgoldenrodyellow !important;
    border: none !important;
}

div:not(.nobreak):not(.ro-page-break).note::before {
    display: block;
    background-color: gold;
    content: "Note";
    font-weight: bold;
    margin: -5px -5px 0 -5px;
    padding: 5px;
}

div:not(.nobreak):not(.ro-page-break).reference {
    background-color: lightskyblue !important;
    border: none !important;
}

div:not(.nobreak):not(.ro-page-break).reference::before {
    display: block;
    background-color: steelblue;
    content: "See";
    font-weight: bold;
    margin: -5px -5px 0 -5px;
    padding: 5px;
    color: white;
}

div:not(.ro-page-break) :first-child{
    margin-top: 0 !important;
}

div:not(.ro-page-break) :last-child{
    margin-bottom: 0 !important;
}


/* keep together */
div.nobreak {
    page-break-inside: avoid;
    background: repeating-linear-gradient(135deg, white, white 20px, rgba(255,255,0,0.2) 20px, rgba(255,255,0,0.2) 40px);
    background-position: left top;
}

div.nobreak,
div.nobreak * {
    -ro-context: "no-container-context";
}

@media -ro-pdfreactor {
    div.nobreak {
        background: none;
    }
}


/* chapter */
section,
section * {
    -ro-context: "chapter-context";
}

:not(section) > section > *:first-child {
    font-weight: normal;
    font-size: 2em;
    margin-top: 1em;
    margin-bottom: 0.5em;
    border-bottom: 1pt solid gray;
    -ro-pdf-bookmark-level: 1;
}

:not(section) > section > section > *:first-child {
    text-transform: uppercase;
    font-size: 1.5em;
    margin-top: 1em;
    margin-bottom: 0.5em;
    -ro-pdf-bookmark-level: 2;
}

:not(section) > section > section > section > *:first-child {
    font-weight: bold;
    font-size: 1.2em;
    margin-top: 1em;
    margin-bottom: 0.5em;
    -ro-pdf-bookmark-level: 3;
}

:not(section) > section > section > section > section > *:first-child {
    font-weight: bold;
    font-size: 1em;
    margin-top: 1em;
    margin-bottom: 0.5em;
    -ro-pdf-bookmark-level: 4;
}

section > *:first-child,
section > *:first-child * {
    -ro-context: "chapter-context", "chapter-title-context";
}

section > *:first-child:-ro-no-content {
    color: lightgray;
}

section > *:first-child:-ro-no-content::after {
    content: "Title...";
    margin-left: -0.5ch;
}


/*****************************
 * Element: Images 
 *****************************/

/* * * * * * * * * * * * * * *
 * Mirroring
 * * * * * * * * * * * * * * */

/* Style Templates */

:not(*) {
    -ro-style-template: default inline-element; 
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_IMAGE_MIRRORED"; 
    -ro-style-template-setter-id: "template-set-mirrored-default";
    
}

img.mirrored_horizontal {
    -ro-style-template: "L_STYLE_TEMPLATE_IMAGE_MIRROR_HORIZONTAL" inline-element; 
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_IMAGE_MIRRORED"; 
    -ro-style-template-setter-id: "template-set-mirrored-horizontal";
    
}

img.mirrored_vertical {
    -ro-style-template: "L_STYLE_TEMPLATE_IMAGE_MIRROR_VERTICAL" inline-element;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_IMAGE_MIRRORED";
    -ro-style-template-setter-id: "template-set-mirrored-vertical";
}

img.mirrored_both {
    -ro-style-template: "L_STYLE_TEMPLATE_IMAGE_MIRROR_BOTH" inline-element;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_IMAGE_MIRRORED";
    -ro-style-template-setter-id: "template-set-mirrored-both";
}

:not(*){
    -ro-style-template: default inline-element;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_IMAGE_FLOATED";
    -ro-style-template-setter-id: "template-set-float-default-image";
}

img.float_left {
    -ro-style-template: "L_STYLE_TEMPLATE_IMAGE_FLOAT_LEFT" inline-element;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_IMAGE_FLOATED";
    -ro-style-template-setter-id: "template-set-float-left-image";
}

img.float_right {
    -ro-style-template: "L_STYLE_TEMPLATE_IMAGE_FLOAT_RIGHT" inline-element;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_IMAGE_FLOATED";
    -ro-style-template-setter-id: "template-set-float-right-image";
}

/* Style for Style Templates */

img.mirrored_horizontal {
    -ro-transform: scaleX(-1);
    
}

img.mirrored_vertical {
    -ro-transform: scaleY(-1)
}

img.mirrored_both {
    -ro-transform: scaleX(-1) scaleY(-1)
}

img.float_left, img.float_right {
    margin-top: 0em !important;
}

img.float_left {
    float: left;
    margin-left: 0 !important;
    margin-right: 0.25cm !important;
    margin-bottom: 0.25cm !important;
}

img.float_right {
    float: right;
    margin-left: 0.25cm !important;
    margin-right: 0 !important;
    margin-bottom: 0.25cm !important;
}



/*****************************
 * Element: Tables 
 *****************************/

/* Style Templates */

:not(*) {
    -ro-style-template: default table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-default";
}

table.blue {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_BLUE" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-blue";
}

table.green {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_GREEN" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-green";
}

table.clear {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_CLEAR" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-clear";
}

table.fancy {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_FANCY" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-fancy";
}

table.purple {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_PURPLE" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-chess";
}

table.yellow {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_YELLOW" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-yellow";
}

table.gradient {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_GRADIENT" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-gradient";
}

table.no-border {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_NO_BORDER" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-noborder";
}

table.invisible {
    -ro-style-template: "L_STYLE_TEMPLATE_TABLE_INVISIBLE" table;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_TABLE_THEMES";
    -ro-style-template-setter-id: "template-set-table-style-invisible";
}

/* Table cells */
td {
    -ro-style-template: "L_STYLE_TEMPLATE_CELL_NORMAL" table-cell;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CELL_TYPE" hidden;
    -ro-style-template-setter-id: "template-set-table-cell-type-default";
}

th {
    -ro-style-template: "L_STYLE_TEMPLATE_CELL_HEADER" table-cell;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_CELL_TYPE" hidden;
    -ro-style-template-setter-id: "template-set-table-cell-type-header";
}


/* Styles for Style Templates */
table {
    table-layout: fixed;
    margin-top: 1em; 
    margin-bottom: 1em;
    border-collapse: collapse;
    clear: both;
}

td,
th {
    padding: 5px; 
    border-width: 1px;
    border-style: solid;
}

th {
    font-weight: normal;
    text-aling: left;
}

table,
td,
th {
    border-color: #919191;
}

table tr:nth-child(even) td {
    background-color: #e3e3e3;
}

table.clear tr:nth-child(even) td {
    background-color: none;
}

table.blue,
table.blue td,
table.blue th {
    border: none;
}

table.blue {
    border-spacing: 1pt;
    border-collapse: separate;
}

table.blue tr:nth-child(even) td {
    background-color: lightskyblue;
}

table.blue tr:nth-child(odd) td {
    background-color: lightcyan;
}

table.gradient,
table.gradient td,
table.gradient th {
    border: none;
}

table.gradient {
    border-collapse: separate;
    border-spacing: 0;
}

table.gradient tr td {
    background: linear-gradient(to bottom, #222222 0%, #aaaaaa 100%);
    background-repeat: no-repeat;
    color: white;
}

table.gradient tr td:first-child,
table.gradient tr th:first-child {
    border-top-left-radius: 0.5em;
    border-bottom-left-radius: 0.5em;
}

table.gradient tr td:last-child,
table.gradient tr th:last-child {
    border-top-right-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
}


table.no-border,
table.no-border td,
table.no-border th,
table.invisible,
table.invisible td,
table.invisible th {
    border: none;
}

table.invisible,
table.invisible td,
table.invisible th {
    background-color: transparent !important;
}

/* chess */
table.purple {
    border: none;
}

table.purple td,
table.purple th {
    border: none;
}

table.purple tr:nth-child(even) td {
    background-color: none;
}

table.purple tr:nth-child(even) td:nth-child(even) {
    background-color: rebeccapurple;
    color: white;
    border: none;
}

table.purple tr:nth-child(odd) td:nth-child(odd) {
    background-color: rebeccapurple;
    color: white;
    border: none;
}

/* yellow */
table.yellow td {
    border-color: goldenrod;
}

table.yellow tr:nth-child(even) td {
    background-color: transparent;
}

table.yellow tr:nth-child(odd) td {
    background-color: lightgoldenrodyellow;
}

table.fancy {
    border-collapse: separate;
    border-spacing: 0;
}

table.fancy,
table.fancy td,
table.fancy th {
    border: none;
}

table.fancy tr:nth-child(even) td:nth-child(odd) {
    background-color: #f6f6f6;
}

table.fancy tr:nth-child(odd) td:nth-child(even) {
    background-color: #e3e3e3;
}

table.fancy tr:nth-child(even) td:nth-child(even) {
    background-color: #cccccc;
}

table.fancy tr:nth-child(odd) td:nth-child(odd) {
    background-color: #ffffff;
}


/* th */
table th {
    background-color: #cccccc;
}

table.blue th {
    background-color: steelblue;
}

table.green th {
    background-color: slategray;
    border-color: white;
    border-top-style: dotted;
    border-bottom-style: dotted;
    border-right-color: slategray;
    border-left-color: slategray;
    color: white;
}

table.yellow th {
    background-color: gold;
    border-color: gold;
}


table.purple th {
    background-color: black;
    border-color: black;
    color: white;
}

table.gradient th {
    background: linear-gradient(to bottom, indigo 0%, mediumpurple 100%);
    background-repeat: no-repeat;
    color: white;
}

table.fancy th {
    font-weight: bold;
}

table.fancy tr:nth-child(even) th {
    background-color: mediumaquamarine;
}

table.fancy tr:nth-child(odd) th {
    background-color: aquamarine;
}


/* first/last row */
table thead tr td,
table thead tr th,
table tfoot tr td,
table tfoot tr th {
    background-color: #aaaaaa !important;
}

table.blue thead tr td,
table.blue thead tr th,
table.blue tfoot tr td,
table.blue tfoot tr th {
    background-color: steelblue !important;
}

table.green thead tr td,
table.green thead tr th,
table.green tfoot tr td,
table.green tfoot tr th {
    background-color: forestgreen !important;
    border-color: forestgreen !important;
    border-style: solid !important;
    color: white;
}

table.yellow thead tr td,
table.yellow thead tr th,
table.yellow tfoot tr td,
table.yellow tfoot tr th {
    background-color: goldenrod !important;
    border-color: goldenrod !important;
}


table.purple thead tr td,
table.purple thead tr th,
table.purple tfoot tr td,
table.purple tfoot tr th {
    background-color: black !important;
    border-color: black;
    color: white;
}

table.gradient thead tr td,
table.gradient thead tr th {
    background: linear-gradient(to bottom, deepskyblue 0%, aqua 100%);
    background-repeat: no-repeat;
    color: black;
}

table.gradient tfoot tr td,
table.gradient tfoot tr th {
    background: linear-gradient(to bottom, firebrick 0%, darkorange 100%);
    background-repeat: no-repeat;
    color: white;
}

table.gradient.first-column thead tr td:first-child,
table.gradient.first-column tfoot tr td:first-child,
table.gradient.last-column thead tr td:last-child,
table.gradient.last-column tfoot tr td:last-child {
    background: none !important;
    color: black;
}

table.gradient.first-column thead tr td:nth-child(2) {
    border-top-left-radius: 0.5em;
}

table.gradient.first-column tfoot tr td:nth-child(2) {
    border-bottom-left-radius: 0.5em;
}

table.gradient.last-column thead tr td:nth-last-child(2) {
    border-top-right-radius: 0.5em;
}

table.gradient.last-column tfoot tr td:nth-last-child(2) {
    border-bottom-right-radius: 0.5em;
}

table.fancy thead tr td,
table.fancy thead tr th {
    background: linear-gradient(to bottom, #414141 0%, #1f1f1f 100%);
    background-repeat: no-repeat;
    color: whitesmoke;
}

table.fancy thead tr td:first-child,
table.fancy thead tr th:first-child {
    border-top-left-radius: 5pt;
}

table.fancy thead tr td:last-child,
table.fancy thead tr th:last-child {
    border-top-right-radius: 5pt;
}

table.fancy tfoot tr td,
table.fancy tfoot tr th {
    background: linear-gradient(to bottom, #f5f5f5 0%, #d1d1d1 100%);
    background-repeat: no-repeat;
    border-top: 1pt solid #e7e7e7;
}


/*****************************
 * Element: Document 
 *****************************/

/* Style Templates */

:not(*) {
    -ro-style-template: default document;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_HEADING_NUMBERING";
    -ro-style-template-setter-id: "template-set-heading-numbering-default";
}

body.business {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING_NUMBERING_BUSINESS" document;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_HEADING_NUMBERING";
    -ro-style-template-setter-id: "template-set-heading-numbering-business";
}

body.book {
    -ro-style-template: "L_STYLE_TEMPLATE_HEADING_NUMBERING_BOOK" document;
    -ro-style-template-group: "L_STYLE_TEMPLATE_GROUP_HEADING_NUMBERING";
    -ro-style-template-setter-id: "template-set-heading-numbering-book";
}


/* Styles for Style Templates */

@page {
    counter-reset: h1 0 h2 0 h3 0 chapter1 0 chapter2 0 chapter3 0;
}

h1 {
    counter-increment: h1;
    counter-reset: h2 0 h3 0;
}

h2 {
    counter-increment: h2;
    counter-reset: h3 0;
}

h3 {
    counter-increment: h3;
}

:not(section) > section {
    counter-increment: chapter1;
    counter-reset: chapter2 0 chapter3 0;
    -ro-context: "chapter-context", "chapter-root-context";
}

:not(section) > section > section {
    counter-increment: chapter2;
    counter-reset: chapter3 0;
}

:not(section) > section > section > section {
    counter-increment: chapter3;
}


body section > section > section > section > *:first-child::before {
    content: none !important;
}

body.book section > *:first-child::before {
    content: counter(chapter1, -ro-spelled-out-en-ordinal) " Chapter: ";
    text-transform: capitalize;
}

body.book h1::before {
    content: counter(h1, -ro-spelled-out-en-ordinal) " Chapter: ";
    text-transform: capitalize;
}

body.book section > section > *:first-child::before {
    content: counter(chapter2, upper-roman) ". ";
}

body.book h2::before {
    content: counter(h2, upper-roman) ". ";
}

body.book section > section > section > *:first-child::before {
    content: counter(chapter2, upper-roman) counter(chapter3, lower-alpha) ". ";
}

body.book h3::before {
    content: counter(h2, upper-roman) counter(h3, lower-alpha) ". ";
}


body.business section > *:first-child::before {
    content: counter(chapter1) ". ";
}

body.business h1::before {
    content: counter(h1) ". ";
}

body.business section > section > *:first-child::before {
    content: counter(chapter1) "." counter(chapter2) ". ";
}

body.business h2::before {
    content: counter(h1) "." counter(h2) ". ";
}

body.business section > section > section > *:first-child::before {
    content: counter(chapter1) "." counter(chapter2) "." counter(chapter3) ". ";
}

body.business h3::before {
    content: counter(h1) "." counter(h2) "." counter(h3) ". ";
}

