@charset "UTF-8";

@-webkit-keyframes fade-in {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}

@-webkit-keyframes text-bloom {
	0% {
		opacity:0;
		letter-spacing:-5px;
	}
	100% {
		opacity:1;
		letter-spacing:-0px;
	}
}


body {
	font-family: "cormorant-garamond", serif;
	font-variant-alternates: normal;
	font-variant-numeric: lining-nums;
	background: #1b3764;
	color:#222;
    font-optical-sizing: auto;
    font-weight: 300;
	font-style: normal;
	padding:0;
	margin:0;
	width:100vw;
	max-width:100vw;
	overflow-x:hidden;
	overflow-x:clip;
	-webkit-transition: opacity 500ms;
	-moz-transition: opacity 500ms;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 500ms;
	transition: opacity 500ms;
	-webkit-animation-name: fade-in;
	-webkit-animation-duration: 1s;
	-webkit-animation-iteration-count: 1;	
}

b {
	font-weight:400;
	color: #000;
}

strong {
	font-weight:600;
}

a {
	cursor:pointer;
	text-decoration:none;
}

a:link, a:visited {
	color:inherit;
}

a:hover, a:active {
	color:#FC0;
	text-decoration:none;
}

#calendarPreview .entry a:link, #calendarPreview .entry a:visited {
	color:none;
}

#festivalApplicant a:link, #festivalApplicant a:visited {
	color:#ebcd58;
}

#festivalApplicant a:hover, #festivalApplicant a:active {
	color:#FC0;
}

#applicationPage #mainContent a:link, #applicationPage #mainContent a:visited, #contactPage #mainContent a:link, #contactPage #mainContent a:visited {
	color:#a01d25;
}

#applicationPage #mainContent a:hover, #applicationPage #mainContent a:active, #contactPage #mainContent a:hover, #contactPage #mainContent a:active  {
	color:#300;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 100;
	letter-spacing:-20pt;
	opacity:0;
	padding:0;
	margin:0;
	margin-top:10px;
	margin-bottom:10px;
	text-transform:uppercase;
	color: #BBB;
    -webkit-transition: all 1000ms;
    -moz-transition: all 1000ms;
    -ms-transition: all 0.9 ;
    -o-transition: all 1000ms;
    transition: all 1000ms;
}

h5 {
	text-transform:none;
	margin:0;
	padding:0;
	padding-top:10px;
}

#festivalTuition h5 {
	display: inline-block;	
}

#facultyPage artist, longdate {
	letter-spacing:-20pt;
	opacity:0;	
}

h1.show, h2.show, h3.show, h4.show, h5.show, h6.show, #facultyPage artist.show, question.show {
	letter-spacing:0pt;
	opacity:1;
}

#homePage h1 {
}

#calendarPage h1 {
	color:#ebcd58;
	color:#DDD;
}


#facultyPage h1 {
	color:#ebcd58;
	color:#DDD;
	text-align: left;
	margin-left:5vw;
}

h2 {
	text-align: right;
}

#calendarPage h2 {
	color:#ebcd58;
}


h3 {
}

#thumbnailGalleries h3 {
	text-transform:capitalize;
}

#homePage #calendarPreview h3, #festivalPage #calendarPreview h3, #homePage #calendarPreview h5, #festivalPage #calendarPreview h5, #festivalPage #group3 h3, #festivalPage #group6 h3 {
	color:#1b3764;	
}

h4 {
	text-transform:none;
    font-weight: 100;
	margin-top:50px;
}

#festivalPage h4 {
	margin-top:50px;
}

#festivalTuition h4 {
	color:#ebcd58;
}

#applicationPage h4 {
	color:#1b3764;
	margin-top:50px;
}


h5 {
    font-weight: 200;
}

h6 {
    font-weight: 200;
}

#festivalPage #facultyPreview h6 {
	color:#1b3764;	
}

.pagetitle {
	color: #FFF;
	text-transform:uppercase;
	font-style: normal;
	text-align:left;
	top:0;
	left:10px;
	z-index:8000;
}

