/*   
Theme Name: WHFF 2025 Theme
Theme URI: http://www.woodsholefilmfestival.org
Description: Theme template -- WordPress v5.2
Author: GS-I
Author URI: http://www.gs-interactive.net
Version: 33
*/

@font-face {
    font-family: 'Amity';
    src: url('fonts/amity.ttf');
    font-style: normal;
	font-weight:400;
}

html {
	overflow-y: scroll;

}

body {
	margin:0;
	padding:0;
	font-family: 'Montserrat', sans-serif;
	line-height:1.3;
	background-color:#67a3f8;
}
.page {
	min-height:100vh;
	max-width: 1676px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}


.header {
	position:relative;

	
}
@media(max-width: 1050px) {
	.header {
		border-bottom: 10px solid #546e9e;
	}
}

.header-in {
	margin:0 auto;
	padding:0;
	height:350px;
	max-width:1600px;
	position:relative;
}
@media(max-width: 1350px) {
	.header-in {
		height:300px;
	}
}
@media(max-width: 1050px) {
	.header-in {
		height:240px;
	}
}

@media(max-width: 450px) {
	.header-in {
		height:270px;
	}
}
.header-logo {
	position:absolute;
	top:45px;
	left:20px;
	width:350px;
	margin:0;
}
@media(max-width: 1350px) {
	.header-logo {
		width:280px;
	}
}
@media(max-width: 1050px) {
	.header-logo {
		width:220px;
	}
}
@media(max-width: 850px) {
	.header-logo {
		width:180px;
	}
}
@media(max-width: 650px) {
	.header-logo {
		top:15px;
		width:150px;
	}
}

.header-logo img {
	width:100%;
	height:auto;
}

.tools {
	font-family: 'Montserrat', sans-serif;
	color:#fff;
	line-height:1.1;
	position:absolute;
	top:10px;
	right:20px;
	background-color:#333;
	padding:10px 20px;
	border-radius:10px;
	display:flex;
}
@media(max-width: 1050px) {
	.tools {
		top:20px;
	}
}
@media(max-width: 450px) {
	.tools {
		top:auto;
		bottom:10px;
	}
}

.tools .tool-item {
	float:right;
	padding:0 6px;
	font-size:14px;
}
@media(max-width: 850px) {
	.tools .tool-item {
		font-size:11px;
	}
}
.tools .tool-item:hover {
	color:#b9dac3;
	cursor:pointer;
}



.projecta {
	position:absolute;
	top:0;
	right:calc(50% - 340px);
	width:680px;
}
@media(max-width: 1350px) {
	.projecta {
    	right:calc(50% - 280px);
    	width: 560px;
	}
}
@media(max-width: 1050px) {
	.projecta {
    	right:calc(50% - 260px);
    	width: 440px;
	}
}
@media(max-width: 650px) {
	.projecta {
		right: 120px;
		width: 55%;
		bottom: 10px;
		top: auto;
	}
}
@media(max-width: 450px) {
	.projecta {
		right: 25px;
		width: 75%;
		bottom: 45px;
	}
}
.projecta img {
	max-width:100%;
	height:auto;
}







.festi-dates {
	font-family: 'Amity', sans-serif;
	font-size:30px;
	text-align: right;
	color:#f9f2e2;
	font-weight:400;
	line-height:1.1;
	position:absolute;
	top:70px;
	right:25px;
	width:400px;
}
@media(max-width: 1350px) {
	.festi-dates {
		font-size:24px;
	}
}
@media(max-width: 1050px) {
	.festi-dates {
		font-size:20px;
		top:110px;
	}
}
@media(max-width: 850px) {
	.festi-dates {
		font-size:18px;
	}
}
@media(max-width: 450px) {
	.festi-dates {
		font-size:14px;
		top:115px;
	}
}
@media(max-width: 450px) {
	.festi-dates {
		top:60px;
	}
}

