html {
  font-size: 18px;
  font-family: "Quattrocento Sans", Arial, Helvetica, sans-serif;
  line-height: 2.1rem;
  color: #140300; }

body {
  margin: 0;
  background-color: #fef5ea; }
  @media only screen and (min-width: 671px) {
    body {
      padding: 2rem 2rem 0 2rem; } }

h1,
h2,
h3,
h4 {
  font-family: "Quattrocento", serif;
  font-weight: bold; }

img {
  filter: sepia(0.2) saturate(0.8);
  -webkit-box-shadow: 0px 1px 5px #ff3314;
  -moz-box-shadow: 0px 1px 5px #ff3314;
  box-shadow: 0px 1px 5px #ff3314; }

img.square-corners {
  border-radius: 0; }

hr {
  margin: 3rem 0;
  border: 0;
  height: 1px;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), #ad1700, rgba(0, 0, 0, 0)); }

a,
a:hover,
a:visited,
a:active {
  color: #ad1700; }

sup a {
  text-decoration: none; }

blockquote {
  padding: 2rem 3rem;
  margin: 3rem 0rem;
  -webkit-box-shadow: 0px 1px 5px #ff3314;
  -moz-box-shadow: 0px 1px 5px #ff3314;
  box-shadow: 0px 1px 5px #ff3314;
  background-color: white;
  font-style: italic;
  font-size: 1em; }
  @media only screen and (max-width: 670px) {
    blockquote {
      margin: 2rem 0; } }
  blockquote p:first-child {
    margin-top: 0; }
  blockquote p:last-child {
    margin-bottom: 0; }
  blockquote + h2 {
    margin-top: 2rem; }

#root {
  width: 100%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto; }

#header {
  margin: 0 20px;
  height: 120px;
  border-radius: 60px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  background: linear-gradient(to bottom, #ad1700 0%, #ad1700 20%, #e04100 20%, #e04100 40%, #ff7300 40%, #ff7300 60%, #fc9700 60%, #fc9700 80%, #ffb501 80%, #ffb501 100%);
  -webkit-box-shadow: 0px 1px 5px #ad1700;
  -moz-box-shadow: 0px 1px 5px #ad1700;
  box-shadow: 0px 1px 5px #ad1700; }
  @media only screen and (max-width: 670px) {
    #header {
      margin: 10px 10px 0 10px; } }

.nav {
  height: 100px;
  margin-left: 10px;
  padding: 0 20px;
  border-radius: 50px;
  align-self: center;
  display: flex;
  flex-direction: row;
  align-items: center;
  -webkit-box-shadow: inset 0px 1px 2px #470900;
  -moz-box-shadow: inset 0px 1px 2px #470900;
  box-shadow: inset 0px 1px 2px #470900;
  background-color: #ad1700; }
  @media only screen and (max-width: 670px) {
    .nav {
      flex-direction: column; } }
  .nav a {
    margin: 0 20px;
    color: #fef5ea;
    font-family: "Quattrocento";
    font-weight: bold;
    text-decoration: none;
    font-size: 1.3rem;
    text-shadow: 1px 1px 3px #470900; }
  .nav a:hover,
  .nav a:visited,
  .nav a:focus {
    color: #fef5ea; }
  .nav a:hover {
    text-decoration: underline; }

.avatar {
  position: relative; }
  .avatar img {
    border-radius: 50%;
    width: 100px;
    margin-top: 10px;
    margin-right: 10px; }
  .avatar .shadow {
    z-index: 1;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    left: 0;
    -webkit-box-shadow: inset 0px 1px 2px #470900;
    -moz-box-shadow: inset 0px 1px 2px #470900;
    box-shadow: inset 0px 1px 2px #470900; }

#content {
  padding: 0 70px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px; }
  @media only screen and (max-width: 670px) {
    #content {
      padding: 0 20px; } }

h1 {
  font-size: 47px;
  line-height: 60px; }

h2 {
  font-size: 37px;
  line-height: 48px; }

h3 {
  font-size: 29px;
  line-height: 40px; }

h4 {
  font-size: 23px;
  line-height: 33px; }

h5 {
  font-size: 18px;
  line-height: 27px; }

h6 {
  font-size: 14px;
  line-height: 22px; }

code {
  color: #ad1700; }

pre {
  -webkit-box-shadow: 0px 1px 5px #ff3314;
  -moz-box-shadow: 0px 1px 5px #ff3314;
  box-shadow: 0px 1px 5px #ff3314;
  margin: 3rem auto;
  overflow-x: auto;
  line-height: 1.5rem; }
  pre code.hljs {
    padding: 45px; }

p code {
  background-color: white; }

p strong {
  font-weight: bold;
  color: #470900; }

.first {
  margin-top: 0; }

.box {
  padding: 1rem; }

.mobile-only {
  display: none; }
  @media only screen and (max-width: 670px) {
    .mobile-only {
      display: inline; } }

#content {
  min-width: 0;
  padding-top: 2rem; }
  #content h1 {
    margin-top: 0; }
  #content img {
    max-width: 100%; }
  #content img.half-scale {
    display: block;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (min-width: 671px) {
      #content img.half-scale {
        max-width: 50%; } }
  #content img + cite {
    display: block;
    text-align: right; }

.by-line {
  font-weight: normal;
  color: #793d34; }

#footer {
  margin: 2.5rem;
  height: 50px;
  border-radius: 25px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  background: linear-gradient(to bottom, #ad1700 0%, #ad1700 20%, #e04100 20%, #e04100 40%, #ff7300 40%, #ff7300 60%, #fc9700 60%, #fc9700 80%, #ffb501 80%, #ffb501 100%);
  -webkit-box-shadow: 0px 1px 5px #ad1700;
  -moz-box-shadow: 0px 1px 5px #ad1700;
  box-shadow: 0px 1px 5px #ad1700; }
  @media only screen and (max-width: 670px) {
    #footer {
      margin: 50px 10px 10px 10px; } }
  #footer .legal {
    height: 40px;
    margin-right: 5px;
    padding: 0 20px;
    border-radius: 20px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-self: center;
    align-items: center;
    -webkit-box-shadow: inset 0px 1px 2px #470900;
    -moz-box-shadow: inset 0px 1px 2px #470900;
    box-shadow: inset 0px 1px 2px #470900;
    background-color: #ad1700;
    color: #fef5ea;
    font-size: 1rem; }
    #footer .legal a {
      font-size: 1.4rem;
      margin-right: 1rem;
      color: #fef5ea;
      text-shadow: 1px 1px 3px #470900; }
    #footer .legal h6 {
      margin: 0;
      font-size: 1rem;
      font-family: "Quattrocento";
      text-shadow: 1px 1px 3px #470900; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

article {
  font-family: "Quattrocento"; }

.main-copy {
  margin-top: 3rem; }

.twitter-tweet, .mastodon-embed, .instagram-media {
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important; }

h3 + .content-article {
  margin-top: 2rem; }

.content-article h2 {
  margin-top: 0; }

.content-article hr {
  padding: 0 2rem; }

.engagements {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
  .engagements .engagement {
    width: 250px;
    -webkit-box-shadow: 0px 1px 5px #ff3314;
    -moz-box-shadow: 0px 1px 5px #ff3314;
    box-shadow: 0px 1px 5px #ff3314;
    border-radius: 4px;
    margin: 10px;
    padding: 20px;
    text-align: center; }
    .engagements .engagement h4,
    .engagements .engagement h5,
    .engagements .engagement h6 {
      font-family: "Quattrocento"; }
    .engagements .engagement h4 {
      margin-top: 0; }
    .engagements .engagement h6:last-child {
      margin-bottom: 0; }

h1.about a {
  margin-left: 1rem; }

@media only screen and (max-width: 670px) {
  h1.about br + a {
    margin-left: 0; } }

div.about {
  display: flex; }
  @media only screen and (max-width: 670px) {
    div.about {
      flex-flow: wrap;
      justify-content: center; } }
  div.about .bio {
    flex-grow: 1;
    margin-right: 2rem; }
    div.about .bio p:first-child {
      margin-top: 0; }
  div.about .profile {
    font-size: 2rem;
    text-align: center; }
    div.about .profile img {
      width: 250px;
      height: 250px;
      max-width: unset;
      border-radius: 50%; }
    div.about .profile a:not(:last-child) {
      margin-right: 1rem; }

/* Tweetback embed styles */
/* style it like an embed */
.tweet {
  -webkit-box-shadow: 0px 1px 5px #1c7386;
  -moz-box-shadow: 0px 1px 5px #1c7386;
  box-shadow: 0px 1px 5px #1c7386;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  background-color: white;
  padding: 20px;
  font-family: "Quattrocento Sans", Arial, Helvetica, sans-serif;
  font-size: 1.1em;
  border-radius: 4px; }

/* some overrides */
.tweet-avatar {
  box-shadow: none; }

/* and the rest of these are pulled directly from tweetback.

/* Individual tweet */
.is_retweet .tweet-text {
  opacity: .6;
  font-style: italic; }

.tweet-text {
  white-space: pre-wrap;
  line-height: 1.4;
  word-break: break-word; }

.tweet-url {
  word-break: break-word;
  hyphens: none; }

.tweet-username {
  font-weight: 500; }

.tweet-username,
.tweet-username:visited {
  color: inherit;
  font-size: 0.9545454545455em;
  /* 21px /22 */ }

.tweet-pretext {
  display: block;
  font-style: italic;
  font-size: 1rem;
  /* 16px /16 */
  padding: 0 0 .4em; }

.tweet-pretext,
.tweet-pretext:visited {
  color: #555; }

.tweet-metadata {
  display: block;
  margin-top: .5em; }

.tweet-metadata,
.tweet-metadata :link,
.tweet-metadata :visited {
  color: #757575; }

/* Individual tweet */
.tweet {
  margin-bottom: 3rem;
  margin-top: 3rem;
  list-style: none; }

.tweet.is_reply,
.tweet.is_retweet {
  font-size: 1.375em;
  /* 22px /16 */ }

.tweet-next .tweet-text,
.tweet-previous .tweet-text {
  color: #777; }

.tweet-next .tag-favorite,
.tweet-next .tag-retweet,
.tweet-previous .tag-favorite,
.tweet-previous .tag-retweet {
  opacity: .5; }

/* Avatar */
.tweet-avatar {
  width: 27px;
  height: 27px;
  margin-bottom: -3px;
  border-radius: 50%; }

h1 .tweet-avatar {
  vertical-align: text-bottom;
  margin-right: 5px; }

/* Tweet Media */
.tweet-medias {
  display: flex;
  margin: 1em 0 1em;
  max-height: 10em;
  gap: .5em; }

.tweet-medias > a {
  display: block;
  flex-basis: 12em;
  flex-grow: 0.5; }

.tweet-media {
  border-radius: .25em;
  box-shadow: 0 0px 18px 3px RGB(0 0 0/40%); }

img.tweet-media {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc; }

video.tweet-media {
  max-width: 100%;
  width: auto;
  max-height: 10em; }

.tweet-media-load-error {
  display: block;
  border-top: 1px dashed;
  margin: .5em 0;
  padding-top: .5em;
  color: #777; }

a[href]:focus .tweet-media-load-error,
a[href]:hover .tweet-media-load-error {
  color: #333; }

@supports (object-fit: cover) {
  .tweet-media {
    height: 100%;
    object-fit: cover;
    object-position: center; } }

@supports (object-fit: contain) {
  video.tweet-media {
    object-fit: contain; } }

.tweet-previous .tweet-medias,
.tweet-next .tweet-medias {
  max-height: 6em; }

.tweet-previous .tweet-media,
.tweet-next .tweet-media {
  opacity: .7;
  max-height: 6em;
  max-width: 12em; }

.tweet-media:hover {
  border-color: #999; }

.tweet-previous .tweet-media:hover,
.tweet-next .tweet-media:hover {
  opacity: 1; }

/* OpenGraph images */
img.tweet-media-og {
  object-position: center; }

/* Tags */
.tag {
  display: inline-block;
  font-size: 0.8125rem;
  /* 13px /16 */
  margin: 0 4px;
  padding: 6px;
  white-space: nowrap;
  text-decoration: none;
  background-color: #999;
  color: #fff;
  border: 1px solid #999;
  border-radius: 0.4em;
  font-weight: 600;
  vertical-align: text-bottom;
  line-height: 1; }

.tweet-metadata .tag:link,
.tweet-metadata .tag:visited {
  color: #fff; }

.tag-lite {
  border-color: transparent;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 400; }

.tag-icon {
  display: inline-flex;
  border: none;
  padding: 0;
  margin-bottom: 0;
  border-radius: .6em;
  overflow: hidden; }

.tag-naked {
  background-color: #fff;
  color: #757575; }

.tweet-metadata .tag-naked:link,
.tweet-metadata .tag-naked:visited {
  color: #757575; }

.tag:first-child,
.tag + .tag {
  margin-left: 0; }

.tag-favorite {
  background-color: #e0245e;
  border-color: #e0245e; }

.tag-retweet {
  background-color: #397d58;
  border-color: #397d58; }

.tag-lite.tag-favorite,
.tag-lite.tag-retweet {
  background-color: #fff;
  border-color: transparent;
  font-weight: inherit; }

.tag-lite.tag-favorite {
  color: #e0245e; }

.tag-lite.tag-retweet {
  color: #096f37; }

.tag-avatar {
  padding: 0; }
