/* fonts */
@font-face {
  font-family: "et-book";
  src: url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot");
  src: url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix") format("embedded-opentype"), url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff") format("woff"), url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf") format("truetype"), url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "et-book";
  src: url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot");
  src: url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix") format("embedded-opentype"), url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff") format("woff"), url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf") format("truetype"), url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf") format("svg");
  font-weight: normal;
  font-style: italic; }

@font-face {
  font-family: "et-book";
  src: url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot");
  src: url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix") format("embedded-opentype"), url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff") format("woff"), url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf") format("truetype"), url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf") format("svg");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: "Palatino Linotype";
  font-style: normal;
  font-weight: normal;
  src: url(/fonts/PalatinoLinotype-Regular.ttf) format("truetype"); }

@font-face {
  font-family: "Palatino Linotype";
  font-style: normal;
  font-weight: bold;
  src: url(/fonts/PalatinoLinotype-Bold.ttf) format("truetype"); }

/* for "enter a new mind" on home page */
@font-face {
  font-family: "Source Serif 4";
  src: url(/fonts/SourceSerif4-VariableFont_opsz,wght.ttf) format("truetype"); }

/* for the header and footer */
@font-face {
  font-family: "Mona Sans";
  src: url(/fonts/Mona-Sans.woff2) format("woff2 supports variations"), url(/fonts/Mona-Sans.woff2) format("woff2-variations"); }

/* for the monastic academy logo in the footer */
@font-face {
  font-family: 'Cinzel';
  font-weight: 100 1000;
  src: url(/fonts/Cinzel-VariableFont_wght.ttf) format("truetype"); }

/* reset default styles */
html,
body,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
a,
i,
mark,
img,
span,
div,
header,
nav,
section,
footer,
article,
aside,
main,
menu,
form,
input,
button {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  font-style: inherit;
  vertical-align: baseline;
  list-style: none;
  text-decoration: none;
  color: inherit;
  background-color: transparent; }

input {
  border: none;
  background-image: none;
  background-color: transparent;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

/* set the selection color globally to a nice yellow */
::selection {
  background-color: rgba(255, 210, 125, 0.5); }

/** for the header and main content area that apply to all pages */
html {
  background-color: #f7f8f4;
  font-family: "Mona Sans", sans-serif; }

html,
body {
  min-height: 100%;
  display: flex;
  flex-direction: column; }

/* generic buttons appear black with white text, rounded rect */
button,
input[type="submit"] {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  border-radius: 30px;
  padding: 14px 20px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid black; }

button:hover,
input[type="submit"]:hover {
  background-color: white; }

header {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-weight: 600;
  padding: 0 2em;
  /* don't text-wrap anything in the header */
  white-space: nowrap;
  flex: 0 0 6em;
  gap: 1em;
  /* meditator icon on the left */
  /* when links are hovered turn them slightly transparent */
  /* the hamburger icon is not shown on desktop */
  /* The sequence of navigation links on the right */
  /* On mobile, remove the "MAPLE tales" title and the padding, show the hamburger, hide the text links */ }
  header img {
    height: 3.5em; }
  header a.meditator {
    flex: 1; }
  header a:hover {
    color: rgba(0, 0, 0, 0.8); }
  header button.hamburger {
    display: none;
    flex: 1;
    padding: 0;
    justify-content: end;
    font-size: 1.5em;
    border: none; }
  header button.hamburger:hover {
    color: rgba(0, 0, 0, 0.9);
    background-color: transparent; }
  header a.sitename {
    padding: 0 1em;
    font-size: 1.5em; }
  header nav {
    gap: 1em;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 1;
    justify-content: end;
    /* search button */ }
    header nav img {
      height: 1em;
      padding-top: 0.3em; }
  @media (max-width: 680px) {
    header a.meditator img {
      height: 2em; }
    header button.hamburger {
      display: flex; }
    header nav {
      display: none; } }
/* the hamburger popup menu -- no need for a media query because the hamburger icon is only shown on mobile */
menu {
  display: flex;
  flex-direction: column;
  font-weight: 600; }
  menu a {
    padding: 0.4em 0.8em;
    line-height: 1.8em;
    background-color: rgba(0, 0, 0, 0.1); }
  menu a:hover {
    background-color: rgba(0, 0, 0, 0.2); }

/* the search element is a full-window overlay; the div inside it is a modal */
search {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  padding-top: 5em;
  /* controls vertical offset of search box from top */
  font-family: "Mona Sans", sans-serif; }
  search div {
    display: flex;
    flex-direction: row;
    justify-content: center; }
    search div div {
      display: flex;
      flex-direction: column;
      min-width: 220px;
      max-width: 800px;
      flex: 1;
      border-radius: 16px;
      border: 1px solid lightgray;
      background-color: white;
      max-height: 700px;
      /* the search box that appears just under the header */
      /* the search box that appears just under the header */
      /* the search results that appear just under the header -- styled much like the hamburger popup menu */
      /* hide the scroll bars, but make it still possible to scroll */ }
      search div div input {
        padding: 0.8em;
        border: none;
        border-bottom: 1px solid lightgray; }
      search div div input:focus {
        outline: none; }
      search div div output {
        display: flex;
        flex-direction: column;
        width: 800px;
        flex-shrink: 1;
        padding: 1.5em 0.5em;
        overflow-y: scroll; }
        search div div output a {
          padding: 0.5em; }
        search div div output a:hover {
          background-color: rgba(0, 0, 0, 0.1); }
      search div div output::-webkit-scrollbar {
        display: none; }

/* the Monastic Academy footer, which at the moment contains text too */
body > a {
  align-self: center; }
  body > a img {
    width: 200px;
    filter: grayscale(60%); }

/* the footer with the monastic academy log and link to our website */
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  color: rgba(0, 0, 0, 0.4);
  padding: 2em;
  gap: 2em;
  /* the monastic academy logo on the right and the text underneath it */ }
  footer a.logo {
    display: flex;
    flex-direction: column;
    font-family: Cinzel;
    text-align: center;
    opacity: .9;
    align-items: center; }
    footer a.logo img {
      height: 4em;
      opacity: .5; }
    footer a.logo div {
      font-size: 1.3em; }
    footer a.logo div:last-child {
      font-size: 0.66em; }
  footer a:hover {
    opacity: 1;
    color: rgba(0, 0, 0, 0.9); }
  footer nav {
    display: flex;
    gap: 1em; }

