/*

COLOR PALLETE
Red: #86a46b
Main Color: #86a46b
Grey: #7a7b7b


FONT STYLES
Jumbo: 96px/.958em NeueHaasGrotesk, sans-serif;
Large: 32px/1em NeueHaasGrotesk, sans-serif;
Medium:	18px/1.33em NeueHaasGrotesk, sans-serif;
Small: 14.5pt/1.24em NeueHaasGrotesk, sans-serif;

*/


/*

CSS DIRECTORY
1. Global
2. Layout
3. Page Parts
4. Components
5. Sections and Pages

*/


/* --- GLOBAL --- */

/* Clears */

html, body {
  overflow-x:hidden;
  overflow-y: scroll;
}

html {
  height:100%;
}

*, *:before, *:after {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
  font-style: normal;
	border: 0px solid;
	-webkit-font-smoothing: antialiased;
  -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	list-style: none;
	line-height: inherit;
  color: inherit;
  text-align: inherit;
  text-decoration: none;
  border-collapse: collapse;
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  transition: opacity .25s;
}

a img {
  display: block;
}

/* Type */

.coloredSVG {
  fill: red !important;
}

body {
	font: 18px/24px 'Haas Grot Text Web', sans-serif;
	color: #000;
  background: #F2F2F2;
	margin: 0 0;
  font-feature-settings: "liga", "kern";
}

h1 {

}

h2 {
  margin-bottom: .33em;
}

main section h1,
main section h2 {
  display: none;
}

h3, h4 {
  margin-bottom: 1em;
}


h6 .weak {
  display: block;
}

p,
blockquote {
  margin-bottom: 1em;
}

blockquote cite,
blockquote p {
  display: inline;
}

blockquote p:last-of-type {
  margin-bottom: 0;
}

blockquote:first-of-type cite {
  margin-top: 1em;
  display: block;
}

blockquote cite:before {
}

blockquote cite:after {
}

blockquote:first-of-type cite:before,
blockquote:first-of-type cite:after {
}


p:last-child {
  margin-bottom: 0;
}

p + blockquote {
  margin-top: 1.5em;
}

em {
  font-style: italic;
}

.weak {
  color: #7a7b7b;
}

.callout {
  border: 1px solid;
  padding: .25em .5em;
  margin-bottom: 24px;
  display: inline-block;
  color: #000;
}

.callout:hover,
.callout:focus {
  border: 1px solid;
}

sup {
  vertical-align: unset;
}

strong,
blockquote:first-of-type,
.colored {
  color: #86a46b;
  color: var(--site-color);
}

main [style] {
  xcolor: red !important;
}


/* Type Sizing */
/* In one placefor Consistency  */

.jumbo,
h2,
#featured {
  font-family: inherit;
  font-size: 96px;
  line-height: .958em;
}

.big,
h3,
h4,
nav,
footer .address,
.films #details .©,
.films #details,
.screenings,
dl dt {
  font-size: 32px;
  line-height: 32px;
}

.medium,
#screenings li,
main .callout + blockquote:first-of-type,
main blockquote:first-of-type:first-child,
.films #description span.film,
#events li  {
  font-size: 24px;
  line-height: 28px;
  display: inherit;
}

main .film {
  display: none;
}

.base,
dl dt .base,
#breadcrumbs,
.trimmed .screenings,
blockquote cite,
.big .seriesBlurb,
#events li p,
.screeningNotes,
x#details .filmAltTitle {
  font-size: 18px;
  line-height: 24px;
}

.small,
.callout,
.rows .seriesBlurb,
.education main .cell,
.about main .cell,
footer input,
#eventCalendar ol {
  font-size: 16px;
  line-height: 18px;
}

.smaller {
  font-size: 14px;
  line-height: 16px;
}

/* Forms */

input {
  font-family: 'Haas Grot Text Web', sans-serif;
}

input:focus {
  outline: none;
  border: none;
}

input.submit {
  cursor: pointer;
}

button {
  background: inherit;
  cursor: pointer;
}

button:focus {
  outline:0;
}

