/* ------- app colors 
purple bold: #200D81
purple weak: #54508D
purple weakest: #ECE5FF
purple alternative: #63548B
grey primary: #D3DCD8
grey secondary: #e5e5e6 
cornsilc: #FFF8DC
green: #00BF00
green weak: #F1F9F1 
red: #DA0710
---------------*/

body {
  background: #5A4C46;
  font-family: Verdana, sans-serif;
}

a, a:visited {
  color: #54508D;
  border-bottom: 1px dotted #54508D;
  text-decoration:none;
  background-color: 0;
}

a:hover, a:visited:hover {
  color: #200D81;
  border-bottom: 1px solid #200D81;
  text-decoration:none;
  background-color: 0;
}

.container_12 {
  background-color: #5A4C46;
  margin-top: 5px;
}

.main_content {
  background-color: #fff;
}

img a {
  border-bottom:0;
}

a img {
  border-bottom: 0;
}

/* ===============================
		::: TYPOGRAPHY :::
=============================== */

body, p, td {
  font-size: 12px;
  font-weight:normal;
}

p {
  line-height: 1.5em;
  margin: 1em 2em 0 2em;
}

pre {
  font: 11px Verdana, sans-serif;
  text-align:left;
  line-height: 1.25em;
}

h3 {
  color: #200D81;
  font-size: 14px;
  margin: 1em 0 0.5em 1em;
}

h4 {
  color: #666;
  font-size: 14px;
}

.summary h3 {
  margin: 1em 0.75em;
  margin-right: 3.5em;
  background-color: #63548B;
  color: #fff;
  padding: 0 0 0.15em 0.5em;
}

.summary_twocolumn h3 {
  margin: 1em 0;
  background-color: #63548B;
  color: #fff;
  padding: 0 0 0.15em 0.5em;
}

p.top-page_message {
  margin: 0.5em 0 1em 10em;
  color: #666;
}

a.block_link {
  border: 1px solid #63548B;
  color: #63548B;
  background-color: #ECE5FF;
  padding: 0.25em;
}  

a.block_link:hover {
  background-color: #FFF8DC;
}

em {
  font-weight:bold;
  color: #00BF00;
  font-style:normal;
}

em.subtle {
  color: #63548B;
}

em.message {
  font-size: 14px;
}

.class_full_tag {
  color: #DA0710;
  font-weight:bold;
}

/*===== BLOCK ELEMENTS ==========*/

#header {
  height: 130px;
  margin:  0;
  width: 100%;
  background: url(../images/ccr_logo.gif) top left no-repeat;
}

img.corner {
  float:right;
}

#header h1 {
  text-indent: -9999px;
}

#header h1 a {
  text-decoration:none;
  border-bottom:0;
}

#header h2 {
  font-size: 12px;
  color: #200D81;
  border-bottom: 2px solid #200D81;
  margin: -35px 30px 0 140px;
  text-align:left;
}

#header h3 {
  font-size: 16px;
  color: #63548B;
  border-top: 0;
  background-color: #fff;
  margin: 0 0 0 140px;
  width:auto;
}

h3.details {
  font-size: 16px;
  font-family: Georgia, "Times New Roman", sans-serif;
  font-style: italic;
  color: #200D81;
  margin-top: 0.25em;
  background-color: #fff;
  text-align:left;
}


div#footer {
  width: 960px;
  height: 70px;
  padding:0;
	background: #5A4C46 url(../images/footer.gif) top center no-repeat;
	margin: 0 auto;
}

div#footer .site_info {
  text-align: center;
  padding-top: 40px;
  color: #D3DCD8;
}

/* ===============================
		::: NAVIGATION MENUS :::
=============================== */

/* ======== Primary Nav =======*/

div#menu {
  padding: 0;
  float:right;
}

div#menu ul {
  list-style: none;
  display: block;
  margin: 10px 0 0 0;
  float: right;
}

div#menu ul li {
  float:left;
	margin: 0;
	font: bold 1em Arial;
	color: #54508D;
}

div#menu ul li a {
	color: #200D81;
	border-bottom:0;
	padding: 5px 10px;
}

