
	// derived colors

	var	wzline0 = wzliteblue;
	var	wzline1	= wzlitegray;

	// master font attributes

	var fontFamily;

	var fontSize1;
	var fontSize2;
	var fontSize3;
	var fontSize4;

	var px11;
	var px10;

	// produce styles

	if ( ECS__IE )
	{
		if ( ECS__Mac || ECS__Unix )
		{
        	fontFamily = 'font-family: Verdana, Arial, Helvetica, sans-serif; ';

			fontSize1 = 'font-size: x-small; ';
			fontSize2 = 'font-size: small; ';
			fontSize3 = 'font-size: medium; ';
			fontSize4 = 'font-size: large; ';

            px11 = '17px';
            px10 = '16px';
		}
		else
		{
        	fontFamily = 'font-family: Verdana, Arial, Helvetica, sans-serif; ';

			fontSize1 = 'font-size: xx-small; ';
			fontSize2 = 'font-size: x-small; ';
			fontSize3 = 'font-size: small; ';
			fontSize4 = 'font-size: medium; ';

            px11 = '11px';
            px10 = '10px';
		}
	}
	else
	{
		if ( ECS__Mac || ECS__Unix )
		{
        	fontFamily = 'font-family: Helvetica, sans-serif; ';

			fontSize1 = 'font-size: medium; ';
			fontSize2 = 'font-size: medium; ';
			fontSize3 = 'font-size: large; ';
			fontSize4 = 'font-size: large; ';

            px11 = '17px';
            px10 = '16px';
		}
		else
		{
        	fontFamily = 'font-family: Verdana, Arial, Helvetica, sans-serif; ';

			fontSize1 = 'font-size: x-small; ';
			fontSize2 = 'font-size: small; ';
			fontSize3 = 'font-size: medium; ';
			fontSize4 = 'font-size: medium; ';

            px11 = '11px';
            px10 = '10px';
		}
	}

	// create the style section

	var	s = '<style type="text/css">';

	// all basic font styles

	s += '.f1	{ ' + fontFamily + fontSize1 + ' }';
	s += '.f1w	{ ' + fontFamily + fontSize1 + 'color: ' + wzwhite + '; }';
	s += '.f1b	{ ' + fontFamily + fontSize1 + 'font-weight: bold; }';
	s += '.f1wb { ' + fontFamily + fontSize1 + 'font-weight: bold; color: ' + wzwhite + '; }';
	s += '.f1i	{ ' + fontFamily + fontSize1 + 'font-style: italic }';

	s += '.f2	{ ' + fontFamily + fontSize2 + ' }';
	s += '.f2w	{ ' + fontFamily + fontSize2 + 'color: ' + wzwhite + '; }';
	s += '.f2b	{ ' + fontFamily + fontSize2 + 'font-weight: bold; }';
	s += '.f2wb { ' + fontFamily + fontSize2 + 'font-weight: bold; color: ' + wzwhite + '; }';
	s += '.f2i	{ ' + fontFamily + fontSize2 + 'font-style: italic }';

	s += '.f3	{ ' + fontFamily + fontSize3 + ' }';
	s += '.f3w	{ ' + fontFamily + fontSize3 + 'color: ' + wzwhite + '; }';
	s += '.f3b	{ ' + fontFamily + fontSize3 + 'font-weight: bold; }';
	s += '.f3wb { ' + fontFamily + fontSize3 + 'font-weight: bold; color: ' + wzwhite + '; }';

	s += '.f4	{ ' + fontFamily + fontSize4 + ' }';
	s += '.f4w	{ ' + fontFamily + fontSize4 + 'color: ' + wzwhite + '; }';
	s += '.f4b	{ ' + fontFamily + fontSize4 + 'font-weight: bold; }';
	s += '.f4wb { ' + fontFamily + fontSize4 + 'font-weight: bold; color: ' + wzwhite + '; }';

	// usage report styles

	s += 'TABLE.Report { border-color: ' + wzblack + '; }';
	s += 'TABLE.UsageReportQuery { margin: 0px; border: 0px; }';
	s += 'TABLE.BandwidthReport { margin: 0px; border: 0px; }';

	s += 'TD.ReportCaption { background: ' + wzverydarkblue + '; color: ' + wzwhite + '; text-align: left; ' + fontFamily + ' font-weight: bold; ' + fontSize3 + ' padding-left: 5px; padding-right: 5px; padding-top: 1px; padding-bottom: 1px }';
	s += 'TH.Report { background: ' + wzverydarkblue + '; color: ' + wzwhite + '; ' + fontFamily + ' font-weight: normal; font-size: 90%; padding-left: 5px; padding-right: 5px; padding-top: 1px; padding-bottom: 1px }';
	s += 'TH.BandwidthReport { background: ' + wzverydarkblue + '; color: ' + wzwhite + '; ' + fontFamily + ' font-weight: normal; font-size: 90%; padding-left: 5px; padding-right: 5px; padding-top: 1px; padding-bottom: 1px }';
	s += 'TD.Report { color: ' + wzblack + '; vertical-align: top; ' + fontSize2 + ' }';
	s += 'TD.UsageReportQuery{ color: ' + wzblack + '; vertical-align: top; ' + fontSize2 + ' }';
	s += 'TD.BandwidthReport { color: ' + wzblack + '; vertical-align: top; ' + fontSize2 + ' }';

	// body style

	s += '.body { margin: 4; background-color: ' + wzwhite + '; color: ' + wzblack + '; }';

	// banner and footer areas

	if ( moab )
	{
		s += '.wzbanner { background-image: url(\'' + ECS__Image + 'gradient,100,65,' + escape( wzverydarkblue ) + ',' + escape( wzmediumblue ) + '.png\'); }';
		s += '.wzbannerdark {}';
		s += '.wzbannerlite {}';

		s += '.footer { background-image: url(\'' + ECS__Support + 'moab/footer.gif\'); height=28; }';

		s += 'A.footlink { color: ' + wzblack + '; }';
		s += 'A:hover.footlink { color: ' + wzgray + '; }';
	}
	else
	{
		s += '.wzbanner {}';
		s += '.wzbannerdark { background-color: ' + wzverydarkblue + '; color: ' + wzwhite + '; }';
		s += '.wzbannerlite { background-color: ' + wzdarkblue + '; color: ' + wzwhite + '; }';

		s += '.footer { background-color: ' + wzverydarkblue + '; color: ' + wzliteblue + '; }';

		s += 'A.footlink { color: ' + wzliteblue + '; }';
		s += 'A:hover.footlink { color: ' + wzwhite + '; }';
	}

	// caption and path lines of header

	s += '.caption { background-color: ' + wzverydarkblue + '; color: ' + wzliteblue + '; }';
	s += '.showpath { background-color: ' + wzveryverydarkblue + '; color: ' + wzwhite + '; }';

	// general styles

	s += '.header { background-color: ' + wzverydarkblue + '; color: ' + wzwhite + '; }';
    s += '.banner { background-color: ' + wzdarkblue + '; }';

	s += '.toplink { color: ' + wzliteblue + '; }';

	s += '.cat    { ' + fontFamily + fontSize2 + '; font-weight: bold; }';
	s += '.subcat { margin-left: 30px; ' + fontSize1 + ' }';

	s += '.rbox   { background-color: ' + wzwhite + '; }';
	s += '.rbox0  { background-color: ' + wzwhite + '; }';
	s += '.rbox1  { background-color: ' + wzliteblue + '; }';

	s += '.rfield  { ' + fontFamily + fontSize2 + 'background-color: ' + wzliteblue + '; color: ' + wzblack + '; padding-left: 0.4em; padding-right: 0.4em; text-align: right; }';
	s += '.field  { ' + fontFamily + fontSize2 + 'background-color: ' + wzliteblue + '; color: ' + wzblack + '; padding-left: 0.4em; padding-right: 0.4em }';
	s += '.rule   { background-image: url(\'' + ECS__Image + 'rule,100,20,' + escape( wzmediumblue ) + ',' + escape( wzliteblue ) + '.png\'); ' + fontFamily + ' font-size: 70%; white-space: nowrap; }';

	// list rows

	s += '.line0  { background-color: ' + wzwhite + '; color: ' + wzblack + '; }';
	s += '.line1  { background-color: ' + wzliteblue + '; color: ' + wzblack + '; }';

	// popup boxes

	s += '.box0   { border: solid 1 ' + wzblack + '; background-color: ' + wzpopup + '; }';
	s += '.box1   { border: solid 1 ' + wzblack + '; background-color: ' + wzpopup + '; }';

	s += '.nobox0 { border: solid 1 ' + wzwhite + '; background-color: ' + wzwhite + '; }';
	s += '.nobox1 { border: solid 1 ' + wzliteblue + '; background-color: ' + wzliteblue + '; }';

	s += '.noboxveryverydarkblue { border: solid 1 ' + wzveryverydarkblue + '; background-color: ' + wzveryverydarkblue + '; }';
	s += '.noboxverydarkblue { border: solid 1 ' + wzverydarkblue + '; background-color: ' + wzverydarkblue + '; }';
	s += '.noboxdarkblue { border: solid 1 ' + wzdarkblue + '; background-color: ' + wzdarkblue + '; }';
	s += '.noboxmediumblue { border: solid 1 ' + wzmediumblue + '; background-color: ' + wzmediumblue + '; }';
	s += '.noboxverylitegray { border: solid 1 ' + wzverylitegray + '; background-color: ' + wzverylitegray + '; }';

	// general anchor styles

	s += 'A { color: ' + wzclick + '; }';
	s += 'A:hover { color: ' + wzclickhover + '; }';

	s += 'A.headerlink { color: ' + wzwhite + '; }';
	s += 'A:hover.headerlink { color: ' + wzliteblue + '; }';

	s += 'A.hiddenheaderlink { color: ' + wzwhite + '; text-decoration: none; }';
	s += 'A:hover.hiddenheaderlink { color: ' + wzliteblue + '; text-decoration: none; }';

	s += 'A.hiddeninactiveheaderlink { color: ' + wzliteblue + '; text-decoration: none; }';
	s += 'A:hover.hiddeninactiveheaderlink { color: ' + wzwhite + '; text-decoration: none; }';

	s += 'A.sortlink { color: ' + wzblack + '; }';
	s += 'A:hover.sortlink { color: ' + wzdarkgray + '; }';

	s += 'A.blacklink { color: ' + wzblack + '; }';
	s += 'A:hover.blacklink { color: ' + wzblack + '; }';

	s += 'A.hiddenblacklink { color: ' + wzblack + '; text-decoration: none; }';
	s += 'A:hover.hiddenblacklink { color: ' + wzblack + '; text-decoration: none; }';

	s += 'A.whitelink { color: ' + wzwhite + '; }';
	s += 'A:hover.whitelink { color: ' + wzwhite + '; }';

	s += 'A.hiddenwhitelink { color: ' + wzwhite + '; text-decoration: none; }';
	s += 'A:hover.hiddenwhitelink { color: ' + wzwhite + '; text-decoration: none; }';

	s += 'A.pathlink { color: ' + wzwhite + '; }';
	s += 'A:hover.pathlink { color: ' + wzliteblue + '; }';

	s += 'A.hiddenpathlink { color: ' + wzwhite + '; text-decoration: none; }';
	s += 'A:hover.hiddenpathlink { color: ' + wzliteblue + '; text-decoration: none; }';

	s += 'A.activepathlink { color: ' + wzdarkblue + '; }';
	s += 'A:hover.activepathlink { color: ' + wzwhite + '; }';

	s += 'A.hiddenactivepathlink { color: ' + wzdarkblue + '; text-decoration: none; }';
	s += 'A:hover.hiddenactivepathlink { color: ' + wzwhite + '; text-decoration: none; }';

	s += 'A.infolink {}';
	s += 'A:hover.infolink {}';

	s += 'A.infolinkbold { font-weight: bold; }';
	s += 'A:hover.infolinkbold { font-weight: bold; }';

	s += 'A.bodylink { color: ' + wzdarkblue + '; }';
	s += 'A:hover.bodylink { color: ' + wzverydarkblue + '; }';

	// colors as styles

	s += '.wzverydarkblue { background-color: ' + wzverydarkblue + '; color: ' + wzwhite + '; }';
	s += '.wzdarkblue { background-color: ' + wzdarkblue + '; color: ' + wzwhite + '; }';
	s += '.wzmediumblue { background-color: ' + wzmediumblue + '; color: ' + wzblack + '; }';
	s += '.wzliteblue { background-color: ' + wzliteblue + '; color: ' + wzwhite + '; }';
	s += '.wzliteblueblack { background-color: ' + wzliteblue + '; color: ' + wzblack + '; }';
	s += '.wzwhite { background-color: ' + wzwhite + '; color: ' + wzblack + '; }';
	s += '.wzdarkgray { background-color: ' + wzdarkgray + '; color: ' + wzwhite + '; }';
	s += '.wzgray { background-color: ' + wzgray + '; color: ' + wzblack + '; }';
	s += '.wzmediumgray { background-color: ' + wzlitegray + '; color: ' + wzblack + '; }';
	s += '.wzlitegray { background-color: ' + wzlitegray + '; color: ' + wzblack + '; }';
	s += '.wzverylitegray { background-color: ' + wzverylitegray + '; color: ' + wzblack + '; }';
	s += '.wzblack { background-color: ' + wzblack + '; color: ' + wzwhite + '; }';

	// complete the styles

	s += '</style>';

	// write the styles

	document.write( s );