[type="radio"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px; margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

footer fieldset {
  overflow: hidden;
}

footer input,
footer input:focus {
  border: 1px solid;
  width: 70%;
  float: left;
  padding: .25em .5em;
}

footer input::placeholder {
  color: #000;
  opacity: 1;
}

footer input.submit {
  width: 20%;
  margin-left: 10%;
}


/* Tables */

table {
  text-align: left;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: .5em;
}

thead {
  border-bottom: 1px solid;
}

table tbody tr:first-child td {
  padding-top: .5em;
}

table th {
  padding: .5em .5em .5em 0;
  white-space: nowrap;
}

table td {
  padding-right: .5em;
  vertical-align: top;
}

table td:empty:after {
  content: '—';
}

.sortable .header {
  cursor: pointer;
}

th.header:after,
th.headerSortDown:after,
th.headerSortUp:after {
  content: '';
  width: 24px;
  height: 13px;
  background-color: transparent;
  background-position: top center;
  background-repeat: no-repeat;
  margin-left: .5em;
  display: inline-block;
  opacity: .3;
  background-image: url('/assets/images/site/sortDown.svg');
}

th.headerSortDown:after {
  opacity: 1;
  background-image: url('/assets/images/site/sortDown.svg');
}

th.headerSortUp:after {
  opacity: 1;
  background-image: url('/assets/images/site/sortUp.svg');
}

#tableFilms td:first-child {
  white-space: nowrap;
}


/* ---- LAYOUT ---- */

body.frozen {
  height: 100vh;
  overflow: hidden;
}

main, footer, header, #searchResults {
  width: calc(100vw - 50px);
  max-width: 1248px;
  margin: 0 auto;
}

header {
  width: 100%;
  max-width: 100%;
  z-index: 2000;
  position: relative;
}

#top {
  margin: 24px 24px;
  overflow: hidden;
}

main {
  margin-top: 30px;
  position: relative;
  -webkit-hyphens: none;
}

footer {
  margin-top: 48px;
  padding-top: 48px;
  background-color: #FFF;
}

footer:before { /* Full Width Backround */
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 100vw;
  background: #FFF;
  z-index: -1;
}

footer:after { /* Clear Footer */
  content: "";
  display: table;
  clear: both;
}


/* Columns & Rows */

.rows {
  clear: both;
  overflow: hidden;
}

.rows .cell {
  float: left;
}

.rows.two .cell {
  width: calc((100% - 98px) / 2);
}

.rows.two .cell:nth-child(odd) { /* left */
  margin-left: 0;
  margin-right: 48px;
  clear: left;
}

.rows.two .cell:nth-child(even) { /* right */
  margin-left: 48px;
  margin-right: 0px;
  /* clear: right; */
}

.rows.three .cell {
  width: calc((100% - 48px * 2) / 3);
  margin-left: 24px;
  margin-right: 24px;
}

.rows.three .cell:nth-child(3n+3) { /* right */
  margin-right: 0;
  /* clear: right; */
}

.rows.three .cell:nth-child(3n+1) { /* left */
  margin-left: 0;
  clear: left;
}

.rows.three .cell:nth-child(3n+2) { /* center */
}

.rows.three .cell:nth-child(n+4) {
  margin-top: 2em;
}

.cell img {
  width: 100%;
  display: block;
  margin-bottom: .5em;
}


/* ---- PAGE PARTS ---- */

/* Header and Nav */

header a:hover,
header a:focus {
  opacity: .5;
}

#nav.sidebar,
#navFooter {
  margin-bottom: 1em;
}

nav li.cal {
  margin-top: .5em;
}

/* Sidebars */

.sidebar {
  width: 450px;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100); /* Fix iOS VH Issues */
  position: fixed;
  top: 0;
  right: -450px;
  padding: 24px 24px;
  opacity: 0;
  transform: translateX(100%);
  transition: transform 1s cubic-bezier(.25,1,.25,1),opacity .25s linear;
}

.sidebar.active  {
  right: 0;
  opacity: .90;
  transform: translateZ(0);
}

.overlayVisible .sidebar.active {
  right: -450px;
}

.sidebar li a[href='/'] {
  font-size: 18px;
  line-height: 24px;
  opacity: 0;
  visibility: hidden;
  transition: visibility .5s, opacity 1s cubic-bezier(.79,0,.64,.79);
}

.sidebar.active li a[href='/'] {
  opacity: 1;
  visibility: visible;
}


/* Sidebar Icons */

#nav.active + #navIcons,
body.overlayVisible #navIcons {
  position: fixed;
}


/* Nav Sidebar */

#nav {
  background: rgba(0, 0, 0, .95);
  color: #FFF;
}

#nav .address {
  position: absolute;
  bottom: 24px;
  left: 24px;
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 0;
}

