diff --git a/bfor.html b/bfor.html
index 918ff32..e3fd09e 100644
--- a/bfor.html
+++ b/bfor.html
@@ -19,8 +19,8 @@
   <script src="js/animate-in.js"></script>
   <link rel="stylesheet" href="css/animations.css">
   <link rel="stylesheet" href="css/table.css">
-  <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>
-
+  <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>
 </head>
 
 <body class="" style="">
@@ -47,10 +47,10 @@
           <li class="nav-item mx-2">
             <a class="nav-link" href="bfor.html"><b><b>Non Profit</b></b></a>
           </li>
-		  <li class="nav-item mx-2">
+          <li class="nav-item mx-2">
             <a class="nav-link" href="blog.html"><b><b>Blog</b></b></a>
           </li>
-		  <li class="nav-item mx-2">
+          <li class="nav-item mx-2">
             <a class="nav-link" href="index.html#gear"><b><b>Gear</b></b></a>
           </li>
         </ul>
@@ -81,7 +81,7 @@
           <div class="container">
             <div class="row">
               <div class="col-md-12 text-center">
-                <h1>About</h1>
+                <h1>About Us</h1>
               </div>
             </div>
             <div class="row">
@@ -90,7 +90,7 @@
               </div>
               <div class="col-md-6 p-3">
                 <h2 class="text-muted"><span class="text-white">What are we aiming to accomplish?</span></h2>
-                <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>
+                <p>Our goal is to mentor and teach those interested in all aspects revolving around 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 our team members 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>
@@ -103,7 +103,8 @@
       <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>
+          <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 Linux and Android 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.<br><br></p>
+          <h3 contenteditable="true">If you would like to work with us and help us branch out to a larger community, please follow the link from our Join Our Team button below.</h3>
         </div>
       </div>
       <div class="row">
@@ -124,7 +125,7 @@
         </div>
       </div>
       <div class="row">
-        <div class="col-md-12"><br><br>
+        <div class="col-md-12" style=""><br><br>
           <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">
@@ -2100,6 +2101,7 @@
               </g>
             </svg>
           </div>
+          <p class="highlight_secondary lead text-center">To find out more about using&nbsp;<a style="font-weight: bold; color: black;" target="blank" href="http://legacyserver.in">Legacy-Server</a>&nbsp;build servers, please follow the link from their name. As a reminder, slots are available on a first-come first-serve basis, and time is shared across many countries.&nbsp;</p>
         </div>
       </div>
     </div>
@@ -2168,50 +2170,52 @@
   </div>
   <div class="py-5 bg-secondary">
     <div class="container">
-      <div id="expenses" class="row cover text-center align-items-center justify-content-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;">
-        <section class="counting  d-flex flex-column justify-content-center align-items-center flex-grow-1">
-          <div class="layout ">
-            <h2 class="text-center" style="color: #fff;">2017 Revenue (year one)</h2>
-            <div class="grid-3" style="">
-              <span class="count1 counter text-light" style="font-size: 4em !important; color: rgb(0, 128, 255);" data-count="889">0</span>
-              <p style="font-size: .9em !important;">Contributions, Grants, Gifts</p>
-            </div> <!-- /.col-sm-3 -->
-            <div class="grid-3">
-              <span class="count2 counter text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
-              <p style="font-size: .9em !important;">Program Services</p>
-            </div><!-- /.col-sm-3 -->
-            <div class="grid-3">
-              <span class="count3 counter text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
-              <p style="font-size: .9em !important;">Special Events</p>
-            </div><!-- /.col-sm-3 -->
-            <div class="grid-3">
-              <span class="count4 counter text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
-              <p style="font-size: .9em !important;">Other Revenue</p>
-            </div><!-- /.col-sm-3 -->
-          </div>
-        </section>
+      <div id="expenses" class="row text-center align-items-center justify-content-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;">
         <div class="col-md-12">
-          <section class="counting">
-            <div class="layout">
-              <h2 class="text-center" style="color: #fff;">2017 Expenses (year one)</h2>
-              <div class="grid-3">
-                <span class="counter count1 text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
-                <p style="font-size: .9em !important;">Program Services &amp; Affiliates</p>
+          <section class="counting  d-flex flex-column justify-content-center align-items-center flex-grow-2">
+            <div class="layout ">
+              <h2 class="text-center" style="color: #fff;">2017 Revenue (year one)</h2>
+              <div class="grid-3" style="">
+                <span class="count1 counter text-light" style="font-size: 4em !important; color: rgb(0, 128, 255);" data-count="889">0</span>
+                <p style="font-size: .9em !important;">Contributions, Grants, Gifts</p>
               </div> <!-- /.col-sm-3 -->
               <div class="grid-3">
-                <span class="counter count2 text-light" style="font-size: 4em !important; color: #0080ff;" data-count="360">0</span>
-                <p style="font-size: .9em !important;">Administration</p>
+                <span class="count2 counter text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
+                <p style="font-size: .9em !important;">Program Services</p>
               </div><!-- /.col-sm-3 -->
               <div class="grid-3">
-                <span class="counter count3 text-light" style="font-size: 4em !important; color: rgb(0, 128, 255);">0</span>
-                <p style="font-size: .9em !important;">Fundraising</p>
+                <span class="count3 counter text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
+                <p style="font-size: .9em !important;">Special Events</p>
               </div><!-- /.col-sm-3 -->
               <div class="grid-3">