.header-soc {
	position:absolute;
	top:250px;
	right:25px;
	text-align: center;
}
@media(max-width: 1350px) {
	.header-soc {
		top:225px;
	}
}
@media(max-width: 1050px) {
	.header-soc {
		display:none;
	}
}





.nav-wrapper {
	margin:0;
	position:relative;
	
}
@media(max-width: 1050px) {
	.nav-wrapper {
		height:30px;
		position:absolute;
		right:0;
		top:65px;
	}
}
@media(max-width: 450px) {
	.nav-wrapper {
		top:20px;
	}
}

.nav-wrapper .menu-main-menu-container {
	position:relative;
	margin:0 auto;
	padding:0 0 0 0;
	text-transform:uppercase;
	font-size:18px;
	font-weight:400;
	font-family: 'Montserrat', sans-serif;
}
@media(max-width: 1050px) {
	.nav-wrapper .menu-main-menu-container {
		/*display:none;*/
		position:absolute;
		margin:0;
		padding:0;
		font-size:15px;
		width:280px;
		right:-280px;
		top:25px;
		background-color:rgba(57,47,77,.9);
		z-index:9999;
		transition:all .4s;
	}
	.nav-wrapper .menu-main-menu-container.open {
		right:0;
	}
	
}

.nav-wrapper ul#menu-main-menu { 
	display:block;
	padding: 3px 0 0 0;     
	margin: 0 auto; 
	list-style: none;
	line-height: 1; 
	text-align:center;
	background-color: #546e9e;
} 
@media(max-width: 1050px) {
	.nav-wrapper ul#menu-main-menu { 
		text-align:left;
		padding: 15px 0; 
	} 
}

.nav-wrapper .menu li {
	margin: 0;
	padding:0;
	display:inline-block;
}
@media(max-width: 1050px) {
	.nav-wrapper .menu li {
		margin: 0;
		padding:0;
		display:block;
		position:relative;
	}
}
.nav-wrapper .menu li a {
	display: block;
	color:#f9f2e2;
	text-decoration:none;
	line-height:1;
	font-size:20px;
	font-weight:600;
	padding:10px 7px;
	margin:0;
	height:20px;
}
@media(max-width: 1050px) {
	.nav-wrapper .menu li a {
		font-size:15px;
		padding:12px 10px 15px 20px;
		margin:0;
		height:auto;
	}
}
@media(max-width: 1050px) {
	#menu-main-menu > .menu-item-has-children > a:after {
		content: " ▾";
		font-size:120%;
	}
}

.nav-wrapper .menu li a:hover {
	color:#ffc26d;
}
@media(max-width: 1050px) {
	.nav-wrapper .menu li a:hover {
		border-bottom:none;
	}
}

.nav-wrapper .sub-menu {     
	position: absolute;     
	width: 220px;     
	left: -3000em; 
	z-index:999;
	display:block;
	padding: 0;     
	margin: 0; 
	list-style: none;
	line-height: 1; 
	text-align:left;
} 
@media(max-width: 1050px) {
	.nav-wrapper .sub-menu {     
		position: relative;     
		width: auto;     
		left:0; 
		padding: 0;     
		margin: 0; 
		display:none;
	} 
}

.nav-wrapper .menu li:hover ul.sub-menu {     
	left: auto; 
}
.nav-wrapper .menu li:hover ul.sub-menu ul.sub-menu {     
	left: -3000em; 
}

.nav-wrapper .sub-menu li {
	margin:0px 10px;
	padding:0;
	width:220px;
	display:block;
	background-color:#f7f7f7;
	position:relative;
}
@media(max-width: 1050px) {
	.nav-wrapper .sub-menu li {
		margin:0;
		padding:0;
		width:auto;
		background-color:transparent;
	}
}

