diff --git a/bfor.html b/bfor.html
index bc67e75..f58076a 100644
--- a/bfor.html
+++ b/bfor.html
@@ -4,117 +4,113 @@
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-  <meta name="description" content="BlissRoms - new site">
-  <meta name="theme-color" content="#0080ff">
-  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
-  <link rel="icon" sizes="192x192" href="images/bliss_icon_small.png">
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
-  <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
-  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
-  <link href="https://fonts.googleapis.com/css?family=Comfortaa:400,700,300" rel="stylesheet">
-  <link rel="stylesheet" type="text/css" href="css/style.css">
-  <link rel="stylesheet" href="css/styles_filter.css">
+  <!-- PAGE settings -->
+  <link rel="icon" href="favicon.ico">
+  <title>Bliss ROMs</title>
+  <meta name="description" content="Open Source OS for all devices, based on AOSP">
+  <meta name="keywords" content="blissroms, bliss, os, x86, aosp, android, rom, teambliss">
+  <!-- CSS dependencies -->
+  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" type="text/css">
+  <link rel="stylesheet" href="neon.css">
+  <!-- Script: Make my navbar transparent when the document is scrolled to top -->
+  <script src="js/navbar-ontop.js"></script>
+  <!-- Script: Animated entrance -->
+  <script src="js/animate-in.js"></script>
   <link rel="stylesheet" href="css/animations.css">
-  <script src="js/modernizr.js"></script>
-  <script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
-  <script> (adsbygoogle = window.adsbygoogle || []).push({
-				google_ad_client: "ca-pub-7639560510014441",
-				enable_page_level_ads: true
-			  });
-			</script>
-  <title>Bliss</title>
 </head>
 
-<body>
-  <!-- Fixed navbar -->
-  <nav class="navbar navbar-default navbar-fixed-top">
+<body class="" style="">
+  <!-- Navbar -->
+  <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark" style="padding-right: 41px;">
     <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="#" style="	background-image: url(images/BlissIcon_w.png);	background-position: top left;	background-size: 100%;	background-repeat: no-repeat;">   </a>
+      <a class="navbar-brand" href="#"><img src="images/BlissIcon_Smal_wl.png" width="50" class="d-inline-block align-top" alt=""></a>
+      <div class="row">
+        <div class="col-md-12"><a class="navbar-brand" href="#"><b><b>Bliss ROMs</b></b></a></div>
       </div>
-      <div id="navbar" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li id="nav-about">
-            <a href="index.html">Back Home</a>
+      <div class="row"></div>
+      <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbar2SupportedContent" aria-controls="navbar2SupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button>
+      <div class="collapse navbar-collapse text-center justify-content-end" id="navbar2SupportedContent">
+        <ul class="navbar-nav">
+          <li class="nav-item mx-2">
+            <a class="nav-link" href="#features"><b><b>Features</b></b></a>
           </li>
-          <li id="nav-about">
-            <a href="#about2">About</a>
+          <li class="nav-item mx-2">
+            <a class="nav-link" href="#reviews"><b><b>Reviews</b></b></a>
           </li>
-          <li id="nav-expenses">
-            <a href="#expenses">Expenses</a>
+          <li class="nav-item mx-2">
+            <a class="nav-link" href="#team"><b><b>Team</b></b></a>
           </li>
-          <li id="nav-family">
-            <a href="#family2">Family</a>
-          </li>
-          <li id="donate">
-            <a href="https://www.paypal.me/TeamBliss" target="_blank">Donate</a>
+          <li class="nav-item mx-2">
+            <a class="nav-link" href="bfor.html"><b><b>Non Profit</b></b></a>
           </li>
         </ul>
+        <a class="btn navbar-btn mx-2 btn-primary shadowed" href="#download"><b><b>Download</b></b></a>
       </div>
-      <!--/.nav-collapse -->
     </div>
   </nav>
-  <div class="py-5">
-    <div class="container">
+  <!-- Cover -->
+  <div class="section-fade-out pt-5" style="background-image: url(&quot;https://i.imgur.com/BOGKaGy.jpg&quot;); background-position: center bottom;">
+    <div class="container pt-5">
       <div class="row">
-        <div class="col-md-12">
-          <p></p>
+        <div class="col-md-12 ">
+          <div class="col-md-12">
+            <h1 class="display-3 mb-4">Bliss Family of ROMs</h1>
+            <blockquote class="lead blockquote" cite="https://twitter.com/DalaiLama/status/1051767186820198402" style="">The creation of a more peaceful and happier society has to begin from the level of the individual, and from there it can expand to one's family, to one's neighborhood, to one's community and so on. <footer class=""><a style="font-weight: bold !important; color: #0080ff;" href="https://twitter.com/DalaiLama/status/1051767186820198402" class="">Dalai Lama</a></footer>
+            </blockquote>
+          </div>
         </div>
       </div>