/* styles for the <div> that provides the top-level left and right gutters */
body > div {
  display: flex;
  flex-direction: row;
  justify-content: center; }

/* styles for the <main> that provides the top-level content area */
main {
  display: flex;
  flex-direction: column;
  min-width: 220px;
  width: 880px;
  padding: 4em 0.4em 8em;
  align-self: center; }

/* styles for the banner that links to the cohort landing page */
div.banner div {
  background-color: #0f1115;
  min-width: 220px;
  width: 880px;
  color: #7ee0a0;
  text-align: center;
  padding: 40px;
  border-radius: 10px;
  font-size: 1.5em; }
  div.banner div a {
    text-decoration: underline; }

/* styles for typography in maple tales themselves (also about page) */
article {
  font-family: "Palatino Linotype", serif;
  font-size: 1.2em;
  color: rgba(0, 0, 0, 0.9); }
  article p {
    line-height: 26px;
    margin-top: 1em;
    margin-bottom: 1em; }
  article ul li {
    list-style: circle inside;
    margin: 0.2em 0 0.2em 20px; }
  article ol li {
    list-style: decimal inside;
    margin: 0.2em 0 0.2em 20px; }
  article a {
    font-weight: bold;
    color: rgba(0, 0, 0, 0.7); }
  article p.indent {
    padding-left: 1em; }
  article strong {
    font-weight: bold; }
  article em {
    font-style: italic; }
  article del {
    text-decoration: line-through; }
  article mark {
    text-decoration: underline; }
  article code {
    font-family: monospace; }

/* put a spinner in a form element */
.spinner {
  background: url("/images/spinner.gif") no-repeat right center;
  background-size: 32px; }

/* styles for typography-style headings and timestamps */
h1 {
  line-height: 1.1;
  font-size: 4.5rem;
  font-weight: 400;
  font-family: et-book, Georgia, serif; }

time {
  font-family: "Palatino Linotype", serif;
  font-size: 1.2em;
  font-weight: 400;
  line-height: 3em; }

/* styles for the subscribe and unsubscribe pages */
main.subscribe,
main.unsubscribe {
  max-width: 600px;
  /* the error box under the submit button */
  /* form on subscribe page */ }
  main.subscribe p,
  main.unsubscribe p {
    font-size: 1em;
    font-family: "Mona Sans", sans-serif; }
  main.subscribe h1,
  main.unsubscribe h1 {
    font-family: "Mona Sans", sans-serif;
    font-size: 3em;
    font-weight: bold; }
  main.subscribe #error,
  main.unsubscribe #error {
    color: darkred;
    font-weight: bold; }
  main.subscribe form,
  main.unsubscribe form {
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding-top: 3em;
    /* the error box under the submit button */
    /* the "also sign up for general MAPLE updates" label */ }
    main.subscribe form div,
    main.unsubscribe form div {
      display: flex;
      flex-direction: row;
      align-content: center;
      gap: 1em; }
    main.subscribe form div.wrap,
    main.unsubscribe form div.wrap {
      flex-wrap: wrap; }
    main.subscribe form label,
    main.unsubscribe form label {
      color: rgba(0, 0, 0, 0.9); }
    main.subscribe form input[type="email"],
    main.subscribe form input[type="text"],
    main.unsubscribe form input[type="email"],
    main.unsubscribe form input[type="text"] {
      background-color: rgba(0, 0, 0, 0.05);
      padding: 1em;
      flex-grow: 1;
      width: 220px; }
    main.subscribe form input[type="submit"],
    main.unsubscribe form input[type="submit"] {
      flex-grow: 1;
      font-size: 1.1em; }
    main.subscribe form #error,
    main.unsubscribe form #error {
      color: darkred;
      font-weight: bold; }
    main.subscribe form label[for="general_updates"],
    main.unsubscribe form label[for="general_updates"] {
      font-weight: bold; }

