/*
 Theme Name:   Shakespeare Festival v2019
 Description:  Elementor Hello Child Theme
 Author:       Foerstel Design
 Author URI:   http://foerstel.com
 Template:     elementor-hello
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  shakespeare_festival
*/

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

p:first-child {
	margin-top: 0;
}

body {
	position: relative;
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 16px;
	line-height: 1.4rem;
	color: #172A5C;
}

body:not(.home){
	background-color: #000;
	padding-top: 150px;
}

body.elementor-editor-active {
	padding-top: 150px;
}

.elementor-editor-active .elementor.elementor-5612 {
	position: initial;
}

body.home .elementor-5597 .elementor-element.elementor-element-2f2ab97c {
	margin-top: 0;
}

body.menu-open {
	position: relative;
	overflow-y: hidden;
}

a {
	color: #f30189;
}

h2 {
	font-size: 4rem;
	font-weight: 100;
}

.elementor-blockquote__content {
	margin: 0;
}

.elementor-blockquote__content:before,
.elementor-blockquote__content:after {
	display: inline-block;
	content: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 118 244"><defs><style>.a{fill:#fff;font-size:230px;font-family:Rockwell-Regular, Rockwell;letter-spacing:-0.07em;}</style></defs><text class="a" transform="translate(7 14)"><tspan x="-6.062" y="156">“</tspan></text></svg>');
	vertical-align: middle;
	width: 30px;
    height: 30px;
}

.elementor-blockquote__content:after {
	transform: translateY(-.5rem) rotateZ(180deg);
}

#topCalendar {
	height: 36px;
	vertical-align: bottom;
}

#topCalendar .elementor-button-text {
	display: none;
}

#topCalendarButton {
	position: fixed;
	top: 5px;
	right: 113px;
	z-index: 110;
}

/* Top Mega Menu */

#navigationToggle {
	background-color: rgba(35,205,219,0.98);
	position: fixed;
    top: 5px;
    right: 5px;
    width: 36px;
    height: 36px;
    padding: 5px;
    z-index: 950;
}

#navigationToggle path {
	fill: #fff;
}

.fd-mega-menu-container ul, .fd-mega-menu-container ol {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.top-menu {
	margin-bottom: 0;
}

.top-menu .fd-mega-menu-container {
	opacity: 0;
	visibility: hidden;
	display: flex;
	background-color: rgba(35,205,219, 0.96);
	overflow-y: scroll;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: .75rem 1.5rem;
	z-index: 900;
	transition: .2s linear;
}

body.menu-open .top-menu .fd-mega-menu-container {
	opacity: 1;
	visibility: visible;
}

.top-menu .fd-mega-menu {
	width: 360px;
	margin: 100px auto;
	text-align: center;
	transition: .2s linear;
}

.fd-mega-menu .menu-item a {
	display: block;
	padding: .25rem 1rem .25rem 1rem;
}

.fd-mega-menu .menu-item a {
	font-size: 22px;
	color: #fff;
}

.fd-mega-menu > .menu-item > a {
	pointer-events: none;
	text-transform: uppercase;
	font-size: 22px;
	letter-spacing: 1.5px;
}

.top-menu .fd-mega-menu > .menu-item > a {
	pointer-events: initial;
}

.fd-mega-menu > .menu-item > a:hover {
	color: #172a5c;
}

.top-menu .fd-mega-menu > .menu-item > a:hover {
	cursor: s-resize;
}

.top-menu .fd-mega-menu.active > .menu-item > a:hover {
	cursor: n-resize;
}

.top-menu .fd-mega-menu .sub-menu {
	overflow: hidden;
	max-height: 0;
	transition: .2s linear;
}

.top-menu .fd-mega-menu .sub-menu.active,
.top-menu .fd-mega-menu.active .sub-menu {
	overflow: visible;
	max-height: 600px;
	height: auto;
	margin-bottom: 1rem;
}

.top-menu .fd-mega-menu .sub-menu a {
	font-size: 14px;
	padding: .5rem 1rem .5rem 1rem;
	line-height: 1.1rem;
	transition: .1s linear;
}

.fd-mega-menu .sub-menu a:hover {
	//background-color: #29DDEB;
	color: #172a5c
}

#headerLogo {
	max-width: 250px;
}

