body {
  position: relative;
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  /* font-weight: 300;
  font-size: 1.50em; */
  color: #373737;
}

pre>code {
  white-space: pre-wrap;
  background-color: transparent;
  word-break: break-all;
}

code {
  background-color: #f9f2f4;
  white-space: nowrap;
}

/*
 *
 * slate #708b8e
 * green #c3fb6b
 * white-gray #f5f5f5
 * light gray #e7e7e7
 * medium gray #bebebe
 * gray #525252
 * dark gray #323232
 */

h1,
h2,
h3 {
  color: #323232;
  padding-top: 5px;
  margin-top: 20px;
  /* margin-bottom: 10px; */
}

.navbar-brand.main {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL3pldGV0aWMtaGVhZGVyLnBuZw) center left no-repeat;
  width: 300px;
  margin-left: 45px;
}

.navbar-brand.strip {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL2NvZGVib29rL0NCTG9nb0NvbG9yTmF2LTIwMHg1Ni5wbmc) center left no-repeat;
  width: 300px;
  height: 53px;
  margin-left: 45px;
}

@media all and (min-resolution: 1.5dppx) {
  .navbar-brand.strip {
    background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL2NvZGVib29rL0NCTG9nb0NvbG9yTmF2LTIwMHg1NkAyeC5wbmc) center left no-repeat;
    width: 300px;
    height: 53px;
    background-size: contain;
  }
}

.navbar-brand.sqlcipher {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL3NxbGNpcGhlci9sb2dvLXNxbGNpcGhlci5wbmc) center left no-repeat;
  width: 300px;
  height: 53px;
  margin-left: 45px;
}

.navbar-brand.identity {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL3NhZmUtc3F1YXJlLTU4LnBuZw) center left no-repeat;
  width: 300px;
}

.navbar-brand,
.navbar-brand:hover {
  color: transparent !important;
  display: block;
}

.navbar-brand.text {
  color: #323232 !important;
  padding-top: 0;
  padding-bottom: 0;
  font-weight: bold;
  vertical-align: middle;
}

.navbar-brand img {
  margin-right: 10px;
  margin: 10px;
}


#topnav.navbar-expand-lg {
  background-color: #323232;
  border-bottom: 1px solid #000000;
  z-index: 1040;
}

#topnav.navbar-expand-lg .navbar-nav>.active>a,
#topnav.navbar-expand-lg .navbar-nav>.active>a:hover,
#topnav.navbar-expand-lg .navbar-nav>.active>a:focus {
  color: #323232;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

#topnav.navbar-expand-lg .navbar-nav>.active>a::before,
#topnav.navbar-expand-lg .navbar-nav>.active>a:hover::before,
#topnav.navbar-expand-lg .navbar-nav>.active>a:focus::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /* expand background of active nav bar item by 8px top and bottom to account for nav padding */
  top: -8px;
  bottom: -8px;
  background-color: #BCFA60;
  border-right: 1px solid #323232;
  border-left: 1px solid #323232;
  z-index: -1;
}

.navbar-expand-lg .navbar-nav>li>a,
.navbar-expand-lg .navbar-nav>li>a:hover,
.navbar-expand-lg .navbar-nav>li>a:focus {
  color: #f0f0f0;
}

.navbar-expand-lg .navbar-nav a img {
  display: none;
}

#topnav.navbar-expand-lg .navbar-nav>.active>a img {
  display: flex;
  position: absolute;
  bottom: -19px;
}

#subnav.navbar-expand-lg .navbar-nav>li>a.active img {
  display: flex;
  position: absolute;
  bottom: -21px;
  left: 50%;
  transform: translateX(-50%);
}

#topnav,
#subnav {
  margin-bottom: 0;
}

.jumbotron {
  background-color: #f5f5f5;
  border-bottom: 1px solid #bebebe;
  text-decoration: none;
  padding-top: 3rem !important;
  padding-bottom: 48px !important;
  padding: 30px;
  margin-bottom: 30px;
  /* line-height: 22px; */
}

.jumbotron li {
  font-size: 21px !important;
}

.nomargin {
  margin: 0 0 0 0;
}

