/*
 * Copyright (c) 2005, 2006 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 *
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * IBM Corporation - initial implementation
 */

body
{
	background-image: none;
	background-color: white;
 	font-family: Arial, Helvetica, sans-serif;
 	font-size: 10pt
}

body.navbuttons
{
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px
}

.bgwhite
{ 
	 background-color: #ffffff
} 

.buttons
{
   	background-color: #efefef;
	color: #000000;
	font-family: Verdana, Arial, Helvetica, sans-serif;	
	font-size: 10px;
	text-decoration: none	
}

.buttonon 
{
	background-color: #dedede;
	color: #000000;
	font-family: Verdana, Arial, Helvetica, sans-serif;	
	font-size: 10px;
	text-decoration: none;
	vertical-align: middle
} 

td.buttons
{
	vertical-align: middle;
	font-family: Arial, sans-serif;
	font-size: 10pt
}

.iconborder
{ 
	 background-color: #dedede
}

a.buttons:link 
{ 
	color: #000000
}

a.buttons:visited 
{ 
	color: #000000
}

a.buttons:hover 
{ 
	color: #cc0000
}

a.buttons:active
{ 
	color: #cc0000
}

/*for pages with button navigation on top*/  
div.margins20 
{ 	
	margin-left: 7px;
	margin-top: 20px;
	margin-right: 7px
}   


h1
{
	font-family: Arial, sans-serif;
	font-size: large
}
        
h1.banner
{
        text-align: left;
        font-family: Arial, sans-serif;
	  	font-size: large;
	  	text-decoration: underline
}

h2
{
        font-family: Arial, sans-serif;
        font-size: 150%	
}
        
h2.banner
{
        text-align: left;
        font-family: Arial, sans-serif;
        font-size: 150%;
        text-decoration: underline
}

h3
{
        font-family: Arial, sans-serif
}

h4, h5, h6
{
        font-family: Arial, sans-serif;
        margin-left: 0px
}
  
    
a:link
{
    color: #003399
}

a:active
{
    color: #0000ff
}

a:visited
{
    color: #660066
}

dl
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

dt
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

dd
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

p
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        margin-left: 0px
}

p.node
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        margin-left: 15px
        
}

p.exampleheading
{
        font-family: Arial, sans-serif;
        font-weight: bold;
        font-size: 10pt;
        margin-left: 15px
}

p.example
{
	font-family: Arial, Helvetica, sans-serif;
	margin-left: 70px;
}

p.picturetext
{
	text-align: center;
	font-family: sans-serif;
	font-size: 80%;
        margin-left: 70px;
        margin-right: 50px
}

p.definition
{
	background: #ffffcc;
	border: thin double black
}

p.tableheading
{
	font-weight: bold;
        margin-left: 0
}

p.tabletext
{
        margin-left: 0
}

p.paramname
{
   text-align: left
}

p.paramexample
{
   text-align: left;
   color: red
}

p.paramdescription
{
   text-align: left
}

ol
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        margin-left: +45px
}

ol ol
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        margin-left: +23px
}

ol ol ol
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        margin-left: +23px
}

ol.alpha
{
	list-style-type: lower-alpha
}

ul
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
}

ul li
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +20px
	text-align: justify
}


ul ul li
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +10px
	text-align: justify
}


ul ul ul li
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +10px
	text-align: justify
}


ul li.node
{
        text-indent: +10px
	text-align: justify
}

ul li.ck
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +10px
	text-align: justify
}


ul ul li.ck
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +10px
	text-align: justify
}


ul ul ul li.ck
{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +10px;
    	text-align: justify
}


ul.plus
{
        list-style-image: 
}

ul.minus
{
        list-style-image: 
}

ul.ck
{

}

table
{
/*	border: 1;*/
/*	width: 85%;*/
/*	cellspacing: 0;*/
/*	cellpadding: 4;*/
/*	style="border: 1px solid rgb(128,128,128)";*/
/*	bordercolor="#808080";*/
/*	bordercolorlight: #808080;*/
/*	bordercolordark: #808080*/
}

tbody
{
	valign: baseline;
	font-family: Arial, Helvetica, sans-serif
}