#nav li:first-child {
  margin-bottom: 200px;
  margin-top: -.25em; /* Accounting for Line Height */
}


/* Nav Icons */

#navIcons,
#cart .controlSidebar {
  position: absolute;
  right: 24px;
  top: 24px;
  z-index: 1000;
}

#navIcons li {
  display: inline-block;
}

#navIcons a,
.sidebar a.controlSidebar {
  text-indent: -1000em;
  overflow: hidden;
  width: 25px;
  height: 25px;
  display: inline-block;
  margin-left: 12px;
}

#navIcons a#showSearch {
  background: url('/assets/images/site/searchBlack.svg') center center no-repeat;
  background-size: contain;
}

.home #navIcons a#showSearch,
.series.entry #navIcons a#showSearch,
#nav.active + #navIcons a#showSearch,
body.overlayVisible #navIcons a#showSearch {
  background-image: url('/assets/images/site/searchWhite.svg');
}

#navIcons a#showCart {
  background: url('/assets/images/site/cartBlack.svg') center center no-repeat;
  background-size: contain;
  margin-right: 5px;
}

.home #navIcons a#showCart,
.series.entry #navIcons a#showCart,
#nav.active + #navIcons a#showCart,
body.overlayVisible #navIcons a#showCart {
  background-image: url('/assets/images/site/cartWhite.svg');
}


#navIcons a.controlSidebar {
  background: url('/assets/images/site/burgerBlack.svg') center center no-repeat;
  background-size: contain;
}

.home #navIcons a.controlSidebar,
.series.entry #navIcons a.controlSidebar {
  background-image: url('/assets/images/site/burgerWhite.svg');
}

#nav.active + #navIcons a.controlSidebar,
body.overlayVisible #navIcons a.controlSidebar {
  background: url('/assets/images/site/closeWhite.svg') center center no-repeat;
}

#cart a.controlSidebar {
  background: url('/assets/images/site/closeBlack.svg') center center no-repeat;
}

.cartVisible #navIcons {
  display: none;
}


/* Breadcrumbs */

#breadcrumbs {
  height: 48px;
  padding: 24px 0 0 24px;
}

#breadcrumbs li {
  display: inline-block;
}

#breadcrumbs li:before {
  content: ' – ';
}

#breadcrumbs li:first-child:before {
  content: none;
}


/* Overlay */

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  visibility: hidden;
  overflow-y: scroll;
  overflow-x: hidden;
  background: #000;
  color: #fff;
  opacity: 0;
  z-index: 1010;
  overflow-y: scroll;
  overflow-x: hidden;
  transition: .5s opacity;
}

#overlay:before {
  content: "The Cinematheque";
  color: #fff;
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 1020;
  display: block;
}

.overlayVisible #overlay {
  visibility: visible;
  opacity: .90;
}

.overlayVisible #overlay.lightbox {
  opacity: 1;
}

.overlayVisible #breadcrumbs {
  visibility: hidden;
}

#hideOverlay:before, #hideOverlay:after {
  background-color: #fff;
}

#overlay > div {
  xmargin: 250px auto;
}

body.overlayVisible #overlay > div,
#overlay.loaded > div {
  display: none;
}

#overlay .callout {
  color: #FFF;
}

.showOverlay {
  cursor: pointer;
}


/* Lightbox */

#showLightBox {
  position: absolute;
  z-index: 999;
  left: 0;
  top: 50px;
  height: calc(100% - 80px);
  width: 100%;
  text-indent: -100em;
  background: transparent;
  overflow: hidden;
  cursor: zoom-in;
}

#lightboxContent {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}


#lightboxContent > img,
#lightboxContent > div  {
  width: calc(100vw - 100px);
}



/* Search */

#overlay.search {
  color: #7a7b7b;

}

#overlay.search #searchForm,
#overlay.search #searchResults,
#overlay.lightbox #lightbox {
  display: block;
}

#searchField {
  height: 1.2em;
  width: 80vw;
  text-align: center;
  background: transparent;
  display: block;
  margin: 25vh auto 0 auto;
}

#searchForm input::selection {
  background: #e6e6e6;
}

#searchForm input::-moz-selection {
  background: #e6e6e6;
}

#searchSubmit {
    visibility: hidden;
}

#searchResults {
  background: #000;
  position: relative;
  z-index: 9999;
  margin-top: 0;
}

