body {
  font-size: 0.75em;
  font-family: Helvetica, Arial, sans-serif; }

input, textarea, select, option, optgroup {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 1em; }

strong {
  font-weight: bold; }

/* Page header */
div#header {
  color: white;
  background-color: #2d2d2d; }

div#user-info {
  padding: 0.5em 3em 0em 3em;
  text-align: right;
  line-height: 1.5em; }
  div#user-info a {
    color: white;
    font-weight: bold; }
    div#user-info a.logout {
      color: #ff3333; }

div#org-info {
  padding: 0em 1.5em;
  font-size: 2em; }
  div#org-info span#org-name {
    font-size: 1.25em; }
  div#org-info span#job-name {
    color: #ff9900; }

div#hubtree-power {
  padding-left: 4em;
  padding-bottom: 1em;
  font-style: italic; }
  div#hubtree-power a.hubtree {
    color: white;
    font-style: normal;
    font-weight: bold;
    text-decoration: none; }
    div#hubtree-power a.hubtree:hover {
      text-decoration: underline; }

/* Menu */
ul.menu li {
  display: inline; }
  ul.menu li a {
    text-decoration: none; }
    ul.menu li a:hover {
      text-decoration: underline; }

div.menu-0 {
  padding: 0em 3em;
  height: 2em; }
  div.menu-0 ul.menu li {
    float: left;
    padding: 0em 1em;
    line-height: 2em;
    -moz-border-radius: 0.25em 0.25em 0 0;
    -webkit-border-radius: 0.25em 0.25em 0 0; }
    div.menu-0 ul.menu li.active {
      background-color: #e0e0e0; }
      div.menu-0 ul.menu li.active a {
        font-weight: bold;
        color: black; }
    div.menu-0 ul.menu li a {
      color: white; }

div.menu-1 {
  clear: both;
  padding: 0.5em 3em 0em 3em;
  height: 2em;
  background-color: #dddddd; }
  div.menu-1 ul.menu li {
    float: left;
    padding: 0em 1em;
    line-height: 2em;
    -moz-border-radius: 0.25em 0.25em 0 0;
    -webkit-border-radius: 0.25em 0.25em 0 0; }
    div.menu-1 ul.menu li.active {
      background-color: white;
      font-weight: bold; }
      div.menu-1 ul.menu li.active a {
        color: black; }
    div.menu-1 ul.menu li a {
      color: black; }

div.menu-2 {
  padding: 0.5em 3em 0em 3em;
  background-color: white; }
  div.menu-2 ul.menu li {
    float: left;
    padding: 0em 1em;
    line-height: 2em;
    -moz-border-radius: 0.25em;
    -webkit-border-radius: 0.25em; }
    div.menu-2 ul.menu li.active {
      background-color: #333333;
      font-weight: bold; }
      div.menu-2 ul.menu li.active a {
        color: white; }
    div.menu-2 ul.menu li a {
      color: #333333; }

div#main {
  clear: both;
  margin: 0em 4em 3em 4em;
  line-height: 1.5em; }

div#page-header h1 {
  margin-top: 0.5em;
  margin-bottom: 1em;
  font-size: 2em;
  font-weight: bold;
  line-height: 1em; }

div#content h2 {
  margin-top: 1em;
  margin-bottom: 0.5em;
  font-size: 1.5em;
  font-weight: bold; }
div#content p {
  margin-top: 0.5em;
  margin-bottom: 0.5em; }

div#notification {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  text-align: center;
  white-space: nowrap; }
  div#notification div#notice {
    margin: 0em auto;
    padding: 0.1em 1em;
    border: 0.1em solid #cccc66;
    background-color: #ffcc00;
    color: black;
    font-weight: bold; }
  div#notification div#empty {
    padding: 0.1em 1em;
    border: 0.1em solid white; }

div#error {
  padding: 0.25em 1em;
  margin-bottom: 0.5em;
  border: 0.1em solid #cc0000;
  background-color: #ff3333;
  color: white;
  font-weight: bold;
  text-align: center; }

div#footer {
  clear: both;
  margin: 1em 3.333em 1em 3.333em;
  padding-top: 1em;
  border-top: 0.1em solid #e0e0e0;
  text-align: center;
  font-size: 0.9em;
  line-height: 1.5em; }

/* Form */
form input[type=checkbox],
form input[type=radio] {
  vertical-align: middle; }
