* {
  margin: 0;
  padding: 0;
}

/* General Style Info */

body {
  font-family: arial,sans-serif;
  background-color: #002c2f;
  padding-bottom: 15px;
}

a {
  color: #002c2f;
  text-decoration: underline;
}

a:hover {
  color: #002c2f;
  text-decoration: none;
}

a img {
  border: none;
}

h1, h2, h3, h4 {
  font-weight: normal;
}

h2 {
  font-size: 150%;
  margin: 5px 0px 10px 0px;
  padding: 8px 0px 5px 10px;
  font-weight: normal;
  background-color: #e5e5f5;
  border-top: 1px solid blue;
  border-color: #7164a2;
}

h3 {
  font-size: 150%;
  margin: 15px 0px 10px 0px;
  padding: 8px 0px 5px 10px;
  font-weight: normal;
  background-color: #e5e5f5;
  border-top: 1px solid blue;
  border-color: #7164a2;
}

h4 {
  color: #0a0084;
  font-weight: bold;
  display: inline;
}

p {
  line-height : 140%;
  text-indent: 2em;
}

ol {
  margin-left: 30px;
}

ul {
  margin-left: 30px;
}

table {
  text-align: center;
}

/* User Info bar */

.user_info {
  margin-bottom: 2px;
  height:  100px;
  padding: 3px 10px;
  color: #e9f2c7;
  -moz-border-radius-bottomright: 10px;
  -moz-border-radius-bottomleft: 10px;
  -webkit-border-bottom-right-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  background-image: url(/img/title.gif);
}

.user_info a {
  color: #e9f2c7;
  text-decoration: underline;
  font-weight: normal;
}

.user_info a:hover {
  color: #e9f2c7;
  text-decoration: none;
  font-weight: normal;
}

.user_info table tr td {
  padding: 0px;
}

/* Menu Bar */
#menu {
  text-align: right;
  margin-top: 15px;
}

#menu a span{
  position: relative;
  z-index: 1;
  font-size: 90%;
  padding: 5px 10px;
  background: #ccc;
  text-align: center;
  text-decoration: none;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  cursor:pointer;
  border: 0px;
}

#menu a span:hover {
  background: #fff;
}

#menu a span.current {
  background: #fff;
}

/* Form */

form {
  padding: 0;
}

input, textarea {
  margin: 0px 0px 5px 0px;
  padding: 2px;
  font-size: 120%;
  width: 99%;
}

input[type=submit] {
  width: auto;
}

input[type=button] {
  width: auto;
}

input[type=checkbox] {
  clear: left;
  float: left;
  margin: 0px 6px 7px 2px;
  width: auto;
}

input[type=file] {
  font-size: 100%;
}

/* Main Content */

#container {
  width: 800px;
  margin: auto;
}

#content {
  position: relative;
  z-index: 2;
  margin-top: 4px;
  padding: 15px 30px;
  background-color: #fff;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-bottomright: 10px;
  -moz-border-radius-bottomleft: 10px;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  line-height: 130%;
}

#footer {
  margin-top: 25px;
  text-align: center;
  color:  #ffffff;
  font-size: 13px;
  font-weight: normal;
}

#footer a {
  color:  #ffffff;
}

.navpath {
  margin-bottom: 3px;
}

/* Problem Set Box */

.pset_0:hover, .pset_1:hover {
  background-color: #cbc9fa;
  cursor: pointer;
}