div#menu ul li a:hover {
	background-color: #54508D;
	color: #fff;
	padding: 5px 10px;
}

/* ======== Secondary Nav =======*/

div#user_links {
 float:right;
 margin: 5px 0 0 0; 
 background-color: #5A4C46;
}

div#user_links ul {
 list-style: none;
 display:block;
 margin-bottom: -3px;
 float:right;
}

div#user_links ul li {
 display:inline;
 font-size: 11px;
 border-right: 1px solid #D3DCD8;
 padding-right: 1.15em;
 margin-left: 0.75em;
}

div#user_links ul li.current {
  color: #fff;
  font-weight:bold;
 }  

div#user_links ul li.last {
  border-right: 0;
}

div#user_links ul li a {
  color: #D3DCD8;
  text-decoration: none;
  border-bottom:0;
}  

div#user_links ul li a:hover {
  color: #fff;
  text-decoration: none;
  border-bottom:0;
  background-color:0;
}

/* ======== page/object/resource links =======*/

div#resource_links {
  float:right;
  clear:left;
  margin: -60px -10px 0 0;
/*  background-color:  #ECE5FF;*/
/*  padding: 0.5em;*/
  width:160px;
}

div#resource_links ul {
  list-style: none;
  margin:0;
}

div#resource_links li {
  display:inline;
  line-height: 1.5em;
  margin:0;
  padding:0 0 0.5em 1em;
/*  border-right: 1px solid #200D81;*/
}  

div#resource_links li.last {
  /*  border-right: 0; */
}

/* ======== Admin Dashboard =======*/

ul.dashboard_menu {
  list-style:none;
  margin: 0;
}

ul.dashboard_menu li {
  margin: 0 0 1em 0;
}

ul.dashboard_menu li a {
  color: #200D81;
  font-size: 12px;
  font-weight:bold;
  text-decoration:none;
}

ul.dashboard_menu li a:hover {
  font-size: 12px;
  font-weight:bold;
  text-decoration:none;
}

/* ======= pagination links ====== */
 
div.pagination {
  padding: 0.5em 0;
  margin: 0.5em 0;
  text-align:center;
  clear:both;
}

.pagination .disabled {
  border:1px solid #666;
  padding: 0.25em 0.5em;
  color:#666;
  background-color: #f2f2f2;
  font: 12px Verdana, Arial, sans-serif;
}

.pagination .current {
  padding: 0.25em 0.5em;
  color:#FFF8DC;
  background-color: #200D81; 
  border:1px solid #666;
  font: 12px Verdana, Arial, sans-serif;
}

.pagination a, .pagination a:visited {
  padding: 0.25em 0.5em;
  color: #200D81;
  background-color: #ECE5FF; 
  border:1px solid #666;
  font: 12px Verdana, Arial, sans-serif;
}

.pagination a:hover {
  background-color:#54508D;
  border:1px solid #666;
  color: #fff;
  text-decoration:none;
  font: 12px Verdana, Arial, sans-serif;
}

/* ===============================
		::: FORMS :::
=============================== */

form {
  margin: 1em 5em;
}

legend {
  color: #54508D;
  font-size: 14px;
}

form label {
  float: left;
  display:block;
  text-align:right;
  width: 12em;
  color: #666;
  font-size: 12px;
  padding-right: 0.5em;
}

input {
  text-align:left;
}

form select {
  margin-top: -0.15em;
}

input.submit {
  margin-left: 15em;
  text-align:center;
}

textarea {
  height: 250px;
  font: 11px Verdana, Arial, sans-serif;
}

textarea.shorter {
  height: 50px;
}

fieldset {
  border: 1px solid #D3DCD8;
  padding-top:0;
}

fieldset ul {
  list-style: none;
  margin-bottom:0;
}

fieldset li {
  margin-bottom: 0.5em;
}

p.em_form {
  font-size: 14px;
  font-weight:bold;
  color: #200D81;
  text-align:left;
  margin: 0.5em 0 0.5em 10em;
}

/* search form */