-    </div>
-  </div>
-  <!-- Begin page content -->
-  <div class="container-fluid">
-    <div class="row cover top" style="	background-image: linear-gradient(to bottom, rgba(22, 22, 22, 0.0), rgba(22, 22, 22, 1.0));	background-position: top left;	background-size: 100%;	background-repeat: repeat;">
-      <div class="col-xs-12">
-        <div class="row" style="overflow-x:hidden;height: auto;overflow-y: visible; color: #fff;">
-          <div class="col-md-12" align="center">
-            <div class="cover row">
-              <h1>Bliss Family of ROMs</h1><br><br>
-              <blockquote class="lead" cite="https://twitter.com/DalaiLama/status/1051767186820198402" style="">The creation of a more peaceful and happier society has to begin from the level of the individual, and from there it can expand to one's family, to one's neighborhood, to one's community and so on. <footer class=""><a style="font-weight: bold !important; color: #0080ff;" href="https://twitter.com/DalaiLama/status/1051767186820198402" class="">Dalai Lama</a></footer>
-              </blockquote>
-              <p></p>
+      <div class="row">
+        <div class="col-md-12 d-inline-flex justify-content-center align-items-center mx-auto mt-5">
+          <div class="container">
+            <div class="row">
+              <div class="col-md-12 text-center">
+                <h1>About</h1>
+              </div>
+            </div>
+            <div class="row">
+              <div class="col-md-6 p-3">
+                <p>We are a U.S.A. Federal 501c3 Non-Profit Organization that aims to build and maintain various operating systems and software projects for the purposes of community growth and development. Our team of talented individuals comprise to provide training, development opportunities, build servers, download servers, design and development software, and design opportunities. Team Bliss memborship includes professionals and mentors in all fields related to Android development. Our services and source code is open to the public and provided at no cost.</p>
+              </div>
+              <div class="col-md-6 p-3">
+                <p class="text-white"><b class="text-white">What are we aiming to accomplish?</b></p>
+                <p>Our goal is to mentor and teach those interested in Android development. We have a large global community that is available to coach or answer questions about development, design, animation, etc. almost any time. We offer a stress free working environment, as well as the tools when resources allow us to do so, to help guide someone on the Android development path. We also provide them the tools to learn how to monetize their skills along the way.</p>
+              </div>
             </div>
           </div>
         </div>
-        <div class="row">
-          <div class="col-xs-12 center-block text-center" style="overflow-y: visible; color: rgb(255, 255, 255); transform: translateY(60px);">
-            <a href="#about2"><span id="scrollIcon" class="front-glyph glyphicon glyphicon-menu-down" style="	color: #fff;	transform:  translateY(-100%) ;" aria-hidden="true"></span></a>
-          </div>
+      </div>
+    </div>
+  </div>
+  <div class="py-5 text-center">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-12">
+          <h1 class="mb-3">Can you tell me more about these mentorships and opportunities?</h1>
+          <p>We take on applicants and work with them to learn more about Android Development. We have many mentors available to help in all areas, from ROM development, App development, Design &amp; Layout, as well as kernel development.&nbsp; Each potential applicant is selected based on their want to learn and their ability to work with others, so we do require a bit of a background, or at least a very convincing argument.</p>
         </div>
       </div>
+      <div class="row">
+        <div class="col-md-12"><a class="btn btn-primary text-center d-flex justify-content-center" href="https://goo.gl/forms/PdiaAj1PojosmehK2" style="color: rgb(255, 255, 255);">Join Our Team</a></div>
+      </div>
     </div>
   </div>
-  <div id="about2" class="row cover">
+  <!-- Article style section -->
+  <!-- Features -->
+  <!-- Features -->
+  <!-- Carousel reviews -->
+  <!-- Call to action -->
+  <div class="py-5  bg-primary" id="download">
     <div class="container">
-      <h1 class="text-center about2-header" style="color: #fff;">About</h1>
-      <p class="lead text-center">We are a U.S.A. Federal 501c3 Non-Profit Organization that aims to build and maintain various operating systems and software projects for the purposes of community growth and development. Our team of talented individuals comprise to provide training, development opportunities, build servers, download servers, design and development software, and design opportunities. Team Bliss memborship includes professionals and mentors in all fields related to Android development. Our services and source code is open to the public and provided at no cost. </p>
       <div class="row">