#headerLogo img {
	min-height: 100px;
	max-height: 150px;
}

.boxed-container {
	position: relative;
	background-color: #fff;
	max-width: 1140px;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: 1rem;
	margin: 0 auto;
	z-index: 0;
}

.elementor-accordion .elementor-tab-content {
	padding: 0 0 .75rem 1.5rem !important;
    font-weight: 300;
}

.elementor-accordion .elementor-tab-content p {
	margin-top: 0;
}

.elementor-accordion .elementor-tab-content p:last-child {
	margin-bottom: 0;
}

.program-material-downloads .elementor-button {
	text-align: left;
	line-height: 1.2rem;
}

.program-material-downloads .elementor-button-text:not(.form-link)::before {
	float: left;
	content: '\f1c1';
	font-family:'FontAwesome';
	font-size: 1.5rem;
    margin-right: .75rem;
    margin-bottom: 5px;
}

.program-material-downloads .form-link .elementor-button-text::before {
	content: '\f298';
}

.program-material-downloads .website-link .elementor-button-text::before {
	content: '\f108';
}

.eventon_fullcal .evo_fc_day {
	padding: 20px 0 80px;
}

.eventon_events_list .eventon_list_event .evcal_desc .evcal_desc3, .evo_pop_body .evcal_desc .evcal_desc3 {
	display: initial;
}

.eventon_fc_days .evo_fc_day.has_events span {
	bottom: 46px;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i {
	background-color: #fde047;
}

.evofc_months_strip.names .eventon_fc_days .evo_fc_day.has_events span i {
	display: inline-block;
	width: initial;
}

.evofc_months_strip.names .eventon_fc_days .evo_fc_day.has_events span i:first-letter {
	color: white;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span {
	line-height: 26px;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title] {
	width: 28px;
	height: 28px;
	vertical-align: middle;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title]::before {
	font-family: "Roboto", sans-serif;
	color: #fff;
	font-style: normal;
	font-weight: normal;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Curtis Stigers: This Life"] {
	background-color: #fde047;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Curtis Stigers: This Life"]::before {
	content: '\2605';
}


.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Much Ado About Nothing"] {
	background-color: #4bb5d8;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Much Ado About Nothing"]::before {
	content: 'M';
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Ain’t Misbehavin’"] {
	background-color: #E78700;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Ain’t Misbehavin’"]::before {
	content: 'A';
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Romeo and Juliet"] {
	background-color: #AD4FC5;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Romeo and Juliet"]::before {
	content: 'R';
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Little Shop of Horrors"] {
	background-color: #68BF4C;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Little Shop of Horrors"]::before {
	content: 'L';
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="The 39 Steps"] {
	background-color: #F4333F;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="The 39 Steps"]::before {
	content: '39';
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Tour Launch Party"], .legend-icon.play-6 {
	background-color: #E3342F;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Tour Launch Party"]::before {
	content: 'L';
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Gala"],
.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Apprentice Showcase"]
 {
	background-color: transparent;
	width: initial;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Gala"]::before {
	content: 'Gala';	
	color: #172A5C;
	font-size: 13px;
    font-weight: bold;
}

.evofc_months_strip .eventon_fc_days .evo_fc_day.has_events span i[title="Apprentice Showcase"]::before {
	content: 'Show';
	color: #172A5C;
	font-size: 13px;
    font-weight: bold;
}

#evcal_list {
	display: none !important;
}

.evo_cal_above {
	padding-bottom: 15px;
}

.calendar-option-icon {
	background-color: #BBBCBE;
	width: 30px;
    height: 30px;
    margin-right: 5px;
    border-radius: 50%;
    font-size: 20px;
    line-height: 30px !important;
    color: #fff;
    text-align: center;
    vertical-align: middle;
}

.legend-icon-ice-cream {
	float: right;
	width: 30px;
	height: 30px;
}

.play-text-indicators {
	display: block;
	font-size: 13px;
	font-weight: bold;
    text-transform: uppercase;
	line-height: 1rem;
}

.eventon_events_list .eventon_list_event .evcal_desc .evcal_location,
.evo_pop_body .evcal_desc .evcal_location,
.eventon_events_list .eventon_list_event .evcal_desc .evcal_time,
.evo_pop_body .evcal_desc .evcal_time {
	padding-left: 20px;
	font-size: 18px;
	text-transform: uppercase;
	color: #000;
}

.tribe-events-calendar-month__day-cell .calendar-cell-indicators {
	font-size: 11px;
	line-height: 1.2em;
	margin-top: 8px;
}

.tribe-events-calendar-month__calendar-event {
	cursor: pointer;
}

.tribe-events-calendar-month__day-date-link {
	pointer-events: none;
}

.eventon_events_list .eventon_list_event .evcal_desc .evcal_time::before, 
.evo_pop_body .evcal_desc em.evcal_time::before {
	top: 50%;
	margin-right: 5px;
	transform: translateY(-50%);
}

.eventon_events_list .evcal_event_subtitle {
	padding-bottom: 5px;
}

/* Single Gallery Styles */

.single-gallery figure.gallery-item {
	margin-bottom: 1rem !important;
}

.single-gallery .gallery-icon img {
    width: 100%;
}

#calendarLegend .elementor-inner-column:not(#legendTop) .elementor-heading-title:not(.top-heading) {
	font-size: 13px;
}

