
/* scroll effect */
#home-container.grid-container .grid-item {
opacity: 0;
-webkit-transition: none !important;
transition: none !important;
-webkit-transition-duration: 0 !important;
transition-duration: 0 !important;
}

#home-container.grid-container{
	opacity: 0;
}

.window-loaded #home-container.grid-container,
.no-js #home-container.grid-container{
	opacity: 1;
}

#home-container.grid-container .grid-item.shown,
.no-js #home-container.grid-container .grid-item,
.no-cssanimations #home-container.grid-container .grid-item {
	opacity: 1;
}

.loader-container{
	z-index: 700;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	display: inline-block;
	opacity: 1;
	-webkit-transition: opacity 0.65s;
	transition: opacity 0.65s;
}

.loader-container.hide-loader{
	opacity: 0;
}

.loader-container.behind-loader{
	z-index: 0;
	opacity: 0;
}

/*#home-container.grid-container .grid-item.b-to-be-loaded{
	background: url("../icons/loader.gif");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 60px auto;
	opacity: 1;
	min-height: 50px;
	background: rgba(0,0,0,0.2);
}

#home-container.grid-container .grid-item.b-loaded-item{
	background: none;
}*/

/* Effect 1: opacity */
.effect-1 .animate {
	-webkit-animation: fadeIn 0.65s ease forwards;
	animation: fadeIn 0.65s ease forwards;
}

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

@keyframes fadeIn {
	0% { }
	100% { opacity: 1; }
}

/* end scroll effect */

@media screen and (max-width: 768px) {
	.desktop-only{
 		display: none;
 	}
}
@media screen and (min-width: 769px) {
 	.desktop-only{
 		display: block;
 	}
}


	html, body{
		margin: 0;
		padding: 0;
		width: 100%;
		font-family: 'Poppins', sans-serif;
		position: relative; /* position: relative needed in order to correctly position #footer */;

	}

	img{
		max-width: 100%;
		display: block;
	}

	a, a:visited{
		text-decoration: none;
		color: inherit;
	}

	h1{
		display: none;
	}

	#container{
		width: 90%;
		margin: auto;
		padding-bottom: 260px; /* increase value to push footer down. must match or be greater than 'top' value of absolutely positioned main content, in order to make sure body element is correct height */
	}

	.loader{
		position: fixed;
		text-align: center;
		width: 100%;
		top: 45%;
		left: 0;
		font-size: 0;
		background: url();
	}

	.no-js .loader, .no-cssanimations .loader{
		display: none;
	}

/*	header  */

	#header{
		width: 100%;
		margin: 50px 0;
		position: relative;
		overflow: auto;
		
		
		top: 50px;
	    left: 0;
	    right: 0;
	    margin: auto;
	    width: 90%;
	    position: fixed;
	    z-index: 800;
	}

	#header-main{
		width: 40%;
		margin: auto;
	}

	#header-main a{
		float: left;
		display: block;
		width: 33.33333%;
		text-align: center;
		letter-spacing: 2px;
		font-weight: 600;
	}
	
	#header a{
		-webkit-transition: -webkit-filter 0.3s; /* Safari */
		transition: filter 0.3s;
	}
	
	#header a:hover{
		-webkit-filter: brightness(60%); /* Safari 6.0 - 9.0 */
		filter: brightness(60%);
	}

	#header-main a svg,
	#header-main a img{
		margin: auto;
	}

	#header-main a:first-child svg,
	#header-main a:first-child img{
		width: 50%;
		
	}

	#header-main a#logo img,
	#header-main a#logo svg{
		width: 80%;
	}

	#header-main a:nth-child(3) svg,
	#header-main a:nth-child(3) img{
		width: 32%;
		margin: 9% auto;
	}

	#header-social {
		width: 10%;
		position: absolute;
		right: 20px;
		top: 24%;
	}

	#header-social a{
		width: 33.33333%;
		float: left;
	}

	#header-social a svg,
	#header-social a img{
		width: 68%;
		margin: auto;
	}

	#home-container .grid-item.left .text-under-img, #home-container .grid-item.left .text-by-itself{
		text-align: right;
	}

	#home-container .grid-item .text-under-img, #home-container .grid-item .text-by-itself{
		text-align: left;
	}

	.grid-item.loaded{
		opacity: 1;
	}

/*	header mobile  */

@media screen and (max-width: 769px) {

	#header{
		margin: 20px auto 40px auto;
	}

	#header-main{
		width: 90%;
		margin: 50px auto;
	}

	#header-social {
		width: 80px;
		right: 0;
		left: 0;
		top: 0;
		margin: auto;
	}

}