-        <h2 class="text-center " style=" color: #000; margin: 5%;">What are we aiming to accomplish?</h2>
-        <p class="text-center lead " style="margin: 5%">Our goal is to mentor and teach those interested in Android development. We have a large global community that is available to coach or answer questions about development, design, animation, etc. almost any time. We offer a stress free working environment, as well as the tools when resources allow us to do so, to help guide someone on the Android development path. We also provide them the tools to learn how to monetize their skills along the way.</p>
+        <div class="text-center col-md-12">
+          <h1>Outreach</h1>
+        </div>
       </div>
       <div class="row">
-        <h3 class="text-center " style="color: #000;">Can you tell me more about these mentorships and opportunities?</h3>
-        <p class="text-center lead " style="margin: 5%">We take on applicants and work with them to learn more about Android Development. We have many mentors available to help in all areas, from ROM development, App development, Design &amp; Layout, as well as kernel development.</p>
-        <p class="text-center lead " style="margin: 5%">Each potential applicant is selected based on their want to learn and their ability to work with others, so we do require a bit of a background, or at least a very convincing argument.</p>
-      </div>
-      <!--end Two project row-->
-    </div>
-  </div>
-  <div class="py-5 text-center" style="	background-image: linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,0,0,0.7));	background-position: top left;	background-size: 100%;	background-repeat: repeat;">
-    <div class="container">
-      <div class="row">
         <div class="col-md-12"><br><br>
-          <h1>Outreach</h1>
-          <h2 style="color: #fff;">Not everyone has access to development hardware</h2>
-          <p class="highlight_secondary lead">Many people across the globe do not have access or are not able to afford the latest and greatest technology in order to learn how to develop with, then alone practice what they have learned. In order to help fill that gap, we are partnering with <a style="font-weight: bold !important; color: #0080ff;" target="blank" href="http://legacyserver.in">Legacy-Server</a> in order to provide build-server access when resources are available, and help reach the dreams of those that aren't able to access all the needed tools.</p>
+          <h2 style="color: #fff;" class="text-center">Not everyone has access to development hardware</h2>
+          <p class="highlight_secondary lead text-center">Many people across the globe do not have access or are not able to afford the latest and greatest technology in order to learn how to develop with, then alone practice what they have learned. In order to help fill that gap, we are partnering with <a style="font-weight: bold; color: black;" target="blank" href="http://legacyserver.in">Legacy-Server</a> in order to provide build-server access when resources are available, and help reach the dreams of those that aren't able to access all the needed tools.</p>
           <div class="worldmap">
             <!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
             <svg width="100%" viewBox="0 0 750 450" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
@@ -2092,298 +2088,224 @@
       </div>
     </div>
   </div>
-  <div id="about2" class="row cover">
+  <div class="py-5">
     <div class="container text-center">
-      <h1 class="text-center family-header" style="color: #fff;">Transparency</h1>
+      <h1 class="text-primary display-4" style="color: #fff;">Transparency</h1>
       <p class="text-center lead" style="margin: 5%">We believe in full transparency, but we do not believe this transparency should come at a cost to our supporters. This is why we submit a yearly 990 form to the IRS. If you are interested in looking into that or any other information we submit, feel free to visit our <a style="font-weight: bold !important; color: #222;" target="blank" href="https://www.guidestar.org/profile/82-3580195">Guidestar.org</a> page. If you are interested in looking into any other nonprofit open-source projects or ROMs, they can also be found on Guidestar as long as things are all on the up and up. </p>
-      <a class="btn btn-rounded portfolio-projects--btn center" target="blank" href="https://www.guidestar.org/search" style="background-color: #222; color: #fff;">Search Guidestar.org</a>
+      <a class="btn btn-outline-primary center" target="blank" href="https://www.guidestar.org/search" style="background-color: #222; color: #fff;">Search Guidestar.org</a>
       <p class="text-center lead" style="margin: 5%">Guidestar does allow users to view the financial info for each nonprofit, but for those who don't want to give yet another site their personal info, we have posted our statements below</p>
       <!--end Two project row-->
     </div>
   </div>