form#search_form  {
  width:98%;
  margin: 0 auto;
  background-color: #FFF8DC;
  border: 1px solid #e5e5e6;
  padding: 1em 0 0 0;
  overflow:auto;
}

form#search_form ul {
  float:left;
  list-style:none;
  margin:0;
  padding:0;
  padding-left: 1em;
  padding-bottom: 0.5em;
}

form#search_form li {
  display:block;
  margin: 0.5em 0;
  padding:0;
}

form#search_form label {
    display:block;
    text-align:right;
    width: 12em;
    color: #666;
    font-size: 11px;
  }

form#search_form input#search_submit {
  text-align:center;
}

form#search_form option {
  background-color: #fff;
  font-size: 11px;
  padding: 0 0.25em;
}

form#search_form input {
  font-size: 11px;
}

form#search_form #search_controls {
  float:left;
  clear:left;
  margin: 0 0 1em 12em;
}

*:first-child+html form#search_form #search_controls {
  margin: 0 0 0 6.5em;
  padding-bottom: 1em;
}

ul.table_tabs {
  list-style:none;
  text-align:right;
  margin: 1em 0.85em 1em -1em;
  padding: 0.25em 0 0 0;
  overflow:visible;
}

ul.table_tabs li {
  display:inline;
}

ul.table_tabs li img {
  margin-bottom: -0.25em;
}

ul.table_tabs li a {
  font-size: 13px;
  font-weight:bold;
  border-bottom:0;
  background-color: #63548B;
  color: #e5e5e6;
  padding: 1em 2em;
}

ul.table_tabs li a:hover {
  color: #ffc;
  background-color: #00BF00;

}


fieldset.table {
  margin: 2em 1em;
  padding:0;
  background-color: #fff;
}

fieldset legend {
  padding: 0 1em;
  margin: -1em 0 0 0.75em;
  color: #5A4C46;
  background-color: #fff;
  border: 1px solid #D3DCD8;
  border-bottom:0;
}

fieldset.table table {
  margin-top: 0.5em;
}  

div.action_button {
  float:right;
  margin-right: 5em;
}

td div.action_button {
  float:none;
  margin:0;
}

form.button-to  {
  margin:0;
  text-align:center;
}

form.button-to input {
  text-align:center;
}

fieldset.table form.button-to input {
  float:left;
  margin: 0.5em 0 0.5em 2em;
}

fieldset.table p {
  clear:left;
  margin: 0.5em 0 0.5em 2em;
}

/* ===============================
		::: FORM ERROR EXPLANATIONS :::
=============================== */

#error_messages {
  position: absolute;
  width: 400px;
  /* left: 30%;  */
  /* top: 40%;   */
  text-align: center;
}

* html #error_messages {
/* value only for IE6 */
  position: absolute;
}

div.fieldWithErrors {
  margin:0;
  padding:0;
}

div.fieldWithErrors input,  div.fieldWithErrors select, div.fieldWithErrors textarea {
  border: 2px solid #c00;
}

div.fieldWithErrors input {
  text-align:left;
}

form .fieldWithErrors label {
    float: left;
    display:block;
    text-align:right;
    width: 14em;
    color: #666;
    font-size: 12px;
    padding-right: 0.5em;
}

#errorExplanation {
  width: 400px;
  border: 2px solid #c00;
  padding: 7px;
  padding-bottom: 0;
  margin: 0 auto;
  background-color: #f0f0f0;
  text-align:center;
}

#errorExplanation h2 {
  text-align: center;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  font-size: 12px;
  margin: -7px;
  background-color: #c00;
  color: #fff;
}

#errorExplanation p {
  color: #333;
  margin: 0.25em 0 0 0;
  padding: 5px;
}

#errorExplanation ul {
  margin-left: 2em;
}  

#errorExplanation ul li {
  font-size: 12px;
  list-style: square;
  text-align:left;
}

/* ===============================
		::: TABLES :::
=============================== */

table a, table a:visited, table a:hover, table a:visited:hover {
  border-bottom:0;
}

table a:hover, table a:visited:hover {
    color: #00BF00;
}

table {
  width: 98%;
  margin: 0 auto;
  border: 1px solid #ccc;
  margin-bottom: 1em;
  clear:both;
}

