/* common stuff */
body {
	background-color: #ffffff;
	color: black;
	font-family: sans-serif;
	margin: 1ex 1ex 0 1ex;
}

a {
	text-decoration: none;
}

a:link {
	color: #2030A2;
}

a:visited, a:active, a:hover {
	color: #202062;
}

a:active, a:hover {
	text-decoration: underline;
}

img, tt, form, pre {
	border: 0;
}

del {
	text-decoration: line-through;
}

caption {
	caption-side:top;
	margin: 1ex 0;
	text-align: left;
}

thead {
	background-color: #c5d5a9;
}

tbody tr:nth-child(EVEN) { /* alternate color for odd rows */
	background-color: #e8e8f0;
}

input, button {
	border: 1px solid #bbbbff;
	border-radius: 0.75ex;
	-moz-border-radius: 0.75ex;
	background-color: #a3b8cb;
}

/* below seems to be a problem for input boxes, where the color will overwrite the text inside, let's leave it for buttons though
for search and clear buttons will make it part of submit class ONLY */
input.submit:hover, input.submit:active,
button:hover, button:active {
	color: #ffffff;        
}

label {
}

.pre { /* the diff content */
	white-space: pre-wrap;
	font-family: monospace;
	margin: 0;
}

#page { }

.error { /* error messages */
	color: #a52a2a;
}

.active {
	font-weight: bold;
	/* color: #c20097; */
}

/* ############### start of header ############## */
#whole_header { }

/* *** banner/deco above navbar *** */
#header { }

#MastheadLogo {
	width: 171px;
	height: 40px;
	float: left;
	background-image: url(./img/combined.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	margin: 0 0 0.5ex 0;
}

#pagetitle { /* short verbal summary/description of the shown content */
}

#filename { /* "Cross Reference: ..." */
	font-size: x-large;
	font-weight: bold;
	margin-right: 1em;
	float: right;
}

#Masthead {
	clear: left;
}

#Masthead tt { /* slashes in the xref: line */
}

#sbar, #bar { /* full search and default navbar */
	border-top: 4px solid #ffc726;
	margin: 0;
	padding-top: 1ex;
	clear: both;
}

/* *** full search navbar *** */
#qtbl, #ptbl {
	display: inline-block;
	vertical-align: top;
} 

#qtbl tr {
	background: none; /* remove alternating colors */
}

#ptbl > p {
	text-align: center;
	white-space: nowrap;
	margin: 0.5ex 1ex;
}

#qtbl td:first-child {
    width: 10ex;
    text-align: right;
}

#qtbl td:nth-child(2) {
	width: 45ex;
}

#qtbl input.q {
	width: 100%;
}

#ptbl {
	margin-left: 2em;
}

#ptbl button {
	font-size: small;
}	

#ptbl button:first-of-type {
	margin-left: 1em;
}

#ptbl select {
	width: 100%;
}

#ptbl option {
	padding: 0 1ex;
}

#sbox > p:last-of-type {
	white-space: nowrap;
	/* 11ex = width(#qtbl td:first-child) + margin-left(body) */
	margin: 1ex 0 0.5ex 11ex;
}

#sbox > p:last-of-type > :nth-child(n+2) {
	margin-left: 1ex;
}

/* *** default navbar *** */
#bar {
	padding: 0.2em 0.5em;
}

#bar ul { /* every list item is displayed as a "menu" item */
	display: inline-block;
	list-style: none outside none;
	margin: 0;
	padding: 0;
	/* white-space: nowrap; */ /* hmm, sometimes good, sometimes not ;-) */
}

#bar li { /* menu items */
	display: inline-block;
}

#history::before, #bar .annotate::before, #line::before, #defbox::before, #download::before, #raw::before {
	content: "|";
	padding: 0.5ex;
	color: black;
	font-size: large;
	font-weight: normal;
}

#search {
	margin-left: 0.5ex;
}

