/*

	Full stylesheet for Winston

	License:    see LICENSE packaged with Winston
	            the same license counts for each module separately

	Desc:       This is the full Winston stylesheet. It is recommended
	            to only take the parts you need in orde to minimize the
	            amount of CSS in your project.

	Author:     Johan Ronsse <johan.ronsse@gmail.com>
	Version:    0.4

	---------------------------------------------------------------------

	Includes the following modules:
	
	* reset                 * typography.uncommon  * forms
	* general               * datagrid             * avatars
	* layout                * links                * simplepagination
	* typography.common     * buttons

*/

/*

	Name:       Winston reset module [0.4]
	Desc:       Resets commonly used HTML elements

*/

body, form, ol, ul, dl, li, dt, dd, td, th ,tr, h1, h2, h3, h4, h5, h6, p, pre, blockquote, address { margin: 0; padding: 0; }
ol, ul { list-style: none; }
img { border:0; }
fieldset { margin: 0; padding: 0; border: 0; }
input, select, textarea { font-size: 100%; vertical-align: middle; }
table { border-collapse: collapse; border-spacing: 0; empty-cells: show; }
th { text-align: left; }
a:focus { overflow: hidden; }

/*

	Name:       Winston general module [0.4]
	Desc:       A set of general purpose classes

*/


/* General purpose classes */

/* Clearfix */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.hidden { display: none; }
.block { display: block; }

.floatLeft { float: left; }
.floatRight { float: right; }

.p6 { padding: 6px; }
.p12 { padding: 12px; }
.p24 { padding: 24px; }
.p0, .nopad { padding: 0; }

