
/**Stylesheet for Kerry Drinks Festival.*/
@font-face{
  font-family: icomoon;
  src: url('../Fonts/icomoon.woff') format('woff'),
     url('../Fonts/icomoon.ttf') format('truetype');
  font-display: swap;  
}

@font-face{
  font-family: barlowbold;
  src: url('../Fonts/barlowbold.woff2') format('woff2'),
     url('../Fonts/barlowbold.ttf') format('truetype');
  font-display: swap;  
}

@font-face{
  font-family: barlow;
  src: url('../Fonts/barlow.woff2') format('woff2'),
     url('../Fonts/barlow.ttf') format('truetype');
  font-display: swap;  
}

@font-face{
  font-family: ptsans;
  src: url('../Fonts/ptsans.woff') format('woff'),
     url('../Fonts/ptsans.ttf') format('truetype');
  font-display: swap;  
}

@font-face{
  font-family: janathork;
  src: url('../Fonts/janathork.woff2') format('woff2'),
     url('../Fonts/janathork.ttf') format('truetype');
  font-display: swap;  
}

html, body {
	height: 100%;
}

body{
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
	background-color: var(--dark);
	color: var(--dark);
}

:root {
  --bright: #F8F8F8;
  --dark: #202020;
  --primary: #EF6607; 
}


/**Basic Styles.*/
::selection {
  background: #E99C67;
}

.janathork{
	display: block;
	font-family: janathork, serif;
	line-height: 1.1em;
}

#wrapper{
	position: relative;
	width: 100%;
	background-color: var(--bright);
	box-sizing: border-box;
}

.margins{
	position: relative;
	padding: 0em 2em;
}

.headers h1, .headers h2{
	font-family: janathork, sans-serif;
	font-size: 2.5em;
	text-align: center;
	text-transform: uppercase;
	margin: 0em;
	line-height: 1.1em;
}

.ticket:before{
	font-family: icomoon;
	content: "\e939";
}

.calendar:before{
	font-family: icomoon;
	content: "\e900";
}

.location:before{
	font-family: icomoon;
	content: "\e902";
}

.clock:before{
	font-family: icomoon;
	content: "\e903";
}

.food:before{
	font-family: icomoon;
	content: "\e905";
}

.walk:before{
	font-family: icomoon;
	content: "\e904";
}

.map:before{
	font-family: icomoon;
	content: "\e94c";
}

.area:before{
	font-family: icomoon;
	content: "\e909";
}

.menu-toggle-inactive:before{
	font-family: icomoon;
	content: "\e906";
}

.menu-toggle-active:before{
	font-family: icomoon;
	content: "\e907";
}

.orange{
	color: var(--primary);
}

#page_fixed_background{
	position: fixed;
	top: 50%;
	left: 0em;
	width: 60vw;
	height: 60vw;
	transform: translateY(-50%);
	background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/04/head.png");
	background-size: cover;
	opacity: .04;
}





/**Masthead Styles*/
#masthead{
	position: fixed;
	width: 100%;
	height: 3.7em;
	background-color: var(--dark);
	border-bottom: 1px solid var(--primary);
	z-index: 5;
}

#logo{
	position: relative;
	top: .2em;
	left: 1em;
	width: 6.5em;
}

#logo img{
	width: 100%;
	height: auto;
}

.site-title{
	display: none;
}


/**Cart Styles*/
#basket:before{
	font-family: icomoon;
	content: "\e901";
}

#cart_header{
	position: absolute;
	top: 0em;
	right: 2.5em;
	font-size: 2.5em;
	color: var(--bright);
	text-decoration: none;
}

#cart_header:hover, #ticket_nav:hover{
	color: var(--primary);
}

.cart-customlocation{
	position: absolute;
	top: .7em;
	right: -.7em;
	font-family: sans-serif;
	font-size: .35em;
	color: #272623;
	padding: 0em .3em;
	text-decoration: none;
	border-radius: .5em;
	background-color: var(--primary);
}

/**Header Social Styles*/
#header_social{
	display: none;
}


/**Countdown Styles*/
#countdown{
	display: none;
	position: absolute;
	top: -.4em;
	right: 33em;
	flex-wrap: wrap;
	justify-content: center;
}

.countdown_block{
	position: relative;
	top: -.2em;
	padding: 0em .5em;
	width: 3em;
	box-sizing: border-box;
}

.countdown_block:first-child{
	width: 4em;
}

.countdown_block h3{
	font-family: barlowbold, sans-serif;
	font-size: 2.3em;
	color: var(--primary);
	margin: 0;
	text-transform: uppercase;
	text-align: center;
}

.countdown_block h5{
	font-family: barlow, sans-serif;
	font-size: 1.1em;
	color: var(--bright);
	margin: 0;
	line-height: 0em;
	text-transform: uppercase;
	text-align: center;
}

#nav_area{
	display: none;
}

#nav_map{
	display: none;
}

#nav_schedule{
	display: none;
}

#nav_ticket{
	display: none;
}

.nav_btns a{
	font-family: barlow, sans-serif;
	font-size: 1.1em;
	color: #FFF;
	line-height: 1.5em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
}

.nav_btns a:hover{
	color: var(--primary);
}

.nav_btns span{
	display: block;
	font-size: 1.7em;
}


/**Navigation Styles*/
#menu-toggle{
	position: absolute;
	top: 0em;
	right: .5em;
	font-size: 2.5em;
	color: var(--bright);
	z-index: 12;
}

#menu-toggle:hover{
	cursor: pointer;
	color: var(--primary);	
}

#navigation_modal{
	display: none;
	position: fixed;
	top: 0em;
	left: 0em;
	width: 100%;
	height: 100%;
	height: 100vh;
	padding: 2em 0em;
	background: var(--dark);
	z-index: 11;
	box-sizing: border-box;
}

#nav_modal_background{
	position: absolute;
	top: 50%;
	left: -3em;
	width: 70vw;
	height: 70vw;
	background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/04/menu-logo.png");
	background-size: cover;
	background-position: center;
	transform: translateY(-50%);
	opacity: .7;
	z-index: -1;
}


#navigation{
	margin-top: 1.7em;
	width: 100%;
	height: 100vh;
	overflow: scroll;
}

#navigation ul{
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	padding: 0em 2em;
	padding-bottom: 4em;
}

#navigation li{
	margin: 0em 0em 1em 0em;
}

#navigation a{
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	color: var(--bright);
	margin: .2em 0em;
	text-decoration: none;
	text-transform: uppercase;
}

#navigation a:hover{
	color: var(--primary);
}

#nav_social{
	word-break: break-word;
}

#nav_social a{
	margin-right: .5em;
}


/**Festival HUD Styles*/
.home_sticky_wrapper{
	position: relative;
	margin-top: -12em;
}

.home_page #festival_hud{
	opacity: 0;
	transition: opacity .3s;
}


.end_sticky{
	padding-bottom: 11.5em;
}

#sticky{
	position: sticky;
	position: -webkit-sticky;
	top: calc(100vh - 11em);
	z-index: 4;
}

#festival_hud{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: justify;
	align-items: flex-start;
	left: 50%;
	background-color: var(--dark);
	border-top-left-radius: 1em;
	border-top-right-radius: 1em;
	padding: 1em 1.5em 2.5em 1.5em;
	width: 90%;
	max-width: 34em;
	transform: translateX(-50%);
	box-shadow: 0 0 10px #1F2B35;
	box-shadow: 0 -5px 10px #171E24;
}

.festival_hud_block{
	display: flex;	
	flex-wrap: wrap;
	justify-content: justify;
	align-items: flex-start;
	width: 50%;
}

.festival_hud_block:nth-of-type(3){
	padding-top: 1.5em;
	width: 100%;
}

.fhb_icon{
	font-size: 3em;
	line-height: 1.1em;
	color: var(--bright);
	padding-right: .5em;
}

.fhb_info{
	position: relative;
	width: calc(100% - 5em);
}

.fhb_info h5{
	font-family: barlowbold, sans-serif;
	font-size: 1.7em;
	color: var(--primary);
	text-transform: uppercase;
	line-height: 1.1em;
	margin: 0;
}

.fhb_info h6{
	font-family: barlow, sans-serif;
	font-size: 1em;
	color: var(--bright);
	text-transform: uppercase;
	line-height: 1.1em;
	margin: 0;
}

#hud_tickets{
	display: inline-block;
	position: relative;
	width: 100%;
	font-family: barlowbold, sans-serif;
	font-size: 1.5em;
	color: var(--bright);
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	padding: .2em 0em;
	border-radius: .1em;
	margin-top: .1em;
	background-color: var(--primary);
}

