body {
	 /* 47px is the header height */
	padding-top: 47px;
}

footer {
	margin-top: 25px;
	padding: 15px 0 16px;
	border-top: 1px solid #E5E5E5;
}

body, input, select {
	color: #202020;
}

ul, ol {
	margin-bottom: 10px !important;
}

a {
	color: #2F58A0;
}

a:hover {
	color: #002060;
}

a:focus {
	outline: none;
}

a.btn i {
	/* override for a links that look like bootstrap buttons */
	vertical-align: text-bottom;
}

a.bugtraq {
    font-weight: bold;
}

.gray {
	color: #888;
}

.octicon-centered {
    text-align: center;
    width: 16px;
}

tr:hover .octicon-centered {
	color:#eee;
}

.label a.bugtraq {
	font-weight: normal;
	color: white;
}

.lwbadge {
	color: #888;
	font-size: 11px;
	background-color: #e8e8e8;
	padding: 1px 7px 2px;
	-webkit-border-radius: 9px;
	-moz-border-radius: 9px;
	border-radius: 9px;
	line-height: 14px;	
	white-space: nowrap;
	vertical-align: baseline;
}

[class^="icon-"], [class*=" icon-"] i {
	/* override for a links that look like bootstrap buttons */
	vertical-align: text-bottom;
}

.pagination-small, .pagination-small ul {
	margin: 0px !important;	
}

.pagination-small ul {
	border-right: 1px solid #ddd;
}

.pagination-small ul > li > a,
.pagination-small ul > li > span {
  padding: 2px 8px;
  font-size: 13px;
  line-height: 22px;
  border: 1px solid #ddd;
  border-right: 0px;
  border-radius: 0px !important;
  float: left;
}

.btn.disabled em, .pagination-small ul > li > span em {
	font-style: normal;
	color: #444;
}

hr {
	margin-top: 10px;
	margin-bottom: 10px;
}

.settings th {
	vertical-align: top;
}

.pageTitle {
	padding-bottom: 5px;
	margin: 0;
	border-bottom: 1px solid #eee;
}

.pageTitle h1, .pageTitle h2 {
	color: #0069D6;
}

.navbar .brand {
	padding: 0px 10px 0px 20px;
}
.navbar .btn-navbar {
	margin-top: 10px;
}

.navbar .pull-right {
	margin: 0;
}

.navbar ul.nav {
	margin: 0 !important;
	padding: 4px 0px 0px 0px;
}

.navbar ul.nav li a {
  	color: white; 
	text-shadow: none;
	outline: 0;
}

.navbar ul.nav li a:hover {
	color: #abd4ff !important;
	text-decoration: underline;
}

.navbar .nav .active > a:hover {
	text-decoration: underline;
}

.navbar-inner {
	background-color: #002060;
	background-image: none;
	box-shadow: none;
	border-bottom: 1px solid #002060 !important;
}

.navbar ul li:focus, .navbar .active {
	outline: 0;	
	padding-bottom: 1px;
	border-bottom: 3px solid #ff9900;
	margin-bottom: -1px;
}

ul.nav {
	border-color: #ccc;
}

.nav-tabs > .active > a,
.nav-tabs > .active > a:hover {
  border: 1px solid #ccc;
  border-bottom-color: transparent;
}

.navbar .active a {
	background-color: transparent !important;
	outline: 0;
}

.navbar div > ul .menu-dropdown .selected, .nav .menu-dropdown .selected, .navbar div > ul .dropdown-menu .selected, .nav .dropdown-menu .selected {	
	background-image: url("bullet_blue.png");
	background-repeat: no-repeat;
	background-position: left;	
}

.navbar div>ul .dropdown-menu li a {
	color: #555;
}

navbar div>ul .menu-dropdown li a:hover,.nav .menu-dropdown li a:hover,.navbar div>ul .dropdown-menu li a:hover,.nav .dropdown-menu li a:hover{
	background-color: #000070;
	color: #ffffff !important;
}

.nav-pills > .active > a, .nav-pills > .active > a:hover,
.nav-list > .active > a, .nav-list > .active > a:hover {
    color: #fff;
    background-color: #002060;
}

div.reflog {
    border-bottom: 1px solid #ddd;
	margin-bottom: 5px;
	padding-bottom: 5px;
}

div.reflog .icon {
    font-size: 42px;
    line-height: 42px;
}

div.reflog .when {
	color: #aaa;
}

div.reflog i {
    font-size: 42px;
    color: #bbb;
    vertical-align: middle;
}

div.reflog td.header {
	padding-left: 7px;
	vertical-align:middle;
}

div.reflog td.commits {
	padding-left: 7px;
}

div.reflog tr.commit td {
	vertical-align:top;
	padding-left: 5px;
}

div.reflog tr.commit img {
	max-width: none;
}

div.dashboardTitle {
	font-size: 1.75em;
	padding: 10px 0px 5px 0px;
	margin: 10px 0px;
	border-bottom: 1px solid #ccc;
}

div.dashboardTitle small {
	color: #888;
	font-size: 0.7em;
}

.repositorynavbar {
	background-color: #f8f8f8;
	border-bottom: 1px solid #ccc;
	margin-bottom: 10px;
}

.repositorynavbar .title {
	padding: 10px 0px;
}

.repositorynavbar .repository {
    font-weight: bold;
}

