<!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]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>EclipseCon is Moving...</title>
        <meta name="description" content="Eclipse is probably best known as a Java IDE, but it is more: it is an IDE framework, a tools framework, an open source project, a community, an eco-system, and a foundation.">
        <meta name="keywords" content="eclipse,project,plug-ins,plugins,java,ide,swt,refactoring,free java ide,tools,platform,open source,development environment,development,ide" />
        <meta name="viewport" content="width=device-width">
		<link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css">
        <link rel="stylesheet" href="css/normalize.min.css">
        <link rel="stylesheet" href="css/main.min.css">
        <script src="js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
    </head>
    <body id="moving_econ">
        <!--[if lt IE 7]>
            <p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
        <![endif]-->

        <div class="header-container">
            <header class="wrapper clearfix">
                <h1 class="title"><a href="/"><img src="img/econ-logo.png" alt="EclipseCon Boston 2013 Logo"/></a></h1>
                <a href="http://www.regonline.com/Register/Checkin.aspx?EventId=1126624" target="_blank" id="header-banner-link" class="button">
                	Register Now
              	</a>
              </header>
        </div>

        <div class="main-container">
            <div class="main wrapper clearfix">

                <article>
                    <header>
                        <h1>We are moving</h1> 

                        <p>On Saturday, February 9, 2013, the Eclipse Foundation will be
						moving its servers to a new data centre.</p> 
						<p>During the move, <strong>eclipsecon.org</strong> will be
						offline.
						</p> 
					

						<p>We'd like to apologize in advance for the inconveniences that
						this move will cause. However, the benefits are compelling and will
						provide the Eclipse Foundation with the infrastructure needed to
						continue its growth for many years to come.</p>
						<p>If you would like, you can start your EclipseCon 2013 <a href="http://www.regonline.com/Register/Checkin.aspx?EventId=1126624" target="_blank">registration</a> by clicking on the "Register Now" button.</p>
						<p style="padding-top:20px;"><a href="http://www.regonline.com/Register/Checkin.aspx?EventId=1126624" target="_blank"  class="button">Register Now</a></p>						
						
                    </header>             
                </article>

                <aside>
                    <a class="twitter-timeline"  href="https://twitter.com/EclipseFdn" data-widget-id="296300311444856832">Tweets by @EclipseFdn</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

                </aside>

            </div> <!-- #main -->
        </div> <!-- #main-container -->

        <div class="footer-container">
            <footer class="wrapper clearfix">
                <h3>Copyright &copy; 2013 The Eclipse Foundation. All Rights Reserved.</h3> 
                <div id="footer-social"><span>Stay connected</span>
              		<a href="https://www.facebook.com/eclipse.org" target="_blank"><img src="img/socialmediaicons/facebook-24x24.png" alt="Follow the Eclipse Foundation on Facebook"/></a>
              		<a href="https://plus.google.com/+Eclipse/posts" target="_blank"><img src="img/socialmediaicons/google+-24x24.png" alt="Follow the Eclipse Foundation on Google+"/></a>
              		<a href="https://twitter.com/eclipsefdn" target="_blank"><img src="img/socialmediaicons/twitter-24x24.png" alt="Follow the Eclipse Foundation on Twitter"/></a>
              		<a href="http://www.linkedin.com/company/eclipse-foundation" target="_blank"><img src="img/socialmediaicons/linkedin-24x24.png" alt="Follow the Eclipse Foundation on Linkedin"/></a>              		
              		<a href="http://www.youtube.com/user/EclipseFdn" target="_blank"><img src="img/socialmediaicons/youtube-24x24.png" alt="Follow the Eclipse Foundation on Youtube"/></a>
				</div>	
				
            </footer>
        </div>

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

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

        <script>
            var _gaq=[['_setAccount','UA-910670-2'],['_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>