/* footer */

/* To push the footer further down, increase the padding on the bottom of the #container element.
To increase the gap between the footer and bottom of the page, increase the padding on the #footer element. */

	#footer{
		text-align: center;
		font-size: 0.8em;
		font-weight: 700;
		position: absolute; /* position at bottom of body element */
		bottom: 0;
		top: auto;
		left: 0;
		right: 0;
		padding: 40px 10px;
	}







/* ----------------------------------------------------------- homepage */

/* To increase column width, adjust the #home-container .grid-item
styling (3x - one normal, one screen max-width: 769px, and one screen min-width: 1600px).
'width' value and 'margin-left' and 'margin-right' values must add up to 100% - i.e.
if you increase the width (column width) you will need to decrease the horizontal margins
(column gutter). */

	#home-container{
		overflow: hidden;
		margin-bottom: 100px;
		top: 220px;
	}
	
	#home-container .grid-item:first-child{
	    margin-top: 0;
	}
	
	#home-container .grid-item:nth-child(2){
	    margin-top: 4.5%; /* needs to match the below column gutter */
	}
	
  	#home-container .grid-item{
	    width: 41%; /* 100% width made up 2x of 41% + 4.5% margin on left + 4.5% margin on right = 50% x 2 */
	    margin: 4.5%; /* column gutter */
	    float: left;
	    font-weight: 700;
	    font-size: 1.3em;
	    text-align: right;
	}
	
	#home-container .grid-item.fronty{
	    z-index:900;
	}

/*this class is to add to grid-items that have ended up in the right column*/
	#home-container .grid-item.right-col{ 
	    text-align: left;
	}

/*this is just to mix things up before the javascript fix (for making items in right col be left-aligned) is implemented
*/	#home-container .grid-item:nth-child(odd){
	    text-align: left;
	}



	#home-container .grid-item img{   /* ----------------------------------------------------------- delete this when live (forcing images to be 100% min)  */
	    width: 100%;
	}

	#home-container .grid-item span{
	    display: block;
	}

	#home-container .grid-item .text-under-img{
	    margin-top: 2em;
	}

	#home-container .grid-item .text-by-itself{
	    
	}

	#home-container .grid-item .large-text{
	    font-size: 1.4em;
	}

/*	homepage mobile  */

@media screen and (max-width: 769px) {

	#home-container .grid-item{
	    width: 88%; /* 100% width made up of 88% + 6% margin on left + 6% margin on right = 100% */
	    font-size: 1em;
	    margin: 2% 6%; /* column gutter */
	}

	#home-container .grid-item:nth-child(2){
		margin-top: 2%; /* needs to match the above column gutter */
	}

	#home-container .grid-item .text-under-img{
		margin-top: 1em;
	}

	#home-container .grid-item .text-by-itself{
		margin-bottom: 1em;
	}

	#home-container .grid-item iframe{
		height: 200px; /* the iframe height is set to 450px by default, need to decrease for mobile */
	}

}

@media screen and (min-width: 1600px) {

	#home-container .grid-item{
	    width: 30.33333%; /* 100% width made up 3x of 30.33333% + 1.5% margin on left + 1.5% margin on right = 33.33333% x 3 */
	    margin: 1.5%; /* column gutter */
	}

	#home-container .grid-item:nth-child(2){
		margin-top: 1.5%; /* needs to match the above column gutter */
	}

}


/* ----------------------------------------------------------- watch-all page */

/* I did the Watch page images by using background-size: cover and setting the image to a background rather than a separate element - #watch-container .grid-item .img-wrapper */

	#watch-container{
		overflow: hidden;
		margin-bottom: 150px;
		top: 220px;
		top: 260px;
	}

  	#watch-container .grid-item{
	    width: 47%;
	    margin: 1em 1.5%;
	    float: left;
	}

	#watch-container .grid-item .grid-image-wrapper{
		width: 100%;
		height: 0;
		padding-bottom: 50%;
		overflow: hidden;

	}
	
	
	.under-profile{
		outline:0px solid black;
	}
	
	.under-profile .grid-image-wrapper{
		position: relative;
	}

	.under-profile .grid-image-wrapper img{
		position: absolute;
		margin: auto;
		top: 0; bottom: 0; left: 0; right: 0;
	}

	#watch-container .grid-item .img-wrapper{
		height: 21vw; /* image aspect ratio set here - compared with screen width, which image width is a portion of - I just narrowed down the correct figure by a quick trial and error in Web Inspector */
		overflow: hidden;
	}

	#watch-container .grid-item .img-wrapper a{
		background-size: cover; /* set so that all have the same aspect ratio */
		background-repeat: no-repeat;
		display: inline-block;
		width: 100%;
		height: 100%;
	}

	.watch-title{   
	    display: block;
	    font-size: 1.6em;
	    font-weight: 700;
	    margin: 0.4em 0 0.2em 0;
	}

	.watch-type{   
	    display: block;
	    font-size: 1.2em;
	    text-transform: capitalize;
	}

	.watch-type .genre-comma:last-of-type{
		display: none;
	}