.legend-icon {
	display: inline-block;
	background-color: #BBBCBE;
	width: 30px;
	height: 30px;
	font-size: 1.4rem;
	text-align: center;
	line-height: 30px;
	font-weight: 600;
	color: #fff;
	border-radius: 50%;
	font-style: normal;
}

.legend-icon:not(.fas):not(.far){
	font-weight: 300;
}

.legend-icon.play-1 {
	background-color: #4BB4D8;
}

.legend-icon.play-2 {
	background-color: #E78700;
}

.legend-icon.play-3 {
	background-color: #AD4FC5;
}

.legend-icon.play-4 {
	background-color: #68BF4C;
}

.legend-icon.play-5 {
	background-color: #F4333F;
}

.legend-icon.fa-wine-glass-alt,
.fa-wine-glass-alt {
	background-color: #a92150;
}

.legend-icon.fa-beer,
.fa-beer {
	background-color: #670f9e;
}

.legend-icon.fa-american-sign-language-interpreting,
.fa-american-sign-language-interpreting {
	background-color: #0587b1;
}

.legend-icon.fa-closed-captioning,
.fa-closed-captioning {
	background-color: #000;
}

.legend-icon.fa-audio-description,
.fa-audio-description {
	background-color: #2D0D80;
}

.legend-icon.fa-music,
.fa-music {
	background-color: #177e17;
}

.legend-icon-ice-cream #circle path {
	fill: #cc5c0a !important;
}

.legend-icon.fas {
	font-size: 1.2rem;
	line-height: 2rem;
}

.event-type-tags {
	position: absolute;
    top: initial !important;
    right: 5px !important;
    bottom: 24px !important;
    line-height: 1rem !important;
	font-size: 13px;
	font-weight: bold;
    text-transform: uppercase;
    color: #172A5C;
}

.age-icon img {
	max-height: 23px;
}

.ajde_evcal_calendar .calendar_header {
	margin-bottom: 1rem;
}

.evopop_top .custom_code {
	position: absolute;
	top: 0;
	left: -9999em;
}

#topSearch {
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
}

#topSearch .elementor-search-form--skin-full_screen .elementor-search-form__toggle {
	position: absolute;
    top: 10px;
    right: 1rem;
    z-index: 100;
}

#breadcrumbs {
	font-size: 13px;
}

.company-member {
	display: flex;
	margin-bottom: 60px;
}

.member-photo {
	flex-shrink: 0;
	padding-right: 1rem;
}

