diff --git a/bfor.html b/bfor.html
new file mode 100644
index 0000000..3b4b769
--- /dev/null
+++ b/bfor.html
@@ -0,0 +1,409 @@
+<!DOCTYPE html>
+<html>
+
+<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 rel='stylesheet' href='http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/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">
+  <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">
+    <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>
+      </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>
+          </li>
+          <li id="donate">
+            <a href="https://www.paypal.me/TeamBliss" target="_blank">Donate</a>
+          </li>
+        </ul>
+      </div>
+      <!--/.nav-collapse -->
+    </div>
+  </nav>
+  <div class="py-5">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-12">
+          <p></p>
+        </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="row">
+              <h1>Bliss Family of ROMs</h1>
+              <p class="lead">We are a 501(c3) nonprofit that aims to build and maintain various OS and software projects for education and the community, by providing training, development opportunities, build servers, download servers, design and development software, design opportunities, professionals and mentors in all fields revolving around Android development, at no cost. </p>
+            </div>
+			<div class="row">
+				<h2 style="color: #0080ff;">What are we aiming to accomplish?</h2>
+				<p class="lead">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 class="row">
+				<h3 style="color: #0080ff;">Can you tell me more about these mentorships and opportunities?</h2>
+				<p class="">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 & Layout, as well as kernel development.</p>
+				<p>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>
+        <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="#about"><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>
+  
+  
+  <div id="portfolio" class="row cover">
+      <div class="container">
+        <h1 class="text-center family-header" style="color: #fff;">Being Open</h1>
+		<p class="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 href="https://www.guidestar.org/profile/82-3580195" style="color: #222;">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>
+		<p class="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="contact" 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 family-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 & 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 class="row">
+    <div id="family-lt" class="col-xs-12 text-center " style="	background-image: linear-gradient(to bottom, rgba(22,22,22,0.3), rgba(22,22,22,0.8));	background-position: top left;	background-size: 100%;	background-repeat: repeat;">
+      <div class="row">
+	    <div class="col-xs-12 text-center about-tools">
+		  <div class="container family-header text-center">
+			<img class="team-image" style="max-width: 36rem;width:100%" src="images/bliss_for.png">
+		  </div>
+		  
+          <p class="text-center">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
+		  </p>
+		  <a class="btn btn-rounded family-projects--btn" href="https://goo.gl/forms/PdiaAj1PojosmehK2" style="color:#fff;" >Join Our Team</a>
+		  <br/>
+		  <p class="text-center">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>
+		  <p class="text-center">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:#fff;">Submit your project now</a>
+		  <a class="btn btn-rounded family-projects--btn" href="https://www.paypal.me/TeamBliss" target="_blank" role="button" style="color:#fff;">Donate to Bliss Family</a>
+		  
+		</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>
+  <div id="family" class="row">
+    <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>
+      <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 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>
+            <!-- /.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="#portfolio">Downloads</a>
+              </li>
+              <li class="portfolio-projects--desc">
+                <a href="#contact">Links</a>
+              </li>
+              <li class="portfolio-projects--desc">
+                <a href="#team">Team</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="#about">Bliss</a>
+              </li>
+              <li class="portfolio-projects--desc">
+                <a href="#family">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>
+        <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://code.jquery.com/jquery-2.2.4.min.js'></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>
+  <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>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/css/animations.css b/css/animations.css
index 2ae4a56..38076ad 100644
--- a/css/animations.css
+++ b/css/animations.css
@@ -179,6 +179,162 @@
           animation: drip2 5s ease-out forwards;
 }
 
