/*
Theme Name: SF Cinematheque
Author: Sophie Rentien Lando
*/

@font-face {
  font-family: 'Block Pro';
  src: url('fonts/BlockProBold.otf') format('opentype');
}

@font-face {
  font-family: 'FranklinATFBQ';
  src: url('fonts/FranklinATFBQ-Regular.otf') format('opentype');
}
@font-face {
  font-family: 'FranklinATFBQ';
  src: url('fonts/FranklinATFBQ-Italic.otf') format('opentype');
  font-style: italic;
}
@font-face {
  font-family: 'Franklin Book';
  src: url('fonts/FranklinGothicBook.ttf') format('truetype');
}
@font-face {
  font-family: 'Franklin Book';
  src: url('fonts/FranklinGothicBook-Italic.ttf') format('truetype');
  font-style: italic;
}
@font-face {
  font-family: 'Icons';
  src: url('fonts/Font_Awesome_6_Brands-Regular-400.otf') format('opentype');
}

* {
	margin:0;
	padding:0;
	box-sizing: border-box;
	font-family: 'Franklin Book', sans-serif;
	color: white;
}

body {
  overflow-x: hidden;
  background: #000000;
}

span {
	color: white !important;
}

h1, h2, h3, h4, h1 *, h2 *, h3 *, h4 * {
	font-family: 'FranklinATFBQ';
}

a, a * {
	transition-duration: 0.2s;
}

a:hover, a:hover *, .single .menu a:hover, .single .menu a:hover *, .single .program-block a:hover, .single .program-block a:hover *, .single footer a:hover {
	color:red;
}

a, a *, .single .menu a, .single .menu a *, .single .program-block a, .single .program-block a *, .single footer a  {
	color:white;
	text-decoration: none;
}

a span {
	color:red !important;
}

a:hover span {
	color: white !important;
}

.single a:hover, .single a:hover * {
	color:white;
}
.single a, .single a * {
	color:red;
}


h1.header, img.header {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Block Pro';
	text-align: center;
	font-size: 2em;
	margin-top: 10px;
	z-index: 2;
	transition-duration: 0.2s;
	color:red;
	mix-blend-mode: lighten;
}

h1.header:hover {
	color: white;
	mix-blend-mode: lighten;
}

img.header {
	width:50%;
}

.page-template-home-page h1.header, .page-template-home-page img.header {
	color: red;
	margin-top: 0;
	top: 50%;
	transform: translate(-50%, -50%);
	mix-blend-mode: lighten;
	font-size: 5em;
	pointer-events: none;
}

h2.subtitle {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'FranklinATFBQ';
	text-align: center;
	text-transform: uppercase;
	font-size: 1.2em;
	margin-top: 50px;
}

strong, b, strong a, b a, strong *, b * {
	font-family: 'FranklinATFBQ', sans-serif;
}

p {
	font-size: 1em;
	padding-bottom: 1em;
}

ul {
	list-style-position: inside;
}

hr {
	margin: 2em 0;
	clear: both;
}

iframe {
	position: relative !important;
	min-height: 50vh;
	margin-left: 50%;
	transform: translateX(-50%);
}

div.aligncenter, img.aligncenter {
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

footer {
	padding: 50px;
	padding-top: 300px;
	display: block;
	clear: both;

}

footer * {
	font-family: 'FranklinATFBQ';
}

footer div {
	display: inline-block;
	vertical-align: top;
	width: 49%;
}

footer ul {
	column-count: 2;
}

footer ul li {
	list-style: none;
}

footer p, footer li {
	padding-bottom: 0;
	font-size: 1.3em;
}

footer p.icons a {
	font-family: 'Icons';
}

/*Menu*/

#menu-btn {
	position: fixed;
	top: 20px;
	right: 20px;
	cursor: pointer;
	z-index: 3;
	transition-duration: 0.2s;
	transition-property: opacity;
}

#close {
	display: none;
	position: fixed;
	top: 20px;
	right: 20px;
	color: red;
	cursor: pointer;
	z-index: 2;
}

nav.main-menu {
	opacity:0;
	pointer-events:none;
	position: fixed;
	right: 20px;
	top: 20px;
	z-index: 4;
	transition-duration: 0.2s;
	transition-property: opacity;
	width:110px;
}