-  <div id="expenses" class="row cover bottom" style="	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));	background-position: top left;	background-size: 100%;	background-repeat: repeat;">
-    <h1 class="text-center expenses-header" style="color: #0080ff;">Expenses </h1>
-    <section class="counting">
-      <div class="layout">
-        <h2 class="text-center" style="color: #fff;">2017 Revenue (year one)</h2>
-        <div class="grid-3">
-          <span class="count1 counter" style="color: #0080ff;">899.00</span>
-          <p>Contributions, Grants, Gifts</p>
-        </div> <!-- /.col-sm-3 -->
-        <div class="grid-3">
-          <span class="count2 counter" style="color: #0080ff;">0</span>
-          <p>Program Services</p>
-        </div><!-- /.col-sm-3 -->
-        <div class="grid-3">
-          <span class="counter " style="color: #0080ff;">0</span>
-          <p>Special Events</p>
-        </div><!-- /.col-sm-3 -->
-        <div class="grid-3">
-          <span class="counter count4" style="color: #0080ff;">0</span>
-          <p>Other Revenue</p>
-        </div><!-- /.col-sm-3 -->
-      </div>
-    </section>
-    <section class="counting">
-      <div class="layout">
-        <h2 class="text-center" style="color: #fff;">2017 Expenses (year one)</h2>
-        <div class="grid-3">
-          <span class="count1 counter" style="color: #0080ff;">0</span>
-          <p>Program Services &amp; Affiliates</p>
-        </div> <!-- /.col-sm-3 -->
-        <div class="grid-3">
-          <span class="count2 counter" style="color: #0080ff;">360.00</span>
-          <p>Administration</p>
-        </div><!-- /.col-sm-3 -->
-        <div class="grid-3">
-          <span class="counter " style="color: #0080ff;">0</span>
-          <p>Fundraising</p>
-        </div><!-- /.col-sm-3 -->
-        <div class="grid-3">
-          <span class="counter count4" style="color: #0080ff;">295.00</span>
-          <p>Other Expenses</p>
-        </div><!-- /.col-sm-3 -->
-      </div>
-    </section>
-    <!-- End #Contact-->
-  </div>
-  <!-- break -->
-  <!-- Close Team -->
-  <div id="family2" class="" style="	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));	background-position: top left;	background-size: 100%;	background-repeat: repeat;">
-    <div class="container" style="">
-      <div class="row">
-        <div class="col-md-12 text-center">
-        </div>
-      </div>
-      <div class="row">
-        <div class="col-md-4 p-3">
-          <p>
-          </p>
-          <p class="text-center lead">We are open to the public, and accepting applications now for volunteer only positions (internships coming soon). We are accepting people in small managable groups while we grow, and we tend to lean towards the type of people that want to learn and grow with Bliss Family of ROMs. Bliss provides the tools, knowledge and the mentorship needed to help bring your development dreams to reality, and all we ask in return is a minimum contribution towards Bliss ROM while you learn and grow in your strengths. <br> If you're an individual and would like to apply to join our team, please use the button below&nbsp; &nbsp; &nbsp;</p>
-          <p></p>
-        </div>
-        <div class="col-md-4 p-3">
-          <p>
-          </p>
-          <div class="col-md-12 text-center lead">
-            <h1><img class="team-image" style="max-width: 36rem;" src="images/bliss_for.png"></h1><a class="btn btn-rounded family-projects--btn text-center" href="https://goo.gl/forms/PdiaAj1PojosmehK2" style="color: rgb(255, 255, 255);">Join Our Team</a><a class="btn btn-rounded family-projects--btn" href="https://www.paypal.me/TeamBliss" target="_blank" role="button" style="color: rgb(255, 255, 255);">Donate to Bliss Family</a>
-          </div>
-          <p class="text-center lead"></p>
-          <p></p>
-        </div>
-        <div class="col-md-4 p-3 text-center">
-          <p>
-          </p>
-          <p class="text-center lead">Got a great project but having trouble getting things off the ground? Or maybe you are looking to gain a few more people to help you out on it. Whatever your situation is, you can submit your project below for a chance to include it as a Bliss Family project.&nbsp; &nbsp; &nbsp;&nbsp;</p>
-          <p class="text-center lead">If you are interested in applying for this unique opportunity, please fill out the form below, and we will be in touch with you soon (usually within a few days!)</p><a class="btn btn-rounded family-projects--btn" href="https://goo.gl/kAb7ti" role="button" style="color: rgb(255, 255, 255);">Submit your project now</a>
-          <p></p>
-        </div>
-      </div>
-    </div>
-  </div>
-  <div id="family" class="row">
+  <div class="py-5 bg-primary">
     <div class="container">