.pset_0 {
  margin: 5px 0px;
  padding: 15px;
  background-color: #dadbe9;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.pset_1 {
  padding: 15px;
  background-color: #e5e5f5;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

table.pset_info {
  padding: 0px;
  margin: 0px;
}

table.pset_info td.logo {
  padding: 0px 15px 0px 0px;
  text-align: center;
  vertical-align: middle;
  width: 200px;
}

table.pset_info td.desc {
  padding: 0px;
  text-align: left;
  vertical-align: middle;
}

table.pset_info td.desc a {
  text-decoration: none;
  color: inherit;
}  
  
.psetname {
  color: #00843c;
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 10px;
}

.psetname2 {
  color: #0a0084;
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 10px;
}

/* Part Box */

.part_0:hover, .part_1:hover {
  background-color: #cbc9fa;
  cursor: pointer;
}

.part_0 {
  margin: 5px auto;
  width: 400px;
  padding: 15px;
  background-color: #dadbe9;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.part_1 {
  margin: 0px auto;
  width: 400px;
  padding: 15px;
  background-color: #e5e5f5;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.part_0 a, .part_1 a {
  text-decoration: none;
  color: inherit;
}

/* Problem Box */

.problem_box {
  margin: 10px 0px;
  padding: 15px;
  background-color: #cbc9fa;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  line-height: 150%;
}

.problem_box ol.choices {
  margin-left: 40px;
}

/* Solution Box */

.solution_0 {
  margin: 5px 0px;
  padding: 15px;
  background-color: #a9fe9e;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.solution_1 {
  padding: 15px;
  background-color: #bdfcc0;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.solution_desc {
  margin-top: -5px;
  margin-bottom: 5px;
  font-size: 80%;
  color: #7f7f7f;
}

/* Question Box */

.question_0 {
  margin: 5px 0px;
  padding: 15px;
  background-color: #dadbe9;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.question_1 {
  padding: 15px;
  background-color: #e5e5f5;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.question_0 p, .question_1 p {
  text-indent: 0em;
}

.question_desc {
  margin-top: -5px;
  margin-bottom: 5px;
  font-size: 80%;
  color: #7f7f7f;
}

/* Nested Box */
.nested {
  margin: 10px 0px 0px 15px;
  padding: 10px 0px 10px 10px;
  border-left: 2px solid #94acbf;
}

/* Tables */

table td {
  vertical-align: top;
  padding: 10px 5px;
}

table td.content {
  vertical-align: top;
  padding: 10px 15px;
  text-align: left;
}

table td.content a {
  text-decoration: none;
  line-height: 150%;
}

.problemtable {
  width: 100%;
}

.problemtable th {
  text-align: center;
  background-color: #ccc;
  padding: 7px 0px; 
}

.problemtable .num_answer {
  font-size: 36px;
  vertical-align: middle;
  color: #00843c;
  padding: 15px 0px;
}

.problemtable .num_question {
  font-size: 36px;
  vertical-align: middle;
  color: #003f83;
  padding: 15px 0px;
}

.problemtable .content a {
  color: inherit;
  size: inherit;
  text-decoration: none;  
}

tr.listtable_0:hover, tr.listtable_1:hover {
  background-color: #cbc9fa;
  cursor: pointer;
}

tr.listtable1_0 .content:hover, tr.listtable1_1 .content:hover {
  background-color: #cbc9fa;
  cursor: pointer;
}

tr.listtable_0, tr.listtable1_0 {
  background-color: #dadbe9;
}

tr.listtable_1, tr.listtable1_1 {
  background-color: #e5e5f5;
}

/* Comment */
.reply_bar {
  margin-top: 10px;
}

.reply_box {
  display: none;
}

.spoiler {
  display: none;
}

.hide_box {
  display: none;
}

/* Paginator */
.paginator {
  margin: 4px 0px 4px 5px;
}

.paginator .current {
  color: #00843c;
  font-weight: bold;
}

.paginator a {
  color: black;
  font-weight: normal;
}

/* Feedback box */

.error_box {
  margin: 5px 0px 15px 0px;
  padding: 10px;
  border: solid 1px #dd3c10;
  background-color: #ffebe8;
  text-align: center;
  color: red;
}

.attention_box {
  margin: 5px 0px 15px 0px;
  padding: 10px;
  border: solid 1px #e2c822;
  background-color: #fff9d7;
  text-align: center;
  color: black;
}

.success_box {
  margin: 5px 0px 15px 0px;
  padding: 10px;
  border: 1px solid #386a2a;
  background-color: #aeffaf;
  text-align: center;
  color: #386a2a;
}

.error_text {
  color: #900;
  font-weight: bold;
}

/* Home */

.sidebar {
  position: relative;
  float: right;
  width:  210px;
}

.sidebar .login {
  padding: 10px;
  font-size: 14px;
  background-color: #efeff5;
  border: 1px solid #d1d1eb;
}

.sidebar_item {
  font-size: 14px;
}

.sidebar_item ul {
  font-size: 14px;
  list-style-type: disc;
  margin-left: 10px;
  list-style-position: inside;
}

.sidebar input {
  margin: 3px 0px 6px 0px;
  font-size: 100%;
  padding: 2px;
  width: 180px;
}

.sidebar input[type=submit] {
  margin-top: 6px;
  width: auto;
}

.sidebar input[type=checkbox] {
  clear: left;
  float: left;
  width: auto;
}

.quote_box {
  font-size: 14px;
  padding-top: 28px;
  background: url(/img/ql.gif) no-repeat;
}

.quote_source {
  font-size: 14px;
  margin-top: 3px;
  padding-top: 28px;
  background: url(/img/qr.gif) no-repeat 173px 0;
  text-align: right;
}

.welcome {
  font-size: 28px;
  padding: 30px 0px;
  color: #0a0084;
}

.home_content {
  width:  500px;
}

.home_content p {
  margin-top: 10px;
  line-height: 160%;
}

/*navigation*/
.navigator {
  width:  130px;
}

.navigator div {
  padding: 7px 7px 7px 10px;
}

.navigator div.current {
  background-color: #cbc9fa;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-bottomleft: 5px;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
}

.main_content {
  position: relative;
  float: right;
  width: 605px;
  min-height: 300px;
  padding:  15px;
  border-style: solid;
  border-color: #cbc9fa;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.magic{
  clear: both;
}