.menu-main-menu-container li, nav li {
	list-style: none;
}

.menu-main-menu-container li a, ::placeholder, #searchform input {
	font-family: 'FranklinATFBQ', sans-serif;
	text-decoration: none;
	transition-duration: 0.2s;
}

.menu-main-menu-container li a:hover, .menu-main-menu-container li.current-menu-item a {
	color: red;
}

#searchform input {
	background:transparent;
	border:0;
	width:95px;
	text-transform: uppercase;
  	font-size:16px;
}

form#searchform :focus + input {
	opacity:1;
}

#searchform input[type="submit"] {
	opacity:0;
	width:auto;
}

#searchform input[type="submit"]:hover  {
	color:red;
	cursor:pointer;
}

#searchform:hover ::placeholder {
	color:red;
}

form#searchform ::placeholder {
  color: white;
  opacity: 1; /* Firefox */
  font-size:16px;
}

form#searchform :focus {
	color:red;
	border:0;
	outline:0;
	border-bottom:1px solid red !important;
}

.alert {
	text-align: center;
}

/*Menu left side*/
nav.type {
	position: absolute;
	top: 10px;
	left: 10px;
}

nav.side-menu {
	position: absolute;
	left: 10px;
	top: 150px;
}

nav.side-menu a, nav.type a {
	text-decoration: none;
}

nav.side-menu li.current-year, nav.type li.current-type {
	color:red;
	pointer-events: none;
}

nav li, nav ul a {
	transition-duration: 0.2s;
}

nav li:hover, nav li:hover a {
	/*text-decoration: underline;*/
	color: red;
	padding-left: 2px;
}

/*Main*/

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

main {
	width: 70%;
	margin-left: 15%;
	padding-top: 150px;
	opacity: 0;
	animation-name: fadeIn;
	animation-duration: 0.5s;
	animation-delay: 0.5s;
	animation-fill-mode: forwards;
}

main.archive {
	width: 80%;
	margin-left: 10%;
	min-height: 70vh;
}

/*Home page*/
.displays {
  margin-bottom: 40px;
	opacity: 0;
	animation-name: fadeIn;
	animation-duration: 0.5s;
	animation-delay: 1.2s;
	animation-fill-mode: forwards;
}

a:nth-of-type(odd) .displays {
  float: left;
  margin-right: 50px;
}

a:nth-of-type(even) .displays {
  float: right;
  margin-left: 50px;
}

.four-display {
  width: 45%;
}

.four-display img {
  width: 50%;
  float: left;
}

.one-display {
  width: 40%;
}

.one-display-large {
  width: 100%;
}

.one-display img, .one-display-large img {
  width: 100%;
  display: block;
}

.strip-display {
  width: 15%;
}

.strip-display  img {
  width: 100%;
  float: left;
}

.square-display {
  width: 250px;
  overflow-x: hidden;
}

.square-display img {
  height: 250px;
}

.displays p {
  display: inline-block;
  font-size: 0.8em;
  padding-left: 12px;
  padding-top: 7px;
	padding-right:5px;
  font-family: 'FranklinATFBQ';
}

.displays p strong {
  font-size: 1.7em;
}



/*SINGLE*/

main.single {
	width: 60%;
	margin-left: 20%;
	text-align: center;
	padding-bottom: 50px;
	padding-top: 100px;
}

main.single img {
	max-width: 80%;
	height: auto;
	/*padding-bottom: 1em;*/
}

img.alignleft {
	float: left;
	padding-right: 15px;
	padding-bottom: 2em;
}

main p:first-of-type img.alignleft, main figure:first-of-type img.alignleft, main h1:first-of-type img.alignleft {
	float: none;
}

main.single .content {
	text-align: justify;
}

/*SCREENING ARCHIVE*/

.time-marker {
	padding-bottom: 20px;
	padding-left: 10px;
}


article + h2.time-marker#arch-item {
	padding-top: 70px;
}

article {
	display: inline-block;
	vertical-align: top;
	width: 50%;
	padding-bottom: 20px;
	text-align: left;
	transition-duration: 0.2s;
}

article p, article .archive-thumbnail {
	transition-duration: 0.2s;
}