th
{
	font-size: smaller
}

td
{
	vertical-align: top;
	font-family: Arial, sans-serif;
	font-size: 10pt
}

td ul
{
	margin-left: +20px;
	font-family: Arial, sans-serif;
	font-size: 10pt
}

font.paramexample
{
   color: red
}

font.imageexample
{
   font-size: smaller
}

/* used for not-included plugins*/
h1.notincludedbanner
{
        background: #FFFFCC;
        text-align: center;
        font-family: Arial, sans-serif;
	  font-size: large;
}


/*the following is used for ibm content*/

h1.ibm
{
        font-family: Arial, sans-serif;
}
        
h1.ibmbanner
{
        text-align: left;
        font-family: Arial, sans-serif;
	  font-size: large;
	 text-decoration: underline
}


    

h2.ibm
{
        font-family: Arial, sans-serif;
}
        
h2.ibmbanner
{
        text-align: left;
        font-family: Arial, sans-serif;
	font-size: 150%; 
	text-decoration: underline;
}

h3.ibm
{
        font-family: Arial, sans-serif;
}

h4.ibm, h5.ibm, h6.ibm
{
        font-family: Arial, sans-serif;
        margin-left: 0px
}

dl.ibm
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

dt.ibm
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

dd.ibm
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}
   
p.ibm
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
       	 margin-left: 0px
}

p.ibmnode
{
        margin-left: 15px
        leftMargin: 15px
}

p.ibmexampleheading
{
        font-family: Arial, sans-serif;
        font-weight: bold;
        font-size: 10pt;
        margin-left: 15px
}

p.ibmexample
{
	margin-left: 70px;
}

p.ibmpicturetext
{
	text-align: center;
	font-family: sans-serif;
	font-size: 80%;
        margin-left: 70px;
        margin-right: 50px
}

p.ibmdefinition
{
	background: #ffffcc;
	border: thin double black
}

p.ibmtableheading
{
	font-weight: bold;
        margin-left: 0
}

p.ibmtabletext
{
        margin-left: 0
}

p.ibmparamname
{
   text-align: left
}

p.ibmparamexample
{
   text-align: left;
   color: red
}

p.ibmparamdescription
{
   text-align: left
}

ol.ibm
{
        margin-left: +45px
}

ol ol.ibm
{
        margin-left: +23px
}

ol ol ol.ibm
{
        margin-left: +23px
}

ol.ibmalpha
{
	list-style-type: lower-alpha
}



ul li.ibm
{
        text-indent: +20px
	text-align: justify
}


ul ul li.ibm
{
        text-indent: +10px
	  text-align: justify
}


ul ul ul li.ibm
{
        text-indent: +10px
	  text-align: justify
}

ul li.ibmnode
{
        text-indent: +10px
	text-align: justify
}

ul li.ibmck
{
        text-indent: +10px
	text-align: justify
}


ul ul li.ibmck
{
        text-indent: +10px
	text-align: justify
}


ul ul ul li.ibmck
{
        text-indent: +10px
	text-align: justify
}

ul.ibmplus
{
        list-style-image: 
}

ul.ibmminus
{
        list-style-image: 
}


ul.ibmck
{

}

table.ibm
{
}

tr.ibm
{
}

td.ibm
{
        vertical-align: top
}

td ul.ibm
{
        margin-left: +20px
}

font.ibmparamexample
{
   color: red
}

font.ibmimageexample
{
   font-size: smaller
}

/*the following is used for real time content*/

h1.reactive
{
        font-family: Arial, sans-serif;
}
        
h1.reactivebanner
{
        
        text-align: left;
        font-family: Arial, sans-serif;
	font-size: large;
	text-decoration: underline;
}

h2.reactive
{
        font-family: Arial, sans-serif;
	font-size: 150%;
}
        
h2.reactivebanner
{
        text-align: left;
        font-family: Arial, sans-serif;
        font-size: 150%;
        text-decoration: underline;
}

h3.reactive
{
        font-family: Arial, sans-serif;
}

h4.reactive, h5.reactive, h6.reactive
{
        font-family: Arial, sans-serif;
        margin-left: 0px
}

