/*
 Theme Name:   Eventide Theatre Company
 Template:     generatepress
 Author: Community Web Development
 Author URI: http://www.comminternet.com/
 Version: 1.0
*/

/* clearfix */
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/* prevent tel clicks on desktops */
a[href^="tel"] { pointer-events: none; text-decoration: none; }

/* allow tel clicks on phones */
@media (max-width: 767px) {
	a[href^="tel"] { pointer-events: auto; text-decoration: underline; }
}


/* GLOBALS */

body {
	-webkit-font-feature-settings: "lnum";
	-moz-font-feature-settings: "lnum";
	font-feature-settings: "lnum"; 
}

p:empty {
	display: none;
}

.alignleft, .alignright, .aligncenter {
	margin-top: 1em;
	margin-bottom: 1em;
}

.wp-caption {
    border: 1px solid #ccc;
    padding-top: 5px;
}

.wp-caption .wp-caption-text {
	text-align: center;
	padding: 1em;
	margin: 0;
}

.copyright-bar ul.menu {
	margin-left: 0;
}

.copyright-bar ul.menu li {
	display: inline;
	margin: 0 10px;
}

.copyright-bar p.branding {
	margin-bottom: 0;
}

.social-media li.other path {
	fill: currentColor;
}

.social-media li svg {
	height: 1em;
	width: 1em;
}
/*

FIX BUG WHERE TOP LEVEL HOVER COLOR REVERTS WHEN SELECTING A DROPDOWN MENU ITEM WHICH IS A DESCENDANT OF THE CURRENT PAGE

.main-navigation .main-nav ul li[class*="current-menu-"]:hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"]:focus > a {
	color: #fff !important;
}

*/

#masthead,
#sticky-navigation {
	border-bottom: 5px solid var(--accent-2);
	box-shadow: 0px;
}

.main-navigation .main-nav ul.menu > li:last-child > a {
	padding-right: 0;
}

.generate-back-to-top {
	border: 2px dashed #fff;
}

.social-media-links {
	margin: 0 0 0 24px;
}

.social-media-links li {
	display: inline;
	margin-right: 10px;
	font-size: 19px;
}

.social-media-links li.h3 {
	display: block;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: bold;
}

.social-media-links li a {
	font-size: 21px;
}

.site-info a {
	text-decoration: none;
}

.inside-header {
	position: relative;
	align-items: flex-end;
}

.header-buttons {
	position: absolute;
	top: 15px;
	right: 30px;
}

.sub-menu {
	border: 4px solid var(--alert);
}

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="number"]:focus, textarea:focus, select:focus {
	border-width: 4px !important;
	padding: 4px !important;
}

button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) {
	border: 4px solid var(--accent);
	transition: all 0.5s ease;
}

button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, a.button:hover, button:focus, html input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, a.button:focus, a.wp-block-button__link:not(.has-background):active, a.wp-block-button__link:not(.has-background):focus, a.wp-block-button__link:not(.has-background):hover {
	border-color: var(--accent-2);
	transform: rotate(-2deg) scale(1.05) perspective(1000px);
	transition: all 0.5s ease;
}

.speech-bubble {
	position: relative;
}

.speech-bubble:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 40px solid #fff;
	bottom: -25px;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block;
	position: absolute;
}

/* blog */

body.blog #main article.dynamic-content-template,
body.archive #main article.dynamic-content-template
{
	padding-left: 120px;
}

body.blog #main article.dynamic-content-template:nth-of-type(odd),
body.archive #main article.dynamic-content-template:nth-of-type(odd)
{
	padding-left: 0px;
	padding-right: 120px;
}

body.blog #main article.dynamic-content-template h2 a,
body.archive #main article.dynamic-content-template h2 a {
	text-decoration: none;
}

.blog-post-nav .gb-button-wrapper a.gb-button {
	align-self: stretch;
}

/* Sidebar */

.inside-right-sidebar .wp-block-post-template {
	margin: 0;
}

.inside-right-sidebar .wp-block-post-template li {
	margin-top: 25px;
}

.inside-right-sidebar .wp-block-post-template li h5 {
	margin: 0;
}

/* events */

.event-featured img {
	width: 100%;
}

h4.tag,
span.tag {
	display: inline-block;
	padding: 5px 15px;
}

h4.sold-out,
span.sold-out {
	background: var(--alert);
	color: #fff;
}

h4.coming-soon {
	background: var(--accent-2);
	color: #fff;
}

h3.tickets-h2 {
	color: var(--accent-2);
}

