/*
 * $Qube: www.qubesoft.com/public/qube.css,v 1.16 2005/01/18 21:12:42 jamief Exp $
 */

body
{
    background-color:rgb(229,229,229);
}

body,
p,
table,
ul
{
    font-family:Verdana,Arial,Helvetica,sans-serif;
    font-weight:normal;
    font-size:0.85em;
    color:rgb(73,109,140);
    margin:0;
    padding:0;
}

caption
{
    margin-bottom:15px;
    font-weight:bold;
}

table table
{
    font-size:100%;
}

ul ul
{
    font-size:100%;
    margin-bottom:0;
}

li
{
    list-style-type:disc;
}

li
{
    margin-bottom:4px;
}

ul
{
    margin-left:2em;
}

p,
ul
{
    margin-bottom: 1em;
    margin-top: 0;
}

img
{
    border: none;
}

h1
{
    font-size: 150%; 
    font-weight: bold;
    margin-bottom: 0;
    margin-top: 0;
}

/* IE workaround. IE automatically does this, so do it in more compliant
 * browsers too so we get consistent behaviour.
 */
*:first-child
{
    margin-top: 0;
}

h2, .name
{
    font-size: 133%;
    font-weight: normal;
    margin-bottom: 0;
}

h3
{
    font-size: 117%;
    font-weight: normal;
    margin-bottom: 0;
}
      
h4
{
    font-size: 100%;
    font-weight: normal;
    margin-bottom: 0;
    font-style:italic;
}

h5
{
    font-size: 85%;
    font-weight: normal;
}

h6
{
    font-size: 75%;
    font-weight: bold;
}

/*
 * Styles for normal links.
 */
a:link
{
    color:rgb(73,109,153);
    text-decoration: underline;
}
a:visited
{
    color:rgb(73,109,153);
    text-decoration: underline;
} 
a:hover
{
    color:rgb(163,183,205);
    text-decoration: underline;
} 