#annotate.c, #history.c { /* indicate annotation/history available */
	color: #666;
}

input.q { /* text input fields */
	background-color: #ffffff;
	border: 1px solid #bbbbff;
}

input.submit { /* start search button , clear button */
	font-weight: bold;
}

#sortfield {
	display: inline-block;
	margin-left: 6ex;
}

#sortfield label {
	margin-right: 1ex;
}

#sortfield label:after {
	content: ": ";
}

#sortby li:nth-child(n+2) :first-child::before {
    content: "|";
    padding: 0 1ex;
	font-size: large;
	font-weight: normal;
}

/* ############### end of header ############## */


/* ############### start of content ############## */
#content {
	position: fixed;
	left: 0;
	right: 0;
	overflow: auto;
	padding: 1ex; /* should be the same as body's margin */
}


/* *** help page *** */
#help dfn { /* definitions */
	text-decoration: underline;
}

#help .fields, #help .example {
	margin-left: 3em;
}

#help dt {
	font-weight: bold;
}


/* *** more page ***/
#more {
	line-height: 1.25em;
}

#more b { /* highlight matches */ 
	background-color: #ffff99;
}


/* *** history page *** */
table#revisions {
	/* width: 100%; */ /* table with the history info for a file */
	/* border-collapse: collapse; */ /* looks better with a small divider */
}

#revisions a.h	{ /* modified file list content */
	font-size: small;
	margin-left: 2em;
}

#revisions .filelist-hidden { /* "Hide modified files" */
	display: none;
}

#revisions tr.revtags { /* "Show revision tags" */
	display: table-row;
}

#revisions span.revtags { /* "Show revision tags" */
	display: inline;
}

#revisions tr.revtags-hidden, #revisions span.revtags-hidden { /* "Hide revision tags" */
	display: none;
}

#revisions td {
	padding: 0.5ex;
	text-align: center;
}

#revisions td:first-child {
	/* rev number - git/mercurial revs numbers look bad with prop. fonts */
	font-family: monospace;
	text-align: right;
}

#revisions td > p {
	/* log message in comment column */
	margin: 0;
	text-align: left;
}

#revisions td > div {
	/* modified file list in comment column */
	font-family: monospace;
	text-align: left;
	float: left;
}

#revisions tbody td.revtags { /* tags row */
        text-align: left;
        color: #777777;
}

.rssbadge { /* RSS/XML Feed on history page */
	text-align: right;
	margin: 1ex 0;
}


/* *** diff page *** */
#diffbar { /* diff navbar: contains the tabs to select diff format */
	margin-top: 1.5ex;
	border-bottom: 1px solid #999;
	white-space: nowrap;
}

#diffbar .d, #difftable .d {
	/* "Deleted" heading + highlight of deleted text in diff lines */
	background-color: #ffcc40;
}

#diffbar .a, #difftable .a {
	/* "Added" heading + highlight of added text in diff lines */
	background-color: #8bd98b;
}

#diffbar .legend, #diffbar .tabs, #diffbar .ctype {
	display: inline-block;
}

#diffbar .legend {
	/* bottom must be the same as .tabs span(padding-bottom) */
	margin: 0 3ex 0.75ex 1ex;
}

#diffbar .legend span, #diffbar .ctype span {
	padding: 0.2ex 1ex; /* bottom must be less than margin-bottom(.legend) */
}

#diffbar .tabs span {
	padding: 0.75ex 1ex;
	margin-left: 1ex;
	border: 1px solid #999; /* should be the same as for #diffbar above */
	border-radius: 0.75ex 0.75ex 0 00;
	-moz-border-radius: 0.75ex 0.75ex 0 00;
	background-color: #fafae0; /* navbar like */
}

#diffbar .tabs span.active, #diffbar .ctype span.active {
	background-color: #c5d5a9; /* same as for table thead */
}

#diffbar .tabs span.active {
	border-bottom-style: dashed;
}

