@font-face {
  font-family: "Avenir";
  src: url("/avenir-font/AvenirLTStd-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: "Avenir";
  src: url("/avenir-font/AvenirLTStd-Medium.otf") format("opentype");
  font-weight: 400;
  font-style: normal; }

* {
  font-family: "Avenir";
  font-weight: 400;
  font-style: normal; }

body {
  text-align: center;
  padding: 10px;
  margin: auto; }

nav {
  padding: 1.8rem 0rem;
  display: flex;
  flex-wrap: wrap; }
  nav a {
    display: inline-block;
    color: #3f3f3f;
    text-decoration: none;
    font-size: 2rem;
    border-bottom: 2px solid #fff0; }
    nav a:hover {
      border-color: #3f3f3f; }
    nav a.active {
      border-color: black;
      color: black; }
    @media screen and (max-width: 1000px) {
      nav a {
        font-size: 1.3rem !important; } }
  nav span#nav-logo {
    flex: 2;
    text-align: left; }
  nav span#nav-regular {
    width: fit-content;
    display: inline-block;
    margin: auto;
    word-spacing: 1rem;
    flex: 3; }
  nav div#spacer {
    flex: 2; }
  @media screen and (max-width: 1000px) {
    nav div#spacer {
      display: none; }
    nav span#nav-regular {
      text-align: right; } }
.mainframe {
  max-width: 800px;
  margin: auto; }

article {
  display: block;
  text-align: left; }
  article figure {
    max-width: 50%;
    float: left;
    margin: 15px;
    margin-left: 0px; }
    article figure img {
      width: 100%; }
    @media screen and (max-width: 1000px) {
      article figure {
        max-width: 100%;
        margin: 0px; } }
  article figcaption {
    text-align: center;
    font-style: italic;
    font-size: 1.2rem;
    margin: 8px;
    color: #5f5f5f; }
  article h1,
  article h3 {
    text-align: center; }
  article h1 {
    margin-top: 4rem; }
  article h2 {
    margin-top: 1rem;
    margin-bottom: 0px;
    padding: 0px; }
  article p,
  article ul {
    font-size: 1.2rem;
    line-height: 1.8;
    padding: 0pt;
    margin-top: 0pt; }
  article li {
    margin: 5pt 0; }

hr {
  width: 80%;
  border: none;
  border-top: 1px solid black;
  margin: 2rem auto; }
  @media screen and (max-width: 1000px) {
    hr {
      margin: 1rem auto; } }
.work-category {
  text-align: center; }

.work-masonry {
  columns: 2;
  column-gap: 2rem; }

.work-item {
  break-inside: avoid;
  display: block;
  margin-bottom: 2rem;
  text-align: left;
  cursor: pointer; }
  .work-item img {
    width: 100%;
    display: block; }
  .work-item .work-subtitle {
    display: block;
    font-size: 0.9rem;
    font-weight: 300;
    color: #5f5f5f;
    margin-top: 0.3rem; }
  .work-item .work-title {
    display: block;
    font-size: 1.1rem; }

.slideshow {
  position: relative;
  display: flex;
  align-items: center; }

.slide-img {
  flex: 1;
  width: 100%;
  min-width: 0;
  display: block; }

.slide-btn {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3rem;
  background: rgba(0, 0, 0, 0.15);
  color: white;
  border: none;
  font-size: 2.5rem;
  cursor: pointer;
  z-index: 1;
  padding: 0;
  line-height: 1;
  transition: background 0.2s; }
  .slide-btn:hover {
    background: rgba(0, 0, 0, 0.35); }
  .slide-btn.prev {
    left: 0; }
  .slide-btn.next {
    right: 0; }
  @media screen and (max-width: 1000px) {
    .slide-btn {
      width: 2.5rem;
      font-size: 2rem; } }

.slide-counter {
  text-align: center;
  font-size: 1rem;
  color: #5f5f5f;
  margin: 0.5rem 0 1.5rem; }