.title .repository a, .repositorynavbar .project a, .repositorynavbar .repository a {
    font-family: Helvetica,arial,freesans,clean,sans-serif;
    font-size: 22px;
    color: #002060;
}

.repositorynavbar .repositorynavbar-inner {
	padding-top: 2px;
}

.repositorynavbar ul {
	list-style: none outside;
	display: block;
	position: relative;
	border-top: 1px solid #ccc;
}

.repositorynavbar ul li {
	display: block;
	float: left;
	padding: 10px;
}

.repositorynavbar ul li:focus, .repositorynavbar .active {
	color: black;
	background-repeat:no-repeat;
	background-image: url(arrow_project.png);
	background-position: center bottom;
	font-weight: bold;
	outline: 0;	
}

.repositorynavbar ul a {
	color: #002060;
}

.repositorynavbar ul li:hover {
	background-color: #eee;
}

.repositorynavbar ul li a:hover {
	background-color: inherit;
	text-decoration: underline;
}

@media (max-width: 767px) {
	.repositorynavbar {
    margin-right: -20px;
    margin-left: -20px;
    padding: 0px 5px;
  }
}

.btn-appmenu {
	border-radius: 4px !important;
    background-color: #002060;
    background-image:-khtml-gradient(linear, left top, left bottom, from(#4060A0), to(#002060));
	background-image:-moz-linear-gradient(center top, #4060A0, #002060);
	background-image:-ms-linear-gradient(top, #4060A0, #002060);
	background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #4060A0), color-stop(100%, #002060));
	background-image:-webkit-linear-gradient(top, #4060A0, #002060);
	background-image:-o-linear-gradient(top, #4060A0, #002060);
	background-image:linear-gradient(top, #4060A0, #002060);
    
    background-repeat: repeat-x;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.btn-appmenu:hover, .btn-appmenu:active, .btn-appmenu.active, .btn-appmenu.disabled, .btn-appmenu[disabled] {
    background-color: #002060;
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}


.btn-appmenu .caret {
    border-bottom-color: #FFFFFF;
    border-top-color: #FFFFFF;
    opacity: 0.75;
}

.breadcrumb {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

.pageTitle {	
	margin-bottom: 5px;	
}

.pageTitle h2 small {
	font-size: 80%;
	font-weight: bold;
}

.pageTitle {
	color: #888;
	font-size: 18px;
	line-height: 27px;
}
.pageTitle .project, .pageTitle .repository {
	font-family: Helvetica, arial, freesans, clean, sans-serif;
	font-size: 22px;
}

.pageTitle .controls {
	font-size: 12px;
}

.pageTitle .repository {
	font-weight: bold;
}

.originRepository {
	font-family: Helvetica, arial, freesans, clean, sans-serif;
	color: #888;
	font-size: 12px;
	line-height: 14px;
	margin: 0px;
}

.forkSource, .forkEntry {
	color: #888;
}

.forkSource {
	font-size: 18px;
	line-height: 20px;
	padding: 5px 0px;
}

.forkEntry {
	font-size: 14px;
	padding: 2px 0px;
}

.forkSource .forks, .forkEntry .forks {
	font-size: 10px;
	padding-left: 5px;
	text-decoration: underline;
	vertical-align: middle;
}

div.repositoryUrlContainer {
	padding: 2px;
	background-color: #F5F5F5;
    background-image: -moz-linear-gradient(center top , #FFFFFF, #E6E6E6);
    background-repeat: repeat-x;
    border-color: #E6E6E6 #E6E6E6 #B3B3B3;
    border-image: none;
    border-radius: 4px;
    border-style: solid;
    border-width: 1px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
    color: #333333;    
    vertical-align: middle;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}

div.repositoryUrlContainer:hover {
	background-color: #E6E6E6;
    background-position: 0 -15px;
    color: #333333;
    text-decoration: none;
    transition: background-position 0.1s linear 0s;
}

div.repositoryUrlContainer:hover .caret {
    opacity: 1;
}

div.repositoryUrlContainer:hover a:hover {
	text-decoration: none;
}

span.repositoryUrlLeftCap, span.repositoryUrlRightCap {	
	text-align: center;
	color: black;
	padding: 3px;
	font-size: 11px;
}

span.repositoryUrlRightCap {	
	font-weight: bold;
	font-family:menlo,consolas,monospace;
}

div.repositoryUrl {
	display: inline-block;	
	font-size: 1em;
	padding: 1px 4px 2px 4px;	
	background-color: #fff;
	border: 1px solid #ddd;
	margin: 1px;
}

div.repositoryIndicator {
	display:inline;
	padding-top:0px;
	margin-bottom:0px;
}

div.repositoryIndicator span.alert {
	padding: 2px 7px 2px 7px;
	vertical-align: middle;
	font-size:0.85em;
	font-weight:normal;
}

ul.urlMenu {
	min-width: 350px;
}

ul.urlMenu li.url {
	background-color: white;
	padding: 0px 5px;
	line-height: 24px;
}

ul.applicationMenu {
	background-color: whiteSmoke;
	min-width: 400px;
}

ul.applicationMenu li.action {
	background-color: white;
	padding: 0px 5px;
	line-height: 24px;
}

span.applicationTitle, span.applicationTitle a {
	display: inline;
	font-weight: bold;
	font-size:1.1em;
	color: black !important;
	padding: 0px;
}

div.applicationHeaderMenuItem {
	padding-left: 10px;
	color: black;
}

div.applicationLegalMenuItem {
	padding-left: 10px;
	color: #999;
	font-size: 0.85em;
}

a.applicationMenuItem, span.commandMenuItem {
	padding: 3px 10px;	
	color: black;
	display: inline;
	padding: 0px;
}

span.commandMenuItem {
	font-size: 0.85em;
	font-family: menlo,consolas,monospace;
}

div.odd {
	
}

div.even {
	background-color: whiteSmoke;
	vertical-align: middle;
}

span.authorizationControl label {
	display: inline;
	color: #777;
	padding:5px 0px 5px 10px;	
}

div.page_footer {
	clear: both;
	height: 17px;
	color: black;
	background-color: #ffffff;
	padding: 5px;
	border-top: 1px solid #bbb;
	font-style: italic;
}

pre, code, pre.prettyprint, pre.plainprint {
	background-color: #ffffff;
	color: black;
	font-family: monospace;
	font-size:12px;
	border:0px;
	padding: 0;
	line-height: 1.35em;
}

table {
	margin-bottom: 5px;
	font-size: inherit;
}

.table th {
	vertical-align: top;
}

th {
	vertical-align: middle;
	text-align: left;	
}

table.tickets {
	border-bottom: 1px solid #ccc;	
}

table.tickets td.indicators {
	width: 75px;
	text-align: right;
	padding-right: 5px;
	color: #888;
}

.ticketLabel,
table.tickets .label {
	color: white;
	font-weight: normal;
	margin: 0px 2px;
}

div.featureWelcome {
	padding: 15px;
	background-color: #fbfbfb;
	border: 1px solid #ccc;
	border-radius: 5px;	
}

div.featureWelcome div.icon {
	color: #ccc;
	font-size: 144px;
}

li.dynamicQuery {
	padding: 3px 0px;
	margin: 1px 0px;
	border-radius: 4px;
}

li.dynamicQuery i {
	color: rgba(255, 255, 255, 0.5);
	padding-right: 5px;
}

li.dynamicQuery a.active {
	color: white;
}

div.milestoneOverview {
	color:#888;
	border: 1px solid #ddd;
	padding: 2px 5px;
	text-align: center;
	font-size: 11px;
	background-color: #fbfbfb;
}

div.sourceview {
	overflow: hidden;
}

pre.prettyprint ol {
	padding-left:25px;
}

#nums {
    text-align: right;
    padding-right:10px;
    border-right:1px solid #ddd;
    font-family: monospace;
    line-height: 1.35em;
    vertical-align:top;
}

#nums pre {
    white-space: pre;
}

#nums pre, #lines pre {
	margin: 0;	
}

#lines pre {
	padding: 0px !important;	
	border: 0px !important;
	white-space: nowrap;
}

/* CSS trick to workaround #link topOfWindow offset problem */
#nums .jump {
    border-top: 50px solid transparent;
    margin-top: -50px;
	background: url(arrow_line.png) no-repeat scroll bottom right transparent;	
}

#nums .jump:target {
	border-left: 7px solid transparent;
	margin-right: 3px;
}

#lines .line {
    padding-left: 5px;
    color: #888;
}

#nums a:hover {
	background-color: #ffffbf;
	color: black;
	font-weight: bold;
	border-top: 1px solid red;
	border-bottom: 1px solid red;
	text-decoration: none;
}

#lines table {
	margin: 0;
}

#lines td {
	padding: 0;
}