#diffbar .ctype {
	margin-left: 3ex; /* see margin-left .legend */
}

#diffbar .ctype span {
	border: 1px solid #755; /* same as for input */
	border-radius: 0.75ex;
	-moz-border-radius: 0.75ex;
	background-color: #fafae0; /* navbar like */
	margin-left: 1ex;
}

#difftable {
	font-size: small;
}

#difftable table { /* left side == prev. rev; right side "current" rev */
	table-layout: fixed;
	border-collapse: collapse;
}

#difftable table th { /* usually both rev. have changes: eq. space for both */
	padding-top: 1ex;
	width: 50%;
}

#difftable th:last-child, #difftable td:last-child {
	border-left: 1px solid black;
}

#difftable .plain td {
	padding: 2px;
}

#difftable .image td {
	padding: 5px;
}

#difftable .k { /* border between the context and real diff lines */
	border-bottom: 1px dashed #ccc;
}


/* *** list aka xref stuff *** */

/* directory listing */
table#dirlist { /* the "Name" column */
	font-family: monospace;
	border-style: none;
	border-collapse: collapse;
}

#dirlist .r, #dirlist .p {
	padding: 0;
	margin: 0 0 0 1em;
}

#dirlist td:nth-child(n+3) { /* all but the first 2 columns */
	padding-right: 1em;
}

#dirlist tbody td:nth-child(5) {
	text-align: right; /* CSS3 may allow " " (single space char) */
}

#dirlist td.q { /* 2nd column: H A D */
	white-space: nowrap;
	font-size: small;
	padding-left: 16px;
	width: 3em;
}

/* file display */
div[id^='src'] {
}

div[id^='src'] pre {
	margin: 0;
}

div[id^='src'] .l-hide, #src .hl-hide, .blame-hidden { /* hidden line number/annotation block */
	display: none
}

div[id^='src'] .l, div[id^='src'] .hl, .blame .r, .blame .a,
#results .l, #more .l,
#difftable i, del.d { /* line number/annotation block */
	display: inline-block;
	width: 6ex;
	text-align: right;
	padding-right: 0;
	background-color: #dddddd;
	color: #666;
	margin-right: .5ex;
}

.blame .search {
	/* font-size: small; */
        padding-left: .5ex;
	background-color: #dddddd;
        margin-right: .5ex;
}

div[id^='src'] .hl { /* highlighted line number */
	color: #000;
}

/* highlight line number with anchor */
div[id^='src'] a.l:target, div[id^='src'] a.hl:target {
	background: orange;
	color:yellow;
}

.blame .r { /* revision number "column" (annotation) */
	text-align: right;
}

.blame .a { /* author name "column" (annotation) */
	text-align: center;
}