article:hover .archive-thumbnail {
	opacity: 0.8;
}

article:hover p {
	color: red ;
	margin-left: 2px;
}

article span+a {
	display: inline-block;
	width: 90%;
}

.archive-thumbnail {
	width: 50%;
	height: 180px;
	min-height: 180px;
	overflow: hidden;
	float: left;
	margin-left: 10px;
	margin-right: 15px;
}

.archive-thumbnail img {
	width: 110%;
	height: auto;
	margin-top: 90px;
	transform: translateY(-50%);
}

article a {
	text-decoration: none;
}

p.archive-date {
	font-family: 'FranklinATFBQ';
	text-transform: uppercase;
	font-size: 0.6em;
}

p.archive-title {
	font-family: 'FranklinATFBQ';
	font-size: 1.3em;
}

p.archive-title em, p.archive-title i {
	font-family: 'FranklinATFBQ';
}

/*All archive*/


main.archive table {
	width: 100%;
}

main.archive table td {
	vertical-align: middle;
}

main.archive td, main.archive td * {
	font-family: 'FranklinATFBQ';
}

main.archive td.all-date {
	width: 25%;
	text-transform: uppercase;
	font-size: 0.7em;
}

main.archive td.all-title a {
	text-decoration: none;
	font-size: 1.3em;
}

main.archive tr td, main.archive tr td * {
	transition-duration: 0.2s;
}

main.archive tr:hover td, main.archive tr:hover td * {
	color: red;
}

main.archive td.all-title {
	width: 70%;
}

.search main.archive td.all-date {
	width:25%;
}

.search main.archive td.all-type {
	width:15%;
}

.search main.archive td.all-title {
	width:60%;
}

/*WRITINGS ARCHIVE*/
article.archive-writing {
	width: 100%;
}

article.archive-writing .archive-thumbnail, .writing-info {
	width: 25%;
}

.writing-info {
	padding-right: 15px;
}

.writing-info, p.archive-excerpt {
	display: inline-block;
	vertical-align: top;
}

p.archive-excerpt {
	width: 47%;
}



/*SCREENING PAGES*/
.screening-date {
	font-family: 'FranklinATFBQ';
	text-transform: uppercase;
	font-size: 0.7em;
	padding-bottom: 0.5em;
	padding-top:2em;
}

p.screening-caption {
	text-align: right;
	font-size:0.6em;
	margin-top: 2px;
	padding-bottom:0;
}

h1.screening-title {
	font-size:1.8em;
}

h3.screening-subtitle {
	font-size:1.1em;
}

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

.venue-info {
	padding-top: 1.5em;
}

.venue-info p {
	font-size: 0.8em;
}

.venue-info p, .venue-info a {
	padding: 0;	
	font-family: 'FranklinATFBQ';
}

/*.venue-info p.venue-name {
	text-decoration: underline;
}*/

/*FESTIVAL PROGRAM PAGES*/

.program-block  {
	float: left;
	width: 50%;
	transition-duration: 0.2s;
}

.program-block:nth-of-type(odd) {
	clear: both;
}

.program-block .title  {
	float: right;
	width: 50%;
}

.program-block .program-img {
	width: 50%;
	text-align: left;
	display: inline-block;
	transition-duration: 0.2s;
}

.program-block .program-img {
	height: 20vh;
}

.program-block .program-img img {
	max-width: 100%;
}

.program-block p {
	padding: 0px 10px;
}

.program-block .title p {
	text-align: left !important;
	font-family: 'FranklinATFBQ', sans-serif;
}

.programs {
	padding-top: 50px;
}

.additional-info {
	clear: both;
	padding-top: 50px;
}

.program-block:hover * {
	color:red;
}

.program-block:hover .program-img {
	opacity:0.8;
}

/*VIDEO PROGRAM PAGES*/
.video-wrapper .video, .video-wrapper .video-description {
	width: 49%;
	display: inline-block;
	vertical-align: top;
}

.video-wrapper .video {
	margin-right: 1%;
}

.video-description p {
	text-align: justify !important;
}

.video-description p, .video-des {
	font-size: 0.9em;
}

.video-description p.archive-title {
	font-size:1.3em;
	text-align:left !important;
	padding-bottom: 0.5em;
}

