/*
 * Noser signature html output v$version$
 */

/* default link style*/
a.default:link      {color: blue; text-decoration: none}
a.default:hover     {color: blue; text-decoration: underline;}
a.default:visited   {color: blue; text-decoration: none}

/* discreet link style */
a.discreet:link     {color: black; text-decoration: none}
a.discreet:visited  {color: black; text-decoration: none}
a.discreet:hover    {color: black; text-decoration: underline;}

ul { 
	list-style-type: none 
}

.body {
	margin: 10px;
}

.header {
    position:relative;
	width: 100%;
	
}

.logo {
	left:0px;
}
.specbox {
    position:absolute;
	right:0px;
	top:0px;
}

.content {
	width: 100%;
	position: relative;
	top:75px;
}