@media screen and (max-width: 769px) {

	#watch-container .grid-item{
	    width: 97%;
	    font-size: 1em;
	}

}


/* ----------------------------------------------------------- video page */

	#video-container{
		position: relative;
		overflow: auto;
		color: #bfbfbf;
		top: 220px;
		margin-bottom: 220px;
		
/* 		z-index: 999; */
	}

	#video-container iframe{
		width: 100%;
		position: relative;
/* 		z-index: 999; */
	}

	@media screen and (max-width: 768px) {
		#video-container iframe{
			height: 300px;
		}
	}

	@media screen and (min-width: 769px) {
		#video-container iframe{
			height: 500px;
		}
	}

	@media screen and (min-width: 1000px) {
		#video-container iframe{
			height: 700px;
		}
	}

	#video-container .watch-title{   
	    display: block;
	    font-size: 3.5em;
	    font-weight: 700;
	    margin: 0.4em 0 0 0;
	}

	#video-container .watch-type{   
	    display: block;
	    font-size: 3em;
	    margin-bottom: 0.8em;
	}

	@media screen and (max-width: 768px) {
		#video-container .watch-title{   
		    font-size: 2.5em;
		}

		#video-container .watch-type{   
		    font-size: 2em;
		}
	}

	#video-container .info-tab{
		background-color: #bfbfbf;
		color: #4d4d4d;
		padding: 0.8em 0.8em 0.4em 1.2em;
		width: 90%;
		max-width: 25em;
		float: left;
		margin-right: 45px;
		margin-bottom: 45px;
	}

	#video-container .info-tab h3{
		width: 100%;
		max-width: 25em;
		cursor: pointer;
		padding: 0;
		margin: 0;
		font-size: 1.8em;
	}

	#video-container .info-tab h3 .button{
		width: 1.2em;
		height: 1.2em;
		float: right;
		position: relative;
		top: 0.1em;
		/*background-image: url('http://candlelitpictures.co.nz/icons/arrow-204-xxl.png');
		background-size: 100% 100%;
		background-position: 50% 50%;*/
	}

	#video-container .info-tab h3 .button.close{
		top: 0;
		/*background-size: 90% 90%;
		background-repeat: no-repeat;
		background-image: url('http://candlelitpictures.co.nz/icons/x-mark-xxl.png');*/
	}

	#video-container .info-tab h3 .button .bar{
		width: 20px;
		height: 5px;
		background: #4d4d4d;
		position: absolute;
		top: 45%;
		-webkit-transition: all 0.1s ease;
		transition: all 0.1s ease;
		-webkit-transform-origin: 50%;
		transform-origin: 50%;
	}

	.bar:nth-child(1){
		transform: scaleX(1) translateX(-50%) rotate(45deg);
		margin-left: 9px;
	}

	.bar:nth-child(2){
		transform: scaleX(1) translateX(50%) rotate(-45deg);
	}

	#video-container .info-tab h3 .button.close .bar{
		height: 5px;
		width: 30px;
	}

	.close .bar:nth-child(1){
		transform: translateY(75%)  rotate(45deg);
		margin-left: 0;
	}

	.close .bar:nth-child(2){
		transform: translateY(-75%) rotate(-45deg);
		margin-top: 7px;
	}

	#video-container .info-tab .content{
		display: block;
		font-size: 1em;
		margin: 1em 0.8em 1.7em 0;
	}
	
	#video-container .info-tab .content h4{
		margin-bottom: 0;
	}
	#video-container .info-tab .content p{
		margin-top: 0;
	}
	#video-container .info-tab .content a{
		color: #f9f9f9;
		text-decoration: underline;
	}
	
	#video-container .info-tab.credits{


		
		
	}
	
	#video-container .info-tab.credits .content h4{
		width: 12em;
		float: left;
		margin: 0;
		
		
	}
	
	#video-container .info-tab.credits .content .namecontainer{
		width: 11.5em;
		float: left;
	}
	
	#video-container .info-tab.credits .content ul{
		margin-top: 0.5em;
	}
	#video-container .info-tab.credits .content p{
		margin: 0;
	}
	
	#video-container .info-tab.credits .content .creditcontainer{
		float: left;
		width: 100%;
		margin: 0.2em 0;
	}
	
	#video-container .info-tab.credits .content .creditstext{
		float: left;
		margin: 1em 0 0.3em 0;
	}
	
	
	






