body {
  width: 100vw;
  overflow-x: hidden;
}

img {
  display: block;
}

#app {
  font-family: system-ui, sans-serif;
  /* font-family: ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa,
    Manjari, 'Arial Rounded MT', 'Arial Rounded MT Bold', Calibri,
    source-sans-pro, sans-serif; */
  /* font-family: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans',
    source-sans-pro, sans-serif; */
  background-color: var(--page-bg-color);
  color: var(--page-text-color);
}

#headerframe {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100vw;
  height: 3em;
  background-color: rgba(255, 255, 255, 1);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4;
  border-bottom: 1px solid var(--ux-border-color);
  background-color: var(--ux-bg-color);
  transition: transform 0.125s cubic-bezier(0.25, 0, 0, 1);
  box-sizing: border-box;
}

#app[data-navdisplay='hide'] #headerframe {
  transform: translateY(-101%);
}

#headerframe #headernav {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

#headertitle {
  font-size: 1.1em;
  color: var(--accent-text-color);
}

.headerbutton {
  background-repeat: no-repeat;
  background-size: 1.4em;
  background-position: center center;
  width: 2em;
  height: 2em;
  text-indent: -999vw;
  overflow: hidden;
  border: none;
  background-color: transparent;
  border-radius: 0.5em;
  margin: 0 1em;
}

#homenav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 3em;
  background-color: var(--ux-bg-color);
  border-top: 1px solid var(--ux-border-color);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 4;
}

#homenav .footernav-btn-group {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  color: #222;
  transition: transform 0.125s ease-in-out;
  border: none;
  border-radius: 0;
  overflow: inherit;
}

#homenav .footernav-btn-group .footernav-btn {
  background-repeat: no-repeat;
  background-size: 1.3em;
  background-position: center center;
  width: 20%;
  height: 3em;
  text-indent: -999vw;
  overflow: hidden;
  border: none;
  background-color: transparent;
  padding: 0;
  box-sizing: border-box;
}

.nav-btn-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nav-btn-box .nav-btn-hed {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 1em;
  color: var(--accent-text-color);
}

.nav-btn-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--ux-bg-color);
  border: 1px solid var(--ux-border-color);
  border-radius: 1em;
  padding: 0.6em 0;
  width: 100%;
  box-sizing: border-box;
}

.nav-btn-group + .nav-btn-group {
  margin-top: 1em;
}

.nav-btn-group .nav-btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.nav-btn-group .nav-btn {
  font-size: 1.1em;
  padding: 1.05em 1.5em;
  text-transform: uppercase;
  text-align: left;
}

.nav-btn-group .nav-btn .abbrev {
  display: none;
}

.nav-btn-group .nav-btn .page {
  margin-left: 0.333em;
}

.nav-btn-group.mini {
  background-color: transparent;
  border: none;
  padding: 0;
}

.nav-btn-group.mini .nav-btn {
  font-size: 1em;
  padding: 0.75em 0.75em;
  text-transform: uppercase;
  text-align: left;
  background-color: var(--ux-bg-color);
  border: 1px solid var(--ux-border-color);
  border-radius: 0.5em;
}

.nav-btn-group.mini .nav-btn + .nav-btn {
  margin-top: 0.5em;
}

.section-content:not(#comicslist) {
  margin: 2em auto 7em auto;
  width: 80vw;
  max-width: 41em;
}

#subscriptions .subs-list {
  margin-top: 2em;
}

#subscriptions .subs-list .sub-block {
  display: grid;
  grid-template-columns: min-content auto;
  column-gap: 3.3vw;
  row-gap: 1em;
  justify-items: start;
  align-items: start;
  grid-template-areas:
    'title title'
    'splash copy';
  margin-bottom: 2.5em;
}

#subscriptions .subs-list .sub-block .subscription-title {
  grid-area: title;
  font-size: 1.4em;
  /* margin-bottom: 1em; */
}

#subscriptions .subs-list .sub-block .subscription-image {
  grid-area: splash;
  width: 17.5em;
}

#subscriptions .subs-list .sub-block .subscription-image .thumb-image {
  max-width: 100%;
}

#subscriptions .subs-list .sub-block .subscription-image .thumb-title {
  display: none;
}

#subscriptions .subs-list .sub-block .subscription-copy {
  grid-area: copy;
  width: 100%;
}

#rack .section-content.intro {
  margin-top: 5em;
}

.section-content .section-hed,
#comicpages .loading .loading-hed {
  font-size: 1.333em;
  font-weight: bold;
  margin-bottom: 1em;
  color: var(--accent-text-color);
}

.section-content .section-subhed {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 0.5em;
  color: var(--accent-text-color);
}

.section-content .footnote {
  position: absolute;
  left: calc(50% - 7.5em);
  bottom: 3em;
  width: 16em;
  text-align: center;
  display: none;
}