.nav-wrapper .sub-menu li a {
	margin: 0px 10px;
	padding: 10px 5px;
 	text-decoration: none; 
	text-transform:none;
	color: #2e2741;
 	font-size: 15px;
	line-height: 1.1;
	height:auto;
	border-bottom:1px solid #7b8fa6;
}
.nav-wrapper .sub-menu li:last-child a {
	border-bottom:none;
}
@media(max-width: 1050px) {
	.nav-wrapper .sub-menu li a {
		margin: 5px 10px;
		padding: 5px 0 5px 25px;
		font-size: 15px;
		color:#fff;
		border-bottom:none;
	}
	.nav-wrapper .sub-menu .sub-menu li a {
		padding: 5px 0 5px 40px;
		font-size: 12px;
	}
}
.nav-wrapper .sub-menu li a:hover { 
 	color: #ffc26d;
	text-decoration:none;

}


.nav-wrapper .menu li:hover ul.sub-menu li:hover .sub-menu {     
	left:190px;	
	top:0;
}
@media(max-width: 1050px) {
	.nav-wrapper .menu .sub-menu,
	.nav-wrapper .menu li:hover ul.sub-menu ul.sub-menu,
	.nav-wrapper .menu li:hover ul.sub-menu li:hover .sub-menu {     
		left:auto;	
		top:auto;
	}
}


#hamburger {
	display:none;
}
@media(max-width: 1050px) {
	 #hamburger {
		display: block;
		position:absolute;
		top:0;
		right:25px;
		width:30px;
		height:30px;
		transition:all .4s;
	}
	
	.shrink  #hamburger {
		 top:17px;
	}
}
#hamburger:hover {
	cursor:pointer;
}
#hamburger .bar {
	position:absolute;
	top:0;
	left:0;
	width:30px;
	height:8px;
	fill:#f9f2e2;
	transition:all .4s;
}
#hamburger.on .bar {
	fill:#f9f2e2;
}
#hamburger:hover .bar {
	fill:#ffc26d;
}
#hamburger.on:hover .bar {
	fill:#ffc26d;
}
#hamburger #bar1 {
	top:0;
}
#hamburger.on #bar1 {
	opacity:0;
}
#hamburger #bar2 {
	top:10px;
}
#hamburger.on #bar2 {
	transform: rotate(-45deg);
}
#hamburger #bar3 {
	top:10px;
}
#hamburger.on #bar3 {
	transform: rotate(45deg);
}
#hamburger #bar4 {
	top:19px;
}
#hamburger.on #bar4 {
	opacity:0;
}



.page-middle {
	width:100%;
	margin:0;
	padding:50px 0 0;
	position:relative;
	background-color:#f9f2e2;
}


.page-middle-in {
	margin:0 auto;
	padding:0 20px 20px;
	max-width:1200px;
}


.hp_announce {
	color:#223266;
	line-height:1.5;
	margin:25px 0 15px;
	margin:0 16px 36px 16px;
	padding: 20px;
	background-color:#fff;
	border:4px solid #c6c53b;
	overflow:hidden;
}
.hp_announce h1 {
	color:#fee61d;
	margin:0 0 10px;
	text-transform:uppercase;
}
.hp_announce h2 {
	color:#fee61d;
	margin:0 0 10px;
}
.hp_announce a {
	color:#223266;
}
.hp_announce a:hover {
	color:#c0232c;
}
.hp_blocks {
	margin:0;
	padding: 1px 0;
	overflow:hidden;
}

@media(max-width: 1300px) {
	.hp_blocks {
		margin:15px auto;
		width:800px;
	}
}
@media(max-width: 850px) {
	.hp_blocks {
		width:400px;
	}
}
@media(max-width: 600px) {
	.hp_blocks {
		width:280px;
	}
}


.hp_block {
	margin:0 16px 36px 16px;
	padding: 0;
	background-color:#7b8fa6;
	border:4px solid #2e2741;
	width:360px;
	height:300px;
	float:left;
	overflow:hidden;
	transition:all .3s;
}
@media(max-width: 600px) {
	.hp_block {
		margin:0 0 26px 0;
		width:270px;
		height:225px;
	}
}
.hp_block:hover {
	border:4px solid #ffc26d;
}
.hp_block img {
	width:100%;
	height:auto;
}


