/* Adapted from the vpsFree.cz Flat theme, GPL-3.0-or-later. See static/theme/NOTICE.md. */
* {
  box-sizing:border-box
}
body {
  margin:0;
  color:#555;
  background:#1f3959 url('/images/rack-background.f8e3a64a8be47585ee528889ff3ee185a6c69a2b54e95ebcd294406b08b3ff97.jpg') repeat-y left top;
  background-size:max(100%, 3000px) auto;
  font:16px/26px Arial,Verdana,sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased
}
a {
  color:#3699dc;
  text-decoration:none
}
a:hover {
  color:#217dbb
}
a:focus-visible,input:focus-visible {
  outline:3px solid #e9a64d;
  outline-offset:3px
}
h1,h2,h3 {
  font-family:Arial,Verdana,sans-serif;
  font-weight:300;
  line-height:1.2
}
p {
  margin:0 0 13px
}
#page {
  position:relative;
  display:grid;
  grid-template-columns:300px minmax(0,900px);
  max-width:1200px;
  min-height:100vh;
  margin:0 auto;
  background:#fff
}
#secondary {
  background:#16273f;
  color:rgba(255,255,255,.5);
  min-width:0
}
#secondary a {
  color:#fff
}
#secondary a:hover {
  color:#ccc
}
.site-title {
  text-align:center;
  margin:0;
  padding:30px 0;
  height:150px
}
.site-title img {
  display:block;
  width:230px;
  height:90px;
  margin:0 auto
}
.site-description {
  text-align:center;
  text-transform:uppercase;
  color:rgba(255,255,255,.3);
  font-size:12px;
  line-height:20px;
  margin:-15px 0 30px
}
.widget {
  padding:25px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:14px;
  line-height:22.75px
}
.widget-title {
  font:300 12px/20px Arial,Verdana,sans-serif;
  text-transform:uppercase;
  color:rgba(255,255,255,.3);
  margin:0 0 10px
}
.widget ul {
  padding:0;
  margin:0;
  list-style:none
}
.widget li {
  position:relative;
  padding-left:15px
}
.widget li:before {
  content:'•';
  position:absolute;
  left:0;
  color:rgba(255,255,255,.4)
}
.join {
  text-align:center
}
.join img {
  display:block;
  margin:0 auto
}
.site-navigation {
  padding:12px 25px
}
.languages {
  display:inline
}
.languages a+a {
  margin-left:10px
}
.search input {
  min-width:0;
  flex:1;
  padding:8px 12px;
  border:1px solid #ccc;
  border-radius:4px;
  background:#fff;
  color:#777;
  font:16px/22px Arial,Verdana,sans-serif
}
.search small {
  display:block;
  font-size:11px;
  line-height:17px;
  margin-top:5px
}
.tag-cloud a {
  display:inline-block;
  margin-right:5px
}
.content-area {
  min-width:0;
  background:#fff
}
.hentry {
  padding:80px 90px;
  border-bottom:1px solid #eee;
  overflow-wrap:break-word
}
.entry-title {
  font-size:48px;
  line-height:1.2;
  text-align:center;
  color:#333;
  margin:0 0 13px
}
.entry-title a {
  color:#333
}
.entry-meta {
  text-align:center;
  color:#777;
  font-size:12px;
  line-height:19.5px;
  letter-spacing:1px;
  text-transform:uppercase
}
.entry-meta .sep {
  margin:0 10px
}
.entry-content {
  padding-top:30px
}
.entry-content p {
  margin:0 0 13px
}
.entry-content h2 {
  font-size:30px
}
.entry-content h3 {
  font-size:24px
}
.entry-content img {
  max-width:100%;
  height:auto
}
.entry-content img.aligncenter,
.entry-content img.alignnone,
.entry-content p > img:only-child:not([class]),
.entry-content p > a:only-child > img:only-child:not([class]),
.entry-content figure:not(.alignleft):not(.alignright) img:not(.emoji):not(.alignleft):not(.alignright) {
  display:block;
  margin-inline:auto
}
.entry-content iframe {
  max-width:100%
}
.entry-content table {
  display:block;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
  overflow-x:auto;
  border-collapse:collapse
}
.entry-content th,.entry-content td {
  padding:5px 8px;
  border:1px solid #ddd
}
pre {
  display:block;
  padding:12.5px;
  margin:0 0 13px;
  overflow:auto;
  color:#333;
  background:#f5f5f5;
  border:1px solid #ccc;
  border-radius:4px;
  font:15px/15px 'Courier New',monospace
}
code {
  padding:2px 4px;
  color:#c7254e;
  background:#f9f2f4;
  border-radius:4px;
  font:90% 'Courier New',monospace
}
pre code {
  padding:0;
  color:inherit;
  background:none;
  border:0;
  font:inherit
}
.highlight pre {
  color:#333!important;
  background:#f5f5f5!important
}
blockquote {
  padding:0 20px;
  margin:0 0 26px;
  border-left:5px solid #eee;
  color:#777
}
.entry-taxonomies {
  font-size:12px;
  margin-top:25px
}
.entry-taxonomies span {
  display:block
}
.draft, .unlisted {
  margin-top:20px;
  padding:10px;
  background:#fff6df;
  border-left:3px solid #b38126
}
.archive-header {
  padding:40px 90px;
  border-bottom:1px solid #eee
}
.archive-header h1 {
  font-size:30px;
  margin:0
}
.pagination {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  list-style:none;
  padding:30px 90px;
  margin:0
}
.pagination .page-link {
  display:block;
  min-width:2em;
  padding:2px 6px;
  border-radius:3px;
  text-align:center;
  color:#2173a8
}
.pagination a[href] {
  cursor:pointer
}
.pagination a[href]:hover,.pagination a[href]:focus-visible {
  color:#15527a;
  background:#eaf3f9;
  text-decoration:underline
}
.pagination [aria-current="page"] {
  color:#fff;
  background:#1f3959;
  font-weight:bold;
  cursor:default
}
.pagination [aria-disabled="true"] {
  color:#8a8a8a;
  cursor:default;
  pointer-events:none
}
.site-footer {
  padding:20px 90px;
  background:#f8f8f8;
  font-size:12px;
  color:#777
}
.preview {
  margin:5px 0 0
}
.comments-area {
  padding:90px;
  border-top:1px solid #eee
}
.comments-title {
  font-size:24px
}
.comment-list,.comment-list ol {
  padding:0;
  list-style:none
}
.comment-list ol {
  margin-left:120px
}
.comment-body {
  padding:40px 0 40px 120px;
  position:relative;
  border-bottom:1px solid #eee
}
.comment-author {
  font-size:20px;
  font-weight:bold;
  color:#333
}
.comment-metadata {
  position:absolute;
  right:0;
  top:40px;
  font-size:11px;
  color:#777
}
.comment-content {
  margin-top:15px
}
.comment-content pre {
  white-space:pre-wrap
}
.sidebar-state,.sidebar-toggle {
  display:none
}
.skip-link,.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%)
}
.skip-link:focus {
  position:fixed;
  left:10px;
  top:10px;
  z-index:20;
  clip-path:none;
  width:auto;
  height:auto;
  background:#fff;
  padding:10px
}
@media(max-width:1199px) {
  #page {
    display:block;
    max-width:100%
  }
  #secondary {
    position:relative
  }
  .site-title {
    height:121px;
    padding:15px 0;
    border-bottom:1px solid rgba(255,255,255,.1)
  }
  .site-description {
    height:41px;
    padding:10px 40px;
    margin:0
  }
  .sidebar-toggle {
    display:block;
    position:absolute;
    left:0;
    top:121px;
    width:40px;
    height:41px;
    text-align:center;
    padding:7px;
    border-right:1px solid rgba(255,255,255,.1);
    color:#fff;
    cursor:pointer
  }
  .sidebar-state {
    display:block;
    position:absolute;
    left:4px;
    top:128px;
    width:30px;
    height:25px;
    opacity:0;
    z-index:2;
    cursor:pointer
  }
  .sidebar-state:focus-visible+.sidebar-toggle {
    outline:3px solid #e9a64d;
    outline-offset:-3px
  }
  .sidebar-widgets {
    display:none;
    background:#16273f
  }
  .sidebar-state:checked~.sidebar-widgets {
    display:block
  }
  .hentry {
    padding:60px
  }
  .entry-title {
    font-size:30px
  }
  .comments-area {
    padding:60px
  }
}
@media(max-width:767px) {
  .hentry {
    padding:30px
  }
  .entry-title {
    font-size:24px;
    line-height:28.8px
  }
  .entry-content {
    padding-top:10px
  }
  .entry-content h2 {
    font-size:24px
  }
  .entry-content h3 {
    font-size:21px
  }
  .archive-header,.site-footer {
    padding:20px 30px
  }
  .pagination {
    padding:25px 30px
  }
  .comments-area {
    padding:30px
  }
  .comment-body {
    padding:30px 0
  }
  .comment-list ol {
    margin-left:20px
  }
  .entry-meta .sep {
    margin:0 5px
  }
}
.highlight span {
  color:inherit!important
}
@media(min-width:1200px) {
  .site-navigation {
    position:absolute;
    top:160px;
    left:0;
    width:300px;
    padding:0 15px;
    border:0;
    text-align:center;
    font-size:11px;
    line-height:20px
  }
  .site-navigation p {
    font-size:10px;
    line-height:13px
  }
}