.section-content .footnote .section-subhed {
  text-align: center;
}

.section-content .footnote p {
  color: var(--accent-text-color);
}

#comicslist .section-hed {
  margin: 1em 10vw 1em 10vw;
  text-align: center;
  color: var(--accent-text-color);
}

#comicslist .section-subhed {
  font-size: 1.1em;
  margin: 0 10vw 0.5em 10vw;
  text-align: center;
  text-transform: capitalize;
  color: var(--accent-text-color);
}

#comicslist .category-block:not(.genre) .section-subhed {
  display: none;
}

.section-content p {
  font-size: 1.1em;
  line-height: 1.333;
  margin-bottom: 0.75em;
}

#settings.section-content ul > li {
  font-size: 1.25em;
  list-style-type: disc;
  padding-left: 0.25em;
  margin-left: 1em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}
11 .section-content small {
  font-size: 0.8em;
  font-style: italic;
}

#faq.section-content dl {
  margin-bottom: 1.5em;
  font-size: 1.1em;
  line-height: 1.2;
}

#faq.section-content dt {
  font-weight: bold;
  margin-top: 1.5em;
  color: var(--accent-text-color);
}

#faq.section-content dd {
  margin: 0.75em 1em 0 1em;
}

#comicslist {
  padding: 1em 0.5em 4.5em 0.5em;
}

#comicslist .thumbsgrid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0.25em 4em 0.25em;
}

#comicslist .thumbsgrid .thumb-frame {
  width: calc(25% - (0.75em / 4));
  margin-bottom: 0.25em;
  position: relative;
  border-radius: 0.5em;
  overflow: hidden;
}

#comicslist .thumbsgrid .thumb-frame .thumb-image {
  width: 100%;
  height: auto;
}

#comicslist .thumbsgrid .thumb-frame .thumb-title {
  display: none;
}

#comicslist .category-block.date .thumbsgrid .thumb-frame:after {
  content: attr(data-lastupdated);
  display: block;
  /* position: absolute;
  bottom: 0; */
  /* height: 1.8em; */
  width: 100%;
  /* left: calc(50% - 7em);
  width: 14em; */
  text-align: center;
  font-size: 0.8em;
  /* color: var(--ux-bg-color); */
  background-color: var(--accent-bg-color);
  padding: 0.4em 0 0.325em 0;
  /* border-radius: 0 0 0.5em 0.5em; */
  white-space: nowrap;
  box-sizing: border-box;
  /* z-index: 1; */
}

/* #comicslist .category-block.date .thumbsgrid .thumb-title {
  display: block;
  background-position: bottom center;
  background-size: 100%;
  overflow: hidden;
  text-indent: -999vw;
  transform: scaleY(-1.25) scaleX(1.25);
  filter: blur(10px);
  position: relative;
} */

/* #comicslist .category-block.date .thumbsgrid .thumb-frame:before {
  color: var(--page-bg-color);
  background-color: var(--page-bg-color);
  opacity: 0.5;
}

#comicslist .category-block.date .thumbsgrid .thumb-frame:after {
  text-shadow: 0 0 2px var(--page-bg-color);
} */

#rack .loading {
  margin: 7em 2em;
  text-align: center;
}

#rack .loading #feedname {
  font-style: italic;
}

#rack .storylines-frame,
#interstitial .interstitial-frame {
  margin: 4em auto;
  /* width: calc(100% - 12vw); */
  max-width: 60em;
}

#rack .storylines-frame .storylines-hed,
#interstitial .interstitial-frame .interstitial-hed {
  font-size: 1.333em;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 1em;
  text-align: center;
  color: var(--accent-text-color);
}

#interstitial .interstitial-frame .interstitial-hed {
  margin: 1em 0 0.5em 0;
}

#interstitial .interstitial-frame .interstitial-subhed {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 2em;
  text-align: center;
}

#subscriptions .subscription-frame .subscription-subhed,
#settings .settings-subhed {
  font-size: 1.1em;
  font-weight: bold;
  margin: 2em 0 1.5em 0;
  text-align: center;
}

#interstitial .interstitial-frame .interstitial-blurb {
  font-size: 1.1em;
  margin-bottom: 2em;
  text-align: center;
}

#settings .settings-subhed > span,
#interstitial .interstitial-frame .interstitial-blurb > span {
  white-space: nowrap;
  font-weight: inherit;
}

#rack .storylines-frame .splash-image {
  max-width: 100%;
  margin: 0 auto 1em auto;
  border: 1px solid var(--page-border-color);
}

#rack .storylines-frame .info-block {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-content: baseline;
  font-size: 0.95em;
  margin: 0 0 1.25em 0;
}

#rack .storylines-frame .author {
  font-variant: all-small-caps;
}

#rack .storylines-frame .author .credit {
  font-variant: normal;
  font-weight: bold;
}

