diff --git a/assets/Gruntfile.js b/assets/Gruntfile.js
index 8e85f93..1e69057 100644
--- a/assets/Gruntfile.js
+++ b/assets/Gruntfile.js
@@ -22,14 +22,13 @@
                 },
                 files: {
                     // compiling styles.less into styles.css
-                    "./public/stylesheets/neon.min.css": "./bower_components/solstice-assets/stylesheets/eclipse_org/neon/neon.less",
-                    "./public/stylesheets/neon-fonts.min.css": "./bower_components/solstice-assets/stylesheets/eclipse_org/neon/fonts.less",
+                    "./public/stylesheets/neon.min.css": "./bower_components/solstice-assets/stylesheets/_components/eclipse_org/neon.less",
                 }
             }
         },
         concat: {
             css_download: {
-                src: ['./public/stylesheets/neon.min.css',"./public/stylesheets/neon-fonts.min.css"],
+                src: ['./public/stylesheets/neon.min.css'],
                 dest: './public/stylesheets/neon.min.css',
             },
         },
diff --git a/assets/public/stylesheets/neon.min.css b/assets/public/stylesheets/neon.min.css
index 438d2c0..a1969be 100644
--- a/assets/public/stylesheets/neon.min.css
+++ b/assets/public/stylesheets/neon.min.css
@@ -1,2 +1 @@
-@keyframes blink-one{0%,19.999%,22%,62.999%,64%,64.999%,70%,100%{opacity:1;text-shadow:0 0 5px #922596,0 0 10px #922596,0 0 20px #922596,0 0 30px #922596,0 0 40px #421144,0 0 55px #421144}20%,21.999%,63%,63.999%,65%,69.999%{opacity:.4;text-shadow:none}}@keyframes blink-two{0%,12%,18.999%,23%,31.999%,37%,44.999%,46%,49.999%,51%,58.999%,61%,68.999%,71%,85.999%,96%,100%{opacity:1;text-shadow:0 0 5px #922596,0 0 10px #922596,0 0 20px #922596,0 0 30px #922596,0 0 40px #421144,0 0 55px #421144}19%,22.99%,32%,36.999%,45%,45.999%,50%,50.99%,59%,60.999%,69%,70.999%,86%,95.999%{opacity:.4;text-shadow:none}}.neon-container{font-family:'Lato','Open Sans','Arial',sans-serif;color:#fff;font-weight:300}.span-block span{display:block}.neon-container{background-image:url("../images/neon-bg.jpg");background-position:top left;background-repeat:y-repeat;background-color:#000}.neon-container:after{content:"";display:block;height:4px;width:100%;background-color:#fff;box-shadow:0 0 3px 3px #0332b8}.neon-header{background-image:url("../images/header-swirls.png");background-size:100%;background-repeat:no-repeat;background-position:top left;text-align:center}@media (min-width:768px){.neon-header{background-size:70%}}.neon-header:after{content:"";display:block;height:4px;width:100%;background-color:#fff;box-shadow:0 0 3px 3px #0332b8;margin-top:50px}.neon-header .container{padding:30px 0}@media (min-width:992px){.neon-header .container{padding:60px 0;min-height:350px}}.neon-header .other-packages-link{color:#fff;text-decoration:underline;font-weight:300}.neon-header-h1{margin-bottom:0;margin-top:0;line-height:1}.neon-header-h1 span{color:#fff}.neon-title{font-family:'clipregular',sans-serif;font-size:110px;text-shadow:0 0 5px #922596,0 0 10px #922596,0 0 20px #922596,0 0 30px #922596,0 0 40px #421144,0 0 55px #421144;position:relative}@media (min-width:992px){.neon-title{font-size:180px}}.neon-title:after{content:"";display:block;background-image:url('../images/neon-header-arrow.png');background-size:100%;background-repeat:no-repeat;position:absolute;width:60px;height:140px;bottom:-128px;right:-17px}@media (min-width:992px){.neon-title:after{width:116px;height:166px;bottom:-129px;right:-70px}}.blink-one{animation:blink-one 20s linear infinite}.blink-two{animation:blink-two 25s linear infinite}.neon-year{color:#fff;font-size:36px;margin-bottom:20px;display:block}@media (min-width:992px){.neon-year{font-size:48px}}.neon-content{background-color:rgba(0,0,0,0.8)}.neon-redirect{padding:20px 0 0;width:100%}.neon-redirect:after{content:"";display:block;height:4px;width:100%;background-color:#fff;box-shadow:0 0 3px 3px #0332b8;margin-top:20px}.neon-redirect p{margin:0}.neon-redirect-link{color:white}.neon-redirect-link:hover,.neon-redirect-link:active{color:white;text-decoration:underline}.neon-section{padding:20px 0}.neon-section h2,.neon-section h3{font-family:'clipregular',sans-serif;color:#fff}.neon-section .social-news-date{font-size:10px}.neon-section a{color:#fff}.noteworthy-h2{text-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475}.resources-h2{text-shadow:0 0 5px #1fc139,0 0 10px #1fc139,0 0 20px #1fc139,0 0 30px #1fc139,0 0 40px #11691f,0 0 55px #11691f}.social-h2{font-size:100px;position:relative;margin-top:-30px;line-height:.8;text-shadow:0 0 5px #2175c0,0 0 10px #2175c0,0 0 20px #2175c0,0 0 30px #2175c0,0 0 40px #124069,0 0 55px #124069}@media (min-width:992px){.social-h2{font-size:130px}}.social-h2 span.small-social-h2{font-size:.5em;color:#fff}.news-h3{text-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475;font-size:32px}.social-h3{text-shadow:0 0 5px #e2d313,0 0 10px #e2d313,0 0 20px #e2d313,0 0 30px #e2d313,0 0 40px #847b0b,0 0 55px #847b0b;font-size:39px;text-align:center}.social-h4{font-size:16px;font-weight:700;color:#fff;margin-top:0}.web-series-h3{text-shadow:0 0 5px #d89810,0 0 10px #d89810,0 0 20px #d89810,0 0 30px #d89810,0 0 40px #795509,0 0 55px #795509}.neon-circle{background-color:#fff;border-radius:100px;display:block;width:24px;height:24px;color:#000;text-align:center;padding-top:2px}.neon-circle-pink{box-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475;background:#f14df8;background:-webkit-linear-gradient(left top, #f14df8, #fff);background:-o-linear-gradient(bottom right, #f14df8, #fff);background:-moz-linear-gradient(bottom right, #f14df8, #fff);background:linear-gradient(to bottom right, #f14df8, #fff)}.neon-circle-blue{box-shadow:0 0 5px #2175c0,0 0 10px #2175c0,0 0 20px #2175c0,0 0 30px #2175c0,0 0 40px #124069,0 0 55px #124069;background:#63a7e4;background:-webkit-linear-gradient(left top, #63a7e4, #fff);background:-o-linear-gradient(bottom right, #63a7e4, #fff);background:-moz-linear-gradient(bottom right, #63a7e4, #fff);background:linear-gradient(to bottom right, #63a7e4, #fff)}.neon-circle-green{box-shadow:0 0 5px #1fc139,0 0 10px #1fc139,0 0 20px #1fc139,0 0 30px #1fc139,0 0 40px #11691f,0 0 55px #11691f;background:#60e676;background:-webkit-linear-gradient(left top, #60e676, #fff);background:-o-linear-gradient(bottom right, #60e676, #fff);background:-moz-linear-gradient(bottom right, #60e676, #fff);background:linear-gradient(to bottom right, #60e676, #fff)}.neon-circle-yellow{box-shadow:0 0 5px #e2d313,0 0 10px #e2d313,0 0 20px #e2d313,0 0 30px #e2d313,0 0 40px #847b0b,0 0 55px #847b0b;background:#f2e869;background:-webkit-linear-gradient(left top, #f2e869, #fff);background:-o-linear-gradient(bottom right, #f2e869, #fff);background:-moz-linear-gradient(bottom right, #f2e869, #fff);background:linear-gradient(to bottom right, #f2e869, #fff)}.btn-neon{background:transparent;border:1px solid #fff;border-radius:5px;color:#fff;padding:8px 30px}.btn-neon:hover{color:#fff}.btn-download{box-shadow:0 0 15px 2px #922596,#922596 0 0 11px 3px inset;background-color:#922596;border-color:#ba2fbf}.btn-download:hover{box-shadow:0 0 20px 3px #922596,#922596 0 0 24px 5px inset}.btn-neon-pink{box-shadow:0 0 15px 2px #ce08d7,#ce08d7 0 0 11px 3px inset}.btn-neon-pink:hover{box-shadow:0 0 20px 3px #ce08d7,#ce08d7 0 0 24px 5px inset}.btn-neon-blue{box-shadow:0 0 15px 2px #2175c0,#2175c0 0 0 11px 3px inset}.btn-neon-blue:hover{box-shadow:0 0 20px 3px #2175c0,#2175c0 0 0 24px 5px inset}.btn-neon-green{box-shadow:0 0 15px 2px #1fc139,#1fc139 0 0 11px 3px inset}.btn-neon-green:hover{box-shadow:0 0 20px 3px #1fc139,#1fc139 0 0 24px 5px inset}.btn-neon-yellow{box-shadow:0 0 15px 2px #e2d313,#e2d313 0 0 11px 3px inset}.btn-neon-yellow:hover{box-shadow:0 0 20px 3px #e2d313,#e2d313 0 0 24px 5px inset}.btn-neon-brown{box-shadow:0 0 15px 2px #d89810,#d89810 0 0 11px 3px inset}.btn-neon-brown:hover{box-shadow:0 0 20px 3px #d89810,#d89810 0 0 24px 5px inset}.btn-white-text{color:#fff}.btn-white-text:active,.btn-white-text:focus,.btn-white-text:visited,.btn-white-text:hover{color:#fff}@media (min-width:768px){.btn-same-width{width:100%}}@media (max-width:768px){.btn-same-width{width:200px}}.neon-donate-text{font-size:24px}@media (min-width:768px){.neon-donate-text{margin-top:60px}}.neon-donate-text strong{text-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475}.neon-well{margin-bottom:5px;width:100%;white-space:inherit;text-align:left;text-transform:none;font-weight:inherit}@media (max-width:768px){.neon-news-item{border-bottom:1px solid #fff;margin-bottom:15px;padding-bottom:10px}}@media (max-width:767px){.web-series-dates{color:#b3b3b3;border-top:1px solid #b3b3b3;margin-top:5px;padding-top:5px}}.neon-timeline{margin-bottom:20px}.eclipse-logo{padding:30px 0}.list-no-margin{margin-left:0}.white{color:#fff}
-@font-face{font-family:'clipregular';src:url('/neon/fonts/clip-webfont.eot');src:url('/neon/fonts/clip-webfont.eot?#iefix') format('embedded-opentype'),url('/neon/fonts/clip-webfont.woff2') format('woff2'),url('/neon/fonts/clip-webfont.woff') format('woff'),url('/neon/fonts/clip-webfont.ttf') format('truetype'),url('/neon/fonts/clip-webfont.svg#clipregular') format('svg');font-weight:normal;font-style:normal}
\ No newline at end of file
+@font-face{font-family:'clipregular';src:url('/neon/fonts/clip-webfont.eot');src:url('/neon/fonts/clip-webfont.eot?#iefix') format('embedded-opentype'),url('/neon/fonts/clip-webfont.woff2') format('woff2'),url('/neon/fonts/clip-webfont.woff') format('woff'),url('/neon/fonts/clip-webfont.ttf') format('truetype'),url('/neon/fonts/clip-webfont.svg#clipregular') format('svg');font-weight:normal;font-style:normal}@keyframes blink-one{0%,19.999%,22%,62.999%,64%,64.999%,70%,100%{opacity:1;text-shadow:0 0 5px #922596,0 0 10px #922596,0 0 20px #922596,0 0 30px #922596,0 0 40px #421144,0 0 55px #421144}20%,21.999%,63%,63.999%,65%,69.999%{opacity:.4;text-shadow:none}}@keyframes blink-two{0%,12%,18.999%,23%,31.999%,37%,44.999%,46%,49.999%,51%,58.999%,61%,68.999%,71%,85.999%,96%,100%{opacity:1;text-shadow:0 0 5px #922596,0 0 10px #922596,0 0 20px #922596,0 0 30px #922596,0 0 40px #421144,0 0 55px #421144}19%,22.99%,32%,36.999%,45%,45.999%,50%,50.99%,59%,60.999%,69%,70.999%,86%,95.999%{opacity:.4;text-shadow:none}}.neon-container{font-family:'Lato','Open Sans','Arial',sans-serif;color:#fff;font-weight:300}.span-block span{display:block}.neon-container{background-image:url("../images/neon-bg.jpg");background-position:top left;background-repeat:y-repeat;background-color:#000}.neon-header{background-image:url("../images/header-swirls.png");background-size:100%;background-repeat:no-repeat;background-position:top left;text-align:center}@media (min-width:768px){.neon-header{background-size:70%}}.neon-header:after{content:"";display:block;height:4px;width:100%;background-color:#fff;box-shadow:0 0 3px 3px #0332b8;margin-top:50px}.neon-header .container{padding:30px 0}@media (min-width:992px){.neon-header .container{padding:60px 0;min-height:350px}}.neon-header .other-packages-link{color:#fff;text-decoration:underline;font-weight:300}.neon-header-h1{margin-bottom:0;margin-top:0;line-height:1}.neon-header-h1 span{color:#fff}.neon-title{font-family:'clipregular',sans-serif;font-size:110px;text-shadow:0 0 5px #922596,0 0 10px #922596,0 0 20px #922596,0 0 30px #922596,0 0 40px #421144,0 0 55px #421144;position:relative}@media (min-width:992px){.neon-title{font-size:180px}}.neon-title:after{content:"";display:block;background-image:url('../images/neon-header-arrow.png');background-size:100%;background-repeat:no-repeat;position:absolute;width:60px;height:140px;bottom:-128px;right:-17px}@media (min-width:992px){.neon-title:after{width:116px;height:166px;bottom:-129px;right:-70px}}.blink-one{animation:blink-one 20s linear infinite}.blink-two{animation:blink-two 25s linear infinite}.neon-year{color:#fff;font-size:36px;margin-bottom:20px;display:block}@media (min-width:992px){.neon-year{font-size:48px}}.neon-content{background-color:rgba(0,0,0,0.8)}.neon-redirect{padding:20px 0 0;width:100%}.neon-redirect:after{content:"";display:block;height:4px;width:100%;background-color:#fff;box-shadow:0 0 3px 3px #0332b8;margin-top:20px}.neon-redirect p{margin:0}.neon-redirect-link{color:white}.neon-redirect-link:hover,.neon-redirect-link:active,.neon-redirect-link:visited{color:white;text-decoration:underline}.neon-section{padding:20px 0}.neon-section h2,.neon-section h3{font-family:'clipregular',sans-serif;color:#fff}.neon-section .social-news-date{font-size:10px}.neon-section a{color:#fff}.noteworthy-h2{text-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475}.resources-h2{text-shadow:0 0 5px #1fc139,0 0 10px #1fc139,0 0 20px #1fc139,0 0 30px #1fc139,0 0 40px #11691f,0 0 55px #11691f}.social-h2{font-size:100px;position:relative;margin-top:-30px;line-height:.8;text-shadow:0 0 5px #2175c0,0 0 10px #2175c0,0 0 20px #2175c0,0 0 30px #2175c0,0 0 40px #124069,0 0 55px #124069}@media (min-width:992px){.social-h2{font-size:130px}}.social-h2 span.small-social-h2{font-size:.5em;color:#fff}.news-h3{text-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475;font-size:32px}.social-h3{text-shadow:0 0 5px #e2d313,0 0 10px #e2d313,0 0 20px #e2d313,0 0 30px #e2d313,0 0 40px #847b0b,0 0 55px #847b0b;font-size:39px;text-align:center}.social-h4{font-size:16px;font-weight:700;color:#fff;margin-top:0}.web-series-h3{text-shadow:0 0 5px #d89810,0 0 10px #d89810,0 0 20px #d89810,0 0 30px #d89810,0 0 40px #795509,0 0 55px #795509}.neon-circle{background-color:#fff;border-radius:100px;display:block;width:24px;height:24px;color:#000;text-align:center;padding-top:2px}.neon-circle-pink{box-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475;background:#f14df8;background:-webkit-linear-gradient(left top, #f14df8, #fff);background:-o-linear-gradient(bottom right, #f14df8, #fff);background:-moz-linear-gradient(bottom right, #f14df8, #fff);background:linear-gradient(to bottom right, #f14df8, #fff)}.neon-circle-blue{box-shadow:0 0 5px #2175c0,0 0 10px #2175c0,0 0 20px #2175c0,0 0 30px #2175c0,0 0 40px #124069,0 0 55px #124069;background:#63a7e4;background:-webkit-linear-gradient(left top, #63a7e4, #fff);background:-o-linear-gradient(bottom right, #63a7e4, #fff);background:-moz-linear-gradient(bottom right, #63a7e4, #fff);background:linear-gradient(to bottom right, #63a7e4, #fff)}.neon-circle-green{box-shadow:0 0 5px #1fc139,0 0 10px #1fc139,0 0 20px #1fc139,0 0 30px #1fc139,0 0 40px #11691f,0 0 55px #11691f;background:#60e676;background:-webkit-linear-gradient(left top, #60e676, #fff);background:-o-linear-gradient(bottom right, #60e676, #fff);background:-moz-linear-gradient(bottom right, #60e676, #fff);background:linear-gradient(to bottom right, #60e676, #fff)}.neon-circle-yellow{box-shadow:0 0 5px #e2d313,0 0 10px #e2d313,0 0 20px #e2d313,0 0 30px #e2d313,0 0 40px #847b0b,0 0 55px #847b0b;background:#f2e869;background:-webkit-linear-gradient(left top, #f2e869, #fff);background:-o-linear-gradient(bottom right, #f2e869, #fff);background:-moz-linear-gradient(bottom right, #f2e869, #fff);background:linear-gradient(to bottom right, #f2e869, #fff)}.btn-neon{background:transparent;border:1px solid #fff;border-radius:5px;color:#fff;padding:8px 30px}.btn-neon:hover{color:#fff}.btn-download{box-shadow:0 0 15px 2px #922596,#922596 0 0 11px 3px inset;background-color:#922596;border-color:#ba2fbf}.btn-download:hover{box-shadow:0 0 20px 3px #922596,#922596 0 0 24px 5px inset}.btn-neon-pink{box-shadow:0 0 15px 2px #ce08d7,#ce08d7 0 0 11px 3px inset}.btn-neon-pink:hover{box-shadow:0 0 20px 3px #ce08d7,#ce08d7 0 0 24px 5px inset}.btn-neon-blue{box-shadow:0 0 15px 2px #2175c0,#2175c0 0 0 11px 3px inset}.btn-neon-blue:hover{box-shadow:0 0 20px 3px #2175c0,#2175c0 0 0 24px 5px inset}.btn-neon-green{box-shadow:0 0 15px 2px #1fc139,#1fc139 0 0 11px 3px inset}.btn-neon-green:hover{box-shadow:0 0 20px 3px #1fc139,#1fc139 0 0 24px 5px inset}.btn-neon-yellow{box-shadow:0 0 15px 2px #e2d313,#e2d313 0 0 11px 3px inset}.btn-neon-yellow:hover{box-shadow:0 0 20px 3px #e2d313,#e2d313 0 0 24px 5px inset}.btn-neon-brown{box-shadow:0 0 15px 2px #d89810,#d89810 0 0 11px 3px inset}.btn-neon-brown:hover{box-shadow:0 0 20px 3px #d89810,#d89810 0 0 24px 5px inset}.btn-white-text{color:#fff}.btn-white-text:active,.btn-white-text:focus,.btn-white-text:visited,.btn-white-text:hover{color:#fff}@media (min-width:768px){.btn-same-width{width:100%}}@media (max-width:768px){.btn-same-width{width:200px}}.neon-donate-text{font-size:24px}@media (min-width:768px){.neon-donate-text{margin-top:60px}}.neon-donate-text strong{text-shadow:0 0 5px #ce08d7,0 0 10px #ce08d7,0 0 20px #ce08d7,0 0 30px #ce08d7,0 0 40px #700475,0 0 55px #700475}.neon-well{margin-bottom:5px;width:100%;white-space:inherit;text-align:left;text-transform:none;font-weight:inherit}@media (max-width:768px){.neon-news-item{border-bottom:1px solid #fff;margin-bottom:15px;padding-bottom:10px}}@media (max-width:767px){.web-series-dates{color:#b3b3b3;border-top:1px solid #b3b3b3;margin-top:5px;padding-top:5px}}.neon-timeline{margin-bottom:20px}.eclipse-logo{padding:30px 0}.list-no-margin{margin-left:0}.white{color:#fff}
\ No newline at end of file
diff --git a/content/en_index.php b/content/en_index.php
index 73c892b..1e42537 100644
--- a/content/en_index.php
+++ b/content/en_index.php
@@ -36,7 +36,7 @@
     </div>
   </div>
 
-  <div class="neon-content">
+  <div class="neon-content padding-bottom-30">
     <div class="container">
 
       <!-- Neon Section -->
diff --git a/index.php b/index.php
index a396060..857d4f0 100644
--- a/index.php
+++ b/index.php
@@ -1,62 +1,61 @@
 <?php
-/*******************************************************************************
- * Copyright (c) 2014, 2016 Eclipse Foundation 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://eclipse.org/legal/epl-v10.html
+/**
+ * Copyright (c) 2014, 2016, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
  *
  * Contributors:
- *    Christopher Guindon (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ *   Christopher Guindon (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 
-  require_once(realpath(dirname(__FILE__) . "/../eclipse.org-common/system/app.class.php"));
+require_once (realpath(dirname(__FILE__) . "/../eclipse.org-common/system/app.class.php"));
 
-  $App = New App();
+$App = new App();
 
-  #redirect the user if he already saw the luna landing page
-  $uri = explode("/", $_SERVER['REQUEST_URI']);
-  if (strtolower($uri[1]) != 'neon') {
-    if (!isset($_COOKIE['eclipse_neon'])){
-      setcookie('eclipse_neon', 'eclipse_neon', time()+3600*24*365, "/");
-    }
-    else {
-      header('Location: /home/index.php', TRUE, 302);
-      exit();
-    }
+// redirect the user if he already saw the luna landing page
+$uri = explode("/", $_SERVER['REQUEST_URI']);
+if (strtolower($uri[1]) != 'neon') {
+  if (!isset($_COOKIE['eclipse_neon'])) {
+    setcookie('eclipse_neon', 'eclipse_neon', time() + 3600 * 24 * 365, "/");
   }
+  else {
+    header('Location: /home/index.php', TRUE, 302);
+    exit();
+  }
+}
 
-  $Theme = $App->getThemeClass($theme);
+$Theme = $App->getThemeClass();
 
-  $App->setThemeVariables(array('hide_breadcrumbs' => TRUE));
+$App->setThemeVariables(array(
+  'hide_breadcrumbs' => TRUE
+));
 
-  // @todo: There seems to be a bug with the Breadcrumbs.
-  // The download links does not get added automatically if $pageTitle
-  // is not set.
-  $pageTitle = 'Eclipse Neon';
+// @todo: There seems to be a bug with the Breadcrumbs.
+// The download links does not get added automatically if $pageTitle
+// is not set.
+$pageTitle = 'Eclipse Neon';
 
-  //$Theme->setBreadcrumb($Breadcrumb);
-  //$Theme->setNav($Nav);
-  //$Theme->setMenu($Menu);
-  $Theme->setPageAuthor('Eclipse Foundation');
-  $Theme->setPageKeywords("eclipse neon, release, simultaneous, release train, neon");
-  $Theme->setPageTitle($pageTitle);
+$Theme->setPageAuthor('Eclipse Foundation');
+$Theme->setPageKeywords("eclipse neon, release, simultaneous, release train, neon");
+$Theme->setPageTitle($pageTitle);
 
-    // Custom theme variables
-  $variables = array();
-  $variables['main_container_classes'] = 'container-full breadcrumbs-offset footer-offset';
-  // CFA Link - Big orange button in header
+// Custom theme variables
+$variables = array();
+$variables['main_container_classes'] = 'container-full breadcrumbs-offset footer-offset';
+$App->setThemeVariables($variables);
 
-  $App->setThemeVariables($variables);
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include ("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
 
-  // Place your html content in a file called content/en_pagename.php
-  ob_start();
-  include("content/en_" . $App->getScriptName());
-  $html = ob_get_clean();
+$Theme->setHtml($html);
 
-  $Theme->setHtml($html);
-
-  $Theme->setExtraHeaders("<link href='https://fonts.googleapis.com/css?family=Lato:400,700,300' rel='stylesheet' type='text/css'>");
-  $Theme->setExtraHeaders('<link href="/neon/assets/public/stylesheets/neon.min.css" media="screen" rel="stylesheet" type="text/css"/>');
-  $Theme->generatePage();
+$Theme->setExtraHeaders("<link href='https://fonts.googleapis.com/css?family=Lato:400,700,300' rel='stylesheet' type='text/css'>");
+$Theme->setExtraHeaders('<link href="/neon/assets/public/stylesheets/neon.min.css" media="screen" rel="stylesheet" type="text/css"/>');
+$Theme->generatePage();
diff --git a/noteworthy/index.php b/noteworthy/index.php
index 84184ac..4a4c708 100644
--- a/noteworthy/index.php
+++ b/noteworthy/index.php
@@ -1,27 +1,30 @@
 <?php
-/*******************************************************************************
- * Copyright (c) 2015, 2016 Eclipse Foundation 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:
-*    Wayne Beaton (Eclipse Foundation)- initial API and implementation
-*******************************************************************************/
+/**
+ * Copyright (c) 2015, 2016, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *   Wayne Beaton (Eclipse Foundation)- initial API and implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
 require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
 
 $App 	= new App();
-$Menu 	= new Menu();
 $Nav = new Nav();
-include($App->getProjectCommon());
+$Theme = $App->getThemeClass();
 
 $App->AddExtraHtmlHeader('<link rel="stylesheet" href="noteworthy.css">');
 
 $pageTitle ="Eclipse Neon New and Noteworthy";
-$pageAuthor = "Wayne Beaton";
+$Theme->setPageAuthor('Wayne Beaton');
+$Theme->setPageKeywords("eclipse neon, release, simultaneous, release train, neon");
+$Theme->setPageTitle($pageTitle);
 
 ob_start();
 ?>
@@ -32,7 +35,6 @@
 </div>
 
 <?php
-$html = ob_get_contents();
-ob_end_clean();
-$App->generatePage($theme, $Menu, NULL , $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+$html = ob_get_clean();
+$Theme->setHtml($html);
+$Theme->generatePage();
\ No newline at end of file
diff --git a/planning/_projectCommon.php b/planning/_projectCommon.php
index 7334394..817acd4 100755
--- a/planning/_projectCommon.php
+++ b/planning/_projectCommon.php
@@ -1,15 +1,19 @@
 <?php
-/*******************************************************************************
- * Copyright (c) 2013 Eclipse Foundation 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
+/**
+ * Copyright (c) 2013, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
  *
  * Contributors:
- *    Wayne Beaton (Eclipse Foundation)- initial API and implementation
- *******************************************************************************/
-$theme = "solstice";
+ *   Wayne Beaton (Eclipse Foundation)- initial API and implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+$theme = NULL;
 $App->Promotion = TRUE;
 
 $Nav->addNavSeparator("Neon", null);
diff --git a/planning/content/en_poll.php b/planning/content/en_poll.php
new file mode 100644
index 0000000..4d90f8b
--- /dev/null
+++ b/planning/content/en_poll.php
@@ -0,0 +1,234 @@
+<?php
+/**
+ * Copyright (c) 2014, 2016, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *   Christopher Guindon (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+?>
+<div id="maincontent">
+  <h1><?php print $pageTitle ?></h1>
+  <h2>Help decide the name for the 2017 Eclipse Simultaneous Release!</h2>
+  <p>
+    There will be an Eclipse Simultaneous Release on the fourth Wednesday of
+    June, 2017. But what to call it? Please vote, for your favorite name.
+    Remember, the simultaneous release name is an informal <i>marketing name</i>.
+    It should be recognizable, pronounceable, relatively distinct and not
+    obvious to confuse with other software or trademarks. Be sure to consider
+    how it sounds in context, such as...
+  </p>
+  <p>
+    <i>"Hey, go download the <b>Eclipse xyz Release</b> and see all the cool
+      stuff in there!"
+    </i>
+  </p>
+  <p>
+    The following list was arrived at with input from the community (see <a
+      href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=483685"
+    >bug 483685</a>) and discussions inside the Eclipse Planning Council.
+  </p>
+
+  <p>
+    <b>Note: The Planning Council reserves the right to make the final decision,
+      in case some popularly voted item is later found to be unsuitable for some
+      reason.</b>
+
+
+  <p>
+
+
+  <p>Rank your favorite names for the 2017 release and feel free to drag and
+    drop to order the names (winner will be chosen via Condorcet-IRV):</p>
+  <p>
+    <i>Note: Give each of the following choices a rank, where a smaller-numbered
+      rank means that you prefer that choice more. For example, give your top
+      choice the rank 1. Give choices the same rank if you have no preference
+      between them. You do not have to use all the possible ranks. All choices
+      initially have the lowest possible rank</i>.
+  </p>
+  <form method="post" action="http://civs.cs.cornell.edu/cgi-bin/vote.pl"
+    enctype="multipart/form-data" name="CastVote"
+  >
+    <input type="hidden" name="key" value="dc3f6ea6cc76ddd2" /> <input
+      type="hidden" name="id" value="E_dd4ff581da35bddc"
+    /> <input type="hidden" name="akey" value="b4edce71802e94ff" />
+    <table class="form" id="ballot" border="0" cellpadding="5" cellspacing="0">
+      <tr>
+        <td>
+          <table cellpadding="5px" cellspacing="0" border="1" id="preftable">
+            <tr class="heading">
+              <th> Choice </th>
+              <th>Rank</th>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Opal</td>
+              <td><select size="1" name="C4" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Osiris</td>
+              <td><select size="1" name="C6" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Oort</td>
+              <td><select size="1" name="C7" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Oxygen</td>
+              <td><select size="1" name="C8" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Oceana</td>
+              <td><select size="1" name="C1" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Ohm</td>
+              <td><select size="1" name="C3" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Odyssey</td>
+              <td><select size="1" name="C2" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Ozone</td>
+              <td><select size="1" name="C9" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Oberon</td>
+              <td><select size="1" name="C0" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+            <tr onclick="select_row(this, event.shiftKey||event.ctrlKey);">
+              <td class="choice">Orpheus</td>
+              <td><select size="1" name="C5" onchange="sort_rows()">
+                  <option value="1" label="1st">1st</option>
+                  <option value="2" label="2nd">2nd</option>
+                  <option value="3" label="3rd">3rd</option>
+                  <option value="4" label="4th">4th</option>
+                  <option value="5" label="5th">5th</option>
+                  <option value="6" label="6th">6th</option>
+                  <option value="7" label="7th">7th</option>
+                  <option value="8" label="8th">8th</option>
+                  <option value="9" label="9th">9th</option>
+                  <option value="10" label="10th" selected="selected">10th</option>
+              </select></td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td><input id="vote" type="submit" value="Submit ranking" name="Vote" /></td>
+      </tr>
+    </table>
+  </form>
+  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
+  <script
+    src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"
+  ></script>
+  <script src="vote.js"></script>
+  <script>setup()</script>
+</div>
\ No newline at end of file
diff --git a/planning/index.php b/planning/index.php
index b12a13e..31976f4 100644
--- a/planning/index.php
+++ b/planning/index.php
@@ -1,35 +1,50 @@
-<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+<?php
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *   Chris Aniszczyk - initial API and implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 
-#
-# Begin: page-specific settings.
-$pageTitle 		= "Eclipse Planning Council";
-$pageKeywords	= "Eclipse Planning Council";
-$pageAuthor		= "David Williams";
-$theme = "Nova";
-# Paste your HTML content between the markers!
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+$App = new App();
+$Nav = new Nav();
+
+$Theme = $App->getThemeClass();
+include ($App->getProjectCommon());
+
+$pageTitle = "Eclipse Planning Council";
+$Theme->setPageAuthor('David Williams');
+$Theme->setPageKeywords("Eclipse Planning Council");
+$Theme->setPageTitle($pageTitle);
+
+// Paste your HTML content between the markers!
 ob_start();
 ?>
-
-
-	<!-- include empty lef nav col for now -->
-	<div id="leftcol">
-	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-	</div>
-	
+<!-- include empty lef nav col for now -->
+<div id="leftcol">
+  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
 <div id="maincontent">
-<div id="midcolumn">
-<h1><?= $pageTitle ?></h1>
-<h2>Purpose</h2>
-<p>This 'planning' directory at this URL is to hold Planning Council specific web
-pages and web apps. Most Planning Council information is available on
-the <a href="http://wiki.eclipse.org/Planning_Council">Eclipse Planning
-Council Wiki Pages</a></p>
+  <div id="midcolumn">
+    <h1><?php print $pageTitle ?></h1>
+    <h2>Purpose</h2>
+    <p>
+      This 'planning' directory at this URL is to hold Planning Council specific
+      web pages and web apps. Most Planning Council information is available on
+      the <a href="http://wiki.eclipse.org/Planning_Council">Eclipse Planning
+        Council Wiki Pages</a>
+    </p>
+  </div>
 </div>
-</div> 
-
 <?php
-$html = ob_get_contents();
-ob_end_clean();
-
-# Generate the web page
-$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+$html = ob_get_clean();
+$Theme->setHtml($html);
+$Theme->generatePage();
diff --git a/planning/poll.php b/planning/poll.php
index fad9133..c338cf0 100755
--- a/planning/poll.php
+++ b/planning/poll.php
@@ -1,230 +1,29 @@
-<?php 
-//ini_set("display_errors", "true");
-//error_reporting (E_ALL);
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");      require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");      require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");     $App   = new App();  $Nav   = new Nav();  $Menu  = new Menu();
+<?php
+/**
+ * Copyright (c) 2014, 2016, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *   Christopher Guindon (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 
-       #*****************************************************************************
-       #
-       # poll.php
-       #
-       # Author:                   Chris Aniszczyk
-       # Date:                     2016-12-17
-       #
-       # Description: Quick poll to get input for Luna +1 Sim. Release name. 
-       #
-       #
-       #****************************************************************************
-       
-       #
-       # Begin: page-specific settings.  Change these. 
-       $pageTitle           = "Community Poll Vote";
-       $pageKeywords = "Eclipse Simultaneous Release 2017";
-       $pageAuthor          = "Chris Aniszczyk";
-       $theme = "solstice";
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+$App = new App();
+$Theme = $App->getThemeClass();
 
-	ob_start();
-	?>            
+$pageTitle = "Community Poll Vote";
+$Theme->setPageAuthor('Chris Aniszczyk');
+$Theme->setPageKeywords("Eclipse Simultaneous Release 2017");
+$Theme->setPageTitle($pageTitle);
 
-	<div id="maincontent" style="width: 90%; padding: 5%;">
-
-	              <h1><?= $pageTitle ?></h1>
-	                     <h2>Help decide the name for the 2017 Eclipse Simultaneous Release!</h2>
-	
-	                     <p>There will be an Eclipse Simultaneous Release on the fourth Wednesday of
-	                     June, 2017. But what to call it? Please vote, for your favorite name. Remember, the simultaneous release name is an informal <i>marketing name</i>. It
-	                     should be recognizable, pronounceable, relatively distinct and not obvious
-	                     to confuse with other software or trademarks. Be sure to
-	                     consider how it sounds in context, such as...</p>
-						
-						<p>
-	                      <i>"Hey, go download the <b>Eclipse xyz Release</b> and see all the cool stuff in there!"</i>
-						</p>
-
-	                     <p>The following list was arrived at with input from the community (see
-	                     <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=483685">bug
-	                     483685</a>) and discussions inside the Eclipse Planning Council.</p>
-
-                                    <div style="padding: 5px; margin-left: 1%; margin-right: 1%;">
-<?= $pollHTML ?>
-                                    </div>
-
-
-	                     <p><b>Note: The Planning Council reserves the right to make the final decision, in case some
-	                     popularly voted item is later found to be unsuitable for some reason.</b><p>
-
-<p>Rank your favorite names for the 2017 release and feel free to drag and drop to order the names (winner will be chosen via Condorcet-IRV):</p>
-
-<p><i>Note: Give each of the following choices a rank, where a smaller-numbered rank means that you prefer that choice more. For example, give your top choice the rank 1. Give choices the same rank if you have no preference between them. You do not have to use all the possible ranks. All choices initially have the lowest possible rank</i>.</p>
-
-<form method="post"
-      action="http://civs.cs.cornell.edu/cgi-bin/vote.pl"
-      enctype="multipart/form-data"
-      name="CastVote">
-<input type="hidden" name="key" value="dc3f6ea6cc76ddd2"  />
-<input type="hidden" name="id" value="E_dd4ff581da35bddc"  />
-<input type="hidden" name="akey" value="b4edce71802e94ff"  />
-<table class="form" id="ballot" border="0" cellpadding="5" cellspacing="0"><tr><td>
-<table cellpadding="5px" cellspacing="0" border="1" id="preftable">
-    <tr class="heading">
-	    <th> Choice </th><th>Rank</th></tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Opal</td>
-<td><select size="1" name="C4" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Osiris</td>
-<td><select size="1" name="C6" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Oort</td>
-<td><select size="1" name="C7" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Oxygen</td>
-<td><select size="1" name="C8" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Oceana</td>
-<td><select size="1" name="C1" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Ohm</td>
-<td><select size="1" name="C3" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Odyssey</td>
-<td><select size="1" name="C2" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Ozone</td>
-<td><select size="1" name="C9" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Oberon</td>
-<td><select size="1" name="C0" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-<tr onclick="select_row(this, event.shiftKey||event.ctrlKey);"><td class="choice">Orpheus</td>
-<td><select size="1" name="C5" onchange="sort_rows()">
-  <option value="1" label="1st" >1st</option>
-  <option value="2" label="2nd" >2nd</option>
-  <option value="3" label="3rd" >3rd</option>
-  <option value="4" label="4th" >4th</option>
-  <option value="5" label="5th" >5th</option>
-  <option value="6" label="6th" >6th</option>
-  <option value="7" label="7th" >7th</option>
-  <option value="8" label="8th" >8th</option>
-  <option value="9" label="9th" >9th</option>
-  <option value="10" label="10th"  selected="selected">10th</option>
-</select></td>
-</tr>
-</table></td>
-</tr>
-<tr><td><input id="vote" type="submit" value="Submit ranking" name="Vote" /></td></tr>
-</table>
-</form>
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
-<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
-<script src="vote.js"></script>
-<script>setup()</script>
-
-      </div>
-
-	<?php
-	       $html = ob_get_contents();
-	       ob_end_clean();
-
-	       # Generate the web page
-	       $App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-
-	?>
-
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+$Theme->setHtml($html);
+$Theme->generatePage();