#searchResults li {
  margin-bottom: 1em;
}

#searchResults a {
  color: #FFF;
}

h4#resetSearch {
  cursor: pointer;
}

#searchResults h4 + .small {
  margin-top: 1em;
}


/* Cart */

#cart {
  height: calc(var(--vh, 1vh) * 100); /* Fix iOS VH Issues */
  position: fixed;
  top: 0;
  background: rgba(173, 173, 173);
  transform: translateX(100%);
  transition: transform 1s cubic-bezier(.25,1,.25,1),opacity .25s linear;
  z-index: 3000;
  padding: 25px 0;
}

#cart #agileContainer {
  height: calc(100vh - 120px);
  height: calc(var(--vh, 1vh) * 100 - 120px); /* Fix iOS VH Issues */
  width: 100%;
  margin-top: 50px;
  padding-top: 50px;
}

#cart iframe {
  height: 100%;
  width: 100%;
  display: none;
  z-index: 4000;
  background: rgba(173, 173, 173);
  position: relative;
}

#cart.active {
  right: 0;
  opacity: 1;
  transform: translateZ(0);
}

#cart.loaded iframe {
  display: block;
}

#hideCart {
  background: url('/assets/images/site/closeBlack.svg') center center no-repeat;
}

#cart a[href='/'] {
  margin-left: 25px;
}


/* Top Area */

#top {
  margin: 24px 24px;
  overflow: hidden;
}

#top > img,
#top > img + img {
  float: left;
  width: calc(50% - 24px);
  margin-top: 24px;
}

#top > img:first-child {
  margin-right: 48px;
}

#top > img:only-child {
  width: 100%;
  margin-right: 0 !important;
  margin-top: 0 !important;
}

.home #top,
.series.entry #top {
  margin: 0 0;
}


/* Main Content Area */

main:empty {
  display: none;
}

main:empty + footer {
  margin-top: 0;
}

main a {
  color: #86a46b;
  color: var(--site-color);
  border-bottom: 2px solid;
}

main a.medium {
  border-bottom: none;
}

main a:hover,
main a:focus,
main a:active {
  color: #000;
  border-bottom: none;
}

main .clickable a:hover,
main .clickable:hover,
main .donateCTA:hover,
main .clickable a:focus,
main .clickable:focus,
main .donateCTA:focus {
  opacity: .8;
}

main a h5 {
  color: #000;
}

main section {
  margin-top: 2em;
}

main section:first-child {
  margin-top: 0;
}

main section:empty {
  display: none;
}

main section:before {
  content: ' ';
  height: 1px;
  width: 500vw;
  background: #000;
  display: block;
  margin-left: -100vw;
  margin-bottom: .5em;
}

main section:first-child:before,
main section:empty:before,
main section#screenings:before,
main section#acknowledgments:before,
main section.count0 + section:before {
  content: none;
}

main section h4 {
  margin-top: 2em;
}

main section h4:first-child { /* Right?? */
  margin-top: 1em;
}

main section + .rows,
main #description + .rows {
  margin-top: 2em;
}

main h5 {
  margin-bottom: 1em;
}

main section p + h5 {
  margin-top: 2em;
}

main ul {
  margin-bottom: 1em;
}

main .block.basic ul li,
main #description ul li {
  margin-left: .75em;
  position: relative;
}

main .block.basic ul li:before,
main #description ul li:before {
  content: '• ';
  position: absolute;
  top: 0;
  left: -.75em;
}

main img {
  max-width: 100%;
}

main .block.basic .images {
  margin-top: 2em;
  overflow: hidden;
}

main .block.basic img {
  float: left;
  width: calc(50% - 24px);
}

main .block.basic img:first-child {
  margin-right: 48px;
}

main .block.basic img:only-child {
  width: 100%;
  margin-right: 0 !important;
}

main dl {
  overflow: hidden;
  margin-top: 1.5em;
  margin-bottom: 1em;
}

main dl dt {
  color: #86a46b;
  color: var(--site-color);
  width: 25%;
  padding-right: 10%;
  float: left;
}

main dl dt .base {
  display: block;
  margin-bottom: 1em;
}

main dl dd {
  width: 75%;
  float: left;
  margin-bottom: 1em;
}

main dl dd::after {
  content: ' ';
  height: 1px;
  width: 500vw;
  background: #000;
  display: block;
  margin-left: -100vw;
  margin-top: 1em;
}