/* source code highlighting - see org/opengrok/analysis/$lang/*Xref.lex */
div[id^='src'] .n		{ /* numbers/label */	color: #a52a2a; }
div[id^='src'] .s		{ /* strings */			color: green; }
div[id^='src'] .c		{ /* comment */			color: #666; }
div[id^='src'] .b		{ /* heading/title/bold */	color: #000; font-weight: bold; }
div[id^='src'] .k		{ /* block display */ 	color: #000; font-family: monospace; }
div[id^='src'] a.d	{ /* symbol definition */	color: #909; font-weight: bold; }

a.xm	{ /* macro */			color: #c66; font-weight: bold; }
a.xa	{ /* argument */		color: #60c; font-weight: bold; }
a.xl	{ /* local */			color: #963; font-weight: bold; }
a.xv	{ /* variable */		color: #c30; font-weight: bold; }
a.xc	{ /* class */			color: #909; font-weight: bold; font-style: italic; }
a.xp	{ /* package */			color: #909; font-weight: bold; font-style: italic; }
a.xi	{ /* interface */		color: #909; font-weight: bold; font-style: italic; }
a.xn	{ /* namespace */		color: #909; font-weight: bold; font-style: italic; }
a.xe	{ /* enum */			color: #909; font-weight: bold; font-style: italic; }
a.xer	{ /* enumerator */		color: #909; font-weight: bold; font-style: italic; }
a.xs	{ /* struct */			color: #909; font-weight: bold; font-style: italic; }
a.xt	{ /* typedef */			color: #909; font-weight: bold; font-style: italic; }
a.xts	{ /* typedefs */		color: #909; font-weight: bold; font-style: italic; }
a.xu	{ /* union */			color: #909; font-weight: bold; font-style: italic; }
a.xfld	{ /* field */			color: #090; font-weight: bold; }
a.xmb	{ /* member */			color: #090; font-weight: bold; }
a.xf	{ /* function */		color: #00f; font-weight: bold; }
a.xmt	{ /* method */			color: #00f; font-weight: bold; }
a.xsr	{ /* subroutine */		color: #00f; font-weight: bold; }

#man table, #man td  { /* #man == troff src */
	background-color: #ddddcc;
	border: 1px;
	padding: 2px;
}

#man p { /* a troff paragraph */
	margin-top: 0.5em;
	margin-bottom: 0;
}

#man div.b { /* man section headings etc. */
	margin-top: 2em;
}

#man div.rs { /* a right-shifted block */
	margin-left: 3em;
	margin-bottom: 1em;
}

/* "Navigate" Popup */
.sym_list_style {
	position: absolute;
	top: 100px;
	left: 100px;
	width: 100px;
	height: 100px;
	overflow: auto;
	z-index: 10;
	border: solid 1px #c0c0c0;
	background-color: rgba(255,255,204,0.75);
	color: #000;
	font-size: 12px;
	font-family: monospace;
	padding: 5px;
}

.sym_list_style_hide {
	display: none;
}

/* search result page */
#results {
}

#results p { /* pagetitle and slider */
	padding: 0.1em;
}

#results table {
	border-collapse: collapse;
	width: 100%;
} 

#results .dir { /* directory row above matched files */
	background-color: #c5d5a9;
}

#results .dir td { /* directory link */
	padding-left: 1em;
}

#results .l {
}

#results td.q { /* 1st column: H A D */
	white-space: nowrap;
	font-size: xx-small;
	padding: 3px;
	width: 3em;
}

#results td.f { /* 2nd column: filename */
	width: 3em;
	padding: 3px 0.5em 3px 2em;
}

#results .con { /* 3rd column: line number + matched line contents */
	font-size: small;
}

#results .con .all {
	margin-left: 6ex; /* width(div[id^='src'] .l) + 1ex */
}

#results .s, #more .s { /* matched line contents */
	color: #000;
}

#results i { /* match type description (method, interface etc.) */ 
	color: green;
	font-weight: bold;
	padding-left: 1ex;
}

#results .sel { /* slider item for the shown search result page */
	background-color: #a3b8cb;
	border: 1px #333366 solid;
	padding: .5em;
	margin: 1px;
}

#results .more { /* slider item for the n-th search result page */
	border: 1px #bba solid;
	padding: .3em;
	margin: 1px;
}

/* ############### start of footer ############## */
#footer {
	color: #777777;
	font-size: small;
	margin: 1ex 0;
}

#footer p { /* footer text */
	padding: 0;
	margin: 0.2em;
	text-align: center;
}

#fti { /* servedby.png */
	display: inline-block;
	width: 208px;
	height: 45px;
	vertical-align: middle;
	background-image: url(./img/combined.png);
	background-repeat: no-repeat;
	background-position: -171px 0;
}
#rssi { /* rss.png */
	display: inline-block;
	width: 80px;
	height: 15px;
	vertical-align: middle;
	background-image: url(./img/combined.png);
	background-repeat: no-repeat;
	background-position: -459px 0;
}
/* ############### end of footer ############## */

