/* @override http://dslru.local/stylesheets/main.css */

/* *************** */
/* Site-Wide Stuff */
/* *************** */

img, a
{
	margin: 0;
	padding: 0;
	border: none;
}

/* **************************** */
/* All Sections Roughly Defined */
/* **************************** */

html, body
{
	font-size: 13px;
	line-height: 1.5em;
	font-family: 'lucida grande', lucida, verdana, arial, sans-serif;
	background-color: #4f4f4f;
	background-image: url(/images/bg.png);
	background-repeat: repeat-x;
}

div#container
{
	width: 950px;
	margin: 0 auto 0 25px;
	background-image: url(/images/bg_content.png);
	background-position: 0px 200px;
}

div#flash_notice
{
	background-color: #95ff91;
	border: 1px solid #61a65e;
	padding: 4px;
	margin-bottom: 10px;
}

div#flash_error
{
	background-color: #f87069;
	border: 1px solid #df635d;
	padding: 4px;
	margin-bottom: 10px;
}

th .fieldWithErrors
{
	background-color: transparent;
	color: #f87069;
}

.fieldWithErrors
{
	background-color: #f87069;
	padding: 2px;
}

.formError
{
	background-color: #f87069;
	padding: 2px;
	color: white;
}

div#topmenu
{
	height: 95px;
	width: 950px;
	background-image: url(/images/bg_tmenu.png);
	background-repeat: no-repeat;
}

div#tmenulogo
{
	height: 90px;
	width: 90px;
	float: left;
}

div#tmenuitems
{
	width: 625px;
	margin: 40px auto auto 10px;
	float: left;
}

img.tmenu_item
{
	margin: 0 10px;
}

div#tmenusearch
{
	float: right;
	margin: 45px 40px auto auto;
}

div#home,
div#store,
div#profile,
div#class,
div#preview,
div#library,
div#forum,
div#blog,
div#about,
div#search
{
	width: 640px;
	min-height: 700px;
	background-image: url(/images/bg_content.png);
	background-repeat: repeat-y;
	padding: 0 25px 20px 35px;
	vertical-align: top;
	float: left;
/* text-align: justify;	*/
}

div#sidebar
{
	width: 245px;
	vertical-align: top;
	float: right;
	font-size: 11px;
}

div#bottom
{
	width: 950px;
	margin: 0 auto 25px 25px;
	padding: 25px 10px 10px 15px;
	background-image: url(/images/bottom.png);
	background-repeat: no-repeat;
	color: #999;
	font-size: 11px;
	font-weight: bold;
}

div#bottom span.left
{
	float: left;
}

div#bottom span.right
{
	float: right;
	padding-right: 270px;
}

div#bottom span.right a
{
	color: #ccc;
}

div#student_id_card
{
	height: 139px;
	background-image: url(/images/id_card_student.png);
	background-repeat: no-repeat;
}

div#professor_id_card
{
	height: 139px;
	background-image: url(/images/id_card_professor.png);
	background-repeat: no-repeat;
}

div#founder_id_card
{
	height: 139px;
	background-image: url(/images/id_card_founder.png);
	background-repeat: no-repeat;
}

div#id_card_details
{
	float: right;
	width: 150px;
	height: 105px;
	margin-top: 13px;
	margin-right: 40px;
	line-height: 1.25em;
}

div#id_card_details form#new_user_session {
	margin-top: -5px;
}

div#id_card_details ul
{
	padding: 0;
	margin: 0;
}

div#id_card_details li
{
	list-style: none;
	line-height: 1.25em;
}

div#id_card_details img.avatar
{
	height: 48px;
	width: 48px;
	padding: 0;
	margin: 0 5px 5px 0;
	border: none;
	float: left;
}

div#id_card_details input#user_session_username, div#id_card_details input#user_session_password
{
	width: 90%;
}

div#id_card_logout
{
	float: right;
}

/* *********************** */
/*        Pagination       */
/* *********************** */

div#pagination_footer
{
	font-size: small;
	float: right;
	padding: 0 70px 20px 70px;
}

