html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn,
em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas,
details, embed, figure, figcaption, footer, header, hgroup, menu, nav,
output, ruby, section, summary, time, mark, audio, video {
  -webkit-user-select: none;
  border: 0;
  box-sizing: border-box;
  cursor: default;
  font-size: 100%;
  font: inherit;
  margin: 0;
  padding: 0;
  user-select: none;
  vertical-align: baseline; }

  article, aside, details, figcaption, figure, footer, header, hgroup, menu,
  nav, section {
    -webkit-user-select: none;
    display: block;
    user-select: none; }

    body {
      line-height: 1.25em; }

      ol, ul {
        list-style: none; }

        blockquote, q {
          quotes: none; }

          blockquote:before, blockquote:after, q:before, q:after {
            content: '';
            content: none; }

            table {
              border-collapse: collapse;
              border-spacing: 0; }

              @font-face {
                font-family: "Futura LT Pro";
                src: url("/fonts/FuturaLTPro-Book.woff2") format("woff2");
                font-weight: normal;
                font-style: normal;
                font-display: swap; }

                @font-face {
                  font-family: "Source Sans 3";
                  src: url("/fonts/SourceSans3-Light.woff2") format("woff2");
                  font-weight: 300;
                  font-style: normal;
                  font-display: swap; }

                  @font-face {
                    font-family: "Source Sans 3";
                    src: url("/fonts/SourceSans3-LightItalic.woff2") format("woff2");
                    font-weight: 300;
                    font-style: italic;
                    font-display: swap; }

                    a {
                      border-radius: 4px;
                      background: transparent;
                      color: #404040;
                      text-decoration: none;
                      cursor: pointer; }
                      a:visited {
                        color: #404040; }
                        a.outline-button {
                          border: 1px solid #002609;
                          padding: 8px 16px; }
                          a.outline-button:hover {
                            border-color: white;
                            color: white; }
                      a * {
                        cursor: pointer; }

a.button, button, input[type="button"], input[type="submit"] {
  border: 2px solid transparent;
  border-radius: 16px;
  background: #4a7d56;
  color: white;
  font-family: "Source Sans 3", serif;
  font-size: 16px;
  letter-spacing: 0.25em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  padding: 8px 16px; }
  a.button:hover, button:hover, input[type="button"]:hover,
  input[type="submit"]:hover {
    background: #67ad79;
    border-color: #4a7d56;
    color: white; }
    a.button.call-to-action, button.call-to-action,
    input[type="button"].call-to-action, input[type="submit"].call-to-action {
      border-radius: 8px;
      font-size: 25px;
      padding: 16px 32px; }

body {
  height: 100%;
  font-family: "Source Sans 3", serif;
  font-size: 20px;
  background: white;
  color: #002609;
  display: flex;
  flex-flow: column;
  align-items: stretch; }
  body .c-page-header {
    flex: 0 0 auto;
    margin-bottom: 32px; }
    body .c-page-content {
      flex: 1 1 100%; }
      body .c-page-footer {
        flex: 0 0 auto;
        border-top: 1px solid silver;
        margin-top: 32px;
        ;
padding: 10px;
        color: silver;
        font-size: 16px;
        display: flex;
        flex-flow: row;
        justify-content: center;
        align-items: center; }

h1 {
  font-size: 32px;
  margin: 64px 0 16px 0; }

  h2 {
    font-size: 25px;
    margin: 64px 0 16px 0; }

    h1, h2, h3, h4, h5, h6 {
      font-family: "Futura LT Pro", sans-serif;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      line-height: 1.25em; }
      h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child,
      h6:first-child {
        margin-top: 0; }

img {
  pointer-events: none; }

  input {
    border: 1px solid #7f7f7f;
    border-radius: 4px;
    display: block;
    margin-bottom: 16px;
    font-size: 20px;
    padding: 8px; }

    input[type="submit"] {
      cursor: pointer; }

      p {
        font-family: "Source Sans 3", serif; }
        p + p {
          margin-top: 32px; }

section {
  margin-top: 64px; }
  section:first-child {
    margin-top: 0; }

tt.copying {
  background-color: yellow; }

.c-admin-buttons {
  margin: 32px 0; }

  .c-dialog {
    display: flex;
    flex-flow: column;
    align-items: stretch;
    justify-content: stretch;
    padding: 32px; }
    .c-dialog form {
      display: flex;
      flex-flow: column;
      align-items: stretch; }
      .c-dialog form input {
        border: 1px solid #7f7f7f;
        display: block;
        margin-bottom: 16px;
        font-size: 20px;
        padding: 8px; }
    .c-dialog h2 {
      margin-bottom: 32px; }
      .c-dialog img {
        max-width: 400px; }
        .c-dialog p {
          margin: 32px;
          font-size: 16px; }
          .c-dialog p.try-again {
            color: #404040;
            font-size: 16px;
            text-decoration: underline; }
    .c-dialog a.rescue-action {
      align-self: end;
      color: #7f7f7f;
      text-decoration: underline; }

.c-fade-down {
  position: absolute;
  width: 100%;
  height: 64px;
  bottom: 0;
  background: linear-gradient(180deg, transparent, white); }
  @media (width < 500px) {
    .c-fade-down {
      height: 16px;   }
}

.c-gallery-blurb {
  margin: 32px 0; }

  .c-page-content {
    position: relative;
    display: flex;
    flex-flow: column;
    justify-content: stretch;
    align-items: stretch;
    padding: 0 16px; }
    @media (max-width: 768px) {
      .c-page-content {
        padding: 0;   }
}
      .c-page-content .c-dialog-container {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: center; }
        .c-page-content .c-dialog-container .c-dialog {
          flex: 0 1 480px;
          max-width: 50%; }
          @media (max-width: 768px) {
            .c-page-content .c-dialog-container .c-dialog {
              max-width: 100%;   }
}

.c-page-header .top {
  flex: 0 0 auto;
  border-bottom: 1px solid #7f7f7f;
  display: flex;
  flex-flow: row;
  justify-content: stretch;
  align-items: baseline;
  padding: 8px 16px; }
  @media (width < 500px) {
    .c-page-header .top {
      flex-flow: column;
      justify-content: start;
      align-items: stretch;   }
}
    .c-page-header .top .left {
      flex: 0 0 33%; }
      .c-page-header .top .left img {
        height: 64px;
        pointer-events: auto; }
        @media (width < 500px) {
          .c-page-header .top .left {
            text-align: center;   }
}
  .c-page-header .top .center {
    flex: 1 1 100%;
    text-align: center; }
    .c-page-header .top .right {
      flex: 0 0 33%;
      text-align: right;
      font-size: 16px; }
      .c-page-header .top .right a {
        font-size: 20px;
        margin-left: 32px; }
.c-page-header .bottom {
  padding: 8px 16px;
  font-size: 16px;
  display: flex;
  flex-flow: row;
  align-items: baseline; }
  @media (width < 500px) {
    .c-page-header .bottom {
      flex-flow: column;
      align-items: stretch;   }
}
    .c-page-header .bottom .left, .c-page-header .bottom .right {
      flex: 1 1 50%; }
      @media (width < 500px) {
        .c-page-header .bottom .left, .c-page-header .bottom .right {
          flex: 0 0 auto;
          margin-top: 16px;   }
}
  .c-page-header .bottom .left a:active, .c-page-header .bottom .left a:hover {
    background: #e5e5e5;
    text-decoration: underline; }
  .c-page-header .bottom .right {
    display: flex;
    flex-flow: row;
    gap: 16px;
    justify-content: end; }
    .c-page-header .bottom .right a {
      border: 1px solid #404040;
      display: block;
      width: 3em;
      color: #404040;
      padding: 4px;
      text-align: center; }
      @media (width < 500px) {
        .c-page-header .bottom .right a {
          width: 50%;   }
}
        .c-page-header .bottom .right a.disabled {
          border: 1px solid #bfbfbf;
          color: #bfbfbf;
          pointer-events: none; }
          .c-page-header .bottom .right a:active, .c-page-header .bottom .right a:hover {
            text-decoration: none; }

.c-photo-print {
  background: white;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  box-shadow: 8px 8px 16px 0px rgba(0, 0, 0, 0.26);
  padding: 8px; }
  @media (width < 500px) {
    .c-photo-print {
      padding: 4px;   }
}

.c-placeholder-tile div {
  height: 192px;
  width: 192px;
  border: 4px dashed #e5e5e5;
  border-radius: 16px; }
  .c-placeholder-tile span {
    color: #bfbfbf; }

.c-preview-tile-grid {
  display: flex;
  flex-flow: row wrap;
  ;
justify-content: space-around;
  align-items: center; }
  .c-preview-tile-grid li {
    margin: 16px 16px;
    min-width: 200px; }

.c-preview-tile {
  background-color: transparent;
  border-radius: 8px;
  transition: background-color 200ms;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch; }
  .c-preview-tile.admin-preview {
    opacity: 0.5; }
    .c-preview-tile img {
      align-self: center;
      max-height: 200px;
      max-width: 200px;
      border: 1px solid transparent;
      border-radius: 8px;
      transition: border-color 200ms; }
      .c-preview-tile p {
        margin: 4px 8px;
        font-family: "Futura LT Pro", sans-serif;
        font-size: 16px;
        transition: color 200ms;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: baseline; }
        .c-preview-tile p span {
          flex: 1 1 100%; }
          .c-preview-tile p i {
            flex: 0 0 auto;
            font-size: 16px;
            color: #bfbfbf; }
  .c-preview-tile:not(.c-placeholder-tile):hover {
    background-color: #404040; }
    .c-preview-tile:not(.c-placeholder-tile):hover span {
      color: white; }
      .c-preview-tile:not(.c-placeholder-tile):hover img {
        border-color: #404040; }

#page-email-sender .c-page-header .bottom {
  display: none; }
  #page-email-sender .c-page-content {
    max-width: 960px;
    margin: 0 auto; }
    #page-email-sender .c-page-content .samples {
      display: flex;
      flex-flow: row nowrap; }
      #page-email-sender .c-page-content .samples tt {
        flex: 1 1 50%;
        border: 1px solid gray;
        font-family: monospace;
        font-size: 15px;
        white-space: pre-wrap;
        padding: 10px; }
        #page-email-sender .c-page-content .samples iframe {
          flex: 1 1 50%;
          border: 1px solid gray;
          border-left: 0; }
    #page-email-sender .c-page-content table {
      border: none; }