.fhb_info a:hover{
	background-color: var(--bright) !important;
	color: var(--primary) !important;
}

/**Schedule Menu*/
#schedule_menu{
	display: none;
	position: fixed;
	top: 3em;
	left: 0em;
	width: 100%;
	padding-top: .7em;
	box-shadow: 0 6px 2px -2px #1B1B1B;
	z-index: 10;
}

#schedule_mega_menu{
	position: relative;
	width: 100%;
	font-family: ptsans, sans-serif;
	font-size: 1.1em;
	color: var(--bright);
	background: var(--dark);	
	padding: 2em 3em;
	z-index: 2;
}

.show_schedule_menu_link{
	color: var(--primary) !important;
}

#schedule_menu_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}

.schedule_menu_flex_block{
	position: relative;
	width: 33.3%;
	list-style: none;
	padding: 0em 1em;
	margin: 0em;
}

.schedule_menu_flex_block li{
	margin: 0em .8em;
	padding-right: 2em;
}

.schedule_menu_flex_block li a{
	color: var(--bright);
	text-decoration: none
}

.schedule_menu_flex_block li a:hover{
	color: var(--primary);
}

.schedule_menu_flex_block li h4{
	font-family: barlowbold, sans-serif;
	font-size: 1.5em;
	margin: 0em 0em .3em 0em;
	text-transform: uppercase;
}

.schedule_menu_flex_block li strong{
	font-family: barlow, sans;
	font-size: 1.2em;
	text-transform: uppercase; 
	margin-right: .5em;
}



/**Ticker Styles.*/
.ticker_wrapper {
  position: relative;
  width: 100%;
  height: 2.8em;
  line-height: 2.7em;
  margin: 0 auto;
  background-color: var(--primary);
  overflow: hidden;
  white-space: nowrap;
  transform: translateY(-50%);
}

.ticker {
  display: inline-block;
  animation: marquee 45s linear infinite;
}

.ticker_info_1{
  position: relative;
  left: 0%;
  animation: swap 45s linear infinite;
}

.item {
  display: inline-block;
  font-family: barlowbold, sans-serif;
  font-size: 1.3em;
  color: var(--dark) !important;
  text-transform: uppercase;
  text-decoration: none;
  padding-right: 2.5em;
}

.ticker a{
  color: var(--dark) !important;
}

.item:hover{
	color: var(--dark);	
}

.item:before{
	content: "•";
	padding-right: 2.5em;
}


/* Transition */
@keyframes marquee{
  0% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(-100%)
  }
}

@keyframes swap {
  0%, 50% {
    left: 0%;
  }
  50.01%,
  100% {
    left: 100%;
  }
}











/**Landing Styles*/
#landing{
	position: relative;
	top: 0em;
	width: 100%;
	height: 100%;
	height: 94vh;
	min-height: 51em;
	background: var(--dark);
	overflow: hidden;
}

#landing_video{
	position: absolute;
	top: 0em;
	left: 0em;
	width: 100%;
	height: 94vh;
	min-height: 51em;
}

#landing_video video{
 	position: absolute;
  	bottom: 0;
  	left: 50%;
  	transform: translateX(-50%);
  	min-width: 100%; 
  	min-height: 100%; 
  	width: auto;
  	height: auto;
}

#landing_overlay{
	position: absolute;
	top: 0em;
	left: 0em;
	width: 100%;
	height: 94vh;
	min-height: 51em;
	background-color: rgba(32, 32, 32, .4);
}

#landing_center{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	transform: translate(-50%, -45%);
}

#landing_logo_content{
	padding-bottom: 2em;
}

#landing_logo{
	position: relative;
	left: 50%;
	width: 90%;
	max-width: 23em;
	transform: translateX(-50%);
}

#landing_logo img{
	width: 100%;
	height: auto;
}

#landing_dates_venue{
	display: none;
}

#landing_dates{
	position: relative;
	left: 50%;
	width: 90%;
	max-width: 24em;
	transform: translateX(-50%);
}

#landing_dates h3{
	font-family: janathork, sans-serif;
	font-size: 1.7em;
	color: var(--bright);
	text-align: center;
	line-height: 1.1em;
	text-shadow: 1px 1px var(--dark);
	margin: .5em 0em 0em .5em;
}

#landing_right h3{
	font-family: janathork, sans-serif;
	font-size: 2em;
	color: var(--bright);
	text-align: center;
	line-height: 1.1em;
	text-shadow: 1px 1px var(--dark);
	margin: 0;
}

#landing_sponsors{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.landing_sponsor{
	width: 50%;
	max-width: 13.5em;
	padding: 1em;
	box-sizing: border-box;
}

.landing_sponsor img{
	display: block;
	width: 100%;
	height: auto;
}

/**As Featured Styles*/
#featured{
	position: relative;
	background: var(--bright);
	padding: 1.5em 1em 2em 1.5em;
	margin-top: -1em;
	box-sizing: border-box;
}

#featured h2{
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	color: var(--dark);
	text-align: center;
	text-transform: uppercase;
	margin: 0;
}

#featured_grid{
	display: flex; 
	flex-wrap: wrap;
	justify-content: center;
}

#featured_grid a{
	position: relative;
	padding: 1em;
	max-width: 12em;
}

#featured_grid a:hover{
	opacity: .5;
}

#featured_grid a img{
	display: block;
	width: 100%;
	height: auto;
}




/**Intro Styles*/
#intro{
	position: relative;
	color: var(--bright);
	padding: 4em 0em 5em 0em;
	margin-top: -1em;
	background-color: var(--dark);
	box-sizing: border-box;
}

#intro_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#intro_header{
	position: relative;
	width: 100%;
	padding-bottom: .5em;
}

#intro_header h1{
	font-family: janathork, sans-serif;
	font-size: 3em;
	text-transform: uppercase;
	text-align: center;
	margin: 0;
	background: var(--bright) -webkit-gradient(linear, left top, right top, from(#FFF), to(#FFF), color-stop(0.5, #222)) 0 0 no-repeat;
	-webkit-background-size: 150px;
	color: rgba(255, 255, 255, 0.3);
	line-height: 1.1em;
	animation: shine 5s infinite linear;
	-webkit-background-clip: text;
	text-shadow: 0 0px 0px rgba(255, 255, 255, 0.5);
}

@keyframes  shine {
	0%, 10% {
		background-position: -1000px;
	}
	20% {
		background-position: top left;
	}
	90% {
		background-position: top right;
	}
	100% {
		background-position: 1000px;
	}
}

#intro_info{
	position: relative;
	width: 100%;
}

#intro_info p{
	font-family: ptsans, sans-serif;
	line-height: 1.7em;
}

#intro_info p:first-of-type {
	font-size: 1.3em;
	line-height: 1.4em;
}





/**What's On Styles*/
#whats_on{
	position: relative;
	padding: 2em 0em 4em 0em;
	box-sizing: border-box;
}

#whats_on_grid{
	position: relative;
	display: grid;
	left: 50%;
  	width: 94%;
  	max-width: 80em;
  	grid-gap: 1.5em;
  	height: auto;
  	transform: translateX(-50%);
  	grid-template-columns: repeat(1, 1fr);
  	grid-template-rows: auto;
  	grid-template-areas:
    	"one"
    	"two"
    	"three"
    	"four"
    	"five"
    	"six"
    	"seven"
    	"eight"
    	"nine"
    	"ten"
    	"eleven"
    	"twelve";
}


#whats_on_grid .whats_on_block:nth-child(1) {
  grid-area: one;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/brand-expo.jpg");
}
#whats_on_grid .whats_on_block:nth-child(2) {
  grid-area: two;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/rum-tastings.jpg");
}
#whats_on_grid .whats_on_block:nth-child(3) {
  grid-area: three;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/whiskey-tastings.jpg");
}
#whats_on_grid .whats_on_block:nth-child(4) {
  grid-area: four;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/beer-tasting.jpg");
}
#whats_on_grid .whats_on_block:nth-child(5) {
  grid-area: five;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/historic-talks.jpg");
}
#whats_on_grid .whats_on_block:nth-child(6) {
  grid-area: six;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/gin-tastings.jpg");
}
#whats_on_grid .whats_on_block:nth-child(7) {
  grid-area: seven;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/cask-demonstration.jpg");
}
#whats_on_grid .whats_on_block:nth-child(8) {
  grid-area: eight;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/ice-cream.jpg");
}
#whats_on_grid .whats_on_block:nth-child(9) {
  grid-area: nine;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/poitin.jpg");
}
#whats_on_grid .whats_on_block:nth-child(10) {
  grid-area: ten;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/vodka-tastings.jpg");
}
#whats_on_grid .whats_on_block:nth-child(11) {
  grid-area: eleven;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/wine-tasting.jpg");
}
#whats_on_grid .whats_on_block:nth-child(12) {
  grid-area: twelve;
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/05/masterclasses.jpg");
}