th, td {
  border: 1px solid #ccc;
  padding: 3px 5px;
  text-align: center;
  line-height: 1em;
}

th {
  background-color: #D3CEC8;
  color: #54508D;
  font-size: 12px;
}

td {
  line-height: 1.25em;
}

th.row_title, td.row_title {
  text-align: left;
}

td.description {
    font-size: 11px;
    vertical-align:top;
    text-align:left;
}

tr.odd td {
  background-color: #fff;
}

tr.even td {
  background-color: #ECE5FF;
}

tr.private td {
  color: #999;
}

tr:hover td {
  background-color: #FFF8DC;
}

.action_icons {
  text-align: center;
  vertical-align:middle;
}

.action_icons form {
  padding-bottom: 0.5em;
}

/* ===============================
		::: REGISTRATIONS/SHOW :::
=============================== */
div.summary {
  margin: 1em 2em;
  clear:both;
}

div.summary h4 {
  font-size: 14px;
  color: #63548B;
  border-bottom: 1px solid #63548B;
  margin-bottom: 0.5em;
}

div.summary p {
  margin: 0.5em 0;
  clear:left;
}

div.summary label {
  width: auto;
  color: #333;
}

div.summary li {
  padding-bottom: 0.5em;
}

div.summary_twocolumn {
  width: 45%;
  margin: 0 1em;
  float:left;
}

div.narrow {
  width: 25%;
}

div.register_button {
  clear: left;
  margin: 0 0 0 1em;
  padding-top: 2em;
}

div.register_button a {
  background-color:  #54508D;
  padding: 0.5em;
  color: #fff;
}

div.register_button a:hover {
  background-color:  #ECE5FF;
  padding: 0.5em;
  color: #54508D;
  border: 1px solid #54508D;
}

p .private {
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  line-height: normal;
  background-color: #DA0710;
  padding: 0.15em 0.5em;
}

p .registered_tag a {
  color: #00BF00;
  font-size: 10px;
  font-weight: bold;
  line-height: normal;
  background-color: #F1F9F1;
  padding: 0.5em 0.75em;
  margin: 0 0 0 1em;
  border: 1px solid #00BF00;
  float:right;
}

p .registered_tag a:hover {
  color: #F1F9F1;
  background-color: #00BF00;
  border: 1px solid #00BF00;
}

div.registration_list h2 {
  font-size: 16px;
  font-weight:bold;
  color: #200D81;
  margin: 1em 1em 0 0.75em;
  border-top: 2px solid #200D81;
}

ul.action_links {
  list-style:none;
  float:right;
  clear:left;
  margin: -1em 1em 0.5em 0;
}

ul.action_links li {
  display:inline;
  border-left: 1px solid #666;
  margin:0;
  padding:0;
  padding-left: 0.75em;
  padding-right: 0.5em;
}

ul.action_links li.first {
  border-left: 0;
  padding-right: 0.5;
}

ul.action_links li.signin a {
  padding: 0 0 0 1.75em;
  background: url(/images/icon_signin.gif) top left no-repeat;
}

ul.action_links li.credits a {
  padding: 0 0 0 1.25em;
  background: url(/images/icon_checkmark.gif) top left no-repeat;
}

.payment_details a {
  padding: 0 0 0 1.75em;
  background: url(/images/icon_payment.gif) top left no-repeat;
}

div.stationery {
  background: url(/images/bg_stationery.gif) top left repeat;
  padding: 0 0 0.05em 0;
  margin: 1em 0 0.5em 0;
  overflow:auto;
}

div.user_header {
  margin-bottom: 0.5em;
  padding: 0.5em;
}

div.user_header h3  {
  background-color: #c8e6c5;
/*background-color: #54508D;*/
  padding:0.25em 0.5em;
  margin: 0.25em 0.5em 1em 0.5em;
}

div.user_header h3 a {
  color: #200D81;
}

div.user_header p {
  margin-left: 1em;
  font-size: 11px;
}

