/*   
Theme Name: WHFF 2026 Theme
Theme URI: http://www.woodsholefilmfestival.org
Description: Theme template -- WordPress v7.0
Author: GS-I
Author URI: http://www.gs-interactive.net
Version: 2026.000
*/

html {
	overflow-y: scroll;

}

body {
	margin:0;
	padding:0;
	font-family: "Source Sans 3", sans-serif;
	line-height:1.3;
	background-color:#000f20;
}
.page {
	min-height:100vh;
	width: 100%;
	margin:0 auto;
	position:relative;
	overflow:hidden;
    background-image: url("images/2026-whff-bg.jpg");
    background-position: center top -100px;
    background-repeat: no-repeat;
    background-size:100% auto;
}


.header {
	position:absolute;
    top:0;
    left:0;
    width:100%;
    height:120px;
    background-color:#003f58b0;
    z-index:999;
}
.navbar {
	position:relative;
    margin:0 auto;
	padding:0;
	height:100px;
	max-width:1600px;
	
}

.header-logo {
	position:absolute;
	top:15px;
	left:25px;
	width:250px;
	margin:0;
}
@media(max-width: 1350px) {
	.header-logo {
	}
}
@media(max-width: 1050px) {
	.header-logo {
	}
}
@media(max-width: 850px) {
	.header-logo {
	}
}
@media(max-width: 650px) {
	.header-logo {
	}
}
.header-logo img {
	width:100%;
	height:auto;
}


.header-dates {
	position:absolute;
    margin:0;
	top:15px;
    right:210px;
    right:25px;
    color:#fff;
    font-size:24px;
    font-weight:700;
    padding:2px 0 0 20px;
    font-family: "Barlow Condensed", sans-serif;
}
.header-tix {
	position:absolute;
    margin:0;
	top:15px;
    right:25px;
    background-color:#fbb040;
    color:#fff;
    font-size:20px;
    font-weight:600;
    width:140px;
    padding:5px 20px;
    text-align:center;
    border-radius:6px;
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    display:none;
}

.nav-wrapper {
	position:absolute;
    margin:0;
	top:65px;
    right:15px;
}
@media(max-width: 1050px) {
	.nav-wrapper {
        top:70px;
	}
}
@media(max-width: 450px) {
	.nav-wrapper {
	}
}

.nav-wrapper .menu-main-menu-container {
	position:relative;
	margin:0 auto;
	padding:0 0 0 0;
	text-transform:uppercase;
	font-size:15px;
	font-weight:400;
	font-family: "Barlow Condensed", 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:right;
} 
@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:#fff;
	text-decoration:none;
	line-height:1;
	font-size:25px;
	font-weight:500;
	padding:10px 12px;
	margin:0;
	height:30px;
}
@media(max-width: 1050px) {
	.nav-wrapper .menu li a {
		font-size:20px;
		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: 20px;
	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: 19px;
		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;
}

.headspace {
    position:relative;
    width:100%;
    height:150px;
}

.page-middle {
	position:relative;
    width:100%;
	margin:0;
	padding:0;
}


.page-middle-in {
	margin:0 auto;
	padding:0 25px 25px;
	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:28vw 0 0 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 #fff;
	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: "Barlow Condensed", 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 #fff;
	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: "Barlow Condensed", sans-serif;
	font-size:30px;
    font-weight:700;
	line-height:1.1;
	color:#fff;
}
@media(max-width: 600px) {
	.hp-dates-head {
		padding:10px 10px;
		font-size:24px;
	}
}
.dates-item {
	font-size:18px;
	padding:0px 0 9px 0;
	margin:0 10px 9px 20px;
	border-bottom:1px dotted #f9f2e2;
}
@media(max-width: 600px) {
	.dates-item {
		font-size:14px;
		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: "Barlow Condensed", 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:20px;
	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: "Barlow Condensed", sans-serif;
    font-weight:700;
	color:#546e9e;
	font-size:50px;
	line-height:1.1;
}
@media(max-width: 950px) {
	.inner-content h1 {
		font-size:26px;
	}
}
.inner-content h2 {
	font-family: "Barlow Condensed", 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: "Barlow Condensed", 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;
	
}

.prefoot {
	position:relative;
	margin:25px;
    text-align: center;
    color:#fff;
}
.prefoot .logos {
	position:relative;
	width:260px;
    margin:0 auto 15px;
    text-align: center;
}
.prefoot .logos img {
	position:relative;
	width:100px;
    height:auto;
    margin:0 10px;
}

.footer-text {
	position:relative;
	margin:0;
	background-color: #17485e;
}


.footer-text-in {
	padding:25px 25px;
	margin:0 auto;
	max-width:1200px;
	font-size:15px;
	text-align:center;
	color:#fff;
}
@media(max-width: 950px) {
	.footer-text-in {
		font-size:12px;
	}
}
.footer-text-in a {
	color:#fff;
	text-decoration:none;
}
.footer-text-in a:hover {
	color:#ffc26d;
}
.footer-text-in .sticker {
	width:200px;
    margin:0 auto;
}
.footer-text-in .sticker img {
	width:100%;
    height:auto;
}
.footer-text-in .social svg {
	fill:#fff;
    margin:5px;
}


.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;
}


/** 
 * 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;
}





.slick-slide img {
	max-width:90%;
	height:auto;
}










/* =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;
}