.whats_on_block{
	position: relative;
	padding: 1em;
	border-radius: .5em;
	min-height: 12em;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	box-shadow: 0 0 10px var(--dark);
	box-sizing: border-box;
}

.whats_on_block:hover .wob_overlay{
	opacity: .5;
}

.whats_on_block:hover .wob_content{
	border: 1.5px solid var(--primary);
}

.wob_content{
	position: relative;
	width: 100%;
	height: 100%;
	padding: 1em;
	border: 1.5px solid var(--bright);
	z-index: 2;
}

.wob_overlay{
	position: absolute;
	top: 0em;
	left: 0em;
	width: 100%;
	height: 100%;
  	background: radial-gradient(ellipse at top right, rgba(32,32,32,.4) 0%, rgba(32,32,32,.9) 42%, rgba(32,32,32,1) 100%);
	transition: opacity 1s;
	z-index: 1;
}

.wob_text{
	position: absolute;
	left: 1em;
	bottom: -.5em;
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	color: var(--bright);
	text-transform: uppercase;
}

.wob_text .char {
  opacity: 1;
  transform: translateY(-1em);
}


/**Festival Glass Styles*/
#festival_glass{
	position: relative;
	margin-top: -1.5em;
	background: var(--dark);
}

#festival_glass_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#festival_glass_left{
	width: 100%;
	background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/06/festival-glass-background.jpg");
	background-size: cover;
	background-position: bottom left;
}


#festival_glass_right{
	width: 100%;
}

#festival_glass_image{
	position: relative;
	display: block;
	left: 50%;
	width: 90%;
	max-width: 20em;
	transform: translateX(-50%);
}

#festival_glass_image img{
	display: block;
	width: 100%;
	height: auto;
}

#festival_glass_right{
	position: relative;
	padding: 2.5em 2em 4em 2em;
}

#festival_glass_info{
	position: relative;
	padding: 2em;
}

#festival_glass_info h3{
	font-family: janathork, sans-serif;
	font-size: 1.7em;
	color: var(--bright);
	text-align: center;
	text-transform: uppercase;
	text-shadow: 2px 2px 5px var(--dark);
}

#festival_glass_info_block{
	position: relative;
	left: 50%;
	width: 20em;
	height: 21em;
	text-shadow: 5px 5px 10px var(--dark);
	text-transform: uppercase;
	transform: translateX(-50%);
}

#fg_1{
	position: absolute;
	top: 0em;
	left: 0em;
	font-family: barlow, sans-serif;
	font-size: 2.3em;
	color: var(--bright);
}


#fg_2{
	position: absolute;
	top: .35em;
	left: 0em;
	font-family: barlowbold, sans-serif;
	font-size: 4.4em;
	color: rgba(0,0,0,0);
	 -webkit-text-stroke: 2px var(--primary); 
	 white-space: nowrap;
}


#fg_3{
	position: absolute;
	top: 1.9em;
	left: 0em;
	font-family: barlowbold, sans-serif;
	font-size: 3.23em;
	color: var(--bright);
 	overflow: hidden;
    white-space: nowrap;
}

#fg_3 .char {
  display: inline-block;
  transform-origin: center center;
}

#fg_4{
	position: absolute;
	top: 4.5em;
	left: 0em;
	font-family: janathork, sans-serif;
	font-size: 2.2em;
	color: rgba(0,0,0,0);
	 -webkit-text-stroke: 2px var(--bright);
}

#fg_4 span{
	color: var(--primary);
	 -webkit-text-stroke: 2px var(--primary);
}

#fg_5{
	position: absolute;
	top: 8.6em;
	left: 0em;
	font-family: barlow, sans-serif;
	font-size: 1.5em;
	color: var(--bright);
	text-align: center;
	line-height: 1.2em;
}



/**Store Section*/
#store_section{
	background: var(--dark);
	margin-top: -1.5em;
	padding-top: 1.5em;
	animation: reverseAnim 10s infinite linear;
}


@keyframes reverseAnim {
	0% {
		background: var(--dark);
	}
	50% {
		background: #141414;
	}
	100% {
		background: var(--dark);
	}
}

#store_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	color: var(--bright);
}

#store_left{
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0em 2em;
	box-sizing: border-box;
}

#store_right{
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0em 2em;
	box-sizing: border-box;
}

#store_left_content{
	position: relative;
	left: 50%;
	width: 19.5em;
	transform: translateX(-50%);
}

#store_message{
	position: relative;
	left: 50%;
	font-size: .7em;
	height: 3em;
	height: 17.3em;
	width: 19.5em;
	transform: translateX(-50%);
}

#store_message h4{
	position: relative;
	font-family: barlow, sans-serif;
	font-size: 1.8em;
	text-align: center;
	text-transform: uppercase;
}

#sm1{
	position: absolute;
	top: .05em;
	left: 0em;
	font-family: barlowbold, sans-serif;
	font-size: 5em;
	text-transform: uppercase;
}

#sm2{
	position: absolute;
	top: 1.7em;
	left: 0em;
	font-family: janathork, sans-serif;
	font-size: 3.2em;
	text-transform: uppercase;
  	white-space: nowrap;
}

#sm3{
	position: absolute;
	top: .96em;
	left: 0em;
	font-family: barlowbold, sans-serif;
	font-size: 6.7em;
	text-transform: uppercase;
}

.cta_buttons{
	margin: 1em;
}

.cta_buttons a{
	position: relative;
  	display: block;
  	width: 100%;
  	font-family: barlowbold, sans-serif;
  	font-size: 1.3em;
  	font-weight: bold;
  	color: var(--dark) !important;
  	text-align: center;
  	text-transform: uppercase;
  	text-decoration: none;
  	padding: .3em 0em;
  	z-index: 2;
  	background-color: var(--primary);
}

.cta_buttons a:hover{
	background: var(--bright);
}

#store_image{
	position: relative;
	left: 50%;
	width: 80%;
	max-width: 25em;
	padding-top: 2em;
	transform: translateX(-50%);
}

#store_image img{
	display: block;
	width: 100%;
	height: auto;
}



/**Exhibitors*/
#exhibitors{
	position: relative;
	padding: 2em 0em;
	box-sizing: border-box;
}

#inksplat_brands_list{
	position: relative;
	left: 50%;
	padding-top: 2em;
	max-width: 70em;
	transform: translateX(-50%);
}

#exhibitors .inksplat_brand_box{
	position: relative;
	width: 100%;
	margin: 1em 0em;
}

.inksplat_brand_box:hover img{
	transform: translateX(-50%) scale(1.3);
}

.inksplat_brand_box:hover .inksplat_brand_location{
	opacity: 1;
	transition: opacity .5s;
}

.inksplat_brand_box a{
	color: var(--bright);
	text-decoration: none;
}

.inksplat_brand_box img{
	position: relative;
	left: 50%;
	width: 80%;
	height: auto;
	max-width: 10em;
	transform: translateX(-50%);
	transition: transform 1s;
}

.inksplat_brand_image{
	display: block;
	position: relative;
	width: 100%;
}

.inksplat_brand_location{
	position: absolute;
	bottom: -.5em;
	left: 50%;
	width: 100%;
	padding: .5em;
	opacity: 0;
	font-family: barlow, sans-serif;
	font-size: 1.1em;
	text-transform: uppercase;
	text-align: center;
	background: var(--dark);
	transform: translateX(-50%);
	box-sizing: border-box;
}

.inksplat_brand_name{
	display: none;
}






/**Ticket Styles*/
#ticket_page_content .entry-title{
	display: none;
}

#ticket_page_content{
	font-family: ptsans, sans-serif;
	font-size: 1.5em;
	line-height: 1.3em;
}

.darkpage{
	color: var(--bright);
	background: var(--dark) !important;
}

#ticket_content{
	position: relative;
	left: 50%;
	width: 96%;
	padding: 2em 0em;
	transform: translateX(-50%);
}

.day_sticky, .timeslot_sticky{
	color: var(--bright);
	background: none;
}

.day_sticky{
	position: sticky;
	top: 1.7em;
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	text-align: center;
	text-transform: uppercase;
	padding: .4em 0em .2em 0em;
	line-height: 1.1em;
	box-sizing: border-box;
	z-index: 3;
}