.hp-news1 {
	margin:0 16px 36px 16px;
	width:360px;
	height:300px;
	border:4px solid #fff;
	background-color:#72c6c6;
	float:left;
	color:#fff;
	font-size:14px;
}
@media(max-width: 600px) {
	.hp-news1 {
		margin:0 0 26px 0;
		width:270px;
		height:225px;
		font-size:11px;
	}
}

.hp-news1:hover {
	border:4px solid #ccffff;
}

.news-item1 {
	font-size:13px;
	padding:0 0 9px 0;
	margin:0 10px 9px 20px;
	border-bottom:1px dotted #333366;
}
@media(max-width: 600px) {
	.news-item1 {
		font-size:11px;
		padding:0 0 5px 0;
		margin:0 5px 5px 10px;
		border-bottom:1px dotted #333366;
	}
}

.hp-news1 a {
 	text-decoration: none; 
	text-transform:none;
	color: #333366;
}

.hp-news1 a:hover { 
 	color: #fff;
	text-decoration:none;

}

.hp-news-top1 {
  margin: 0 5px 0 0;
  height:260px;
}
@media(max-width: 600px) {
	.hp-news-top1 {
	  margin: 0 5px 0 0;
	  height:200px;
	}
}

.hp-news-head1 {
	padding:20px 20px 10px;
	font-family: 'Montserrat', sans-serif;
	font-size:25px;
	line-height:1.1;
	color: #333366;
}
@media(max-width: 600px) {
	.hp-news-head1 {
		padding:10px 10px;
		font-size:18px;
	}
}

.hp-news-bottom1 {
	margin:5px 0 0;
	width:340px;
	height:20px;
	text-align:right;
}
@media(max-width: 600px) {
	.hp-news-bottom1 {
		margin:5px 5px 0 0;
		height:20px;
		text-align:right;
		width:auto;
	}
}

.hp-dates {
	width:360px;
	height:300px;
	margin:0 16px 36px 16px;
	padding: 0;
	background-color:#7b8fa6;
	border:4px solid #2e2741;
	float:left;
	color:#fff;
	font-size:12px;
}
@media(max-width: 600px) {
	.hp-dates {
		margin:0 0 26px 0;
		width:270px;
		height:225px;
		font-size:11px;
	}
}

.hp-dates-head {
	padding:20px 20px 10px;
	font-family: 'Amity', sans-serif;
	font-size:25px;
	line-height:1.1;
	color:#fff;
}
@media(max-width: 600px) {
	.hp-dates-head {
		padding:10px 10px;
		font-size:18px;
	}
}
.dates-item {
	font-size:14px;
	padding:0px 0 9px 0;
	margin:0 10px 9px 20px;
	border-bottom:1px dotted #f9f2e2;
}
@media(max-width: 600px) {
	.dates-item {
		font-size:11px;
		padding:0 0 5px 0;
		margin:0 5px 5px 10px;
	}
}
.dates-item a {
	color:#fff;
	text-decoration:none;
}

.dates-item a:hover {
	color:#fff;
	text-decoration:underline;
}


.inner-main {
	border:5px solid #7b8fa6;
	padding:0;
	background-color:#FFF;
	overflow:hidden;
}
@media(max-width: 950px) {
	.inner-main {
		border:1px solid #e7e7e7;
		padding:10px 5px;
	}
}

.inner-sb {
	margin:0 30px 0 0;
	width:300px;
	min-height:350px;
	float:left;
	color:#fff;
	font-size:12px;
}
@media(max-width: 1250px) {
	.inner-sb {
		width:25%;
		margin:0 5% 0 0;
	}
}
@media(max-width: 950px) {
	.inner-sb {
		width:20%;
		margin:0 2% 0 0;
	}
}
@media(max-width: 600px) {
	.inner-sb {
		display:none;
	}
}