.pagetitle-firstname {
	font-weight: 400;
	display: inline-block;
}

.pagetitle-surname {
	font-weight: 100;
	display: inline-block;
}

.mainmenu {
	display:block;
	text-align:center;
	text-transform:uppercase;
}

.pageBanner {
	font-weight:100;
	font-size:9vw;
	color:rgba(255,255,255,0.7);
	height:auto;
	padding:2vw;
	padding-top:40vw; 
	padding-bottom:6vw;
	text-align: left;
}

#mainContent {
	width:100vw;
}

h1, h3 {
/*    transform: translateX(400px);
	opacity:0;
	filter: blur(10px);*/
}

h1.show, h3.show {
	opacity:1;
    transform: translateX(0);
 	filter: blur(0px);
}

h2, h4 {
letter-spacing:-5pt;
	opacity:0;
}

h2.show, h4.show {
	opacity:1;
	letter-spacing:0pt;
 	filter: blur(0px);
}

.PIPF-divider {
	padding-top:50px;
	padding-bottom:50px;
	margin-left:auto;
	margin-right:auto;
	display:block;
	text-align:center;
	object-fit: fill;
	-webkit-transition: all 800ms;
	-moz-transition: all 800ms;
	-ms-transition: all 0.8s;
	-o-transition: all 800ms;
	transition: all 800ms;
}

.entry {
	padding:20px;
	border-bottom: 1pt solid #888;
}

#homePage .entry, #festivalPage .entry  {
	opacity:1;
    transform:none;
 	filter:none;
}

.entry.left {
    transform: translateX(-200px);
}

.entry.right {
    transform: translateX(200px);
	-webkit-transition-delay:0.2s;
	-moz-transition-delay:0.2s;
	-ms-transition-delay:0.2s;
	-o-transition-delay:0.2s;
	transition-delay:0.2s;
}

.entry.show {
	opacity:1;
    transform: translateY(0);
    transform: translateX(0);
 	filter: blur(0px);
}

p {
    transform: translateY(200px);
	opacity:0;
	filter: blur(10px);
	margin-bottom:20px;
}

#homePage p, #festivalPage p {

}

p.show {
	opacity:1;
    transform: translateY(0);
 	filter: blur(0px);
}

.MainPage {
	margin-left:auto;
	margin-right:auto;
	background-color:#FFF;
	background-position:top center;
	background:url("../images/PageBanners/HomePage.jpg") #FFF no-repeat;
	background-size:contain;
	text-align:center;
}

.pageContent {
	float:none;
	clear: both;
	height:auto;
	overflow-x: hidden;
	overflow-x: clip;
}

#pagefooter {
	margin-left:auto;
	margin-right:auto;
	text-align: center;
	text-transform: uppercase;
}

#footerCopyright {
	margin-top:10px;
	margin-bottom:10px;
}

#homePage #footerCopyright, #festivalPage #footerCopyright {
	color:#FFF;
}

.footerSection {
	display: block;
	bottom:0;
}

.vimeo-container {
	padding: 0;
	width: 100%;
	overflow: hidden;
	position: relative;
	background: #1b3764;
}

.vimeo-container iframe {
	box-sizing: border-box;
	width: 177.77777778vh;
	height: 56.25vw;
	min-width: 100%;
	min-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #1b3764;
}

#homePage {
}

.festivalDates {
	margin-top:50px;
	margin-top:10vh;
	font-style:italic;
	color:#a01d25;
	text-align: center;
	-webkit-animation-name: text-bloom;
	-webkit-animation-duration: 2s;
	-webkit-animation-iteration-count: 1;	
}

#homeWelcome {
	color:#1b3764;
	text-align:justify;
}

.facultyPreviewPhoto, .pastGuestThumb {
	object-fit: cover;
	object-position: center;
	text-align: center;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
	display: block;
	-webkit-transition: opacity 1000ms;
	-moz-transition: opacity 1000ms;
	-ms-transition: opacity 1s;
	-o-transition: opacity 1000ms;
	transition: opacity 1000ms;
	opacity:0;
	overflow: hidden;
}

.pastGuestThumb {
	display: inline-block;
}

