/* -- */
/* general section */
/* -- */

a {text-decoration: underline}
a:link, a:visited {color: white}
a:hover, a:active {color: #7acccc}

a img {
	position: absolute;
	z-index: 70;
	border: 0px;
	overflow: hidden;
}

a:link img, a:visited img, a:link object, a:visited object {opacity: 0.6; -moz-opacity: 0.6; filter: alpha(opacity=60)}
a:hover img, a:active img, a:hover object, a:active object {opacity: 0.99; -moz-opacity: 0.99; filter: alpha(opacity=99)}

fieldset {
	border: 0px;
	margin: 0px;
	padding: 0px;
}

.round_button {
	display: block;
	position: absolute;
	z-index: 70;
}

a.round_button:link, a.round_button:visited {opacity: 0.99; -moz-opacity: 0.99; filter: alpha(opacity=99); background-position: bottom left}
a.round_button:hover, a.round_button:active {opacity: 0.99; -moz-opacity: 0.99; filter: alpha(opacity=99); background-position: bottom right}

html {
	height: 100%;
	margin: 0;
	background: #111315 url(../deco/background_concrete.png);
}

body {
	height: 100%;
	margin: 0;
	background: url(../deco/gene_background.gif) top center repeat-y;
	color: #cfcfcf;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
}

#gen_content {
	position: relative;
	margin: 0px auto;
	padding: 15px 0px;
	width: 940px;
	height: auto;
	background: url(../deco/gene_background.gif);
}

.rack {
	position: relative;
	z-index: 10;
	margin: 15px auto;
	padding: 0px 20px;
	width: 900px;
	background: url(../deco/rack_middle.gif);
}

.rack_corner {
	position: absolute;
	z-index: 20;
	left: 0px;
	width: 940px;
	height: 20px;
}

.rack_top {
	top: 0px;
	background: url(../deco/rack_top.gif);
}

.rack_bottom {
	bottom: 0px;
	background: url(../deco/rack_bottom.gif) bottom;
}

.rack_bottom_short {
	bottom: 0px;
	background: url(../deco/rack_bottom_short.gif) bottom;
}

/* the abs_float trick :
'position: absolute' refers to the closest positioned parent container
if the immediate parent is 'float: xx', the absolute position refers to another parent's position, hence misplacement
the trick is to insert a placeholder div that takes up all the space of the floated container, with 'position: relative'
then child elements with relative or absolute positions are correctly positioned against the placeholder
*/

.abs_float {
	position: relative;
	z-index: 40;
	width: 100%;
	height: 100%;
}

.section {
	float: left;
	height: 100%;
}

.section_corner {
	position: absolute;
	z-index: 40;
	width: 100%;
	height: 100%;
}

.section_bottom_left {
	bottom: 0px;
	left: 0px;
	background: url(../deco/section_bottom_left.gif) bottom left;
}

.section_top_right {
	top: 0px;
	right: 0px;
	background: url(../deco/section_top_right.gif) top right;
}

.insert_thin, .insert_thick {
	position: absolute;
	z-index: 50;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	margin: 0px auto;
/*	left _and_ right _and_ auto margin are useful
	the element is auto-positioned within the remaining space between left and right, unless it has overiding properties (excepted width) */
	background: url(../deco/insert_background.gif) #111315;
	font-family: 'Courier New', Courier, mono;
	font-size: 12px;
	overflow: hidden;
	color: #999999;
}

.insert_corner {
	position: absolute;
	z-index: 40;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
}

.insert_bottom_left {background: url(../deco/insert_bottom_left.gif) bottom left}
.insert_top_right {background: url(../deco/insert_top_right.gif) top right}

.insert_thin .insert_top_right {top: -1px; right: -1px}
.insert_thin .insert_bottom_left {bottom: -1px; left: -1px}

.line {
	position: relative;
	z-index: 70;
	padding: 1px 3px;
	line-height: 14px;
	overflow: hidden;
}

.line a:link, .line a:visited {color: gray}
.line a:hover, .line a:active {color: black; background-color: gray; font-weight: bold}

#gen_copyright {
	display: block;
	padding: 7px 0px;
	width: 100%;
	text-align: center;
	color: gray;
}

#gen_copyright a:link, #gen_copyright a:visited {color: gray}
#gen_copyright a:hover, #gen_copyright a:active {color: #7acccc}

/* -- */
/* sections section */
/* -- */

/* flags section */

#flags_section {
	width: 30px;
	background: url(../deco/flags_section_frame.gif) no-repeat;
}

#flags_section a img {
	left: 6px;
	width: 18px;
	height: 9px;
}

/* site/blog section */

#siteblog_section {
	width: 70px;
	background: 3px 0px;
}

#site, #blog {
	left: 7px;
	width: 57px;
	height: 19px;
}

#site {
	top: 3px;
	background-image: url(../deco/site.gif);
}

#blog {
	top: 24px;
	background-image: url(../deco/blog.gif);
}

/* log section */

#log_section {background: url(../deco/log_section_frame.gif) 1px 0px}

.log_cell {
	display: block;
	float: left;
	width: 55px;
	height: 100%;
}

#log_section a img {
	top: 7px;
	left: 10px;
	width: 45px;
	height: 30px;
}

.leds {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 45px;
}

#red_leds {background: url(../deco/log_section_leds.gif)}
#mask_leds {background: url(../map/deco/log_section_mask.gif)}

/* search section */

#search_section {
	width: 200px;
	background: no-repeat 10px 5px;
}

#search_section img {
	position: absolute;
	top: 5px;
	left: 10px;
}

#search_frame {
	top: 20px;
	left: 10px;
	right: 10px;
	bottom: 7px;
	background: none #1a1d20;
}

#search_section input {
	position: relative;
	margin: 1px;
	width: 98%;
	z-index: 70;
	border: 0;
	color: #7acccc;
	background-color: transparent;
	font: inherit;
}

#search_result {
	outline: 1px dotted gray;
	position: absolute;
	z-index: 80;
	top: 38px;
	left: 10px;
	right: 10px;
	visibility: hidden;
	padding: 3px;
	background: #1a1d20;
	list-style: none;
	white-space: nowrap;
	overflow: hidden;
	font-family: 'Courier New', Courier, mono;
	font-size: 12px;
}

#search_result .passive	{color: #999999}
#search_result .active	{background-color: #3875d7; color: white}

#search_result a {
	display: block;
	width: 100%;
	color: inherit;
	text-decoration: none;
}

#rss {
	left: auto;
	width: 17px;
	height: 17px;
}

#rss_link {
	position: absolute;
	top: 1px;
	left: 1px;
	width: 15px;
	height: 15px;
}

#rss_link img {
	width: 15px;
	height: 15px;
}

/* -- */
/* webring rack */

#webring_rack {
	margin: 15px auto;
	padding: 5px 20px;
	height: 20px;
	text-align: center;
}

#webring_frame { /* with .insert_thin */
	padding: 2px;
	width: 630px;
	height: 16px;
}

#webring_rack a {text-decoration: none}

#webring_rack a img {
	position: relative;
	vertical-align: bottom;
}

/* NB :

z-indexes:	0 = real background
			10 = rack
			20 = rack frame/borders
			30 = section
			40 = section frame/borders
			50 = insert
			60 = insert frame/borders
			70 = actual content/links
*/