div#forum div.pagination_footer
{
	float: right;
	padding: 0 70px;
}

div#pagination_footer span.disabled,
div#pagination_footer span.prev_page,
div#pagination_footer span.current,
div#pagination_footer span.next_page,
div#pagination_footer a
{
	padding: 0 5px;
	border: none;
}

div#forum div.pagination_footer span.disabled,
div#forum div.pagination_footer span.prev_page,
div#forum div.pagination_footer span.current,
div#forum div.pagination_footer span.next_page,
div#forum div.pagination_footer a
{
	padding: 0 5px;
	border: none;
}

div#forum div.pagination_footer
{
	padding: 0;
}

.pagination a,
.pagination span
{
	padding: .2em .5em;
	display: block;
	float: left;
	margin-right: 1px;
}

.pagination span.disabled
{
	color: #999;
}

.pagination span.current
{
	font-weight: bold;
	background: #2e6ab1;
	color: white;
	border: 1px solid #2e6ab1;
}

.pagination a
{
	text-decoration: none;
	color: #105CB6;
	border: 1px solid #9AAFE5;
}

.pagination a:hover, .pagination a:focus
{
	color: #003;
	border-color: #003;
}

.pagination .page_info
{
	background: #2e6ab1;
	color: #fff;
	padding: .4em .6em;
	width: 22em;
	margin-bottom: .3em;
	text-align: center;
}

.pagination .page_info b
{
	color: #003;
	background: #6aa6ed;
	padding: .1em .25em;
}

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

/* *********************** */
/*      Sidebar Items      */
/* *********************** */

div#sidebar_items
{
	background-image: url(/images/yellow_lined_paper.png);
	background-repeat: repeat-y;
	min-height: 200px;
	padding: 20px;
	color: #666;
}

div#sidebar_items img
{
	border: 1px solid #000;
	margin: 5px 0 20px 0;
}

div#sidebar_items h3
{
	font-size: 11px;
	font-weight: bold;
	line-height: 1.1em;
	padding: 0;
	margin: 0;
}

div#sidebar_items ul
{
	padding: 0;
	margin: 5px 0 20px 0;
}

div#sidebar_items ul li
{
	list-style: none;
}

div#sidebar_bottom
{
	height: 35px;
	background-image: url(/images/sidebar_bottom_stub.png);
	background-repeat: no-repeat;
}

div#sidebar_extend
{
	width: 245px;
	height: 100%;
	background-image: url(/images/sidebar_sub_shadow.png);
	background-repeat: repeat-y;
}

/* *********************************** */
/* Generic Link Stylings and Overrides */
/* *********************************** */

a
{
	text-decoration: underline;
}

a:link
{
	color: #369;
}

a:visited
{
	color: #69c;
}

a:hover
{
	text-decoration: underline;
}

a:visited
{
	
}

a img
{
	text-decoration: none;
}

#sidebar a, 
#sidebar a:link
{
	text-decoration: none;
}

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

/* ********************** */
/* Profile Specific Items */
/* ********************** */

div#profile img#avatar
{
	float: right;
}

div#profile fieldset#details
{
	border: none;
	float: left;
	width: 275px;
}

div#profile fieldset#details p, div#profile fieldset#profile p
{
	padding: 0;
}

div#profile div#details
{
	width: 350px;
	padding: 0;
	font-size: small;
}

div#profile div#details dl
{
	width: 400px;
	padding: 0;
}

div#profile div#details dt
{
	width: 25%;
	text-align: right;
	font-weight: bold;
	padding: 0;
	margin: 0;
	display: block;
	float: left;
}

div#profile div#details dd
{
	padding: 0 0 0 10px;
	margin: 0;
	display: inline;
}

div#profile fieldset#profile
{
	border: none;
	float: right;
	width: 275px;
}

div#profile fieldset#profile textarea
{
	width: 100%;
}

div#profile table#existing_billing
{
	width: 100%;
}

div#profile table#existing_billing th
{
	text-align: right;
	vertical-align: top;
}

div#profile table#billing
{
	width: 100%;
}