-                <span class="counter count4 text-light" style="font-size: 4em !important; color: #0080ff;" data-count="295">0</span>
-                <p style="font-size: .9em !important;">Other Expenses</p>
+                <span class="count4 counter text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
+                <p style="font-size: .9em !important;">Other Revenue</p>
               </div><!-- /.col-sm-3 -->
             </div>
           </section>
+          <div class="col-md-12">
+            <section class="counting  d-flex flex-column justify-content-center align-items-center flex-grow-2">
+              <div class="layout">
+                <h2 class="text-center" style="color: #fff;">2017 Expenses (year one)</h2>
+                <div class="grid-3">
+                  <span class="counter count1 text-light" style="font-size: 4em !important; color: #0080ff;">0</span>
+                  <p style="font-size: .9em !important;">Program Services &amp; Affiliates</p>
+                </div> <!-- /.col-sm-3 -->
+                <div class="grid-3">
+                  <span class="counter count2 text-light" style="font-size: 4em !important; color: #0080ff;" data-count="360">0</span>
+                  <p style="font-size: .9em !important;">Administration</p>
+                </div><!-- /.col-sm-3 -->
+                <div class="grid-3">
+                  <span class="counter count3 text-light" style="font-size: 4em !important; color: rgb(0, 128, 255);">0</span>
+                  <p style="font-size: .9em !important;">Fundraising</p>
+                </div><!-- /.col-sm-3 -->
+                <div class="grid-3">
+                  <span class="counter count4 text-light" style="font-size: 4em !important; color: #0080ff;" data-count="295">0</span>
+                  <p style="font-size: .9em !important;">Other Expenses</p>
+                </div><!-- /.col-sm-3 -->
+              </div>
+            </section>
+          </div>
         </div>
         <!-- End #Contact-->
       </div>
@@ -2235,7 +2239,7 @@
         <div class="col-md-8 text-left">
           <h3 class="text-primary display-3"> <b>Join Team Bliss</b></h3>
           <h2 class="">We are accepting applications now</h2>
-          <p class="text-primary">* only volunteer positions currently available. Internships coming soon *</p>
+          <p class="text-warning">* only volunteer positions currently available. Internships coming soon *</p>
           <p class="mb-3" 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>
       </div>
@@ -2262,33 +2266,29 @@
           <h3 class="display-3">The Team</h3>
         </div>
       </div>
-	  
-	  <section id="content" class="team_content"></section>
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 
-    <script>
-       $.ajax({
-       type: "GET",
-       url: "https://blissapi.blissroms.com/team/public/allteambliss", // TeamBliss JSON
-          success: function (data) {
-          var newContent = '';       // Variable to hold HTML
-       
-          for (var i = 0; i < data.length; i++) {    // Loop through object
-            newContent += '<div id="event" class="team_item">';
-            newContent += '<img class="image crop" src="' + data[i].image + '" ';
-            newContent += 'alt="' + data[i].member + '" />';
-            newContent += '<h3><b>' + data[i].member + '</b></h3>';
-            newContent += '<p class="team_data_text">' + data[i].descriptions + '</p>';
-            newContent += '<p class="team_data_text"><i>&quot;' + data[i].email + '&quot;</i></p>';
-            newContent += '</div>';
+      <section id="content" class="team_content"></section>
+      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
+      <script>
+        $.ajax({
+          type: "GET",
+          url: "https://blissapi.blissroms.com/team/public/allteambliss", // TeamBliss JSON
+          success: function(data) {
+            var newContent = ''; // Variable to hold HTML
+            for (var i = 0; i < data.length; i++) { // Loop through object
+              newContent += '<div id="event" class="team_item">';
+              newContent += '<img class="image crop" src="' + data[i].image + '" ';
+              newContent += 'alt="' + data[i].member + '" />';
+              newContent += '<h3><b>' + data[i].member + '</b></h3>';
+              newContent += '<p class="team_data_text">' + data[i].descriptions + '</p>';
+              newContent += '<p class="team_data_text"><i>&quot;' + data[i].email + '&quot;</i></p>';
+              newContent += '</div>';
+            }
+            // Update the page with the new content
+            document.getElementById('content').innerHTML = newContent;
           }
-    
-          // Update the page with the new content
-          document.getElementById('content').innerHTML = newContent;
-      }
-    })
-  </script>
-    
-	</div>
+        })
+      </script>
+    </div>
   </div>
   <div class="py-4 text-center" style="">
     <div class="container">
@@ -2371,7 +2371,7 @@
                 <i class="d-block fa fa-facebook-official text-muted mr-2 fa-2x"></i>
               </a> <a href="https://www.instagram.com/blissroms/">
                 <i class="d-block fa fa-instagram text-muted mx-2 fa-2x"></i>
-              <a href="https://github.com/BlissRoms">
+              </a><a href="https://github.com/BlissRoms">
                 <i class="d-block fa fa-github text-muted text-muted mx-2 fa-2x"></i>
               </a> <a href="https://www.reddit.com/r/BlissRoms">
                 <i class="d-block fa fa-reddit text-muted mx-2 fa-2x"></i>
@@ -2396,7 +2396,6 @@
   <script src="js/smooth-scroll.js"></script>
   <!-- <script src="https://bfintal.github.io/Counter-Up/jquery.counterup.min.js"></script> -->
   <script src="js/counter.js"></script>
-
 </body>
 
 </html>
\ No newline at end of file