/* Footer */

footer {
  position: relative;
}

footer a:hover,
footer input.submit:hover,
footer a:focus,
footer input.submit:focus {
  opacity: .5;
}


footer div,
footer nav {
  float: left;
  width: calc(100% * 1/3);
  padding-right: 96px;
  padding-bottom: 96px
}

footer nav,
#footerSupport{
  width: calc(100% * 2/3);
}

footer nav a[href='/'] {
  display: none;
}

footer p {
  margin-bottom: 1.33em; /* Helps Things Line Up */
}

#footerInfo p {
  color: #7a7b7b;
}

#footerInfo p.address {
  color: #000;
}

#footerSubscribe {
  clear: left;
}

#footerSocial {
  position: absolute;
  right: 0;
  top: 48px;
  xwidth: 96px
}


/* Footer Social Icons */

#footerSocial a {
  text-indent: -1000em;
  overflow: hidden;
  width: 45px;
  height: 45px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  margin-bottom: 68px;
}

#footerSocial .facebook {
  background-image: url('/assets/images/site/iconFacebook.svg')
}

#footerSocial .instagram {
  background-image: url('/assets/images/site/iconInstagram.svg')
}

#footerSocial .youtube {
  background-image: url('/assets/images/site/iconYoutube.svg')
}

#footerSocial .twitter {
  background-image: url('/assets/images/site/iconTwitter.svg')
}

#footerSocial .vimeo {
  background-image: url('/assets/images/site/iconVimeo.svg')
}

#footerSocial .issuu {
  background-image: url('/assets/images/site/iconIssuu.svg')
}

#footerSocial .letterboxd {
  background-image: url('/assets/images/site/iconLetterboxd.svg')
}




/* ---- COMPONENTS ---- */

/* Featured Content */

#featured {
  color: #FFF;
  background: black;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

#featured li {
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  position: relative; /* prevent FOUC */
}

#featured li a {
  width: 100vw;
  height: 100vh;
  display: block;
  background-size: cover;
  background-position: center center;
}

#featured p {
  position: absolute;
  left: 20px;
  top: 20px;
  width: calc(100% - 40px);
}

#featured p:before {
  content: "The Cinematheque";
  display: block;
}


/* Logo Blocks */

#acknowledgments figure + h5 {
  margin-top: 2em;
}

#acknowledgments figure + figure {
  margin-top: 1em;
}

main img.sponsorLogos,
#acknowledgments img  {
  mix-blend-mode: multiply;
}

#acknowledgments .logoBlock img {
  width: 500px;
  height: auto;
  max-width: 100%;
}

#acknowledgments img {
  height: auto;
  width: auto;
  display: inline-block;
  mix-blend-mode: multiply;
  max-height: 100px;
  max-width: 300px;
}

#acknowledgments img,
#acknowledgments .scaleByHeight img {
  height: 55px;
}

#acknowledgments .scaleByWidth img {
  width: 180px;
}

#acknowledgments .scaleByWidthXL img {
  width: 250px;
}

#acknowledgments .scaleByHeightXL img {
  height: 80px;
}



/* Media */

#media {
  xoverflow: hidden;
}

#media img {
    max-width: 100%;
    max-height: 400px;
}

#media .slick-slide {
    margin: 0 20px;
}

#media .slick-list {
    margin: 0 -20px;
}

#media .slick-arrow {
  display: none !important;
}

#media .slick-track {
  margin-left: 0;
}

#media .slick-dots {
  bottom: -30px;
}

#media .video {
  width: 100%;
  display: inline-block;
  position: relative;
  padding-top: 56.25%;
}

#media .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* Screening and Film Info */

main section .screenings {
  margin-top: -.5em;
}

.screening {
  margin-top: 1em;
  margin-bottom: 0;
  position: relative;
}

.trimmed .screening {
  margin-top: 0;
}

.rows.two .screening:nth-child(even)::after {
  content: '';
  border-top: 1px solid;
  width: 400%;
  clear: both;
  display: block;
  margin-top: 1em;
  float: left;
  margin-left: -200%;
}

section .rows.two .screening:last-child::after {
  content: none;
}

.screening img {
  width: 100%;
  height: auto;
}

.screeningInfo {
  margin-bottom: .5em;
  /* display: none; */
}

.screeningTickets {
  display: none;
}

.screeningNotes {
  display: block;
  color: #7a7b7b;
}