.timeslot_sticky{
	position: sticky;
	top: 3.7em;
	font-family: barlowbold, sans-serif;
	font-size: 1.7em;
	text-align: center;
	text-transform: uppercase;
	padding: .2em 0em;
	z-index: 2;
}

.sentinel {
	position: relative;
	top: -4em;
  	height: 1px;
}

.sentinel_day{
	top: -7em !important;
}

.stuck{
	background: var(--dark) !important
}

#ticket_content .timeslot_sticky span{
	display: none;
}

.no_events{
	position: relative;
	font-family: barlow, sans-serif;
	text-align: center;
	text-transform: uppercase;
	padding: 4em 0em;
}

.ticket_block{
	position: relative;
	padding: 1em 0em;
}

.event_block_outer{
	position: relative;
	padding: 2em;
}

.event_block_inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	padding: 1em;
	align-items: center;
	align-items: stretch;
	box-sizing: border-box;
	border-radius: 1em;
	background: #1C1C1C;
	border: .2em solid #1B1B1B;
}

.event_block_left{
	position: relative;
	width: 100%;
	background: #FFF;
	overflow: hidden;
}

.event_block_image{
	position: relative;
	left: 50%;
	width: 100%;
	max-width: 15em;
	transform: translateX(-50%);
}
.event_block_left img{
	width: 100%;
	height: auto;
}

.sold_out_badge{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 300%;
	font-family: barlowbold, sans-serif;
	font-size: 1.2em;
	text-align: center;
	text-transform: uppercase;
	padding: .5em;
	border: 3px solid #1B1B1B;
	background: var(--dark);
	transform: translate(-50%, -50%) rotate(-45deg);
	z-index: 1;
}

.event_block_right{
	position: relative;
	width: 100%;
	padding: 1em;
	font-family: ptsans, sans-serif;
	box-sizing: border-box;
}

.event_block_info_right{
	position: relative;
	padding-top: 2em;
	box-sizing: border-box;
}

.event_block_info_left h3{
	margin: .5em 0em;
	line-height: 2em;
}

.event_block_info_left h3 a{
	display: block;
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	color: var(--bright);
	text-decoration: none;
	text-align: center;
	text-transform: uppercase;
}

.event_block_info_left h3 a:hover, .ebr_link:hover{
	opacity: .8;
}

.event_block_info_left h4{
	font-family: barlow, sans-serif;
	font-size: 1.5em;
	margin: 0;
	text-align: center;
}

.event_block_details_flex{
	display:  flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 1.1em;
	padding: .5em 0em;
}

.event_block_details_flex div{
	padding: 0em .4em;
}

.event_block_details_flex span{
	color: var(--primary);
	padding-right: .1em;
}

.ebr_link{
	display: block;
	font-size: 1.1em;
	color: var(--primary) !important;
	text-decoration: none;
	text-align: center;
	margin-top: .3em;
}

.product_sold_out{
	font-family: barlow, sans-serif;
	font-size: 2em;
	text-transform: uppercase;
	text-align: center;
}

.offsite_btn{
  display: block;
  width: 100%;
  font-family: barlowbold, sans-serif;
  font-size: 1.3em;
  font-weight: bold;
  color: var(--dark) !important;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  padding: .3em 0em;
  border-radius: 0;
  background-color: var(--primary);
}

.offsite_btn:hover, .inline_add_to_cart_button:hover{
  background: var(--bright);
  cursor: pointer;
}

.reg_price{
	font-size: .9em;
	opacity: .7;
}

.event_ticket_center .product_stock_count{
  font-family: barlow, sans-serif;
  font-size: 1.1em;
  color: #90EE90;
  margin-top: .7em;
  text-align: center;
}

.event_block_type{
	position: absolute;
	top: -1.5em;
	left: 3em;
	font-family: barlow, sans-serif;
	font-size: 1.2em;
	color: var(--bright);
	background: var(--primary);
	text-align: center;
	text-transform: uppercase;
	padding: .5em 1em;
	border: 2px solid #1b1b1b;
	z-index: 1;
	box-sizing: border-box;
}

.product_quantity_flex{
  	display: flex;
  	flex-wrap: wrap;
  	justify-content: center;
  	align-items: center;
  	font-family: ptsans, sans-serif;
  	margin: .5em 0em 1.2em 0em;
}

.product_quantity_flex input::-webkit-outer-spin-button, .product_quantity_flex input::-webkit-inner-spin-button {
  	-webkit-appearance: none;
  	margin: 0;
}

.product_quantity_flex input[type=number] {
  	-moz-appearance: textfield;
}

.product_quantity_flex .quantity .qty{
  	font-family: ptsans, sans-serif;
  	text-anchor: center;
  	outline: none !important;
  	line-height: 1.9em;
  	padding: .15em 0em .15em 1em;
  	margin: 0em .4em;
  	border-radius: 0;
}

.plus, .minus{
  position: relative;
  top: 0em;
  font-size: .95em;
  background: var(--primary);
  border: none;
  line-height: 1.5em;
}

.plus{
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.minus{
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

.plus:hover, .minus:hover{
  cursor: pointer;
  background: var(--bright);
}

.inline_add_to_cart_button{
  display: block;
  width: 100%;
  font-family: barlowbold, sans-serif;
  font-size: 1.3em;
  font-weight: normal;
  color: var(--dark) !important;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  padding: .5em 0em;
  border-radius: 0;
  outline: none;
  border: none;
  margin-bottom: .5em;
  background-color: var(--primary);
}

#tm-epo-totals{
	display: none !important
}



/**Schedule Styles*/
#schedule_content .day_sticky, #schedule_content .timeslot_sticky{
	color: var(--dark);
	background: var(--bright);
}

.schedule_day{
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	text-align: center;
	text-transform: uppercase;
	padding: .4em 0em .2em 0em;
	line-height: 1.1em;
	box-sizing: border-box;
}

#schedule_content .timeslot{
	border-bottom: 1px solid #CCC;
}

.schedule_timeslot{
	font-family: barlowbold, sans-serif;
	font-size: 1.7em;
	text-align: center;
	text-transform: uppercase;
	padding: .2em 0em;
}

.schedule_block{
	position: relative;
	padding: 1.5em 0em;
}

.schedule_holder{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	left: 50%;
	width: 90%;
	transform: translateX(-50%);
}

.schedule_holder a{
	position: relative;
	display: block;
	padding: 1em;
	max-width: 12em;
}

.schedule_holder a:hover img{
	transform: scale(1.3);
}

.schedule_event_logo{
	position: relative;
	left: 50%;
	width: 80%;
	transform: translateX(-50%);
}

.schedule_event_logo img{
	width: 100%;
	height: auto;
	transition: transform 1s;
}

.schedule_sold_out_badge{
	position: absolute;
	left: 50%;
	bottom: 3em;
	width: 80%;
	font-family: barlowbold, sans-serif;
	font-size: 1.2em;
	color: var(--bright);
	text-align: center;
	text-transform: uppercase;
	padding: .2em;
	background: var(--dark);
	transform: translateX(-50%);
	z-index: 1;
}



/**Venue Styles.*/
#venues_holder{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	padding: 1.5em 0em;
	box-sizing: border-box;
}

.venue_block_list{
	position: relative;
	padding: 3em 0em;
	box-sizing: border-box;
}

.venue_block_list .cta_buttons{
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	max-width: 20em;
}

.venue_block_list .cta_buttons:hover{
	background: var(--dark);
	color: var(--bright);
}

.exhibitors .inksplat_brand_location{
	color: var(--bright);
}



.venue_block{
	position: relative;
	width: 100%;
	height: 14em;
	padding: 1em;
	box-sizing: border-box;
}

.venue_pdf_block{
	position: relative;
	padding: 2em 0em;
}

.venue_block_inner{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border: 1px solid #444;
	box-sizing: border-box;
}

.venue_block_inner:hover{
	border: 1px solid var(--primary);
}

.venue_block_inner:hover .venue_overlay{
	background: rgba(32,32,32,.4);
}

.venue_overlay{
	position: absolute;
	top: 0em;
	left: 0em;
	width: 100%;
	height: 100%;
	background: rgba(32,32,32,.8);
	box-sizing: border-box;
}

.venue_name{
	position: relative;
	top: 50%;
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	color: var(--bright);
	line-height: 1.1em;
	text-align: center;
	text-transform: uppercase;
	text-shadow: 1px 1px var(--dark);
	padding: 0em 1em;
	transform: translateY(-40%);
}