form input[type=submit] {
  padding: 0.25em 1em;
  font-weight: bold; }

form.inline input[type=submit] {
  padding: 0em 0.5em;
  font-weight: normal; }

form.proper {
  width: 40em; }
  form.proper fieldset {
    border: none;
    border-top: 0.1em solid #e0e0e0;
    margin: 1em 0em; }
    form.proper fieldset legend {
      font-size: 1.5em; }
    form.proper fieldset ul {
      margin-top: 1em; }
      form.proper fieldset ul li {
        clear: left;
        list-style-type: none;
        padding-top: 0.5em; }
        form.proper fieldset ul li label {
          float: left;
          text-align: right;
          margin-top: 1px;
          margin-right: 0.5em;
          font-weight: bold;
          width: 12em; }
      form.proper fieldset ul.checkbox-list {
        margin: 0em; }
        form.proper fieldset ul.checkbox-list li {
          padding: 0em; }
    form.proper fieldset input[type=text],
    form.proper fieldset input[type=password],
    form.proper fieldset input[type=file],
    form.proper fieldset textarea,
    form.proper fieldset select {
      width: 20em; }
    form.proper fieldset div.text {
      float: left;
      margin-top: 1px; }
    form.proper fieldset div.error {
      margin-top: 4px;
      color: red; }
    form.proper fieldset span.datetime select {
      width: auto; }
    form.proper fieldset div.field-container {
      margin-top: 1px;
      float: left; }
  form.proper .optional {
    color: #009900; }
  form.proper .required {
    color: #cc0000; }

/* The error box */
.fieldWithErrors label {
  color: red; }

div#errorExplanation {
  border: 0.2em solid red;
  padding-bottom: 1em;
  margin-bottom: 1.5em;
  background-color: #f0f0f0; }
  div#errorExplanation h2 {
    text-align: left;
    font-size: 1.5em;
    font-weight: bold;
    margin: 0;
    padding: 0.5em;
    background-color: #cc0000;
    color: white; }
  div#errorExplanation p {
    color: #333333;
    margin-bottom: 0;
    padding: 0.5em; }
  div#errorExplanation ul li {
    list-style: square;
    margin-left: 2em; }

/* Table */
table.proper {
  border-collapse: collapse;
  width: 100%; }
  table.proper th {
    text-align: left;
    background-color: #e8e8e8;
    color: #333333;
    padding: 0.25em 0.5em;
    font-weight: bold;
    white-space: nowrap;
    border-right: 1px solid white; }
  table.proper td {
    padding: 0.25em 0.5em;
    white-space: nowrap;
    border-bottom: 1px solid #e8e8e8; }
    table.proper td.full-width {
      white-space: normal; }
    table.proper td.price {
      text-align: right; }
  table.proper thead tr .header {
    background-position: center 2px;
    background-repeat: no-repeat;
    cursor: pointer; }
  table.proper thead tr .headerSortUp {
    background-image: url("../images/asc.gif");
    background-color: #d0d0d0; }
  table.proper thead tr .headerSortDown {
    background-image: url("../images/desc.gif");
    background-color: #d0d0d0; }

/* Messages */
body#message-list .message,
body#message-new .message,
body#message-create .message {
  background-color: #eeeeee;
  border: 1px solid #cccccc;
  padding: 15px 45px 15px 15px; }
  body#message-list .message label,
  body#message-new .message label,
  body#message-create .message label {
    font-weight: bold; }
  body#message-list .message input[type=text],
  body#message-list .message select,
  body#message-list .message textarea,
  body#message-new .message input[type=text],
  body#message-new .message select,
  body#message-new .message textarea,
  body#message-create .message input[type=text],
  body#message-create .message select,
  body#message-create .message textarea {
    width: 100%; }
body#message-list .message-subject,
body#message-new .message-subject,
body#message-create .message-subject {
  font-size: 140%; }
  body#message-list .message-subject img,
  body#message-new .message-subject img,
  body#message-create .message-subject img {
    border: none;
    background-color: white;
    text-decoration: none;
    padding-right: 5px; }
body#message-list .message-info,
body#message-new .message-info,
body#message-create .message-info {
  margin-top: 2px;
  margin-left: 29px;
  font-size: 90%;
  color: #666666; }