.sb-head {
	color: #6fa2a8;
	padding:15px 20px 10px;
	font-size:30px;
	line-height:1.1;
	font-family: 'Montserrat', sans-serif;
}
@media(max-width: 950px) {
	.sb-head {
		padding:15px 10px 10px;
		font-size:21px;
	}
}

.inner-sb ul {     
	padding: 0;     
	margin: 0; 
	list-style: none;
	line-height: 1; 
} 

.inner-sb li {
	margin: 0 10px 0 20px;
	padding: 10px 15px 10px 0;
	border-bottom:2px solid #e7e7e7;
	
}
@media(max-width: 950px) {
	.inner-sb li {
		margin: 0 10px 0 10px;
		padding: 10px 0 10px 0;
		border-bottom:1px solid #e7e7e7;
	}
}

.inner-sb li a {
	color:#6fa2a8;
	text-decoration:none;
	font-size:14px;
	
}
@media(max-width: 950px) {
	.inner-sb li a {
		font-size:12px;
		
	}
}
.inner-sb li a:hover {
	color: #bad532;
	
}

.schedule-image {
	margin:40px 0 0 10px;
	height:269px;
	overflow:hidden;
	position:relative;
}

.schedule-image img{
	position:absolute;
	top:0;
	left:0;
}

.schedule-image img:hover {
	position:absolute;
	top:-269px;
}

.schedule {
	text-align:center;
	margin:8px 0 40px 0;
}

.schedule a {
	text-decoration:none;
	color: #fff;
}

.schedule a:hover {
	text-decoration:none;
	color: #28609C;
}

.inner-content {
	margin:75px 75px;
	min-height:350px;
	background-color:#fff;
	color:#000;
	font-size:16px;
	line-height:1.4;
}
@media(max-width: 1050px) {
	.inner-content {
		margin:0 50px;
	}
}
@media(max-width: 550px) {
	.inner-content {
		width:auto;
		margin:0 10px;
	}
}

.inner-content img {
	max-width:100%;
	height:auto;
}

.inner-content h1 {
	font-family: 'Amity', sans-serif;
	color:#546e9e;
	font-size:50px;
	line-height:1.1;
	font-weight:normal;
}
@media(max-width: 950px) {
	.inner-content h1 {
		font-size:26px;
	}
}
.inner-content h2 {
	font-family: 'Montserrat', sans-serif;
	color: #313185;
	font-size:24px;
	font-weight:normal;
}
@media(max-width: 950px) {
	.inner-content h2 {
		font-size:17px;
	}
}
.inner-content h2 a {
	font-family: 'Montserrat', sans-serif;
	color: #9A410D;
	font-weight:normal;
	text-decoration:none;
}

.inner-content h2 a:hover {
	text-decoration:underline;
}

.inner-content h3 {
	color: #008080;
	font-size:20px;
	font-weight:bold;
}