.entry-summary > p:last-of-type {
  margin-bottom: 0;
}

@media(max-width:767px){
  .comment-metadata {position:static;}
}

/* Search uses the existing Flat sidebar and article canvas. */
.search button,.search-page button {
  padding:8px 14px;
  border:1px solid #3699dc;
  border-radius:4px;
  background:#3699dc;
  color:#fff;
  font:inherit;
  cursor:pointer
}
.search button,.search-controls button {
  flex-shrink:0;
  white-space:nowrap
}
.search-page {
  padding:80px 90px
}
.search-form label {
  display:block;
  margin-bottom:8px
}
.search,.search-controls {
  display:flex;
  flex-wrap:nowrap;
  gap:8px
}
.search-controls input {
  min-width:0;
  flex:1;
  padding:8px 12px;
  font:inherit;
  border:1px solid #ccc;
  border-radius:4px
}
.search-results {
  margin:25px 0;
  padding-left:24px
}
.search-results li {
  margin-bottom:25px
}
.search-results h2 {
  font-size:22px;
  line-height:1.4
}
.search-results p {
  overflow-wrap:anywhere
}
.search input:focus-visible,.search button:focus-visible,.search-page input:focus-visible,.search-page button:focus-visible {
  outline:3px solid #e9a64d;
  outline-offset:2px
}
.search-page [hidden] {
  display:none
}
@media(max-width:1199px) {
  .search-page {
    padding:30px
  }
}