.screening .filmDetails {
  position: relative;
}

xxx.screening .filmDetails li {
  overflow-x: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  overflow-y: visible;
}

.screening .filmTitle {
  padding-right: 48px;
}

.screening .filmCountryYear {
  margin-top: 0;
}

.filmSeries {
  display: none;
}

.filmRating span {
  height: 1em;
  width: 1em;
  margin-top: .1em;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -100em;
  display: inline-block;
  opacity: .3;
}

.filmRating span[data-rating="G"] {
  height: .85em;
  width: .85em;
  background-image: url('/assets/images/site/ratingG.svg')
}

.filmRating span[data-rating="PG"] {
  height: .85em;
  width: .85em;
  background-image: url('/assets/images/site/ratingPG.svg')
}

.filmRating span[data-rating="14A"] {
  background-image: url('/assets/images/site/rating14.svg')
}

.filmRating span[data-rating="NR"] {
  display: none;
  background-image: url('/assets/images/site/ratingNR.svg')
}

.filmRating span[data-rating="18A"] {
  background-image: url('/assets/images/site/rating18A.svg')
}

.filmRating span[data-rating="R"] {
  height: .85em;
  width: .85em;
  background-image: url('/assets/images/site/ratingR.svg')
}

.filmRuntime:not(:empty)::after {
  content: ' min.';
}

.filmCountry:not(:empty) + .filmYear:before {
  content: ' ';
}

.screening .filmRating span {
  position: absolute;
  top: 0;
  right: 0;
}

.trimmed .screeningInfo,
.trimmed .filmCountryYear,
.trimmed .filmSpecs,
.trimmed .filmRating,
.trimmed .screeningTickets,
.filmAltTitle {
  display: none;
}

.trimmed .streamed .filmTitle {
  /* display: inline-block; */
background: transparent url('/assets/images/site/streamCTABlack.svg') no-repeat right 0 top .25em;
  padding-right: 1.2em;
  background-size: 1em;
}

.trimmed .filmDirector,
.trimmed .filmSeries {
    color: #7a7b7b;
}

#details .filmAltTitle {
  margin-bottom: .5em;
}

.filmAltTitle::before {
  content: '(';
}

.filmAltTitle::after {
  content: ')';
}

.screening .cartLink,
.ticketBurst,
.events .cartLink,
.ticketBurst {
  border: none;
  text-indent: -100em;
  width: 80px;
  height: 80px;
  display: block;
  position: absolute;
  z-index: 100;
  right: 50px;
  top: calc(-.25em - 40px);
  background: transparent url('/assets/images/site/ticketBurst.php') top left no-repeat;
  background-size: contain;
}

.ticketBurst.stream,
.streamed .ticketBurst,
.programStreamed .ticketBurst {
  width: 100px;
  height: 73px;
  background-image: url('/assets/images/site/streamBurst.php')
}

.films .filmTitle {
  position: relative;
  display: inline-block;
  padding-right: 125px;
}

.trimmed .filmTitle {
  display: block;
  padding-right: 0;
}

.trimmed .filmSeries {
  display: block;
}

.films .ticketBurst,
.events .cartLink {
  right: calc(50% - 40px);
  top: calc(-1.55em - 40px)
}

.screening .cartLink:hover,
.ticketBurst:hover {
  opacity: .8 !important;
}


/* Series Blocks */

.trimmed .series .seriesBlurb,
.trimmed .series .callout {
  display: none;
}


/* Gallery Nav & Slick */

.slick-arrow {
  text-indent: -100em;
  height: 100%;
  width: 25%;
  position: absolute;
  background: transparent;
  top: 50px;
  z-index: 900;
}

.slick-prev {
  left: 0;
  cursor: url('/assets/images/site/arrowLeft.svg') 0 29, auto;
}

.slick-next {
  right: 0;
  cursor: url('/assets/images/site/arrowRight.svg') 70 29, auto;
}

.slick-dots {
  height: 10px;
  position: absolute;
  bottom: 20px;
  left: 20px;
}

.slick-dots li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  overflow: hidden;
}

.slick-dots li button {
    display: block;
    width: 10px;
    height: 10px;
    padding: 5px;
    border-radius: 50%;
    cursor: pointer;
    background-color: #FFF;
    opacity: .5;
    outline: none;
}

.slick-dots li.slick-active button,
.slick-dots li button:hover,
.slick-dots li button:focus,
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}