.facultyPreviewPhoto.show, .pastGuestThumb.show  {
	opacity:1;
}

#facultyPreview, #facultyMenu {
	width:98vw;
	margin-left:auto;
	margin-right:auto;
	text-align: center;
}

#facultyMenu {
	margin-top: 30px;
}

#facultyMenu .entry, #facultyMenu .facultyPreviewPhoto {
	display: inline-block;
	border:none;
}

#facultyMenu .entry {
	width:auto;
	max-width:auto;	
}

#facultyMenu .facultyPreviewPhoto {
	
}

#facultyPreview .entry, #facultyMenu .entry {
	padding:2px;
	margin:2px;
}

.facultyPreviewThumbs .entry {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	padding:10px;
	margin:5px;
	background:none;
	border:none;
}

.facultyPreviewNames .entry {
	background:none;
	border:none;
}

#homeThankYou {
	font-style:italic;
	color:#1b3764;
	width:80%;
	width:80vw;
	margin-left:auto;
	margin-right:auto;	
}

#pastGuestArtists {
	text-align: center;
	color:#1b3764;
	width:80%;
	width:80vw;
	margin-left:auto;
	margin-right:auto;
}

#festivalPage #facultyPreview {
	color:#1b3764;
}

#festivalMain {
	color: #222;
}

#calendarPage {
	background: url("../images/PageBanners/schedulePage.jpg") #FFF no-repeat;
	background-size:contain;
}

#upcomingEvents {
	text-align: left;
}

#applicationPage {
	background: url("../images/PageBanners/applicationPage.jpg") #FFF no-repeat;
	background-size:contain;
	color:#222;
	text-align:justify;
}

#applicationBanner {
}


#facultyPage {
	background: url("../images/PageBanners/facultyPage.jpg") #FFF no-repeat;
	background-size:contain;
}

#facultyBanner {
}

.facWebsite {
	text-transform: uppercase;
}

.facWebsite a:link, .facWebsite a:visited  {
	color:#a01d25;
}

.facWebsite a:hover, .facWebsite a:active  {
	color:#1b3764;
}

#faqPage {
	background: url("../images/PageBanners/faqPage.jpg") #FFF no-repeat;
	background-size:contain;
	text-align:justify;
}

#faqBanner {
}

#contactPage {
	background: url("../images/PageBanners/contactPage.jpg") #FFF no-repeat;
	background-size:contain;
}


#contactBanner {
	
}

#socialPage {
/*	padding-top:50px;
	background:#FFF;
	padding-top:33vw;*/
	text-align: center;
}

#socialPage .pagetitle {
	font-size:36pt;
	padding-bottom:9vw;
	/*color: #000;*/
}

#socialPage a {
	color:#000;
}


/*--------------------------------------------------------------------------------------------------------------------------------*/

#socialMenu {
	position:absolute;
	top:0;
	right:0;
	z-index:300;
	width:100px;
	padding:35px;
}

#homePage #pagetitle {
}

#homePageBanner {
}

#homePageBanner #pagetitle {
}

.homePageSection, .pageSection {
	width:80%;
	margin-left:auto;
	margin-right:auto;
	color: #FFF;
}

.homePageSection.show {
	opacity:1;
    transform: translateX(0);
}

.homePageSection h1 {
}

#homePress {
	background:url("../images/PageBanners/HomeBanner.jpg") #000 no-repeat;
	background-position:left top;
	background-size:cover;
	height:90vh;
	min-height:600px;
	color:#FFF;
	-webkit-transition: opacity 500ms;
	-moz-transition: opacity 500ms;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 500ms;
	transition: opacity 500ms;
}

#homeQuote {
	text-align:center;
	-webkit-transition: opacity 500ms;
	-moz-transition: opacity 500ms;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 500ms;
	transition: opacity 500ms;
	width:70vw;
	margin-left:auto;
	margin-right:auto;
	margin-top:40vh;
}

#homePress #homeQuoteText {
	text-align:center;
}