#lines a {
	padding-left: 5px;
}

#lines tr:hover {
	background-color: #ffffbf;
}
#lines .odd {
	background-color: white;
}

#lines .even {
	background-color: #fafafa;
}

.diffstat {
	padding: 1px 5px;
	font-size: smaller;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	color: #ccc;
	font-weight:bold;
	display: inline-block;
}

.diffstat-inline {
	font-size: smaller;
	color: #ccc;
	font-weight:bold;	
}

.diffstat .diffstat-total {
	color: black;
	border-right: 1px solid #ccc;
	padding-right: 4px;
	margin-right: 2px;
}

.diffstat-inline .diffstat-total {
	color: #999;
	padding-right: 2px;
}

.diffstat-segments {
	vertical-align: baseline;
}

.diffstat-insert {
	color: #629E62; 
}

.diffstat-delete {
	color: #B9583B; 
}
.patch-group {
	margin-bottom: 0px;
	border: 1px solid #ccc;
	background-color: #fbfbfb;
}

.patch-group .accordion-inner {
	padding: 0px;
}

.ticket-meta-top {
	padding: 0px 10px 10px 10px;
}

.ticket-meta-middle {
	border: 1px solid #ccc;
	padding: 10px;
	background-color: #fbfbfb;
}

.ticket-meta-bottom {
	border: 1px solid #ccc;
	border-top: 0px;
	padding: 10px;
}

.ticket-title {
	font-size: 20px;
}

.ticket-number {
	color: #ccc;
	font-size: 20px;
	font-weight: normal;
}

.ticket-list-icon {
	padding: 8px 0px 8px 8px !important;
	width: 24px;
	font-size: 24px;
	vertical-align: middle !important;
	color: #888;
}

td.ticket-list-state {
	vertical-align: middle;
}

td.ticket-list-priority {
	vertical-align: middle;
}