.noBorder { border: none !important; }
.border { border: 1px solid #C7C7C7; }

.mute { color: #666; }
.serif { font-family: Georgia, serif; }
.uc { text-transform: uppercase; }
.sC { font-variant: small-caps; }
.lC { text-transform: lowercase; }

.rc {
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}

.helpTxt {
	font-family: Arial, sans-serif;
	font-size: 11px;
	color: #666;
}

/*

	Name:       Winston layout module [0.4]
	Desc:       Styles for creating layouts, both grid style and % style
	            Styles for image alignment on the grid
	            Styles for centering anything

*/

/*
	Grid based column system 
*/

.colsGrid:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.colsGrid .col {
	float: left;
	margin-right: 24px;
}

/* (72px columns/24px gutter/10 columns) */
.col-1 { width: 72px; }
.col-2 { width: 168px; }
.col-3 { width: 264px; }
.col-4 { width: 360px; }
.col-5 { width: 456px; }
.col-6 { width: 552px; }
.col-7 { width: 648px; }
.col-8 { width: 744px; }
.col-9 { width: 840px; }
.col-10 { width: 936px; }
.colLast { margin-right: 0 !important; }

/*
	Simple column system
*/

.cols:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.cols .col {
	float: left;
	margin: 0;
}

/* Two columns */
.col-1d2,
.col-2d4 { width: 50%; }

/* Three columns*/
.col-2d3 { width: 66.66%; }
.col-1d3 { width: 33.33%; }

/* Four columns */
.col-1d4 { width: 25%; }
.col-3d4 { width: 75%; }

/* Five columns */
.col-1d5 { width: 20%; }
.col-2d5 { width: 40%; }
.col-3d5 { width: 60%; }
.col-4d5 { width: 80%; }

/*
	Spacing divs to fit inside columns:
	gutter width and 1/2 gutter width
*/
.cols .spacingLeft { margin-left: 24px; }
.cols .spacingLeftHalf { margin-left: 12px; }
.cols .spacingRight { margin-right: 24px; }
.cols .spacingRightHalf { margin-right: 12px; }
.cols .spacingBothHalf { margin-right: 12px; margin-left: 12px; }

/*
	Image aligment classes
	Based on grid
*/

img.alignleft {
	float: left;
	padding: 0 24px 12px 0;
}

img.alignright {
	float: right;
	padding: 0 0 12px 24px;
}

/*
	Center anything* horizontally
	(not really anything, see test_suite layout)
*/

.centerHorizontallyWrap {
	width: 100%;
	overflow: hidden;
}

.centerHorizontally {
	float: left;
	position: relative;
	left: 50%;
}

.centerHorizontallyInner {
	position: relative;
	left: -50%;
}

/* Center anything vertically */

.centerVerticallyWrap {
	height: 100%;
	overflow: hidden;
}

.centerVertically[class] {
	display: table;
	position: static;
}

.centerVerticallyInner {
	display: table-cell;
	vertical-align: middle;
	position: static;
}

/*

	Name:       Winston typography.common module [0.4]
	Desc:       Provides basic typography to start a project with
	            These elements are used on almost any website.
*/

/* Typography and text styles */

body {
	font: 300 13px Arial, sans-serif;
	line-height: 1.5; /* Safari 2.0.4 */
	color: #454545;
}

/* Headings */
h1, h2, h3 {
	line-height: 1.1;
	font-family: Helvetica, Arial, sans-serif;
}

	h1, h2, h3, h4 { 
		font-weight: 700;
		color: #000;
		padding: 0 0 12px;
	}

h2 {
	font-size: 22px;
}

h3 {
	font-size: 16px;
}

h4 {
	font-size: 13px;
}

p {
	padding: 0 0 12px;
}

strong {
	font-weight: 700;
	color: #000;
}

em {
	font-style: italic;
}

.content ol {
	padding: 0 0 12px 28px;
}

.content ul {
	list-style: disc;
	padding: 0 0 12px 24px;
}

.content ol {
	list-style-type: decimal;
}

	.content ul ul,
	.content ol ul,
	.content ol ol {
		padding-bottom: 0;
	}

	.content ul ol {
		padding: 0 0 0 24px;
	}

	.content ol ol {
		list-style: upper-roman;
	}

	.content ol ol ol {
		list-style: lower-roman;
	}
	
.content dl {
	padding: 0 0 0 12px;
}

.content dt {
	font-weight: 700;
	color: #000;
}

.content dd {
	padding: 0 0 12px;
}

blockquote, q {
	font-style: italic;
	font-family: Georgia, serif;
}

blockquote {
	padding: 0 0 0 12px;
}

/* Horizontal rules */

hr {
	height: 1px;
	background: #CCC;
	border: 0;
	font-size: 0;
	margin: 12px 0 24px;
	line-height: 0;
}

/*

	Name:       Winston typography.uncommon module [0.4]
	Desc:       This file styles elements that are not commonly used by non-web-semanticists (e.g. <pre> and <abbr>).
*/

abbr {
	cursor: help;
}

/* Keyboard shortcuts */

kbd {

	background: #EEE;
	border-color: #CCC #AAA #888 #BBB;
	border-style: solid;
	border-width: 1px 3px 4px 2px;
	color: #000;
	font-weight: 700;
	padding: 5px;
	font-size: 11px;
	margin: 0 2px;
	white-space: nowrap;

	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;

}

/* Code examples */
code, pre {
	font-family: Consolas, Monaco, "Courier New", monospace;
	font-size: 12px;
	line-height: 1.15;
}

/* Block code, preformatted spaces */
pre {
	padding: 6px 12px;
	background: #F0F0F0;
	margin: 0 0 12px;
}

/* Sub and superscript */
sub, sup {
	line-height: 0;
	/* Fix sub & sup fucking with the baseline */
}

/* Deleted and inserted text */

del {
	color: #666;
}

ins {
	text-decoration: none;
	color: #000;
	background: #F0F0F0;
}

/*

	Name:       Winston datagrid module [0.4]
	Desc:       Basic styles for styling tabular data

*/

table.datagrid  {
	font-family: Arial, sans-serif;
	width: 100%;
	margin: 0 0 12px;
}

table.datagrid td,
table.datagrid th {
	padding: 6px 12px;
}

	table.datagridSmall td,
	table.datagridSmall th {
		padding: 6px;
		font-size: 11px;
	}

table.datagrid th {
	font-weight: 700;
	color: #000;
	line-height: 1.2;
	text-align: left;
}

table.datagrid tr.rowOdd { background: #FFF; }
table.datagrid tr.rowEven { background: #EEE; }

table.datagrid th {
	border: 1px solid #CCC;
	background: #F5F5F5;
}

table.datagrid td {
	border: 1px solid #CCC;
}

/*

	Name:       Winston links module [0.4]
	Desc:       Link styles: pick the ones you need

*/

/* Regular border style links */

a { text-decoration: none; border-width: 0 0 1px 0; border-style: solid; border-color: #FFF; }
a:link { border-color: #A8B6E5; color: #002BB8; }
a:visited { border-color: #AEB5CE; color: #112773; }
a:hover, a:active { border-color: #B1C1F7; color: #1A4CEF; }
a:focus { border-color: #B1C1F7; color: #1A4CEF; }

/*
	Regular border style links, 50% opacity (fake)
	Dependency: Regular border style links
*/

.halfmute a:link, a.halfmute:link { color: #A7A7FB; border-color: #DEDEFF; }
.halfmute a:visited, a.halfmute:visited { color: #6C82CC; border-color: #CFC2FF; }
.halfmute a:hover, .halfmute:active, .halfmute:focus,
a.halfmute:hover, a.halfmute:active, a.halfmute:focus { color: #B1C1F7; border-color: #1A4CEF; }

/*
	Greyed out style links
	Dependency: Regular border style links
*/

.mute a:link { color: #9C9C9C; border-color: #E3E3E3; }
.mute a:visited { color: #7B7B7B; border-color: #D3D3D3; }
.mute a:hover, a.mute:active, a.mute:focus { color: #6AAEED; border-color: #CEE4F9; }

/*
	No underlines links: for areas that are clearly navigational
	Dependency: Regular border style links
*/

.noUnderlines a:link,
.noUnderlines a:visited,
.noUnderlines a:hover,
.noUnderlines a:active
.noUnderlines a:focus {
	border-color: #FFF;
}

	.colorInverse .noUnderlines a:link,
	.colorInverse .noUnderlines a:visited,
	.colorInverse .noUnderlines a:hover,
	.colorInverse .noUnderlines a:active
	.colorInverse .noUnderlines a:focus {
		border-color: #000;
	}

.swapUnderlines a:link,
.swapUnderlines a:visited {
	border-color: #FFF;
}

.swapUnderlines a:hover,
.swapUnderlines a:active
.swapUnderlines a:focus {
	color: #1A4CEF;
	border-bottom: 1px solid #B1C1F7;
}

/*

	Name:       Winston buttons module [0.4]
	Desc:       Styles for the buttons component

*/

/* Clearfix */

.buttonHolder:after,
.buttonHolderRight:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* Buttons */

a.button:link,
a.button:visited {
	height: 22px;
	line-height: 22px;
	border: none !important;
	white-space: nowrap;
	text-decoration: none;
	color: #287BC8 !important;
}

a.button:link span,
a.button:visited span {
	font-size: 11px;
	font-weight: 700;
}

a.button * {
	background-image: url(../images/buttons/button.png);
	background-repeat: no-repeat;
	cursor: pointer;
	float: left;
	height: 100%;
}

	a.button:link span,
	a.button:visited span {
		background-position: center top;
	}

	a.button:hover span,
	a.button:active span,
	a.button:focus span {
		background-position: center -22px;
	}

	a.button:link b,
	a.button:visited b {
		background-position: 0 0;
	}

	a.button:hover b,
	a.button:active b,
	a.button:focus b {
		background-position: 0 -22px;
	}

	a.button:link i,
	a.button:visited i {
		background-position: top right;
	}

	a.button:hover i,
	a.button:active i,
	a.button:focus i {
		background-position: right -22px;
	}
	
	a.button i:after,
	a.button b:after {
		content: ".";
	}

/* Standard side width */
a.button b,
a.button i {
	width: 7px;
	text-indent: -9000px;
	display: block;
}

	/* Width with icon on the left side */
	a.buttonIconLeft b {
		width: 22px;
	}
	
		/* Add icon hooks here */

	/* Width with icon on the right side */
	a.buttonIconRight i {
		width: 22px;
	}
	
		/* Add icon hooks here */

/* Button positioning */

.buttonHolder .button {
	float: left;
	padding-right: 6px;
}
.buttonHolderRight .button {
	float: right;
	padding-left: 6px;
}

/*

	Name:       Winston Form styles module [0.4]
	Desc:       Basic form styling system

*/

label {
	font-family: Arial, sans-serif;
}

input.inputText,
input.inputSubmit,
textarea {
	font-size: 12px;
	padding: 1px;
	font-family: Arial, sans-serif;
}

input.inputSubmit, button {
	color: #000;
	overflow: visible;
	/* Fix "ridiculously long buttons" in IE6 and IE7 */
}

textarea {
	line-height: 1.4;
	max-width: 100%;
}

/* Don't try to improve selects too much */
select, option {
	font-family: Arial, sans-serif;
	font-size: 12px;
}

/* Forms with a winstonForm class get special treatment */

.winstonForm label {
	display: block;
}

.winstonForm ul {
	padding: 0 0 12px;
	/* Same as padding of <p> element */
}

.winstonForm ul label {
	display: inline;
}

	.winstonForm .horizontal label {
		float: left;
		clear: left;
		width: 120px;
		font-weight: 700;
	}

	.winstonForm .inputList li {
		position: relative;
		padding: 0 0 0 24px;
	}

		.winstonForm .inputList li input.input-radio,
		.winstonForm .inputList li input.input-checkbox,
		.winstonForm .inputList li input.checkbox {
			position: absolute;
			left: 0;
			top: 0;
		}

/*
	Form: error and success handling
	Block messages
*/

.errorMessage {
	color: #E2001A;
	padding: 0 0 2px 0;
	font-family: Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
}

.formSuccess {
	color: #008A0D;
	background: #CFC;
	padding: 12px;
	border: 1px solid #008A0D;
	margin: 0 0 12px;
}

/*

	Name:       Winston avatars module [0.4]
	Desc:       Styles for the avatars component

*/


.avatar {
	/* Default size is 48x48 */
	width: 48px;
	height: 48px;
	background: #FFF;
	overflow: hidden;
	position: relative;
	background: url(../images/defaultAvatar.gif) no-repeat;
}

.avatar a img {
	display: block;
}

	.avatar a {
		display: block;
	}

.avOverlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0; left: 0;
}

	.av24, .av24 img { width: 24px; height: 24px; }
	.av48, .av48 img { width: 48px; height: 48px; }
	.av96, .av96 img { width: 96px; height: 96px; }
	.av128, .av128 img { width: 128px; height: 128px; }

	.av24 .avOverlay { background: url(../images/avatars/av24_overlay.png) no-repeat; }
	.av48 .avOverlay { background: url(../images/avatars/av48_overlay.png) no-repeat; }
	.av96 .avOverlay { background: url(../images/avatars/av96_overlay.png) no-repeat; }
	.av128 .avOverlay { background: url(../images/avatars/av128_overlay.png) no-repeat; }
	
/*

	Name:       Winston Simple pagination module [0.4]
	Desc:       Basic styles for the simple pagination component

*/

/* Simple pagination */

.simplePagination li {
	float: left;
	font-size: 11px;
	padding: 0 0 0 6px;
	height: 22px;
	line-height: 22px;
}

.simplePagination li a:link,
.simplePagination li a:visited,
.simplePagination li span {
	font-weight: 700;
	padding: 0 5px;
	height: 20px;
	line-height: 20px;
	display: block;
	float: left;
	border: 1px solid #FFF !important;
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
	border-radius: 1px;
}

.simplePagination li span {
	color: #9C9C9C;
}

.simplePagination li a:hover,
.simplePagination li a:active,
.simplePagination li a:focus {
	background: #E3E8F7;
}

#container .simplePagination li.next a,
.simplePagination li.next span {
	padding-right: 14px;
}

.simplePagination li.next a:link,
.simplePagination li.next a:visited {
	background: #FFF url(../images/simplepagination/sPNext.gif) no-repeat right -3px;
}

.simplePagination li.next a:hover,
.simplePagination li.next a:active,
.simplePagination li.next a:focus {
	background: #E3E8F7 url(../images/simplepagination/sPNext.gif) no-repeat right -29px;
}

#container .simplePagination li.previous a,
.simplePagination li.previous span {
	padding-left: 14px;
}

.simplePagination li.previous a:link,
.simplePagination li.previous a:visited {
	background: #FFF url(../images/simplepagination/spPrev.gif) no-repeat 0 -3px;
}

.simplePagination li.previous a:hover,
.simplePagination li.previous a:active,
.simplePagination li.previous a:focus {
	background: #E3E8F7 url(../images/simplepagination/spPrev.gif) no-repeat 0 -29px;
}

.simplePagination li.next span { background: #FFF url(../images/simplepagination/sPNext.gif) no-repeat right -55px; }
.simplePagination li.previous span { background: #FFF url(../images/simplepagination/sPPrev.gif) no-repeat 0 -55px; }