#page-error .c-page-header .right {
  display: none; }
#page-error .c-page-content a {
  text-decoration: underline; }

#page-home .c-page-content {
  align-self: center;
  max-width: 960px; }

#page-gallery .c-page-content {
  align-self: center;
  max-width: 960px; }

#page-ideas .c-page-header .bottom {
  display: none; }
  #page-ideas .c-page-content {
    align-self: center;
    max-width: 960px; }
    #page-ideas .c-page-content div.concepts {
      margin-top: 64px;
      padding-left: 32px; }
      #page-ideas .c-page-content h2 a {
        opacity: 0;
        transition: opacity 200ms; }
        #page-ideas .c-page-content h2:hover a {
          opacity: 1; }
    #page-ideas .c-page-content p {
      font-family: Arial;
      font-weight: 100;
      font-size: 16px; }
      #page-ideas .c-page-content table {
        font-family: Arial;
        font-weight: 100;
        font-size: 16px;
        margin-top: 32px; }
        #page-ideas .c-page-content table tr td, #page-ideas .c-page-content table tr th {
          padding-bottom: 8px; }
          #page-ideas .c-page-content table tr th {
            font-weight: bold;
            text-align: left;
            padding-right: 16px; }

#page-index .c-page-header {
  display: none; }
  #page-index section.hero {
    position: relative;
    margin: 0 -16px; }
    #page-index section.hero img {
      max-width: 100%; }
      #page-index section.hero .title-block {
        position: absolute;
        top: 64px;
        left: 64px;
        display: flex;
        flex-flow: column;
        align-items: start;
        gap: 16px; }
        @media (width < 500px) {
          #page-index section.hero .title-block {
            top: 8px;
            left: 8px;   }
}
          #page-index section.hero .title-block img {
            height: 96px; }
            @media (width < 500px) {
              #page-index section.hero .title-block img {
                height: 48px;   }
}
        #page-index section.hero .title-block h1 {
          margin: 0;
          font-size: 20px;
          text-align: center; }
          @media (width < 500px) {
            #page-index section.hero .title-block h1 {
              font-size: 13px;
              text-align: left;
              max-width: 50%;   }
}
        #page-index section.hero .title-block a.button {
          margin-top: 16px; }
          @media (width < 500px) {
            #page-index section.hero .title-block a.button {
              display: none;   }
}
    #page-index section.hero .action-block {
      position: absolute;
      top: 64px;
      right: 32px; }
      @media (width < 500px) {
        #page-index section.hero .action-block {
          top: 16px;
          right: 16px;   }
}
        #page-index section.hero .action-block a {
          border: 1px solid #002609;
          padding: 8px 16px; }
          @media (width < 500px) {
            #page-index section.hero .action-block a {
              font-size: 16px;   }
}
            #page-index section.hero .action-block a:hover {
              border-color: white;
              color: white; }