dl.reactive
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

dt.reactive
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}
      
dd.reactive
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

p.reactive
{
	font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        margin-left: 0px
}

p.reactivenode
{
        margin-left: 15px
        leftMargin: 15px
}

p.reactiveexampleheading
{
        font-family: Arial, sans-serif;
        font-weight: bold;
        font-size: 10pt;
        margin-left: 15px
}

p.reactiveexample
{
	margin-left: 70px;
}

p.reactivepicturetext
{
	text-align: center;
	font-family: sans-serif;
	font-size: 80%;
        margin-left: 70px;
        margin-right: 50px
}

p.reactivedefinition
{
	background: #ffffcc;
	border: thin double black
}

p.reactivetableheading
{
	font-weight: bold;
        margin-left: 0
}

p.reactivetabletext
{
        margin-left: 0
}

p.reactiveparamname
{
   text-align: left
}

p.reactiveparamexample
{
   text-align: left;
   color: red
}

p.reactiveparamdescription
{
   text-align: left
}

ol.reactive
{
        margin-left: +45px
}

ol ol.reactive
{
        margin-left: +23px
}

ol ol ol.reactive
{
        margin-left: +23px
}

ol.reactivealpha
{
	list-style-type: lower-alpha
}



ul li.reactive
{
	font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +20px
	text-align: justify
}


ul ul li.reactive
{
	font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +10px
	  text-align: justify
}


ul ul ul li.reactive
{
	font-family: Arial, Helvetica, sans-serif;
        font-size: 10pt;
        text-indent: +10px
	  text-align: justify
}

ul li.reactivenode
{
        text-indent: +10px
	text-align: justify
}

ul li.reactiveck
{
        text-indent: +10px
	text-align: justify
}


ul ul li.reactiveck
{
        text-indent: +10px
	text-align: justify
}


ul ul ul li.reactiveck
{
        text-indent: +10px
	text-align: justify
}

ul.reactiveplus
{
        list-style-image: 
}

ul.reactiveminus
{
        list-style-image: 
}


ul.reactiveck
{
}

table.reactive
{
}

tr.reactive
{
}

td.reactive
{
        vertical-align: top
}

td ul.reactive
{
        margin-left: +20px
}

font.reactiveparamexample
{
   color: red
}

font.reactiveimageexample
{
   font-size: smaller
}

/*the following is used for Microsoft content*/

h1.msft
{
        font-family: Arial, sans-serif;
	font-size: large;
}
        
h1.msftbanner
{
        text-align: left;
        font-family: Arial, sans-serif;
	  	 font-size: large;
	  	 text-decoration: underline;
}

h2.msft
{
             font-family: Arial, sans-serif;
        font-size: 150%;	
}
        
h2.msftbanner
{
     text-align: left;
        font-family: Arial, sans-serif;
	 font-size: 150%;
	 text-decoration: underline;
	  	
}

h3.msft
{
        font-family: Arial, sans-serif;
}

h4.msft, h5.msft, h6.msft
{
        font-family: Arial, sans-serif;
        margin-left: 0px
}

dl.msft
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

dt.msft
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}
      
dd.msft
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

p.msft
{
	font-family: Arial, Helvetica, sans-serif;
	 font-size: 10pt;
}

p.msftnode
{
        margin-left: 15px
        leftMargin: 15px
}

p.msftexampleheading
{
        font-family: Arial, sans-serif;
        font-weight: bold;
        font-size: 10pt;
        margin-left: 15px
}

p.msftexample
{
	margin-left: 70px;
}

p.msftpicturetext
{
	text-align: center;
	font-family: sans-serif;
	font-size: 80%;
        margin-left: 70px;
        margin-right: 50px
}

p.msftdefinition
{
	background: #ffffcc;
	border: thin double black
}

p.msfttableheading
{
	font-weight: bold;
        margin-left: 0
}

p.msfttabletext
{
        margin-left: 0
}

p.msftparamname
{
   text-align: left
}

p.msftparamexample
{
   text-align: left;
   color: red
}

p.msftparamdescription
{
   text-align: left
}