#venue_1{
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/06/the-beer-hall.jpg");
  background-size: cover;
  background-position: center;
}

#venue_2{
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/06/the-spirits-lounge.jpg");
  background-size: cover;
  background-position: center;
}

#venue_3, #venue_4, #venue_5{
  background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/06/food-yard.jpg");
  background-size: cover;
  background-position: center;
}

#food_yard_grid{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: auto;
	gap: 1.5em;
}

.food_yard_vendor{
	position: relative;
	left: 50%;
	width: 90%;
	transform: translateX(-50%);
}

.food_yard_vendor img{
	display: block;
	width: 100%;
	height: auto;
}


/**Booking Fee*/
.booking_fee{
	font-size: .55em;
	text-transform: lowercase !important
}

/**Venue Page Styles*/
#venue_events_holder{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	padding: 2em 0em 4em 0em;
	box-sizing: border-box;
}

.venue_event{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	position: relative;
	width: 100%;
	padding: 1.5em;
	border: 1px solid #444;
	background: rgba(32,32,32,.1);
	color: var(--bright);
	margin: .7em 2em;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

.venue_event:hover{
	border: 1px solid var(--primary);
}

.venue_event_image_outer{
	position: relative;
	left: 50%;
	width:  7em;
	height: 7em;
	border-radius: 50%;
	background: var(--bright);
	transform: translateX(-50%);
}

.venue_event_image{
	display: block;
	position: relative;
	top: 50%;
	left: 50%;
	width: 84%;
	transform: translate(-50%, -50%);
}

.venue_event_image img{
	width: 100%;
	height: auto;
}

.venue_event_info{
	display: block;
	position: relative;
	width: 100%;
	padding-top: .5em;
}

.venue_event_info h2{
	font-family: barlow, sans-serif !important;
	font-size: 1.7em !important;
	color: var(--bright);
	text-transform: uppercase;
	line-height: 1.2em;
	margin: 0em 0em .3em 0em;
}

.venue_event_info h3{
	font-family: ptsans, sans-serif !important;
	font-size: 1.1em !important;
	color: var(--bright);
	margin: .2em 0em;
}








/**Merchandise Page Styles.*/
#shop_content .entry-title{
  display: none;
}

#shop_content_banner{
	position: relative;
	font-family: barlow, sans-serif;
	font-size: 2em;
	text-align: center;
	text-transform: uppercase;
	line-height: 1.1em;
}

#shop_content .product{
	position: relative;
	padding: 1em;
	background: #F2F2F2;
	min-width: 15em;
	border: 1px solid #F2F2F2;
	overflow: hidden;
	box-sizing: border-box;
}

#shop_content .product:hover{
	border: 1px solid var(--primary);
}

#shop_content .woocommerce-loop-product__title{
	font-family: barlow, sans-serif;
	font-size: 2em;
	color: var(--dark);
	text-align: center;
	text-transform: uppercase;
	margin: 0;
}

#shop_content .woocommerce-Price-amount{
	display: block;
	font-family: ptsans, sans-serif;
	font-size: 1.6em;
	text-align: center;
	text-transform: uppercase;
	color: var(--dark);
	margin: 0;
}

#shop_content .woocommerce ul.products li.product .button{
	font-family: barlowbold, sans-serif;
	font-size: 1.3em;
	color: var(--dark);
	background: var(--primary);
	border-radius: 0;
	text-transform: uppercase;
	width: 100%;
	text-transform: uppercase;
	text-align: center;
	padding: .7em 0em .7em 0em;
	border: 1px solid var(--primary);
}

#shop_content .woocommerce ul.products li.product .button:hover{
	background: var(--bright);
}

.sold-out-badge{
	position: absolute;
	top: 1.5em;
	left: -2em;
	font-family: lato, sans-serif;
	font-size: 1.2em;
	color: var(--bright);
	text-align: center;
	text-transform: uppercase;
	width: 9em;
	background: var(--dark);
	padding: .2em .5em;
	transform: rotate(-45deg);
	border: 1px solid var(--bright);
	box-sizing: border-box;
}


/**Exhbibitor Shop Styles*/
#exhibitor_page_flex{
	position: relative;
	display: flex;
  	flex-direction: column-reverse;
	flex-wrap: wrap;
	justify-content: center;
	align-items: top;
	padding: 3em 0em;
	box-sizing: border-box;
}

#exhibitor_left{
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

#exhibitor_right{
	position: relative;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

#exhibitor_right h2{
	font-size: 3em;
	line-height: 1.1em;
}

#exhibitor_stand_button{
	margin-top: 3em;
}

#exhibitor_stand_button button{
	display: block;
	position: relative;
	left: 50%;
  	width: 100%;
  	max-width: 15em;
  	font-family: barlowbold, sans-serif;
  	font-size: 1.3em;
  	font-weight: bold;
  	color: var(--dark) !important;
  	text-align: center;
  	text-transform: uppercase;
  	text-decoration: none;
  	border: none;
  	padding: .7em 0em;
  	z-index: 2;
  	background-color: var(--primary);
  	transform: translateX(-50%);
}

#exhibitor_stand_button button:hover{
	cursor: pointer;
	background: var(--dark);
	color: var(--bright) !important;
}

.exhibitor_block{
	display: block;
	line-height: 1.3em;
	margin-top: 1em;
	background: var(--dark);
	font-family: ptsans, sans-serif;
	color: var(--bright);
	text-transform: uppercase;
	padding: .5em;
	box-sizing: border-box;
}

#exhibitor_image{
	display: block;
	position: relative;
	left: 50%;
	width: 90%;
	max-width: 15em;
	transform: translateX(-50%);
	box-sizing: border-box;
}

#exhibitor_image img{
	width: 100%;
	height: auto;
}

.tc-modal button.tc_cart_button, .tc-modal-woobridge button.tc_cart_button{
	background-color: var(--primary) !important;
}



/**Contact Styles*/
#contact_holder{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	font-family: ptsans, sans-serif;
	justify-content: center;
	box-sizing: border-box;
	padding-top: 1.5em;
}

#contact_holder h4{
	margin: 0em;
}

#contact_right{
	position: relative;
	text-align: center;
	width: 100%;
	padding-bottom: 3em;
}

#contact_details a{
	font-size: 1.1em;
	text-decoration: none;
}

#contact_details span{
	position: relative;
	top: .1em;
	padding-right: .5em;
	color: var(--dark);
}

#contact_social{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#contact_social a{
	font-size: 1.5em;
	margin: 0em .3em;
	text-decoration: none;
}

#contact_social a:hover{
	color: var(--dark);
}

#contact_left{
	width: 100%;
}

#contact_form{
	position: relative;
	font-family: ptsans, sans-serif;
	color: var(--bright);
	background: var(--dark);
	padding: 1em 2.5em;
	box-sizing: border-box;
}

#contact_form::placeholder{
	color var(--bright);
}

.nf-response-msg, .ninja-forms-noscript-message{
	font-size: 1.5em;
	text-align: center;
	margin-top: 1.5em;
}

.nf-form-fields-required, .field-wrap label, .nf-error-wrap.nf-error, .nf-error-msg.nf-error-field-errors, .nf-field-element:after{
	display: none;
}

#nf-field-11-wrap .ninja-forms-field, #nf-field-12-wrap .ninja-forms-field, #nf-field-14-wrap .ninja-forms-field,
#nf-field-17-wrap .ninja-forms-field, #nf-field-18-wrap .ninja-forms-field, #nf-field-23-wrap .ninja-forms-field{
	font-family: ptsans, sans-serif;
	color: var(--bright);
	background: var(--dark);
	padding: .7em 1em;
	border: none;
	background: #333333;
	outline: none;
	box-sizing: border-box;
}

#nf-field-13-wrap .ninja-forms-field, #nf-field-19-wrap .ninja-forms-field{
	font-family: ptsans, sans-serif;
	color: var(--bright);
	background: var(--dark);
	padding: .7em 1em;
	border: none;
	height: 7em;
	background: #333333;
	outline: none;
	box-sizing: border-box;
}


#nf-label-field-15, #nf-label-field-21{
  	display: block !important;
  	font-weight: normal;
}

#nf-field-16, #nf-field-22{
	font-family: barlowbold, sans-serif;
	font-size: 1.5em;
	width: 100%;
	color: var(--dark);
	text-transform: uppercase;
	text-align: center; 
	transition: none;
	background: var(--primary);
	border: none;
	margin-top: .5em;
	padding: .4em 0em .5em 0em;
	box-sizing: border-box;
}