#homeQuoteText {
	text-align:center;
	-webkit-transition: opacity 500ms;
	-moz-transition: opacity 500ms;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 500ms;
	transition: opacity 500ms;
	color:#000;
	font-style:italic;
}

#homeNews {
}

@media screen and (orientation:portrait) {
	
	#homeQuoteText {
	}
	
	#homeNews {
	}
	
}

@media screen and (orientation:landscape) {
	
	#homeQuoteText {
	}
	
	#homeNews {
	}

}


#homePage .entry {
}

#homeVideo {
	background: #000;
	border-top: 3px solid #FFF;
}

#homeVideoBG {
	display: block;
	background: #1b3764;
}

#homeVideoListing {
	display: block;
}

#bgvid {
	margin:0;
	width:100%; 
	/*z-index: -100;*/
    background:#000; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


#calendarPreview {
	text-align:center;
}

#homePage #calendarPreview {
	padding-top: 30vh;	
}

#calendarPreview h1 {
}

#calendarPreview h4 {
	margin:0;
	padding:5px;
}

#calendarPreview .entry {
	background:#a01d25;
	padding:20px;
	margin:3px;
	border:none;
	color: #FFF;
	text-align: center;
}

#calendarPreview .entry:hover {
	background:#1b3764;
} 


#homePhotos {
	margin-top:20vh;
	width:100vw;
}

/*------- home photo slideshow --------*/

#homePhotoSlideshow {
	margin:0;
	margin-top:20vh;
	padding:0;
	width:100vw;
	position:relative;
}

.homePhotoSlide {
	display:block;
	margin:0;
	padding:0;
	width:100vw;
	z-index:-10;
	overflow: hidden;
	position:absolute;
	margin-left:auto;
	margin-right:auto;
	bottom:0;
	-webkit-transition: opacity 900ms;
	-moz-transition: opacity 900ms;
	-ms-transition: opacity 0.9s;
	-o-transition: opacity 900ms;
	transition: opacity 900ms;
}

.homePhotoSlide img {
	object-fit:contain;
	object-position: left top;
	width:100vw;
	height:auto;
	display: block;
}	


/*------- end home photo slideshow --------*/


@media screen and (orientation:portrait) {

	#calendarPreview a:link h4, #calendarPreview a:visited h4  {
		color:#777;
	} 

	#calendarPreview a:hover h4, #calendarPreview a:active h4 {
		color:#222;
	} 
	
	#homeVideo {
		height:55vh;
		min-height:250px;
		margin-bottom:2px;
	}
	
	#bgvid {
		height:50vh;
	}
	
	#homePhotos {
		height:40vh;
		margin-top:0;
	}
	
	#homePhotoSlideshow {
		height:35vh;
	}
	
	.homePhotoSlide {
		height:40vh;
	}
	
}

@media screen and (orientation:landscape) {
	
	#calendarPreview a:link h4, #calendarPreview a:visited h4  {
		color:#BBB;
	} 

	#calendarPreview a:hover h4, #calendarPreview a:active h4 {
		color:#FFF;
	} 
	
	#homeVideo {
		height:95vh;
		min-height:600px;
		margin-bottom:-12px;
	}
	
	#bgvid {
		height:95vh;
	}
	
	#homePhotos {
		height:80vh;
		margin-top:0;
	}
	
	#homePhotoSlideshow {
		height:80vh;
	}
	
	.homePhotoSlide {
		height:80vh;
	}
}

#homeApplication {
	padding-top: 30vh;
	width: 60vw;
	margin-left:auto;
	margin-right:auto;
	text-align: center
}

#homeApplication a:link, #homeApplication a:visited {
	color:#ebcd58;	
}

#homeApplication a:hover, #homeApplication a:active {
	color:#FC0;	
}

#faqText {
	color: #222;
}

#faqText .pageSection {
	color: #222;
}

#bioText {
	padding:30px;
	display: block;
	background:rgba(255,255,255,0.85);
	text-align: justify;
}

reviewtext {
	display: block;
	text-align: justify;
}

author {
	display: block;
	text-align: right;
	font-style:normal;
}

#homeQuoteText author {
	color:#a01d25;
}