ol.msft
{
        margin-left: +45px
}

ol ol.msft
{
        margin-left: +23px
}

ol ol ol.msft
{
        margin-left: +23px
}

ol.msftalpha
{
	list-style-type: lower-alpha
}



ul li.msft
{
        text-indent: +20px
	text-align: justify
}


ul ul li.msft
{
        text-indent: +10px
	  text-align: justify
}


ul ul ul li.msft
{
        text-indent: +10px
	  text-align: justify
}

ul li.msftnode
{
        text-indent: +10px
	text-align: justify
}

ul li.msftck
{
        text-indent: +10px
	text-align: justify
}


ul ul li.msftck
{
        text-indent: +10px
	text-align: justify
}


ul ul ul li.msftck
{
        text-indent: +10px
	text-align: justify
}

ul.msftplus
{
        list-style-image: 
}

ul.msftminus
{
        list-style-image: 
}


ul.msftck
{
}

table.msft
{
}

tr.msft
{
}

td.msft
{
        vertical-align: top
}

td ul.msft
{
        margin-left: +20px
}

font.msftparamexample
{
   color: red
}

font.msftimageexample
{
   font-size: smaller
}

/*the following is used for database content*/

h1.dbms
{
        font-family: Arial, sans-serif;
}
        
h1.dbmsbanner
{
        background: #6a8fbd;
        text-align: center;
        font-family: Arial, sans-serif;
	  font-size: large;
}

h2.dbms
{
        font-family: Arial, sans-serif;
}
        
h2.dbmsbanner
{
        background: #6a8fbd;
        text-align: center;
        font-family: Arial, sans-serif;
}

h3.dbms
{
        font-family: Arial, sans-serif;
}

h4.dbms, h5.dbms, h6.dbms
{
        font-family: Arial, sans-serif;
        margin-left: 0px
}

dl.dbms
{
}

dt.dbms
{
}
      
dd.dbms
{
}

p.dbms
{
        margin-left: 0px
}

p.dbmsnode
{
        margin-left: 15px
        leftMargin: 15px
}

p.dbmsexampleheading
{
        font-family: Arial, sans-serif;
        font-weight: bold;
        font-size: 10pt;
        margin-left: 15px
}

p.dbmsexample
{
	margin-left: 70px;
}

p.dbmspicturetext
{
	text-align: center;
	font-family: sans-serif;
	font-size: 80%;
        margin-left: 70px;
        margin-right: 50px
}

p.dbmsdefinition
{
	background: #ffffcc;
	border: thin double black
}

p.dbmstableheading
{
	font-weight: bold;
        margin-left: 0
}

p.dbmstabletext
{
        margin-left: 0
}

p.dbmsparamname
{
   text-align: left
}

p.dbmsparamexample
{
   text-align: left;
   color: red
}

p.dbmsparamdescription
{
   text-align: left
}

ol.dbms
{
        margin-left: +45px
}

ol ol.dbms
{
        margin-left: +23px
}

ol ol ol.dbms
{
        margin-left: +23px
}

ol.dbmsalpha
{
	list-style-type: lower-alpha
}



ul li.dbms
{
        text-indent: +20px
	text-align: justify
}


ul ul li.dbms
{
        text-indent: +10px
	  text-align: justify
}


ul ul ul li.dbms
{
        text-indent: +10px
	  text-align: justify
}

ul li.dbmsnode
{
        text-indent: +10px
	text-align: justify
}

ul li.dbmsck
{
        text-indent: +10px
	text-align: justify
}


ul ul li.dbmsck
{
        text-indent: +10px
	text-align: justify
}


ul ul ul li.dbmsck
{
        text-indent: +10px
	text-align: justify
}

ul.dbmsplus
{
        list-style-image: 
}

ul.dbmsminus
{
        list-style-image: 
}


ul.dbmsck
{
}

table.dbms
{
}

tr.dbms
{
}

td.dbms
{
        vertical-align: top
}

td ul.dbms
{
        margin-left: +20px
}

font.dbmsparamexample
{
   color: red
}

font.dbmsimageexample
{
   font-size: smaller
}

/*the following is used for large-scale development content*/