body#message-list .message-body,
body#message-new .message-body,
body#message-create .message-body {
  width: 90%; }
  body#message-list .message-body p,
  body#message-new .message-body p,
  body#message-create .message-body p {
    margin-top: 0px;
    margin-bottom: 25px; }

body#message-show .comment .header {
  background-color: #e0e0e0;
  padding: 0.25em; }

/* Comments */
.comments-header {
  font-weight: bold;
  background-color: #333333;
  color: white;
  padding: 4px;
  margin-bottom: 5px; }

.comment-form label {
  font-weight: bold; }
.comment-form textarea {
  width: 90%; }

/* People */
.people {
  width: 100%; }
  .people .person img {
    padding-right: 5px; }
  .people a.person-name {
    font-size: 140%; }

/* Dashboard */
div#action-items,
div#messages,
div#deadlines,
div#jobs {
  margin-bottom: 1em; }
  div#action-items h2,
  div#messages h2,
  div#deadlines h2,
  div#jobs h2 {
    padding: 0.5em 1em;
    margin-top: 0px;
    margin-bottom: 5px;
    background-color: #e8e8e8;
    font-size: 1.25em;
    font-weight: bold; }
    div#action-items h2 a,
    div#messages h2 a,
    div#deadlines h2 a,
    div#jobs h2 a {
      float: right;
      font-weight: normal;
      font-size: 0.8em; }
  div#action-items table#jobs-table tr.current td,
  div#messages table#jobs-table tr.current td,
  div#deadlines table#jobs-table tr.current td,
  div#jobs table#jobs-table tr.current td {
    font-weight: bold; }
  div#action-items div.action-item,
  div#action-items div.message,
  div#action-items div.milestone,
  div#action-items p.empty,
  div#messages div.action-item,
  div#messages div.message,
  div#messages div.milestone,
  div#messages p.empty,
  div#deadlines div.action-item,
  div#deadlines div.message,
  div#deadlines div.milestone,
  div#deadlines p.empty,
  div#jobs div.action-item,
  div#jobs div.message,
  div#jobs div.milestone,
  div#jobs p.empty {
    margin-left: 1.25em;
    margin-bottom: 0.5em; }

/* Recent events */
h2.events a {
  font-size: 0.85em;
  font-weight: normal; }

table.recent-events {
  border-collapse: collapse;
  width: 100%; }
  table.recent-events tr.event td {
    border-bottom: 1px solid #e8e8e8;
    white-space: nowrap;
    padding: 0.25em;
    vertical-align: top; }
    table.recent-events tr.event td.full-width {
      white-space: normal; }
    table.recent-events tr.event td.event-type {
      color: white; }
      table.recent-events tr.event td.event-type span {
        font-size: 90%;
        float: right;
        padding: 0px 0.5em; }
        table.recent-events tr.event td.event-type span.Job {
          background-color: black; }
        table.recent-events tr.event td.event-type span.Quote {
          background-color: #333333; }
        table.recent-events tr.event td.event-type span.Invoice {
          background-color: #333333; }
        table.recent-events tr.event td.event-type span.Message {
          background-color: #666666; }
        table.recent-events tr.event td.event-type span.Comment {
          background-color: #666666; }
        table.recent-events tr.event td.event-type span.SourceFile {
          background-color: #999999; }
        table.recent-events tr.event td.event-type span.TargetFile {
          background-color: #999999; }
    table.recent-events tr.event td.action-verb {
      color: #999999;
      text-align: right; }
    table.recent-events tr.event td.name {
      border-right: 1px solid #e8e8e8; }

span#show_messages,
span#hide_messages {
  font-size: 80%;
  font-weight: normal; }

/* Sidebar jobs */
div#right table.jobs {
  width: 100%;
  margin-bottom: 10px; }
  div#right table.jobs td {
    white-space: nowrap; }

/* Command link */
div.command {
  margin-top: 5px;
  margin-bottom: 5px; }
  div.command a {
    font-weight: bold;
    text-decoration: none;
    font-size: 120%;
    color: black; }
    div.command a img {
      margin-right: 2px;
      margin-bottom: 1px; }

/* Progress bar */
div.progress {
  background-color: white;
  border: 1px solid #cccccc;
  padding: 1px;
  height: 1.25em; }
  div.progress .bar {
    height: 1.25em; }
    div.progress .bar .text {
      float: left;
      line-height: 1.25em;
      text-align: center; }
  div.progress .running-late {
    background-color: #ffcc33; }
  div.progress .running {
    background-color: #66cc66; }
  div.progress .late {
    background-color: #cc3300; }
  div.progress .finished {
    background-color: #339933;
    color: white; }

/* Info message */
div.info {
  background-color: #ffffcc;
  border: 2px solid #e6e6b8;
  margin-bottom: 10px; }
  div.info div.header {
    font-size: 120%;
    font-weight: bold;
    background-color: #e6e6b8;
    padding: 5px; }
  div.info td.image {
    vertical-align: top;
    padding: 10px; }
  div.info td.message {
    vertical-align: top;
    padding-right: 10px;
    padding-bottom: 10px; }

/* Language matrix */
div#scroller {
  overflow: auto; }

table#language-matrix {
  border-collapse: collapse; }
  table#language-matrix th {
    text-align: left;
    font-weight: normal; }
  table#language-matrix td {
    text-align: center; }

/* Feedback rating */
table.feedback-rating {
  width: 100%; }
  table.feedback-rating td {
    padding: 0px; }
    table.feedback-rating td.ratings table {
      width: 100%;
      text-align: center; }
    table.feedback-rating td.comment input {
      width: 100%; }

/* Provider search form */
div#provider-search input,
div#provider-search select {
  width: 32%; }
div#provider-search div.column {
  width: 32%;
  float: left;
  padding-right: 1%;
  margin-bottom: 10px; }
  div#provider-search div.column li.category-header {
    font-weight: bold; }
div#provider-search ul.checkbox-list {
  border: 1px solid #cccccc;
  clear: left;
  height: 150px;
  overflow-y: auto; }

span.ui-language-flags img {
  padding: 1px;
  margin: 1px; }
  span.ui-language-flags img.selected {
    border: 1px solid #999999;
    margin: 0px; }

/* Miscellanous */
img {
  vertical-align: middle; }

hr {
  border: 0px;
  color: #e0e0e0;
  background-color: #e0e0e0;
  height: 1px; }

a {
  color: #0000ee; }
  a img {
    border: none; }

span.nowrap {
  white-space: nowrap; }

img.flag {
  border: none;
  margin-right: 2px; }

img.flag-select {
  margin-right: 2px; }

div.logo-container {
  float: right; }
  div.logo-container img.logo {
    max-height: 3.5em;
    vertical-align: top; }

label {
  font-weight: bold; }

table.details tr th {
  text-align: left;
  font-weight: normal;
  color: #666666;
  padding-right: 1em;
  vertical-align: top;
  white-space: nowrap; }
table.details tr td {
  padding-right: 1em; }

span.today {
  background-color: yellow;
  padding: 2px; }

span.late,
span.late a {
  color: red; }

a.action {
  color: red;
  font-size: 90%; }

td.full-width {
  white-space: normal;
  width: 100%; }

ul.checkbox-list {
  margin: 0px;
  padding: 0px; }
  ul.checkbox-list li {
    padding: 0px;
    list-style-type: none; }

/* Upload progress */
#uploading img {
  vertical-align: middle; }
#uploading span {
  font-weight: bold; }
#uploading .bar {
  width: 28em;
  margin-bottom: 5px; }
#uploading #progress {
  background: #e0e0e0;
  border: 1px solid #999999; }
#uploading #progressbar {
  width: 0px;
  height: 18px;
  background: #009933;
  margin: 1px; }
#uploading table th {
  font-weight: normal;
  text-align: left; }
#uploading table td {
  font-weight: bold; }

/* Pricing table */
table.pricing-table .left {
  text-align: left; }
table.pricing-table th {
  font-weight: bold;
  text-align: center;
  padding: 0.5em;
  color: #cccccc;
  background-color: #2d2d2d; }
table.pricing-table td {
  text-align: center;
  padding: 0.5em;
  background-color: #f0f0f0;
  border-top: 1px solid white; }
table.pricing-table tr.current-plan td {
  font-weight: bold; }
table.pricing-table tr.unavailable td {
  color: #999999; }

/* Trial message */
p.trial-message {
  color: #e00000;
  font-weight: bold; }

/* Field notice */
div#no-values {
  color: red;
  font-weight: bold;
  margin-bottom: 0.5em; }

/* Providers match table */
table#match-table th, table#match-table td {
  text-align: center; }
table#match-table .left {
  text-align: left;
  white-space: nowrap; }
