/* Small reset for current browsers; preserve the site's original metrics. */
html { font-family: sans-serif; -webkit-text-size-adjust: 100%; background-color: #333333; }
body { margin: 0; }
*, ::before, ::after { box-sizing: border-box; }
[hidden] { display: none !important; }
b, strong { font-weight: bold; }
h1 { font-size: 2em; margin: 0.67em 0; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }
button, select { text-transform: none; }
button, input[type=button], input[type=reset], input[type=submit] { cursor: pointer; }
button:disabled, input:disabled { cursor: default; }
input { line-height: normal; }
input[type=checkbox], input[type=radio] { padding: 0; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: .35em .625em .75em; }
legend { border: 0; padding: 0; }
textarea { overflow: auto; }
optgroup { font-weight: bold; }
table { border-collapse: collapse; border-spacing: 0; }
td, th { padding: 0; }
img { border: 0; max-inline-size: 100%; }
:focus-visible { outline: 2px solid var(--focus-color, #007da8); outline-offset: 2px; }
:is(input, textarea, select, [contenteditable]):focus-visible { outline-offset: 1px; }
:root {
  --page-width: 1080px;
  --page-gutter: clamp(16px, calc(20vw - 80px), 40px);
  --logo-overlap: 74px;
}
@font-face {
  font-family: "Web Energy";
  src: url("https://f.simonenko.xyz/we.5.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/* mixins */
body {
  display: flex;
  flex-direction: column;
  min-block-size: 100dvh;
  background-color: #ececec;
  color: #000;
  font-family: 'PT Sans', Helvetica, sans-serif;
}
body > main { flex: 1; min-inline-size: 0; }
body > :is(nav, footer) { flex-shrink: 0; }
h1,
h2,
h3,
h4 {
  font-weight: normal;
  font-family: 'Lobster', Helvetica, sans-serif;
}
h1 {
  margin: 0.67em 0;
}
h2 {
  margin: 0.83em 0;
}
h3 {
  margin: 1em 0;
}
a {
  color: #000;
}
blockquote {
  margin: 1em 40px 1em 60px;
  padding: 10px 0;
}
blockquote p:first-child {
  margin-top: -5px;
}
blockquote::before {
  content: '«';
  float: left;
  margin: 0 0 0 -40px;
  font: normal 44px Georgia, sans-serif;
  line-height: 14px;
}
cite {
  display: block;
  text-align: right;
}
abbr[title],
span[title] {
  border-bottom: 1px dotted #333333;
  cursor: help;
}
.wrapper {
  max-inline-size: var(--page-width);
  min-inline-size: 0;
  margin-inline: auto;
  padding-inline: var(--page-gutter);
}
.hidden {
  display: none;
}
.visually-hidden {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  inset: 8px auto auto 8px;
  z-index: 10;
  padding: 8px 12px;
  background: #fff;
  color: #000;
  transform: translateY(calc(-100% - 10px));
}
.skip-link:focus { transform: none; }
.search-heading { font-size: 1.17em; margin-block: 1em; }
.left {
  float: left;
}
.right {
  float: right;
}
.nobr {
  white-space: nowrap;
}
img.frame {
  padding: 2px;
  background-color: #fff;
  box-shadow: -1px -1px 0 #ececec, inset -1px -1px 5px #b3b3b3;
  border: 1px solid #b3b3b3;
  border-radius: 2px;
  background-clip: padding-box;
}
img.frame.left {
  margin-right: 15px;
}
img.frame.right {
  margin-left: 15px;
}
.icon {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  font-family: "Web Energy";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1.4em;
  text-transform: none;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
}
.icon:before {
  display: inline-block;
  width: inherit;
  margin-right: 20px;
  padding: 1px 0;
  text-align: center;
}
.keywords {
  color: #333333;
  font-size: 0.9em;
  line-height: 1.5em;
}
.keywords a {
  background-color: rgba(51, 51, 51, 0.4);
  border-radius: 4px;
  background-clip: padding-box;
  padding: 0 4px;
  color: #fff;
  text-decoration: none;
  text-transform: lowercase;
  text-shadow: none;
  line-height: 1.3em;
}
.keywords a:hover {
  transition: background 0.3s;
  background-color: rgba(51, 51, 51, 0.7);
}
.twitter-feed {
  color: #333333;
}
.twitter-feed a {
  color: #333333;
}
.twitter-feed ul {
  padding-left: 0;
}
.twitter-feed li {
  margin: 12px 0;
  list-style: none;
  line-height: 1.2em;
}
.twitter-feed .meta {
  margin-top: 4px;
  font-size: 0.7em;
}
.twitter-feed .meta a {
  text-decoration: none;
}
.twitter-feed .actions {
  float: right;
}
.twitter-feed .icon {
  width: 16px;
  height: 16px;
  color: rgba(51, 51, 51, 0.4);
  font-size: 1.3em;
}
.twitter-feed .icon:hover {
  color: rgba(51, 51, 51, 0.8);
}
.twitter-feed .reply:before {
  content: "\f107";
}
.twitter-feed .retweet:before {
  content: "\f108";
}
.twitter-feed .favorite:before {
  content: "\f101";
}
.pagination {
  margin: 20px 0 40px;
  padding-top: 20px;
  border-top: 2px solid #b3b3b3;
}
.pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding-left: 0;
}
.pagination li {
  list-style: none;
}
.pagination a {
  display: inline-block;
  width: 30px;
  height: 30px;
  padding-top: 5px;
  background-color: #82e0ff;
  background-image: radial-gradient(ellipse 50% 50% at center, #b5edff, #82e0ff);
  background-repeat: no-repeat;
  box-shadow: 0 0 3px 0 #82e0ff;
  border: 1px solid #fff;
  color: #333333;
  text-align: center;
  text-decoration: none;
}
.pagination a:hover {
  background-color: #4fd3ff;
  background-image: radial-gradient(ellipse 50% 50% at center, #82e0ff, #4fd3ff);
  background-repeat: no-repeat;
}
.pagination a.active {
  background-color: #00aee8;
  background-image: radial-gradient(ellipse 50% 50% at center, #1cc6ff, #00aee8);
  background-repeat: no-repeat;
  color: #fff;
  font-weight: bold;
}
.button {
  display: inline-block;
  padding: 6px 12px !important;
  background-color: #75ac32;
  background-image: linear-gradient(to bottom, #8fca47, #75ac32);
  background-color: #75ac32 !important;
  box-shadow: inset 0 1px 0 0 #a7d56f;
  border-radius: 3px;
  background-clip: padding-box;
  border: 1px solid #75ac32;
  border-bottom: 1px solid #68992c;
  color: #fff;
  font-size: 0.9em;
  line-height: 1;
  text-shadow: 0 -1px 0 #4c9021 !important;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}
.button:hover {
  background-color: #70a42f;
  background-image: linear-gradient(to bottom, #7db835, #70a42f);
  background-color: #70a42f !important;
  box-shadow: inset 0 1px 0 0 #8fca47;
}
.button:active {
  box-shadow: inset 0 0 6px 2px #5a8526, 0 1px 0 0 #eeeeee;
  border: 1px solid #68992c;
  border-bottom: 1px solid #5a8526;
}
.button:disabled {
  background: #9bd05b !important;
  border-color: #8fca47;
  box-shadow: none;
  text-shadow: none !important;
  cursor: default;
}
.cross {
  display: inline-block;
  width: 15px;
  height: 15px;
  color: #999999;
  line-height: 0.9em;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}
.cross:hover {
  color: #333333;
}
:where(.site-navigation) + main > :where(article:first-child, section:first-child) {
  padding-top: calc(var(--logo-overlap) + 16px);
}
body > main,
.archive {
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAMAAAApB0NrAAAABlBMVEX///+pqalTpKl9AAAAAnRSTlMAGovxNEIAAAAdSURBVDjLY2AAAUaG4UYxDDsfjfp91O+jfqfE7wCzpQCw/dq+qQAAAABJRU5ErkJggg==") repeat 0% 0%;
}
section h1:first-child,
div h1:first-child,
section h2:first-child,
div h2:first-child {
  margin-top: 0;
}
:is(.span5, .span6, .span7) {
  display: inline-block;
  margin-bottom: 15px;
  padding-right: 30px;
  vertical-align: top;
}
:is(.span5, .span6, .span7) + :is(.span5, .span6, .span7) {
  padding-right: 0;
}
.span5 {
  width: 39%;
}
.span6 {
  width: 49%;
}
.span7 {
  width: 59%;
}
.site-navigation {
  min-height: 120px;
  padding-top: 28px;
  border-bottom: 1px solid #ececec;
  box-shadow: 0 0 8px 0 #b3b3b3;
  background: #333333 url('https://i.simonenko.xyz/pattern-header.png') repeat-x 0% 0%;
}
.site-navigation > .wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 166px minmax(0, 1fr);
  column-gap: 24px;
  min-block-size: 91px;
}
.site-navigation a {
  text-decoration: none;
}
.site-navigation figure {
  position: absolute;
  inset-inline-start: var(--page-gutter);
  inset-block-end: calc(-1 * var(--logo-overlap) - 1px);
  z-index: 1;
  width: 166px;
  height: 166px;
  margin: 0;
  background: transparent url('https://i.simonenko.xyz/pattern-header.png') repeat-x 100% 100%;
  border: 1px solid transparent;
  border-radius: 83px;
  background-clip: padding-box;
  box-shadow: 0 6px 10px -6px #b3b3b3;
}
.site-navigation figure a,
.site-navigation figure img,
.site-navigation figure span {
  display: block;
  margin: 0 auto;
  width: 151px;
  height: 160px;
  cursor: pointer;
  line-height: 0;
}
.site-navigation figure img {
  position: absolute;
  pointer-events: none;
  opacity: 1;
}
.site-navigation figure span {
  background: url('https://i.simonenko.xyz/logo.svg') no-repeat 0% 0% / contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  opacity: 0;
}
.site-navigation figure a:hover img {
  opacity: 0;
}
.site-navigation figure a:hover span {
  position: relative;
  opacity: 1;
}
.site-navigation ul {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 20px;
  margin: 33px 10px 16px 0;
  padding: 0;
}
.site-navigation ul a {
  border-bottom: 2px solid #333333;
}
.site-navigation ul a:hover {
  transition: border 0.3s;
  border-color: #00aee8;
}
.site-navigation ul li {
  list-style: none;
}
.site-navigation ul li.selected a {
  border-bottom-color: #00aee8;
}
.share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-block-size: 40px;
}
.share-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.share .share-action {
  display: inline-flex;
  align-items: center;
  min-block-size: 32px;
  padding: 4px 8px;
  border: 0;
  border-radius: 4px;
  background-color: #b5edff;
  color: #000;
  font: inherit;
  line-height: 1.4;
  text-decoration: none;
}
.share .share-action:hover { background-color: #cff3ff; }
.share .share-action:active { background-color: #1cc6ff; }
.share-status { flex-basis: 100%; }
.share-status { font-size: .9em; }
.share-status:empty { position: absolute; }
/*
  Общие стили
*/
.post h1 a,
.post h2 a {
  text-decoration: none;
}
.post section a {
  padding: 1px 4px;
  background-color: #b5edff;
  border-radius: 4px;
  background-clip: padding-box;
  text-shadow: none;
  text-decoration: none;
}
.post section a:hover {
  background-color: #cff3ff;
}
.post section a:active {
  background-color: #1cc6ff;
  color: #fff;
}
.post section .notice a {
  padding: 0;
  background-color: transparent;
  color: #000;
  text-decoration: underline;
}
.post ul,
.post ol {
  padding-left: 0;
}
.post ul li,
.post ol li {
  margin: 4px 0;
}
.post p {
  line-height: 1.4em;
}
main { overflow-wrap: anywhere; }
.post :is(iframe, video) { max-inline-size: 100%; }
main pre { max-inline-size: 100%; }
main pre:not(:has(.line-numbers)) { overflow: auto; }
.post p:last-child {
  margin-bottom: 0;
}
.post figure {
  margin: 1em 0;
}
.post hr {
  border-top: 1px solid #b3b3b3;
  border-bottom: none;
}
.post img[align=left] {
  float: left;
  margin: 0 15px 5px 0;
}
.post img[align=right] {
  float: right;
  margin: 0 0 5px 15px;
}
.post .introduction img[align=left],
.post.featured img[align=left] {
  padding: 2px;
  background-color: #fff;
  box-shadow: -1px -1px 0 #ececec, inset -1px -1px 5px #b3b3b3;
  border: 1px solid #b3b3b3;
  border-radius: 2px;
  background-clip: padding-box;
}
.post .quote {
  font-size: 1.5em;
  padding: 30px 0;
}
.post .quote section {
  float: right;
  color: #333333;
  font-size: 0.65em;
  font-style: italic;
}
.post .introduction:after {
  content: "";
  display: block;
  height: 0;
  clear: left;
}
.post .introduction iframe {
  margin-top: 18px;
}
.post .introduction p {
  font-size: 1.15em;
  line-height: 1.5em;
}
.post .similar {
  margin-top: 20px;
}
.post .similar ul {
  margin-bottom: 0;
}
.post .similar li {
  list-style-type: lower-greek;
}
.post .similar a {
  padding: 0;
  background-color: transparent;
  color: #333333;
  text-decoration: underline;
}
.post .pager {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 0 4px 0;
  border-bottom: 2px solid #b3b3b3;
  clear: both;
}
.post .pager a {
  padding: 0;
  background-color: transparent;
  color: #333333;
}
.post .pager :is(.left, .right) {
  float: none;
}
.post .pager .right { margin-inline-start: auto; text-align: right; }
.post .continue {
  clear: left;
}
.post .share {
  clear: left;
  margin: 20px 0;
  padding-bottom: 20px;
  border-bottom: 1px dotted #b3b3b3;
}
.post .continue + .share {
  float: right;
  margin: -26px 0 0 0;
  padding: 0;
  border-bottom: none;
}
/*
  Боковая панель
*/
.post > aside {
  float: right;
  width: 300px;
  margin: 0 0 10px 25px;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: inset -1px -1px 4px #d9d9d9, inset 1px 1px 4px #d9d9d9;
  color: #333333;
}
.post > aside .info,
.post > aside .twitter-feed {
  position: relative;
}
.post > aside .info {
  margin-left: -6px;
  margin-right: -6px;
  padding: 15px 16px 10px;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  box-shadow: 0 2px 3px 1px #d9d9d9;
}
.post > aside .info time + .keywords {
  margin-top: 5px;
}
.post > aside .twitter-feed {
  padding: 10px;
  border-top: 1px solid #ececec;
  font-size: 0.9em;
}
.post > aside .twitter-feed .actions a {
  margin-left: 3px;
}
/*
  Анонсы постов на главной странице
*/
.announce {
  padding: 30px 0;
  background-color: #fff;
  box-shadow: 0 0 8px 0 #b3b3b3;
}
.announce > .wrapper {
  display: grid;
  grid-template-columns: minmax(0, 59fr) minmax(0, 41fr);
  align-items: start;
}
.announce .post.featured {
  grid-row: span 2;
  min-inline-size: 0;
  padding-right: 30px;
  margin-bottom: 20px;
  line-height: 1.5em;
  vertical-align: top;
}
.announce .post.featured h2 {
  font-size: 2em;
  margin: 0 0 .67em;
  line-height: 1.05em;
}
.announce .post.older {
  min-inline-size: 0;
  font-size: 0.9em;
  line-height: 1.4em;
  vertical-align: top;
}
.announce .post.older h2 {
  font-size: 1.25em;
  line-height: 1.3em;
}
.announce .post .continue {
  padding-block-start: 10px;
}
.announce .post + ul {
  clear: left;
  padding-left: 0;
}
.announce .post + ul li {
  padding: 3px 0;
  font-size: 1em;
}
.announce .older + .older h2 {
  margin-top: 20px;
}
/*
  Что ещё почитать на главной странице
*/
.archive {
  padding: 30px 0;
  background-color: #fff;
}
.archive h2 {
  margin-top: 0;
  font-size: 1.15em;
}
.archive ul {
  padding-left: 0;
}
.archive li {
  padding: 3px 0;
  list-style-type: lower-greek;
}
/*
  Если блок с инстаграмом не показывается изменяем список
*/
.announce + .archive {
  margin-top: -30px;
  padding-top: 0;
  background-image: none;
}
/*
  Список постов и вывод поста
*/
.blog {
  padding-top: 50px;
}
.blog:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.blog h1 {
  margin-bottom: 6px;
}
.blog .post > header > h2 {
  font-size: 2em;
  margin: 0 0 6px;
}
.blog .promo {
  margin: -30px 0 50px 0;
  font-size: 0.9em;
  font-style: italic;
  text-align: right;
}
.blog .promo a {
  color: #666666;
  text-decoration: none;
  text-shadow: #ececec 0px 1px 0px;
}
.blog .filter {
  margin-bottom: 20px;
  padding: 4px 10px;
  background-color: #b5edff;
  box-shadow: 0 0 4px 0 #82e0ff;
  color: #333333;
  font-size: 0.9em;
}
.blog .post {
  clear: left;
  margin-bottom: 30px;
  text-shadow: #ffffff 0px 1px 0px;
}
.blog .post:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.blog .post + .post {
  padding-top: 20px;
  border-top: 1px dotted #b3b3b3;
}
.blog .post header > aside {
  margin-top: 10px;
}
.blog .post .continue {
  margin-top: 15px;
}
.notice {
  background: #ffc;
  padding: 10px;
  text-shadow: none;
}
.support {
  float: right;
  width: 290px;
  padding-bottom: 10px;
}
.support:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.support header {
  margin: 0 0 10px 15px;
  padding-bottom: 5px;
  border-bottom: 1px solid #ccc;
}
.support figure {
  display: inline-block;
  margin: 0 0 0 15px;
}
.support figcaption {
  font: 0.9em 'PT Mono', 'Courier new', monospace;
  text-align: center;
}
footer {
  --focus-color: #82e0ff;
  padding: 20px 0 10px;
  background: #333333;
  background-color: #404040;
  background-image: linear-gradient(to bottom, #333333, #404040);
  box-shadow: 0 0 8px 0 #b3b3b3;
  color: #ececec;
  font-size: 0.9em;
  text-shadow: #333333 0 1px 0;
}
footer a {
  color: #ececec;
}
footer > .wrapper {
  display: grid;
  grid-template-columns: minmax(0, 310px) minmax(0, 400px);
  justify-content: space-between;
}
footer .info {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  column-gap: 15px;
  align-content: start;
  min-height: 100px;
  margin-bottom: 15px;
}
footer .info h2 {
  margin: 0 0 10px;
  font: 1.25em 'PT Sans', Helvetica, sans-serif;
}
footer .info dl {
  grid-column: 2;
  display: grid;
  grid-template-columns: 55px minmax(0, 1fr);
  margin: 0;
}
footer .info dd { margin: 0 0 3px; overflow-wrap: anywhere; }
footer .info img {
  grid-row: span 2;
  width: 90px;
  height: 90px;
  padding: 1px;
  background-color: #d3d3d3;
  border: 2px solid #fff;
  box-shadow: 0 0 8px 1px #333333;
  transform: rotate(-2deg);
}
footer .search { min-width: 0; height: 100px; text-align: right; }
footer .search form { margin: 10px 0 20px; }
.site-search input[name=text] {
  inline-size: 350px;
  max-inline-size: 100%;
  min-inline-size: 0;
  color: #333;
}
.site-search:has(button) { display: flex; align-items: center; gap: 8px; }
.site-search button { flex-shrink: 0; }
footer .search ul { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; padding: 0; }
footer .search li { list-style: none; }
footer .search .icon {
  border-radius: 4px;
  width: 35px;
  height: 40px;
  font-size: 1.9em;
  transform: translate3d(0, 0, 0);
}
footer .search .icon:active {
  transform: scale(0.9);
}
footer .search .icon:hover {
  color: #82e0ff;
}
footer .search .github:before {
  content: "\f103";
}
footer .search .facebook:before {
  content: "\f100";
}
footer .search .twitter:before {
  content: "\f109";
}
footer .search .pinterest:before {
  content: "\f106";
}
footer .search .foursquare:before {
  content: "\f102";
}
footer .search .linkedin:before {
  content: "\f105";
}
footer .search .youtube:before {
  content: "\f10a";
}
footer .copyright {
  grid-column: 1 / -1;
  min-height: 35px;
  padding-top: 15px;
  border-top: 1px dotted #606060;
  clear: left;
  color: #a0a0a0;
  font-size: 0.7em;
  text-shadow: none;
  text-align: left;
}
footer .copyright a {
  color: #a0a0a0;
}
footer .donate {
  float: right;
  margin-top: -10px;
}
.notes {
  position: relative;
  margin: 0 auto 40px auto;
  background: #fff;
  box-shadow: inset 0 0 5px #ececec;
  border: 1px solid #e4e4e4;
  border-radius: 4px;
  background-clip: padding-box;
}
.notes:before,
.notes:after {
  content: "";
  position: absolute;
  top: 80%;
  bottom: 15px;
  left: 10px;
  width: 50%;
  max-width: 300px;
  background: #b3b3b3;
  box-shadow: 0 15px 10px #b3b3b3;
  transform: rotate(-3deg);
  z-index: -1;
}
.notes:after {
  right: 10px;
  left: auto;
  transform: rotate(3deg);
}
.notes + section {
  text-shadow: #ffffff 0px 1px 0px;
}
.noise {
  position: relative;
  z-index: 1;
}
.noise:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  background-image: url(data:image/png;base64,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);
  z-index: -1;
}
a.link,
a.link:hover {
  display: inline-block;
  padding: 0 !important;
  background-color: transparent !important;
}
::selection {
  background-color: #00aee8;
  color: #fefefe;
  text-shadow: none;
}
/* Media Queries */
@media only screen and (max-width: 950px) {
  .wrapper { max-inline-size: 950px; }
  :is(.span5, .span6, .span7) {
    display: block;
    width: auto;
    margin-bottom: 20px;
    padding-right: 0;
  }
  .announce > .wrapper { display: block; }
  .announce .post.featured { padding-right: 0; }
  .post img[width="500"] {
    width: 55%;
    height: auto;
  }
}
@media only screen and (max-width: 905px) {
  .post img[width="500"] {
    width: 50%;
    height: auto;
  }
}
@media (max-width: 820px) {
  footer > .wrapper { grid-template-columns: minmax(0, 1fr); }
  footer .info { max-width: 310px; }
  footer .search { height: auto; min-height: 100px; border-top: 1px dotted #606060; margin-bottom: 15px; padding-top: 15px; text-align: left; }
  footer .search form { margin-top: 0; }
  footer .search ul { justify-content: flex-start; }
}
@media only screen and (max-width: 790px) {
  .site-navigation {
    font-size: 0.9em;
  }
  .site-navigation ul {
    margin-right: 0;
  }
  .post img[width="500"] {
    width: 42%;
    height: auto;
  }
}
@media only screen and (max-width: 650px) {
  .announce .post.featured h2 { font-size: 1.6em; }
  .blog .post > header > h2 { font-size: 1.6em; }
  h1,
  .instagram h2 {
    font-size: 1.6em;
  }
  h2,
  .archive h2 {
    font-size: 1.3em;
  }
  h3 {
    font-size: 1em;
  }
  .site-navigation {
    font-size: 0.85em;
  }
  .site-navigation ul {
    column-gap: 14px;
  }
  pre {
    font-size: 0.8em;
  }
  .blog .promo {
    font-size: 0.8em;
  }
  .post img[width="500"] {
    width: auto;
    height: auto;
  }
  .post > aside {
    display: none;
  }
  .post .introduction img[align=left] {
    float: right;
    margin: 0 0 0 15px;
  }
  .post .pager {
    font-size: 0.9em;
  }
  .post .continue + .share {
    display: none;
  }
}

@media (max-width: 600px) {
  img { height: auto; }
  .site-navigation > .wrapper { column-gap: 12px; }
  .site-navigation ul { row-gap: 8px; margin-block: 12px 16px; }
  .post:not(.featured) img[align],
  .post:not(.featured) img.frame.left,
  .post:not(.featured) img.frame.right,
  .post:not(.featured) .introduction img[align=left] {
    display: block;
    float: none;
    height: auto;
    margin: 0 auto 15px;
  }
  .post.featured img:is([align], .frame.left, .frame.right) { max-inline-size: 50%; }
  .post .pager { flex-wrap: wrap; }
  .post ul, .post ol, .archive ul { padding-inline-start: 20px; }
  .support { max-inline-size: 100%; }
  footer .copyright .nobr { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