#nf-field-16:hover, #nf-field-22:hover{
	cursor: pointer;
  	background: var(--bright)
}





/**Partners Styles.*/
#partners{
	position: relative;
	color: var(--bright);	
	padding: 2em 0em 1.5em 0em;
	background: var(--dark);
	z-index: 3;
	box-sizing: border-box;
}

#partners h3{
	font-family: barlowbold, sans-serif;
	font-size: 1.5em;
	text-align: center;
	text-transform: uppercase;
	margin: 0em;
}

#partner_flex{
	position: relative;
	left: 50%;
	width: 96%;
	transform: translateX(-50%);
}

#partners_flex_right{
	padding-top: 2em;
}

.partners_inner_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.festival_partner{
	position: relative;
	width: 15em;
	padding: .5em 1.5em;
	box-sizing: border-box;
}

.festival_partner_logo{
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.festival_partner_logo img{
	width: 100%;
	height: auto;
}





/**Newsletter Styles*/
#signup_block{
	position: relative;
	left: 50%;
	width: 100%;
	max-width: 54em;
	padding-bottom: 5em;
	transform: translateX(-50%);
	box-sizing: border-box;
}

#newsletter{
	position: relative;
	font-family: ptsans, sans-serif;
	padding: 2.5em 10% 1em 10%;
	color: var(--bright);	
	border-top: 1px solid var(--primary);
	z-index: 3;
}

#newsletter_flex{
	position: relative;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
}

#newsletter_left h2{
	font-family: barlowbold, sans-serif;
	font-size: 2.5em;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.1em;
	margin: 0em 0em .5em 0em;
}

#mc_embed_signup form{
	position: relative;
	left: 50%;
	max-width: 35em;
	padding-top: 1em;
	transform: translateX(-50%);
}

#newsletter_custom{
	position: relative;
	width: 100%;
}

#mce-EMAIL{
	position: relative;
	font-family: ptsans, sans-serif;
	color: var(--dark);
	width: 100%;
	padding: .8em 2em;
	outline: none;
	border-radius: 3em;
	box-sizing: border-box;
}

#mce-EMAIL::placeholder{
	color: var(--dark);	
}

#mc-embedded-subscribe{
	position: absolute;
	top: 50%;
	right: .7em;
	font-size: 2.5em;
	border: none;
	outline: none;
	background: none;
	padding: 0;
	transform: translateY(-50%);
}

#mc-embedded-subscribe:hover{
	cursor: pointer;
	color: var(--primary);
}

#footer_social{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 2em;
}

#footer_social a{
	position: relative;
	display: inline-block;
	width: 2em;
	height: 2em;
	font-size: 1.4em;
	background-color: var(--bright);	
	color: var(--dark);	
	text-decoration: none;
	text-align: center;
	line-height: 2em;
	border-radius: 50%;
	margin: .3em;
}

#footer_social a:hover{
	top: -.2em;
	background: var(--primary);
}









/**Footer Styles*/
#colophon{
	position: relative;
	font-family: ptsans, sans-serif;
	padding: 1.5em 10% 1em 10%;
	color: var(--bright);
	z-index: 3;
}

#footer_background{
	position: relative;
	background: var(--dark);
	background-image: radial-gradient(circle at center, #171E24 2px, transparent 0), radial-gradient(circle at center, #171E24 2px, transparent 0);
	background-image: radial-gradient(circle at center, #151515 2px, transparent 0), radial-gradient(circle at center, #151515 2px, transparent 0);
  	background-size: 1.3rem 1.3rem;
  	background-position: 0 0, 0.65rem 0.65rem;
	z-index: 3;
}

#footer_nav{
	padding-bottom: .3em;
}

#footer_nav ul, #footer_legal ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

#footer_nav li, #footer_legal li{
	margin: 0em .5em;
	text-transform: uppercase;
}

#footer_nav #nav_social{
	display: none;
}

#footer_nav a{
	font-family: barlowbold, sans-serif;
	font-size: 1.5em;
	color: var(--bright);
	text-decoration: none;
}

#footer_legal a{
	font-size: .9em;
	color: var(--bright);
	text-decoration: none;
}

#footer_nav a:hover, #footer_legal a:hover{
	color: var(--primary);
}

#drinkaware{
	display: block;
	left: 50%;
	position: relative;
	width: 80%;
	max-width: 18em;
	transform: translateX(-50%);
	padding: 0em 0em 1.7em 0em;
}

#drinkaware img{
	width: 100%;
	height: auto;
}

#copyright{
	padding-top: .5em;
	font-size: .8em;
	text-align: center;
	text-transform: uppercase;
}

#copyright a{
	color: var(--bright);
	text-decoration: none;
}




/**Page Styles*/
.pagewrapper{
	position: relative;
	padding-top: 5em;
}

.pagewrapper_nohud{
	position: relative;
	padding-top: 5.8em;
	padding-bottom: 2em;
}

.end_sticky_page{
	position: relative;
	padding-bottom: 3em;
}

.pw_hud #page_content, .pw_hud #schedule_content, .pw_hud #shop_content{
	padding-bottom: 12em;
}

#page_content .entry-title{
	display: none;
}

#page_content h2{
	font-family: barlowbold, sans-serif;
	font-size: 2em;
	text-transform: uppercase;
	margin: 1em 0em 0em 0em;
}

#page_content h3{
	font-family: barlowbold, sans-serif;
	font-size: 1.7em;
	text-transform: uppercase;
	margin: 1em 0em 0em 0em;
}

#page_content h4{
	font-family: barlowbold, sans-serif;
	font-size: 1.4em;
	text-transform: uppercase;
	margin: 1em 0em 0em 0em;
}

#page_content h5{
	font-family: barlow, sans-serif;
	text-transform: uppercase;
	margin: 1em 0em 0em 0em;
}

.product_short_description h6{
	font-family: barlow, sans-serif;
	font-size: 1.1em;
	color: #FF0000;
}

#page_content ul{
	margin-left: .5em;
}

#page_content p, #page_content li{
	font-family: ptsans, sans-serif;
	line-height: 1.7em;
	margin-bottom: 1em;
}

#page_content a{
	color: var(--primary);
}

#page_content a:hover{
	color: var(--dark);
}


/**Error Page.*/
#error_page{
	position: relative;
	height: 80%;
	height: 100vh;
	height: calc(100vh - 15em);
	min-height: 30em;
	box-sizing: border-box;
}

#error_content{
	position: relative;
	top: 50%;
	padding: 0em;
	transform: translateY(-80%);
	box-sizing: border-box;
}

#error_content h1{
	font-family: barlowbold, sans-serif;
	font-size: 7em;
	color: var(--primary);
	text-align: center;
	margin: 0;
}

#error_content h2{
	font-family: barlow, sans-serif;
	font-size: 1.7em;
	color: var(--dark);
	text-align: center;
	margin: 0;
}

/**FAQ Styles*/
.ea-header{
	margin: 0 !important;
}


/**Cookie Script*/
.cookiescriptlogo {
    fill: var(--primary) !important;
}

#cookiescript_badge {
    background: var(--dark) !important;
}

#cookiescript_accept {
    background-color:  var(--dark) !important;
}

#cookiescript_accept {
    background-color: var(--primary) !important;
	color: var(--dark) !important;
}
	
label[for="seller_email"] span.optional {
    display: none !important;
}


/**Media Queries*/

@media only screen and (min-width: 18.75em){


}


@media only screen and (min-width: 20em){

		
}


@media only screen and (min-width: 22em){

	
}
	

@media only screen and (min-width: 25.625em){


}


@media only screen and (min-width: 28em){	



}




@media only screen and (min-width: 30.313em){


	/**Exhibitors*/
	#exhibitors .inksplat_brand_box{
		width: 50%;
	}

			
}


@media only screen and (min-width: 33.125em){





}






@media only screen and (min-width: 36.875em){
	
	/**Masthead Styles*/
	#logo{
		left: 2em;
	}



	/**Navigation Styles.*/
	#menu-toggle{
		right: 1em;
	}

	#cart_header{
		right: 3.5em;
	}

	/**Navigation Styles*/
	#navigation ul{
		padding: 0em 5em;
	 	column-count: 2;
     	column-gap: 5em;
     	padding-bottom: 4em;
	}	

	/**Store Section*/
	#store_message{
		font-size: .85em;
	}


	/**Venue Styles.*/
	.venue_block{
		width: 50%;
		height: 18em;
	}

	/**Venue Page Styles*/
	.venue_event{
		width: calc(50% - 3em);
		margin: 1.75em 1.5em;
	}




}





