/* ===================== GLOBAL & THEME VARIABLES ===================== */
:root {
  --text-color: #000;
  --second-text-color: #7d7f81;
  --body-bg: #fff;
  --accent-link-color: #2481cc;
  --header-bg: rgba(255, 255, 255, .84);
  --header-border: #e8e8e8;
  --footer-border: #e8e8e8;
  --bullet-icon: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEBJREFUeNpi/P//P4OAgAyCMIE4kCZiJ4gARL8G4gEk1oP4fS8QC4kfgfg3EC8DE8MCgACVAwgwAN2XD4hklwclAAAAAElFTkSuQmCC');
  --link-icon: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAkCAYAAAD1lhdgAAABmUlEQVR42u3WMU/DQBgH8P+dO04gVEzcjIUNk1cbN3ZgI2NiJcREHYiJkRlZWFjRkPFBBD8AN+i3sXFeTl559VqS9J33b3/3uyc3BwH+TVIiU4JzQo/B0U/gUnAcrgQXo+vL63/D/0CnwGlwGtwA68EFsCqf+t9l/4XegM/gAxgA1+AFcE+b/bbgPlwNrgSXwJVwBf0Z2J9WAF+Dny+sD14B34GXy2s7L4AvwWug4/h5cBeY39/Aj8B7YG8+sk4BAuApcG1zbY/AA7Am/A0uDabj3M7AG3ACXAOnwCFwFbwFbgBvgo/A+/D6vj893wNvgRvgD/AvLgAPgDXgq/Db+J2A/3wO/gG/jZ/gPfANfBafB+8B68CVcAD8Ff4b/AvvQ2fgHngG3gH/gP/Af+A92A67ATfAOfACfJd9BrYBrcBdcA++B6fJ9T8CT4Ar4CrYBlsA1+A7uAm+BV+D/8C/4DnwBjgKHgBngLXgAfgA3gPXgK/AZfAkvAWvgAvgffA6uAbfAKfAEXAEnwBvgGvgA3iLz/9j2fB3/B4SgWIAAAAASUVORK5CYII=');
}

/* Forcing a light theme. To enable dark, change html class to "theme_dark" */
html {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  scroll-behavior: smooth;
}
body {
  font: 14px/1.5 "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, Verdana, sans-serif;
  background: var(--body-bg);
  color: var(--text-color);
  margin: 0;
}
a, a:hover { color: var(--accent-link-color); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { margin: 0 auto; padding: 0 15px; }
@media (min-width: 768px) { .container { width: 750px; } }
@media (min-width: 992px) { .container { width: 970px; } }
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

/* ===================== HEADER ===================== */
.tl_page_head {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--header-bg);
  border-bottom: 1px solid var(--header-border);
  padding: 10px 0;
  height: 48px;
  box-sizing: border-box;
}
@supports(-webkit-backdrop-filter: blur(0px)) or (backdrop-filter: blur(0px)) {
  .tl_page_head { -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
}
.nav-logo {
    float: left;
    font-size: 18px;
    font-weight: bold;
    padding: 3px 0;
}
.nav {
    float: right;
    margin: 0;
    padding: 0;
    list-style: none;
}
.nav > li {
    float: left;
    font-size: 15px;
    margin-left: 20px;
    padding: 4px 0;
}
.nav a {
    color: var(--accent-link-color);
}

/* ===================== MAIN CONTENT ===================== */
.tl_page_container { margin-top: 48px; }
.tl_page { background: var(--body-bg); min-height: 500px; }
#dev_page_content_wrap {
  padding: 20px 0;
  max-width: 750px;
  margin: 0 auto;
}
#dev_page_title { margin-top: 32px; margin-bottom: 12px; font-size: 24px; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; margin: 20px 0 10px; position: relative; }
h3 { font-size: 20px; margin-top: 32px; margin-bottom: 10px; }
#dev_page_content p { margin-bottom: 1em; }

/* Anchor links styles */
a.anchor {
  text-decoration: none;
  line-height: 1;
  position: absolute;
  top: 0;
  left: -22px;
  bottom: 0;
  padding-top: 60px; /* Offset for fixed header */
  margin-top: -60px;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
a.anchor i.anchor-icon {
  display: inline-block;
  width: 18px;
  height: 20px;
  margin-top: 2px;
  background: var(--link-icon) 0 0 no-repeat;
  background-size: 17px 18px;
  opacity: 0;
  cursor: pointer;
  transition: opacity .15s ease-in-out;
}
h1:hover a.anchor i.anchor-icon,
h2:hover a.anchor i.anchor-icon,
h3:hover a.anchor i.anchor-icon,
h4:hover a.anchor i.anchor-icon {
  opacity: 0.6;
}
i.anchor-icon:hover { opacity: 1 !important; }

/* Lists and blockquotes */
blockquote {
  border-left: 4px solid var(--accent-link-color);
  padding: 5px 17px;
  margin: 1.5em 0;
  color: var(--second-text-color);
}
#dev_page_content > ul {
  list-style-type: none;
  padding-left: 10px;
}
#dev_page_content > ul li {
  background-image: var(--bullet-icon);
  background-repeat: no-repeat;
  background-position: 0px 8px;
  background-size: 7px 7px;
  padding-left: 20px;
  margin-bottom: 0.5em;
}

/* ===================== FOOTER ===================== */
.footer_wrap {
  border-top: 1px solid var(--footer-border);
  max-width: 925px;
  margin: 40px auto 0;
  padding: 28px 0 34px;
}
.footer_columns_wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 800px;
}
.footer_column {
  flex: 1 1 150px;
  padding: 0 15px;
  margin-bottom: 20px;
}
.footer_column_telegram {
  flex-basis: 210px;
}
.footer_column h5 {
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 9px;
  font-weight: bold;
}
.footer_column h5 a { color: inherit; }
.footer_column ul { list-style: none; margin: 0; padding: 0; }
.footer_column ul li { font-size: 14px; line-height: 23px; }
.footer_telegram_description { font-size: 13px; line-height: 1.5; }

/* ===================== RESPONSIVENESS ===================== */
@media (max-width: 767px) {
    body { font-size: 15px; }
    .nav { display: none; } /* Hide nav on mobile for simplicity */
    #dev_page_content_wrap { padding: 10px 15px; }
    #dev_page_title { font-size: 22px; }
    h3 { font-size: 18px; }
    a.anchor { left: -18px; }
    .footer_columns_wrap { flex-direction: column; text-align: center; }
    .footer_column { flex-basis: auto; }
}

blockquote a {
    font-weight: 500;
}