div#profile table#billing input[type=text],
div#profile table#billing select
{
	font-size: 16px;
}

div#profile table#billing th
{
	text-align: right;
}

div#profile table#billing input#billing_profile_submit
{
	float: right;
}

div#privacy ul li
{
	line-height: 1.5em;
	padding-bottom: 1em;
}

div#privacy ul li blockquote
{
	padding-bottom: 0;
	margin-bottom: 0;
}

div#messages table,
div#messages_forum_alter table
{
	width: 640px;
	padding: 0 0 25px 10px;
}

div#messages table tr th,
div#messages_forum_alter table tr th
{
	text-align: left;
	text-decoration: underline;
}

div#messages table tr td,
div#messages_forum_alter table tr td
{
	padding: 3px 0;
	vertical-align: top;
	border-bottom: 1px solid #eee;
	border-top: 1px solid #eee;
}

div#messages table tr th.subject,
div#messages_forum_alter table tr th.topic
{
	width: 480px;
}

div#messages table tr th.date,
div#messages_forum_alter table tr th.date
{
	width: 140px;
	text-align: right;
}

div#messages table tr td.date,
div#messages_forum_alter table tr td.date
{
	text-align: right;
	font-size: x-small;
	line-height: 1.25em;
}

div#messages table tr.read td.subject a
{
	background: url(/images/pm_old.png) no-repeat;
	padding-left: 24px;
	text-decoration: none;
	font-size: small;
}

div#messages table tr.unread td.subject a
{
	background: url(/images/pm_new.png) no-repeat;
	font-weight: bold;
	padding-left: 24px;
	text-decoration: none;
}

div#messages table tr td.subject a.sender
{
	padding: 0;
	font-weight: normal;
	text-decoration: none;
	color: #666;
	background: none;
	font-size: x-small;
	font-weight: bold;
}

div#messages_forum_alter table tr td.topic a
{
	text-decoration: none;
}

table#message
{
	width: 100%;
	padding-bottom: 10px;
}

table#message th
{
	vertical-align: top;
	padding-right: 5px;
	text-align: right;
	vertical-align: top;
	width: 20%;
}

table#message tr.body td
{
	border: 1px solid #ddd;
	padding: 5px 20px 0 10px;
	font-size: x-small;
}

table#message tr.body td div#message-body
{
	padding: 0 0 20px 0;
}

/* ********************** */
/* Search                 */
/* ********************** */

div#search table {
	width: 100%;
}

div#search table td.excerpt {
	padding: 0 20px;
}

div#search div#forum-results td.user {
	width: 25%;
} 

div#search div#forum-results th,
div#search div#course-results th {
	text-align: left;
}

div#search div#course-results table th.course-number {
	width: 55px;
}
div#search div#course-results table .title {
	width: 100%;
}
div#search div#course-results table .professor {
	width: 125px;
}
div#search div#course-results table .rating {
	text-align: center;
	width: 55px;
}
div#search div#course-results table .rating img {
	border: none;
}
div#search div#course-results table .price {
	text-align: right;
	width: 85px;
	padding-right: 30px;
}

/* ********************** */
/* Signup/Login           */
/* ********************** */

div#signup-container,
div#login-container {
	width: 400px;
	height: 500px;
	margin-left: auto;
	margin-right: auto;
}

div#signup-container input[type=text],
div#signup-container input[type=password],
div#login-container input[type=text],
div#login-container input[type=password] {
	font-family: Myriad, Verdana, Geneva, sans-serif;
	font-size: 1.0em;
	padding: 4px;
	border: 1px solid #ccc;
	background-color: #fff;
	width: 265px;
}

div#signup-container input[type=submit],
div#login-container input[type=submit] {
	font-size: 1.0em;
}

div#signup-container td,
div#login-container td {
	margin: 0;
	padding: 0;
	text-align: left;
}

div#signup-container th,
div#login-container th {
	height: 1.0em;
	width: 100px;
	text-align: left;
	padding-right: 10px;
}

div#login-container table,
div#signup-container table {
	border-collapse: collapse;
}