#subnav {
  width: 100%;
  background-color: #e7e7e7;
  border-bottom: 1px solid #bebebe;
  top: 0;
}


#subnav.navbar-expand-lg .navbar-nav>li>a.active,
#subnav.navbar-expand-lg .navbar-nav>li>a.active:hover,
#subnav.navbar-expand-lg .navbar-nav>li>a.active:focus {
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

#subnav.navbar-expand-lg .navbar-nav>li>a.active::before,
#subnav.navbar-expand-lg .navbar-nav>li>a.active:hover::before,
#subnav.navbar-expand-lg .navbar-nav>li>a.active:focus::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /* expand background of active nav bar item by 8px top and bottom to account for nav padding */
  top: -9.5px;
  bottom: -9.5px;
  background-color: #b6b6b6;
  z-index: -1;
}

#subnav.navbar-expand-lg .navbar-nav>li>a,
#subnav.navbar-expand-lg .navbar-nav>li>a:hover,
#subnav.navbar-expand-lg .navbar-nav>li>a:focus {
  color: #777;
}

.dropdown-toggle::after {
  margin-left: 0 !important;
}

.navbar-static-top {
  z-index: auto;
}

/* Sidebar - Table of Contents */

.sqlcipher-api-sidebar {
  position: fixed;
  margin-top: 20px;
  right: 20px;
  border: 1px solid #bebebe;
  border-radius: 6px;
  background-color: #f5f5f5;
  padding: 20px;
}

.sidebarButton {
  display: none;
}

/* This is where bootstrap cuts off and would put the col at the bottom of the page */
@media only screen and (max-width: 991px) {
  .sidebarButton {
    width: 50px;
    position: absolute;
    left: -50px;
    top: 50%;
    display: unset;
  }
}

/* End Sidebar - Table of Contents */


.zetetic-home .jumbotron {
  background: #f5f5f5 url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL2hvbWUtanVtYm90cm9uLmpwZw) no-repeat right;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
}

.zetetic-home .jumbotron h1 {
  color: #f5f5f5;
}

.zetetic-home .jumbotron p {
  color: #fff;
  margin-bottom: 15px;
  font-size: 21px;
  font-weight: 200;
}

img.inline-left {
  float: left;
  clear: both;
  margin-right: 1em;
  margin-bottom: 7em;
}

.clear {
  clear: both;
}

body.zetetic-about .row {
  margin-top: 20px;
}

.zetetic-about .customers {
  border: 1px solid #bebebe;
  border-radius: 6px;
  background-color: #ffffff;
}

body.zetetic-about .customers table {
  text-align: center;
  width: 100%;
}

body.zetetic-about .customers td {
  padding: 10px;
}

p.intro {
  color: #626262;
  border-bottom: 1px solid #bebebe;
  padding: 50px 0 50px 0;
  margin: 0;
}

ul {
  list-style-type: square;
}

.check-list li {
  background: url('/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL3NxbGNpcGhlci9jaGVjay1idWxsZXQucG5n') no-repeat scroll 0px 3px transparent;
  list-style-type: none;
  padding-left: 30px;
  padding-bottom: 5px;
  margin-left: 0px !important;
}

h1,
h2,
h3,
h2.title a {
  font-family: "textbook-new-web", Helvetica, Arial, sans-serif;
  color: #146A94;
  text-shadow: 0px 1px 1px #737373;
  text-decoration: none !important;
}

h2.index {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-shadow: 0px 0px 0px #ffffff;
  /* font-size: 30px; */
}

h2.index a {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-shadow: 0px 0px 0px #ffffff;
  text-decoration: none;
}

a.bttn {
  border-radius: 6px !important;
  padding: 5px 15px;
  color: #FFF;
  font-weight: bold;
  text-decoration: none;
}

