<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

<html>
<head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Nebula</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width">

	<meta name="keywords" content="eclipse, project, nebula" />
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/yui/2.6.0/build/menu/assets/skins/sam/menu.css" media="screen" />
	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/layout.css" media="screen" />
	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/header.css" media="screen" />
	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/footer.css" media="screen" />
	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/print.css" media="print" />

	<link rel="stylesheet" href="css/bootstrap.css">
    <link rel="stylesheet" href="css/bootstrap-responsive.min.css">
    <link rel="stylesheet" href="css/main.css">
    <script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script> 
    
	<div class="container" >
		<div id="promotion" style="float:left;padding: 11px 0 0 0;">
			<a href="http://www.eclipsecon.org/france2013/registration/">
				<img src="/home/promotions/france2013/register-now-b.png" alt="EclipseCon France 2013"/>
			</a>
		</div>
		
		<div id="otherSites" style="float:right;padding: 0 0 20px 0;background: #737db9;">
			<div id="sites">
				<ul id="sitesUL">
					<li><a href='http://marketplace.eclipse.org'><img alt="Eclipse Marketplace" src="http://dev.eclipse.org/custom_icons/marketplace.png"/>&nbsp;<span>Eclipse Marketplace</span></a></li>
					<li><a href='http://www.youtube.com/user/EclipseFdn' target="_blank"><img alt="Eclipse YouTube Channel" src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png"/>&nbsp;<span>Eclipse YouTube Channel</span></a></li>
					<li><a href='https://bugs.eclipse.org/bugs/'><img alt="Bugzilla" src="http://dev.eclipse.org/custom_icons/system-search-bw.png"/>&nbsp;<span>Bugzilla</span></a></li>
					<li><a href='http://www.eclipse.org/forums/'><img alt="Forums" src="http://dev.eclipse.org/large_icons/apps/internet-group-chat.png"/>&nbsp;<span>Eclipse Forums</span></a></li>
					<li><a href='http://www.planeteclipse.org/'><img alt="Planet Eclipse" src="http://dev.eclipse.org/large_icons/devices/audio-card.png"/>&nbsp;<span>Planet Eclipse</span></a></li>
					<li><a href='http://wiki.eclipse.org/'><img alt="Eclipse Wiki" src="http://dev.eclipse.org/custom_icons/accessories-text-editor-bw.png"/>&nbsp;<span>Eclipse Wiki</span></a></li>
					<li><a href='http://portal.eclipse.org'><img alt="MyFoundation Portal" src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png"/><span>My Foundation Portal</span></a></li>
				</ul>
			</div>
		</div>
	</div>
</head>
<body>

<div class="container" >
	<div class="hero-unit">
    	<div style="margin-left: 200px;">
            	<h2><font color=#F8F8F8>Nebula</font> is a place where different Eclipse projects and independent developers <font color=FFFFCC>collaborate</font> on 
            	building custom <font color=#FFFFCC>UI-Components</font> using <font color=#FFFFCC>SWT, JFace</font> and <font color=#FFFFCC>RAP</font>.</h2>
  		</div>
	</div>

        <!-- Example row of columns -->
        <div>
            <div class="hero-box" onmousemove="m_in(this)" onmouseout="m_out(this)" style="background:#452b86 url('img/download.png') no-repeat bottom center;background-size: contain;">
                Download
            </div>
            
            <div class="hero-box" onmousemove="m_in(this)" onmouseout="m_out(this)" id="ga" style="margin-left:5%;background:#452b86 url('img/gallery1.png') no-repeat bottom center;background-size: contain;">
                <h3>Gallery</h3>
           	</div>
           
           	<div class="hero-box" onmousemove="m_in(this)" onmouseout="m_out(this)" style="float:right;background:#452b86 url('img/info-2-512.png') no-repeat bottom center;background-size: contain;">
            	About
           	</div>
        </div>

        <footer style="clear:both;">
            <p>&copy; the Nebula Project 2014</p>
        </footer>

    </div> <!-- /container -->
    
    <script>
function m_in(x)
{
x.style.backgroundColor="#737db9";
}

function m_out(x)
{
// console.log("m_out" + x);
x.style.backgroundColor="#452b86";
}

</script>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.min.js"><\/script>')</script>

    <script src="js/vendor/bootstrap.min.js"></script>

    <script src="js/plugins.js"></script>
    <script src="js/main.js"></script>

    <script>
        var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];
        (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
        g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
        s.parentNode.insertBefore(g,s)}(document,'script'));
        
        
        
    </script>
</body>
</html>
