<!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"><a class="navbar-brand" href="stats.html"><b><b>BlissROMs Stats</b></b></a></div>
      </div>
      <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="https://www.blissos.org"><b><b>Bliss OS</b></b></a>
          </li>
          <li class="nav-item mx-2">
            <a class="nav-link" href="https://www.blissroms.com"><b><b>BlissROMs</b></b></a>
          </li>
          <li class="nav-item mx-2">
            <a class="nav-link" href="https://www.blissroms.com/bfor.html"><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">
          <h1 class="display-3 mb-4">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-light" 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" 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_content"></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-dark" 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 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>
    </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>
          </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.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>