/*
	Theme Name: Tasmanian Chamber Music Festival
	Description: Tasmanian Chamber Music Festival WordPress Theme
	Version: 1.1
	Author: Futago
	Author URI: http://futago.com.au
*/
/**
 * Breakpoints
 */
/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/
/**
 * Chivo
 **/
@import url("https://fonts.googleapis.com/css?family=Chivo:300,400,700,900|Source+Serif+Pro:400,600,700");
h1, h2, h3, h4 {
  font-family: "Chivo", sans-serif;
  font-weight: 900;
  margin: 1.414em 0 0.5em;
  line-height: 1.2; }

h1 {
  margin-top: 0;
  font-size: 2.441em; }

h2 {
  font-size: 1.953em; }

h3 {
  font-size: 1.563em; }

h4 {
  font-size: 1.25em; }

p {
  font-family: "Chivo", sans-serif;
  font-weight: 300; }

/*------------------------------------*\
    MAIN
\*------------------------------------*/
/* global box-sizing */
*, *:after, *:before {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale; }

/* html element 62.5% font-size for REM use */
html {
  font-size: 62.5%; }

body {
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: "Chivo", sans-serif;
  font-weight: 400;
  color: #574941; }
  body .background-image__canvas {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -99; }

/* clear */
.clear:before, .clear:after {
  content: " ";
  display: table; }

.clear:after {
  clear: both; }

.clear {
  *zoom: 1; }

img {
  max-width: 100%;
  vertical-align: bottom; }

a {
  color: #444444;
  text-decoration: none; }

a:hover {
  color: #444444; }

a:focus {
  outline: 0; }

a:hover, a:active {
  outline: 0; }

input:focus {
  outline: 0;
  border: 1px solid #04A4CC; }

.wrapper {
  background-color: rgba(255, 255, 255, 0.8);
  max-width: 1280px;
  margin: 0 auto;
  transition: padding 400ms;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .wrapper {
      padding: 0 20px; } }
  .wrapper::before {
    position: fixed;
    content: '';
    background: url("img/violin.png") no-repeat left center/contain;
    top: 0;
    left: calc(50vw - 925px);
    height: 100vh;
    width: 100%;
    z-index: -1; }
    @media (min-width: 30em) {
      .wrapper::before {
        left: calc(50vw - 530px); } }
    @media (min-width: 768px) {
      .wrapper::before {
        left: calc(50vw - 665px); } }
    @media (min-width: 1030px) {
      .wrapper::before {
        left: calc(50vw - 800px); } }
    @media (min-width: 80em) {
      .wrapper::before {
        left: calc(50vw - 925px); } }

/*------------------------------------*\
    MISC
\*------------------------------------*/
::selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none; }

::-webkit-selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none; }

::-moz-selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none; }

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

