@import url('normalize.css');
*,
*::before,
*::after {
  box-sizing: border-box;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol {
  margin: 0;
  padding: 0;
}
h2,
h3 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.625rem;
}
h2 > img,
h3 > img {
  margin-top: 1.3125rem;
  vertical-align: bottom;
}
h2::after {
  display: block;
  content: '-';
}
a {
  color: #231f20;
  text-decoration: none;
}
a img {
  border: 0;
  vertical-align: bottom;
}
iframe {
  border: none;
}
html {
  font-family: Helvetica, sans-serif;
  font-size: 16px;
  background: #fff;
  color: #231f20;
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 20px;
  }
}
body {
  padding: 0 0.625rem 1.3125rem;
  line-height: 1.3125rem;
}
@media screen and (min-width: 1200px) {
  body {
    width: 75rem;
    margin: 0 auto;
  }
}
body.debug {
  background: url('grid.png') repeat;
}
body > header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column nowrap;
      flex-flow: column nowrap;
  padding: 1.3125rem 0;
  border-bottom: 0.5625rem solid;
  font-family: Georgia, serif;
}
@media screen and (min-width: 900px) {
  body > header {
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }
}
body > header > h1 {
  margin-right: 1rem;
  font-family: Helvetica, sans-serif;
  font-weight: bold;
  font-size: 1rem;
}
body > header > h1 span {
  display: block;
  font-family: Georgia, serif;
  font-size: 0.875rem;
  font-weight: normal;
  font-style: italic;
  color: #8e256e;
}
body > header > ul {
  display: none;
  list-style-type: none;
}
@media screen and (min-width: 600px) {
  body > header > ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
  }
}
@media screen and (min-width: 900px) {
  body > header > ul {
    -ms-flex: 0 1 70%;
        flex: 0 1 70%;
  }
}
body > header > ul li {
  padding-top: 1.3125rem;
}
body > header .menu-toggle {
  position: absolute;
  top: 1.3125rem;
  right: 0;
  width: 2.625rem;
  height: 2.625rem;
  border: 0 none;
  padding: 0;
  background: linear-gradient(to bottom, #000000 20%, transparent 20%, transparent 40%, #000000 40%, #000000 60%, transparent 60%, transparent 80%, #000000 80%);
}
@media screen and (min-width: 600px) {
  body > header .menu-toggle {
    display: none;
  }
}
body > main {
  margin-top: 0.75rem;
}
body > main.about {
  max-width: 50rem;
}
.home-featured {
  position: relative;
  display: block;
  margin-bottom: 1.3125rem;
}
@media screen and (min-width: 600px) {
  .home-featured {
    float: left;
    width: calc(50% - 0.675rem);
  }
  .home-featured:nth-child(even) {
    float: right;
  }
}
.home-featured::before {
  display: block;
  padding-top: 47%;
  content: '';
}
.home-featured > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home-featured > div {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.5rem;
  background-color: #fff;
}
.home-featured > div > h2 {
  line-height: 2.625rem;
  font-size: 2.25rem;
}
.home-featured > div > h2::before {
  display: block;
  line-height: 1.3125rem;
  font-family: Georgia, serif;
  font-size: 1rem;
  font-weight: normal;
  font-variant: small-caps;
  content: attr(data-label);
}
.home-featured > div > h2::after {
  display: none;
}
.home-featured:hover > div,
.home-featured:focus > div {
  display: block;
}
@supports (display: grid) {
  .home {
    display: grid;
    grid-gap: 1.3125rem 1.25rem;
  }
  @media screen and (min-width: 600px) {
    .home {
      grid-template-columns: 1fr 1fr;
    }
  }
  .home-featured {
    width: auto;
    margin-bottom: 0;
  }
}
.index > ul {
  list-style-type: none;
}
.index.text > ul {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.625rem;
}
.index.text a img {
  vertical-align: baseline;
}
.index.text a:hover,
.index.text a:focus {
  color: #939598;
}
@media screen and (min-width: 600px) {
  .index.with-photos > ul {
    column-count: 2;
    column-gap: 1.25rem;
  }
}
@media screen and (min-width: 900px) {
  .index.with-photos > ul {
    column-count: 3;
  }
}
.index.with-photos > ul li {
  margin-bottom: 1.3125rem;
}
.index.with-photos > ul a {
  display: block;
  position: relative;
  font-weight: bold;
  opacity: 0.8;
  transition: opacity 0.25s ease;
}
.index.with-photos > ul a:hover,
.index.with-photos > ul a:focus {
  opacity: 1;
}
.index.with-photos > ul a > img {
  width: 100%;
}
.index.with-photos .item-placeholder {
  padding-top: 60%;
  background-color: #808285;
}
.index.with-photos .item-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.5rem 1rem;
  background-color: rgba(255, 255, 255, 0.75);
}
.item {
  margin-bottom: 1.3125rem;
}
@media screen and (min-width: 750px) {
  .item.art > .item,
  .item.exhibition > .item,
  .item.text > .item {
    float: left;
    width: calc(42% - 0.625rem);
  }
  .item.art > .item-photo-gallery,
  .item.exhibition > .item-photo-gallery,
  .item.text > .item-photo-gallery {
    float: right;
    width: calc(58% - 0.625rem);
  }
}
@media screen and (min-width: 750px) {
  .item.text > .item,
  .item.text > .item-photo-gallery {
    width: calc(50% - 0.625rem);
  }
}
@media screen and (min-width: 750px) {
  .item .item-navbar {
    grid-column: 1 / span 2;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }
}
.item .item-navbar > a {
  margin-top: 0;
  margin-bottom: 2.625rem;
}
.item h3 {
  color: #414042;
}
.item h3::after {
  display: block;
  content: '-';
}
.item > .description {
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 2.625rem;
  color: #414042;
}
.item-photo-gallery {
  position: relative;
  -ms-flex-item-align: start;
      align-self: start;
}
.item-photo-gallery::before {
  display: block;
  padding-top: 56.25%;
  padding-bottom: 3rem;
  content: '';
}
@supports (display: grid) {
  .item.art,
  .item.exhibition,
  .item.text {
    display: grid;
    grid-template-columns: auto;
    grid-gap: 0 1.25rem;
  }
  @media screen and (min-width: 750px) {
    .item.art,
    .item.exhibition,
    .item.text {
      grid-template-columns: 5fr 7fr;
    }
  }
  .item.art .item,
  .item.exhibition .item,
  .item.text .item,
  .item.art .item-photo-gallery,
  .item.exhibition .item-photo-gallery,
  .item.text .item-photo-gallery {
    width: auto;
    min-width: 0;
  }
  @media screen and (min-width: 750px) {
    .item.text {
      grid-template-columns: 1fr 1fr;
    }
  }
}
.item-photo-album > ul {
  list-style-type: none;
}
@media screen and (min-width: 600px) {
  .item-photo-album > ul {
    column-count: 2;
    column-gap: 1.25rem;
  }
}
@media screen and (min-width: 900px) {
  .item-photo-album > ul {
    column-count: 3;
  }
}
.item-photo-album > ul li {
  margin-bottom: 1.3125rem;
}
.item-photo-album > ul a {
  display: block;
}
.item-photo-album > ul a img,
.item-photo-album > ul a iframe {
  width: 100%;
}
.text {
  margin-bottom: 1.3125rem;
}
.text h3:not(.has-headline)::after {
  display: none;
}
.text-photos img {
  max-width: 100%;
}
.headline {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.625rem;
  margin-bottom: 2.625rem;
  color: #808285;
}
.text-content {
  font-weight: bold;
  color: #808285;
}
.text-content p {
  margin: 0.875rem 0;
}
#galleria {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}
.contact {
  display: grid;
  grid-template-columns: auto;
  grid-gap: 1.3125rem 1.25rem;
}
@media screen and (min-width: 750px) {
  .contact {
    grid-template-columns: 5fr 7fr;
  }
}
.contact-info {
  font-weight: bold;
}
.return-link {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.625rem;
  display: inline-block;
  margin-top: 2.625rem;
  text-transform: lowercase;
}
@media screen and (min-width: 750px) {
  .return-link {
    grid-column: 1 / span 2;
  }
}
.return-link > img {
  vertical-align: baseline;
}