.upcoming-shows,
.ticket-prices {
	display: table;
	margin-bottom: 30px;
}

.upcoming-shows p.event-showing,
.ticket-prices p.event-pricing {
	display: table-row;
}

p.auxReviewLinks a {
	display: inline-block;
	padding-left: 15px;
	margin-left: 15px;
	border-left: 1px solid var(--contrast-3);
}

p.auxReviewLinks a:first-of-type {
	padding-left: 0;
	margin-left: 0;
	border-left: 0;
}

.single-shows h4.buy-tickets,
.single-shows h4.buy-tickets + h4.view-program {
	width: 48%;
	float: right;
}

.single-shows h4.view-program {
	width: 48%;
}

.single-shows h4.buy-tickets {
	float: left;
	margin-right: 4%;
}

.single-shows h4.buy-tickets a.button,
.single-shows h4.view-program a.button {
	width: 100%;
	text-align: center;
	padding-left: 0;
	padding-right: 0;
}

h4.reviewh4 {
	margin-top: 30px;
}

.upcoming-shows h3.tickets-h2 {
	display: table-caption;
}

.upcoming-shows span:not(.hide-320),
.ticket-prices span {
	padding: 2px 15px 2px 0;
	display: table-cell;
}

.ticket-prices span.type {
	font-weight: bold;
}

.upcoming-shows {
	margin-top: 30px;
}

.upcoming-shows span:not(.hide-320) {
	padding: 10px 30px 10px 0;
}

.upcoming-shows p.event-showing.strike span:not(.tag) {
	text-decoration: line-through;
}

.upcoming-shows span.tag {
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 5px 10px !important;
	font-size: 85%;
}

.events-list-ul {
	margin: 0;
	list-style-type: none;
}

.events-list-ul li {
margin: 0 0 10px 0;
}

.events-list-ul .mhonfths {
	display: block;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-size: 12px;
}

.events-list-ul .mhonfths.year {
	display: inline;
	margin-left: 10px;
}

.upcoming-shows-schedule h2 {
	margin-bottom: 40px;
}

.upcoming-shows-schedule div.flex-parent {
	display: flex;
}

.upcoming-shows-schedule div.show-wrapper {
	justify-content: space-between;
	margin: 30px 0 60px 0;
	width: 100%;
}

.upcoming-shows-schedule div.show-wrapper p.buttons {
	margin: 15px 0 0 0;
}

.upcoming-shows-schedule div.show-wrapper p.buttons .deets {
	margin: 0 15px 0 0;
	background: #fff;
	color: var(--accent);
}

.upcoming-shows-schedule div.show-wrapper p.buttons .deets:hover {
	background: var(--accent-2);
	color: #fff;
}

.upcoming-shows-schedule div.show-wrapper .feat-img-col {
	width: 35%;
}

.upcoming-shows-schedule div.show-wrapper .feat-img-col a {
	width: 100%;
	height: 100%;
	display: block;
	background-size: cover !important;
}

.upcoming-shows-schedule div.show-wrapper .event-details-col {
	width: 65%;
	padding: 60px 0 60px 30px;
}

.upcoming-shows-schedule div.show-wrapper .event-details-col h3 {
	text-transform: uppercase;
}

.upcoming-shows-schedule div.show-wrapper .event-details-col h5 {
	font-weight: bold;
	margin: 0 0 10px 0;
	font-size: 90%;
}

.upcoming-shows-schedule div.show-wrapper .event-details-col h3 a {
	text-decoration: none;
}

.past-shows {
	padding-top: 90px;
	margin-top: 80px;
	border-top: 5px solid var(--alert);
}

.list-columns .past-shows {
	padding: 0;
	margin: 0;
	border: 0;
}

.list-columns .past-shows .events-list-ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-itens: center;
	align-content: center;
}

.list-columns .past-shows .events-list-ul li {
	width: 50%;
	padding: 15px;
}

.wp-block-yoast-faq-block .schema-faq-question {
    font-size: 21px;
}

.testimonial.speech-bubble {
	background: #fff;
	text-align: center;
	padding: 25px;
	margin-bottom: 40px;
	background-color: var(--base);
	border-radius: 10px;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
}

.testimonial.speech-bubble svg {
    width: 3em;
    height: 3em;
	fill: var(--alert);
}

.testimonial.speech-bubble p.review {
	margin: 10px 0 0 0;
	font-style: italic;
}

h4.author {
    text-align: center;
    color: var(--contrast-2);
    margin-bottom: 0;
}

.alertBar {
	background: var(--alert);
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 15px;
	display: block;
	padding: 5px 10px;
	text-decoration: none;
}

