<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- PAGE settings -->
  <link rel="icon" href="favicon.ico">
  <title>BlissROMs Stats</title>
  <meta name="description" content="Bliss Stats for all devices with confirmed boot">
  <meta name="keywords" content="blissroms, bliss, os, x86, aosp, android, rom, teambliss">
  <!-- CSS dependencies -->
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
  <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">
  <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>
  -->
</head>

<body class="" style="">
  <!-- Navbar -->
  <nav class="navbar navbar-expand-md fixed-top navbar-light bg-primary" style="padding-right: 41px;">
    <div class="container">
      <a class="navbar-brand" href="stats.html"><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" style="color: #ffffff;"><a class="navbar-brand" href="stats.html" style="color: #ffffff;"><b><b>BlissROMs Stats</b></b></a></div>
      </div>
      <div class="row"></div>
      <button class="navbar-toggler navbar-toggler-right" style="color: #ffffff;" 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" style="color: #ffffff;">
        <ul class="navbar-nav" style="color: #ffffff;">
          <li class="nav-item mx-2">
            <a class="nav-link" href="https://www.blissos.org" style="color: #ffffff;"><b><b>Bliss OS</b></b></a>
          </li>
          <li class="nav-item mx-2">
            <a class="nav-link" href="https://www.blissroms.com" style="color: #ffffff;"><b><b>BlissROMs</b></b></a>
          </li>
          <li class="nav-item mx-2">
            <a class="nav-link" href="https://www.blissroms.com/bfor.html" style="color: #ffffff;"><b><b>Non Profit</b></b></a>
          </li>
        </ul>
      </div>
    </div>
  </nav>
  <!-- Cover -->
  <div class="section-fade-out pt-5 text-dark" style="background-image: url(&quot;https://i.imgur.com/W9WLZoD.jpg&quot;); background-position: center bottom;">
    <div class="container pt-5">
      <div class="row">
        <div class="col-md-12 py-5 mx-auto text-center" style="color: #ffffff;">
          <h1 class="display-3 mb-4" style="color: #ffffff;">BlissROMs Stats Site</h1>
          <h1>Our Bliss Stats app collects a single device identifier when each device boots up for the first time.</h1>
          <h3>This sites purpose is to allow that data to be publicly viewable. </h3>
        </div>
      </div>
      <div class="row"></div>
      <div class="row">
        <div class="col-md-12 d-inline-flex justify-content-center align-items-center mx-auto mt-5 text-dark">
          <div class="container">
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- Article style section -->
  <!-- Features -->
  <!-- Features -->
  <!-- Carousel reviews -->
  <!-- Call to action -->
  <div class="py-5 bg-dark section-fade-in" id="team">
    <div class="container">
      <div class="row">
        <div class="mx-auto col-md-12 text-center">
          <div class="row">
            <div class="col-md-4"></div>
            <div class="col-md-4">
              <h3 class="display-3">The Stats</h3>
            </div>
            <div class="col-md-4"></div>
          </div>
        </div>
      </div>
      <div class="container">
        <div class="row">
          <div class="col-md-12">
            <form class="form-inline">
              <div class="input-group">
              </div>
            </form>
          </div>
        </div>
        <div class="row">
          <div class="col-md-12">
            <div class="form-group"><input type="text" class="form-control bg-dark text-light" id="search" placeholder="Search"></div>
          </div>
        </div>
      </div>
      <div class="container mx-auto" data-pingendo-transient="">
        <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;">
          <section class="counting">
            <div class="layout">
              <section id="content3" class="team_content2"></section>
              <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
              <!--
              <script>
                $.ajax({
                  type: "GET",
                  url: "https://cors-anywhere.herokuapp.com/https://blissapi.blissroms.com/blissstats/public/devicestats", // TeamBliss JSON
                  success: function(data) {
                    var newContent = ''; // Variable to hold HTML
                    for (var i = 0; i < data.length; i++) { // Loop through object
                      newContent += '<div class="grid-3">';
                      newContent += '<span class="count2 text-light" style="font-size: 4em !important; color: #0080ff;">' + data[i].installations + '</span>';
                      newContent += '<p class="dev" style="color: #0080ff;">' + data[i].device + '</p>';
                      newContent += '</div>';
                    }
                    // Update the page with the new content
                    document.getElementById('content3').innerHTML = newContent;
                  }
                })
              </script>
              -->
              <script>
                $(document).ready(function() {
                  $('#search').keyup(function() {
                    // Search text
                    var text = $(this).val();
                    // Hide all content class element
                    $('.grid-3').hide();
                    // Search
                    $('.grid-3 .dev:contains("' + text + '")').closest('.grid-3').show();
                  });
                });
                $.expr[":"].contains = $.expr.createPseudo(function(arg) {
                  return function(elem) {
                    return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
                  };
                });
              </script>
            </div>
          </section>
          <!-- End #Contact-->
        </div>
      </div>
    </div>
  </div>
  <div class="py-5 bg-light" style="">
    <div class="container">
      <div class="row">
        <div class="col-md-6 text-center mx-auto px-5 pt-4">
          <h3 class="my-3 highlight_secondary team-header text-white"> </h3><br>
          <h1 class="my-3 highlight_secondary team-header text-dark">We volunteer our time.</h1>
          <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 Coffee</a>
        </div>
        <div class="col-md-6 py-5"><img class="img-fluid d-block d-flex align-items-center justify-content-center flex-grow-1 mx-auto animate-in-right" src="images/coffee-break.svg" width="300"></div>
      </div>
    </div>
  </div>
  <div class="py-5 bg-dark" id="join">
    <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>
          <h2 class="">We are accepting applications now</h2>
          <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 manageable 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>
    </div>
  </div>
  <!-- Footer -->
  <div class="py-3 bg-dark">
    <div class="container">
      <div class="row">
        <div class="col-lg-3 col-6 p-3">
          <h5> <b>Socials</b></h5>
          <ul class="list-unstyled text-primary">
            <li class="text-primary"> <a href="https://t.me/Team_Bliss_Community" class="text-info">BlissROMs Telegram</a> </li>
            <li> <a href="https://t.me/blissx86" class="text-info">Bliss OS Telegram</a> </li>
            <li> <a href="https://www.facebook.com/BlissFamilyOfROMs/" class="text-info">Bliss Facebook</a> </li>
            <li> <a href="https://twitter.com/Bliss_Roms" class="text-info">Bliss Twitter</a> </li>
            <li> <a href="https://www.linkedin.com/company/stayblissful" class="text-info">Bliss LinkedIn</a> </li>
          </ul>
        </div>
        <div class="col-lg-3 col-6 p-3">
          <h5> <b>Sources</b></h5>
          <ul class="list-unstyled">
            <li> <a href="https://review.blissroms.com" class="text-info">BlissROMs Gerrit Review</a> </li>
            <li> <a href="https://github.com/BlissRoms" class="text-info">BlissROMs GitHub</a> </li>
            <li> <a href="https://github.com/BlissRoms-Devices" style="" class="text-info">BlissROMs-Devices GitHub</a> </li>
            <li> <a href="https://github.com/BlissRoms-Kernels" class="text-info">BlissROMs-Kernels GitHub</a> </li>
            <li> <a href="https://github.com/BlissRoms-Vendor" class="text-info">BlissROMs-Vendor GitHub</a> </li>
            <li> <a href="https://github.com/BlissRoms-x86" class="text-info">Bliss OS GitHub</a> </li>
            <li> <a href="https://github.com/BlissRoms-pine64" class="text-info">BlissROMs-PINE64 GitHub</a> </li>
          </ul>
        </div>
        <div class="col-lg-3 col-6 p-3">
          <h5>Subreddits</h5>
          <ul class="list-unstyled">
            <li> <a href="https://www.reddit.com/r/BlissRoms" class="text-info">BlissROMs</a> </li>
            <li> <a href="https://www.reddit.com/r/BlissOS" class="text-info">Bliss OS</a> </li>
            <li> <a href="https://www.reddit.com/r/TeamBliss" class="text-info">TeamBliss</a> </li>
          </ul>
        </div>
        <div class="col-lg-3 col-md-3 p-3">
          <h5> <b>Follow us</b> </h5>
          <div class="row">
            <div class="col-md-12 d-flex align-items-center my-2 justify-content-center"> <a href="https://www.facebook.com/BlissFamilyOfROMs/" class="">
                <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><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.linkedin.com/company/stayblissful">
                <i class="d-block fa fa-linkedin 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>
              </a> <a href="https://twitter.com/Bliss_Roms">
                <i class="d-block fa fa-twitter text-muted ml-2 fa-2x"></i>
              </a> </div>
          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-md-12 text-center">
          <p class="mb-0 mt-2">© 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="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>
  <!-- <script src="https://bfintal.github.io/Counter-Up/jquery.counterup.min.js"></script> -->
  <script src="js/counter.js"></script>
</body>

</html>