div#register_for_provider {
  width:390px;
  border: 1px solid #e5e5e6;
  background-color: #FFF8DC;
  margin: 0 0 0 -4.5em;
  padding-bottom: 0.75em;
  float:left;
  clear:both;
}

div#register_for_provider input#provider_name {
  float:left;
  margin: 0 0.5em 0 0;
}

div#register_for_provider input#registration_submit {
  float:right;
  margin: 0 0.5em 0 1em;
}


/* ===============================
		::: LISTS :::
=============================== */

ul.bulleted_list {
  margin: 0.5em 0 0.5em 2em;
}

div.abbreviation_key {
  float:left;
  clear:both;
  border: 3px solid #e2e2e2; 
  padding: 0 1em 0.5em 1em;
  margin: 0 1.5em 0 1em;
}

div.abbreviation_key div.key_list {
  float:left;
  clear:right;
}
  
div.abbreviation_key div.key_list h5 {
  font-size: 11px;
  color: #666; 
  margin:0;
  margin-bottom: 0.5em;
  padding:0;
  padding-top: 0.5em;
}

div.abbreviation_key div.key_list ul {
  margin:0;
  padding-bottom: 0.5em;
  padding:0;
}
  
div.abbreviation_key div.key_list li {
  font-size: 10px;
  margin:0;
  margin-left: 1em;
  padding:0;
  padding-right: 2em;
}

ul.snapshot {
  margin: 1em 0 0 0;
  padding: 1em;
  list-style-type:none;
  background-color: #FFF8DC;
}

ul.snapshot li {
  padding: 0 0 1em 1.35em;
  margin: 0.5em;
  font-size: 12px;
  background: url(/images/bullet_disc.gif) top left no-repeat;
/*  border-bottom: 1px solid #200D81;*/
}

ul.snapshot li.last {
  border-bottom: 0;
  padding-bottom:0;
}
/* ===============================
		::: MISC DIVS :::
=============================== */

div.new_link {
  margin: 1em 0 0.25em 0.75em;
  font-size: 12px;
  font-weight:bold;
}

div.new_link a, .new_link a:visited {
  border-bottom:0;
}

div.new_link a:hover {
  color: #00BF00;
  border-bottom:0;
}

div.page_new_link {
  float:right;
  margin-top: 0.25em;
}


div#instructors {
  margin-left: 11.5em;
}

div#instructors input {
  text-align:center;
}

*:first-child+html div#instructors {
  margin-left: 6em;
}

div.instructor {
  background-color: #FFF8DC;
  margin: 0.5em 0;
  padding:  0 0.25em 0.15em;
  font-size: 12px;
  font-weight:normal;
}

div#cancellation_policy {
  background-color: #FFF8DC;
  margin: 0 2em;
}

/* use on divs that otherwise align or float left */
.right {
  float:right;
  padding-right: 1em;
  margin-right: 1em;
}

/* use on divs that otherwise align or float right */
.left {
  float:left;
}

/* use where you do not ever want line-breaks in text, such as phone numbers */
.nowrap {
  white-space:nowrap;
}

p.payment_status {
  text-align:center;
  font-size: 11px;
  color: #666;
  margin:0;
  padding:0;
  white-space:nowrap;
}

/* ===============================
		::: APP-WIDE NOTICES :::
=============================== */

/*#flash_container { height: 15px; margin-right:7px; text-align: center; font-weight: 700; color: #000;}*/
#flash_message { background-color: #FFF8DC; color:#fff; height: 20px; text-align: center; font-size: 12px; font-weight: 700; color: #000; margin: 0 2em 0 11.5em;}
#flash_notice { background-color: #5EC669; height: 20px; text-align: center; font-size: 12px; font-weight: 700; color: #fff; margin: 0 2em 0 11.5em;}
#flash_error { background-color: #DA0710; height: 20px; text-align: center; font-size: 12px; font-weight: 700; color: #fff; margin: 0 2em 0 11.5em;}


#universal_ajax_activity_indicator {
  position: fixed;
  top: 0;
  left: 0;
  width: 90px;
  height:auto;
  padding: 0.15em 0.5em;
  background: #ffc;
  color: #000;
  font-weight:bold;
  z-index:1;
}