.member-photo img {
	width: 150px;
	max-width: 100%;
}

.round {
	border-radius: 50% !important;
}

.member-info {
	flex: 1;
}

.member-name {
	color: #e88600;
	font-size: 20px;
    font-weight: 300;
    letter-spacing: 0.2px;
    margin-bottom: .5rem;
    margin-top: 0;
}

.member-additional {
	margin-top: 0;
	margin-bottom: .5rem;
}

.member-title {
	text-transform: uppercase;
}

.member-phone {
	margin-right: 10px;
}

.member-email-button {
	background-color: #23cddb;
    padding: 0.2rem .5rem;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
}

.bio-wrap {
	position: relative;
}

.member-bio {
	max-height: 5rem;
	overflow: hidden;
	position: relative;
}

.member-bio.expanded {
	max-height: initial;
	overflow: initial;
	z-index: 5;
}

.read-more-bar {
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 30%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 30%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 30%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	position: absolute;
	bottom: -36px;
    left: 0;
    width: 100%;
    padding-top: 30px;
    cursor: pointer;
    font-size: 13px;
}

.sponsors-wrap svg path,
.sponsors-wrap svg polygon,
.sponsors-wrap svg polyline {
	fill: #000 !important;
}

.sponsors-wrap svg rect {
	fill: #000 !important;
}

.sponsors-wrap svg rect:first-of-type {
	fill: none !important;
}

.top-buttons {
	text-align: right;
}

span.indicator-dots {
	line-height: 0 !important;
	text-align: center;
	left: 0% !important;
	bottom: 10px !important;
	width: 100% !important;
}

span.indicator-dot {
	width: initial !important;
	line-height: initial;
}

span.indicator-dot {
	line-height: initial !important;
	position: static !important;
	background-color: #ddd;
	display: inline-block;
	width: 10px !important;
	height: 10px !important;
	margin: 0 1px;
	border-radius: 50%;
	bottom: initial !important;
}

.indicator-dot.interpreted-performance {
	background-color: #0587b1;
}

.indicator-dot.realtime-captioning {
	background-color: #000000;
}

.indicator-dot.wine-tasting {
	background-color: #a92150;
}

.indicator-dot.beer-tasting {
	background-color: #670f9e;
}

.indicator-dot.ice-cream-night {
	background-color: #cc5c0a;
}

.indicator-dot.pre-show-music {
	background-color: #177e17;
}

svg path[fill="none"] { 
  display: none;
}

/* TOP NOTIFICATION BAR */

.notification-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #f30189;
	padding: 15px;
	text-align: center;
    color: #fff;
    z-index: 100;
}

.notification-bar p:last-child {
	margin-bottom: 0;
}

.notification-bar a:hover {
	text-decoration: underline;
}

.notification-bar a {
	color: #EFD4A3;
	font-weight: bold;
}

.tribe-events-calendar-month__calendar-event-title-link {
	cursor: pointer;
}

.show-music {
	background-color: #fafafa;
	margin-top: 1rem !important;
	padding: .75rem !important;
	border-radius: 5px;
}

.show-music-heading {
	font-size: 20px;
	margin-bottom: 1rem !important;
}

.show-music-description {
	font-size: .9rem;
}

.show-music-learn-more:hover {
	color: #E88602 !important;
}

.show-music-description p {
	margin-bottom: 10px;
}

.show-music-description p:last-chid {
	margin-bottom: 0;
}

/*.has-notification .site-header {
	padding-top: 60px;
}*/

@media (min-width: 1024px) {
    .single-gallery .gallery {
		-webkit-column-count: 4; /* Chrome, Safari, Opera */
		-moz-column-count: 4; /* Firefox */
		column-count: 4;
    }
}
@media (min-width:361px) and (max-width:1024px) {
    .single-gallery .gallery {
    	-webkit-column-count: 3; /* Chrome, Safari, Opera */
		-moz-column-count: 3; /* Firefox */
		column-count: 3;
    }  
}
@media screen and (max-width:550px) {
    .eventon_fullcal .evofc_day span {
		display: inline-block !important;
	}
}