main .slick-dots li button {
  background: #999;
}



/* --- SECTIONS AND PAGES --- */


/* Home */

.home #breadcrumbs {
  display: none;
}

.home header {
}

.home  {
  scroll-snap-type: y proximity;
}

.home main {
  scroll-snap-align: start;
}


/* Films and Film Series and Events */

.series.entry #breadcrumbs {
  position: absolute;
  top: 0;
  left: 0;
  color: #FFF;
}

.series.entry #breadcrumbs li {
  display: none;
}

.series.entry #breadcrumbs li:first-child {
  display: inline-block;
}

.series.entry #breadcrumbs a:after {
  content: none;
}

.series.entry .trimmed .filmSeries {
  display: none;
}

.series.entry #seriesDates {
  text-align: right;
}

.films #details {
  margin-bottom: 0;
  position: relative;
}

.films #details .filmRating {
  margin-top: .25em;
}

.films #details .filmTitle {
}

.films #details .filmAltTitle {
  display: block;
}

.films #details .filmAltTitle:empty {
  display: none;
}

.films #screenings {
  margin-top: 0;
  padding-top: 2em;
}

.films.entry #screenings div {
  margin-bottom: 2em;
}

.entry #screenings a {
  display: inline-block;
  border-bottom: none;
  color: #000;
  padding-right: 1em;
  background: transparent url('/assets/images/site/ticketCTA.php') no-repeat right 0 bottom .15em;
  background-size: .75em
}

.entry #streamDates a {
  padding-right: 1.3em;
  background-size: 1em;
  background-image: url('/assets/images/site/streamCTA.php')
}

.entry #screenings.currentHash a,
.entry #screenings a:hover,
.entry #screenings a:focus {
  color: #86a46b;
  color: var(--site-color);
}


/* Calendar */

body.calendar {
  background: #FFF;
}

body.calendar main {
  padding: 0 24px;
  width: 100%;
  max-width: none;
}

#eventCalendar {
  /* overflow: hidden; */
  border-top: 1px solid lightgrey;
  border-left: 1px solid lightgrey;
  display: grid;
  grid-template-columns: calc(100% * 1/7) calc(100% * 1/7) calc(100% * 1/7) calc(100% * 1/7) calc(100% * 1/7) calc(100% * 1/7) calc(100% * 1/7);
  grid-template-rows: auto;
}

#eventCalendar #visbleMonth {
  display: none;
}

#eventCalendar > li {
  width: auto;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  padding-bottom: 2em;
}

#eventCalendar > li:hover,
#eventCalendar > li:focus {
}

#eventCalendar span.day {
  display: block;
  text-align: center;
  border-bottom: 1px solid #e8e8e8;
  padding: .5em 0;
  position: relative;
}

#eventCalendar span.day span {
  display: block;
}

#eventCalendar span.dow,
#eventCalendar span.mon {
  margin-bottom: 1em;
}

#eventCalendar span.dom {
  font-size: 3em;
  margin-bottom: .4em;
}

#eventCalendar span.day span.mon,
#eventCalendar span.day span.year {
  display: none;
}

#eventCalendar li[data-dom='1'] span.mon {
  display: block;
  position: absolute;
  left: 0;
  top: -1.5em;
  background: #e8e8e8;
  margin-bottom: 0;
  text-align: center;
  line-height: 1.5em;
  margin-bottom: 0;
  width: 100%;
}

#eventCalendar li.first-child span.mon,
#eventCalendar li[data-dow='sunday'] span.mon {
  left: 0;
}

#eventCalendar ol {
  min-height: 200px;
}

#eventCalendar ol.blank,
#eventCalendar .programs.blank li:hover a {
  color: #b0b0b0;
}

#eventCalendar .programs li {
  padding: 5px 5px;
}

#eventCalendar li.today {
  background-color: #f3fbfe;
}

#eventCalendar li.past ol {
  color: #b0b0b0;
}

#eventCalendar a {
  color: inherit;
  border-bottom-width: 0;
}

#eventCalendar .programTitle {
  display: inline-block;
}

#eventCalendar .details {
  display: block;
}

#eventCalendar .cta {
  border-bottom: none;
  color: #000;
  background: transparent url('/assets/images/site/ticketCTABlack.svg') no-repeat right center;
  background-size: 1em;
  width: 1em;
  height: 1em;
  overflow: hidden;
  text-indent: -1000em;
  display: inline-block;
  visibility: hidden;
}