.ticket-list-details {
	font-size: 11px;
	color: #888;
}

div.ticket-text {
	max-width: 600px;
}

.ticket-text-editor {
	height:7em;
	border:0px;
	border-radius: 0px;
	border-top:1px solid #ccc;
	margin-bottom:0px;
	padding:4px;
	background-color:#ffffff;
	box-shadow: none;
}

.indicator-large-dark {
	font-size: 20px;
	color: #888;
}

.indicator-large-light {
	font-size: 20px;
	color: #bbb;
}

.indicator-huge-light {
	font-size: 48px;
	color: #bbb;
}

.attribution-emphasize {
	font-weight: bold;
}

.attribution-text {
	color: #888;
}

.attribution-border {	
}

.attribution-header {
	background-color: #fbfbfb;
	padding: 8px;
	border: 1px solid #ccc;
}

.attribution-header-pullright {
	float: right;
	text-align: right;
	padding-right: 1px;
}

.attribution-patch-pullright {
	float: right;
	text-align: right;
	margin: 5px 10px;
}

.attribution-date {
	color: #999;
	font-size: smaller;
}

.attribution-link {
	color: #999;
	padding-left: 5px;
}

.attribution-pullright {
	float: right;
	text-align: right;
	padding-right: 8px;
}

.attribution-triangle {
	position: absolute;
	margin-left: -23px;
	margin-top: 11px;
	height: 0px;
	width: 0px;
	border-image: none;
	border: 10px solid transparent;
	border-right: 13px solid #ddd;
}

.attribution-comment {
	padding: 10px 10px 0px 10px;
	/*border: 1px solid #ccc;
	border-top: 0px;*/
}

.ticket-simple-event {
	padding: 5px 0px;
}

.status-display {
	text-align: center;
	font-weight: bold;	
}

.status-change {
	font-size: 1.0em;
	text-shadow: none;
	padding: 5px 10px !important;
	font-weight: bold;
	display: inline-block;
	text-align: center;
	width: 50px;
	margin-right: 5px !important;
}

.submit-info {
	margin-bottom: 0px;
	border-radius: 0px;
}

.merge-panel {
	padding: 5px 7px;	
	background-color: #fbfbfb;
	color: #444
}

.merge-panel p.step {
	margin: 10px 0px 5px;
}

.gitcommand {
	margin-top: 5px;
	border: 1px solid #ccc;
	background-color: #333 !important;
	color: #ccc;
	border-radius: 3px;
	padding: 5px;
	margin-bottom: 5px;
	text-shadow: none;
}

a.commit {
	border: 1px solid #ccc;
	border-radius: 3px;
	background-color: #fbfbfb;
	padding: 2px 4px;	
	line-heihgt:99%;
	font-size: 11px;
	text-transform: lowercase;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    color: #888;
}

.age0, .age1, .age2, .age3, .age4 {	
	font-size: 12px;
}

/* age0: age < 2 hours */
.age0 {
	font-style: italic;
	color: #008000;
	font-weight: bold;
}

/* age1: 2 hours <= age < 2 days */
.age1 {
	font-style: italic;
	color: #0000ff;
	font-weight: bold;	
}

/* age2: 2 days < age <= 7 days */
.age2 {
	font-style: italic;
	color: #2b60de;
}

/* age3: 7 days < age <= 30 days */
.age3 {
	color: #800080;
}

/* age4: > 30 days */
.age4 {
}

/* Ensure that hovered ages are white */
tr.light:hover .age0,
tr.light:hover .age1,
tr.light:hover .age2,
tr.light:hover .age3,
tr.light:hover .age4,
tr.dark:hover .age0,
tr.dark:hover .age1,
tr.dark:hover .age2,
tr.dark:hover .age3,
tr.dark:hover .age4 {
	color: #ffffff !important;
}

a.list {
	text-decoration: none;
	color: inherit;
}

a.list-strikethrough {
	text-decoration: line-through;
	color: inherit;
}

a.list.subject {
	font-weight: bold;
}

a.list.name {
	font-weight: bold;	
}

a.list:hover {
	text-decoration: underline;
	color: #880000;
}

span.empty {
	font-size: 0.9em;
	font-style: italic;
	padding-left:10px;
	color: #008000;
}

span.highlight {
	background-color: rgb(255, 255, 100);
	color: black;
	padding: 0px 2px;
}

span.link {
	color: #888;
}

span.link, span.link a {
	font-family: sans-serif;
	font-size: 11px;
}

span.link em, div.link span em {
	font-style: normal;
	font-family: sans-serif;
	font-size: 11px;	
}

span.activitySwatch {
	border-radius: 3px;
	padding: 1px 4px 2px 4px;
	color: #ffffff;
	vertical-align: center;
}

span.activitySwatch a {
	color: inherit;
}

span.repositorySwatch {
	padding: 1px 1px 2px 1px;	
	color: #ffffff;
	vertical-align: center;
}

span.repositorySwatch a {
	color: inherit;
}

img.inlineIcon {
	padding-left: 1px;
	padding-right: 1px;
}

img.overview {
	float:right;
	border:1px solid #CCCCCC;
}

img.gravatar {
    background-color: #ffffff;
    /*border: 1px solid #ddd;*/
    border-radius: 5px;
    padding: 2px;
}

