/* Links */

a:link {
	color: #3333AA;
	cursor: pointer;
	text-decoration: none;
}

a:visited {
	color: #222299;
	text-decoration: none;
}

a:hover {
	color: #6666EE;
	text-decoration: underline;
}

:focus {
	outline: 1px dotted #999999;
}


body {
	background: #55555C;
	color: #333333;
	font-family: 'helvetica neue', helvetica, arial, sans-serif;
	font-size: 76%;
	line-height: 1.6em;
}

dl, p, ol, ul {
	margin-bottom: 1em;
}

strong {
	font-weight: bold;
}

/* Lists */

dt {
	font-weight: bold;
}

dd {
	margin-left: 1em;
}

ul {
	list-style-type: disc;
}

li {
	margin-left: 1.6em;
}

/* Lists on the edit user page */
ul.email_addresses,
ul.point_values {
	list-style-type: disc;
	margin-left: 9em;
}

ul.email_addresses li,
ul.point_values li {
	margin-bottom: 4px;
	margin-left: 0;
	position: relative; /* Allows for absolute positioning inside */
}

ul.point_values {
	list-style-type: none;
}

ul.point_values li {
	padding-left: 3.5em;
}

ul.point_values .value {
	position: absolute;
	left: 0;
	top: 0;
	width: 3em;
}

.point_values .value_field {
	width: 2.2em;
}

/* Headlines */

h1, h2, h3 {
	font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans;
	font-weight: bold;
	line-height: 1.6em;
	margin-bottom: 0.6em;
	margin-top:	1em;
}

h1 {
	background-color: #dbdbdf;
	background-image: -moz-linear-gradient(top, #dbdbdf, #cbcbcf);
	background-image: -webkit-gradient(linear, 0 0, 0 100, from(#dbdbdf), to(#cbcbcf));
	border-bottom: 1px solid #bbbbbb;
	font-size: 1.96em;
	letter-spacing: -1px;
	margin: 0px;
	padding: 12px 18px;
	text-shadow: rgba(255,255,255,0.9) 1px 1px 1px;

	-webkit-border-radius: 7px;
	-webkit-border-bottom-left-radius: 0;
	-webkit-border-bottom-right-radius: 0;
	-moz-border-radius: 7px;
	-moz-border-radius-bottomleft: 0;
	-moz-border-radius-bottomright: 0;
}

h2 {
	border-bottom: 1px solid #DDDDDD;
	font-size: 1.4em;
	font-weight: bold;
}

h3 {
	font-size: 1em;
	border-bottom: 1px solid #DDDDDD;
}


/* Forms
-------- */

form.check_box {
	display: inline;
}

form dt,
.form dt {
	clear: left;
	float: left;
	font-weight: bold;
	margin-top: 4px;
	text-align: right;
	padding-right: 1em;
	width: 8em;
}

form dd,
.form dd {
	margin-left: 9em;
	margin-bottom: 1em;
}
	
dd .value {
	padding-top: 4px;
}

.meta dd {
	padding-top: 4px;	
}

label {
	font-weight: bold;
}

input[type=password],
input[type=text],
textarea {
	border: 1px solid #999999;
	padding: 5px;
	width: 66%;
}

select {
	margin: 5px 0;	
}

input[type=password] {
	width: 33%;
}

input.date {
	width: 8em;
}

textarea {
	height: 10em;
}

.errorExplanation,
.formError {
	color: #DD0000;
}

.fieldWithErrors input {
	border-color: #DD0000;
}

input.open_id_url,
input#open_id_url {
	background: url(/images/icons/openid.png) 2px 50% no-repeat;
	padding-left: 24px;
}

dd.check_box {
	padding-top: 4px;
}

dd.check_box label {
	font-weight: normal;
}

dd.check_box input {
	margin-left: 0;
}

/* General classes */

.help {
	background-color: #ffff77;
	border: 2px solid #ffcc33;
	margin: 2em;
	padding: 2em 2em 1em 2em;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
}

.meta {
	color: #999999;
	font-size: 0.9em;
}

/* Layout structure
------------------- */

#container {
	font-size: 1em;
	margin-left: 1em;
	margin-right: 0em;
}


/* Header and navigation */

#header {
	background: #422401 url(/images/wood.jpg);
	border-bottom: 1px solid #160701;
	margin: 0 0 1em 0;
	overflow: hidden;
	padding: 0.2em 1em;
	text-shadow: rgba(0,0,0,0.7) -1px -1px 1px;
}