a.alertBar:hover,
a.alertBar:focus {
	background: var(--accent-2);
	color: #fff;
}

/* homepage */

@keyframes fader {
	from { opacity: 1.0; }
	to   { opacity: 0.0; }
}

.fading-slideshow {
	position: relative;
	margin: 0;
	padding: 0;
	list-style-type: none;
	width: 100%;
}
.fading-slideshow > li {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #fff;
	display: flex;
	align-items: center;
}

/* next slide to display */

.fading-slideshow > li:nth-of-type(2) {
	z-index: 10;
}

/* all other slides */

.fading-slideshow > li:nth-of-type(n+3) {
	display: none;
}

.homepage-hero,
.homepage-hero .slide {
	width: 100%;
	min-height: 65vh;
}

.homepage-hero .slide {
	border-bottom: 5px solid var(--accent-2);
	background-size: cover !important;
}

.homepage-hero .gradient {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: rgba(0,0,0,0.35);
	background: -moz-linear-gradient(90deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.35) 35%, rgba(255,255,255,0) 65%);
	background: -webkit-linear-gradient(90deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.35) 35%, rgba(255,255,255,0) 65%);
	background: linear-gradient(90deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.35) 35%, rgba(255,255,255,0) 65%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#ffffff",GradientType=1); 
}

.homepage-hero .slide-container {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 30px;
}

.homepage-hero .slide-container h1,
.homepage-hero .slide-container h3 {
	color: #fff;
	text-shadow: 0px 2px 5px rgba(0,0,0,0.5);
}

.homepage-hero .slide-container h3 {
	margin-bottom: 25px;
}

.newsletter-styles div.ctct-form-embed div.ctct-form-defaults {
	padding: 0;
	background: none;
}

.newsletter-styles .g-recaptcha,
.custom-footer .newsletter-styles #gdpr_text .ctct-gdpr-text {
	display: none;
}

.custom-footer .newsletter-styles label,
.custom-footer .newsletter-styles #gdpr_text {
	color: #fff !important;
	line-height: 1.25;
}

.custom-footer .newsletter-styles #gdpr_text:before {
	content: "You agree to receive emails from Eventide Theatre Company. You can revoke your consent at any time by clicking on the SafeUnsubscribe® link at the bottom of every email you receive.";
	font-size: 11px;
	position: relative;
	top: -15px;
}

.custom-footer .newsletter-styles h2.ctct-form-header,
.custom-footer .newsletter-styles p.ctct-form-text {
	color: #fff !important;
}

.custom-footer ul.footer-posts {
	margin: 0;
}

.custom-footer ul.footer-posts li {
	margin: 0 0 10px 0;
}

/* Gravity forms */

.gform_wrapper.gravity-theme .gsection h3 {
	color: var(--alert);
	margin-top: 40px;
}

/* header button background bug */
.gb-button-wrapper a.gb-button-b483fe5b:hover,
.gb-button-wrapper a.gb-button-b483fe5b:visited:hover {
	background: #fff !important;
}

/* Show Nav */
#show-navigation {
	justify-content: space-around;
	padding: 20px 0;
}

#show-navigation .gb-button {
	width: 47.5%;
}

#show-navigation .gb-button span {
	padding: 0 5px;
}

/* Generatepress Preset Breakpoints iPad portrait*/
@media (max-width: 1024px) {

	.events-list-ul li {
		margin: 0 0 20px 0;
	}
}

@media (max-width: 1023px) {
	
	.header-buttons {
		position: absolute;
		top: 32px;
		right: 180px;
	}

	body .main-navigation:not(.is_stuck) button.menu-toggle {
		border: 4px solid #1EB3A7;
		line-height: 51px;
		transition: all 0.5s ease;
		font-size: 18px;
		letter-spacing: 0.085em;
	}
	
	.menu-toggle .gp-icon + .mobile-menu {
		color: #1EB3A7;
		font-weight: bold;
	}
	
	.menu-toggle .gp-icon svg {
		fill: #1EB3A7;
	}
	
	.site-header .header-image {
    	width: 100px;
	}

	.inside-header {
		align-items: center;
	}
	
	#generate-slideout-menu .sub-menu {
	    border: 0;
    	padding: 0 0 10px 15px;
	}
	
	body.blog #main article.dynamic-content-template,
	body.archive #main article.dynamic-content-template {
		padding-left: 60px;
	}
	
	body.blog #main article.dynamic-content-template:nth-of-type(2n+1),
	body.archive #main article.dynamic-content-template:nth-of-type(2n+1) {
		padding-left: 0px;
		padding-right: 60px;
	}

	#show-navigation .gb-button {
		width: 100%;
		margin: 10px 0;
	}

}