+#popup-modal .modal-body {
+  background:url(https://i.imgur.com/f4wfsnL.jpg);
+  background-size:cover;
+  padding:0; 
+  position:relative;
+  height:500px;
+  border-top-left-radius:6px;
+  border-top-right-radius:6px;
+}
+
+#popup-modal h1 {
+  color:#fff;
+  margin:0;
+  padding-top:30px;
+  text-transform:uppercase;
+  letter-spacing:3px;
+  font-weight:100;
+}
+
+#popup-modal h1 span {
+  color:#888;
+  font-weight:700;
+}
+
+#popup-modal p {
+  color:#ccc;
+  font-weight:400;
+}
+
+#popup-modal .modal-social {
+  position:absolute;
+  right: 65px;
+  top: 130px;
+  width: 215px;
+}
+
+#popup-modal .modal-box {
+  margin: auto;
+  position:absolute;
+  top: 40%; left: 25%; bottom: 50%; right: 25%;
+  z-index:9999;
+}
+
+
+.overlay {
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background: rgba(0, 0, 0, 0.7);
+  transition: opacity 500ms;
+  visibility: hidden;
+  opacity: 0;
+}
+.overlay:target {
+  visibility: visible;
+  opacity: 1;
+}
+
+.popup {
+  margin: 70px auto;
+  padding: 20px;
+  background: #fff;
+  border-radius: 5px;
+  width: 30%;
+  position: relative;
+  transition: all 5s ease-in-out;
+}
+
+.popup h2 {
+  margin-top: 0;
+  color: #333;
+  font-family: Tahoma, Arial, sans-serif;
+}
+.popup .close {
+  position: absolute;
+  top: 20px;
+  right: 30px;
+  transition: all 200ms;
+  font-size: 30px;
+  font-weight: bold;
+  text-decoration: none;
+  color: #333;
+}
+.popup .close:hover {
+  color: #06D85F;
+}
+.popup .content {
+  max-height: 30%;
+  overflow: auto;
+}
+
+@media screen and (max-width: 700px){
+  .box{
+    width: 70%;
+  }
+  .popup{
+    width: 70%;
+  }
+}
+
+/********Grid Widht *******/
+.grid-3 {	width: 25%;	float: left;	min-height: 1px;	padding-left: 15px;	padding-right: 15px;
+	position: relative;}
+/********Grid Widht *******/	
+
+
+
+
+/***Section Css******/
+.counting {
+    /* background: #34495e none repeat scroll 0 0; */
+    color: #fff;
+    overflow: hidden;
+    padding: 36px 0;
+}
+
+.counting span {
+    font-size: 70px;
+    font-weight: 700;
+    position: relative;
+	text-align:center;
+	display:block;
+}
+.counting p {
+    font-size: 20px;
+    font-weight: 700;
+    letter-spacing: 2px;
+    padding-top: 30px;
+    text-transform: uppercase;
+	text-align:center;
+}
+
+.counting span::before {
+    /*background: #b7b7b7 none repeat scroll 0 0; */
+    bottom: -10px;
+    content: " ";
+    height: 4px;
+    left: 32%;
+    position: absolute;
+    width: 36%;
+}
+
+
+@media (max-width:980px) {
+	.layout {				width: 767px;	}
+	.grid-3 {				width: 50%;	}
+}
+@media (max-width:640px) {
+	.layout {		width: 300px;	}
+	.grid-3 {		width: 100%;	}
+
+
+	}
+
 @-webkit-keyframes drip2 {
   0% {
     height: 0px;
diff --git a/index.html b/index.html
index ee56b81..366e969 100644
--- a/index.html
+++ b/index.html
@@ -57,7 +57,7 @@
             <a href="#family-lt">Family</a>
           </li>
           <li id="nav-studios">
-            <a href="https://bliss-studios.github.io" target="_blank">Bliss Studios</a>
+            <a href="bfor.html" >Nonprofit</a>
           </li>
           <li id="donate">
             <a href="https://www.paypal.me/TeamBliss" target="_blank">Donate</a>
@@ -161,10 +161,13 @@
                 <p class="portfolio-projects--desc">This is the Bliss you have all come to know and love for your phones and tablets.<br><br>Our list of supported devices is constantly changing, so make sure you check our Maintainers section to see if your device is supported.</p>
                 <a class="btn btn-rounded portfolio-projects--btn" href="https://downloads.blissroms.com/BlissRoms/Official/" role="button"><i class="fas fa-download"></i> Downloads</a>
                 <a class="btn btn-rounded portfolio-projects--btn" href="https://maintainers.blissroms.com" role="button">Maintainers Section</a>
+				
               </div>
+			  
               <div class="col-sm-7 text-center">
                 <img class="portfolio-projects--image" src="images/bliss_nexus.png">
               </div>
+			  
             </div>
           </div>
           <div class="col-lg-6">
@@ -194,6 +197,7 @@
                 <p class="portfolio-projects--desc portfolio-projects--image-title">(Preview shown using DNA Dark - Substratum theme)</p>
               </div>
             </div>
+			
             <div class="row">
             </div>
           </div>
@@ -323,7 +327,7 @@
         <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 trach by clicking the button below. </p> <a href="https://www.paypal.me/TeamBliss" class="btn btn-rounded family-projects--btn">Buy Us a Beer</a>
+          <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-rounded family-projects--btn">Buy Us a Beer</a>
           <p class="mt-2"></p>
         </div>
         <div class="col-md-6 py-2">
@@ -763,27 +767,15 @@
 		  <p></p>
 		  <p class="text-center">Our Bliss Family projects include applications, ports, ROMs, API's, services, and forks of other projects. Most if not all of our Bliss Family projects will be Open Source, allowing us to truly give back to the community as a team. </p>
 		  <div class="family-header text-center">
-			<h2 class="text-center" style="color: #fff;">Bliss Family is accepting applications now!</h2>
+			<h2 class="text-center" style="color: #fff;">To learn more about our nonprofit, please click the button below</h2>
 		  </div>
-          <p class="text-center">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.
+		  <a class="btn btn-rounded family-projects--btn" href="bfor.html" style="color:#fff;" >Bliss Family of ROMs</a>
 		  <br/>
-		  If you're an individual and would like to apply to join our team, please use the button below
-		  </p>
-		  <a class="btn btn-rounded family-projects--btn" href="https://goo.gl/forms/PdiaAj1PojosmehK2" style="color:#fff;" >Join Our Team</a>
-		  <br/>
-		  <p class="text-center">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>
-		  <p class="text-center">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:#fff;">Submit your project now</a>
-		  <a class="btn btn-rounded family-projects--btn" href="https://www.paypal.me/TeamBliss" target="_blank" role="button" style="color:#fff;">Donate to Bliss Family</a>
-		  
+		    
 		</div>
 			
 		<div class="center col-lg-4">
 		  <h2 class="text-center">&nbsp;<br></h2>
-		  <h2 class="text-center">&nbsp;<br></h2>
 		</div>
       </div>
     </div>
@@ -952,9 +944,13 @@
   </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-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>
   <script src="js/mainani.js" type="text/javascript"></script>
diff --git a/js/counter.js b/js/counter.js
new file mode 100644
index 0000000..f632111
--- /dev/null
+++ b/js/counter.js
@@ -0,0 +1,3 @@
+ $('.counter').counterUp({
+          
+        });
\ No newline at end of file