publication {
	display: block;
	text-align: right;
	text-transform:uppercase;
	font-style:normal;
}

#homeQuoteText publication {
	color:#1b3764;
}

calPrevDate {
	display: block;
	text-transform:uppercase;
	letter-spacing: 1pt;
	color:#ebcd58;	
}


longdate { text-transform:uppercase; color:#a01d25;  font-weight:400; opacity: 0;}
longdate.show {
	letter-spacing: 1pt;
	opacity: 1;
}
time { text-transform:uppercase; letter-spacing: 1pt; font-weight:400; color:#444; }
event { }
#calendarPreview event { display: block; clear: both; }
newsitem event { font-weight: 400; }
venue { text-transform:uppercase; color: #0A2978; letter-spacing: 1pt; font-weight:400; }
#calendarPreview venue { color:#FFF; display: block; }
city { text-transform:uppercase; color: #0A2978; letter-spacing: 1pt; }
#calendarPreview city { color:#FFF; display: block; }
repertoire {
	display: block;
}

description {
	display: block;
}

.buttonLink { 
	display:inline-block;
	padding:6px;
	padding-left:10px;
	padding-right:10px;
	margin:3px;
	margin-top: 10px;
	border: solid 1pt #FFF;
	color: #FFF;
	width: auto;
	text-align: center;
	letter-spacing: 0.5pt;
	background:#666;
	text-transform: uppercase;
	font-size:12pt;
}

#calendarPreview .buttonLink {
	width:35%;
}

a.buttonLink {
	color: #FFF;
	background: #1b3764;
	text-decoration:none;
}

a.buttonLink:hover {
	color: #000;
	background:#ebcd58;
}



#calendarPage .buttonLink { 
	color: #FFF;
	background: #1b3764;
	
}

#calendarPage a.buttonLink:hover {
	color: #000;
	background:#ebcd58;
}


website a {
	color: #FFF;
}

personnel {
	display: block;
}

#thumbnailGalleries {
	
}

#facultyPage .entry {
	width: 80vw;
	max-width:900px;
	margin-left:auto;
	margin-right:auto;
}

.bioPhoto {
	
}

#facultyPage .bioPhoto {
	margin-left:20px;
	margin-bottom:10px;
}

#facultyPage .entry {
	text-align:left;
}

artist {
	display: block;
}

#facultyPage .facTitle {
	color:#1b3764; 
}

#facultyPage .facCredentials {
	color:#a01d25; 
}

.facBio {
	text-align: justify;
}

#facultyPage artist, #facultyPage .facTitle, #facultyPage .facCredentials {
	text-align: left;
}

.bioPhoto {
	object-fit: cover;
	object-position: center;
	display: block;
	overflow: hidden;
}

#calendarPage .entry {
	float: none;
	clear: both;
}

.eventInfoGroup {
	display: block;
}


.calEventImg {
	object-position: center;
	display: block;
}

.calEventBanner {
	object-position: center;
	display: block;
	clear: both;
	margin-top:10px; 
	margin-bottom:10px;
	width:100%;
	object-fit:cover;
}

.eventDetailsGroup {
	display: block;	
}

.calLinkGroup {
	display: block;
	float: none;
	clear: both;
	text-align: center;
	margin-top:20px;
}

#applicationPage .pageSection {
	color: #222;
}

.photoGallery {
	text-align: center;
}

.thumb {
	opacity:0;
	-webkit-transition: all 800ms;
	-moz-transition: all 800ms;
	-ms-transition: all 0.8s;
	-o-transition: all 800ms;
	transition: all 800ms;
}

.thumb.show {
	opacity:1;
}

.thumb img {
	overflow:hidden;
	object-fit:cover;
	object-position: top center;
	display: inline-block;
	height:100px;
	width:100px;
	margin:3px;
	border: 1px solid #AAA;	
}



.vidContainer {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
	margin-bottom:40px;
}

.vidEmbed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

question {
	color: #a01d25;
	font-style: italic;
	text-align: right;
	display: block;
	margin-top:50px;
	letter-spacing:-5px;
	opacity:0;	
}