@media (max-width:480px) {
    .single-gallery .gallery {
    	-webkit-column-count: 1; /* Chrome, Safari, Opera */
		-moz-column-count: 1; /* Firefox */
		column-count: 1;
		column-gap: 1rem;      
    }

    .company-member {
		flex-direction: column;
	}

	.member-photo {
		padding-right: 0;
		padding: 1rem 0;
		text-align: center;
	} 
}

@media screen and (min-width: 900px) {
	#navigationToggle {
		display: none;
	}

	#topCalendarButton {
		position: initial;
	}

	#topCalendar .elementor-button-icon {
		display: none;
	}

	#topCalendar .elementor-button-text {
		display: block;
	}

	.top-menu .fd-mega-menu-container {
		opacity: initial;
		visibility: visible;
		display: flex;
		position: static;
	}

	.elementor-widget.top-menu {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
	}

	.fd-mega-menu {
		display: flex;
		width: 100%;
	}

	.top-menu .fd-mega-menu {
		width: 100%;
		//overflow: hidden;
		//max-height: 45px;
		margin: 0;
		text-align: left;
	}

	.fd-mega-menu > .menu-item {
		width: 16%;
		transition: .2s linear;
	}

	.fd-mega-menu > .menu-item.searchToggle {
		width: 20px;
	}

	.fd-mega-menu .menu-item a {
		font-size: 14px;
		padding-left: 0;
	}

	.top-menu .fd-mega-menu .sub-menu a {
		padding-left: 0;
	}

	.top-menu .fd-mega-menu .sub-menu.active,
	.top-menu .fd-mega-menu.active .sub-menu {
		margin-bottom: 2rem;
	}
}

@media screen and (min-width: 767px) {
	.elementor-blockquote__content:before,
	.elementor-blockquote__content:after {
		width: 50px;
	    height: 50px;
	   	margin: 0 -7px; 
	}
}

@media screen and (min-width: 900px) and (max-width: 960px) {
	.fd-mega-menu > .menu-item:nth-child(2) {
		width: 22%;
	}
}

@media screen and (min-width: 960px) and (max-width: 1080px) {
	.fd-mega-menu > .menu-item:nth-child(2) {
		width: 22%;
	}
}

@media screen and (min-width: 900px) and (max-width: 1080px) {
	.fd-mega-menu > .menu-item:nth-child(4) {
		width: 19%;
	}

	.fd-mega-menu > .menu-item:nth-child(5) {
		width: 15%;
	}
}

@media screen and (min-width: 1080px) {
	.fd-mega-menu > .menu-item {
		width: 16%;
		transition: .2s linear;
	}

	.fd-mega-menu > .menu-item:nth-child(1) {
		width: 15%;
	}

	.fd-mega-menu > .menu-item:nth-child(2),
	.fd-mega-menu > .menu-item:nth-child(4) {
		width: 19%;
	}
}

@media screen and (max-width: 899px) {
	#topSearch {
		background-color: rgba(232, 134, 0, 0.98);
		position: fixed;
	    top: 5px;
	    right: 77px;
	    width: 36px;
	    height: 36px;
	    z-index: 950;
	}

	#topSearch i {
		width: 36px;
		height: 36px;
		font-size: 46px;
	}

	#topTickets {
		position: fixed;
	    top: 5px;
	    right: 41px;
	    width: 36px;
	    height: 36px;
	    z-index: 110;
	}

	#topCalendarButton {
		padding-left: 0;
	    padding-right: 0;
	    width: 36px;
	}

	.elementor-5612 .elementor-element.elementor-element-05377e1 .elementor-button .elementor-align-icon-left {
		float: none;
	}

	.top-menu .fd-mega-menu > .menu-item > a::before {
		position: absolute;
		content: '+';
		padding: 0 .5rem;
		transform: translateX(-100%);
	}

	.top-menu .fd-mega-menu > .menu-item.open > a::before {
		content: '-';
	}
}