/* styles for the page that shows a single tale */
main.tale {
  /* the frontmatter contains the title, tags, and timestamp */
  /* list of tags */
  /* the next/previous navigator at the top of tales that are part of a series */
  /* the next/previous navigator at the bottom */ }
  main.tale div.frontmatter {
    padding-bottom: 50px; }
  main.tale dl {
    display: flex;
    flex-direction: row;
    gap: 7px; }
    main.tale dl a {
      font-weight: 400;
      line-height: 26px;
      color: rgba(0, 0, 0, 0.7);
      background-color: rgba(0, 0, 0, 0.05); }
  main.tale nav.top {
    font-family: "Palatino Linotype", sans-serif;
    font-variant: small-caps;
    font-weight: bold;
    font-size: 22px;
    line-height: 24px; }
  main.tale nav.bottom {
    /* grid with 2 rows, each 45px high, 2 columns of equal size, the rightmost cells are labelled "next" and "link" */
    display: flex;
    padding-top: 140px;
    justify-content: space-between; }
    main.tale nav.bottom div {
      display: flex;
      flex-direction: column;
      gap: 0.5em; }
      main.tale nav.bottom div strong {
        padding: 0.2em 0; }
    main.tale nav.bottom div:first-child {
      align-items: begin;
      text-align: left; }
    main.tale nav.bottom div:last-child {
      align-items: end;
      text-align: right; }

/* used to hide tales after the first 10 */
.hidden {
  display: none !important; }

/* for the home page */
main.home {
  /* styles for typography-style headings and timestamps */
  /* two-column layout on home page, tales on the left, featured/latest/tags/random on the right */
  /* this div contains the list of tales followed by the "show more" button */
  /* this div contains the random tale button, the featured and latest tales, and a list of tags */
  /* on mobile, remove the featured/tags/latest sidebar */ }
  main.home h1 {
    line-height: 1.3;
    font-family: "Source Serif 4", serif;
    font-weight: bolder;
    padding-bottom: 2em;
    text-align: center;
    letter-spacing: 0.1em; }
  main.home div.columns {
    display: flex;
    flex-flow: row wrap;
    gap: 20px; }
  main.home div.expandingtales {
    display: flex;
    flex-direction: column;
    width: 220px;
    flex-grow: 1;
    gap: 2em; }
  main.home div.taxonomy {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-left: 1px grey solid;
    padding: 20px;
    width: 220px; }
    main.home div.taxonomy h2 {
      font-size: 13pt;
      padding: 18px 0 6px; }
    main.home div.taxonomy a {
      font-size: 10.5pt;
      padding: 4px 0; }
  @media (max-width: 680px) {
    main.home div.taxonomy {
      display: none; } }
/* for the home page and the term page, both of which show lists of tales */
main.home,
main.term {
  /* this div contains just a list of tales */
  /* no bottom border for the last element in the list */
  /* styles for the tag buttons shown on the right of the list */ }
  main.home div.tales,
  main.term div.tales {
    display: flex;
    flex-direction: column; }
  main.home a.tale,
  main.term a.tale {
    border-bottom: lightgrey solid 1px;
    padding: 12px 6px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-family: "Palatino Linotype", serif;
    font-size: 1.2em; }
    main.home a.tale div,
    main.term a.tale div {
      display: flex;
      flex-direction: column;
      gap: 7px;
      align-items: end; }
      main.home a.tale div dl,
      main.term a.tale div dl {
        display: flex;
        flex-direction: row;
        gap: 7px; }
  main.home a.tale:hover,
  main.term a.tale:hover {
    background-color: rgba(0, 0, 0, 0.05); }
  main.home a.tale.last,
  main.term a.tale.last {
    border-bottom: none; }
  main.home dt,
  main.term dt {
    color: rgba(0, 0, 0, 0.7);
    font-size: 9pt; }
  main.home time,
  main.term time {
    color: rgba(0, 0, 0, 0.7);
    font-size: 9pt; }

/* for the term page showing a list of tales associated with a particular tag */
main.term h1 {
  padding-bottom: 50px; }

main.term div.tales {
  width: 100%; }

/* for the about page */
main.about {
  max-width: 600px; }