img.gravatar-round {
    background-color: #ffffff;
    border: 1px solid #ccc;
    border-radius: 100%;    
}

img.navbarGravatar {
	border: 1px solid #fff;
}

div.searchResult {
	padding: 10px 5px 10px 5px;
}

div.searchResult .summary {
	font-weight: bold;
}

div.searchResult .branch {
	color: #008000;
}

div.searchResult .author {
	font-style: italic !important;
}

div.searchResult .date {
	color:#999;
}

div.searchResult .body {
	padding-left:20px;
}

div.searchResult .fragment {
	padding: 7px 0;
}

div.searchResult .highlight {
	background-color: #ccff66;
	padding: 0 2px;
}

div.searchResult .ellipses {	
	padding-left:25px;
	color: #aaa;
}

div.searchResult pre {
	margin: 1px 0px;
	border: 0px;
}

div.searchResult .text {
	border-left: 2px solid #ccc;
	border-radius: 0px;
	
    padding: 0 0 0 15px;
}

div.searchResult ol {	
	margin-bottom: 0px !important;
}

div.header, div.commitHeader, table.repositories th {
	background-color: #fbfbfb;
}

div.header {
	padding: 3px;
	border: 1px solid #ddd;
	border-bottom: 0;
	font-weight: bold;
	font-family: Helvetica,arial,freesans,clean,sans-serif;
}

div.diffHeader {
	/* CSS trick to workaround #link topOfWindow offset problem */
    border-top: 65px solid transparent;
    margin-top: -65px;
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
}

div.commitHeader {
	margin:0 0 2px;
	padding:7px 14px;	
	border:1px solid #ddd;
}

div.header a, div.commitHeader a {
	color: black;
	text-decoration: none;
	font-weight: bold;
}

div.header a:hover, div.commitHeader a:hover {
	text-decoration: underline;
}

div.page_nav2 {
	padding: 5px 10px;
	margin: -10px 0px 10px;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-radius: 0px 0px 3px 3px;	
	background-color: #ECF1F4;
	color: #666;
	text-align: left;
}

div.page_nav2 a {
	color: #002060;
}

div.admin_nav {
	border-bottom: 0px;
	text-align: right;
	padding: 5px 5px 5px 2px;	
}

div.admin_nav a {
	text-decoration: none;
}

div.admin_nav a:hover {	
	text-decoration: underline;
}

span.search {
	height: 40px;
	padding-top:2px;
}

span.search input {
	-webkit-border-radius:0;-moz-border-radius:0x;border-radius:0;
	vertical-align: top;
	background: url(search-icon.png) no-repeat 4px center;
	background-color: transparent;
	border: 1px solid transparent;
	outline: none;
	padding: 2px 2px 2px 22px;
	text-shadow: none;
	margin: 0px;
	
	color: #ddd;
}

span.search input:hover, span.search input:focus {
	background-color: transparent;
	border: 1px solid transparent;
	padding: 2px 2px 2px 22px;
	box-shadow: none;
	color: #ddd;
	border-bottom: 1px solid #ff9900;	
}

span.search input:focus {
	color: white;
}

/* div.search input:focused { */
/* 	background-color: transparent; */
/* 	border: 1px solid transparent; */
/* 	padding: 2px 2px 2px 22px; */
/* 	text-shadow: none; */
/* } */

span.login input:focus {
	background-color: rgba(255, 255, 255, 0.6);	
	text-shadow: none;
	color: white;
}

.commit_message {
	padding: 8px;
}

.topborder {
	border: solid #ddd;
	border-width: 1px 0px 0px;
	border-radius: 0px;
}

div.bug_open, span.bug_open {
	padding: 2px;
	background-color: #803333;
	color: white;	
	text-align: center;
}

div.bug_resolved, span.bug_resolved {
	padding: 2px;
	background-color: #408040;
	color: white;
	text-align: center;
}

div.bug_invalid, span.bug_invalid {
	padding: 2px;
	background-color: gray;
	text-align: center;
}

div.bug_hold, span.bug_hold {
	padding: 2px;
	background-color: orange;
	text-align: center;
}

div.diff {
	font-family: monospace;
	overflow: auto;
}

div.diff.header {
	-moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: #EDECE6;
    border-color: #D9D8D1;
    border-style: solid;
    border-width: 1px;
    font-weight: bold;
    margin-top: 10px;
    padding: 4px 0 2px;
}

div.diff.extended_header {
	background-color: #F6F5EE;
    padding: 2px 0;
    font-family: inherit;
}

div.diff table {
	border: 1px solid #ddd;
}

span.diff.add {
	color: #008800;
	font-family: inherit;
}

span.diff.remove {
	color: #FFDDDD;
	font-family: inherit;
}

span.diff.unchanged {
	color: inherit;
	font-family: inherit;
}

span.diff.hunk_info {
	background-color: #FFEEFF;	
	color: #990099;
	font-family: inherit;
}

span.diff.hunk_section {	
	color: #AA22AA;
	font-family: inherit;
}

.diff-cell {
	margin: 0px;
	padding: 0px;
	border: 0;
	border-left: 1px solid #bbb;
}

.add2 {
    background-color: #DDFFDD;
}

.remove2 {
	background-color: #FFDDDD;
}

.context2 {
	background-color: #fbfbfb;
}

div.diff > table {
	border-radius: 0;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	width: 100%;
}

