/*
Theme Name:		FRANK
Theme URI:		
Author:			Ellsworth Media
Author URI:		http://www.ellsworthmedia.com/
Version:		1.01
*/

html * { 
	-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; -webkit-font-smoothing:antialiased; -moz-font-smoothing:antialiased; font-smoothing: antialiased; 
	padding: 0; margin: 0;
}
body { 
	position: relative;
	padding: 0; margin: 0;
	font-size:16px; font-family: 'Poppins', sans-serif; overflow-x:hidden; letter-spacing:0; font-weight:400; background:#000; color:#FFF; 
	display: none;
}
input, textarea { border-radius:0; }
input, textarea, select, label { font-family: 'Poppins', sans-serif; outline:0; }
input:focus, input:hover { outline:0; }
::-webkit-input-placeholder { color:#D8D8D8; opacity:1; }
:-moz-placeholder { color:#D8D8D8; opacity:1; }
::-moz-placeholder { color:#D8D8D8; opacity:1; }
:-ms-input-placeholder { color:#D8D8D8; opacity:1; }

h1, h2, h3, h4, h5, h6 { padding:0; margin:0 0 15px 0; line-height:1.2; font-weight:600; letter-spacing:0; outline:0; }
h1 { font-size:38px; text-transform: uppercase; }
h2 { font-size:38px; letter-spacing: 5px; text-transform: uppercase; }
h3 { font-size:38px; }
h4 { font-size:16px; color: #FF0086; padding: 0; margin: 0; }
h5 { font-size:16px; }
h6 { font-size:16px; }
img { display:block; max-width:100%; height:auto; }
ul,ol { margin:0; padding:0; list-style:none; }
a, a:visited, a:active, input[type=submit] { text-decoration:none; -webkit-transition:all .3s ease-out; -moz-transition:all .3s ease-out; -o-transition:all .3s ease-out; -ms-transition:all .3s ease-out; transition:all .3s ease-out; }
a:focus, a:hover { text-decoration:none; outline:0; }
:focus, :hover { text-decoration:none; outline:0; }
svg path { transition:all .3s ease-out; }
p { margin:0 0 25px 0; line-height:1.5; }
.animate { transition:all 0.3s ease 0s; -webkit-transition:all 0.3s ease 0s; -moz-transition:all 0.3s ease 0s; -ms-transition:all 0.3s ease 0s; }
.no-animate { transition:none; -webkit-transition:none; -moz-transition:none; -ms-transition:none; }
strong { font-weight:700; }
.button { display:inline-flex; align-items:center; color:#FFF; background:#000; padding:9px 15px 9px 18px; text-align:center; font-size:16px; font-weight:600; border-radius:30px; }
.button:visited { background:#000; color:#FFF; }
.button:active { background:#43AB6C; color:#FFF; }
.button:hover { background:#43AB6C; color:#FFF; }

/* modal */
body .blocker {z-index: 10000; padding: 0;}
	body .modal {background: transparent; padding: 0; height: 100%; width: 100%; min-width: 100%; box-shadow: none; position: relative;}
		body .modal-inner {
			height: 100vh; width: 100vw; max-height: 90vh; max-width: 90vw; position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}
			body .modal a.close-modal {z-index: 50000; top: 30px; right: 30px; width: 40px; height: auto; background-image: url(images/icon-close.svg) !important;}
				body .modal a.close-modal:hover {opacity: 0.5;}

.video-container {position: relative; padding-bottom: 56.25%; height: 0; width: 100%;}
	.video-container iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

/* video container */
.responsive-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: clamp(0px, 100vw, calc(80vh * 16 / 9));
	height: clamp(0px, 100vh, calc(80vw * 9 / 16));
	max-height: 80vh;
	max-width: 80vw;
}
	.responsive-container iframe {
		width: 100%; height: 100%; border: none; display: block;
	}

.video-holder {background: rgba(0,0,0,0.5);}
	.video-holder .video-caption {position: absolute; top: 28px; z-index: 5000; width: 100%; text-align: center;}

.video-holder .video-prev, .video-holder .video-next {position: absolute; z-index: 40000; top: 50%; transform: translateY(-50%);}
	.video-holder .video-prev:hover, .video-holder .video-next:hover {opacity: 0.5;}
	.video-holder .video-prev {left: 30px;}
	.video-holder .video-next {right: 30px;}


/*-----------------------------------------------------------------------------------*/
/* Structure
/*-----------------------------------------------------------------------------------*/

.container { margin:0 auto; width:100%; padding-left:40px; padding-right:40px; max-width:none; }
.view-mobile { display:none; }

#overlay {display: none; position: fixed; top: 0; left: 0; z-index: 5000; height: 100vh; width: 100vw; background: rgba(0,0,0,0.5);}

/*-----------------------------------------------------------------------------------*/
/* Header styling
/*-----------------------------------------------------------------------------------*/

#header { padding:20px 0; position:fixed; left:0; top:0; width:100%; z-index:4000; transition:all 0.3s ease 0s; }
	#header.active { background:#000; }
	#header .container { display:flex; align-items:center; justify-content:space-between; }
		#header .logo:hover { opacity: 0.66; }
		#header .menu-icon { margin:0 0 0 auto; }
			#header .menu-icon:hover { /*opacity: 0.8;*/ filter: brightness(0) invert(1); }

#menu-container { 
	padding:20px 40px; left:auto; text-align:left; height:100vh; min-height: 480px; color:#FFF; background:#000; overflow-y:auto; position:fixed;
	width:100%; max-width: 480px; right: -100%; top:0; 
	z-index:10000; transition:all 0.5s linear; 
}

	#menu-container .menu-container-top { position: relative; width: 100%; }
	#menu-container .menu-container-top .close-icon { position: absolute; top:10px; right: 0; }
	#menu-container .menu-container-top .close-icon:hover { opacity: 0.8; }

	#menu-container nav { margin: 100px 0 0 0; }
		#menu-container nav ul { display:block; }
			#menu-container nav li { margin:0; display:block; line-height:1.2; border-bottom: solid 1px #4A4A4A; width: 100%;}
				#menu-container nav li a { font-size: 36px; font-weight:300; color:#FFF; display: block; padding: 30px 20px; line-height: 1; }
				#menu-container nav li a:hover,
				#menu-container nav li.current_page_item > a { color:#FF0086; }

	#menu-container .menu-container-bottom { position: absolute; bottom: 20px; left: 60px; width: calc(100% - 40px); }
		#menu-container .menu-container-bottom p { font-size: 12px; }
			#menu-container .menu-container-bottom p br {display: none;}
			#menu-container .menu-container-bottom p a {color: #fff;}
				#menu-container .menu-container-bottom p a:hover {color:#FF0086;}
		#menu-container .menu-container-bottom p a { display: block; }
			#menu-container .menu-container-bottom .dot {display: none;}

	#menu-container.show-menu { right:0; }


/*-----------------------------------------------------------------------------------*/
/* Footer styling
/*-----------------------------------------------------------------------------------*/

#footer { font-size: 14px; margin: 100px 0 0 0; }
	
	#footer .social {display: flex; justify-content: center;}
		#footer .social li {margin: 40px 60px;}
			#footer .social li:hover {opacity: 0.8;}

	#footer a {color:#fff;}
		#footer a:hover {color:#FF0086;}
	
	#footer-bottom {display: flex; justify-content: space-between;}

#footer-logos {margin: 10px auto 40px auto; display: block;}

/*-----------------------------------------------------------------------------------*/
/* Shared
/*-----------------------------------------------------------------------------------*/

.dot {color: #FF0086;}

.gradient {background: rgb(0,0,0); background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);}

#page-hero { display: flex; justify-content: flex-end; padding: 0; align-items: center; height: 83px;}
	#page-hero h1 { font-size: 24px; text-transform: uppercase; font-weight: 500; letter-spacing: 5px; padding: 0; margin: 3px 85px 0 0; }

.intro-centered .container {text-align: center; padding: 40px 0;}
	.intro-centered h2 {margin: auto; padding: 40px 0 0 0;}
	.intro-centered h3 {max-width: 920px; padding: 0; margin: 50px auto;}
	.intro-centered p {max-width: 740px; padding: 0; margin: 0 auto 30px auto;}
	.intro-centered p > a {color: #FF0086;}
		.intro-centered p > a:hover {color: #FF0086; text-decoration: underline;}
	.intro-centered .scroll {margin: auto; display: block; text-align: center;}
		.intro-centered .scroll img {margin: auto; display: block; text-align: center;}
	
.intro-plus {padding-top: 40px;}
	.intro-plus .container {display: flex; align-items: center; justify-content: left;}
		.intro-plus h2 {margin-left: 24px; line-height: 1.6;}

#main {display: flex; align-items: center; justify-content: center; position: relative; padding: 60px 0;}
	#main .container {min-height: calc(100vh - 580px);}
		#main h2 {width: 100%; text-align: center;}
		#main a {color: #FF0086;}

.grid {display: flex; flex-wrap: wrap; width: calc(100% + 10px); margin: -5px;}
	.grid li {
		width: calc(33.33333% - 10px); margin: 5px; position: relative; height: calc(300px + 10px); background-size: cover; background-position: center center;
	}
	.grid li:hover {}
		.grid li .gradient {position: absolute; z-index: 1; height: 105px; width: 100%; bottom: 0; left: 0;}
		.grid li a {position: absolute; z-index: 5; width: 100%; height: 300px; bottom: 0; left: 0; margin: 0;}
			.grid li a h3 {position: absolute; color: #fff; font-size: 18px; bottom: 0; left: 0; padding: 20px; margin: 0; text-transform: uppercase;}

/* slider */
.flexslider { position:relative; height: 100vh; min-height: 600px; }
    .flexslider ul.slides li { position: relative; display: flex; align-items: center; }
		
		.flexslider ul.slides li.clone {display: none !important;} 

		.flexslider ul.slides li .video-holder { 
			position: relative; height: 100vh; width: 100%; display: flex; align-items: center; justify-content: center;
		}
		.flexslider ul.slides li iframe {
			position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(90vh * 1.7777); height: 90vh;
		}

	.flexslider .flex-control-nav { display:none; }
    
	.flex-direction-nav {
		z-index: 1000; width: 100%; opacity: 1; margin: 0; padding: 0; 
		display: flex; justify-content: space-between; align-content: center;
		position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	}
		.flex-direction-nav a {
			display: block; text-decoration: none;
			width: 24px;
			height: 24px;
			margin: 0 40px 0 40px;
			z-index: 10;
			cursor: pointer;
			color: #fff;
		}
		.flex-direction-nav .flex-prev {text-indent: -5000px; text-align: left; background: url(images/arrow-left.svg) center center no-repeat; }
		.flex-direction-nav .flex-next {text-align: right; text-indent: 5000px; background: url(images/arrow-right.svg) center center no-repeat;}
			.flexslider:hover .flex-direction-nav .flex-prev:hover {opacity: 0.5;}
			.flexslider:hover .flex-direction-nav .flex-next:hover {opacity: 0.5;}

/* modal */
.modal .flexslider { position:relative; height: 100vh; }


/*-----------------------------------------------------------------------------------*/
/* Home Page styling
/*-----------------------------------------------------------------------------------*/

#top-hero { position: relative; height: 100vh; min-height: 600px; }
	#top-hero .gradient {
		z-index: 2; position: absolute; width: 100%; height: 100vh; min-height: 600px;
		background: rgb(0,0,0); background: linear-gradient(0deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.2) 100%);
	}
	#top-hero .container { position: relative; z-index: 3; display:flex; justify-content:center; align-items:center; height:100vh; min-height: 600px;  }
		#top-hero h1 { color:#FFF; margin:0 auto; line-height:1.1; text-align: center; letter-spacing: 10px; }
	#top-hero .plus { position: absolute; z-index: 3; bottom: 30px; left: 50%; transform: translateX(-50%); height: 32px; width: 32px; }

	#top-hero .slides li {z-index: 1; position: absolute; width: 100%; height: 100vh; min-height: 600px;}

	#top-hero-bg {
		z-index: 1; position: absolute; width: 100%; height: 100vh; min-height: 600px; opacity: 0.4;
		background-size:cover; background-position:center center; background-repeat:no-repeat; 
	}

	.home .video-container {
		z-index: 1;
		position: absolute;
		top: 0;
		bottom: 0;
		width: 100%; 
		height: 100%; 
		overflow: hidden;
	}

		.home .video-container video {
			/* Make video to at least 100% wide and tall */
			min-width: 100%; 
			min-height: 100%; 

			/* Setting width & height to auto prevents the browser from stretching or squishing the video */
			width: auto;
			height: auto;

			/* Center the video */
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
		}

	#top-hero .flex-direction-nav {display: none; opacity: 0.5;}
	#top-hero:hover .flex-direction-nav {opacity: 1;}

#all-things {background: #000; z-index: 2; height: 100vh; display: flex; align-items: center; justify-content: center; position: relative;}
	#all-things h2 {letter-spacing: 5px; height: 100vh; width: 100%; display: flex; justify-content: center; align-items: center;}
		#all-things h2 a {color: #fff; height: 100vh; width: 100%; display: flex; justify-content: center; align-items: center;}
			#all-things h2:hover {opacity: 0.8;}
	#all-things .plus-left {position: absolute; left: 30px; top: 50%; transform: translateY(-50%);}
	#all-things .plus-right {position: absolute; right: 30px; top: 50%; transform: translateY(-50%);}

#gallery {text-align: center;}
	#gallery img {height: auto; width: 100%;}
	#gallery .more {margin: 50px auto; display: block; color: #FF0086; font-size: 20px; letter-spacing: 2px;}
	#gallery .more:hover {opacity: 0.75;}


/*-----------------------------------------------------------------------------------*/
/* Default Page
/*-----------------------------------------------------------------------------------*/

.page-template-default #top-hero,
.page-template-default #top-hero .container {height: 50vh; min-height: 300px;}

.page-template-default #main {padding-top: 0;}
	.page-template-default #main .container {max-width: 960px;}
		.page-template-default #main .container h2 {max-width: 960px; font-size: 28px;}
		.page-template-default #main .container h3 {font-size: 18px; margin-bottom: 5px;}
		.page-template-default #main .container a:hover {text-decoration: underline;}

.page-template-default #main .container ul {
	list-style-type: disc;
	margin: -5px 0 5px 30px; padding-bottom: 20px;
}

.page-template-default #main .container ol.alpha-list {
	list-style-type: lower-alpha;
	margin: 5px 0 5px 30px; padding-bottom: 20px;
}

/*-----------------------------------------------------------------------------------*/
/* Talent
/*-----------------------------------------------------------------------------------*/

.page-template-talent #main, .page-template-talent-grid #main {padding: 0 0 40px 0; flex-wrap: wrap;}
	.page-template-talent #main .container, .page-template-talent-grid #main .container {min-height: 1px;}
 
	#tabs {position: relative; display: flex; flex-wrap: wrap;}

		#talent-nav {padding-top: 50px; width: 100%; /*z-index: 500; display: flex; width: calc(100% - 80px); justify-content: space-between; position: absolute; bottom: 0;*/ }

		ul#talent-tab-links {display: flex; flex-wrap: wrap; justify-content: flex-start; }
			ul#talent-tab-links li {list-style: none; font-size: 32px; font-weight: 400; margin-right: 80px; border-bottom: solid 2px #000;}
				ul#talent-tab-links li span { font-size: 30px; }
			ul#talent-tab-links li a {color: #fff;}
			ul#talent-tab-links li.ui-state-active, ul#talent-tab-links li:hover {border-bottom: solid 2px #FF0086;}

		ul#switch-view-icons {display: flex; flex-wrap: wrap; justify-content: flex-end; margin: 15px 0;}
			ul#switch-view-icons li {list-style: none; margin-left: 8px; }
			ul#switch-view-icons li:first-of-type {margin-left: 0; }
			ul#switch-view-icons li:hover a img { opacity: 0.66;}

	#talent-listing {padding: 0; width: 100%;}
	
		#talent-listing .tab-content { display: none; }
			#talent-listing .tab-content h2 {
				text-align: left; width: 100%; color: rgba(255,255,255,0.8); font-size: 30px; letter-spacing: 0; margin: 100px 0 10px 0;
				font-weight: normal; text-transform: none;
			}
		#talent-listing .ui-state-active { display:block; opacity:1; }

		#talent-listing ul.talent-list {display: flex; flex-wrap: wrap;}
			#talent-listing ul.talent-list li {width: calc(33.333%); padding: 0 50px 0 0;}
				#talent-listing ul.talent-list li .icon-link {opacity: 0; margin-left: 5px; display: inline-block;}
				#talent-listing ul.talent-list li a:hover .icon-link {opacity: 1; filter: none; }
				#talent-listing ul.talent-list li a {color: rgba(255,255,255,0.9); font-size: 32px; display: inline-block; padding: 8px 0;}
					#talent-listing ul.talent-list li a:hover {color: #FF0086; }
	
#breadcrumb {padding: 30px 0 0 0;}
	#breadcrumb a {color: #fff;}
		#breadcrumb a:hover {text-decoration: underline;}
#breadcrumb-mobile {display: none;}

#director-intro {padding-top: 40px;}
	#director-intro .container {display: flex; align-items: center; justify-content: left; flex-wrap: wrap;}
		#director-intro h1 { width: 100%; display: flex; align-items: center; font-size: 38px; letter-spacing: 5px; line-height: 1; margin-bottom: 30px; }
			#director-intro h1 img {display: inline-block; margin-right: 20px; }
		.genre {margin: 0 0 0 55px; display: block; color: #FF0086; text-transform: uppercase;}
		#director-intro h2 {margin: 30px 0 0 55px; text-transform: none; font-weight: 500; letter-spacing: normal; line-height: 1.6;}
		#director-intro p {font-size: 18px; margin: 0 55px 15px 55px;}
		#director-intro figure {margin: 0 55px 15px 55px;}
		#director-intro p img { margin-top: 5px; height: auto !important; width: 48px !important; }

#talent-list {width: 30%;}
	#talent-list h4 {color: #fff; padding: 0 0 20px 0; font-weight: bold; }
	#talent-list #affiliates-list { padding-top: 50px; }
	#talent-list li {color: #fff; font-size: 14px; padding: 3px 0;}
		#talent-list li a {color: #fff; font-size: 14px;}
			#talent-list li a:hover {color:#FF0086;}

		#talent-list li ul {margin-left: 12px; width: 100%;}

		.affiliate-title {display: flex; flex-wrap: wrap; padding-bottom: 2px;}
			.affiliate-title:hover {opacity: 0.8;}
		.list-group ul li .plus-icon, .list-group ul li .minus-icon {width: 12px;}
		.list-group ul li.inactive .plus-icon {display: none;}
		.list-group ul li.inactive ul {display: none;}
		.list-group ul li .minus-icon {display: none;}
		.list-group ul li.inactive .minus-icon {display: block;}


/* v1 */
.page-id-67 {}

/* v2 */
.page-id-67 {}


/*-----------------------------------------------------------------------------------*/
/* All Things Frank
/*-----------------------------------------------------------------------------------*/

.page-template-all-things #gallery {padding-top: 60px; max-width: 1990px; margin: auto;}

.image-mosaic {display: grid; gap: 15px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-auto-rows: 300px;}

.card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #000;
	font-size: 3rem;
	color: #fff;
	height: 100%; width: 100%; 
	/*transition: all 500ms;*/
	overflow: hidden;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 0;
	margin: 0;
	position: relative;
	transition: all 0.3s ease-in-out;
}
	
	.card a {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
	/*.card-link:hover {opacity: 0.5;}*/

	#gallery .card .icon-link {opacity: 0; width: 32px; height: 32px; position: absolute; right: 15px; top: 15px; z-index: 1000;}
	#gallery .card:hover .gradient {position: absolute; height: 100%; width: 100%; background: rgba(0,0,0,0.5);}
	#gallery .card:hover .icon-link {opacity: 1;}

@media screen and (min-width: 1880px) {
	.image-mosaic {grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); grid-auto-rows: 400px;}
	.home #image-17 {display: none;}
}

@media screen and (min-width: 1640px) and (max-width: 1879px) {
	.image-mosaic {grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); grid-auto-rows: 350px;}
	.home #image-17 {display: none;}
}

@media screen and (min-width: 500px) and (max-width: 1024px) {
	.image-mosaic {grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-auto-rows: 300px;}
}

@media screen and (min-width: 1024px) {
	.card-tall {grid-row: span 2 / auto;}
	.card-wide {grid-column: span 2 / auto;}
}
	

/*-----------------------------------------------------------------------------------*/
/* Contact
/*-----------------------------------------------------------------------------------*/

.page-template-contact #main {padding: 120px 55px;}
	.page-template-contact #main ul#contacts-list {display: flex; flex-wrap: wrap;}
		.page-template-contact #main ul#contacts-list li {padding: 0 0 50px 0; margin-right: 40px; width: calc(25% - 40px);}
			.page-template-contact #main ul#contacts-list li p {margin: 0;}
			.page-template-contact #main ul#contacts-list li p a {color: #fff;}
				.page-template-contact #main ul#contacts-list li p a:hover {color: #fff; text-decoration: underline;}