.single-screening main.single img {
	max-width: 100%;
	padding: 0% 0% 0px;
}

.single-screening main.single .video-wrapper .video img {
	max-width: 100%;
	width: 100%;
	padding: 0px 0px 40px;
}

.single-screening header {
	padding-bottom: 4em;
}

/*bios*/

.video-program-additional-info p {
	width: calc(100% / 3);
	float: left;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 40px;
}

.video-program-additional-info p:nth-of-type(3n+1) {
	clear: both;
}

.single-screening main.single .video-program-additional-info img {
	width: auto;
	height: 140px;
	display: flex;
	float: none;
	padding: 0px 0px 10px;
	margin-left: 50% !important;
	transform: translateX(-50%);
}

.single-screening main.single .video-program-additional-info {
	font-size: 0.8em;
	text-align: justify;
}

/*Pages*/

main.page {
	width: 60%;
	margin-left: 20%;
	text-align: center;
	padding-bottom: 50px;
	padding-top: 150px;
}

main.page#press {
	width: 70%;
	margin-left: 15%;
}

main.page img {
	max-width: 70%;
	height: auto;
	padding-bottom: 1em;
}

/*ABOUT PAGES*/

nav li.current_page_item a, .single .menu li.current-menu-item a {
	color:red;
}

/*SHOP*/

.tagged_as {
	display:none;
}

h2#outofstock {
	text-align: center;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
	/*width: 100%;*/
}

ul.products article {
	width:25%;
}

ul.products article .archive-thumbnail {
	width:100%;
	margin-left:0;
	margin-right:0;
	text-align: center;
	height:200px;
}

ul.products article .archive-thumbnail img {
	width: auto;
	height: 100%;
	margin-top: 0;
	transform: none;
	padding-bottom: 20px;
}

ul.products article p.archive-date, ul.products article p.archive-title {
	padding-right:10px;
	padding-left:10px;
	text-align: center;
}

ul.products article:hover p {
	margin-left: 0px;
}

/*ul.products article p.archive-title {
	padding-right: 50px;
}

ul.products article .archive-thumbnail {
	height: 240px;
}

ul.products article img {
	width: auto;
	max-width: initial;
	height: 240px;
	margin-top: 0;
	margin-left: 100%;
	transform: translateX(-100%);
}*/

/*PRODUCT PAGE*/

.product-template-default .sku_wrapper, .product-template-default .posted_in, .product-template-default #tab-description h2, .product-template-default #tab-description h4, .product-template-default hr, .product-template-default ul.tabs, .product-template-default section.related, .woocommerce div.product .product_title {
	display: none;
}

.product-template-default #tab-description h3 {
	padding-bottom: 10px;
}

.product-template-default #tab-description p {
	text-align: justify;
}

.woocommerce-product-gallery { 
	width: 100% !important;
}

.woocommerce-product-gallery__image {
	pointer-events: none;
}

.woocommerce div.product div.images img {
	max-height: 60vh;
	width: auto;
	margin-left: 50%;
	transform: translateX(-50%);
}

.woocommerce div.product div.summary {
	float: none;
	width: 70%;
	margin-left: 15%;
}

.woocommerce div.product form.cart .reset_variations {
	padding-left: 5px;
}

.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce div.product .stock {
	color: white;
}

.woocommerce div.product span.price * {
	font-family: 'FranklinATFBQ';
}

.woocommerce div.product form.cart {
	text-align: center;
}

.woocommerce div.product form.cart .variations {
	width: auto;
	display: inline-block;
}

.woocommerce div.product form.cart .variations td {
	padding-right: 0 !important;
}

.woocommerce div.product form.cart .variations select {
	margin-right: 0;
	background: black;
	border: 1px solid white;
	padding: 2px 3px;
}

.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
	padding-right: 10px;
}

.woocommerce div.product form.cart div.quantity {
	float: none;
}

.woocommerce .quantity .qty {
	width: 50px;
	background: black;
	border: 1px solid white;
	padding: 1px 0px;
}

.woocommerce .woocommerce-variation-add-to-cart {
	display: inline-block;
}

.woocommerce div.product form.cart .button, .woocommerce .cart .button {
	background: black;
	border: 1px solid white;
	clear: both;
	color: white;
	margin-top: 10px;
}