.diff-line {
	background-color: #f0f0f0;
	text-align: center;
	color: #999;
	padding-left: 2px;
	padding-right: 2px;
	width: 3em; /* Font-size relative! */
}

.diff-line:before {
	content: attr(data-lineno);
}

.diff-state {
	background-color: #f0f0f0;
	text-align: center;
	color: #999;
	padding-left: 2px;
	padding-right: 2px;
	width: 0.5em; /* Font-size relative! */
}

.diff-state-add:before {
	color: green;
	font-weight: bold;
	content: '+';
}

.diff-state-sub:before {
	color: red;
	font-weight: bold;
	content: '-';
}

.hunk_header {
	background-color: #dAe2e5 !important;
	border-left: 1px solid #bbb;
	border-top: 1px solid #bac2c5;	
	border-bottom: 1px solid #bac2c5;
	color: #555;
}

td.changeType {
	width: 15px;
}

span.addition, span.modification, span.deletion, span.rename {
	border: 1px solid #888;
	float: left;
	height: 0.8em;
	margin: 0.2em 0.5em 0 0;
	overflow: hidden;
	width: 0.8em;
}

span.addition {
	background-color: #ccffcc;
}

span.modification {
	background-color: #ffdd88;
}

span.deletion {
	background-color: #f8bbbb;
}

span.rename {
	background-color: #cAc2f5;
}

div.commitLegend {
	float: right;
	padding: 0.4em 0.4em 0.2em 0.4em;
	vertical-align:top;
	margin: 0px;
}

div.commitLegend span {
	font-size: 0.9em;
	vertical-align: top;
}

div.references {
	float: right;
	text-align: right;
}

table.plain, table.summary, table.ticket {
	width: 0 !important;
	border: 0;
}

table.plain th, table.plain td, table.summary th, table.summary td {
	white-space: nowrap;
	padding: 1px 3px;
	border: 0;
}

table.ticket th, table.ticket td {
	padding: 1px 3px;
	border: 0;
}

table.summary {
	margin: 0px;
}

table.summary th, table.ticket th {
	color: #999;
	padding-right: 10px;
	text-align: right;
	font-weight: normal;
}

table.pretty {
	border:1px solid #ddd;
	border-radius: 0 0 3px 3px;
	width: 100%;
}

table.pretty td.icon {
	padding: 0px 0px 0px 2px;	
	width: 18px;
	vertical-align: middle;
}

table.pretty td.icon img {
	vertical-align: middle;
}

table.pretty td {
	padding: 2px 4px;
	border-left: 0;
}

table.pretty td.message {
	padding: 0px;
}

table.pretty table.nestedTable {
	width: 100%;
	margin-left: 4px !important;
	margin-bottom: 0px !important;
}

table.pretty td.graph {
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 0px;
	/*width: 1px;*/
}

table.pretty tr.commit {
	/* must match branch graph servlet row height definition */
	height: 24px;
}

@media (min-width: 979px) {
  td.ellipsize {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
  }
}

@media (max-width: 979px) {
  td.ellipsize {
    text-overflow: inherit;
    overflow: visible;
    white-space: wrap;
  }	
}

table.comments td {
	padding: 4px;
	line-height: 17px;
}

table.repositories {	
	border:1px solid #ddd;
	border-spacing: 0px;
	width: 100%;
}

table.repositories th {
	padding: 4px;
	border:0;
}

table.repositories th.right {	
	border-right: 1px solid #ddd;	
}	

table.repositories td {
	padding: 2px;
	border-left: 0;
}

table.repositories td.rightAlign {	
	text-align: right;
	border-right: 1px solid #ddd;	
}	

table.repositories td.icon img {
	vertical-align: top;
}

