/*==============================================================================

	This css file defines all of the styles needed to display tables for the
	CS red look.
	
	Tables can be:
		- a single cell
		- multiple columns, no headers
		- multiple celled, with headers
		- multiple celled with space breaks between sections
	Table cells can have:
		- white backgrounds, black text
		- dark backgrounds, white text
		- light backgrounds, black text
		- coloured backgrounds, black text
		
	Additional themes may be developed.  Currently:
	
		white = #ffffff
		dark = #666666
		light = #dedede
		coloured = #c4112f

==============================================================================*/

/* Make all tables un-bordered with .5em padding to the right and left
   so that they don't touch the borders of their containing div.
   This was chosen as lots of tables will be rendered inside of a div
   with a coloured background. */
   
.table {
	border: 0; padding: 0 .5em 0 .5em;
}

/* Table header (th) definitions */

	/* Use these header definitions only for single column tables or a right-hand side header, with borders */
	
.table th.heading { 
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 1px solid #000000; background-color: #ffffff;
	text-align: left;
}

.table th.heading_centered {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 1px solid #000000; background-color: #ffffff;
	text-align: center;
}

.table th.heading_light_back {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 1px solid #000000; background-color: #dedede;
	text-align: left;
}

.table th.heading_light_back_centered {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 1px solid #000000; background-color: #dedede;
	text-align: center;
}

.table th.heading_coloured_back {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 1px solid #000000; background-color: #cb5a60;
	text-align: left; color: #ffffff;
}

.table th.heading_coloured_back_centered {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 1px solid #000000; background-color: #cb5a60;
	text-align: center; color: #ffffff;
}

	/* Use these header definitions only for left hand side headers in a multi-column table, with borders */

.table th.heading_left {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; 
	background-color: #ffffff; text-align:left;
}

.table th.heading_left_centered {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; 
	background-color: #ffffff; text-align:center;
}

.table th.heading_left_light_back {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; 
	background-color: #dedede; text-align:left;
}

.table th.heading_left_light_back_centered {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; 
	background-color: #dedede; text-align:center;
}

.table th.heading_left_coloured_back {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; 
	background-color: #cb5a60; text-align:left; color: #ffffff;
}

.table th.heading_left_coloured_back_centered {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; 
	background-color: #cb5a60; text-align:center; color: #ffffff;
}

	/* Use these "no border" definitions for headers in either single or multi-column tables */

.table th.heading_nb {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 0; background-color: #ffffff;
	text-align: left;
}

.table th.heading_centered_nb {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 0; background-color: #ffffff;
	text-align: center;
}

.table th.heading_light_back_nb {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 0; background-color: #cccccc;
	text-align: left;
}

.table th.heading_light_back_centered_nb {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 0; background-color: #dedede;
	text-align: center;
}

.table th.heading_coloured_back_nb {
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; 
	border: 0; background-color: #b5111a;
	text-align: left; color: #ffffff;
}

.table th.heading_coloured_back_centered_nb {
	vertical-align: top; padding: .2cm .5cm .2cm 0; 
	border: 0; background-color: #cb5a60;
	text-align: center; color: #ffffff;
}

/* End of Table Header (th) definitions */

/* Table cell definitions */

	/* Tables cell definitions for tables with headers or cells above this one */
	
		/* Use these cell definitions only for single column tables or a right-hand side cell, with borders */

.table td.cell { /* This is the right hand side cell */ 
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000; border-right: 1px solid #000000;
}

.table td.cell_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000; border-right: 1px solid #000000;
	text-align:center;
}

.table td.cell_light_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000; border-right: 1px solid #000000;
}

.table td.cell_light_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000; border-right: 1px solid #000000;
	text-align:center;
}

.table td.cell_coloured_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000; border-right: 1px solid #000000;
}

.table td.cell_coloured_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000; border-right: 1px solid #000000;
	text-align:center;
}
	
		/* Use these cell definitions only for left hand side cells in a multi-column table, with borders */

.table td.cell_left { 
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000;
}

.table td.cell_left_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000;
	text-align:center;
}

.table td.cell_left_light_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000;
}

.table td.cell_left_light_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000;
	text-align:center;
}

.table td.cell_left_coloured_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000;
}

.table td.cell_left_coloured_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 1px solid #000000; border-bottom: 1px solid #000000;
	text-align:center;
}

	/* Table cell definitions for tables without headers or no cells above this one (the top row) */
	
		/* Use these cell definitions only for single column tables or a right-hand side cell, with borders */

.table td.cell_toprow {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border: 1px solid #000000;
}

.table td.cell_toprow_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border: 1px solid #000000;
	text-align:center;
}

.table td.cell_toprow_light_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border: 1px solid #000000;
}

.table td.cell_toprow_light_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border: 1px solid #000000;
	text-align:center;
}

.table td.cell_toprow_coloured_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border: 1px solid #000000;
}

.table td.cell_toprow_coloured_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border: 1px solid #000000;
	text-align:center;
}
	
		/* Use these cell definitions only for left hand side cells in a multi-column table, with borders */

.table td.cell_left_toprow { 
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000;
}

.table td.cell_left_toprow_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000;
	text-align:center;
}

.table td.cell_left_toprow_light_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000;
}

.table td.cell_left_toprow_light_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000;
	text-align:center;
}

.table td.cell_left_toprow_coloured_back {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000;
}

.table td.cell_left_coloured_toprow_back_centered {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000;
	text-align:center;
}
	
	/* Right or left hand side cells, no borders */

.table td.cell_nb { /* This is the right hand side cell */ 
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 0;
}

.table td.cell_centered_nb {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #ffffff;
	border-left: 0;
	text-align:center;
}

.table td.cell_light_back_nb {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 0;
}

.table td.cell_light_back_centered_nb {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-left: 0;
	text-align:center;
}

.table td.cell_coloured_back_nb {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 0;
}

.table td.cell_coloured_back_centered_nb {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #cb5a60; color: #ffffff;
	border-left: 0;
	text-align:center;
}

.table td.cell_bottom_border {  
	vertical-align: top; padding: .1cm .5cm .1cm .5cm; background-color: #ffffff;
	border-bottom: thin solid #000000;
}

.table td.cell_light_back_bottom_border {  
	vertical-align: top; padding: .2cm .5cm .2cm .5cm; background-color: #dedede;
	border-bottom: thin solid #000000;
}

.table td.margin_top {  
	margin-top: 1em;
}
/* End of table cell definitions */