-      <div class="family-header text-center">
-        <h2 class="text-center">&nbsp;<br></h2>
-        <h2 class="text-center">Bliss Family Projects</h2>
+      <div id="expenses" class="row cover bottom text-center d-inline-flex justify-content-center align-items-center" style="background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)); background-position: left top; background-size: 100%; background-repeat: repeat;">
+        <h3 class="display-3 text-dark" style="color: #0080ff;"><b>Expenses </b></h3>
+        <section class="counting">
+          <div class="layout">
+            <h2 class="text-center" style="color: #fff;">2017 Revenue (year one)</h2>
+            <div class="grid-3">
+              <span class="count1 counter text-dark" style="color: #0080ff;">899.00</span>
+              <p>Contributions, Grants, Gifts</p>
+            </div> <!-- /.col-sm-3 -->
+            <div class="grid-3">
+              <span class="count2 counter text-dark" style="color: #0080ff;">0</span>
+              <p>Program Services</p>
+            </div><!-- /.col-sm-3 -->
+            <div class="grid-3">
+              <span class="counter text-dark" style="color: #0080ff;">0</span>
+              <p>Special Events</p>
+            </div><!-- /.col-sm-3 -->
+            <div class="grid-3">
+              <span class="counter count4 text-dark" style="color: #0080ff;">0</span>
+              <p>Other Revenue</p>
+            </div><!-- /.col-sm-3 -->
+          </div>
+        </section>
+        <section class="counting">
+          <div class="layout">
+            <h2 class="text-center" style="color: #fff;">2017 Expenses (year one)</h2>
+            <div class="grid-3">
+              <span class="count1 counter text-dark" style="color: #0080ff;">0</span>
+              <p>Program Services &amp; Affiliates</p>
+            </div> <!-- /.col-sm-3 -->
+            <div class="grid-3">
+              <span class="count2 counter text-dark" style="color: #0080ff;">360.00</span>
+              <p>Administration</p>
+            </div><!-- /.col-sm-3 -->
+            <div class="grid-3">
+              <span class="counter text-dark" style="color: #0080ff;">0</span>
+              <p>Fundraising</p>
+            </div><!-- /.col-sm-3 -->
+            <div class="grid-3">
+              <span class="counter count4 text-dark" style="color: #0080ff;">295.00</span>
+              <p>Other Expenses</p>
+            </div><!-- /.col-sm-3 -->
+          </div>
+        </section>
+        <!-- End #Contact-->
       </div>
-      <div class="center">
-        <h4 class="text-center highlight_secondary">The Bliss Family projects we currently support can be found below:<br><br></h4>
-        <div class="col-lg-4">
-          <div class="family">
-            <div class="family-image text-center">
-              <img class="img-circle img-responsive" src="images/invictrix.jpg">
-              <div class="family-links ">
-                <div class="family-links-list">
-                  <a href="https://t.me/InvictusROM" target="_blank"><i class="fab fa-telegram"></i></a>
-                  <a href="https://plus.google.com/communities/109716291977795337501" target="_blank"><i class="fab fa-google-plus"></i></a>
-                </div>
-                <!-- /.family-links-list -->
-              </div>
-              <!-- /.family-links -->
-            </div>
-            <!-- /.family-image -->
-            <div class="family-content text-center">
-              <div class="family-name">Invictrīx ROM</div>
-              <div class="family-role">
-                <h4>AOSP/CAF</h4>
-              </div>
-              <h4 class="family-description"> Invictrīx ROM emphasizes performance, offering heavy optimizations along with a unique dark themed style.</h4>
-            </div>
-            <!-- /.family-content -->
-          </div>
-          <!-- /.family -->
+    </div>
+  </div>
+  <div class="row">
+    <div class="container">
+      <div class="row">
+        <div class="px-5 col-md-6 text-center mx-auto">
+          <h3 class="my-3 highlight_secondary team-header text-white"> </h3><br>
+          <h2 class="my-3 highlight_secondary team-header text-white">We volunteer our time.</h2>
+          <p class="mb-3">We are a 501(c3) nonprofit, run by people that donate their free time towards the project. We do our best to bring a quality OS to your device, while working a real job on the side in most cases. Please consider showing us we're on the right track by clicking the button below. </p> <a href="https://www.paypal.me/TeamBliss" class="btn btn-primary">Buy Us a Beer</a>
+          <p class="mt-2"></p>
         </div>
-        <div class="col-lg-4">
-          <div class="family">
-            <div class="family-image text-center">
-              <img class="img-circle img-responsive" src="images/xtremis.jpg">
-              <div class="family-links ">
-                <div class="family-links-list">
-                  <a href="#" target="_blank"><i class="fab fa-telegram"></i></a>
-                  <a href="#" target="_blank"><i class="fab fa-google-plus"></i></a>
-                </div>
-                <!-- /.family-links-list -->
-              </div>
-              <!-- /.family-links -->
+        <div class="col-md-6 py-2">
+          <div class="beer-animation-wrapper mt-4">
+            <div class="beer" style="	transform:  translateX(12em) ;">
+              <div class="foam"></div>
             </div>