#header a:link,
#header a:visited {
	color: #FFFFFF;
	font-weight: bold;
	padding: 0.5em;
	text-decoration: none;
}

#header a:hover {
	text-decoration: underline;
}

#logo {
	padding: 0 0.5em;
}

#logo a {
	display: block;
	float: right;
}

#navigation {
	color: #dbdbdf;
	float: left;
	padding: 0.5em;
}

#navigation ul {
	margin: 0;
	padding: 0;
}

#navigation ul li {
	display: inline;
	margin: 0;
}

.notice {
	background-color: #321401;
	background-color: rgba(0,0,0,0.4);
	border-top: 1px solid #160701;
	border-left: 1px solid #160701;
	border-bottom: 1px solid #644802;
	border-right: 1px solid #644802;
	clear: both;
	color: #FFFF99;
	text-align: center;
	margin: 1em 0 0.5em 0;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	text-shadow: none;

}

.notice .contents {
	margin-left: auto;
	margin-right: auto;
	padding: 0.5em 1em;
	text-align: center;
}

#header .notice .contents a:link,
#header .notice .contents a:visited {
	color: #ffffff;
}

.demo {
	background-color: #321401;
	background-color: rgba(0,0,0,0.4);
	color: #FFFF99;
}

.demo .contents {
	background: url(/images/icons/warning_32x32.png) 1em 1.5em no-repeat;
	padding: 1em 1em 1em 55px;
	text-align: left;
}

.demo .contents strong {
	color: #ffffff;
}

#main {
	background-color: #FFFFFF;
	color: #333333;
	float: left;
	margin-bottom: 1em;
	min-height: 33em; /* Attempt to make reasonably sure it extends to at least the height of the sidebar with no projects */
	position: relative; /* Allows for absolute positioning inside */
	width: 72%;

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

	-moz-box-shadow: rgba(0,0,0,0.7) 0 0 2em;
	-webkit-box-shadow: rgba(0,0,0,0.7) 0 0 2em;
}

#main .contents {
	margin: 18px;
}


/* Sidebar */

#sidebar {
	color: #999999;
	float: left;
	padding-top: 2px; /* This and 18px margin-top on sidebar elements ensures alignment with the headline */
	width: 27%;
}

#sidebar a {
	color: #dddddd;
}

#sidebar a:hover {
	color: #FFFFFF;
}

#sidebar h2 {
	border-bottom: none;
	color: #d9cfc4; /* div.calendar { background-color } */
	font-size: 1em;
	position: relative; /* Allow for absolute positioning inside */
}

#sidebar h2 a {
	font-weight: normal;
	position: absolute;
	right: 0;
}

/* Generic sidebar elements */
#sidebar .element {
	background-color: #7788cc;
	border: 2px solid #7788cc; /* This is needed to ensure the size stays the same when hoverclass is applied */
	padding: 7px 16px; /* 9px - border width and 18px - border width */
	margin-left: 18px;
	margin-right: 18px;
	margin-top: 18px;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}

#sidebar .element a {
	display: block;
}

#sidebar a.element {
	display: block;
}

#sidebar .actions .element {
	/* Connected elements generally act directly on the current resource */
	background-color: #d9cfc4;
	border: 0;
	border-bottom: 1px solid #aaaaaa;
	border-top: 1px solid #eeeeee;
	color: #333333;
	margin: 0;
	padding-left: 34px; /* .element{padding-left} + .element{margin-left} */
	text-shadow: 1px 1px 1px #fff;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
}

#sidebar .actions .element:hover {
	color: #000000;
	text-decoration: underline;
}

#sidebar .actions .element:first-child {
	margin-top: 18px;
	border-top: 0;
	-moz-border-radius-topright: 10px;
	-webkit-border-top-right-radius: 10px;
}

#sidebar .actions .element:last-child {
	border-bottom: 0;
	-moz-border-radius-bottomright: 10px;
	-webkit-border-bottom-right-radius: 10px;
}

/* The sidebar content element */
#sidebar .content h2 {
	margin-top: 0.6em;
}