/* Custom iPad breakpoint */
@media (max-width: 768px) {

	.header-buttons {
		top: 34px;
		right: 156px;
	}
	
	body .main-navigation:not(.is_stuck) button.menu-toggle {
		line-height: 48px;
    	font-size: 16px;
	}
	
	.list-columns .past-shows .events-list-ul {
		display: block;
	}

	.list-columns .past-shows .events-list-ul li {
		width: 100%;
		display: block;
	}

	.homepage-hero,
	.homepage-hero .slide {
		min-height: 50vh;
	}

}

/* Generatepress Preset Breakpoints under iPad*/
@media (max-width: 767px) {

	ol, ul {
		margin-left: 1.5em;
	}

	.wp-block-image img {
		float: none;
		margin: 20px auto;
		display: block;
	}

	.upcoming-shows-schedule h2 {
		text-align: center;
	}
	
	.upcoming-shows-schedule div.show-wrapper .feat-img-col {
		width: 100%;
		margin-bottom: 30px;
	}
	
	.upcoming-shows-schedule div.show-wrapper .feat-img-col a {
		height: 420px;
		background-size: contain !important;
	}

	.upcoming-shows-schedule div.show-wrapper .event-details-col {
		width: 100%;
		padding: 0;
	}
	
	.upcoming-shows-schedule div.show-wrapper {
		display: block;
	}

	.wp-block-yoast-faq-block .schema-faq-question {
		font-size: 17px;
	}

	.gform_footer input.gform_button {
		width: 100%;
	}
}

@media (max-width: 600px) {

	.site-header .header-image {
		width: 80px;
	}

	.alertBar {
		font-weight: bold;
		font-size: 12px;
	}

	.header-buttons {
		position: fixed;
		bottom: 0;
		top: auto;
		z-index: 99;
		right: 0;
		left: 0;
		width: 100%;
	}
	
	.header-buttons .gb-button {
		margin: 0 !important;
		width: 50% !important;
	}
	
	.generate-back-to-top {
		bottom: 71px;
		right: 15px;
	}
	
	body .inside-site-info {
		padding-bottom: 80px;
	}
	
	.upcoming-shows-schedule div.show-wrapper p.buttons .deets,
	.upcoming-shows-schedule div.show-wrapper p.buttons .tix {
		font-size: 17px;
	}
	
	body.blog #main article.dynamic-content-template,
	body.archive #main article.dynamic-content-template,
	body.blog #main article.dynamic-content-template:nth-of-type(2n+1),
	body.archive #main article.dynamic-content-template:nth-of-type(2n+1) {
		padding: 0;
	}
	
	.upcoming-shows span:not(.hide-320) {
    	padding-right: 10px;
	}
	
	.upcoming-shows p.event-showing {
		font-size: 15px;
	}
	
	.single-shows h4.buy-tickets,
	.single-shows h4.view-program {
		width: 100%;
		float: none;
		margin: 0;
	}

	.single-shows h4.view-program {
		margin-top: 15px;
	}

	h1.show-title {
		font-size: 30px;
	}
	
	.homepage-hero .slide-container {
		padding: 15px;
	}

	.homepage-hero,
	.homepage-hero .slide {
		width: 100%;
		height: 480px;
		min-height: 0px;
		max-height: 100vh;
		text-align: center;
	}
	
	.homepage-hero a.gb-button {
		display: block;
		width: 100%;
	}
	
	.homepage-hero h1 {
		font-size: 30px;
	}
	
	.homepage-hero .gradient {
		background: rgb(0,0,0,0.5);
		background: -moz-linear-gradient(180deg, rgba(255,255,255,0) 25%, rgba(0,0,0,0.35) 50%, rgba(255,255,255,0) 75%);
		background: -webkit-linear-gradient(180deg, rgba(255,255,255,0) 25%, rgba(0,0,0,0.35) 50%, rgba(255,255,255,0) 75%);
		background: linear-gradient(180deg, rgba(255,255,255,0) 25%, rgba(0,0,0,0.35) 50%, rgba(255,255,255,0) 75%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); 
	}
	
}

@media (max-width: 359px) {

	.hide-320 {
		display: none;
	}
	
	.upcoming-shows-schedule div.show-wrapper .feat-img-col a {
		height: 320px;
		background-size: contain !important;
	}
	
	.homepage-hero,
	.homepage-hero .slide {
		height: 360px;
	}
	
}