-            <!-- /.family-image -->
-            <div class="family-content text-center">
-              <div class="family-name">Xtremis Project</div>
-              <div class="family-role">
-                <h4>Chrome OS ROM</h4>
-              </div>
-              <h4 class="family-description"> Currently pre-release, this project is progressing steadily and will soon have more details to share. Please check in later.</h4>
-            </div>
-            <!-- /.family-content -->
           </div>
-          <!-- /.family -->
-        </div>
-        <div class="col-lg-4">
-          <div class="family">
-            <div class="family-image text-center">
-              <img class="img-circle img-responsive" src="images/soap.jpg">
-              <div class="family-links ">
-                <div class="family-links-list">
-                  <a href="https://plus.google.com/u/0/107610198397215674589" target="_blank"><i class="fab fa-google-plus"></i></a>
-                  <!--<a href="#" target="_blank"><i class="fa fa-google-plus"></i></a> -->
-                </div>
-                <!-- /.family-links-list -->
-              </div>
-              <!-- /.family-links -->
-            </div>
-            <!-- /.family-image -->
-            <div class="family-content text-center">
-              <div class="family-name">SOAP ROM</div>
-              <div class="family-role">
-                <h4>SixOpenAndroidProject ROM, AOSP</h4>
-              </div>
-              <h4 class="family-description"> SOAP is an AOSP ROM that focuses on being a slim and clean ROM.</h4>
-            </div>
-            <!-- /.family-content -->
-          </div>
-          <!-- /.family -->
-        </div>
-        <div class="center col-lg-4">
-          <h2 class="text-center">&nbsp;<br></h2>
-          <h2 class="text-center">&nbsp;<br></h2>
         </div>
       </div>
     </div>
   </div>
-  <!-- End #About -->
-  <footer class="footer">
-    <div class="footer container-fluid ">
-      <div class="container-fluid">
-        <div class="row ">
-          <div class="col-xs-6 col-sm-3 column footer-header">
-            <h4 class="footer-header">Information</h4>
-            <ul class="list-unstyled">
-              <li class="portfolio-projects--desc">
-                <a href="index.html">Back Home</a>
-              </li>
-              <li class="portfolio-projects--desc">
-                <a href="#about2">About</a>
-              </li>
-              <li class="portfolio-projects--desc">
-                <a href="#expenses">Expenses</a>
-              </li>
-            </ul>
-          </div>
-          <div class="col-xs-6 col-sm-3 column footer-header">
-            <h4 class="footer-header">About</h4>
-            <ul class="list-unstyled">
-              <li class="portfolio-projects--desc">
-                <a href="#family2">Family</a>
-              </li>
-              <li class="portfolio-projects--desc">
-                <a href="https://www.paypal.me/TeamBliss">Donate</a>
-              </li>
-            </ul>
-          </div>
-          <div class="col-xs-12 col-sm-3 column footer-header">
-            <h4 class="footer-header">Get In Touch</h4>
-            <form action="mailto:blissfamilyroms@gmail.com" method="GET" data-form-title="CONTACT US">
-              <input type="hidden" data-form-email="true">
-              <div class="form-group">
-                <input type="text" class="form-control" name="name" required="" placeholder="Name*" data-form-field="Name">
-              </div>
-              <div class="form-group">
-                <input type="email" class="form-control" name="email" required="" placeholder="Email*" data-form-field="Email">
-              </div>
-              <div class="form-group">
-                <textarea class="form-control" name="message" placeholder="Message" rows="3" data-form-field="Message"></textarea>
-              </div>
-              <div>
-                <button type="submit" class="btn btn-lg btn-danger">SEND</button>
-              </div>
-            </form>
-          </div>
-          <div class="col-xs-12 col-sm-3 text-right footer-header">
-            <h4 class="footer-header">Follow</h4>
-            <ul class="list-inline">
-              <li class="">
-                <a rel="nofollow" href="https://t.me/OfficialBlissROMs" title="Telegram"><i class="fab fa-telegram fa-4x"></i></a>&nbsp; </li>
-              <li class="">
-                <a rel="nofollow" href="https://www.facebook.com/BlissFamilyOfROMs/" title="Facebook"><i class="fab fa-facebook fa-4x"></i></a>&nbsp; </li>
-              <li class="">
-                <a rel="nofollow" href="https://plus.google.com/communities/118265887490106132524" title="Google+"><i class="fab fa-google-plus fa-4x"></i></a>
-              </li>
-              <li class="">
-                <a rel="nofollow" href="https://twitter.com/Bliss_Roms" title="Twitter"><i class="fab fa-twitter fa-4x"></i></a>
-              </li>
-            </ul>
-          </div>
+  <div class="py-5 bg-dark">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-8 text-left">
+          <h3 class="text-primary display-3"> <b>Join Team Bliss</b></h3>
+          <h1 class="">We are accepting applications now</h1>
+          <p class="text-primary lead">* only volunteer positions currently available. Internships coming soon *</p>
+          <p class="mb-3 lead" contenteditable="true">We are accepting people in small managable groups while we grow, and we tend to lean towards the type of people that want to learn and grow with Bliss Family of ROMs. Bliss provides the tools, knowledge and the mentorship needed to help bring your development dreams to reality, and all we ask in return is a minimum contribution towards Bliss ROM while you learn and grow in your strengths. If you're an individual and would like to apply to join our team, please use the button below </p> <a href="https://goo.gl/forms/PdiaAj1PojosmehK2" class="btn btn-primary">Join Our Team</a>
         </div>