#sidebar .content a {
	display: inline;
}

#sidebar div.projects {
	margin: 18px;
}

#sidebar ul.projects {
	list-style-type: none;
}

#sidebar .projects li {
	background-color: #523411; /* #sidebar .element { background-color } */
	border: 2px solid #523411; /* This is needed to ensure the size stays the same when hoverclass is applied */
	padding-left: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

#sidebar .projects li .amount {
	border: none;
}

#sidebar .views {
	margin: 18px;
	overflow: hidden;
}

#sidebar .views div  {
	padding: 0;
}

#sidebar .views div a.element {
	margin: 0;
	text-align: center;
}

#sidebar .views a {
	/* Embossed buttons */
	border-top: 1px solid #95a6d9;
	border-bottom: 1px solid #596abf;

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

#sidebar .views div:first-child a {
	-moz-border-radius-topleft: 10px;
	-moz-border-radius-topright: 10px;
	-webkit-border-top-left-radius: 10px;
	-webkit-border-top-right-radius: 10px;
	border-top: 2px solid transparent;
}

#sidebar .views div:last-child a {
	-moz-border-radius-bottomleft: 10px;
	-moz-border-radius-bottomright: 10px;
	-webkit-border-bottom-left-radius: 10px;
	-webkit-border-bottom-right-radius: 10px;
	border-bottom: 2px solid transparent;
}

#sidebar .signup {
	background-color: #449944;
	border-color: #449944;
}

#sidebar .signup a {
	color: #FFFFFF;
	font-weight: bold;
}

#sidebar .login {
	background-color: #523411;
	border-color: #523411;
}

#sidebar .login a {
	display: block;
	width: 100%;
}

#sidebar .login a:link {
	color: #CCCCCC;
}


/* The calendar */

div.calendar {
	background-color: #d9cfc4;
	margin-bottom: 18px;
	margin-top: 18px;
	padding: 18px;	
	border-bottom: 1px solid #eeeeee;
	border-top: 1px solid #aaaaaa;
}

#sidebar .calendar a {
	color: #333333;
}

table.calendar {
	width: 100%;
}

table.calendar td,
table.calendar th {
	color: #333333;
	text-align: center;
}

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

table.calendar tr.week a {
	background-color: transparent;
	border: 2px solid transparent;
	color: #333333;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-decoration: none;
	width: 24px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

table.calendar tr.week a:hover {
	border: 2px solid #666666;
	text-decoration: underline;
}

table.calendar td.current a {
	background-color: #FFFFFF;
}

table.calendar tr.week .previous_month a,
table.calendar tr.week .next_month a {
	color: #666666;
}


/* Footer */

#footer {
	clear: both;
	color: #999999;
	font-size: 80%;
	margin: 0 2em;
	padding: 0 10px 1em;
}

#footer a {
	color: #333333;
	text-decoration: underline;
}


/* Move action buttons inside the headline */

#main .actions {
	position: absolute;
	right: 18px; /* == h1 { padding-right } */
	top: 1.9em;
}

.actions a,
.filters a {
	border: 1px solid transparent;
	padding: 2px 10px;
  -webkit-border-radius: 8px;
	-moz-border-radius: 4px;
}

.actions a:hover,
.filters a:hover {
	background-color: #666666;
	color: #FFFFFF;
	text-shadow: 1px 1px 1px #333333;
	text-decoration: none;
}


/* Setup the filters bar */
#main .filters {
	background-color: #dbdbdf;
	padding: 0 9px 0.5em 18px; /* left and right padding equals #main .contents { margin } - .filters a { padding } */
}

.filters .selected {
	background-color: #999999;
	border-left: 1px solid #888888;
	border-top: 1px solid #888888;
	color: #FFFFFF;
	text-shadow: 2px 2px 1px #555555;
	text-decoration: none;	
}


/* Drag'n'drop goodness */

.drop_target {
	/* Prepare drop targets for the hover style */
	border: 2px solid transparent;
}

.calendar .hover a, /* Hovering over dates in the calendar */
.element.hover, /* Hovering over generic sidebar elements */
.contents .project .drop_target.hover, /* Hovering over link to projects in the content area */
#sidebar .projects .hover {/* Hovering over projects in the sidebar */
	background-color: #9999DD !important;
	border-color: #333399 !important;
	color: #FFFFFF !important;
}