/* ------------------------------------------ subfooter for video pages */

	#subfooter{
		width: 102%;
		overflow: hidden;
		margin-top: 8em;
	}

	#subfooter .grid-item {
		width: 48%;
		margin: 0 2% 2em 0;
		float: left;
	}

	#subfooter .grid-item .grid-image-wrapper{
		width: 100%;
		height: 0;
		padding-bottom: 50%;
		overflow: hidden;

	}

	@media screen and (min-width: 769px) {
		#subfooter .grid-item {
			width: 23%;

		}

	}

	#subfooter .grid-item .watch-title,
	#subfooter .grid-item .watch-type{
		font-weight: 100;
		font-size: 0.8em;
		color: #adadad;
	}



/* ----------------------------------------------------------- profile page */

/*
	#profile-bg{
		
		width: 100%;
	    height: 100%;
	    z-index: -100;
	    position: fixed;
	    top: 0;
	    left: 0;
	}
*/

	#profile-container{
		position: relative;
		color: #919191;
		top: 220px;
		margin-bottom: 20px;
	}
	
	#profile-container-container{
		margin-bottom: 40px;
        overflow: auto;
	}

	#profile-name{
		font-size: 3.5em;
	    font-weight: 700;
	    margin: 0.4em 0 0 0;
	}

	#profile-role{   
	    font-size: 1.2em;
	    font-weight: 100;
	    margin-bottom: 1em;
        margin-top: 0em;
	}
	
	#profile-role p{   
	    margin: 0!important;
	}

	
	#profile-contact p{
		margin: 0;
		font-size: 0.9em;
		
	}
	
	#profile-contact p a{
		text-decoration: none;
		
	}
	
	#profile-pic{
		float: right;
		width: 30%; 
	}

	#profile-text{  
		float: left; 
		width: 65%;
	    font-size: 1em;
	    font-weight: 100;
	}
	
	.profile-social{
		font-size: 0.9em;
	}

	@media screen and (max-width: 769px) {
		#profile-pic{
			width: 90%;
			margin: 0 5% 2em 5%;
		}
		#profile-text{  
			width: 100%;
		}

	}


	#profile-pic{
		border-radius: 50%;

	}
	
	#profile-pic:after {
	  content: "";
	  display: block;
	}
	
	#profile-pic img{
		filter: grayscale(100%);
		border-radius: 50%;

	}

	
	#profile-text a{
		text-decoration: underline;
		color: #adadad;
	}

	#watch-container.profile-page{
		width: 102%;
		top: 0;
	}

	#watch-container.profile-page .grid-item{
		margin: 1em 3% 1em 0;
		height: 21vw;
		min-height: 300px;
	}
	
	@media screen and (max-width: 769px) {
		#watch-container.profile-page{
			width: 360px;
			max-width: 90%;
			margin: auto;
		
		}
	}
	
	@media screen and (min-width: 900px) {
		#watch-container.profile-page .grid-item{
			width: 30.33333%;
		}
	}
	@media screen and (min-width: 1400px) {
		#watch-container.profile-page .grid-item{
			width: 22%;
		}
	}
	
	#watch-container.profile-page .grid-item iframe,
	#watch-container.profile-page .grid-item .grid-image-wrapper{
		background-size: cover;
		width: 100%;
		padding: 0;
		height: 200px;
		display: inline-block;
	}

	@media screen and (min-width: 1700px) {
		#watch-container.profile-page .grid-item iframe, #watch-container.profile-page .grid-item .grid-image-wrapper{
			height: 300px;
		}
	}


/*


	@media screen and (min-width: 900px) {

		#watch-container.profile-page .grid-item iframe,
		#watch-container.profile-page .grid-item .grid-image-wrapper{
			height: 200px;
			outline: 1px red solid;
		}
	}
	@media screen and (min-width: 1200px) {

		#watch-container.profile-page .grid-item iframe,
		#watch-container.profile-page .grid-item .grid-image-wrapper{
			height: 250px;
			outline: 1px orange solid;
		}
	}
	@media screen and (min-width: 1400px) {

		#watch-container.profile-page .grid-item iframe,
		#watch-container.profile-page .grid-item .grid-image-wrapper{
			height: 250px;
			outline: 1px yellow solid;
		}
	}
	@media screen and (min-width: 1600px) {

		#watch-container.profile-page .grid-item iframe,
		#watch-container.profile-page .grid-item .grid-image-wrapper{
			height: 260px;
			outline: 1px green solid;
		}

	}
	@media screen and (min-width: 1800px) {

		#watch-container.profile-page .grid-item iframe,
		#watch-container.profile-page .grid-item .grid-image-wrapper{
			height: 280px;
			outline: 1px purple solid;
		}

	}
*/









	

	#watch-container.profile-page .watch-title{
		font-size: 1em;
		font-weight: 400;
	}
	
	#watch-container.profile-page .watch-type{
		font-size: 0.9em;
	}

	#watch-container.profile-page .watch-type.role{
		margin-bottom: 0;
	}