.spnsrs {
	display:flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
.spnsrs .spnsr-item {
	margin: 10px 10px 25px;
  	width: 150px;
}
.spnsrs .spnsr-item .sponsor-name {
	margin:4px 0 0 0;
	text-align:center;
}
.spnsrs .spnsr-item  .sponsor-name a {
	font-size:14px;
	line-height:1.1;
	color:#666;
	text-decoration:none;
	transition:all .3s;
}

.spnsrs .spnsr-item  .sponsor-name a:hover {
	color:#546e9e;
	
}

.footer {
	position:relative;
	margin:0;
	z-index:20;
}


.footer-text {
	position:relative;
	margin:0;
	background-color:#546e9e;
}


.footer-text-in {
	padding:50px 25px;
	margin:0 auto;
	max-width:1200px;
	font-size:16px;
	text-align:center;
	color:#f9f2e2;
}
@media(max-width: 950px) {
	.footer-text-in {
		font-size:12px;
	}
}
.footer-text-in a {
	color:#f9f2e2;
	text-decoration:none;
}
.footer-text-in a:hover {
	color:#ffc26d;
}

.footer-sponsors {
	margin:0;
	padding:20px 0;
	background-color:#fff;
	height:150px;
	text-align:center;
}
.footer-sponsors .slick-slide {
	height:150px;
}

.footer-sponsors  .slick-slide .spns {
	width:100%;
	height:150px;
	display:flex !important;
	align-items: center;
	justify-content: center;
}

.crab {
	position:absolute;
	top:-200px;
	right:50px;
	width:100px;
}
@media(max-width: 550px) {
	.crab {
		width:60px;
		top:165px;
		right:-10px;
	}
}
.crab img {
	width:100%;
	height:auto;
}

/** 
 * Slideshow style rules.
 */

/*--Window/Masking Styles--*/
.slides{
	height:260px;	width: 730px;
	overflow: hidden; /*--Hides anything outside of the set width/height--*/
	position:relative;
}

.slideshow-dots {
	position:absolute;
	bottom:10px;
	right:20px;
	width:150px;
	height:25px;
	z-index:999;
	text-align:right;
}

.slideshow-dots a {
	display:inline-block;
	width:5px;
	height:14px;
	padding:0 13px 0 0;
	overflow:hidden;
	position:relative;
}

.slideshow-dots a img {
	position:absolute;
	top:0;
}

.slideshow-dots a:hover img, .slideshow-dots a.activeSlide img {
	position:absolute;
	top:-14px;
}


#thumbnails {
	position:relative;
	top:-23px;
	left:10px;
	z-index:800;
}


#thumbnails a {
	display:block;
	width:13px;
	height:13px;
	margin:0 4px;
	background-position:0 0;
	background:url(images/paging-dot.png) no-repeat;
	float:left;
	outline:none;
}

#thumbnails a.activeSlide, #thumbnails a:hover {
	background-position:0 -13px;
}

/* gallery style  */
.gallery-row {
	padding:0 0 15px 0;
	overflow:hidden;
}

.gallery-image-block {
	float:left;
	width:180px;
}

/*shop*/
.product-box {
	clear:both; padding:10px; margin: 10px 15px 0 0; border:1px solid #CCC; overflow:hidden;
}

.product-name {
	color:#336666;
	font-size:18px;
	font-weight:normal;
	padding:5px 0;
}

.product-image {
	float:left; width: 170px;
}

.product-meta {
	float:left; width: 475px; padding:5px 0 0 0;
}

.legend h3{
    font-size: 12px;
    line-height: normal;
}




.slick-slide img {
	max-width:90%;
	height:auto;
}


/* Elevent Styles
-------------------------------------------------------------- */

.eleventBtn {
	padding:5px 30px;
	display: inline-block;
	color:#fff;
	background-color:#900;
	border-radius:4px;
	margin:0 0 10px 0;
	transition:all .3s;
}
.eleventBtn:hover {
	background-color: #C60;
	cursor:pointer;
}


/* ----------------- 2023 elevent -------------------------- */

#films23 h1.title {
	font-size:30px;
	font-weight:700;
	text-align: center;
}
#films23 .facetwp-facet-start_date {
	padding-right: 0;
}
#films23 .elevent-dropdown .dropbtn {
	height: 56px;
}
#films23 .facetwp-facet {
	margin-bottom: 15px;
}

#films23 .fwpl-layout.event-genres {
	grid-gap: 30px;
}
#films23 .fwpl-item.event-title {
	font-size:20px;
	font-weight:700;
	margin:10px 0;
}

#films23 .fwpl-item.el-b2xvc {
	height:200px;
	min-height:200px;
	padding:0 10px 15px 0;
	overflow-y: scroll;
	transition: all .5s;
}

#films23 .fwpl-btn {
	display: inline-block;
	line-height: 1;
	font-size: 15px;
	background-color: #61CE70;
	margin: 15px 0;
	padding: 8px 12px 8px 12px;
	border-radius: 3px;
	color: #fff;
	fill: #fff;
	text-align: center;
	transition: all .3s;
}




/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}