a img.alignnone {
  margin: 5px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.wp-caption {
  background: #FFF;
  border: 1px solid #F0F0F0;
  max-width: 96%;
  padding: 5px 3px 10px;
  text-align: center; }

.wp-caption.alignnone {
  margin: 5px 20px 20px 0; }

.wp-caption.alignleft {
  margin: 5px 20px 20px 0; }

.wp-caption.alignright {
  margin: 5px 0 20px 20px; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption .wp-caption-text,
.gallery-caption {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

/*Theme specific files go here*/
button, .btn {
  background: #FCFBF5;
  border: 1px solid #574941;
  min-height: 44px;
  padding: 1rem 2rem;
  font-family: "Chivo", sans-serif;
  font-weight: 300;
  font-size: 1.4rem;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.7px;
  margin: 0 0 1em;
  display: inline-block;
  text-decoration: none; }
  button:hover, button.hover, .btn:hover, .btn.hover {
    background: #E5D9D5; }
  button:active, button.active, .btn:active, .btn.active {
    background: #B38E82; }

img.cover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: none; }
  img.cover.taller {
    height: auto;
    width: 101%; }
  img.cover.wider {
    width: auto;
    height: 101%; }
  img.cover.equal {
    width: 100%;
    height: 101%; }

.cover-container {
  position: relative;
  overflow: hidden; }

.site-header {
  background: #F7F1E6;
  padding: 20px;
  width: 100%;
  position: relative;
  z-index: 9000;
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .site-header {
      padding: 0 1em 20px 0; } }
  @media screen and (min-width: 1030px) {
    .site-header {
      margin-bottom: 20px; } }
  .site-header__church {
    position: absolute;
    width: 180px;
    height: 100%;
    display: none;
    overflow: hidden; }
    @media screen and (min-width: 768px) {
      .site-header__church {
        display: block; } }
    .site-header__church img {
      position: absolute;
      top: 60%;
      left: 40%;
      width: 75%;
      height: auto;
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 810px) {
        .site-header__church img {
          top: 45%; } }
  .site-header__logo {
    max-width: 300px; }
  .site-header__identity-container {
    border-left: 2px solid #BA9695;
    padding-left: 10px;
    position: relative;
    margin-left: 7px;
    display: flex;
    flex-flow: column nowrap;
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      .site-header__identity-container {
        flex-flow: row wrap;
        justify-content: space-between;
        margin: 0 0 20px 150px;
        top: 20px; } }
    .site-header__identity-container:before {
      content: "";
      width: 2px;
      height: 100%;
      background-color: #BA9695;
      display: block;
      position: absolute;
      left: -7px; }
  .site-header__tag-line {
    font-family: "Chivo", sans-serif;
    font-weight: 400;
    font-size: 1.8rem;
    width: 330px;
    margin: 20px 0 10px;
    text-transform: uppercase; }
    .site-header__tag-line:first-line {
      font-weight: 900; }
    @media screen and (min-width: 840px) {
      .site-header__tag-line {
        margin-top: 0;
        text-align: right; } }

.facebook, .instagram, .twitter {
  width: 30px;
  position: absolute;
  right: 100px;
  bottom: 55px;
  display: none; }
  @media (min-width: 768px) {
    .facebook, .instagram, .twitter {
      display: block; } }
  @media (max-width: 768px) {
    .facebook, .instagram, .twitter {
      bottom: inherit;
      top: 20px; } }
  .facebook a, .instagram a, .twitter a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: -1000000px; }

.instagram {
  width: 30px;
  position: absolute;
  right: 60px;
  bottom: 55px; }
  @media (max-width: 768px) {
    .instagram {
      bottom: inherit;
      top: 20px; } }
  .instagram a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: -1000000px; }

.twitter {
  width: 30px;
  position: absolute;
  right: 20px;
  bottom: 55px; }
  @media (max-width: 768px) {
    .twitter {
      bottom: inherit;
      top: 20px; } }
  .twitter a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: -1000000px; }

.mobile-img {
  position: absolute;
  height: 80%;
  width: 100%;
  bottom: 0;
  right: 0px;
  overflow: hidden;
  z-index: -1; }
  .mobile-img img {
    position: absolute;
    transform: scale(1.2);
    right: -10px;
    top: 40px;
    height: 100%;
    width: auto; }
  @media (min-width: 768px) {
    .mobile-img {
      display: none; } }

.burger, .cross {
  width: 24px;
  height: 24px;
  right: 20px;
  top: 20px;
  text-indent: -100000px; }

.burger {
  position: absolute;
  background: url("img/burger.svg") no-repeat center center/contain; }
  @media (min-width: 768px) {
    .burger {
      display: none; } }

.cross {
  position: fixed;
  z-index: 1000;
  background: url("img/cross.svg") no-repeat center center/contain;
  display: none; }

.cross-active {
  display: block; }

.sponsors {
  margin: 10px 0;
  background: #EDE4E1;
  position: relative;
  padding: 20px 15px; }
  @media screen and (min-width: 768px) {
    .sponsors {
      padding: 40px; } }
  @media screen and (min-width: 1030px) {
    .sponsors {
      margin-top: 20px; } }
  .sponsors__title {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 3.4rem;
    color: #5D5855;
    margin: 0 0 20px;
    padding-bottom: 0.35em;
    border-bottom: 1px solid #5D5855; }
    @media screen and (min-width: 1030px) {
      .sponsors__title {
        margin-bottom: 40px; } }
  .sponsors p {
    font-family: "Chivo", sans-serif;
    font-weight: 300; }
  .sponsors__sponsor-logo-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: column wrap;
    justify-content: center; }
    @media screen and (min-width: 768px) {
      .sponsors__sponsor-logo-list {
        flex-flow: row wrap;
        justify-content: flex-start; } }
  .sponsors__sponsor-logo {
    margin: 0 auto 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 120px; }
    @media screen and (min-width: 768px) {
      .sponsors__sponsor-logo {
        margin: 0 20px 0 0;
        min-width: 120px;
        max-width: 120px;
        max-height: inherit; }
        .sponsors__sponsor-logo:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 1030px) {
      .sponsors__sponsor-logo {
        margin-right: 40px; }
        .sponsors__sponsor-logo:last-child {
          margin-right: 0; } }
    .sponsors__sponsor-logo img {
      max-height: 90px; }

.footer {
  padding: 45px 15px 20px;
  background-color: #5D5855;
  color: #FCFBF5;
  display: flex;
  flex-flow: column wrap; }
  @media screen and (min-width: 1030px) {
    .footer {
      flex-flow: row nowrap;
      justify-content: space-between; } }
  .footer__copyright {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    margin: 0 0 1em;
    text-align: center; }
    @media screen and (min-width: 1030px) {
      .footer__copyright {
        margin-bottom: 0; } }
    .footer__copyright a {
      color: #FCFBF5;
      text-decoration: underline; }
  .footer__menu.menu {
    font-family: "Chivo", sans-serif;
    font-weight: 400;
    justify-content: center; }
    @media screen and (min-width: 1030px) {
      .footer__menu.menu {
        justify-content: flex-end; } }
    .footer__menu.menu li {
      border-color: #FCFBF5; }
      .footer__menu.menu li a {
        color: #FCFBF5; }

.menu {
  position: fixed;
  width: 100vw;
  height: 100vh;
  left: -100vw;
  top: 0;
  background: #BA9695;
  margin: 0;
  list-style: none;
  z-index: 900;
  padding: 0;
  padding-top: 100px;
  opacity: 0;
  transition: left 0s linear 400ms, opacity 400ms; }
  @media (min-width: 768px) {
    .menu {
      opacity: 1;
      padding-top: 0;
      position: relative;
      width: inherit;
      height: inherit;
      left: inherit;
      top: inherit;
      display: flex;
      background: transparent;
      width: 100%;
      justify-content: center;
      align-items: center; } }
  @media screen and (min-width: 768px) {
    .menu {
      justify-content: flex-end; } }
  .menu li {
    font-family: "Chivo", sans-serif;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    font-size: 24px;
    padding-top: 30px; }
    .menu li a {
      color: #FCFBF5;
      text-decoration: underline; }
    @media (min-width: 768px) {
      .menu li {
        font-size: 1.2rem;
        color: #574941;
        letter-spacing: 0.75px;
        border-right: 1px solid #574941;
        flex-flow: row nowrap;
        padding: 0 1.5em;
        transition: all 400ms; }
        .menu li a {
          color: inherit; } }
    @media screen and (min-width: 1030px) {
      .menu li {
        font-size: 1.4rem; } }
    .menu li:first-of-type {
      padding-left: 0; }
    .menu li:last-of-type {
      border-right: none;
      padding-right: 0; }

.menu-active {
  left: 0;
  opacity: 1;
  transition: opacity 400ms; }

.content-wrapper {
  display: flex;
  flex-flow: column wrap; }
  @media screen and (min-width: 768px) {
    .content-wrapper {
      flex-flow: row nowrap; } }
  .content-wrapper main, .content-wrapper aside {
    margin-bottom: 10px; }
    @media screen and (min-width: 1030px) {
      .content-wrapper main, .content-wrapper aside {
        margin-bottom: 0; } }
  @media screen and (min-width: 768px) {
    .content-wrapper main {
      flex: 3; } }
  @media screen and (min-width: 1030px) {
    .content-wrapper main {
      flex: 2; } }
  @media screen and (min-width: 768px) {
    .content-wrapper aside {
      flex: 1; } }

main a {
  text-decoration: underline; }

.page-content {
  background-color: #F7F1E6;
  background-position: right top;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 40px;
  position: relative;
  margin-bottom: 10px; }
  @media screen and (min-width: 1030px) {
    .page-content {
      padding: 40px;
      margin-bottom: 20px;
      font-size: 1.8rem; } }
  @media screen and (min-width: 30em) {
    .page-content--concerts {
      background-image: url("img/flower-landing.png");
      background-position: right bottom; } }
  @media screen and (min-width: 30em) {
    .page-content--concerts {
      background-size: 217px 178px; } }
  @media screen and (min-width: 768px) {
    .page-content--concerts {
      background-size: 434px 356px; } }
  @media screen and (min-width: 30em) {
    .page-content--about-tcmf {
      background-position: right bottom; } }
  @media screen and (min-width: 768px) {
    .page-content--about-tcmf {
      background-size: 192px 256px; } }
  @media screen and (min-width: 30em) {
    .page-content--box-office-contact {
      background-image: url("img/red-flower.png");
      background-position: right bottom;
      background-size: 40%; } }
  @media screen and (min-width: 768px) {
    .page-content--box-office-contact {
      background-size: 445px 313px; } }
  @media screen and (min-width: 30em) {
    .page-content__title, .page-content__intro-copy {
      width: 65%; } }
  @media screen and (min-width: 768px) {
    .page-content__title, .page-content__intro-copy {
      width: 70%; } }
  @media screen and (min-width: 1030px) {
    .page-content__title, .page-content__intro-copy {
      width: 60%; } }
  .about-tcmf .page-content__title, .about-tcmf .page-content__intro-copy {
    width: 100% !important; }
  .page-content__title {
    border-bottom: 1px solid #574941;
    padding-bottom: 0.3em; }
  .page-content__sidebar {
    background-color: #F7F1E6;
    background-position: right bottom;
    background-image: url("img/glass-coloured.jpg");
    background-repeat: no-repeat;
    background-size: 192px 395px;
    padding: 30px 30px 435px;
    position: relative; }
    .page-content__sidebar h2 {
      font-family: "Chivo", sans-serif;
      font-weight: 300;
      margin: 0 0 0.35em;
      padding-bottom: 0.35em;
      font-size: 3.4rem;
      border-bottom: 1px solid #574941; }

.single-event__content {
  background-color: #F7F1E6;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 40px;
  position: relative;
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .single-event__content {
      background-image: url("img/flower-concert.png");
      background-size: 356px 400px; } }
  @media screen and (min-width: 1030px) {
    .single-event__content {
      padding: 40px;
      margin-bottom: 20px; } }

@media screen and (min-width: 30em) {
  .single-event__title, .single-event__intro-copy {
    width: 65%; } }

@media screen and (min-width: 768px) {
  .single-event__title, .single-event__intro-copy {
    width: 70%; } }

@media screen and (min-width: 1030px) {
  .single-event__title, .single-event__intro-copy {
    width: 60%; } }

.single-event__date {
  font-family: "Chivo", sans-serif;
  font-weight: 700; }

.single-event__availability {
  font-family: "Chivo", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  color: #BA9695;
  margin: 0; }

.single-event__title {
  border-bottom: 1px solid #574941;
  padding-bottom: 0.3em; }

.single-event__details {
  background-color: #F7F1E6;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 40px;
  position: relative;
  margin-bottom: 10px;
  display: flex;
  flex-flow: column wrap; }
  @media screen and (min-width: 768px) {
    .single-event__details {
      flex-flow: row nowrap; } }
  @media screen and (min-width: 1030px) {
    .single-event__details {
      padding: 40px;
      margin-bottom: 20px; } }

.single-event__biography {
  background-color: #F7F1E6;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 40px;
  position: relative;
  margin-bottom: 10px; }
  @media screen and (min-width: 1030px) {
    .single-event__biography {
      padding: 40px;
      margin-bottom: 20px; } }
  @media screen and (min-width: 768px) {
    .single-event__biography {
      position: relative;
      background-image: url("img/flower-concert-body.png");
      background-repeat: no-repeat;
      background-position: bottom right;
      background-size: 356px 600px; } }

.single-event__intro-copy h4 {
  margin-top: 0; }

.single-event__location {
  background-color: #F7F1E6;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 40px;
  position: relative;
  margin-bottom: 10px; }
  @media screen and (min-width: 1030px) {
    .single-event__location {
      padding: 40px;
      margin-bottom: 20px; } }

.single-event .details__performers, .single-event .details__program {
  flex: 0 auto; }
  @media screen and (min-width: 768px) {
    .single-event .details__performers, .single-event .details__program {
      flex: 1; } }
  .single-event .details__performers ul, .single-event .details__program ul {
    list-style: none;
    margin: 1em 0;
    padding: 0; }

.single-event .details__performers {
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .single-event .details__performers {
      margin-bottom: 0; } }

.single-event .details__title {
  font-family: "Chivo", sans-serif;
  font-weight: 300;
  font-size: 3.4rem;
  border-bottom: 1px solid #574941;
  margin: 0; }
  @media screen and (min-width: 768px) {
    .single-event .details__title {
      width: 70%; } }

.single-event .location__title {
  font-family: "Chivo", sans-serif;
  font-weight: 300;
  font-size: 3.4rem;
  border-bottom: 1px solid #574941;
  margin: 0; }
  @media screen and (min-width: 768px) {
    .single-event .location__title {
      width: 70%; } }

.single-event .post-navigation {
  background-color: #F7F1E6;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 20px;
  position: relative;
  margin-bottom: 10px; }
  @media screen and (min-width: 1030px) {
    .single-event .post-navigation {
      padding: 40px;
      margin-bottom: 20px; } }
  .single-event .post-navigation h2 {
    display: none; }
  .single-event .post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .single-event .post-navigation .nav-links .nav-previous, .single-event .post-navigation .nav-links .nav-next {
      position: relative;
      width: 50%; }
    .single-event .post-navigation .nav-links .nav-previous {
      padding-left: calc(23px + 20px); }
      @media screen and (min-width: 768px) {
        .single-event .post-navigation .nav-links .nav-previous {
          padding-left: calc(63px + 20px); } }
    .single-event .post-navigation .nav-links .nav-next {
      text-align: right;
      padding-right: calc(23px + 20px); }
      @media screen and (min-width: 768px) {
        .single-event .post-navigation .nav-links .nav-next {
          padding-right: calc(63px + 20px); } }
    .single-event .post-navigation .nav-links .prev-arrow {
      position: absolute;
      left: 0;
      top: 50%;
      transform: translate(0, -50%);
      height: 40px; }
      @media screen and (min-width: 768px) {
        .single-event .post-navigation .nav-links .prev-arrow {
          height: auto; } }
    .single-event .post-navigation .nav-links .next-arrow {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translate(0, -50%);
      height: 40px; }
      @media screen and (min-width: 768px) {
        .single-event .post-navigation .nav-links .next-arrow {
          height: auto; } }
    .single-event .post-navigation .nav-links .nav-text p {
      margin: 0; }
    .single-event .post-navigation .nav-links .nav-text .post-title, .single-event .post-navigation .nav-links .nav-text .nav-excerpt {
      display: none; }
      @media screen and (min-width: 768px) {
        .single-event .post-navigation .nav-links .nav-text .post-title, .single-event .post-navigation .nav-links .nav-text .nav-excerpt {
          display: block; } }
    .single-event .post-navigation .nav-links .nav-text .post-title {
      font-size: 1.8rem; }
    .single-event .post-navigation .nav-links .nav-text .meta-nav {
      font-weight: bold; }

.module {
  margin-bottom: 10px; }
  @media screen and (min-width: 1030px) {
    .module {
      margin-bottom: 20px; } }
  .module:last-of-type {
    margin-bottom: 0; }

.page-header {
  margin-bottom: 10px; }
  @media screen and (min-width: 1030px) {
    .page-header {
      margin-bottom: 20px; } }
  .page-header__slider {
    margin: 0;
    padding: 0; }
    .page-header__slider .slick-dots {
      position: absolute;
      bottom: 13px;
      right: 20px;
      width: auto; }
      .page-header__slider .slick-dots button {
        background-color: rgba(252, 251, 245, 0.7);
        border: 1px solid #B38E82;
        height: 10px;
        width: 10px;
        margin: 0;
        padding: 0;
        text-indent: -10000px;
        min-height: 0;
        border-radius: 50%; }
      .page-header__slider .slick-dots li {
        margin: 0;
        padding-right: 10px; }
        .page-header__slider .slick-dots li.slick-active button {
          background-color: #B38E82; }
  .page-header__slide {
    position: relative;
    display: block; }
    .page-header__slide .cover-container {
      position: relative;
      min-height: 250px;
      height: 40vw; }
      @media screen and (min-width: 1030px) {
        .page-header__slide .cover-container {
          max-height: 500px; } }
    .page-header__slide:focus {
      outline: none; }
    .page-header__slide img {
      width: 100%; }
  .page-header__caption {
    background-color: rgba(186, 150, 149, 0.89);
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 3.4rem;
    color: #FBF9ED;
    line-height: 1.17;
    margin: 0;
    padding: 20px;
    letter-spacing: 0;
    position: relative; }
    @media screen and (min-width: 768px) {
      .page-header__caption {
        padding: 40px;
        width: 50%;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: rgba(186, 150, 149, 0.89); } }
    @media screen and (min-width: 1030px) {
      .page-header__caption {
        width: 33.3333%; } }
  .page-header__content {
    background-color: rgba(186, 150, 149, 0.89);
    margin: 0;
    padding: 20px;
    letter-spacing: 0;
    line-height: 1.3; }
    @media screen and (min-width: 768px) {
      .page-header__content {
        padding: 20px;
        width: 50%;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: rgba(186, 150, 149, 0.89); } }
    @media screen and (min-width: 1030px) {
      .page-header__content {
        width: 33.3333%; } }
    .page-header__content h2 {
      font-family: "Chivo", sans-serif;
      font-weight: 300;
      font-size: 3.4rem;
      color: #FBF9ED;
      line-height: 1.17;
      margin: 0 0 1rem; }
    .page-header__content p {
      font-family: "Chivo", sans-serif;
      font-weight: 300;
      color: #FBF9ED;
      line-height: 1.3;
      margin-bottom: 1em; }
      .page-header__content p:last-of-type {
        margin: 0; }
    .page-header__content .date-time {
      font-family: "Chivo", sans-serif;
      font-weight: 400;
      font-size: 1.8rem;
      line-height: 1.3;
      border-top: 1px solid #D8D8D8;
      padding-top: 17.5px; }
    .page-header__content hr {
      border: 1px solid #FBF9ED;
      height: 0;
      margin-bottom: 1em; }
    .page-header__content .date {
      font-family: "Chivo", sans-serif;
      font-weight: 400;
      margin-bottom: 1.6em; }
    .page-header__content .btn {
      text-align: center;
      line-height: 1.5;
      margin: 15px 0 0 0;
      background: #FCFBF5;
      border: 1px solid #574941; }
      .page-header__content .btn:hover, .page-header__content .btn.hover {
        background: #E5D9D5; }
      .page-header__content .btn:active, .page-header__content .btn.active {
        background: #B38E82; }

.image-article {
  display: flex;
  flex-flow: column wrap; }
  @media screen and (min-width: 768px) {
    .image-article {
      flex-flow: row nowrap; } }
  .image-article__article-image {
    height: 100vw;
    max-height: 375px;
    flex: 0 auto; }
    @media screen and (min-width: 768px) {
      .image-article__article-image {
        flex: 1;
        margin-right: 10px;
        max-height: none;
        height: auto; } }
    @media screen and (min-width: 1030px) {
      .image-article__article-image {
        margin-right: 20px; } }
  .image-article__content {
    background: #F7F1E6;
    padding: 20px 15px; }
    @media screen and (min-width: 768px) {
      .image-article__content {
        flex: 2;
        padding: 40px 110px 80px 40px; } }
    .image-article__content--has-background {
      background-repeat: no-repeat; }
  .image-article__title {
    color: #5D5855;
    margin-top: 0;
    font-size: 3.6rem; }
    .image-article__title + .image-article__copy {
      border-top: 1px solid #574941; }
  .image-article__subtitle {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 3.4rem;
    margin-top: 0; }
    .image-article__subtitle + .image-article__copy {
      border-top: 1px solid #574941; }
  .image-article__copy {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      .image-article__copy {
        font-size: 1.6rem;
        max-width: 610px; } }
    @media screen and (min-width: 1030px) {
      .image-article__copy {
        font-size: 1.8rem; } }
  .image-article__buttons {
    display: flex;
    flex-flow: column wrap; }
  .image-article__button {
    display: block;
    max-width: 250px; }
    @media screen and (min-width: 768px) {
      .image-article__button {
        max-width: none;
        display: inline-block;
        margin-right: 10px; } }
    @media screen and (min-width: 1030px) {
      .image-article__button {
        margin-right: 20px; }
        .image-article__button:last-of-type {
          margin-right: 0; } }

.festival-program {
  background: rgba(186, 150, 149, 0.22);
  padding: 20px 24px 84px;
  position: relative; }
  .festival-program--has-background {
    background-repeat: no-repeat; }
  .festival-program__title {
    color: #5D5855;
    margin: 0.46em 0 0.35em 0.58em;
    font-size: 3.3rem; }
    @media screen and (max-width: 768px) {
      .festival-program__title {
        margin: 0.22em 0 0.35em; } }
  .festival-program__subtitle {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    color: #5D5855;
    font-size: 3.0rem;
    border-bottom: 1px solid #5D5855;
    margin: 0 0 0.825em 0.58em;
    padding-bottom: 0.9em; }
    @media screen and (max-width: 768px) {
      .festival-program__subtitle {
        margin: 0 0 0.825em; } }
  .festival-program__butterfly {
    display: block;
    position: absolute;
    z-index: 400;
    transform: scale(0.5);
    top: 77px;
    right: 47px; }
    @media (max-width: 768px) {
      .festival-program__butterfly {
        display: none; } }
  .festival-program__days {
    display: flex;
    flex-flow: column wrap; }
    @media screen and (min-width: 768px) {
      .festival-program__days {
        flex-flow: row wrap; } }
  .festival-program__day {
    background-color: rgba(186, 150, 149, 0.33);
    margin-bottom: 20px;
    flex: 0 auto;
    padding: 20px 50px 20px 20px; }
    @media screen and (min-width: 768px) {
      .festival-program__day {
        flex: 1;
        margin: 0 10px 20px; }
        .festival-program__day:first-child {
          margin-left: 0;
          padding-left: 20px; }
        .festival-program__day:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 1030px) {
      .festival-program__day {
        flex: 1;
        padding: 20px 20px 20px 43px; } }
  .festival-program__day-title {
    font-family: "Chivo", sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    margin: 0 0 0.2em; }
  .festival-program__day-subtitle {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 2rem;
    margin: 0 0 0.75em;
    padding-bottom: 0.75em;
    border-bottom: 1px solid #574941; }
  .festival-program__event {
    display: block; }
  .festival-program__event-title {
    font-family: "Chivo", sans-serif;
    font-weight: 400;
    font-size: 2rem;
    color: #574941;
    text-decoration: underline;
    margin: 0; }
    @media screen and (max-width: 768px) {
      .festival-program__event-title {
        font-size: 1.6rem; } }
  .festival-program__availability {
    font-family: "Chivo", sans-serif;
    font-weight: 700;
    font-size: 2rem;
    color: #574941;
    margin: 5px 0 5px 0; }
    @media screen and (max-width: 768px) {
      .festival-program__availability {
        font-size: 1.6rem; } }
  .festival-program__event-excerpt {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 2rem;
    color: #574941;
    margin: 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .festival-program__event-excerpt {
        font-size: 1.6rem; } }
    .festival-program__event-excerpt:last-child {
      margin-bottom: 0; }
  .festival-program__button {
    right: 20px;
    bottom: 20px;
    display: block;
    max-width: 250px;
    position: absolute;
    margin: 0; }
    @media screen and (max-width: 768px) {
      .festival-program__button {
        left: 24px; } }

.email-signup-form {
  background: #F7F1E6;
  padding: 20px 15px 84px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .email-signup-form {
      height: 510px;
      background: #F7F1E6 url("img/right-flower.png") right top no-repeat;
      padding-left: 40px; } }
  .email-signup-form__title {
    color: #5D5855;
    margin-top: 0;
    font-size: 3.6rem; }
    @media screen and (min-width: 768px) {
      .email-signup-form__title {
        width: 80%; } }
    @media screen and (min-width: 1030px) {
      .email-signup-form__title {
        width: 70%; } }
    .email-signup-form__title + .email-signup-form__content {
      border-top: 1px solid #574941;
      padding-top: 1em; }
  .email-signup-form__subtitle {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 3.4rem;
    margin-top: 0; }
    @media screen and (min-width: 768px) {
      .email-signup-form__subtitle {
        width: 80%; } }
    @media screen and (min-width: 1030px) {
      .email-signup-form__subtitle {
        width: 70%; } }
    .email-signup-form__subtitle + .email-signup-form__content {
      border-top: 1px solid #574941;
      padding-top: 1em; }
  .email-signup-form__content {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      .email-signup-form__content {
        width: 80%; } }
    @media screen and (min-width: 1030px) {
      .email-signup-form__content {
        width: 70%; } }
    @media screen and (min-width: 768px) {
      .email-signup-form__content {
        font-size: 1.6rem; } }
    @media screen and (min-width: 1030px) {
      .email-signup-form__content {
        font-size: 1.8rem; } }
  .email-signup-form__form {
    display: flex;
    flex-flow: column wrap; }
    @media screen and (min-width: 768px) {
      .email-signup-form__form {
        flex-flow: row nowrap;
        width: 80%; } }
    @media screen and (min-width: 1030px) {
      .email-signup-form__form {
        width: 70%; } }
    .email-signup-form__form input {
      font-family: "Chivo", sans-serif;
      font-weight: 400; }
  .email-signup-form__form-column {
    flex: 0 auto;
    position: relative; }
    @media screen and (min-width: 768px) {
      .email-signup-form__form-column {
        flex: 1;
        margin-right: 30px; }
        .email-signup-form__form-column:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 1030px) {
      .email-signup-form__form-column {
        margin-right: 55px; }
        .email-signup-form__form-column:last-child {
          margin-right: 0; } }
  .email-signup-form__text-input {
    flex: 1;
    background: #ffffff;
    border: 1px solid #574941;
    color: #574941;
    width: 100%;
    margin-bottom: 20px;
    padding: 0.75em 1.4em;
    font-size: 1.4rem; }
    .email-signup-form__text-input::placeholder {
      color: rgba(87, 73, 65, 0.5); }
    .email-signup-form__text-input:focus {
      border-color: #bdafa7; }
    @media screen and (min-width: 768px) {
      .email-signup-form__text-input:last-child {
        margin-bottom: 0; } }
  .email-signup-form__submit-btn {
    width: 100%;
    padding: 0.75em 1.4em;
    font-size: 1.4rem;
    color: #ffffff;
    text-transform: uppercase;
    background-color: #5E544B;
    border: 1px solid #574941; }
    @media screen and (min-width: 768px) {
      .email-signup-form__submit-btn {
        position: absolute;
        bottom: 0;
        margin-bottom: 0; } }

.sponsors-list {
  background: #EDE4E1;
  padding: 20px 15px 84px;
  position: relative; }
  @media screen and (min-width: 1030px) {
    .sponsors-list {
      padding: 40px; } }
  .sponsors-list--has-background {
    background-repeat: no-repeat; }
  .sponsors-list__title {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 3.4rem;
    color: #5D5855;
    margin: 0 0 20px;
    padding-bottom: 0.35em;
    border-bottom: 1px solid #5D5855; }
    @media screen and (min-width: 1030px) {
      .sponsors-list__title {
        margin-bottom: 0; } }
  .sponsors-list__list {
    list-style: none;
    margin: 0;
    padding: 0; }
  .sponsors-list__list-item {
    background-color: rgba(255, 255, 255, 0.65);
    margin-bottom: 10px;
    padding: 20px; }
    .sponsors-list__list-item:nth-last-child() {
      margin-bottom: 0; }
    @media screen and (min-width: 1030px) {
      .sponsors-list__list-item {
        margin-bottom: 20px;
        padding: 40px; } }
  .sponsors-list .sponsor {
    display: flex;
    flex-flow: column wrap; }
    @media screen and (min-width: 768px) {
      .sponsors-list .sponsor {
        flex-flow: row nowrap; } }
    .sponsors-list .sponsor__column {
      flex: 0 auto; }
      @media screen and (min-width: 768px) {
        .sponsors-list .sponsor__column {
          flex: 1;
          margin-right: 20px; } }
      @media screen and (min-width: 1030px) {
        .sponsors-list .sponsor__column {
          flex: 1;
          margin-right: 40px; } }
      @media screen and (min-width: 768px) {
        .sponsors-list .sponsor__column:nth-of-type(2n) {
          flex: 2; } }
    .sponsors-list .sponsor__title {
      margin: 0;
      padding: 0 0 0.3em;
      border-bottom: 1px solid #574941;
      min-width: 70%;
      display: inline-block; }
    .sponsors-list .sponsor__content p:first-child {
      margin-top: 0.5em; }
    .sponsors-list .sponsor__link {
      text-decoration: underline; }

.event-excerpt {
  position: relative;
  display: flex;
  flex-flow: column wrap;
  z-index: 1;
  background: #F7F1E6;
  padding: 10px; }
  @media screen and (min-width: 768px) {
    .event-excerpt {
      flex-flow: row nowrap; } }
  @media screen and (min-width: 1030px) {
    .event-excerpt {
      padding: 20px; } }
  .event-excerpt__article-image {
    height: 100vw;
    max-height: 375px;
    flex: 0 auto; }
    @media screen and (min-width: 768px) {
      .event-excerpt__article-image {
        flex: 1;
        margin-right: 10px;
        max-height: none;
        height: auto; } }
    @media screen and (min-width: 1030px) {
      .event-excerpt__article-image {
        margin-right: 20px; } }
  .event-excerpt__content {
    padding: 20px 15px;
    background-color: rgba(255, 255, 255, 0.65); }
    @media screen and (min-width: 768px) {
      .event-excerpt__content {
        flex: 2;
        padding: 40px 110px 80px 40px; } }
    .event-excerpt__content--has-background {
      background-repeat: no-repeat; }
  .event-excerpt__background-image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1; }
    .event-excerpt__background-image img {
      position: absolute;
      bottom: 0;
      right: 0; }
      @media screen and (min-width: 30em) {
        .event-excerpt__background-image img {
          display: none; } }
      @media screen and (min-width: 768px) {
        .event-excerpt__background-image img {
          display: block; } }
  .event-excerpt__title {
    color: #5D5855;
    margin-top: 0;
    font-size: 2.4rem; }
    .event-excerpt__title + .event-excerpt__copy {
      border-top: 1px solid #574941; }
  .event-excerpt__subtitle {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 2rem;
    margin-top: 0; }
    .event-excerpt__subtitle + .event-excerpt__copy {
      border-top: 1px solid #574941; }
  .event-excerpt__availability {
    font-family: "Chivo", sans-serif;
    font-weight: 700;
    font-size: 2rem;
    color: #BA9695;
    border-bottom: 1px solid #574941;
    padding-bottom: 10px; }
    @media screen and (min-width: 768px) {
      .event-excerpt__availability {
        font-size: 1.8rem; } }
  .event-excerpt__copy {
    font-family: "Chivo", sans-serif;
    font-weight: 400;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      .event-excerpt__copy {
        font-size: 1.6rem; } }
    @media screen and (min-width: 1030px) {
      .event-excerpt__copy {
        font-size: 1.8rem; } }
  .event-excerpt__date {
    font-family: "Chivo", sans-serif;
    font-weight: 700; }
  .event-excerpt__buttons {
    display: flex;
    flex-flow: column wrap; }
    @media screen and (min-width: 768px) {
      .event-excerpt__buttons {
        flex-flow: row wrap; } }
  .event-excerpt__button {
    display: block;
    max-width: 250px; }
    @media screen and (min-width: 768px) {
      .event-excerpt__button {
        max-width: none;
        display: inline-block;
        margin-right: 10px; } }
    @media screen and (min-width: 1030px) {
      .event-excerpt__button {
        margin-right: 20px; }
        .event-excerpt__button:last-of-type {
          margin-right: 0; } }

.location_without_map {
  background-color: #F7F1E6;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 40px;
  position: relative;
  margin-bottom: 10px; }
  .location_without_map_row {
    width: 100%; }
    @media (min-width: 768px) {
      .location_without_map_row {
        display: flex;
        width: 100%;
        justify-content: space-between; } }
    @media (min-width: 768px) {
      .location_without_map_row > section {
        width: 50%;
        margin-left: 20px; }
        .location_without_map_row > section:nth-child(1) {
          margin-left: 0; } }
  @media screen and (min-width: 1030px) {
    .location_without_map {
      padding: 40px;
      margin-bottom: 20px; } }
  .location_without_map__title {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 3.4rem;
    border-bottom: 1px solid #574941;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .location_without_map__title {
        width: 70%; } }
  @media screen and (min-width: 1030px) {
    .location_without_map__content {
      font-size: 1.8rem; } }

.location_map {
  padding-bottom: 480px !important;
  background-color: #F7F1E6;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 20px 15px 40px;
  position: relative;
  margin-bottom: 10px; }
  .location_map_row {
    width: 100%; }
    @media (min-width: 768px) {
      .location_map_row {
        display: flex;
        width: 100%;
        justify-content: space-between; } }
    @media (min-width: 768px) {
      .location_map_row > section {
        width: 50%;
        margin-left: 20px; }
        .location_map_row > section:nth-child(1) {
          margin-left: 0; } }
  @media screen and (min-width: 1030px) {
    .location_map {
      padding: 40px;
      margin-bottom: 20px; } }
  .location_map__title {
    font-family: "Chivo", sans-serif;
    font-weight: 300;
    font-size: 3.4rem;
    border-bottom: 1px solid #574941;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .location_map__title {
        width: 70%; } }
  @media screen and (min-width: 1030px) {
    .location_map__content {
      font-size: 1.8rem; } }

.module.archive {
  background: #F7F1E6; }

.archive {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  width: 100%;
  padding: 0 25px 25px 25px; }
  @media (max-width: 768px) {
    .archive {
      flex-direction: column;
      width: 100%; } }
  .archive__heading {
    background: #F7F1E6; }
    .archive__heading h2 {
      padding: 40px;
      margin: 0; }
      @media (max-width: 768px) {
        .archive__heading h2 {
          padding: 20px 15px; } }
  .archive__content {
    width: calc(33.33% - 20px);
    background: #F7F1E6;
    margin: 0 30px 20px 0; }
    @media (max-width: 768px) {
      .archive__content {
        width: 100%; } }
    .archive__content:nth-of-type(3n - 3) {
      margin-right: 0; }
    .archive__content:last-of-type {
      margin: 0; }
    .archive__content .content-wrapper {
      display: flex;
      flex-direction: column; }
      .archive__content .content-wrapper .image {
        box-shadow: 0px 0px 20px -1px rgba(0, 0, 0, 0.6); }
      .archive__content .content-wrapper p {
        font-family: "Chivo", sans-serif;
        font-weight: 700;
        text-align: center; }

.home .image-article__content {
  padding-bottom: 80px !important; }
  @media (min-width: 30em) {
    .home .image-article__content {
      padding: 40px; } }
  .home .image-article__content .image-article__copy {
    font-size: 16px;
    max-width: inherit; }

.acf-map {
  width: calc(100% - 80px);
  height: 400px;
  position: absolute !important;
  bottom: 40px !important; }

/* fixes potential theme css conflict */
.acf-map img {
  max-width: inherit !important; }

/*Implemented last to ensure this is always dominant style*/
/*------------------------------------*\
    PRINT
\*------------------------------------*/
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr, img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }
