@CHARSET "UTF-8";

#novaContent {
  position: relative;
}

/* Align headline with RAP logo */
#novaContent.faux {
  padding-top: 5px;
}

/* Fix horizontal position of the top-left Eclipse logo */
div#logo {
  position: relative;
  height: 91px;
  top: 10px;
}

/* Increase font size */
div, span, p, blockquote, pre, code, em, sub, sup, dl, dt, dd, ol, ul, li, fieldset, form, legend, table, caption, tbody, tfoot, thead, tr, th, td
{
  font-size: 13px;
  line-height: 16px;
}

/* More space above sub-headers */

h3 {
  margin-top: 12px;
}

/* Customize margin for paragraphs */

p, table {
  margin-top: 5px;
  margin-bottom: 8px;
}

/* Enable Quotes */

q:before { content: '\201C'; }
q:after { content: '\201D'; }
q q:before { content: '\2018'; }
q q:after { content: '\2019'; }

/* RAP logo in side navigation */

#rap-small-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 184px;
  height: 80px;
}

#rap-small-logo {
  position: absolute;
  left: 19px;
  top: 15px;
  width: 137px;
  height: 65px;
  background: url( "/rt/images/rtlogo_small.png" ) no-repeat 0 0;
}

#leftnav {
  margin-top: 70px;
  padding-left: 8px;
}

/* Make first-level navigation items appear as links */

#leftnav li.separator a {
  color: #7036BE;
}

/* ??? */

.sideitem h6 {
  background-color: #e8e7dd;
  border-bottom: 2px solid #FFF;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0px;
  -moz-border-radius-topleft:3px;
  -moz-border-radius-topright:3px;
  -webkit-border-top-left-radius:3px;
  -webkit-border-top-right-radius:3px;
  padding: 8px 5px;
}

/* Small navigation icons */

span.download-icon {
  display: inline-block;
  position: relative;
  top: 6px;
  width: 24px;
  height: 24px;
  background: url( /rt/images/button-icons-small.png ) 0 0;
}

/* Expand areas on download page */

div.expand-head {
  margin: 0;
}

div.expand-link,
div.download-button {
  display: inline-block;
  cursor: pointer;
  background-color: #f5f4e9;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;  
  padding: 5px;
}

div.expand-link {
  padding: 1px 10px 8px 5px;
  margin-right: 10px;
}

div.download-button.hover {
  background-color: #e8e7dd;
}

div.expand-link.selected {
  background-color: #e8e7dd;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  padding-bottom: 11px;
}

div.expand-body {
  display: none;
  border: 2px solid #e8e7dd;
  padding: 5px;
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0 0 5px 5px;
}

/* BUILD TERMINAL */

div.terminal {
  padding: 5px;
  color: white;
  background-color: gray;
  -moz-border-radius: 0 0 3px 3px;
  -webkit-border-radius: 0 0 3px 3px;
}

div.terminal-row {
  margin: 5px 0;
}

span.terminal-field {
  position: relative;
  display: inline-block;
  background-color: #222;
  padding: 2px 4px;
  width: 98px;
  margin-left: 4px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
}

span.terminal-text {
  position: relative;
  display: inline-block;
  background-color: #333333;
  padding: 0 4px;
  color: white;
  width: 90px;
  text-alignment: center;
  font: 14px 'Lucida Grande', Helvetica, Arial, sans-serif;
}

span.terminal-arrived {
  color: #88ff88;
}

span.terminal-landing {
  color: #f2fa73;
}

span.terminal-overlay {
  position: absolute;
  display: inline-block;
  border-top: 1px solid #444;
  z-index: 1000;
  opacity: 0.5;
  width: 98px;
  height: 2px;
  left: 4px;
  top: 10px;
}

/* Lists in side boxes */

#novaContent .sideitem > ul {
  margin: 0;
  padding: 0;
}

#novaContent .sideitem > ul > li {
  margin: 0 0 2px;
  padding: 5px 15px;
  list-style-type: none;
  list-style-image: none;
  border-bottom: 1px solid #e8e7dd;
}

#novaContent .sideitem > ul > li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
