.left {
  float: left;
}

.right {
  float: right;
}

.space {
  margin-right: calc(tan(atan2(var(--size_margin), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.quarter-space {
  margin-right: calc(tan(atan2(var(--size_margin_quarter), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.half-space {
  margin-right: calc(tan(atan2(var(--size_margin_half), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.double-space {
  margin-right: calc(tan(atan2(var(--size_margin_double), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.hidden {
  display: none;
}

.full-width {
  width: 100%;
}

.center {
  text-align: center;
}

.flex {
  display: flex;
}
.flex .repeater {
  display: flex;
}

.trans, div.primary-navigation-container {
  transition-duration: 0.2s;
}

.trans-alt {
  transition-duration: 0.1s;
}

.no-underline {
  border-bottom: 0;
}

.sticky {
  position: sticky;
  top: calc(tan(atan2(120px, var(--size_root_font))) * var(--site_scale) * 1rem);
}

.dropshadow {
  box-shadow: 0 calc(tan(atan2(3px, var(--size_root_font))) * var(--site_scale) * 1rem) calc(tan(atan2(3px, var(--size_root_font))) * var(--site_scale) * 1rem) 0 rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.inset-shadow {
  box-shadow: 0 calc(tan(atan2(2px, var(--size_root_font))) * var(--site_scale) * 1rem) calc(tan(atan2(2px, var(--size_root_font))) * var(--site_scale) * 1rem) 0 rgba(0, 0, 0, 0.15) inset;
}

.border {
  border: calc(tan(atan2(1px, var(--size_root_font))) * var(--site_scale) * 1rem) solid var(--c_accent_dark);
}

.border-alt, table.tabular tr.highlighted:after {
  border: calc(tan(atan2(2px, var(--size_root_font))) * var(--site_scale) * 1rem) dashed var(--c_primary);
}

.border-radius, table.tabular tr.highlighted:after {
  border-radius: calc(tan(atan2(25px, var(--size_root_font))) * var(--site_scale) * 1rem);
}

.outline {
  outline: calc(tan(atan2(1px, var(--size_root_font))) * var(--site_scale) * 1rem) solid var(--c_accent_dark);
}

.clear-both {
  clear: both;
  display: block;
}

.focus {
  outline: calc(tan(atan2(2px, var(--size_root_font))) * var(--site_scale) * 1rem) dashed var(--c_primary);
  outline-offset: calc(tan(atan2(2px, var(--size_root_font))) * var(--site_scale) * 1rem);
}

.inverted {
  background-color: var(--c_accent_dark);
  color: var(--c_accent);
}
.inverted h1, .inverted h2, .inverted h3, .inverted h4, .inverted h5, .inverted h6, .inverted p, .inverted a {
  color: var(--c_accent);
}
.inverted ::-moz-selection {
  background-color: var(--c_primary);
  color: var(--c_background);
}
.inverted ::selection {
  background-color: var(--c_primary);
  color: var(--c_background);
}

.margin-block {
  margin-block: calc(tan(atan2(var(--size_margin), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.margin-inline {
  margin-inline: calc(tan(atan2(var(--size_margin), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.margin-inline-half {
  margin-inline: calc(tan(atan2(var(--size_margin_half), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.padding-block {
  padding-block: calc(tan(atan2(var(--size_margin), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.padding-inline {
  padding-inline: calc(tan(atan2(var(--size_margin), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.padding {
  padding: calc(tan(atan2(var(--size_margin), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.padding-gutter {
  padding: 0 calc(tan(atan2(var(--size_gutter), var(--size_root_font))) * var(--site_scale) * 1rem);
}

.scale-up {
  transform: scale(1.2);
}

.scale-down {
  transform: scale(0.8);
}

.flex-10 {
  flex-basis: 10%;
}
.flex-10 + * {
  flex-basis: 90%;
}

.flex-20 {
  flex-basis: 20%;
  /*
  & + *
  {
  	flex-basis: 80%;
  }
  */
}

.flex-25 {
  flex-basis: 25%;
}
.flex-25 + * {
  flex-basis: 75%;
}

.flex-33 {
  flex-basis: 33.333%;
}
.flex-33 + * {
  flex-basis: 66.666%;
}

.flex-50 {
  flex-basis: 50%;
}
.flex-50 + * {
  flex-basis: 50%;
}

.flex-66 {
  flex-basis: 66.666%;
}
.flex-66 + * {
  flex-basis: 33.333%;
}

.flex-75 {
  flex-basis: 75%;
}
.flex-75 + * {
  flex-basis: 25%;
}

.flex-80 {
  flex-basis: 80%;
}
.flex-80 + * {
  flex-basis: 20%;
}

table.tabular {
  display: table;
  width: 100%;
  table-layout: auto;
}
table.tabular i {
  font-size: var(--size_h4);
}
table.tabular tbody {
  display: table-row-group;
}
table.tabular tr {
  display: table-row;
}
table.tabular tr.highlighted {
  font-weight: bold;
  position: relative;
}
table.tabular tr.highlighted:after {
  border-color: var(--c_accent_dark);
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  pointer-events: none;
}
table.tabular th, table.tabular td {
  display: table-cell;
  padding: calc(tan(atan2(8px, var(--size_root_font))) * var(--site_scale) * 1rem);
  word-break: break-all;
}
table.tabular th.narrow-cell, table.tabular td.narrow-cell {
  width: calc(tan(atan2(80px, var(--size_root_font))) * var(--site_scale) * 1rem);
}
table.tabular.bordered th, table.tabular.bordered td {
  border: calc(tan(atan2(1px, var(--size_root_font))) * var(--site_scale) * 1rem) solid var(--c_accent_dark);
}

@media only screen and (min-width: 1280px) {
  .body-width, .toolbox, .body-container, .padded {
    max-width: calc(tan(atan2(var(--size_body_width), var(--size_root_font))) * var(--site_scale) * 1rem);
    margin-left: auto;
    margin-right: auto;
    box-sizing: content-box;
  }
  .toolbox, .body-container, .padded {
    padding: 0 calc(tan(atan2(var(--size_gutter), var(--size_root_font))) * var(--site_scale) * 1rem);
  }
}
@media only screen and (max-width: 1280px) {
  #secondary, .body-width {
    box-sizing: content-box;
  }
  #secondary, .toolbox, .body-container, .padded {
    padding: 0 calc(tan(atan2(var(--size_gutter), var(--size_root_font))) * var(--site_scale) * 1rem);
  }
  .desktop-only {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .left, .right {
    float: none;
    display: inline;
  }
}
:root {
  --line_height: 24px;
  --size_small_font: 16px;
  --anchor_scroll_offset: clamp(7rem, 20vh, 12rem);
}

html {
  scroll-padding-top: var(--anchor_scroll_offset);
}

#works, #about-the-author, #contact {
  scroll-margin-top: var(--anchor_scroll_offset);
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
h1 {
  text-transform: uppercase;
  font-family: var(--fnt_secondary);
}
h1, h1 h2, h1 h3, h1 h4, h1 h5, h1 h6 {
  color: var(--c_text);
}

h2 {
  line-height: 1.75;
}

header {
  padding-top: 0;
}

a {
  color: var(--c_text);
  text-decoration: underline;
}
a.button {
  text-transform: lowercase;
}
a:hover {
  text-decoration: none;
}

button[type=submit], a.button {
  font-size: var(--size_h5);
  padding-block: calc(var(--size_margin) * 0.91667);
  text-align: center;
  text-decoration: none;
}
button[type=submit]:hover, a.button:hover {
  text-decoration: none;
  background-color: var(--c_secondary);
  transform: scale(1.15);
}
button[type=submit]:hover i, button[type=submit]:hover:after, a.button:hover i, a.button:hover:after {
  color: var(--c_primary);
}

form button[type=submit] {
  display: block;
  margin: 0 auto;
  border: calc(tan(atan2(1px, var(--size_root_font))) * var(--site_scale) * 1rem) solid var(--c_primary);
  min-width: calc(tan(atan2(300px, var(--size_root_font))) * var(--site_scale) * 1rem);
}
form button[type=submit]:hover {
  border: calc(tan(atan2(1px, var(--size_root_font))) * var(--site_scale) * 1rem) solid var(--c_secondary);
}

fieldset:not(.skinny, .tab, .repeater), .login-page .form-group:not(.skinny, .tab, .repeater) {
  background-color: unset;
  border: 0;
  margin-bottom: 0;
  padding-block: var(--size_margin_half);
}
@media only screen and (max-width: 1080px) {
  fieldset:not(.skinny, .tab, .repeater), .login-page .form-group:not(.skinny, .tab, .repeater) {
    padding-inline: 0;
    box-sizing: border-box;
  }
}
fieldset input[type=text], fieldset input[type=email], fieldset input[type=url], fieldset input[type=search], fieldset input[type=password], fieldset input[type=number], fieldset select, fieldset textarea, fieldset tags, fieldset .tagify, .login-page .form-group input[type=text], .login-page .form-group input[type=email], .login-page .form-group input[type=url], .login-page .form-group input[type=search], .login-page .form-group input[type=password], .login-page .form-group input[type=number], .login-page .form-group select, .login-page .form-group textarea, .login-page .form-group tags, .login-page .form-group .tagify {
  background-color: var(--c_accent);
  border-bottom: 0;
  padding-block: calc(var(--size_margin) * 0.8333);
  padding-inline: calc(var(--size_margin) * 1.333);
  font-size: calc(var(--size_body_font) * 1.25);
}
fieldset textarea, .login-page .form-group textarea {
  min-height: calc(tan(atan2(254px, var(--size_root_font))) * var(--site_scale) * 1rem);
}

main {
  padding-top: calc(tan(atan2(40px, var(--size_root_font))) * var(--site_scale) * 1rem);
}

h1.site-title:hover {
  text-decoration: underline;
}

.view-page {
  /*
  header
  {
  	height: rem(140px);
  }
  */
}
.view-page fieldset input[type=text], .view-page fieldset input[type=email], .view-page fieldset input[type=url], .view-page fieldset input[type=search], .view-page fieldset input[type=password], .view-page fieldset input[type=number], .view-page fieldset select, .view-page fieldset textarea, .view-page fieldset tags, .view-page fieldset .tagify {
  width: 100%;
}
.view-page a.button {
  background-color: var(--c_primary);
  color: var(--c_background);
}
.view-page a.button:hover {
  background-color: var(--c_secondary);
}
.view-page a.button:hover:after {
  color: var(--c_background);
}
.view-page .primary-navigation-container + * {
  margin-top: 0;
}
.view-page .toolbox {
  top: calc(tan(atan2(10px, var(--size_root_font))) * var(--site_scale) * 1rem);
  position: absolute;
  width: 100%;
  text-align: right;
}
.view-page .toolbox .options {
  width: 100%;
}
.view-page .toolbox .options a {
  font-size: var(--size_small_font);
}

.__se__float-right {
  margin-left: var(--size_margin_double);
}
@media only screen and (max-width: 1080px) {
  .__se__float-right {
    float: none;
    margin: 0 auto;
    text-align: center;
  }
  .__se__float-right img {
    max-width: 50%;
    margin-bottom: var(--size_margin_double);
  }
}

.post.page li {
  margin-bottom: 0;
}
.post p {
  line-height: var(--line_height);
}
.post form .reset-field {
  display: none;
}

.view-page.fullwidth section.post {
  padding: 0;
}

.post h1, footer h1 {
  text-align: center;
  margin-bottom: var(--size_margin_double);
}

p.description:empty {
  display: none;
}

div.primary-navigation-container {
  margin-inline: 0;
  border-radius: 0;
  padding-block: calc(tan(atan2(40px, var(--size_root_font))) * var(--site_scale) * 1rem);
  top: -1px;
  background-color: var(--c_background);
  box-shadow: unset;
  box-sizing: border-box;
}
div.primary-navigation-container .logo {
  background-color: unset;
}
div.primary-navigation-container.stuck {
  padding-block: calc(tan(atan2(25px, var(--size_root_font))) * var(--site_scale) * 1rem);
  border-radius: 0;
}

nav.primary-navigation .current a, nav.account .current a, nav.tab-menu .current a {
  font-weight: normal;
}

nav.primary-navigation {
  float: right;
}
nav.primary-navigation a {
  text-transform: lowercase;
}
nav.primary-navigation li {
  padding-inline: var(--size_margin);
}
@media only screen and (max-width: 1080px) {
  nav.primary-navigation li {
    padding-inline: 0;
  }
}

nav li a {
  font-size: var(--size_h5);
}

.social-navigation {
  float: unset;
  margin-top: var(--size_margin_double);
  text-align: center;
}
.social-navigation i {
  font-size: calc(tan(atan2(48px, var(--size_root_font))) * var(--site_scale) * 1rem);
  margin-inline: var(--size_margin);
  color: var(--c_background);
}
.social-navigation i:hover {
  color: var(--c_secondary);
  transform: scale(1.15);
}
.social-navigation ul {
  margin-bottom: 0;
}
.social-navigation li {
  margin: 0;
}

.view-page.fullwidth section.post .featured-callout {
  min-height: calc(tan(atan2(764px, var(--size_root_font))) * var(--site_scale) * 1rem);
  background-image: url("../images/featured-callout-bg.webp");
  background-size: 100% auto;
  background-attachment: fixed;
  background-position-y: calc(tan(atan2(88px, var(--size_root_font))) * var(--site_scale) * 1rem);
  background-repeat: no-repeat;
}
.view-page.fullwidth section.post .featured-callout .se-image-container {
  display: none;
  line-height: 0;
}
.view-page.fullwidth section.post .featured-callout .se-image-container img {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .view-page.fullwidth section.post .featured-callout .se-image-container {
    display: block;
  }
}
.view-page.fullwidth section.post .featured-callout > .body-width {
  display: flex;
  align-items: stretch;
  min-height: calc(tan(atan2(764px, var(--size_root_font))) * var(--site_scale) * 1rem);
}
@media only screen and (max-width: 768px) {
  .view-page.fullwidth section.post .featured-callout > .body-width {
    margin-inline: 0;
    padding-inline: 0;
  }
}
.view-page.fullwidth section.post .featured-callout .blurb h2 {
  margin-bottom: calc(var(--size_gutter) * 2);
}
.view-page.fullwidth section.post .featured-callout .blurb {
  max-width: calc(var(--size_body_width) * 0.5);
  background-color: rgba(0, 0, 0, 0.75);
  padding-inline: calc(var(--size_gutter) * 3);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
}
.view-page.fullwidth section.post .featured-callout .blurb > * {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .view-page.fullwidth section.post .featured-callout .blurb {
    max-width: 100%;
    padding-inline: calc(var(--size_gutter) * 2);
    background-color: #000;
  }
}
@media only screen and (max-width: 1280px) {
  .view-page.fullwidth section.post .featured-callout {
    background-size: cover;
    background-position-x: 58%;
    background-position-y: calc(tan(atan2(80px, var(--size_root_font))) * var(--site_scale) * 1rem);
  }
}
@media only screen and (max-width: 768px) {
  .view-page.fullwidth section.post .featured-callout {
    background-image: none;
  }
}

.inverted a.button:not(:hover) {
  background-color: var(--c_background);
}
.inverted a.button {
  color: var(--c_text);
}

.search-container {
  display: none;
}

.about-the-author {
  background: var(--c_secondary);
  padding-block: calc(var(--size_margin) * 3.5);
}
.about-the-author .body-width {
  background: var(--c_secondary);
  background: radial-gradient(circle, rgba(255, 246, 241, 0.5) 0%, var(--c_secondary) 50%);
}

.post.book_listing {
  padding-inline: 0;
}
.post.book_listing .book-listing {
  display: flex;
  align-items: flex-start;
  gap: calc(var(--size_margin) * 2.5);
  margin-bottom: calc(var(--size_gutter) * 2);
}
@media only screen and (max-width: 1080px) {
  .post.book_listing .book-listing {
    flex-direction: column;
  }
}
.post.book_listing .book-listing-cover {
  flex: 0 0 calc(tan(atan2(300px, var(--size_root_font))) * var(--site_scale) * 1rem);
  max-width: calc(tan(atan2(300px, var(--size_root_font))) * var(--site_scale) * 1rem);
}
.post.book_listing .book-listing-cover img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 1080px) {
  .post.book_listing .book-listing-cover {
    margin-inline: auto;
  }
}
.post.book_listing .book-listing-content {
  flex: 1 1 auto;
}
.post.book_listing .book-listing-content h2 {
  margin-top: 0;
  margin-bottom: var(--size_margin);
}
.post.book_listing .book-listing-content p {
  margin-block: 0 1rem;
}
@media only screen and (max-width: 1080px) {
  .post.book_listing .book-listing-content h2 {
    text-align: center;
  }
}
.post.book_listing .book-listing-cta {
  margin-top: var(--size_margin_double);
}
.post.book_listing .book-listing-cta.book-vendors {
  display: flex;
  justify-content: center;
  gap: var(--size_margin);
  flex-wrap: wrap;
  margin-bottom: calc(var(--size_gutter) * 2);
}
.post.book_listing .book-listing-cta a.button {
  min-width: calc(tan(atan2(300px, var(--size_root_font))) * var(--site_scale) * 1rem);
  display: inline-block;
}
@media only screen and (max-width: 1080px) {
  .post.book_listing .book-listing-cta a.button {
    width: 100%;
    margin-inline: 0;
  }
}

footer {
  background-color: var(--c_text);
  min-height: unset;
  padding-block: var(--size_margin_double);
}
footer * {
  color: var(--c_background);
  text-align: center;
}
footer p {
  line-height: var(--line_height);
}
footer .site-title {
  margin-bottom: 0;
}
footer .logo, footer .footer-navigation {
  float: unset;
  text-decoration: none;
}
footer .logo:hover, footer .footer-navigation:hover {
  text-decoration: underline;
}
footer .footer-navigation {
  margin-top: var(--size_margin_double);
}
footer .footer-navigation li:not(:last-child):after {
  content: "";
  display: none;
}
footer .footer-navigation li {
  margin-inline: var(--size_margin);
}
footer .footer-navigation a {
  text-decoration: none;
}
footer .footer-navigation a:hover {
  text-decoration: underline;
}
footer .copyright {
  margin-top: calc(tan(atan2(-5px, var(--size_root_font))) * var(--site_scale) * 1rem);
}
footer .container {
  display: flex;
  flex-direction: column-reverse;
}

.shadow-section {
  box-shadow: 0 var(--size_gutter) var(--size_gutter) 0 rgba(0, 0, 0, 0.1);
  margin-bottom: calc(var(--size_gutter) * 3);
}

body.book.view-page section.post.book_listing {
  box-shadow: inset 0 calc(tan(atan2(100px, var(--size_root_font))) * var(--site_scale) * 1rem) calc(tan(atan2(100px, var(--size_root_font))) * var(--site_scale) * 1rem) 0 rgba(0, 0, 0, 0.1);
}
body.book.view-page section.post.book_listing h1.page-title {
  padding-top: calc(tan(atan2(100px, var(--size_root_font))) * var(--site_scale) * 1rem);
}

.admin-page legend {
  font-size: calc(tan(atan2(24px, var(--size_root_font))) * var(--site_scale) * 1rem);
}
.admin-page fieldset:not(.skinny, .tab, .repeater) {
  border: calc(tan(atan2(1px, var(--size_root_font))) * var(--site_scale) * 1rem) solid var(--c_accent_dark);
  margin-bottom: var(--size_margin_half);
}
.admin-page .tab-menu a {
  text-decoration: none;
}
.admin-page .About .margin-block button, .admin-page .About .margin-block a {
  color: var(--c_primary);
  text-decoration: underline;
}
.admin-page .About .margin-block button:hover, .admin-page .About .margin-block a:hover {
  text-decoration: none;
}
.admin-page .About h1 {
  text-transform: none;
  letter-spacing: -0.05em;
}
.admin-page .settings h1.c-secondary {
  color: var(--c_primary);
}

.login-page form legend, .register-page form legend, .install-page form legend {
  font-family: var(--fnt_primary);
  font-size: calc(tan(atan2(24px, var(--size_root_font))) * var(--site_scale) * 1rem);
  margin-top: calc(tan(atan2(12px, var(--size_root_font))) * var(--site_scale) * 1rem);
  margin-left: calc(tan(atan2(25px, var(--size_root_font))) * var(--site_scale) * 1rem);
}

fieldset .object ul.sortable li, fieldset .object ul.sortable > fieldset, .repeater-container.sortable .repeater li, .repeater-container.sortable .repeater > fieldset {
  color: var(--c_primary);
}/*# sourceMappingURL=style.css.map */