#rack .storylines-frame .lastupdated {
  color: var(--ux-text-color);
  text-align: right;
  margin-left: 1em;
  font-variant: all-small-caps;
}

#rack .storylines-frame .lastupdated .date {
  font-variant: normal;
  font-weight: bold;
}

#rack .storylines-frame .storylines-desc {
  font-size: 1.05em;
  font-style: italic;
  margin-bottom: 2em;
  line-height: 1.4;
}

#rack .link-list > ul > li {
  font-size: 1.25em;
  line-height: 1.333;
  margin-bottom: 1em;
}

#rack .link-list > ul > li > a {
  color: inherit;
}

#rack .storylines-list > .covers-list > li {
  margin-bottom: 2em;
}

#rack .storylines-list > .covers-list > li > .storyline-cover {
  display: flex;
  flex-direction: row;
}

#rack
  .storylines-list
  > .covers-list
  > li
  > .storyline-cover
  .cover-image-frame {
  width: 50%;
}

#rack .storylines-list > .covers-list > li > .storyline-cover .cover-title {
  font-size: 1.2em;
  padding: 0.25em 0 0.25em 1em;
  box-sizing: border-box;
  color: var(--accent-text-color);
  width: 50%;
}

#rack .storylines-list > .covers-list > li > .storyline-cover .cover-image {
  width: 100%;
  height: auto;
  border: 1px solid var(--page-border-color);
}

#comicpages .transitionPage {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  position: relative;
}

#rack .storylines-frame .tabgroup {
  grid-template-columns: 300px auto auto;
  grid-template-rows: auto;
  column-gap: 5vw;
  row-gap: 5vw;
  justify-items: center;
  align-items: start;
  grid-template-areas: 'intro covers links';
}

#rack .storylines-frame .tabgroup .tab[data-tabpos='intro'] {
  grid-area: intro;
}

#rack .storylines-frame .tabgroup .tab[data-tabpos='covers'] {
  grid-area: covers;
}

#rack .storylines-frame .tabgroup .tab[data-tabpos='links'] {
  grid-area: links;
}

@media only screen and (min-width: 1195px) {
  #comicslist .thumbsgrid .thumb-frame {
    width: calc(16.667% - (1.25em / 6));
  }
}

@media only screen and (min-width: 481px) and (max-width: 834px) {
  #comicslist .thumbsgrid .thumb-frame {
    width: calc(33.33% - (0.5em / 3));
  }

  #rack .storylines-list > .covers-list > li > .storyline-cover .cover-title {
    font-size: 1.05em;
  }

  #rack .storylines-frame .tabgroup {
    grid-template-columns: auto auto;
    grid-template-rows: min-content min-content auto;
    column-gap: 5vw;
    row-gap: 5vw;
    justify-items: center;
    align-items: start;
    grid-template-areas:
      'intro covers'
      'links covers'
      'empty covers';
  }

  #rack .storylines-frame .splash-image {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  #subscriptions .subs-list .sub-block .subscription-image {
    width: 7.25em;
  }

  #rack .storylines-frame,
  #interstitial .interstitial-frame {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 4em;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
  }

  #rack .storylines-frame .splash-image {
    width: 100%;
    margin: 0 0 1em 0;
  }

  .nav-btn-group .nav-btn .abbrev {
    display: block;
  }

  .nav-btn-group .nav-btn .unabbreviated {
    display: none;
  }

  #comicslist {
    padding: 0;
  }

  #comicslist .thumbsgrid .thumb-frame {
    width: calc(50% - 0.125em);
    /* margin-bottom: 0.25em; */
  }

  #comicpages .comicpagesbox {
    margin: 3em 0vw;
  }

  /* #comicslist .category-block.date .thumbsgrid .thumb-frame:before, */
  #comicslist .category-block.date .thumbsgrid .thumb-frame:after {
    content: attr(data-lastupdatedmobile);
    padding: 0.275em 0 0.25em 0;
    /* border-radius: 0.75em 0.75em 0 0;
    left: calc(50% - 5em);
    width: 10em; */
  }
}

@media only screen and (pointer: coarse) {
  .section-content .footnote {
    display: block;
  }
}

@media only screen and (display-mode: standalone) {
  .section-content .footnote {
    display: none; /* Because it's already been added. */
  }

  #homenav {
    height: 4em;
    justify-content: flex-start;
  }
}

.comic-image img {
  width: 100%;
  height: auto;
}

.lds-dual-ring {
  display: inline-block;
  width: 80px;
  height: 80px;
  margin-top: 2em;
}

.lds-dual-ring:after {
  content: ' ';
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid var(--page-border-color);
  border-color: var(--page-border-color) transparent var(--page-border-color)
    transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* 
soft cubic-bezier(0.25,0,0,1)
snap cubic-bezier(1,0,.67,1)
bounce cubic-bezier(0.34, 1.56, 0.64, 1)

*/