/*
Styles for header links.
*/
h1 a:link, h2 a:link, h3 a:link, h4 a:link, h5 a:link, h6 a:link
{
    color:rgb(73,109,153);
    text-decoration: none;
}
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
{
    color:rgb(73,109,153);
    text-decoration: none;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover
{
    color:rgb(163,183,205);
    text-decoration: none;
}

/*
 * The block containing the whole page.
 */
.page
{
    position:relative;
    width:70em;
    margin:0px auto;
}

.page > *
{
    width:auto;
    padding:0px;
    margin:0px;
}

.leftColumn
{
    float:left;
    width:30%;
}

.rightColumn
{
    float:right;
    width:69%;
}

.leftImages
{
    float: left;
    clear: left;
    height: 1%;
    margin-bottom:0.5em;
    margin-right:8px;
}

.brochure .leftImages
{
    float:left;
}

.architecture-comparison
{
    border:solid 1px rgb(229,229,229);
    padding:10px;
    margin:15px auto;
}

.architecture-comparison table
{
    margin:0 auto;
    padding:0;
}

.architecture-comparison table td.tool,
.architecture-comparison table td.high-level,
.architecture-comparison table td.middleware,
.architecture-comparison table td.hardware
{
    padding:10px 6px;
}

.architecture-comparison.q-structure table td.high-level,
.architecture-comparison.q-structure table td.middleware
{
    padding:10px 8px 10px 4px;
}

.architecture-comparison table td div
{
    position:relative;
}

.architecture-comparison table tr td.middleware div div.comment
{
    padding-top:30px;
}

.architecture-comparison table td img
{
    margin:0;
    padding:0;
    position:absolute;
}

.architecture-comparison table table.left-axis
{
    height:200px;
}

.architecture-comparison.q-structure .legend .tool-plug-in
{
    background-color:rgb(191,191,191);
}

.architecture-comparison.q-structure .legend .tool,
.architecture-comparison.q-structure .legend .tool-plug-in
{
    padding:0 10px;
    height:20px;
}

.architecture-comparison.engine .legend .app,
.architecture-comparison.renderer .legend .app,
.architecture-comparison.q .legend .app,
.architecture-comparison.q-structure .legend .app
{
    padding:0 10px;
    height:20px;
}

.architecture-comparison.engine .legend .middleware,
.architecture-comparison.renderer .legend .middleware,
.architecture-comparison.q .legend .middleware,
.architecture-comparison.q-structure .legend .middleware
{
    padding:0 10px;
    height:20px;
}

.architecture-comparison.engine .legend .hardware,
.architecture-comparison.renderer .legend .hardware,
.architecture-comparison.q .legend .hardware,
.architecture-comparison.q-structure .legend .hardware
{
    padding:0 10px;
    height:20px;
}

.architecture-comparison.q-structure .legend .high-level
{
    padding:0 10px;
    height:20px;
}

.architecture-comparison .app
{
    position:relative;
    background-color:Gray;
}

.architecture-comparison .tool
{
    background-color:rgb(19,240,19);
    color:White;
    text-align:center;
}

.architecture-comparison .high-level
{
    background-color:rgb(16,192,16);
    color:White;
    text-align:center;
}

.architecture-comparison .middleware
{
    position:relative;
    background-color:Green;
    color:White;
    text-align:center;
}

.architecture-comparison .hardware
{
    position:relative;
    background-color:Red;
    color:White;
    text-align:center;
}

.architecture-comparison .hw-cat
{
    width:95px;
}

.architecture-comparison .na
{
    border:solid 1px Gray;
    background-color:rgb(229,229,229);
}

.architecture-comparison.renderer .app,
.architecture-comparison.renderer table td.app div
{
    height:80px;
}

.architecture-comparison.renderer .middleware,
.architecture-comparison.renderer table td.middleware div
{
    padding:0;
    margin:0;
    border:none;
    height:8px;
}

.architecture-comparison.renderer .hardware,
.architecture-comparison.renderer table td.hardware div
{
    height:13px;
}

.architecture-comparison.engine .app,
.architecture-comparison.engine table td.app div
{
    height:54px;
}

.architecture-comparison.engine .middleware,
.architecture-comparison.engine table td.middleware div
{
    padding:0;
    margin:0;
    border:none;
    height:120px;
}

.architecture-comparison.engine .hardware,
.architecture-comparison.engine table td.hardware div
{
    height:26px;
}

.architecture-comparison.q .app,
.architecture-comparison.q table td.app div
{
    height:24px;
}

.architecture-comparison.q .middleware,
.architecture-comparison.q table td.middleware div
{
    padding:0;
    margin:0;
    border:none;
    height:150px;
}

.architecture-comparison.q .hardware,
.architecture-comparison.q table td.hardware div
{
    height:26px;
}

.architecture-comparison.q table td div div.plugin
{
    position:absolute;
    width:7px;
    height:7px;
    border:solid 1px White;
    background-color:Gray;
    padding:0;
    margin:0;
}

.architecture-comparison.q-structure table td div div.plugin
{
    position:absolute;
    width:4px;
    height:4px;
    border:solid 1px rgb(200,200,200);
    border-right:solid 1px white;
    background-color:Gray;
    padding:0;
    margin:0;
}

.architecture-comparison.q-structure table td.tool div div.plugin
{
    background-color:rgb(191,191,191);
    border-color:rgb(224,224,224);
    border-right:solid 1px white;
}

.architecture-comparison.q table td.middleware div div
{
    color:White;
}

.screenshot
{
    float:left;
    margin-right:10px;
    margin-top:5px;
    margin-bottom:5px;
}

.screenshot .info
{
    text-align:center;
}

.screenshot a img
{
    display:inline;
    margin:0;
    margin-left:auto;
    margin-right:auto;
}

.quotation.rightImages
{
    width:40%;
    margin-left:-114px;
    position:relative;
    left:124px;
}

.quotation.leftImages
{
    width:40%;
    margin-right:-114px;
    position:relative;
    right:124px;
}

.quotation .br
{
    padding:6px 10px;
}

.leftImages .info,
.rightImages .info
{
    text-align:right;
    margin-top:6px;
}

.video
{
    margin-top:6px;
    margin-bottom:18px;
    margin-left:auto;
    margin-right:auto;
    width:540px;
}

.leftImages img,
.rightImages img
{
    border:solid 1px rgb(163,183,205);
}

.rightImages
{
    float: right;
    clear: right;
    height: 1%;
    margin-bottom:0.5em;
    margin-left:8px;
}

img.signature
{
    float:right;
}

.quotation
{
    margin-top:0.4em;
    margin-bottom:1em;
}

.quotation .text
{
    font-size:110%;
}

.quotation.main .text
{
    display:block;
    margin-bottom:0.4em;
}

.quotation.main .info
{
    text-align:right;
    display:block;
    font-size:100%;
}

.pageHeader
{
    position:relative;
    background-color:White;
    padding:12px 40px 12px 40px;
    /* Hack to persuade IE6 to behave. */
    zoom:1
}

/* Key to header consistency between IE (6 & 7) and Firefox.
 * -ms-zoom overrides zoom in IE8, since it is actually not needed.
 */
.pageHeader .spacer
{
    height:11px;
    zoom:0.0001;
    -ms-zoom:1;
}

.pageHeader .qubeLogo
{
    position:absolute;
    top:50%;
    left:40px;
    height:100%;
    margin:0;
    padding:0;
}

.pageHeader .qubeLogo a
{
    margin:0;
    padding:0;
    position:relative;
    bottom:19px;
    display:block;
}

.menu
{
    margin-left:280px;
}

.large
{
    font-size:120%;
}

/* .page is added as an ancestor to increase the
   weighting so IE deigns to notice it.
 */
.page .menu a
{
    padding:6px 10px;
    text-decoration:none;
    color:white;
    font-weight:bold;
    position:relative;
    zoom:1;
}

.page .menu .large a
{
    padding:10px;
}

.page .menu .bar
{
    margin:0;
}

.page .menu .bar a.current:link
{
    background-color:rgb(163,183,205);
}

.page .menu .bar a.current:visited
{
    background-color:rgb(163,183,205);
}

.page .menu .bar a.current:hover
{
    background-color:rgb(163,183,205);
}

.page .menu a:link
{
    background-color:rgb(208,220,231);
}

.page .menu a:visited
{
    background-color:rgb(208,220,231);
}

.page .menu a:hover
{
    background-color:rgb(193,208,222);
}

.frontPageBody
{
    background-image:url('images/front_page_bg.jpg');
    background-repeat:no-repeat;
    margin:0 auto;
    padding:0;
    width:854px;
    height:367px;
    position:relative;
}

.frontPageBody .content
{
    white-space:nowrap;
    padding:20px;
    width:0;
    margin:0 auto;
}

.frontPageBody .content .float
{
    float:left;
    position:relative;
    margin:0 auto;
}

.frontPageBody .content .float .adjust
{
    display:block;
    position:relative;
    left:-50%;
}

.frontPageBody .bangSection img
{
    padding:0;
    margin:6px auto 0 auto;
}

.frontPageBody .bangSection
{
    position:absolute;
    text-align:center;
    bottom:12px;
    left:12px;
    margin:0;
    padding:0;
    width:14em;
}

.frontPageBody .bang
{
    position:relative;
    bottom:12px;
    text-align:center;
    display:block;
    margin-top:1.5em;
}

.bang .tl
{
    background-image:url('images/bang-tl.gif');
    background-repeat:no-repeat;
    background-position:left top;
    display:block;
    position:relative;
    background-color:Transparent;   /* IE6 workaround */
}

.bang .t
{
    background-image:url('images/bang-t.gif');
    background-repeat:repeat-x;
    background-position:top;
    display:block;
    position:relative;
    left:6px;
}

.bang .tr
{
    background-image:url('images/bang-tr.gif');
    background-repeat:no-repeat;
    background-position:right top;
    display:block;
    position:relative;
    left:6px;
}

.bang .l
{
    background-image:url('images/bang-l.gif');
    background-repeat:repeat-y;
    background-position:left;
    display:block;
    position:relative;
    top:6px;
    right:12px;
}

.bang .r
{
    background-image:url('images/bang-r.gif');
    background-repeat:repeat-y;
    background-position:right;
    display:block;
    position:relative;
    left:12px;
}

.bang .bl
{
    background-image:url('images/bang-bl.gif');
    background-repeat:no-repeat;
    background-position:left bottom;
    display:block;
    position:relative;
    top:6px;
    right:12px;
}

.bang .b
{
    background-image:url('images/bang-b.gif');
    background-repeat:repeat-x;
    background-position:bottom;
    display:block;
    position:relative;
    left:6px;
}

.bang .br
{
    background-image:url('images/bang-br.gif');
    background-repeat:no-repeat;
    background-position:right bottom;
    display:block;
    position:relative;
    left:6px;
}

.bang .body
{
    background-color:rgb(239,239,239);
    display:block;
    position:relative;
    right:6px;
    bottom:6px;
}

.frontPageBody a.bang:link,
.frontPageBody a.bang:visited
{
    color:rgb(73,109,140);
    text-decoration:none;
}

.frontPageBody a.bang:hover
{
    color:rgb(73,109,140);
    text-decoration:none;
    font-weight:bold;
}

.frontPageBody .content .info
{
    position:relative;
    bottom:0;
    right:0;
    text-align:right;
    margin-top:5px;
    margin-right:2em;
}

.frontPageBody .info
{
    color:rgb(210,210,210);
    position:absolute;
    bottom:6px;
    right:10px;
}

.frontPageBody h1
{
    color:White;
    font-size:200%;
}

.frontPageBody img#qlogo
{
    position:absolute;
    left:326px;
    top:105px;
}

.frontPageBody a:link,
.frontPageBody a:visited,
.frontPageBody .quotation .info a:hover
{
    color:rgb(210,210,210);
}

.frontPageBody a:hover,
.frontPageBody .quotation a:link,
.frontPageBody .quotation a:visited
{
    color:White;
}

.toc .info
{
    display:block;
}

.toc
{
    margin-top:3em;
}

.toc .toc
{
    margin-top:0;
}

.toc li
{
    font-size:100%;
    list-style-type:none;
}

.toc ul,
.toc li
{
    margin:0;
}

.toc li a
{
    padding-left:1.5em;
}

.toc a
{
    display:block;
    padding:0 6px;
    text-decoration:none;
    zoom:1; /* IE hack */
}

.toc .section .header h3
{
    padding-left:6px;
}

.toc a:hover,
.toc a:visited,
.toc a:link
{
    color:rgb(73,109,140);
}

.toc a.current:link .tl,
.toc a.current:hover .tl,
.toc a.current:visited .tl
{
    background-color:rgb(163,183,205);
    background-image:url('images/current-button-on-blue-tl.gif');
}

.toc a.current:link .tr,
.toc a.current:hover .tr,
.toc a.current:visited .tr
{
    background-image:url('images/current-button-on-blue-tr.gif');
}

.toc a.current:link .bl,
.toc a.current:hover .bl,
.toc a.current:visited .bl
{
    background-image:url('images/current-button-on-blue-bl.gif');
}

.toc a.current:link .br,
.toc a.current:hover .br,
.toc a.current:visited .br
{
    background-image:url('images/current-button-on-blue-br.gif');
}

.toc a:hover .tl
{
    background-image:url('images/hover-button-on-blue-tl.gif');
}

.toc a:hover .tr
{
    background-image:url('images/hover-button-on-blue-tr.gif');
}

.toc a:hover .bl
{
    background-image:url('images/hover-button-on-blue-bl.gif');
}

.toc a:hover .br
{
    background-image:url('images/hover-button-on-blue-br.gif');
}

.toc a:link .tl,
.toc a:visited .tl
{
    background-color:rgb(208,220,231);
}

.toc a:hover .tl
{
    background-color:rgb(193,208,222);
}

.menu .corner
{
    width:6px;
    height:6px;
    position:absolute;
}

.menu .tr,
.toc.tr,
.toc .tr,
.quotation .tr
{
    background-repeat:no-repeat;
    background-position:right top;
    top:0;
    right:0;
}

.menu .tr,
.toc.tr,
.quotation .tr
{
    background-image:url('images/normal-button-tr.gif');
}

.toc a .tl,
.toc a .tr,
.toc a .bl,
.toc a .br
{
    display:block;
}

.toc a .br
{
    padding:4px 10px;
}

.toc.tr
{
    padding-top:6px;
}

.menu a:hover .tr
{
    background-image:url('images/hover-button-tr.gif');
}

.menu a.current .tr,
.menu a.current:hover .tr
{
    background-image:url('images/current-button-tr.gif');
}

.menu .br,
.toc.br,
.toc .br,
.quotation .br
{
    bottom:0;
    right:0;
    background-repeat:no-repeat;
    background-position:right bottom;
}

.menu .br,
.toc.br,
.quotation .br
{
    background-image:url('images/normal-button-br.gif');
}

.toc.br
{
    padding-bottom:6px;
}

.menu a:hover .br
{
    background-image:url('images/hover-button-br.gif');
}

.menu a.current .br,
.menu a.current:hover .br
{
    background-image:url('images/current-button-br.gif');
}

.menu .bl,
.toc.bl,
.quotation .bl
{
    background-image:url('images/normal-button-bl.gif');
}

.menu .bl,
.toc.bl,
.toc .bl,
.quotation .bl
{
    background-repeat:no-repeat;
    background-position:left bottom;
    bottom:0;
    left:0;
}

.menu a:hover .bl
{
    background-image:url('images/hover-button-bl.gif');
}

.menu a.current .bl,
.menu a.current:hover .bl
{
    background-image:url('images/current-button-bl.gif');
}

.menu .tl,
.toc.tl,
.quotation .tl
{
    background-image:url('images/normal-button-tl.gif');
}

.menu .tl,
.toc.tl,
.toc .tl,
.quotation .tl
{
    background-repeat:no-repeat;
    background-position:left top;
    top:0;
    left:0;
}

.toc.tl,
.quotation .tl
{
    background-color:rgb(208,220,231);
}

.menu a:hover .tl
{
    background-image:url('images/hover-button-tl.gif');
}

.menu a.current .tl,
.menu a.current:hover .tl
{
    background-image:url('images/current-button-tl.gif');
}

.whiteOnGreyBL
{
    background:white url('images/white-on-grey-bl.gif') no-repeat left bottom;
}

.whiteOnGreyBR
{
    background:url('images/white-on-grey-br.gif') no-repeat right bottom;
}

.pageBody
{
    padding:35px;
    padding-top:1px;
    padding-bottom:40px;
    margin:0 6px;
    background-color:white;
}

.content
{
    margin-left: 0.5em;
    margin-right: 0.5em;
    position:relative;
}

.clearFloats
{
    clear: both;
}

.info, .jobTitle
{
    font-size: 75%;
}

.content .header
{
    padding-bottom:0;
    background-color:Transparent;
}

.section
{
    margin-left: 1em;
    margin-top: 1em;
    margin-bottom: 1.5em;
}

.section .header
{
    padding:0 0.5em 0.3em 0;
    margin-left: -2px;
    margin-right: 1px;
    padding-left: 1em;
    /* Set bounds for child elements. */
    position: relative;
}

.section .content
{
    margin-left: 0.5em;
    margin-right: 0;
    padding: 0.5em;
    /*padding-left: 1em;*/
    padding-bottom: 0;
    /* Position declaration sets bounds for child elements. */
    position: relative;
    /* IE hack to get the element to contain its floating children. Proper
       browsers use the :after pseudoclass. */
    height: 1%;
}

/* Persuade the element to contain its floating children.
   Doesn't work in IE. */
.section .content:after,
.page > .header:after
{
    /* WARNING: Removing the empty content breaks the containment! */
    content: "";
    display: block;
    clear: both;
}

.content img
{
    display: block;
    margin:1em auto;
}

.content .imagebar
{
    margin:0 -38px -20px -38px;
}

.content .imagebar .info
{
    color:rgb(195,195,195);
    font-size:65%;
    text-align:center;
}

.content .imagebar img
{
    display:inline;
    float:left;
    padding:0;
    margin:0 -7px 0px -7px;
}

.leftImages img,
.rightImages img
{
    display: block;
    margin:0 0 6px 0;
}

.section p img
{
    display: inline;
    margin: 0;
    width: auto;
    vertical-align:middle;
}

.section .content .section
{
    margin-top: 0;
}

.section .content .section
{
    margin-bottom: 0.5em;
}

.section .content .content
{
    border: none;
    padding: 0;
    margin: 0;
}

.imagesOnLeft
{
    padding: 0;
    margin-left: 124px;
}

.imagesOnRight
{
    padding: 0;
    margin-right: 124px;
}

.section .section
{
    margin-left: 0;
    margin-bottom: 1.5em;
}

.section .section .header
{
    border-bottom: solid 1px rgb(73,109,140);
    padding: 0 0 0.3em 0;
    margin: 0;
    /* Set bounds for child elements. */
    position: relative;
    zoom:1; /* IE6 workaround */
}

.section .section h3,
.organization
{
    font-weight: bold;
    font-size: 100%;
}

.section .section .content p,
.section .section .content ul
{
    margin-top: 0.5em;
    margin-right: 0;
}

.section .content ul li ul
{
    margin-top:4px;
}

.section .section .content p
{
    margin-left: 0;
}

img.address
{
    display: block;
    width: auto;
    height: auto;
    margin: 0.5em auto;
}

/*
 * For development purposes only, to make temporary content obvious.
 */
.error
{
    display: inline;
    background-color: Lime;
    color: Red;
    font-weight: bold;
}