h1.large
{
        font-family: Arial, sans-serif;
}
        
h1.largebanner
{
        background: #6a8fbd;
        text-align: center;
        font-family: Arial, sans-serif;
	  font-size: large;
}

h2.large
{
        font-family: Arial, sans-serif;
}
        
h2.largebanner
{
        background: #6a8fbd;
        text-align: center;
        font-family: Arial, sans-serif;
}

h3.large
{
        font-family: Arial, sans-serif;
}

h4.large, h5.large, h6.large
{
        font-family: Arial, sans-serif;
        margin-left: 0px
}

dl.large
{
}

dt.large
{
}
      
dd.large
{
}

p.large
{
        margin-left: 0px
}

p.largenode
{
        margin-left: 15px
        leftMargin: 15px
}

p.largeexampleheading
{
        font-family: Arial, sans-serif;
        font-weight: bold;
        font-size: 10pt;
        margin-left: 15px
}

p.largeexample
{
	margin-left: 70px;
}

p.largepicturetext
{
	text-align: center;
	font-family: sans-serif;
	font-size: 80%;
        margin-left: 70px;
        margin-right: 50px
}

p.largedefinition
{
	background: #ffffcc;
	border: thin double black
}

p.largetableheading
{
	font-weight: bold;
        margin-left: 0
}

p.largetabletext
{
        margin-left: 0
}

p.largeparamname
{
   text-align: left
}

p.largeparamexample
{
   text-align: left;
   color: red
}

p.largeparamdescription
{
   text-align: left
}

ol.large
{
        margin-left: +45px
}

ol ol.large
{
        margin-left: +23px
}

ol ol ol.large
{
        margin-left: +23px
}

ol.largealpha
{
	list-style-type: lower-alpha
}



ul li.large
{
    text-indent: +20px;
	text-align: justify
}


ul ul li.large
{
    text-indent: +10px;
	text-align: justify
}


ul ul ul li.large
{
    text-indent: +10px;
	text-align: justify
}

ul li.largenode
{
    text-indent: +10px;
	text-align: justify
}

ul li.largeck
{
    text-indent: +10px;
	text-align: justify
}


ul ul li.largeck
{
    text-indent: +10px;
	text-align: justify
}


ul ul ul li.largeck
{
    text-indent: +10px;
	text-align: justify
}

ul.largeplus
{
    list-style-image: 
}

ul.largeminus
{
    list-style-image: 
}


ul.largeck
{
}

table.large
{
}

tr.large
{
}

td.large
{
        vertical-align: top
}

td ul.large
{
        margin-left: +20px
}

font.largeparamexample
{
   color: red
}

font.largeimageexample
{
   font-size: smaller
}

rpw
{
  color: #000066
}

rpw.process_component
{
  color: green
}

rpw.process_component.remove_text
{
  color: green;
  background-color: #CCCCCC;
  text-decoration: line-through
}
/*was color: #FFCC99*/ 

rpw.remove_text
{
  color: green;
  background-color: #CCCCCC;
  text-decoration: line-through
}

rpw.plugin_process_component
{
  color: red
}

rpw.plugin_remove_text
{
  color: red;
  background-color: #CCCCCC;
  text-decoration: line-through
}

rpw.rpw_comment
{
  color: gray;
  font-style: oblique
}


rpw.msft
{
  color: blue
}

rpw.ibm
{
  color: blue
}

rpw.reactive
{
  color: red
}

rpw.busmod
{
  color: red
}

rpw.rup_rt_design
{
  color: green
}

rpw.rup_db_design
{
  color: green
}

rpw.rup_gui_design
{
  color: green
}

.hottext
{	
	color: #000000;
	font-family: arial, helvetica, sans-serif;
	font-size: 10px;
	text-decoration:none;
}
a.hottext:link 
{ 
	color: #000000;
	text-decoration:none; 
}

a.hottext:visited 
{ 
	color: #000000;
	text-decoration:none; 
}

a.hottext:hover 
{ 
	color: #000000;
	text-decoration:none; 
}

a.hottext:active
{ 
	color: #000000;
	text-decoration:none; 
}