#page-index section.recent-additions {
  align-self: center;
  margin-top: 0;
  width: 100%;
  max-width: 960px; }
  #page-index section.recent-additions p.schedule {
    margin-bottom: 64px;
    text-align: center; }
    #page-index section.recent-additions h3 {
      margin-bottom: 16px; }
#page-index section.subscribe {
  margin-top: 32px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center; }
  #page-index section.featured-gallery {
    align-self: center;
    margin-top: 128px;
    width: 80vw;
    max-width: 960px;
    display: flex;
    flex-flow: column;
    align-items: center; }
    #page-index section.featured-gallery p {
      margin-bottom: 32px;
      color: #7f7f7f;
      font-size: 16px;
      text-indent: 0; }
      #page-index section.featured-gallery a {
        text-align: center; }
        #page-index section.featured-gallery img {
          width: 400px;
          max-width: 80vw;
          margin-bottom: 8px; }
#page-index section.about {
  margin-top: 128px;
  align-self: center;
  width: 100%;
  max-width: 960px; }

#page-login .c-page-header .right {
  display: none; }

#page-model .c-page-content {
  align-self: center;
  max-width: 960px; }

#page-photo .c-page-content {
  position: relative;
  margin-bottom: 32px;
  text-align: center;
  background: center url("/images/loading-asset.png") no-repeat; }
  @media (width < 500px) {
    #page-photo .c-page-content {
      padding: 0;   }
}
    #page-photo .c-page-content.loaded {
      background: none; }
      #page-photo .c-page-content.loaded img {
        opacity: 1; }
  #page-photo .c-page-content a {
    border: none;
    object-fit: contain; }
    #page-photo .c-page-content a img {
      max-height: calc(100vh - 16px);
      background: white;
      opacity: 0;
      transition: opacity 500ms; }
      @media (width < 500px) {
        #page-photo .c-page-content a img {
          max-width: 100%;   }
}
        @media (width >= 500px) {
          #page-photo .c-page-content a img {
            max-width: 90%;
            border: 1px solid #e5e5e5;
            border-radius: 4px;
            box-shadow: 8px 8px 16px 0px rgba(0, 0, 0, 0.26);
            padding: 8px;   }
}

#page-publish .c-page-header .bottom {
  display: none; }
  #page-publish .c-page-content {
    margin: 0 auto;
    width: 960px; }
    #page-publish .c-page-content p {
      width: 100%;
      display: flex;
      flex-flow: row nowrap;
      justify-content: stretch;
      gap: 16px; }
      #page-publish .c-page-content p span {
        border: 1px solid gray;
        border-radius: 4px;
        flex: 1 1 auto;
        padding: 4px 16px;
        text-align: center; }
    #page-publish .c-page-content .copying {
      background-color: yellow; }

#page-shoot .c-page-content {
  align-self: center;
  max-width: 960px; }

#page-visits .c-page-content {
  align-items: flex-start; }
  #page-visits .c-page-content table {
    font-size: 16px;
    font-family: monospace; }
    #page-visits .c-page-content td, #page-visits .c-page-content th {
      padding: 0 16px; }
      #page-visits .c-page-content td.count, #page-visits .c-page-content th.count {
        text-align: right; }
        #page-visits .c-page-content td.url, #page-visits .c-page-content th.url {
          text-overflow: ellipsis;
          overflow: hidden;
          white-space: nowrap;
          max-width: 480px; }

#page-welcome .c-page-header .right {
  display: none; }