.woocommerce div.product form.cart .button:hover, .woocommerce .cart .button:hover {
	/*opacity: 0.5;*/
	background: black;
	color:red;
	border:1px solid red;
}

.woocommerce div.extra-imgs img {
	padding-bottom:2em;
	max-height: 80vh;
	width:auto;
}


/*CART*/
.woocommerce form .form-row input.input-text {
	background:black;
	border:1px solid white;
	padding:3px;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
	background-color: black;
	color: white;
	border: 1px solid white;
}

.woocommerce-message::before, .woocommerce-info::before {
	color: white;
}

.woocommerce a.remove {
	font-weight: normal;
}

.woocommerce a.remove:hover {
	background: black;
}

.woocommerce table.shop_table th {
	font-family: 'FranklinATFBQ';
	text-transform: uppercase;
}

.woocommerce table.shop_table td {
	line-height: initial;
}

#add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
	width: 100px;
	max-width: 100px;
	padding-bottom: 0;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	margin-top: 10px;
	background: black;
	width: auto;
}

.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
	padding-top: 50px;
}

.woocommerce-cart .cart-collaterals .shipping-calculator-button {
	margin-top:0;
}

.woocommerce-cart .cart-collaterals .shipping-calculator-button:hover {
	color:red;
}

.woocommerce-cart .cart-collaterals .shipping-calculator-button::after {
	content:'';
}

/*checkout*/

.woocommerce-checkout input, .woocommerce-checkout textarea {
	background: black;
	border: 1px solid white;
	padding: 2px 4px;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
	background: black;
}

div.payment_box p {
	color: black;
}

span.selection *, .select2-container * {
	background: black;
	color: white !important;
}

.select2-container--default .select2-selection--single {
	border: 1px solid white;
	border-radius: 0px;
	height: 30px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: red;
}

button#place_order, button[name="apply_coupon"], .checkout-button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button {
	background: black !important;
	border: 1px solid white !important;
	color: white !important;
}

button#place_order:hover, button[name="apply_coupon"]:hover, .checkout-button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover {
	color: red !important;
	border: 1px solid red !important;
}

.checkout-button {
	font-family: 'FranklinATFBQ';
	text-transform: uppercase;
}

.woocommerce form .form-row.woocommerce-validated .select2-container, .woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select {
	border-color: red;
}

#order_review_heading {
	padding-top: 50px;
	text-transform: uppercase;
	padding-bottom: 20px;
}

.cart_item td {
	padding-top:0px !important;
	padding-bottom:0px !important;
}

tr.cart-subtotal * {
	padding-top:20px !important;
}

.woocommerce-checkout #payment div.payment_box {
	background-color:black;
	color:white;
	border:1px solid white;
}

div.payment_box p {
	color:white;
	padding-bottom: 0;
}

.woocommerce-checkout #payment div.payment_box::before {
	top:-1em;
	color:white;
}

/*My account*/
.woocommerce-MyAccount-content mark {
	color:black;
	background: white;
}

nav.woocommerce-MyAccount-navigation a {
	text-transform: uppercase;
	text-decoration: none;
}

nav.woocommerce-MyAccount-navigation .is-active a {
	color:red;
}

/*Popup*/
.pum-theme-default-theme {
	background-color: rgba(0,0,0,0.8) !important;
}

.pum-container {
	left:0 !important;
	width:50% !important;
	margin:0px 25% !important;
	background-color:black !important;
	padding:50px 20px !important;
	border: 0.5px solid white !important;
	border-radius: 8px !important;
}

.pum-container p:last-of-type {
	padding-bottom:0px !important;
}

.pum-container blockquote, .pum-container blockquote p, .pum-container blockquote, .pum-container blockquote p a {
	font-family: 'Block Pro';
	font-size:1.3em;
}

.pum-container blockquote p:last-of-type {
	padding-bottom:15px !important;
}

.pum-theme-20006930 .pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close {
	background-color:black !important;
	padding: 5px !important;
	margin:5px !important;
	line-height:18px !important;
	color:red !important;
	font-size:20px !important;
}

html.pum-open.pum-open-overlay.pum-open-scrollable body > :not([aria-modal="true"]) {
	padding-right:0px !important;
}