a.bttn.orange {
  border: 1px solid #D65E2B;
  background: #f06930;
  background: linear-gradient(to top, #F06930 0%, #D65E2B 100%) repeat scroll 0% 0% transparent;
}

dl.horizontal dt {
  float: left;
  clear: left;
  width: 355px;
  text-align: right;
  font-weight: bold;
  margin-bottom: 15px;
}

dl.horizontal dd {
  margin-left: 375px;
  display: block;
  margin-bottom: 15px;
}

a.bttn.red {
  border: 1px solid #8c1827;
  background: #a61c2e;
  background: linear-gradient(to top, #a61c2e 0%, #8c1827 100%);
  color: #fff;
}

a.bttn.red:hover {
  color: #ccc !important;
}

a.bttn {
  border-radius: 6px !important;
  padding: 5px 15px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

a.bttn:hover {
  color: #ccc;
}

a.bttn.red {
  border: 1px solid #900;
  background: #fc0000;
  background: linear-gradient(to top, #fc0000 0%, #900 100%);
}

a,
a:active,
a:focus {
  outline: none;
  text-decoration: underline;
}

a:hover {
  text-decoration: underline !important;
}

a {
  color: #146A94;
  text-decoration: none;
}

.info-link {
  color: #146A94;
  text-decoration: none;
}

.btn {
  border-radius: 6px !important;
}

.btn-primary {
  background-color: #146A94 !important;
  border-radius: 6px !important;
  border-color: #285e8e; 
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
  background-color: #2B789E;
  /*
  color: #fff;
  border-color: #285e8e;
*/
}

footer {
  text-align: center;
}

/* Blog post for new icons tables */

.newIconsTable {
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.newIconsTable th {
  text-align: center;
  padding: 20px 0 20px 0;
}

.newIconsTable th.newIconsTableRightPadding {
  border-right: 2px solid #ddd;
  text-align: center;
  padding: 20px 40px 20px 0px;
}

.newIconTable th.newIconsTableLeftPadding {
  text-align: center;
  padding: 20px 0px 20px 40px;
}

.newIconsTable td {
  text-align: center;
  padding: 0 20px 20px 20px;
}

.newIconsTable td.newIconsTableRightPadding {
  border-right: 2px solid #ddd;
  text-align: center;
  padding: 0 40px 20px 20px;
}

.newIconsTable td.newIconsTableLeftPadding {
  text-align: center;
  padding: 0 20px 20px 40px;
}

div.blog-post-content {
  padding-bottom: 2em;
  border-bottom: 0.5px solid #bebebe;
  margin-bottom: 4em;
}

.sqlcipher-page-title {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL3NxbGNpcGhlci9sb2dvLXNxbGNpcGhlcjgwMHg4Mi5wbmc) center left no-repeat;
  background-size: 400px 41px;
  display: block;
  height: 41px;
  width: 400px;
  margin-top: 0;
  margin-bottom: 1em;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.sqlcipher-subtitle a {
  font-weight: 200;
  font-size: 1.35em;
  color: #7e7e7e;
}

#codebook-page-title {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL2NvZGVib29rL2NvZGVib29rLWxvZ29tYXJrLTgwMHgyMDgucG5n) center left no-repeat;
  background-size: 400px 104px;
  color: transparent !important;
  display: block;
  width: 400px;
  height: 104px;
  margin-bottom: 0.5em;
}

#codebook-business-page-title {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL2NvZGVib29rL2NmYi1sb2dvLnBuZw) center left no-repeat;
  background-size: 400px 104px;
  color: transparent !important;
  display: block;
  width: 400px;
  height: 104px;
  margin-bottom: 1.5em;
}

#codebook-linux-page-title {
  background: url(/px/aHR0cHM6Ly93d3cuemV0ZXRpYy5uZXQvaW1hZ2VzL2NvZGVib29rL2NmbC1sb2dvLnBuZw) center left no-repeat;
  background-size: 400px 104px;
  color: transparent !important;
  display: block;
  width: 400px;
  height: 104px;
  margin-bottom: 1.5em;
}

@media only screen and (min-width: 320px) and (max-width: 480px) {

  .sqlcipher-page-title,
  #codebook-page-title {
    background-size: contain;
    max-width: 100%;
  }
}

/* video iFrame sizing */

.video-embed-container {
  position: relative;
  padding-bottom: 56.25%;
  /* magic padding to keep it 16:9 ratio */
  overflow: hidden;
  max-width: 100%;
  height: auto;
  margin: 20px auto 20px auto;
}

.video-embed-container iframe,
.video-embed-container object,
.video-embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* platform download table for blog post */

.platform-download-table {
  margin-bottom: 1em;
}

.platform-download-table thead>tr {
  background-color: #eee;
}

.platform-download-table tbody>tr {
  border-bottom: 1px solid #eee;
}

.platform-download-table tbody>tr.footer {
  border-bottom: none;
}

.platform-download-table th,
.platform-download-table td {
  padding: 0.5em 1em;
}

/* Overriding bootstrap's anchor tag styles for our custom self-linked section title elements */
h1.link a,
h1.link a:hover,
h1.link a:focus,
h2.link a,
h2.link a:hover,
h2.link a:focus,
h3.link a,
h3.link a:hover,
h3.link a:focus,
h4.link a,
h4.link a:hover,
h4.link a:focus,
h5.link a,
h5.link a:hover,
h5.link a:focus,
h6.link a,
h6.link a:hover,
h6.link a:focus {
  text-decoration: none;
}

/* Sets up a "hidden" symbol ::before our link that we'll use to help indicate it is a link on hover */
h1.link a::before,
h2.link a::before,
h3.link a::before,
h4.link a::before,
h5.link a::before,
h6.link a::before {
  position: absolute;
  left: -0.5em;
  width: 0.5em;
  content: "\000A7";
  transition: color 0.2s ease;
  text-align: center;
  color: #fff;
  text-shadow: none;
}

/* Show the secret sign! */
h1.link a:hover::before,
h2.link a:hover::before,
h3.link a:hover::before,
h4.link a:hover::before,
h5.link a:hover::before,
h6.link a:hover::before {
  color: #ddd;
}

.text-archs-support {
  font-size: 0.95em;
  text-align: center;
}

p.warning {
  padding: 4px 8px;
  background-color: #f9f2f4;
  border-radius: 8px;
}

p.warning>strong.warning-label {
  color: #c7254e;
}

footer>p {
  margin-bottom: 0.25em;
  font-size: 0.95em;
}

footer>p>a.btn {
  background-color: #146A94;
  color: #fff;
  padding: 2px 4px;
  font-size: 0.8em;
  font-weight: 600;
}

footer>p>a.btn:hover {
  background-color: #2B789E;
  color: #fff;
}


/* Bootstrap 3 Card Implementation */
/* TODO: use built in card styles when we transition to Bootstrap 4 */
.row.flex-row {
  display: flex;
}

.row.flex-row>div {
  margin: 20px auto 20px auto;
  vertical-align: bottom;
}

@media only screen and (max-width: 992px) {
  .row.flex-row {
    display: block;
  }
}

.card {
  padding: 20px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
  transition: 0.3s;
  /* height: 100%; */
}

.card:hover {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.7);
}

.card h3 {
  text-align: center;
  margin-top: 10px;
  padding-top: 0px;
}

.card p {
  font-style: italic;
  text-align: center;
}

.card .btn {
  width: 80%;
}

.card-title {
  font-size: 30px;
  border-color: #146A94;
  color: #146A94;
}

.card .btn-default {
  border-color: #146A94;
  color: #146A94;
}

.card .button-holder {
  position: absolute;
  left: 0px;
  bottom: 20px;
  width: 100%;
  /* height: 50px; */
  text-align: center;
}

.card-highlight {
  background-color: #f5f5f5;
}

.card-header-container {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left: clamp(20px, 10%, 100vw);
  margin-right: clamp(20px, 10%, 100vw);
}

.card-header-item>h3 {
  text-align: left !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.card-header-item>img {
  height: 50px;
}

.card-body-platform-image-container {
  margin-bottom: 15px;
}

.card-body-platform-image-container>img {
  width: 50px;
}

.row.logos>div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.text-secondary {
  color: #6c757d;
}

pre {
  background-color: #f5f5f5 !important;
  padding: 10px;
  border: 1px solid lightgray;
}

.constrained-width {
  max-width: 100%;
  height: auto;
}