table.repositories tr.group {
	background-color: #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

table.repositories tr.group td {
	font-weight: bold;		
	color: black;
	background-color: #ddd;
	padding-left: 5px;
	border-top: 1px solid #aaa; 	
 	border-bottom: 1px solid #aaa; 
}

table.repositories tr.group td a {
	color: black;
}

table.palette { border:0; width: 0 !important; }
table.palette td.header { 
	font-weight: bold; 
	background-color: #ffffff !important;
	padding-top: 0px !important;
	margin-bottom: 0 !important;	
	border: 0 !important;
	border-radius: 0 !important;
	line-height: 1em;
}
table.palette td.pane {
	padding: 0px;
	width: 250px !important;
}

table.palette td.pane select {
	width: 250px !important;
}

table.gitnotes {		
	border: 0;	
}
table.gitnotes td {
	border-top: 1px solid #ddd;
	padding-top: 3px;
	vertical-align:top;
}

table.gitnotes table {
	border: none;
}

table.gitnotes td table td {
	border: none;
	padding: 0px;
}

table.gitnotes td.info {
	padding-right: 10px;
}

table.gitnotes td.message {
	width: 65%;
	border-left: 1px solid #ddd;
	padding-left: 10px;
}

table.annotated {
	width: 100%;
	border:1px solid #ddd;
}

table.annotated tr.even {
	background-color: white;
}

table.annotated tr.odd {
	background-color: #f5f5f5;
}

table.annotated td {
	padding: 0px;
	border: 0;
}

table.annotated td.lineCommit {
	padding-left: 5px;
	padding-right: 5px;
}

table.annotated td.lineNumber {
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	padding-left: 5px;
	padding-right: 5px;
	text-align: right;
}

table.annotated td.lineContent {
	padding-left: 5px;
	font: monospace;
}

table.activity {
	width: 100%;
	margin-top: 10px;
}

table.activity td {
	padding-top:7px;
	padding-bottom:7px;
}

tr th a { background-position: right; padding-right: 15px; background-repeat:no-repeat; }
tr th.wicket_orderDown a {background-image: url(arrow_down.png); }
tr th.wicket_orderUp a { background-image: url(arrow_up.png); }
tr th.wicket_orderNone a { background-image: url(arrow_off.png); }

tr.light {
	background-color: #ffffff;
}

tr.dark {
	background-color: #f6f6f6;
}

/* currently both use the same, but it can change */
tr.light:hover,
tr.dark:hover {
	background-color: #002060;
	color: white;
}

tr.light:hover a,
tr.dark:hover a {
	color: white;	
}

.merge {
	opacity: 0.5;
}

.merge:hover {
	opacity: 1;
}

td.author {
	font-style: italic !important;
	white-space: nowrap;
}

td.date {
	/*font-style: italic !important;*/
	white-space: nowrap;
}

span.sha1, span.sha1 a, span.sha1 a span, .commit_message, span.shortsha1, td.sha1 {
	font-family: consolas, monospace;
	font-size: 13px;
}

span.shortsha1 {
	font-size: 12px;
}

td.mode {
	text-align: right;
	font-family: monospace;
	width: 8em;
	padding-right:15px;
}

td.size {
	text-align: right;
	width: 8em;	
	padding-right:15px;
}

td.rightAlign {
	text-align: right;
}

td.treeLinks {
	text-align: right;
	width: 13em;
}

span.help-inline {
	color: #777;
}

span.metricsTitle {
	font-size: 2em;
}

.tagRef, .headRef, .localBranch, .remoteBranch, .otherRef, .pullRef {	
	padding: 0px 3px;
	margin-right:2px;
	font-family: sans-serif;
	font-size: 9px;
	font-weight: normal;
	border: 1px solid;
	color: black;
}

.tagRef a, .headRef a, .localBranch a, .remoteBranch a, .otherRef a, .pullRef a {
	font-size: 9px;
	text-decoration: none;
	color: black !important;
}

.tagRef a:hover, .headRef a:hover, .localBranch a:hover, .remoteBranch a:hover, .otherRef a:hover, .pullRef a:hover {
	color: black !important;
	text-decoration: underline;
}

.otherRef {
	background-color: #b0e0f0;
	border-color: #80aaaa;	
}

.pullRef {
	background-color: rgb(255, 221, 136);
	border-color: rgb(136, 136, 136);
}

.remoteBranch {
	background-color: #cAc2f5;
	border-color: #6c6cbf;
}

.tagRef {
	background-color: #ffffaa;
	border-color: #ffcc00;
}

.headRef {
	background-color: #ffaaff;
	border-color: #ff00ee;
}

.localBranch {
	background-color: #ccffcc;
	border-color: #00cc33;
}

table .palette td.buttons button {
	-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;	
	border: 1px solid #ccc !important;
	padding: 10px;
	margin-bottom: 10px;
}

table .palette td.buttons button:hover {
	border: 1px solid #0069D6 !important;
}

table .palette td.buttons button:active {
	border: 1px solid orange !important;
}

.feedbackPanelERROR, .feedbackPanelINFO {	
	list-style: none;
	line-height: 35px;
}

.feedbackPanelINFO span, .feedbackPanelERROR span {
	position:relative;padding:7px 15px;margin-top:5px;margin-bottom:5px;color:#404040;background-color:#eedc94;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.feedbackPanelERROR span {
	color: #ffffff;
	background-color:#c43c35;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}

/* google-code-prettify line numbers */
li.L0,
li.L1,
li.L2,
li.L3,
li.L4,
li.L5,
li.L6,
li.L7,
li.L8,
li.L9 { color: #888; border-left: 1px solid #ccc; padding-left:5px; list-style-type: decimal !important; }

/* Alternate shading for lines */
li.L1,
li.L3,
li.L5,
li.L7,
li.L9 { background: #fafafa !important; }

div.docs {
	max-width: 880px;
}

div.docs ul.nav {	
	margin-bottom: 0px !important;
}

div.docs div.docnav {
	display: inline-block;
	padding: 6px 5px 6px 5px;	
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-radius: 0px 0px 3px 3px;	
	background-color: #ECF1F4;
	color: #666;
	text-align: left;
	margin-top: -10px;
}

div.docs .content {
	margin-top: 10px;
}

div.docs div.markdown {
	margin-top: 10px;
}

div.markdown {	
	line-height: 1.4;
}

div.markdown h1 {
	padding: 0px 0px 4px;
	border-bottom: 1px solid rgb(221, 221, 221);
	margin: 4px 0px 8px;
}

div.markdown h2 {
	padding: 4px 0px;
	border-bottom: 1px solid rgb(238, 238, 238);
	margin: 4px 0px 8px;
}

div.markdown h3 {
	padding: 8px 0px 4px;	
}

div.markdown li {
	line-height: 1.4;
}

div.markdown pre {
	background-color: rgb(250, 250, 250);
	border: 1px solid rgb(221, 221, 221);
    border-radius: 4px 4px 4px 4px;
    display: block;
    font-size: 12px;
    line-height: 18px;
    margin: 9px 0;
    padding: 8.5px;
    white-space: pre-wrap;
}

div.markdown pre code {
    background-color: inherit;
    border: none;    
    padding: 0;
}

div.markdown code {
	background-color: rgb(250, 250, 250);
	border: 1px solid rgb(221, 221, 221);
    border-radius: 3px;
    padding: 0 0.4em;
}

div.markdown table {
	max-width: 100%;
	background-color: transparent;
	border-collapse: collapse;
	border-spacing: 0px;
	font-size: inherit;
	border-width: 0px 1px 1px 0px;
    border-style: solid solid solid none;
    border-color: rgb(221, 221, 221);
    border-image: none;
    border-collapse: separate;
    margin: 10px 0px 20px;
}

div.markdown table td, div.markdown table th {
	padding: 8px;
	line-height: 20px;
	text-align: left;
	vertical-align: top;
	border-top: 1px solid rgb(221, 221, 221);
	border-left: 1px solid rgb(221, 221, 221);
}

div.markdown table.text th, div.markdown table.text td {
	vertical-align: top;
	border-top: 1px solid #ccc;
	padding:5px;
}
.resolution {
	text-transform: uppercase;
	font-weight: bold !important;
	font-size: 11px;
}
.resolution-success, .resolution-success a {
	color: #14892c !important;
}
.resolution-success a:hover {
	color: white !important;
}
.resolution-error, .resolution-error a {
	color: #d04437 !important;
}
.resolution-error a:hover {
	color: white !important;
}
.resolution-complete, .resolution-complete a {
	color: #4a6785 !important
}
.resolution-complete a:hover {
	color: white !important;
}
.resolution-current, .resolution-current a {
	color: #594300 !important;
}
.resolution-current, .resolution-current a:hover {
	color: white;
}

/*! AUI Lozenge */
.aui-lozenge {
    background: #ccc;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #333;
    display: inline-block;
    font-size: 11px;
    font-weight: bold;
    line-height: 99%; /* cross-browser compromise to make the line-height match the font-size */
    margin: 0;
    padding: 2px 5px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}
.aui-lozenge.aui-lozenge-subtle {
    background-color: #fff;
    border-color: #ccc;
    color: #333;
}
.aui-lozenge-success {
    background-color: #14892c;
    border-color: #14892c;
    color: #fff;
}
.aui-lozenge-success.aui-lozenge-subtle {
    background-color: #fff;
    border-color: #b2d8b9;
    color: #14892c;
}
.aui-lozenge-error {
    background-color: #d04437;
    border-color: #d04437;
    color: #fff;
}
.aui-lozenge-error.aui-lozenge-subtle {
    background-color: #fff;
    border-color: #f8d3d1;
    color: #d04437;
}
.aui-lozenge-current {
    background-color: #ffd351;
    border-color: #ffd351;
    color: #594300;
}
.aui-lozenge-current.aui-lozenge-subtle {
    background-color: #fff;
    border-color: #ffe28c;
    color: #594300;
}
.aui-lozenge-complete {
    background-color: #4a6785;
    border-color: #4a6785;
    color: #fff;
}
.aui-lozenge-complete.aui-lozenge-subtle {
    background-color: #fff;
    border-color: #e4e8ed;
    color: #4a6785;
}
.aui-lozenge-moved {
    background-color: #815b3a;
    border-color: #815b3a;
    color: #fff;
}
.aui-lozenge-moved.aui-lozenge-subtle {
    background-color: #fff;
    border-color: #ece7e2;
    color: #815b3a;
}
.severity-catastrophic {
	color:#D51900;
}
.severity-catastrophic:after {
	font-family: Helvetica,arial,freesans,clean,sans-serif ;
	content: "●●●●●";
	font-weight:900;
	font-size:.45em;	
	font-variant:small-caps;
	display:flex;
	white-space: pre;
}
.severity-critical {
	color:#D55900;
}
.severity-critical:after {
	font-family: Helvetica,arial,freesans,clean,sans-serif ;
	content: " ●●●●";
	font-weight:900;
	font-size:.45em;	
	font-variant:small-caps;
	display:flex;
	white-space: pre;
}
.severity-serious {
	color:#E69F00;
}
.severity-serious:after {
	font-family: Helvetica,arial,freesans,clean,sans-serif ;
	content: "  ●●●";
	font-weight:900;
	font-size:.45em;	
	font-variant:small-caps;
	display:flex;
	white-space: pre;
}
.severity-minor {
	color:#009E73;
}
.severity-minor:after {
	font-family: Helvetica,arial,freesans,clean,sans-serif ;
	content: "   ●●";
	font-weight:900;
	font-size:.45em;	
	font-variant:small-caps;
	display:flex;
	white-space: pre;
}
.severity-negligible {
	color:#0072B2;
}
.severity-negligible:after {
	font-family: Helvetica,arial,freesans,clean,sans-serif ;
	content: "    ●";
	font-weight:900;
	font-size:.45em;	
	font-variant:small-caps;
	display:flex;
	white-space: pre;
}
.severity-unrated {
}
.priority-urgent {
	color:#D51900;
}
.priority-high {
	color:#D55900;
}
.priority-normal {
}
.priority-low {
	color:#0072B2;
}