/* Tasks and projects in the main content area */

.project h2 {
	margin-bottom: 0;
	-webkit-border-radius: 7px; /* == .task{border-radius} */
	-moz-border-radius: 7px;
}

.projects .project,
.task {
	background-color: #FFFFFF; /* Makes the dragged and ghosted image solid */
	border: 1px solid #dbdbdf;
	margin-bottom: 2px;
	margin-left: 0;
	padding: 6px 6px;
	position: relative; /* Allows for absolute positioning inside */
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
}

.task .project a {
	/* Prepare the project link style for being a drop target */
	background-color: transparent;
	border: 2px solid transparent;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	padding: 2px 0.5em;
}

.task:hover {
	background-color: #f2f2f4;
	border-color: #dbdbe0;
}

.task:hover .meta {
	background: #f2f2f4;
	background: -moz-linear-gradient(left top, rgba(242,242,244,0), #f2f2f4 2em);
	background: -webkit-gradient(linear, 0 0, 10% 0, from(rgba(255,255,255,0)), to(#f2f2f4));
}

/* This is the checkbox for a task */
.task form {
	float: left;
	margin-right: 6px;
}

.task .title {
	/* Keep the title on one line */
	overflow: hidden;
	white-space: nowrap;
}

.task .title .details {
	color: #999999;
	font-size: 0.9em;
	line-height: 1;
	margin-bottom: 2px;
}

.task .title a {
	font-weight: bold;	
}

.task .title .details a {
	font-weight: normal;	
}

.task .meta {
	background: #ffffff;
	background: -moz-linear-gradient(left top, rgba(255,255,255,0), #ffffff 2em);
	background: -webkit-gradient(linear, 0 0, 10% 0, from(rgba(255,255,255,0)), to(#ffffff));
	color: #333333;
	font-size: 1em;
	padding-left: 2em;
	position: absolute;
	right: 6px;
	top: 6px;
}

.task .value,
.point_values .value {
	display: block;
	font-weight: bold;
	float: right;
	text-align: center;
	width: 2.6em;
	height: 1.6em;

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


.value .value {
	/* Tasks that have not been assigned a value */
	background-color: #dddddd;
	font-weight: normal;
}

.value10 .value { background-color: #4dff40; }
.value9 .value { background-color: #71ff40; }
.value8 .value { background-color: #9fff40; }
.value7 .value { background-color: #ceff40; }
.value6 .value { background-color: #f2ff40; }
.value5 .value { background-color: #fff140; }
.value4 .value { background-color: #ffcd40; }
.value3 .value { background-color: #ff9f40; }
.value2 .value { background-color: #ff7140; }
.value1 .value { background-color: #ff4c40; }

.task div.project {
	border-left: 1px solid #dbdbdf; /* == .project { border-color } */
	float: left;
	padding-left: 1em;
}

/* The project name inside of a task */
.task div.project {
	/* Makes room for the points value */
	margin: 0;
	padding-left: 0.2em;
	right: 3.3em;
}

.task div.project a {
	font-weight: normal;
}

/* The details of archived projects */
.project ul.details {
	list-style-type: none;
 	position: absolute;
	right: 0em;
	top: 6px;
}

.project ul.details li {
	border-left: 1px solid #dbdbdf; /* == .project { border-color } */
	float: left;
	margin: 0;
	padding: 0 1em;
}

.project ul.details li:first-child {
	border-left: none;
}
/* Login stuff */

div.login {
	position: relative;
}

.toggle {
	position: absolute;
	top: 0;
	right: 0;
	line-height: 2.56em;
}


/* InPlaceEditing */

.value.hover {
	background-color: #FFFF99;
}


/* The one-line Add task form */
.add_task form {
	overflow: hidden;
	padding: 12px 18px 0 18px;
}

.add_task input {
	width: 98%;
}

.add_task .advanced {
	float: right;
}

dd {
	list-style-type: disc;
}


/* TODO: Place these styles in their proper places */


/* Fixes for Internet Explorer 7 with no adverse effect on other browsers */

.project h2,
.task {
	min-height: 1px; /* Fixes IE7 issue where border-top was 1px smaller than it should be */
}