@media only screen and (min-width: 38.5em){	


	/**Ticket Styles*/
	.event_block_left{
		position: relative;
		width: 10em;
	}

	.event_block_type{
		left: 11em;
	}

	.event_block_right{
		width: calc(100% - 10em);
		padding: 1em 2.5em;
	}

	.event_block_image{
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.event_block_info_left h3 a{
		font-size: 2.1em;
		text-align: left;
	}

	.event_block_info_left h4{
		font-size: 1.8em;
		text-align: left;
	}

	.event_block_details_flex{
		justify-content: left;
	}

	.event_block_details_flex div{
		padding: 0em 1.5em 0em 0em;
	}

	.ebr_link, #product_sold_out{
		text-align: left;
	}

	.product_quantity_flex{
	 	justify-content: left;
	}

	.event_ticket_center .product_stock_count{
		text-align: left;
	}


}

	
@media only screen and (min-width: 41em){	

	/**What's On Styles*/
	#whats_on_grid {
	    grid-template-columns: repeat(2, 1fr);
	    grid-template-rows: auto;
	    grid-template-areas:
	        "one one"
	        "two three"
	        "two three"
	        "four four"
	        "five six"
	        "five six"
	        "seven seven"
	        "eight nine"
	        "eight nine"
	        "ten ten"
	        "eleven twelve"
	        "eleven twelve";
    }


	
}

@media only screen and (min-width: 46em){
	
	/**Nav Buttons*/
	#nav_area{
		display: block;
		position: absolute;
		top: .35em;
		right: 32em;
	}

	#nav_map{
		display: block;
		position: absolute;
		top: .35em;
		right: 26em;
	}

	#nav_schedule{
		display: block;
		position: absolute;
		top: .35em;
		right: 20em;
	}

	#nav_ticket{
		display: block;
		position: absolute;
		top: .35em;
		right: 14em;
	}

}

@media only screen and (min-width: 46em){

	/**Intro Styles*/
	#intro{
		padding: 6em 0em 8em 0em;
	}

	#intro_header{
		padding-bottom: 0em;
		margin-right: 5em;
		width: calc(50% - 5em);
	}

	#intro_header h1{
		position: relative;
		font-size: 2vw;
		line-height: 1em;
		text-align: left;
		height: 9.5em;
	}

	.intro_1{
		position: absolute;
		top: 0em;
		left: 0em;
		font-size: 1.99em;
		white-space: nowrap;
	}

	.intro_2{
		position: absolute;
		top: .6em;
		left: 0em;
		font-size: 3.08em;	
	}

	.intro_3{
		position: absolute;
		top: .6em;
		left: 0em;
		font-size: 6.4em;	
	}

	.intro_1, .intro_2, .intro_3{
		background: var(--bright) -webkit-gradient(linear, left top, right top, from(#FFF), to(#FFF), color-stop(0.5, #222)) 0 0 no-repeat;
		-webkit-background-size: 150px;
		color: rgba(255, 255, 255, 0.3);
		line-height: 1.1em;
		animation: shine 5s infinite linear;
		-webkit-background-clip: text;
		text-shadow: 0 0px 0px rgba(255, 255, 255, 0.5);
	}

	#intro_info{
		position: relative;
		width: 50%;
	}			


	/**Store Section*/
	#store_flex{
		height: 25em;
	}

	#store_left, #store_right{
		width: 50%;
	}

	#store_left_content{
		top: 50%;
		transform: translate(-50%, -65%);
	}

	#store_image{
		position: absolute;
		padding-top: 0em;
		bottom: 1em;
	}
		
	#store_image{
		width: 90%;
		max-width: 27em;
	}


}







@media only screen and (min-width: 48em){
	
	/**Basic Styles.*/
	.margins{
		position: relative;
		left: 50%;
		width: 80%;
		padding: 0em;
		transform: translateX(-50%);
	}

	.headers h1, .headers h2{
		font-size: 3em;
	}






	/**Festival Glass Styles*/
	#festival_glass{
		position: relative;
		margin-top: -1.5em;
		width: 100%;
		height: 100%;
	}

	#festival_glass_holder{
		position: relative;
		width: 100%;
		background: var(--dark);
		background-image: url("https://kerrydrinksfestival.com/wp-content/uploads/2025/06/festival-glass-background.jpg");
		background-size: cover;
		background-position: bottom left;
	}

	#festival_glass_flex{
		position: relative;
		width: 100%;
		left: 50%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		transform: translateX(-50%);
		max-width: 70em;
		background: none;
	}

	#festival_glass_left, #festival_glass_right{
		width: 50%;
		background: none;
		padding: 0;
	}

	#festival_glass_image{
		width: 80%;
		max-width: 25em;
	}

	#festival_glass_image img{
		display: block;
		width: 100%;
		height: auto;
	}

	#festival_glass_info{
		position: relative;
		top: 50%;
		padding: 0em;
		left: -1.5em;
		margin-top: -1.5em;
		transform: translateY(-50%);
	}

	#festival_glass_info h3{
		font-size: 1.6em;
	}

	#festival_glass_info_block{
		top: calc(50% - 1.5em);
		left: 0em;
		transform: translate(0, -50%);
	}






	/**Exhibitors*/
	#exhibitors .inksplat_brand_box{
		width: 33.3%;
	}


	/**Page Styles*/
	#page_content h2{
		font-size: 2.1em;
	}

	#page_content h3{
		font-size: 1.9em;
	}

	#page_content h4{
		font-size: 1.6em;
	}
	


	/**Partners Styles.*/
	#partner_flex{
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#partners_flex_left{
		position: relative;
		width: 22em;
		padding-left: 1.5em;
		border-right: 1px solid #444444;
	}

	#partners_flex_right{
		position: relative;
		width: calc(100% - 22em);
		padding: 0em 1.5em 0em 0em;
		box-sizing: border-box;
	}

	.partners_inner_flex{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.festival_partner{
		position: relative;
		width: 15em;
		padding: .5em 1.5em;
		box-sizing: border-box;
	}

	.festival_partner_logo{
		position: relative;
		width: 100%;
		box-sizing: border-box;
	}

	.festival_partner_logo img{
		width: 100%;
		height: auto;
	}


	/**Venue Styles*/
	#food_yard_grid{
		grid-template-columns: repeat(2, 1fr);
	}



}


@media only screen and (min-width: 50em){


	/**Venue Styles.*/
	.venue_block{
		width: 33.3%;
	}

}




@media only screen and (min-width: 54em){
	

	/**Basic Styles.*/
	#page_fixed_background{
		width: 40vw;
		height: 40vw;
	}

	/**Navigation Styles*/
	#navigation_modal{
		padding: 4em 0em;
	}



	/**Landing Styles*/
	#landing, #landing_video, #landing_overlay{
		min-height: 42em;
	}


	#landing_center{
		transform: translate(-50%, -50%);
	}

	#landing_center_holder{
		position: relative;
		width: 100%;
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	#landing_left{
		position: relative;
		width: 50%;
		padding: 0em 1em;
		box-sizing: border-box;
	}

	#landing_right{
		position: relative;
		width: 50%;
		padding: 0em 1em;
		box-sizing: border-box;
	}	

	#landing_logo_content{
		padding-bottom: 0em;
	}

	#landing_logo{
		max-width: 30em;
	}

	#landing_dates{
		display: none;
	}

	#landing_dates_venue{
		display: block;
		font-family: janathork, sans-serif;
		font-size: 2em;
		color: var(--bright);
		text-align: center;
		line-height: 1.1em;
		padding-top: 1em;
		text-shadow: 1px 1px var(--dark);
	}

	#landing_right h3{
		font-size: 2em;
	}

	#landing_countdown{
		position: relative;
		padding-top: 4em;
	}

	#landing_countdown{
		transform: scale(1.2);
	}	



	/**Festival Glass Styles*/
	#festival_glass{
		position: relative;
		margin-top: -1.5em;
		background: var(--dark);
	}





	/**Ticket Styles*/
	/*.ticket_block{
		border: 2px solid var(--primary);
		border-radius: 2em;
		margin: 2em 0em;
	}*/


	.event_block_outer{
		position: relative;
		padding: 2.5em;
	}

	.event_block_right{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 1em 1em;
	}

	.event_block_info_left{
		width: calc(100% - 20em);
	}

	.event_block_info_right{
		width: 20em;
		padding: 0em 2em;
	}

	.product_sold_out, .event_ticket_center{
		position: relative;
		top: 50%;
		text-align: center;
		transform: translateY(-50%);
	}
	
	.product_quantity_flex{
	  justify-content: center;
	}

	.event_ticket_center .product_stock_count{
		text-align: center;
	}


	/**Exhbibitor Shop Styles*/
	#exhibitor_page_flex{
	  	flex-direction: row-reverse;
	}

	#exhibitor_left{
		width: 22em;
	}

	#exhibitor_right{
		width: calc(100% - 22em);
		padding-left: 2em;
		text-align: left;
	}


	#exhibitor_stand_button button{
		left: 0%;
	  	transform: translateX(0);
	}

		


	/**Newsletter Styles*/
	#newsletter{
		padding: 2.2em 4em .5em 4em;
	}

	#newsletter_flex{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: top;
	}

	#newsletter_left{
		width: 50%;
		padding-right: 3.5em;
	}

	#newsletter_left h2{
		font-size: 3.5em;
		text-align: left;
		margin: 0;
	}

	#newsletter_right{
		width: 50%;
		padding-left: 3.5em;
	}

	#mc_embed_signup form{
		max-width: 100%;
	}

	#footer_social{
		padding-top: 1.5em;
	}

	/**Footer Styles*/
	#colophon{
		padding: 2.5em 4em .5em 4em;
	}

	#footer_flex{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		align-items: justify;
		flex-direction: row-reverse;
	}

	#footer_left{
		position: relative;
		width: 50%;
		padding-right: 2em;
		box-sizing: border-box;
	}

	#footer_right{
		position: relative;
		width: 50%;
		padding-left: 2em;
		box-sizing: border-box;
	}

	#footer_nav{
		padding-bottom: 0em;
	}

	#footer_nav ul, #footer_legal ul{
		justify-content: left;
	}

	#footer_nav li, #footer_legal li{
		margin-left: 0em;
	}

	#copyright{
		padding-top: .2em;
		text-align: left;
	}

	#drinkaware{
		float: right;
		left: auto;
		transform: none;
		padding: .5em 0em 0em 0em;
	}



	
}