-        <br>
-        <span class="pull-right text-muted small"><a href="https://blissroms.com">Bliss Site by Team Bliss</a> ©2017-2018 Team Bliss</span>
       </div>
     </div>
-  </footer>
-  <!--<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.3.1/js/tether.min.js" type="text/javascript"></script>-->
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" type="text/javascript"></script>
-  <!--<script src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/2.0.3/waypoints.min.js"></script>-->
-  <script src="https://bfintal.github.io/Counter-Up/jquery.counterup.min.js"></script>
-  <script src="js/counter.js"></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" type="text/javascript"></script>
-  <script src="https://cdn.jsdelivr.net/jquery.scrollto/2.1.0/jquery.scrollTo.min.js" type="text/javascript"></script>
-  <!--<script src="js/jquery-2.1.1.js" type="text/javascript"></script> -->
-  <script src="js/jquery.mixitup.min.js" type="text/javascript"></script>
-  <script src="js/main.js" type="text/javascript"></script>
+  </div>
+  <div class="py-5 text-center text-md-right" style="	background-image: url(images/Bliss_view_bg_1.png);	background-position: right bottom;	background-size: cover;	background-repeat: repeat;	background-attachment: fixed;">
+    <div class="container">
+      <div class="row">
+        <div class="p-5 mx-auto mx-md-0 ml-md-auto col-10 col-md-9">
+          <h3 class="display-3 text-white">Submit Your Project</h3>
+          <p class="mb-3 lead">Got a great project but having trouble getting things off the ground? Or maybe you are looking to gain a few more people to help you out on it. Whatever your situation is, you can submit your project below for a chance to include it as a Bliss Family project.</p>
+          <form class="form-inline d-flex justify-content-end">
+            <div class="input-group"> <a class="btn btn-primary text-center d-flex justify-content-center" href="https://goo.gl/kAb7ti" role="button" style="color: rgb(255, 255, 255);">Submit your project now</a>
+            </div>
+          </form>
+        </div>
+      </div>
+    </div>
+  </div>
+  <div class="py-5" id="team" style="">
+    <div class="container">
+      <div class="row">
+        <div class="mx-auto col-md-12 text-center">
+          <h3 class="display-3">Who we are</h3>
+        </div>
+      </div>
+      <div class="row">
+        <div class="col-lg-6">
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/w7i8JBSfddUp88DpBjjdT_PBODfKTiFV8TKHqyZnsU3m0-ppYXsuafqDtBxakFYW3mjIahKkFYBepZIGRQ=w1920-h1080-no" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4><b>Jack Eagle&nbsp;</b>- CEO&nbsp; / Founder / Developer</h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/xhKBfn9HcjWayS9gQizUuh7JATtI4i-OvVv9Q6XPy5v5IyiI44lqRoxtMIyI3rlLc7OCyparEB9OqGT_Vg=w1920-h1080-no" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4><b>Vaughn Newman</b> -&nbsp;Board Member / Admin / Developer</h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+        </div>
+        <div class="col-lg-6">
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/hcV4Tp81H4TJskQhpKckcDBqwnETos_ZOxXsQbiZGOT5OxMC-3pOD5i22j1tPiaubWW74tmnwB0ixvGwELQ=w1920-h1080-no" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4><b>Jon West&nbsp;</b>- CTO / Incorporator / Developer</h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/JOdHk7TYY-SLjAANLuK7t68Oz6w4fDFody-Uwj3rtH6oSZkljniUceYFQ52rbJXeBv4kDgoGhrtamLJlwZc=w1920-h1080-no" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4> <b>Antonio Luciano</b>&nbsp;- Board Member /&nbsp;Project Manager /&nbsp;App Developer</h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="row">
+        <div class="col-lg-6">
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/LZrBsYT1S4qQI92uCuWx34QSGDcKpwY1G2h3LXT3tEvMPuSA8d6tiY7CsLYvBCznXk4sJhgr6UFk8pg1oA=w1920-h1080-no" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4><b>BitO BSessiOn</b>&nbsp;- Board Member / Developer</h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/iu4p6sC5xbTmz7gF5eYCucSHuI_1SBJnRkfNWcNQ6Cw7oCt5ryMHaU_DXpjWEgGX43SnPRs4dSjErXU=w1920-h1080-no" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4> <b>Customworx&nbsp;</b>- Board Member / Graphic Designer </h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+        </div>
+        <div class="col-lg-6">
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/eRqBEkS4_cWFEkLce4sVRmyCkAwgsGZwIg1kE12_gjBaghKQ8Omc6V2UJT6q6LwZS8l-LkutUrskyeLFrd0=w1920-h1080-no" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4><b>Evan Galvin</b>&nbsp;- Board Member / Product Technology Strategist</h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+          <div class="row mb-4">
+            <div class="col-3"> <img class="img-fluid d-block mx-auto rounded-circle" src="https://lh3.googleusercontent.com/a-/AAuE7mC91eukOeGZ1fU2mULqdlLqrcsYmUWGjZZMoXwMAIk=s1920-p-no-il" width="100" alt="Card image cap"> </div>
+            <div class="col-9">
+              <h4> <b>Donna West</b> - Board Member / Treasurer</h4>
+              <p class="mb-0">&nbsp;</p>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <!-- Footer -->
+  <div class="py-5 bg-dark">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-9">
+          <p class="lead">Sign up to our newsletter for the latest news</p>
+          <form class="form-inline">
+            <div class="form-group">
+              <input type="email" class="form-control" placeholder="Your e-mail here"> </div>
+            <button type="submit" class="btn ml-2 btn-outline-primary">Subscribe</button>
+          </form>
+        </div>
+        <div class="col-4 col-md-1 align-self-center my-3">
+          <a href="https://www.facebook.com" target="blank"><i class="fa fa-fw fa-facebook fa-3x text-white"></i></a>
+        </div>
+        <div class="col-4 col-md-1 align-self-center my-3">
+          <a href="https://twitter.com" target="blank"><i class="fa fa-fw fa-twitter fa-3x text-white"></i></a>
+        </div>
+        <div class="col-4 col-md-1 align-self-center my-3">
+          <a href="https://www.instagram.com" target="blank"><i class="fa fa-fw fa-instagram fa-3x text-white"></i></a>
+        </div>
+      </div>
+      <div class="row">
+        <div class="col-12 my-3 text-center">
+          <p class="text-muted">© Copyright 2019 Bliss Family of ROMs - All rights reserved.</p>
+        </div>
+      </div>
+    </div>
+  </div>
+  <!-- JavaScript dependencies -->
   <script src="js/mainani.js" type="text/javascript"></script>
-  <script src="js/script.js" type="text/javascript"></script>
-  <script type="text/javascript">
-    // Select all links with hashes
-    $('a[href*="#"]')
-      // Remove links that don't actually link to anything
-      .not('[href="#"]').not('[href="#0"]').click(function(event) {
-        // On-page links
-        if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
-          // Figure out element to scroll to
-          var target = $(this.hash);
-          target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
-          // Does a scroll target exist?
-          if (target.length) {
-            // Only prevent default if animation is actually gonna happen
-            event.preventDefault();
-            $('html, body').animate({
-              scrollTop: target.offset().top
-            }, 1000, function() {
-              // Callback after animation
-              // Must change focus!
-              var $target = $(target);
-              $target.focus();
-              if ($target.is(":focus")) { // Checking if the target was focused
-                return false;
-              } else {
-                $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
-                $target.focus(); // Set focus again
-              };
-            });
-          }
-        }
-      });
-  </script>
+  <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+  <!-- Script: Smooth scrolling between anchors in the same page -->
+  <script src="js/smooth-scroll.js"></script>
+
 </body>
 
 </html>
\ No newline at end of file