#eventCalendar .programStreamed .cta {
  padding-right: 1.3em;
  background-size: 1em;
  background-image: url('/assets/images/site/streamCTABlack.svg')
}

#eventCalendar .programs li:hover .cta {
  visibility: visible;
}

#eventCalendar .cta:hover {
  background-image: url('/assets/images/site/ticketCTA.php');
}

#eventCalendar .programStreamed .cta:hover {
  background-image: url('/assets/images/site/streamCTA.php');
}

#eventCalendar .programs li:hover a {
  color: #86a46b;
  color: var(--site-color);
  opacity: 1;
}

#eventCalendar .programs.blank li:hover a,
#eventCalendar .programs.blank li:hover a:hover {
  border-bottom-width: 2px;
}


/* Series Overview */

.series h2 + .big::before {
  content: none;
}

.seriesBlurb {
  margin: 1em 0;
}


/* About */

.about #staff .cell {
  margin-bottom: 2em;
}

.about #staff .cell a {
}

/* Blog */

.blog main .dow {
  display: none;
}

/* Blog */

.intertitles main {
  max-width: 936px;
}

.intertitles main blockquote {
  margin-left: 1.5em;
}

.intertitles media h5 {
  display: none;
}

.intertitles #media:before {
  content: none;
}

/* Shop */

.shop #items li .cartLink {
  color: inherit;
  border: none;
  background: transparent url('/assets/images/site/cartColor.php') center right no-repeat;
  background-size: 1em auto;
  padding-right: 1.25em;
}

.shop #items li .cartLink:hover {
  color: #86a46b;
  color: var(--site-color);
}

.shop #items li:only-child .cartLink {
  border: none;
  text-indent: -100em;
  width: 30px;
  height: 30px;
  margin: 22px 0 18px 0;
  padding-right: none;
  display: block;
  background: transparent url('/assets/images/site/cartColor.php') top left no-repeat;
  background-size: contain;
}

.shop #items li:only-child .cartLink:hover {
  background: transparent url('/assets/images/site/cartBlack.svg') top left no-repeat;
  background-size: contain;
}


/* Helpers */

.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.visible {
  visibility: visible !important;
}

.clear {
  clear: both;
  overflow: hidden;
}

.nobreak {
  white-space: nowrap;
}

.clickable {
  cursor: pointer;
}

.am:after {
  content: 'am';
  margin-left: .25em;
}

.pm:after {
  content: 'pm';
  margin-left: .25em;
}

.time {
  white-space: nowrap;
}

.time + .time::before {
  width: .5em;
  display: inline-block;
  content: '–';
}

.pm + .pm,
.am + .am {
  background: #95a7cb;
 margin-left: -1.5em;
}

.donateCTA {
  border: none;
  text-indent: -100em;
  width: 100px;
  height: 100px;
  display: block;
  background-size: contain;
  background: transparent url('/assets/images/site/donateCTA.php') top left no-repeat;
}


.background img {
  display: none;
}

input::placeholder {
  color: #7a7b7b;
  line-height:1em;
}

input:focus::placeholder {
    opacity: 0;
}

input[type="submit"] {
  background: transparent
}

.loading:after {
  animation: dots 1s steps(5, end) infinite;
}

@keyframes dots {
  0%, 20% {
    color: #7a7b7b;
    text-shadow:
      .5em 0 0 #7a7b7b,
      1em 0 0 #7a7b7b;}
  40% {
    color: white;
    text-shadow:
      .5em 0 0 #7a7b7b,
      1em 0 0 #7a7b7b;}
  60% {
    text-shadow:
      .5em 0 0 #7a7b7b,
      1em 0 0 #7a7b7b;}
  80%, 100% {
    text-shadow:
      .5em 0 0 #7a7b7b,
      1em 0 0 #7a7b7b;}}


.close {
  position: fixed;
  right: 32px;
  top: 32px;
  width: 32px;
  height: 32px;
  opacity: 1;
  text-indent: -1000em;
  z-index: 99999;
  cursor: pointer;
}

.staging h1:before {
  content: 'Staging — ';
}

#fd-form-66eb00a9423a3584968dedfe {
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
  z-index: 999999;
}

#fd-form-66eb00a9423a3584968dedfe .ff-66eb00a9423a3584968dedfe__wrapper {
  background: rgba(255, 255, 255, .8);
}