@media only screen and (min-width: 59em){

	/**Exhibitors*/
	#exhibitors .inksplat_brand_box{
		width: 25%;
	}

	/**Navigation Styles*/
	#navigation ul{
     	padding-bottom: 6em;
	}

	#navigation a{
		font-size: 3em;
	}

	/**As Featured Styles*/
	#featured h2{
		font-size: 2.5em;
	}
		

	/**Festival HUD Styles*/
	.home_sticky_wrapper{
		margin-top: -7em;
	}

	.end_sticky{
		padding-bottom: 6em;
	}

	#sticky{
		top: calc(100vh - 5em);
	}

	#festival_hud{
		max-width: 60em;
		padding: 1em 1.5em .5em 1.5em;
	}

	.festival_hud_block, .festival_hud_block:nth-of-type(3){
		width: 33.3%;
		padding: 0em;
	}


	/**Partner Styles.*/
	#partner_flex{
		max-width: 80em;
	}


	/**Festival Glass Styles*/
	#festival_glass_info h3{
		font-size: 1.9em;
	}

	#festival_glass_info_block{
		font-size: 1.1em;
	}



	/**Contact Styles*/
	#contact_right{
		position: relative;
		width: 40%;
		text-align: left;
		padding-right: 3em;
		padding-bottom: 0em;
		box-sizing: border-box;
	}

	#contact_social{
		justify-content: left;
	}

	#contact_social a{
		font-size: 1.5em;
		margin: 0em .7em 0em 0em;
		text-decoration: none;
	}

	#contact_left{
		position: relative;
		width: 60%;
	}

	/**Page Styles*/
	.pagewrapper{
		position: relative;
		padding-top: 7.7em;
	}

	.pw_hud #page_content, .pw_hud #schedule_content{
		padding-bottom: 5em;
	}


	/**Venue Page Styles*/
	.venue_event{
		width: calc(33.3% - 3em);
	}


}


@media only screen and (min-width: 64em){

	/**Countdown Styles*/
	#countdown{
		display: flex;
		right: 40em;
	}


	/**Landing Styles*/
	#landing, #landing_video, #landing_overlay{
		min-height: 44em;
	}

	#landing_dates_venue{
		font-size: 2.3em;
		padding-top: 1em;
	}


	/**Store Section*/
	#store_section{
		height: 34em;
	}

	#store_left_content{
		transform: translate(-50%, -57%);
	}

	#store_message{
		font-size: 1.2em;
	}

		
	
}



@media only screen and (min-width: 67em){
 
  /**What's On Styles*/
  #whats_on_grid {
      grid-template-columns: repeat(9, 1fr);
      grid-template-rows: auto;
      grid-template-areas:
          "one one one one one one two two two"
          "one one one one one one two two two"
          "one one one one one one two two two"
          "one one one one one one two two two"
          "three three three four four five five five five"
          "three three three four four five five five five"
          "three three three four four five five five five"
          "six six six six seven seven seven seven seven"
          "six six six six seven seven seven seven seven"
          "eight eight nine nine ten ten ten ten ten"
          "eight eight eleven eleven eleven eleven twelve twelve twelve"
    }

    /**Store Section*/
	#store_flex{
		height: 30em;
	}

	#store_message{
		font-size: 1em;
	}
		
	#store_image{	
		bottom: -3.5em;
		max-width: 35em;
	}
}	



@media only screen and (min-width: 70em){

	/**Countdown Styles*/
	#countdown{
		right: 45em;
	}

	/**Landing Styles*/
	#landing_countdown{
		position: relative;
		padding-top: 3em;
	}

	#landing_countdown{
		transform: scale(1.3);
	}	



	/**Festival Glass Styles*/
	#festival_glass_info h3{
		font-size: 2em;
	}

	#festival_glass_info_block{
		font-size: 1.2em;
	}



	/**Contact Styles*/
	#contact_form{
		padding: 1em 3.5em 2em 3.5em;
	}	

  	/**Contact Form Styles*/
    #nf-field-11-container, #nf-field-17-container{
      display: inline-block;
      width: 48%;
      margin-right: 2%;
    }

    #nf-field-12-container, #nf-field-18-container{
      display: inline-block;
      width: 48%;
      margin-left: 2%;
      float: right;
    } 




	/**Newsletter Styles*/
	#newsletter_left{
		padding-right: 5.5em;
	}

	#newsletter_right{
		padding-left: 5.5em;
	}


	#newsletter_left h2{
		font-size: 4.2em;
	}	

	/**Ticket Styles*/
	.event_block_right{
		padding: 1em 2.5em;
	}

	
	/**Venue Styles.*/
	.venue_block{
		width: 25%;
	}


}




@media only screen and (min-width: 80em){
	
	/**Header Social Styles*/
	#header_social{
		position: absolute;
		top: .2em;
		right: 40em;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#header_social a{
		position: relative;
		width: 1.5em;
		height: 1.5em;
		font-size: 1.6em;
		background: var(--bright);
		color: var(--dark);
		margin: .3em;
		text-decoration: none;
		text-align: center;
		line-height: 1.5em;
		border-radius: 50%;
	}

	#header_social a:hover{
		background: var(--primary);
	}

	/**Countdown Styles*/
	#countdown{
		right: 58em;
	}


	/**Exhibitors*/
	#exhibitors .inksplat_brand_box{
		width: 20%;
		margin: 1.5em 0em;
	}
		

	/**Venue Page Styles*/
	.venue_event{
		width: calc(25% - 3em);
	}
		
	/**Exhbibitor Shop Styles*/
	#exhibitor_left{
		width: 30em;
	}

	#exhibitor_right{
		width: calc(100% - 30em);
	}

	#exhibitor_image{
		max-width: 20em;
	}


	
}

@media only screen and (min-width: 90em){
	
	
	/**Header Social Styles*/
	#header_social{
		position: absolute;
		top: .2em;
		right: 42em;
	}

	/**Countdown Styles*/
	#countdown{
		right: 63em;
	}

}

@media only screen and (min-width: 105em){

	
}

@media only screen and (min-width: 115em){

	
}


/**Custom Shop Styles*/
#shop_content ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  padding: 0;
  margin: 0;
  list-style: none;
}

@media (max-width: 767px) {
  #shop_content ul.products {
    gap: 1em;
  }
}

#shop_content ul.products li.product {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

@media (min-width: 300px) and (max-width: 799px) {
 #shop_content ul.products li.product {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

@media (min-width: 800px) and (max-width: 1199px) {
  #shop_content ul.products li.product {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
  }
}

@media (min-width: 1200px) {
  #shop_content ul.products li.product {
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
}