@charset "UTF-8";

:root {
  /* Typography */
  --bs-body-font-family: 'Roboto', Arial, sans-serif;
  --bs-body-font-size: 1.1rem;
  --bs-body-font-weight: 300;
  --bs-body-line-height: 1.625;
  --bs-body-color: #596270;
  --bs-body-bg: #fff;

  /* Links */
  --bs-link-color: #3466B1;
  --bs-link-color-rgb: 52, 102, 177;
  --bs-link-hover-color: #343da2;
  --bs-link-hover-color-rgb: 52, 61, 162;

  /* Headings */
  --bs-heading-color: #727f94;

  /* Theme-specific */
  --echo-heading-font-weight-larger: 400;
  --echo-heading-font-weight-smaller: 300;
  --echo-heading-hover-color: #8493ab;
  --echo-sidebar-bg: #e4e7ec;
  --echo-footer-color: #a6aeb7;
  --echo-navbar-toggler-bg: #727f94;
  --echo-navbar-toggler-hover-bg: #8493ab;
  --echo-plugin-label-color: #586374;
  --echo-pagination-bg: #757e8e;
}

/* Links */
a {
  text-decoration: none;
}

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

/* Headings */
h1,
h2,
h3 {
  font-weight: var(--echo-heading-font-weight-larger);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

h4,
h5,
h6 {
  font-weight: var(--echo-heading-font-weight-smaller);
}

h1 a,
h2 a,
h3 a,
h4 a,
.navbar-brand a {
  color: inherit;
  text-decoration: none;
}

h1 a:active,
h1 a:focus,
h1 a:hover,
h2 a:active,
h2 a:focus,
h2 a:hover,
h3 a:active,
h3 a:focus,
h3 a:hover,
h4 a:active,
h4 a:focus,
h4 a:hover {
  color: var(--echo-heading-hover-color);
}

/* Content images */
img {
  max-width: 100%;
}

/* Lists */
ul,
ol {
  margin-bottom: 1.5em;
}

ul li {
  padding-bottom: 6px;
}

/* Tables */
table {
  width: 100%;
  margin-bottom: 1.5em;
}

table thead {
  background: #555;
  color: #fff;
}

table td,
table th {
  padding-left: 5px;
}

/* Sidebar */
#site-sidebar {
  background: var(--echo-sidebar-bg);
}

#site-footer {
  color: var(--echo-footer-color);
}

@media (max-width: 767px) {
  #site-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
  }

  #site-content {
    margin-top: 80px;
  }
}

/* Navbar */
.navbar-brand {
  font-size: 2em;
  font-weight: 400;
  color: var(--bs-heading-color);
  margin: 0;
}

.navbar-toggler {
  font-size: 1rem;
  padding: .25rem .75rem;
  border-radius: .25rem;
  align-self: center;
  background: var(--echo-navbar-toggler-bg);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar-toggler:active,
.navbar-toggler:focus,
.navbar-toggler:hover {
  background: var(--echo-navbar-toggler-hover-bg);
}

/* Articles */
article.page {
  position: relative;
  margin-bottom: 80px;
}

article header h1,
article header h2 {
  font-size: 2em;
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Pagination & buttons */
.pagination {
  --bs-pagination-bg: var(--echo-pagination-bg);
  --bs-pagination-color: #fff;
  --bs-pagination-border-color: var(--echo-pagination-bg);
  --bs-pagination-hover-bg: #858e9e;
  --bs-pagination-hover-color: #fff;
  --bs-pagination-hover-border-color: #858e9e;
  --bs-pagination-disabled-bg: var(--echo-pagination-bg);
  --bs-pagination-disabled-color: #ccc;
  --bs-pagination-disabled-border-color: var(--echo-pagination-bg);
  --bs-pagination-active-bg: #58606f;
  --bs-pagination-active-border-color: #58606f;
}

/* Plugins */
div.plugin:not(:last-child) {
  margin-bottom: 40px;
}

div.plugin>h1,
div.plugin>h2,
div.plugin>h3,
div.plugin>h4,
div.plugin>h5 {
  font-size: 1em;
}

div.plugin h2.plugin-label {
  color: var(--echo-plugin-label-color);
  font-size: 1.1em;
  font-stretch: condensed;
  font-weight: 400;
  text-transform: uppercase;
  margin: 20px 0 10px;
}

div.plugin ul {
  list-style: none;
  padding: 0;
}

div.plugin-menu li.menu:not(:last-child) {
  margin-bottom: 10px;
}

div.plugin-menu ul.submenu {
  margin-left: 10px;
}

div.plugin-pages li.parent h3 {
  margin-bottom: 5px;
  margin-top: 10px;
}

div.plugin-pages ul.child {
  margin-left: 5px;
}

div.plugin-tags ul {
  list-style-type: none;
}

div.plugin-tags li {
  display: inline-block;
  padding: 0 5px;
}

/* Publish date */
@media (min-width: 992px) {
  .publish-date {
    position: absolute;
    left: -6em;
    top: 0;
    max-width: 8em;
    background: var(--bs-body-bg);
    padding: .2em .5em;
  }

  .month,
  .day,
  .year {
    display: block;
    text-align: center;
  }

  .month,
  .day {
    font-weight: 700;
  }

  .day {
    font-size: 2em;
    line-height: 1;
  }
}

@media (max-width: 991px) {
  .publish-date {
    font-weight: 600;
  }
}

/* Utilities */
.css-truncate {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: top;
}

code {
  display: inline-block;
  max-width: 100%;
  overflow: auto;
  vertical-align: top;
}