/* spinner */

@keyframes lds-spin {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.5, 1.5);
    transform: scale(1.5, 1.5);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-webkit-keyframes lds-spin {
  0% {
    opacity: 1;
    -webkit-transform: scale(1.5, 1.5);
    transform: scale(1.5, 1.5);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
.ng-scope{
	display: inline-block;
}
.lds-spin {
  position: relative;
}
.lds-spin div > div {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #4790C8;
  -webkit-animation: lds-spin 1s linear infinite;
  animation: lds-spin 1s linear infinite;
}
.lds-spin div:nth-child(1) > div {
  left: 150px;
  top: 90px;
  -webkit-animation-delay: -0.875s;
  animation-delay: -0.875s;
}
.lds-spin > div:nth-child(1) {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transform-origin: 160px 100px;
  transform-origin: 160px 100px;
}
.lds-spin div:nth-child(2) > div {
  left: 132.42640686px;
  top: 132.42640686px;
  -webkit-animation-delay: -0.75s;
  animation-delay: -0.75s;
}
.lds-spin > div:nth-child(2) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: 142.42640686px 142.42640686px;
  transform-origin: 142.42640686px 142.42640686px;
}
.lds-spin div:nth-child(3) > div {
  left: 90px;
  top: 150px;
  -webkit-animation-delay: -0.625s;
  animation-delay: -0.625s;
}
.lds-spin > div:nth-child(3) {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: 100px 160px;
  transform-origin: 100px 160px;
}
.lds-spin div:nth-child(4) > div {
  left: 47.57359314px;
  top: 132.42640686px;
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}
.lds-spin > div:nth-child(4) {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transform-origin: 57.57359314px 142.42640686px;
  transform-origin: 57.57359314px 142.42640686px;
}
.lds-spin div:nth-child(5) > div {
  left: 30px;
  top: 90px;
  -webkit-animation-delay: -0.375s;
  animation-delay: -0.375s;
}
.lds-spin > div:nth-child(5) {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transform-origin: 40px 100px;
  transform-origin: 40px 100px;
}
.lds-spin div:nth-child(6) > div {
  left: 47.57359314px;
  top: 47.57359314px;
  -webkit-animation-delay: -0.25s;
  animation-delay: -0.25s;
}
.lds-spin > div:nth-child(6) {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  -webkit-transform-origin: 57.57359314px 57.57359314px;
  transform-origin: 57.57359314px 57.57359314px;
}
.lds-spin div:nth-child(7) > div {
  left: 90px;
  top: 30px;
  -webkit-animation-delay: -0.125s;
  animation-delay: -0.125s;
}
.lds-spin > div:nth-child(7) {
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
  -webkit-transform-origin: 100px 40px;
  transform-origin: 100px 40px;
}
.lds-spin div:nth-child(8) > div {
  left: 132.42640686px;
  top: 47.57359314px;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.lds-spin > div:nth-child(8) {
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
  -webkit-transform-origin: 142.42640686px 57.57359314px;
  transform-origin: 142.42640686px 57.57359314px;
}
.lds-spin div:nth-child(9) > div {
  left: 150px;
  top: 90px;
  -webkit-animation-delay: 0.125s;
  animation-delay: 0.125s;
}
.lds-spin > div:nth-child(9) {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  -webkit-transform-origin: 160px 100px;
  transform-origin: 160px 100px;
}
.lds-spin {
  width: 85px !important;
  height: 85px !important;
  -webkit-transform: translate(-42.5px, -42.5px) scale(0.425) translate(42.5px, 42.5px);
  transform: translate(-42.5px, -42.5px) scale(0.425) translate(42.5px, 42.5px);
}

/* end spinner */

.hide{
	display: none;
}

#watch-container-parent + #subfooter .grid-item:nth-last-child(2), #watch-container-parent + #subfooter .grid-item:nth-last-child(1){
	display: none;
}