:root {
	/* A world of colour palette */
	--rich-blue: rgba(0, 76, 124, 1);
	--bright-blue: rgba(76, 182, 234, 1);
	--light-blue: rgba(176, 223, 249, 1);
	--light-blue-tint: rgba(216, 239, 252, 1);
	--rich-teal: rgba(0, 155, 144, 1);
	--bright-teal: rgba(62, 202, 148, 1);
	--light-teal: rgba(180, 245, 220, 1);
	--light-teal-tint: rgba(218, 250, 238, 1);
	--rich-green-1: rgba(2, 90, 71, 1);
	--bright-green-1: rgba(130, 227, 120, 1);
	--light-green-1: rgba(210, 244, 181, 1);
	--light-green-1-tint: rgba(232, 249, 218, 1);
	--rich-green-2: rgba(124, 122, 56, 1);
	--bright-green-2: rgba(188, 237, 75, 1);
	--light-green-2: rgba(220, 252, 148, 1);
	--light-green-2-tint: rgba(238, 254, 202, 1);
	--rich-yellow: rgba(218, 186, 5, 1);
	--bright-yellow: rgba(230, 225, 50, 1);
	--light-yellow: rgba(235, 243, 130, 1);
	--light-yellow-tint: rgba(245, 249, 193, 1);
	--rich-orange: rgba(219, 94, 0, 1);
	--bright-orange: rgba(242, 140, 21, 1);
	--light-orange: rgba(255, 191, 148, 1);
	--light-orange-tint: rgba(255, 223, 202, 1);
	--rich-red: rgba(173, 46, 38, 1);
	--bright-red: rgba(236, 83, 83, 1);
	--light-red: rgba(252, 205, 202, 1);
	--light-red-tint: rgba(254, 230, 228, 1);
	--rich-pink: rgba(211, 47, 86, 1);
	--bright-pink: rgba(244, 134, 235, 1);
	--light-pink: rgba(247, 190, 247, 1);
	--light-pink-tint: rgba(251, 223, 251, 1);
	--rich-purple-1: rgba(110, 51, 147, 1);
	--bright-purple-1: rgba(193, 116, 236, 1);
	--light-purple-1: rgba(218, 175, 254, 1);
	--light-purple-1-tint: rgba(237, 215, 255, 1);
	--rich-purple-2: rgba(88, 63, 194, 1);
	--bright-purple-2: rgba(175, 159, 254, 1);
	--light-purple-2: rgba(222, 214, 253, 1);
	--light-purple-2-tint: rgba(239, 235, 254, 1);
	/* Primary and secondary colours */
	--primary: var(--rich-teal);
	--primary-bright: var(--bright-teal);
	--primary-light: var(--light-teal-tint);
	--secondary: var(--rich-green-2);
	/* Foreground text colour for high contrast with background */
	--primary-text: #000;
	--secondary-text: #000;
	/* Event format colours */
	--format-8: var(--rich-purple-2); /* Activity */
	--format-9: var(--rich-teal); /* Conversation */
	--format-10: var(--rich-blue); /* Panel */
	--format-11: var(--bright-purple-1); /* Performance */
	--format-12: var(--rich-green-1); /* Talk */
	--format-13: var(--light-yellow); /* Workshop */
	--format-14: var(--light-red-tint); /* Castle */
	--format-15: #000; /* Screening */
	/* Festival Schedule - EPG */
	--epg-primary: var(--primary);
	--epg-text: #FFF;
	--epg-solid: #FFF;
	--epg-transparent: rgba(255,255,255,0.3);
}

/* $grid-breakpoints: (
  // Extra small screen / phone
  xs: 0,
  // Small screen / phone
  sm: 576px,
  // Medium screen / tablet
  md: 768px,
  // Large screen / desktop
  lg: 992px,
  // Extra large screen / wide desktop
  xl: 1200px
); */

/* $container-max-widths: (
  sm: 540px,
  md: 720px,
  lg: 960px,
  xl: 1140px
); */

* {
    text-transform: none !important;
    letter-spacing: normal !important;
}

html {
    height:100%;
  }

body { font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; color: #000; font-style:normal;font-weight:500; font-size: 1.125rem; -webkit-font-smoothing: subpixel-antialiased; height:100%; display:flex; flex-direction:column; overflow-x: hidden; }
h1, .h1 { font-size: 1.5rem; letter-spacing: 2px; margin: 1rem 0 1rem 0; color: var(--primary); font-weight: 600; }
h2 { font-family: proxima-sera, 'Times New Roman', Times, serif; font-style: italic; font-weight:400; font-size: 1.25rem; text-transform: uppercase; margin: 2rem 0 1.75rem 0; }
h3 { font-size: 1.25rem; margin: 2rem 0 1.75rem 0; font-weight: 600; }
h4 { font-size: 1.125rem; padding: 1rem 0 0.5rem 0; color:#000; font-weight: 600; }
h5 { font-size: 1.125rem; padding: 1rem 0 0.5rem 0; font-weight: 600; }
h6 { font-size: 1.12rem; padding: 0; font-weight:bold; margin-bottom: 0.375rem; font-weight: 600; }
.lead { line-height: 1.4; margin: 0 0 0.5rem 0; }
p { font-size: 1.125rem; line-height: 1.4; }
blockquote { padding: .5rem 1rem; margin-bottom: 1rem; font-size: 1.25rem; border-left: .25rem solid #eceeef; }
.text-proxima-sera { font-family: proxima-sera, 'Times New Roman', Times, serif; font-style: italic; font-weight:400; }
/*button,input,optgroup,select,textarea { font-family:'Gill Sans Nova W04 Light'; }*/
@media (min-width: 992px) {.container {padding: 0;}}

/* TEXT */
.hayFt36 { font-size: 2.25rem; } 	/* 36px */
em, i { padding-right:.1rem; }

/* COLOR */
/* Brand Red 1 - var(--primary) */
/* Grey 1 - #575756 */
/* Grey 2 - #9D9D9C */
/* Grey 4 - #EDEDED */

.hayColW { color: #FFF !important; }
.hayColR1 { color: var(--primary); }
.hayColG1 { color: #575756; }
.hayColG2 { color: #9D9D9C; }
.hayColG3 { }
.hayColG4 { color: var(--primary-light); }

/* LINKS */
a, a:visited { color: var(--primary); }
a:focus, a:hover { color: var(--primary-bright); text-decoration: none; }
a.langsel { background:var(--primary); padding:4px; font-size: 1rem; border:solid 1px var(--primary); margin-left:8px; }
a.langsel, a.langsel:visited { color: var(--primary-text); font-weight: 600; }
a.weblingo, a.weblingo:visited { color: rgba(255,255,255,.75); }
/*.hayLinkW:link, .hayLinkW:visited, .hayLinkW:active { color: #FFF; }
.hayLinkW:hover { color: #EDEDED; }
.hayLinkG1:link, .hayLinkG1:visited, .hayLinkG1:active { color: #333; }
.hayLinkG1:hover { color: #9D9D9C; }
.hayLinkG2:link, .hayLinkG2:visited, .hayLinkG2:active { color: #9D9D9C; }
.hayLinkG2:hover { color: #333; }*/
.hayLinkG4:link, .hayLinkG4:visited, .hayLinkG4:active { color: var(--primary-light); }
.hayLinkG4:hover { color: #9D9D9C; }

/* BACKGROUND */
.hayBgB { background-color: #000; }
.hayBgW { background-color: #FFF; }
.hayBgR1 { background-color: var(--primary); }
.hayBgG1 { background-color: #575756; }
.hayBgG2 { background-color: #9D9D9C; }
.hayBgG3 { }
.hayBgG4 { background-color: var(--primary-light); }
.bgPink { background-color: #BA6EA8 !important; }
.bgOrange { background-color: var(--rich-orange);}
.bgPurple { background-color: var(--rich-purple-2);}

/* BORDER */
.hayLine4 { border-bottom: 0.03125rem solid } /* to look at where this is actually used */

/* IMAGE */
.hayRowImg { padding: 0; } /* is this used now? */
.hImg { padding: 1rem 0; }
.hImgCap { font-size: 1rem; margin-top: -0.75rem; margin-bottom: 1rem; }
.hayImgC1 small { display: block; text-align: right; font-style: italic; }

/* CARDS on all pages */
.card { margin-top: 1rem; margin-bottom: 1rem; padding: 1rem; border: 0; border-radius: 0; background-color: var(--primary-light); }
.card-body { padding: 0.5rem; }
.card-img { border-radius: 0; }
.card-title { margin-bottom: 0; }
.card-text { line-height: 1.1; }
.card-link { line-height: 1.1; margin-bottom: 0; }
.card-link:hover { }

/* FORMS on all pages */
.form-control { border-radius: 0; }
.form-control:focus { border-color: var(--primary); }
.form-control-sm:focus { border-color: var(--primary); }
.form-check-input { margin-top: 0.4rem; }
select.form-control[size] { height: calc(2.25rem + 2px); }

/* BUTTONS on all pages */
.btn { border-radius: 0; cursor: pointer; }
.btn-outline-primary { color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover { color: var(--primary); background-color: var(--primary-light); border-color: var(--primary); }
.btn-action, a.btn-action, a.btn-action:visited { color: #fff; background-color: #575756; border-color: #575756; }
.btn-danger { font-weight:600; color: var(--primary-text); background-color: var(--primary); border-color: var(--primary); }
.btn-primary, a.btn-primary, a.btn-primary:visited { color: var(--primary-text); font-weight: 600; background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover, a.btn-primary:hover { color: var(--primary-text); background-color: var(--primary-bright); border-color: var(--primary-bright); }
.btn.btn-secondary { font-weight: 600; color: var(--secondary-text); background-color: var(--secondary); border-color: var(--secondary); }
.btn.btn-secondary:hover { color: var(--primary-text); background-color: var(--primary); border-color: var(--primary); }
.btn-disabled { pointer-events: none; cursor: default; color:#DDD; }
.btn-number { background-color: var(--primary-bright); }

/* BADGES */
.badge-primary { color: #fff; background-color: var(--primary); }
.badge-secondary { color: #fff; background-color: var(--secondary); }

/* override pagination */
.page-numbers {display: flex; justify-content: end; align-items: center;}
.page-numbers span, .pagecurr { padding-right: 0.25rem;  }
.page-item.active .page-link { background-color:var(--primary); border-color:var(--primary); }
.page-link { color:var(--primary); }
a.pageprev, a.pagenext { font-size: 2.55rem }
a.pageprev { padding-right: 1rem; padding-left: 0.75rem; }
a.pagenext { padding-left: 1rem; }
a.pageprev, a.pageprev:visited { color:var(--rich-teal); margin-right:0.2rem; }
a.pagenext, a.pagenext:visited { color:var(--rich-teal); margin-left:0.2rem; }
a.pageprev:hover, a.pagenext:hover { color:var(--primary); }
@media only screen and (min-width : 768px) { a.pageprev, a.pagenext { padding-left: 0; padding-right: 0; font-size: 1.125rem } .page-numbers span, .pagecurr { padding-right: 0; } }

/* CAROUSEL */
.responsive-carousel {	background: #FAFAFA; margin-left: -15px;	margin-right: -15px; }
.responsive-carousel .content-wrapper { display: flex; position: absolute; height: 100%; width: 100%; justify-content:center; z-index: 1; background: rgba(0,0,0,0.1);}
.responsive-carousel-cell .content { display: flex; flex-basis:100%; flex-direction:column; align-items:center; align-self:center; padding: 0 3rem; font-weight: 500;	line-height: 1;	text-align: center;	color: #fff;}
.responsive-carousel-cell .content span.title, .responsive-carousel-cell .content span.subtitle { display: block; width:100%; }
.responsive-carousel-cell .content span.title { font-size: 2.5rem; }
.responsive-carousel-cell .content span.subtitle { display:none; font-size: 2rem; margin-top: 1rem; }
.responsive-carousel-cell .content .btn.btn-secondary { display: none;	color: #fff; background-color: transparent; text-transform: uppercase;	padding: .45rem 2rem; border-color: #ccc; border-radius: 0; }
.responsive-carousel-cell { width: 100%; margin-right: 10px; counter-increment: gallery-cell;}
.responsive-carousel .flickity-page-dots {	bottom: 16px;}
.flickity-viewport { transition: height 0.2s; }
.responsive-carousel .flickity-page-dots .dot { width: 8px; height: 8px; opacity: 1; background: transparent; border: 2px solid white; }
.responsive-carousel .flickity-page-dots .dot.is-selected { background: white;}
.flickity-button { background: transparent !important; }
.flickity-button-icon { fill: white !important; }
/*.hayCarousel { margin-top: -2rem; }*/
@media only screen and (min-width : 541px) { .responsive-carousel-cell .content { padding: 0;}  .responsive-carousel-cell .content .btn.btn-secondary { margin-top: 1rem; } .responsive-carousel-cell .content span.subtitle, .responsive-carousel-cell .content .btn.btn-secondary { display: inline-block; }}
@media only screen and (min-width : 992px) { .hayCarousel .row { margin-right: 0; margin-left: 0; } .responsive-carousel {	margin-left: 0;	margin-right: 0; } .responsive-carousel-cell .content span.title { font-size: 5rem; } .responsive-carousel-cell .content span.subtitle { font-size: 2.6rem; margin-top: 2.3rem;} .responsive-carousel-cell .content .btn.btn-secondary { margin-top: 2.6rem; } .responsive-carousel .flickity-page-dots .dot { width: 10px; height: 10px;}}

/* CAROUSEL - RESPONSIVE V2 */
.hayCarousel .carousel {  margin-left: -15px;	margin-right: -15px; font-weight: 500;	text-align: center;	color: #fff; line-height: 1; }
.hayCarousel .carousel .carousel-caption { top: 50%; transform: translateY(-50%); bottom: auto; }
.hayCarousel .carousel .carousel-caption span.title, .hayCarousel .carousel .carousel-caption span.subtitle { display: block; width:100%; }
.hayCarousel .carousel .carousel-caption span.title { font-size: 2.5rem; }
.hayCarousel .carousel .carousel-caption span.subtitle { display: none; font-size: 2rem; margin-top: 1rem; }
.hayCarousel .carousel .carousel-caption .btn.btn-secondary { margin-top: 1rem; color: #fff; background-color: transparent; text-transform: uppercase;	padding: .45rem 2rem; border-color: #ccc; border-radius: 0; }
@media only screen and (min-width : 541px) { .hayCarousel .carousel .carousel-caption .btn.btn-secondary { margin-top: 1rem; } .hayCarousel .carousel .carousel-caption span.subtitle { display: inline-block; }}
@media only screen and (min-width : 992px) { .hayCarousel .carousel { margin-right: 0; margin-left: 0;} .hayCarousel .carousel .carousel-caption span.title { font-size: 5rem; } .hayCarousel .carousel .carousel-caption span.subtitle { font-size: 2.6rem; margin-top: 2.3rem;} .hayCarousel .carousel .carousel-caption .btn.btn-secondary { margin-top: 2.6rem; }}

/* SEARCH */
.haySearch { overflow-x: hidden; padding: 0; }
#search-box { background: var(--primary); text-align: center; overflow: hidden; height: 55px; margin-top: -55px; -webkit-transition-timing-function: ease-in-out; -moz-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; }
.open#search-box { margin: 0 0 3px 0; }
#search-box .wrap { padding: 8px; text-align: left; border: 0; }
.wrap { min-width: 300px; max-width: 1140px; margin-left: auto !important; margin-right: auto !important; height: 55px; }
#search-box .textbox { width: 100%; border: none; height: 40px; font-size: 18px; padding: 8px; }

/* SIGNUP */
.haySignup { overflow-x: hidden; padding: 0; }
#signup {
    background: var(--primary);
    color:#FFF;
    text-align: center;
    overflow: hidden;
    margin: 0 0 3px 0;
    -webkit-transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    width: 100%;
    border: none;
    font-size: 1rem;
    font-weight:bold;
    padding: 8px;
}

#signup .wrap {
    min-width: 300px;
    max-width: 1200px;
    margin-left: auto !important;
    margin-right: auto !important;
    height: auto;
}

#signup a, #signup a:visited  {
    color: #FFF;
}
@media (min-width: 768px) { #signup { max-height: 44px; font-size: 1.125rem; } #signup .wrap { height: 55px; }}

/*SHAREBAR*/
#sharebar { display:none; text-align: center; overflow: hidden; height: 100px; -webkit-transition-timing-function: ease-in-out; -moz-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; }
#sharebar a { display:block; height:36px; width:36px; margin-bottom:0.5rem; }
.open#sharebar { margin: 0 0 3px 0; display:inline-block; z-index:100; position:absolute; top:3rem; right:1rem; }
.sfb { color:#3b5998; }
.stw { color:#000; }

.event-share { display:none; overflow: hidden; height:36px; }
.open.event-share { margin:0; display:inline-block; z-index:100; padding-left:1rem; }
div.social a.open-event-share { height:36px; vertical-align:top; display:inline; }

/* TOP */
.hayTop { padding-top: 0.5rem; }
@media (min-width: 768px) { .hayTop { padding-left: 0; padding-right: 0; } .hayTop .hayTopNavLeft{ padding: 0 2rem 0.5rem 0; text-align: left; }}
.hayTopNavRight { z-index: 99;}
@media (min-width: 768px) { .hayTopNavRight { /*min-height:54px;*/ }}
.hayTopNavRight .nav-item {	text-align: center; }
.hayTop .hayTopNavLeft { font-size: 1rem; color: #9D9D9C; line-height: 1.5; letter-spacing: 2px; text-align: center; text-transform: uppercase; white-space: nowrap; display:inline-block; vertical-align:bottom; }	
.hayTop .nav-item .nav-link { position: relative; color:var(--primary); font-weight: 600; }
.hayTop .nav-item .nav-link.hayTopBasket span.badge { border-radius:12px; display: inline-block; margin-left: 0.25rem; min-width:20px; }
.hayTop .hayTopNavLeft .nav-link { padding: 0 1rem; }
.hayPipeL { border-right: 1px solid #9D9D9C; }
.hayTopHome, .hayTopAccount, .hayTopBasket, .hayTopSearch, .hayTopShare { display: inline-block; padding: 0 .5rem; font-size: 1rem; /*background-position: top center; height: 35px; width: 35px;*/ }
/* HEADER */
.hayLogo { margin:0; height:100px; max-width: 80%; }
a.hayLogo img { max-height:100px; }

/* NAV MAIN */
.hayNavMain { padding-top: 0; padding-bottom: 1rem;}
.hayNavMainBrand{ text-transform: uppercase; font-size: 1rem; line-height: 1; letter-spacing: 2px; color: #9D9D9C; }
.hayNavMain .navbar { z-index: 1; background: #fff;}
.hayNavMain .navbar-toggler { margin-top: -7px; }
.hayNavMain .navbar-toggler-right { right: 0; }
.hayNavMain .navbar-nav { padding-top: 0.75rem; }
.navbar-inverse .navbar-nav .nav-link { color: rgba(255,255,255,.5); }
.navbar-inverse .navbar-brand, .navbar-inverse .navbar-toggler { color: #fff; }
.navbar-inverse .navbar-nav .active > .nav-link, .navbar-inverse .navbar-nav .nav-link.active, .navbar-inverse .navbar-nav .nav-link.open, .navbar-inverse .navbar-nav .open > .nav-link { color: #fff; }
.navbar-nav .nav-link.hayNavMainLink { padding-top: 1rem; padding-bottom: 1rem; font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; font-size: 1.2rem; font-style: normal; font-weight: 600; line-height: 1; color: var(--primary); }
.navbar-nav .nav-link.hayNavMainLink:hover { color: var(--primary-bright); }
@media (min-width: 768px) { .hayNavMain { padding-bottom: 1.75rem;  } }
@media (min-width: 992px) { .navbar-nav .nav-link.hayNavMainLink { padding: 0 0.75rem; }  }
section.Main { flex:1 0 auto; overflow-y: auto; }

/* FOOTER */
.hayFooterUpper { margin-top: 2rem; }
.haySocial { background-color: var(--primary); padding: 1rem 0 0 0; }	
.haySocial .nav-inline { float: none; display: inline-block; font-size: 0; padding: 0.2rem 0 0.5rem 0; margin: 0; }
.haySocial .nav-link { font-size: 0.9rem; }
.haySocial .fa-stack-2x { color: #000;} 
.haySocial .fa-brands.fa-stack-1x  { color: #FFF !important;} 
.haySocial .fa-stack-2x:hover { color: #EDEDED;}
.hayFootNav { background-color: var(--primary); padding: 1.2rem 0rem; }
.hayFootNav .nav-link { font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; font-style: normal; font-weight: 600; text-transform: uppercase; font-size: 1rem; padding: 0.5rem 1rem; margin: 0; }
.hayFootNav a.nav-link, .hayFootNav a.nav-link:visited { color: var(--primary-text); }
.hayFootNav a.nav-link:hover { color: var(--primary-light); }
@media (min-width: 576px) { .hayFootNav { padding: 1.2rem 3rem; } .hayFootNav .nav-link { padding: 0.5rem 1.2rem; } }
@media (min-width: 768px) { .hayFootNav { padding: 1.2rem 6rem; } .hayFootNav .nav-link { padding: 0.5rem 1.5rem; } }
@media (min-width: 992px) { .hayFootNav { padding: 1.2rem 0; } .hayFootNav .nav-link { padding: 0.5rem 1.5rem; } }

/* TAIL */
.hayTail {
    background-color: #000;
}	
.hayTail .container { width: 950px; max-width: 100%; }	
.hayTailNav { padding: 1rem; }	
.hayTailNav .nav-link { font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; text-transform: uppercase; font-style:normal;font-weight:500; font-size: 0.75rem; line-height: 1.875; letter-spacing: 1.5px; color: #EDEDED; padding: 0 0.5rem; }	
@media (min-width: 768px) { .hayTailNav { padding: 1rem 0; } }

/* ROWS, COLUMNS and FLEX on all pages */
.hayRowNavFlex { margin-left: -30px; margin-right: -15px; }
.hayRowNavFlex .col-lg-4 { padding-right: 0; margin-bottom: 1rem;}
.hayRowCardDeck { margin-left: -15px; margin-right: -15px; padding-left: 15px; padding-right: 15px; }

/* TEXT AND IMAGES */
.TxtReadMore {  font-size: 0.8125rem; font-weight: 600; line-height: 1.1; }

/* NAVS */
@media (min-width: 992px) {.NavC3ImgTtlTxtLnk, .NavC3ImgTtl, .NavC6ImgTtlH, .NavC4ImgTtlTxt, .NavC3Ttl { margin-right: 0; margin-left: 0; }}

.NavC a { display:block; margin-top:1rem; }
.NavC img { max-width: 100%; height: auto; border-radius: 0; margin-top:1.3rem; }
.NavC h4 { margin-bottom: 0;  }
.NavC p, .NavC div div div { /*line-height: 1.1;*/ }

.NavC3ImgTtl div a { background-color: var(--primary); text-align:center; display:block; margin-bottom:1rem;}
.NavC3ImgTtl div a.navc img { margin:0; }

.NavC3ImgTtlTxtLnk { background-color: var(--primary-light); }
.NavC3ImgTtlTxtLnk h4 { color: var(--secondary-text); font-weight: 600; padding-bottom: 0.25rem; font-size: 1.25rem; }
.NavC3ImgTtlTxtLnk h6 { color: var(--secondary-text); font-size: 1.125rem; padding: 0; }
.NavC3ImgTtlTxtLnk img { margin-top:0; }
.NavC3ImgTtlTxtLnk a { color: var(--secondary-text); }
.NavC3ImgTtlTxtLnk p.more { font-size: 0.8rem; font-weight:bold;}

.NavC3ImgTtl { background-color: var(--primary-light); margin-top: 1rem; margin-bottom: 1rem; }
.NavC3ImgTtl div div { background-color: var(--primary); text-align:center; }
.NavC3ImgTtl h4 { color: var(--primary-text); font-weight: 600; padding:0.5rem; }

.NavC4ImgTtl h4 { color: var(--primary); font-weight: 600; font-size: 0.875rem; text-align: center; padding: 0.5rem 0; }
.NavC4ImgTtl p { text-align:center; color: #000; font-size: 0.875rem; }

.NavC6ImgTtlH { background-color: var(--primary-light); }
.NavC6ImgTtlH h3 { color: var(--primary); margin-top: 1rem; margin-bottom: 0; }
.NavC6ImgTtlH h4 { font-size: 0.875rem; padding: 0.5rem 0 0; }

.NavC4ImgTtlTxt { background-color: var(--primary-light); margin-top: 1rem; margin-bottom: 1rem; }
.NavC4ImgTtlTxt a { margin-top:0; }
.NavC4ImgTtlTxt div div { background-color: var(--primary);  }
.NavC4ImgTtlTxt div div h4 {color: var(--primary-text);}
.NavC4ImgTtlTxt h4 { font-weight: 600; text-align:center; color: var(--secondary-text); padding:0.5rem; margin-bottom:1.3rem; }
.NavC4ImgTtlTxt p { background-color: var(--primary-light); padding: 1rem 0; }

.NavC3Ttl { background-color: var(--primary-light); margin-top: 1rem; margin-bottom: 1rem; }
.NavC3Ttl h4 { text-align:center; color: var(--primary-text); font-weight: 600; padding: 1rem 0.5rem; }
.NavC3Ttl div div { border: none; margin-bottom:1rem; background: var(--primary); }

.NavC3ImgTtlTxt h4 { color: var(--primary); font-weight: 600; text-align:center; padding: 1rem 0.5rem 0; }
.NavC3ImgTtlTxt p { text-align:center; color: #000; padding: 0.5rem; }

/* TABS */
.nav-tabs {	border-bottom: 1px solid var(--primary-light); }
.nav-tabs .nav-link { border: 1px solid transparent; border-top-left-radius: 0; border-top-right-radius: 0; text-transform: uppercase; font-weight: 600;}
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { border-color: var(--primary-light); }
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active { color: #000; background-color: var(--primary-light);	border-color: transparent;	border-radius: 0; border-bottom: 0; text-transform: uppercase;}

/* FEATURE */
.Ftr a { display:block; margin-top: 1rem; margin-bottom: 1rem; }
.Ftr img { max-width: 100%; height: auto; border-radius: 0; }
.FtrC3ImgTtl div div { background-color: var(--primary); }
.FtrC3ImgTtl h4 { font-size: 0.9rem; font-weight: 600; color: var(--primary-text); padding: 0.5rem; }
.FtrC2ImgTtl div div { background-color: var(--primary); }
.FtrC2ImgTtl h4 { font-size: 0.9rem; color: var(--primary-text); font-weight: 600; padding: 0.5rem; }
.FtrS2 { margin-top: 2rem !important; }
/*.FtrD { padding: 1.8rem 0.5rem 2rem !important;}*/
h4.FtrD { font-size: 1.2rem; /*padding-top:0.89rem;*/ }
h4.FtrS { padding:0 0 1rem 0.5rem; }

/* MODAL */
.modal-content { border: 0; border-radius: 0; }
.modal-header .logo { width: auto; max-height: 70px; }
@media (min-width: 992px) {.modal-xl { max-width: 800px; }}
@media (min-width: 1200px) {.modal-xl { max-width: 1140px; }}

/* PROGRAMME */
.progMain {}
.progMainDesc { margin-bottom:2rem; }
.progMainPagination { margin-top: 3rem; }
.progItem { padding: 2rem 0 0 0; margin-bottom:2rem; /*border:1px solid #EEE;*/ }
h1.event, h2.event { color:var(--primary); font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; font-size:1.6rem; font-weight: 600; font-style: normal; padding:0.5rem 0; margin:0; text-transform:none; }
.modal-body h2.event { padding-bottom:0; }
h2.sponsor { margin-top:0; margin-bottom:0; }
h2.tel { font-size:1.6rem; }
h3.subtitle { font-family: proxima-sera, 'Times New Roman', Times, serif; font-style:italic;font-weight:400; font-size:1rem; margin:0; padding:0; letter-spacing:0.1rem; }
h4.event { background:var(--primary); color: var(--primary-text); padding:0.5rem; }
h4.event.notice { background:#4D342E; }
h4.sponsor { }
h5.datetimevenue { font-weight:bold; padding:0.5rem 0 1rem 0; margin:0; }
.price { padding-bottom: 1rem; }
/*.price > .form-inline { margin-left:-5px; }*/
.price .form-inline label.lblAdded { flex-basis: 100%;}
.booking-fee { margin-top: -0.5rem; padding-bottom: 1rem; display: block; font-size: .95rem; font-style: italic; color: #666; }
/*.row.progData { border-top:1px var(--primary) solid; }*/
.progData { padding:0; }
.progData img { }
.progData a.btn { margin-bottom: 0.5rem; }
.progData a.btn i { padding-right: 0.25rem; }
.hay-player .progData { margin: 0; }
@media (min-width: 576px) {
    .progPage .container {
        padding-right: 15px;
        padding-left: 15px;
    }
    /*.progItem img {
        padding: 0;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        padding-left: 0.5rem;
    }*/
    .hay-player .progData {
        padding: 0 20px 20px 20px;
        margin-right: -15px;
        margin-left: -15px;
    }
}
@media (max-width: 768px) {
    .venue {
        display: block;
    }
}
@media (min-width: 768px) { .progItemContent {padding-right: 0; padding-left: 0;} .progItemContent.collapse { display: block !important; }}
.progItemPrice { padding: 0.5rem 0; font-weight: 600; }
.variantprice { font-weight:bold; }
#progItemQty { margin-right: 0.5rem; max-width: 4rem; text-align: center; }
.prog-qty { display:inline-block; width: 100% !important; max-width: 4rem; text-align: center; }
.progSide {}
.progSideModule { border: 0.05rem solid var(--primary); padding: 0; margin-bottom: 1rem; }
.progSideModule h4 { background-color: var(--primary); color: #fff; padding: 0.5rem; margin-bottom: 0; }
.progSideModule table { padding: 0.5rem;  }
.progSideModule div { padding: 0.5rem;  }
.progSideModule ol { padding: 0.5rem;  }
.progBasket {}
.progBasket th { font-size: 1rem;}
td.progBasketQty { width: 1rem; text-align: center; padding-left: 0; padding-right: 0; }
.progBasket .table thead th.progBasketItem, td.progBasketItem { padding-left: 0; }
.progSearch {}
#progSearchKey { margin-right: 0.5rem; margin-bottom: 0.5rem; max-width: 8rem; }
@media (min-width: 992px) { #progSearchKey { margin-bottom: 0.5rem; max-width: 12rem; } }
@media (min-width: 1200px) { #progSearchKey { margin-bottom: 0; max-width: 9rem; } }

.format { display:block; font-size:1.125rem; line-height:1.2; padding:0.5rem; }
.format.format-8 { background: var(--format-8); color: #FFF;}
.format.format-9 { background: var(--format-9); color: #FFF;}
.format.format-10 { background: var(--format-10); color: #FFF;}
.format.format-11 { background: var(--format-11); color: #FFF;}
.format.format-12 { background: var(--format-12); color: #FFF;}
.format.format-13 { background: var(--format-13); color: #000;}
.format.format-14 { background: var(--format-14); color: #000;}
.format.format-15 { background: var(--format-15); color: #FFF;}
@media (min-width:400px) and (max-width:767px) { .progData span.format, .progData h4.event {max-width: 400px; }}

.genre-filtered {
    margin-bottom: 1rem;
    padding: 0;
    background: #FFF;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    border-top: 2px solid var(--primary);
}
.genre-filtered .label {
    padding: .5rem;
    width: 100%;
    background: var(--primary);
    text-transform: uppercase;
    display: inline-block;
    color: #FFF;
    font-size: 1.25rem;
}
.genre-filtered .active-filter {
    padding: .25rem 1rem 0 .25rem;
    display: inline-block;
    color: var(--primary);
    font-size: 1.25rem;
    text-align: center;
}
.genre-filtered .view-all {
    display: block;
    padding: 0.5rem .25rem;
}
.btn.btn-secondary.genre-filter-reset {
    text-transform: uppercase;
    color: var(--primary);
    border-color: transparent;
}
.genre-filtered.sticky {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 99;
}

.category-filter, .genre-filter, .section-filter {
    font-weight: bold;
    font-size: 1.25rem;
    color: var(--primary);
    padding: .25rem .5rem 0 .25rem;
}

/* Programme Grid */
.row-items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: start;
    justify-content: start;
    align-items: stretch;
    margin-right: -15px;
    margin-left: -15px;
    }

    .row-items .item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 1.5rem;
    padding-right: 15px;
    padding-left: 15px;
    position: relative;
    }

    .row-items.sessions {
    -ms-flex-pack: start;
    justify-content: start;
    }

    .row-items .item.list {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    text-align: unset;
    }

    .row-items .item.session a {
    height: 100%;
    display: block;
    padding: 1rem;
    border: 2px solid #c7d444;
    text-align: left;
    }

    .row-items .item.list .inner {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 2px solid #c2d43c;
    padding-bottom: 1rem;
    }

    .row-items .item.list .inner .text {
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    padding: 0 15px;
    }

    .row-items .item.list a.button {
    display: block;
    }

    .product-event-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    border: 1px solid #EEE;
    }

    .product-event-list a:hover {
        color: var(--primary);
    }

    .product-event-list .genre-wrapper, .product-event .genre-wrapper {
    position: absolute;
    top: 0;
    z-index: 1;
    /*	background: #6F811D;*/
    }

    .product-event-list span.genre, .product-event span.genre {
    /*margin-right: 0.05rem;*/
    padding: .25rem .5rem;
    display: inline-block;
    line-height: 1.6;
    font-size: 0.9rem;
    background: #575756;
    border-left: 2px solid #6F811D;
    color: #FFF;
    }

    .product-event-list .genre-wrapper span.genre:first-child, .product-event .genre-wrapper span.genre:first-child {
    border-left: none;
    }

    .product-event-list .description {
    padding: 0.5rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: justify;
    justify-content: space-between;
    }

    .product-event-list .description h5.datetimevenue {
    font-size: 0.88rem;
    }

    .product-event-list .price {
    margin-top: 1rem;
    }

    .product-event-list .price .btn.btn-primary {
    margin-top: 0.5rem;
    }

    .product-event-list h2.event {
    font-size: 1.2rem;
    color:#000;
    font-weight:bold;
    }

@media (min-width: 319px) {
    .product-event-list .price .btn.btn-primary {
        margin-top: 0;
    }
}

@media (min-width: 401px) {
    .row-items .item {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .product-event-list .price .btn.btn-primary {
        margin-top: 0.5rem;
    }
}

@media (min-width: 768px) {
    .product-event-list .price .btn.btn-primary {
        margin-top: 0;
    }
}

@media (min-width: 992px) {
    /*.row-items {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    }*/
    .row-items .item {
        -ms-flex: 1 1 25%;
        flex: 1 1 25%;
        max-width: 25%;
    }

    .product-event-list .price .btn.btn-primary {
        margin-top: 0.5rem;
    }
}

@media (min-width: 1200px) {
    .product-event-list .price .btn.btn-primary {
        margin-top: 0;
    }
}

    .item-inner {
    position: relative;
    }

    .item-buttons {
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: center;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
    opacity: 0;
    background: rgba(0,0,0, 0.5);
    transition: .5s ease;
    cursor: pointer;
    }

    .item-buttons .button {
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 10px;
    }

    .row-items .item:hover .item-buttons {
    opacity: 1;
    }

    .author-events {
    margin-top: 1rem;
    }

    h5.author-events {
    border-bottom: 1px solid #CCC;
    padding-bottom: 0.25rem;
    font-weight: 600;
    }

    .author-eventlink {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    margin-right: 1rem;
    border: 1px solid#82971A;
    color: #333;
    }

    /* Programme filters */
    .programme-filters {
    margin-bottom: 1rem;
    border-bottom: 2px solid var(--primary);
    background: var(--primary-light);
    padding: 0.5rem;
    }
    .programme-filters #tabnav {
    border-bottom: none;
    }

    .programme-filters #tabnav li {
    width: calc(50% - 4px);
    }

    .programme-filters #GenreFilterID {
    padding: 5px 20px;
    }

    .programme-filters form#FilterForm {
    width: 100%;
    margin-bottom: 0;
    }



    /*@media (min-width: 1200px){
    .container {
    max-width: 1280px;
    }
    }*/

    h5.datetimevenue { padding:0; }

    #GenreFilterID-button {
        margin-bottom: 1rem;
        width: 100%;
        border-radius: 0;
        border-color: #ced4da;
        background: #FFF;
    }

    @media (min-width: 768px) {
        /* .programme-filters form#FilterForm {
            width: auto;
        } */
        
        .programme-filters {
            padding: 0.5rem 1rem;
        }
    }

    @media (min-width: 992px) {
        #GenreFilterID-button {
            margin-bottom: 0;
            width: auto;
        }
    }
    #GenreFilterID-menu .ui-widget.ui-widget-content {
        border-radius: 0;
    }
    #GenreFilterID-menu .ui-state-active, #GenreFilterID-menu .ui-widget-content .ui-state-active, #GenreFilterID-menu .ui-widget-header .ui-state-active, #GenreFilterID-menua .ui-button:active, #GenreFilterID-menu .ui-button:active, #GenreFilterID-menu .ui-button.ui-state-active:hover {
        background: var(--primary);
        border: 1px solid var(--primary);
    }

@media (min-width: 992px) {
    .genre-filtered {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    .genre-filtered .active-filter {
        padding: .5rem .5rem .5rem 1rem;
    }
    .genre-filtered .genre-filter, .genre-filtered .section-filter {
        padding: .5rem;
    }
    .genre-filtered .label {
        width: auto;
        padding: .75rem;
        text-align: center;
    }
    .genre-filtered .active-filter {
        text-align: left;
    }
}

@media only screen and (min-width : 576px) {
    .genrecols {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}

@media only screen and (min-width : 768px) {
    .genrecols {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
}

@media only screen and (min-width : 992px) {
    .genrecols {
        -webkit-column-count: 5;
        -moz-column-count: 5;
        column-count: 5;
    }
}

.genrecols ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
    /* correct webkit/chrome uneven margin on the first column*/
    .genrecols ul li:first-child {
        margin-top: 0px;
    }

.qvdesc {
    font-size:1.12rem;
    line-height:1.5;
}

.progItem span.format, .product-event-list span.format { font-family: proxima-sera, 'Times New Roman', Times, serif; font-style: italic; font-weight:400;}

.progItem .row.format-8 { border-top: 1px var(--format-8) solid;}
.progItem .row.format-9 { border-top: 1px var(--format-9) solid;}
.progItem .row.format-10 { border-top: 1px var(--format-10) solid;}
.progItem .row.format-11 { border-top: 1px var(--format-11) solid;}
.progItem .row.format-12 { border-top: 1px var(--format-12) solid;}
.progItem .row.format-13 { border-top: 1px var(--format-13) solid;}

.progItem .row.format-8 .event { background: var(--format-8); color: #FFF;}
.progItem .row.format-9 .event { background: var(--format-9); color: #FFF;}
.progItem .row.format-10 .event { background: var(--format-10); color: #000;}
.progItem .row.format-11 .event { background: var(--format-11); color: #FFF;}
.progItem .row.format-12 .event { background: var(--format-12); color: #FFF;}
.progItem .row.format-13 .event { background: var(--format-13); color: #000;}

.related-wrapper {
    width: 100%;
    position: relative;
    overflow: hidden;
    border: 1px solid #EDEDED;
}
/*.related-wrapper::before { position: absolute; font-family: 'Font Awesome 5 Pro'; bottom: -20px; content: "\f5db"; right: 0; font-size: 4.5rem;color: #EDEDED; }*/
p.related { padding: 0.5rem 1rem; text-transform: uppercase; letter-spacing: 1px; color: #575756; }
.progDateNext { display:none; position: fixed; bottom: 40%;  right: 0; z-index: 999; }
.progDateNext i { padding-right: 1rem; padding-left: 1rem; font-weight: 500; color: var(--primary); }

.card.programme { background-color:var(--secondary); border-radius:8px; display:block; padding:1rem; }
.card.programme i { width:1.8rem; }

/* HAYPLAYER 6COL BG - background color done on the html */
.HayplayerC6BG { color: #FFF;  padding: 1rem; margin: 2rem 0; }
.HayplayerC6BG h3 { color: #fff; padding-left: 0.5rem; margin-top: 0.5rem; margin-bottom: 0; }
.HayplayerC6BG .hayRowF { display: flex; flex-wrap: wrap; justify-content: space-around; }
.HayplayerC6BG .hayRowF div { padding: 0.25rem; background-color: inherit; color: inherit; }
.HayplayerC6BG .card { margin-top: 0.5rem; margin-bottom: 0; }
.HayplayerC6BG div div { padding: 0.5rem 0; color: inherit; margin-top: 0.5rem; margin-bottom: 0; }
.HayplayerC6BG img { padding-bottom: 0.25rem; }
.HayplayerC6BG h4 { font-size: 1rem; text-transform: capitalize; padding: 0 0 0.25rem 0;  color: inherit; }
.HayplayerC6BG .card-text { font-size:  0.9rem; line-height: 0.9rem; padding: 0 0 0.25rem 0; color: inherit; }
.HayplayerC6BG .hayPrice { font-weight: 600; }
#search-hp { margin-top:0.3rem; }
#search-results a, #search-results a:visited { color:var(--primary-bright); }
#search-results a:hover { color:var(--primary); }
#search-hp input { font-size: 1rem; }
@media (min-width: 992px) { #search-hp input { font-size: 1.25rem; } }
/* HAYPLAYER SUBSCRIPTION */
.hay-player .container { padding: 0; }
.hay-player h1 { color: #FF0063; font-size: 2.5rem; text-align: center; }
.hay-player h1 a, .hay-player h1 a:visited { color: #FF0063; }
.hay-player h2 { color:#3B0826; font-size: 1rem; margin: 0.5rem 0 0.5rem 0; }
.hay-player h2.strapline {color: #fff; font-size: 1.5rem; text-align: center; text-transform: none; margin-bottom: 1rem;}
.hay-player h2, .hay-player h3  {margin: 0.5rem; font-weight: 500; font-size: 1.25rem; color:#3B0826; text-transform: uppercase; }
.hay-player h2.event, .hay-player h3.subtitle {margin-right: 0; margin-left: 0;}
.hay-player h2 a, .hay-player h3 a { color:#3B0826; }
.hay-player .row.Row2 { padding: 1em 0; }
.hay-player .row.Row2 p { font-size: 1.3rem; color: #fff; }
.hay-player .btn.subscribe { color: #fff; text-transform: uppercase; font-weight: 700; padding: 1rem; border: 1px solid #FFF; font-size: 1.2rem; }
.hay-player .btn.subscribe:hover { color: #fff; }
@media only screen and (min-width : 480px) {
.hay-player h1 { font-size: 3.5rem; } .hay-player h2.strapline { font-size: 1.75rem; } .hay-player .container { padding-right: 15px; padding-left: 15px; }
}
@media only screen and (min-width : 992px) {
.hay-player h1 { font-size: 5rem; }
.hay-player h2 { margin: 0; font-size: 1.2rem; }
.hay-player h2.strapline { font-size: 2rem; }
.hay-player h3 { margin: 0; font-size: 1rem; padding-bottom:0.5rem; }
}
/* HAYPLAYER TOP FEATURES */
.hay-player .top-features .hptitle { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; padding: 0.5rem; opacity: 0; transition: .5s ease; background-color: rgba(0,0,0,0.7); }
.hay-player .top-features h2 {margin: 1rem 0; color: #BA6EA8;}
.hay-player .top-features h2.feature {color: #fff;}
@media only screen and (min-width : 992px) {.hay-player .top-features h2 { font-size: 1.5rem; }}
.hay-player .top-features .HayplayerItem {position: relative; margin-top: 0; padding: 0;}
.hay-player .top-features .HayplayerItem:hover .hptitle { opacity: 1; }
.hay-player .top-features .HayplayerItem h4 { color: #fff; }
.hay-player p.popular  { font-size: 2rem; line-height: 2rem; padding: 0.5rem; }
.hay-player .top-features .row > [class^="col-"] { padding: 0; }
.hay-player .top-features .row.Row2 { padding: 0 15px 2rem 15px; }
.hay-player .top-features .row > [class^="col-"] > .row { margin-right: 0; margin-left: 0; }
.hay-player .top-features .hp5, .hay-player .top-features .HayplayerItem  {border: none;}
.hay-player .top-features a.hp img { width: auto; }
/* HAYPLAYER FILTERS */
.hay-player .filters { background: #C9BFB0; }
.hay-player .filters .subscribe {background: #BA6EA8; }
.hay-player .filters .subscribe h4 { color: #fff; }
.hay-player .filters div.row { margin:0; padding:0.25rem 0; }
.hay-player .filters h1 { text-align: center; margin:0.5rem 0; }
.hay-player .filters .Row2 { background-color: #000; }
.hay-player .filters p { color: #FFF; font-size: 1.875rem; padding-right: 4rem; }
.hay-player .filters p.small { font-size:1.2rem; }
.hay-player .filters h2{ font-size: 3.5rem; font-weight: 300; text-transform: capitalize; line-height: 1.1; color: var(--primary); margin-top: 0.5rem; }
.hay-player .filters img { max-width: 100%; height: auto; border-radius: 0; padding: 1rem 0; }
.hay-player .filters .Row3 { background-color: #FFF; margin-top: 1rem; padding: 0.5rem; }
.hay-player .filters a span { text-align: right; padding-right: 1rem; }
.hay-player .filters a span.hl { padding:0 0.1rem; }
.hay-player .pagination { -ms-flex-wrap: wrap; flex-wrap: wrap; }
.hay-player .page-item.active .page-link { background-color:#3B0826; border-color:#3B0826; }
.hay-player .page-link { margin-bottom: 0.25rem; color:#3B0826; background:none; border: 1px solid #3B0826;}
.hay-player .page-link:hover {background-color: #e9ecef;}
/* HAYPLAYER FEATURES */
.hay-player .features {background:#C2AA9A; margin-bottom: 2rem;}
.hay-player .features.school-programme .HayplayerItem {border-top: 0;}
.hay-player .features.school-programme a.hp img {width: 100%;}
/* HAYPLAYER ITEM STRUCTURE */
div.hp { font-size:0.9rem; }
a.hp { text-decoration:none; color:#3B0826; width:100%; }
a.hp:hover { color:var(--primary-bright); }
a.hp img { width: 72px; float: left; margin-right: 0.5rem !important; }
div.event { height:80px; }
div.hptitle { width: 65%; float: left;}
div.hpprice { font-weight:bold; font-size:1rem; margin:4px 0 60px 0; }
div.subtitle { font-size:0.8rem; }
img.hpaudio { height:18px; width:18px; padding-right:5px; vertical-align:inherit; }
img.hpvideo { height:18px; width:18px; padding-right:5px; vertical-align:inherit; }
.hpprice span.fa { padding-right:0.3rem; }
.hay-player .carousel {margin-right: 0; margin-left: 0;}
.carousel-indicators { bottom:-10px; }
.carousel-item.active { font-weight: normal; }
.HayplayerItem { padding: 0.5rem; margin: 0; border-top: 1px solid #CCC; }
.HayplayerItem h4 { font-size:1rem; padding:0 0 0.25rem 0; color:inherit; text-transform:none; height:2.8rem; }
.HayplayerItem p { font-size:0.9rem; line-height:0.9rem; margin: 0.3rem 0 0 0; padding:0.1rem 0;  }
.hphr { border-bottom:none; margin-bottom:1.4rem; }
.hp5 { display: -webkit-flex; display: flex; justify-content: space-around; margin:0; border: 1px solid #CCC; border-top:0; }
.hp5.hayBgR1 { border: 0; }
.hp5.hayBgR1 div:first-child, .hp5 .col-12.hpr2.hpwt { border-top: 1px solid #CCC; }
.hp5 .col-12 div:first-child { border-top: 0; }
.hp5 .col-12 {display:flex; flex-wrap: wrap; padding: 0; }
.progPage .hay-player .features .hp5 h4, .progPage .hay-player .features .hp5 p { padding: 0 0.5rem; }
.hp5.hayBgB {border: 0; }
.hp16, .hp20 { width: 100%; float:left; }
.hp25 { width: 50%; float: left; }
@media only screen and (min-width : 576px) {
    a.hp img { width: 100%; float: none; margin-right: 0; border: 0; }
    div.hptitle { width: 100%; float: none; }
    .hp5 { border: 0; }
    .hp5.hayBgR1 div:first-child, .hp5 .col-12.hpr2.hpwt { border: 0; }
    .hp5 .col-12 { padding-right: 15px; padding-left: 15px; }
    .hp5 h2, .hp5 h3  { margin: 1rem 0 0 0; }
    .hp16, .hp20, .hp33 { width: 33.33%; float: left; }
    .hp25 { width: 25%; float: left; }
    .HayplayerItem { background-color: inherit; color: inherit; margin-top: 0.5rem; border: 0; }
    .HayplayerItem h4 { font-size: 1rem; height: 62px; }
    .hphr { border-bottom: 1px solid #575756; margin-bottom: 1.4rem; }
    .progPage .hay-player .features .hp5 h4, .progPage .hay-player .features .hp5 p { padding: 0; }
}
@media only screen and (min-width : 992px) {
    .hp16 { width: 16.66%; }
    .hp20 { width: 20%; }
    .hp25 { width: 25%; }
    .HayplayerItem h4 { font-size: 1rem; height:2.8rem; }
}
div.hpwt h3, div.hpwt h4, div.hpwt p.hpprice, p.hpprice a.hpicon { color:#3B0826; }
/* HAY PLAYER PROGRAMME PAGE */
.hpfestival {position: relative;}
.hpfestival span { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; padding: 0.5rem; opacity: 0; transition: .5s ease; background-color: rgba(0,0,0,0.7); color:#FFF; }
@media only screen and (min-width : 992px) {.hpfestival span:hover {opacity: 1;}}
.hpgenres { font-size:1rem; font-style:italic; }
/* for HayPlayer 5 col no background */
/*
.hp5nb div:first-child { padding-left:0; margin-left:0; }
.hp5nb div:last-child { padding-right:0; margin-right:0; }
*/

span.hl { background-color:#C4C4C2; }

.video-pay { margin-top:2rem; }
div.video-pay div.variantprice { width:100%; }
/*a.hpicon { margin:1rem 1rem 0 0; }*/
.RegularPrice { color:#999; text-decoration:line-through; }
.SalePrice { color:var(--primary); display:inline-block; }

@media (min-width: 768px) {
    .HayplayerC6BG { margin-top: 1.5rem; margin-bottom: 2rem; }
}

/* HAYPLAYER 6COL */
.HayplayerC6 { padding: 0; margin-left: -1rem; margin-right: -1rem; margin-top: 2rem; margin-bottom: 2rem; }
.HayplayerC6 h3 { color: var(--primary); padding-left: 1rem; margin-top: 0.5rem; margin-bottom: 0; }
.HayplayerC6 .hayRowF { display: flex; flex-wrap: wrap; justify-content: space-around; }
.HayplayerC6 .hayRowF div { padding: 0.5rem; background-color: inherit; color: inherit; }
.HayplayerC6 .card { margin-top: 0.5rem; margin-bottom: 0; }
.HayplayerC6 .card-body { padding: 0.5rem 0; color: inherit; margin-top: 0.5rem; margin-bottom: 0; }
.HayplayerC6 img { padding-bottom: 0.25rem; }
.HayplayerC6 h4 { font-size: 1rem; text-transform: capitalize; padding: 0 0 0.25rem 0;  color: inherit; }
.HayplayerC6 .card-text { font-size:  0.9rem; line-height: 0.9rem; padding: 0 0 0.25rem 0; color: inherit; }
.HayplayerC6 .hayPrice { font-weight: 600; }

@media (min-width: 768px) {
    .HayplayerC6 { margin-top: 1.5rem; margin-bottom: 2rem; }
}

/* HAYPLAYER 6COL OWL */
.HayplayerC6OC { padding: 0; margin-left: -0.5rem; margin-right: -0.5rem; margin-top: 2rem; margin-bottom: 2rem; }
.HayplayerC6OC h3 { color: var(--primary); padding-left: 0.5rem; margin-top: 0.5rem; margin-bottom: 0; }
/* .HayplayerC6OC .hayRowF { display: flex; flex-wrap: wrap; justify-content: space-around; } */
/* .HayplayerC6OC .hayRowF div { padding: 0.5rem; background-color: inherit; color: inherit; } */
.HayplayerC6OC .card { padding: 0.5rem; margin-top: 0.5rem; margin-bottom: 0; }
.HayplayerC6OC .card-body { padding: 0.5rem 0; color: inherit; }
.HayplayerC6OC img { padding-bottom: 0.25rem; }
.HayplayerC6OC h4 { font-size: 1rem; text-transform: capitalize; padding: 0 0 0.25rem 0;  color: inherit; }
.HayplayerC6OC .card-text { font-size:  0.9rem; line-height: 0.9rem; padding: 0 0 0.25rem 0; color: inherit; }
.HayplayerC6OC .hayPrice { font-weight: 600; }

@media (min-width: 768px) {
    .HayplayerC6OC { margin-top: 1.5rem; margin-bottom: 2rem; }
}

/* HAYPLAYER GENRES */
.GenresF6 { background-color: var(--secondary); color: var(--secondary-text); padding: 1rem 15px; }
.GenresF6 h3 { color: var(--secondary-text); margin-top: 1rem; margin-bottom: 0.75rem; }
.GenresF6List div { width: 150px; }
a.genrelist, a.genrelist:visited { color: var(--secondary-text); }
h3 a.genrelist, a.genrelist:visited { color: var(--secondary-text); font-size:1.8rem; font-weight:bold; }
@media (min-width: 992px)  { .GenresF6List div { width: 185px; } }

/* ARTIST LIST */
.ArtistWrapper { display: flex; flex-direction: column; }
.ArtistLetter { border-bottom: 6px solid var(--primary); margin-top: 1rem; }
.ArtistLetter span { font-size: 1.5rem; background: var(--primary); color: #fff; padding: 0.6rem 1rem; }
@media (min-width: 768px)  { .ArtistLetter span { font-size: 3rem; } }
.ArtistList { background: var(--primary-light); padding: 1rem; flex: 1 0 auto; }
.ArtistList a { color: var(--primary-bright); }
.ArtistWrapper .ArtistList a, .ArtistList a:hover { color: var(--primary); }

/* CALENDAR */
.CalendarC1 { background-color: var(--primary-light); padding:0.5rem 0; }
@media (min-width: 992px) {.CalendarC1 { margin-right: 0; margin-left: 0; }}
.hayFlexCal { margin-left: -0.4rem; margin-right: -0.4rem; overflow-x: scroll; scrollbar-color: var(--primary) var(--primary-bright); scrollbar-width: thin; }
@media (min-width: 768px) {.hayFlexCal{ overflow-x: auto;}}
.hayFlexCalItem { min-width: 80px; height: 120px; color: var(--primary); margin-top: 0; margin-left: 0.4rem; margin-right: 0.4rem; text-align: center; }
.hayFlexDayDate { background-color: #FFF; color: var(--primary); border: 1px solid var(--primary-bright); }
.hayFlexDayDate.today { background-color: var(--primary); color: var(--primary-text); }
.hayFlexDayDate.today a, .hayFlexDayDate.today a:visited { color: #FFF; }
.hayFlexDayDate.today .hayFlexCalItemDay { background:var(--primary-text); color: var(--primary); }
.hayFlexCalItemDay { background: var(--primary); color: var(--primary-text); padding: 0.1rem; font-weight: 600; } /* used on Calendar Listing for highlighting the day*/
.hayFlexCalItemMonth { line-height: 0.8rem; padding-bottom: 0.7rem; }
.CalendarC1 h4 { background-color: var(--primary); color: var(--primary-text); font-weight:600; text-align:center; padding:1rem .5rem; margin:.5rem 0; }
.CalendarC1 h2 { text-align:center; padding: 0; margin: 1rem 0 0; }
.month .hayFlexCalItem {margin-right: 1rem;margin-left: 1rem;width: 160px;height: 110px;}
.month .hayFlexDayDate {height: 100%;}
.month .hayFlexDayDate a {color: #000; display: flex;flex-direction: column;height: 100%;}
.month .hayFlexDayDate .month, .hayFlexDayDate .month {height: 100%;display: flex;justify-content: center;align-items: center;font-size: 1.5rem;}

/* CONTACT */
.ContactC2 { background-color: var(--primary-light); padding: 1rem 0 ; }
@media (min-width: 992px) { .ContactC2 { margin-right: 0; margin-left: 0; } }
.ContactC2 strong { font-size: 1.5rem; }
.ContactC2 p { margin-bottom: 0; }
.ContactC2 img { max-width: 100%; height: auto; border-radius: 0; }
.hayMap { padding: 1rem 0; border: 2px solid #FFF; }

/* SIGNIN */
.SignInC2 { color: #000); }
.SignInC2 h2 { font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; font-style: normal; font-style: normal; font-weight: 600; border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-bottom: 1rem; }
.SignInC2 .RetCus { margin-bottom: 1rem; background-color: var(--primary-light); padding: 1rem; }
.SignInC2 .RetCus p { padding-bottom: 1rem; }
.SignInC2 .btn { margin-top: 0.5rem; margin-right: 0.5rem; }
.SignInC2 .RetCusForgot { display: block; margin-top: 1rem; }
.SignInC2 .NewCus { margin-bottom: 1rem; background-color: var(--primary-light); padding: 1rem; }

/* CREATE ACCOUNT */
.CreAccC2 { background-color: var(--primary-light); color: #000; padding: 1rem 0; margin-bottom: 1rem;  }
@media (min-width: 992px) { .CreAccC2 { margin-right: 0; margin-left: 0; }}
.CreAccC2 h2 { font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; font-style: normal; font-style: normal; font-weight: 600; border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.CreAccC2 .CreAccForm { padding: 1rem 0; }
.CreAccC2 .form-group { margin-bottom: 0; }

/* ACCOUNT */
.Acc h1 { border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.AccC2 { padding: 1rem 0; margin-bottom: 1rem;  }
.AccErrorMsg { margin-bottom: 1rem; }
.AccInfo { margin-bottom: 1rem; }
.AccB h2 { margin-top: 0; margin-bottom: 0.5rem; }
.AccLine { border-top: 1px solid var(--primary); margin-top: 3rem; }
.AccD h2 { }
.AccSide {}
.AccSideModule { border: 0.05rem solid #9D9D9C; padding: 0; margin-bottom: 1rem; } 
.AccSideModule h4 { background-color: #9D9D9C; color: #fff; padding: 0.5rem; margin-bottom: 0;  }
.AccSideModule table { padding: 0.5rem;  }
.AccSideModule div { padding: 0.5rem;  }
.AccSideModule ol { padding: 0.5rem;  }
.AccSideText { margin-bottom: 0.5rem; }
.AccAddress ol { margin-bottom: 0.5rem; }
.AccSideBtn { margin-top: 0.5rem; }
#btnMailPrefs { color: var(--primary-text); }
#accountTabContent .active { font-weight: normal; }
.table td, .table th { border-top: 1px solid var(--primary); }
#order-history tr:first-child th, #tbl-wishlist tr:first-child th { border-top: none; }

/* SHOPPING BASKET */
.ShopBasketC1 { background-color: var(--primary-light); color: #000; padding:1rem; margin-bottom: 1rem;  }
.Basket h1, .Basket h2 { color: #000; border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.BasketMessage {}
.BasketDonation { margin-bottom:10px; }

.ShopBasketC1 .table td, .ShopBasketC1 .table th, .ShopBasketC1 .table thead th {
    font-weight: 600;
    padding: .75rem;
    vertical-align: middle;
    border-top: none;
    border-bottom: 2px solid var(--primary);
}

#basket { border: 1px solid var(--primary); }

.BasketItem { width: 60%; }
.BasketItem p { line-height: 1.1; margin: 0; }
.BasketPrice { width: 7%; text-align: right; }
.BasketQty { width: 8%; text-align: center; }
.BasketQty .form-control { display: inline-block; }
.BasketDel { width: 6%; text-align: center; }
.BasketDel i { color: #fff;}
td.BasketQty input[type=text] { width:60px; }
.BasketSubTot { width: 18%; text-align: right; padding-left: 0 !important; }
.BasketQty { white-space:nowrap; }
.BasketSubTot { text-align: right; }
.BasketFee { font-weight: 600; }
@media (min-width: 992px) {.BasketFee { padding-right:15px; } }
.BasketFeeTxt { text-align: left; }
@media (min-width: 768px) {.BasketFeeTxt { padding-right:0; text-align:right; } }
.BasketFeeTtl { padding-left:0; text-align: right; }
@media (min-width: 768px) {.BasketFeeTtl { padding-right:15px; } }
.BasketTotal { font-weight: 600; }
@media (min-width: 992px) {.BasketTotal { padding-right:15px; } }
.BasketTotalTxt { text-align: left; }
@media (min-width: 768px) {.BasketTotalTxt { padding-right:0; text-align:right; } }
.BasketTotalTtl { padding-left:0; text-align: right; }
@media (min-width: 768px) {.BasketTotalTtl { padding-right:15px; } }
.BasketExtras h2 { border-bottom: 1px solid var(--primary-bright); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.BasketSummary { text-align:center; }
@media (min-width: 768px) { .BasketSummary { text-align:right; } }
.BasketSummary h2 { border-bottom: 1px solid var(--primary-bright); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.BasketSummary .btn { margin: 0 5px 15px 5px; }
@media (min-width: 768px) { .BasketSummary .btn { margin: 0 5px; } }
.BasketLinks { text-align:center; }
@media (min-width: 768px) { .BasketLinks { text-align:left; } }
.BasketLinks a { color: #000; font-weight: 600; }

#pnlCartSummary { padding-bottom:2rem; }
@media (min-width: 992px) {#pnlCartSummary { padding-bottom:0; } }

/* CHECKOUT */
.ChkOutC2 { background: var(--primary-light); padding: 1rem 0; margin-bottom: 1rem;  }
.ChkOutC2 h2 { border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; font-style: normal; font-weight: 600; }
.ChkOutC2 .CreAccForm { padding: 1rem 0; }
.ChkOutC2 .form-group { margin-bottom: 0; }
.ChkOutA a { margin-left: 0.5rem; margin-right: 0.5rem; }
.ChkOutNewsletter { margin-top: 0.5rem; }
.ChkOutE input { margin-top: 0.5rem; }
@media (min-width: 992px) { .ChkOutHint { padding-left: 0; } }
.ChkOutF .ChkOutBold { font-weight: 600; }
.ChkOutH { text-align: center; }
@media (min-width: 768px) { .ChkOutH { text-align: right; } }

/* CHECKOUTREVIEW */
.ChkRev h1 { border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.ChkRevC2 { padding: 1rem 0; margin-bottom: 1rem;  }
.AccErrorMsg { margin-bottom: 1rem; }
.ChkRevInfo { margin-bottom: 1rem; }
.ChkRev h2 { border-bottom: 1px solid #9D9D9C; margin-top: 1rem; margin-bottom: 0.5rem; }

.ChkRevC1 .table { margin-top: 1rem;}
.ChkRevC1 .table td, .ChkRevC1 .table th { padding: .75rem; vertical-align: middle; border-top: 1px solid #eceeef; }

.ChkRevLine { border-top: 1px solid #9D9D9C; margin-top: 1rem; }
.ChkRevFee { padding-right: 15px; }
.ChkRevFeeTxt { column-span: 3; width: 85%; text-align: right; }
.ChkRevFeeTtl { width: 15%; text-align: right; }
.ChkRevTotal { padding-right: 15px; }
.ChkRevTotalTxt { column-span: 3; width: 85%; text-align: right; }
.ChkRevTotalTtl { width: 15%; text-align: right; }

.ChkRevSummary { text-align:center; margin-top: 2rem; }
@media (min-width: 768px) { .ChkRevSummary { text-align:right; } }
.ChkRevSummary .btn { margin: 0 5px 15px 5px; }
@media (min-width: 768px) { .ChkRevSummary .btn { margin: 0 0 0 5px; } }

.ChkRevSide h2 { font-size: 1.625rem; letter-spacing: 2px; text-transform: uppercase;  border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.ChkRevSide {}
.ChkRevSideModule { border: 0.05rem solid #9D9D9C; padding: 0; margin-bottom: 1rem; font-size:1rem; } 
.ChkRevSideModule h4 { background-color: #9D9D9C; color: #fff; padding: 0.5rem; margin-bottom: 0;  }
.ChkRevSideModule table { padding: 0.5rem;  }
.ChkRevSideModule div { padding: 0.5rem;  }
.ChkRevSideModule ol { padding: 0.5rem;  }
.ChkRevSideText { margin-bottom: 0.5rem; }
.ChkRevAddress ol { margin-bottom: 0; }
.ChkRevPayment ol { margin-bottom: 0; }

/* CHECKOUT PAYMENT */

/* SECURE FORM */
.SecFormA { margin-bottom: 0.5rem; }
.SecFormA h1 { font-size: 1.625rem; letter-spacing: 2px; text-transform: uppercase;  border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }
.SecFormB { margin-bottom: 0.5rem; }

/* ORDER CONFIRMATION */
/*.OrdCon h1 { font-size: 1.625rem; letter-spacing: 2px; text-transform: uppercase;  border-bottom: 1px solid var(--primary); padding-bottom: 0.5rem; margin-top: 1.5rem; margin-bottom: 1rem; }*/
.card.orderconfirmation { background-color:var(--primary-light); border-radius:8px; padding:1rem; }
.card.orderconfirmation i { width:1.8rem; }

/* BOOTSTRAP 4 only used on MASTER index page for demo purposes */
.rounded-0 {
    border-radius: 0 !important;
} /* used in bootstrap 4, but doesn't seem to be in current aplha 5 release */
.justify-content-between { 
    display: -webkit-flex; /* Safari */
    -webkit-justify-content: space-between; /* Safari 6.1+ */
    display: flex;
    justify-content: space-between; 
}	/* used in bootstrap 4, but doesn't seem to be in current aplha 5 release */
.flex-column { flex-direction: column; } /* used in bootstrap 4, but doesn't seem to be in current aplha 5 release */
.align-items-start { align-items: flex-start; } /* used in bootstrap 4, but doesn't seem to be in current aplha 5 release */
/*.list-group-item { border: 1px solid var(--primary); }*/
.badge { padding: 0.2rem; border-radius: 0;} 
.badge-default {}

/* Temporary code to workaround a regression in Bootstap 4.0alpha6,
    remove this code when Bootstrap is updated with a new release. */
.form-control::-webkit-input-placeholder {
color: #ddd;
}

.form-control::-moz-placeholder {
color: #ddd;
}

.form-control:-ms-input-placeholder {
color: #ddd;
}

.form-control::placeholder {
color: #ddd;
}

span.soldOut { color:var(--primary); font-weight:bold; }
div.wishlist span { margin-left:5px; font-size:1rem; }
.progData .wishlist a.btn { margin-bottom: 0; }
.error { color:var(--primary); }
.errorLg { color:var(--primary); font-weight:bold; }

.prog-agerange { font-size:0.9rem; font-weight:bold; padding-bottom:15px; }
.badge.badge-primary.prog-agerange { display:inline-block; font-size:0.9rem; font-weight:bold; padding-bottom:0.2rem; }
.badge.sold-out { margin-bottom: 0.25rem; max-width: 45%; background-color: var(--primary); color: var(--primary-text); }
.badge.wish-list { max-width: 45%; background-color: var(--secondary); color: #000; }
.badge.sold-out.es-ES, .badge.wish-list.es-ES { width: 100%; max-width: unset; }
@media (min-width: 401px) {
    .badge.sold-out { max-width: 45%; }
    .badge.wish-list { max-width: 75%; }
}
@media (min-width: 768px) {
    .badge.wish-list { max-width: 45%; }
}
@media (min-width: 1200px) { 
    .badge.sold-out.es-ES, .badge.wish-list.es-ES { width: 75%; }
}
.prog-duration { font-size:0.9rem; font-weight:bold; padding-bottom:15px; }
.prog-programmenote { font-size:1rem; font-style:italic; padding:15px 0; }
.prog-crossrefevent {  font-size:0.9rem; padding-bottom:15px; }
.prog-videolink { margin-top:2rem; }

#extramsg { display:block; float:left; border:1px dotted #0A0; background-color:#FAFAFA; padding:10px; margin:20px 0; }
.addmsg { display:block; width:100%; border:1px dotted #CCC; background-color:#FAFAFA; padding:10px; margin-top:20px; /*margin-right:auto;*/ margin-bottom:20px; z-index:100; }

div.social { margin:18px 0; padding:12px 0 0 0; height:64px; }
div.social a { display:inline-block; margin-right:5px; }
div.social a span { }

li.active { font-weight:bold; }
.active { font-weight:bold; }

#search-box
{
    background:var(--primary);
    text-align:center;
    overflow:hidden;
    height:55px;
    margin-top:-55px;
    -webkit-transition-timing-function:ease-in-out;
    -moz-transition-timing-function:ease-in-out;
    transition-timing-function:ease-in-out;
}
.open#search-box
{
    margin:0 0 3px 0;
}
#search-box .wrap
{
    padding:8px;
    text-align:left;
}
.wrap
{
    min-width:300px;
    max-width:1200px;
    margin-left:auto !important;
    margin-right:auto !important;	
    height:55px;
}

#search-box .textbox
{
    width:100%;
    border:none;
    height:40px;
    font-size:18px;
    padding:8px;
}


/* CAROUSEL */
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev{
display:block;
}
.carousel-item.active {
    font-weight: normal;
}


/* .carousel-transition: transform .5s ease-in-out;  */

@media (-webkit-transform-3d) {
.carousel-item {
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    transition: -webkit-transform 0.5s ease-in-out;
    -o-transition: -o-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out, -o-transform 0.5s ease-in-out;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-perspective: 1000px;
            perspective: 1000px;
}
}

@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item {
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    transition: -webkit-transform 0.5s ease-in-out;
    -o-transition: -o-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out, -o-transform 0.5s ease-in-out;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-perspective: 1000px;
            perspective: 1000px;
}
}

.carousel-indicators {
/*  bottom: 10px;*/
    left:50%;
    width:50%;
    margin-left:-25%;
}
.carousel-indicators li {
display: inline-block;
width: 30px;
max-width: 30px;
height: 6px;
margin:1px 4px 0 4px;
text-indent: -999px;
cursor: pointer;
}

@media (max-width: 768px) { ol.carousel-indicators { display:none; } }

@media(min-width: 768px) {#PlaylistCarousel {min-height: 280px;} .carousel-item img.img-fluid { width:100%; }}

.carousel-indicators {
    bottom: 0px;
}
    .carousel-indicators li {
        border-radius: 0;
    }

.carousel-control-next, .carousel-control-prev {
    width: 5%;
}
.carousel-caption {
    right: 0;
    left: 0;
}

/* ----- MAIN Rows 5-Column ----- */

/* 5cols flex, standard margin, left text */

/* .hayRow5Col { padding: 1.875rem 0; }
.hayRow5Col .card { border: 0; }
.hayRow5Col .card-body { padding: 0.5rem 0; }
.hayRow5Col h4 { font-size:  1.25rem; line-height: 1.25rem; }
.hayRow5Col .card-text { font-size:  1rem; line-height: 1rem; padding: 0; }
.hayRow5Col .card-link { margin: 0.5rem 0; display: block; }
.hayRow5Col .hayPrice {  }

@media (min-width: 768px) { 
    .hayRow5Col .card { border: 0; }
    .hayRow5Col .card-body { padding: 0.5rem 0; }
} */

.hayRow5Col { padding: 1rem 0; margin: 1rem 0; }
.hayRow5Col h3 {margin: 1rem 0 1rem 0;}
.hayRow5Col .hayRowF { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-around; }
.hayRow5Col .hayRowF div { padding: 0; background-color: inherit; color: inherit; }
.hayRow5Col .card-body { padding: 0.5rem 0; color: inherit; }
.hayRow5Col img { padding-bottom: 0.25rem; }
.hayRow5Col h4 { font-size:  1.125rem; text-transform: capitalize; padding: 0 0 0.25rem 0;  color: inherit; }
.hayRow5Col .card-text { font-size:  0.9rem; line-height: 0.9rem; padding: 0 0 0.25rem 0; color: inherit; }
.hayRow5Col .hayPrice { font-weight: 600; }

@media (min-width: 768px) {
    .hayRow5Col { margin-top: 1rem; margin-bottom: 1rem; }
}

.hayRow5Col .hayRowF {
/* border: 4px solid #61585E; */
margin-bottom: 10px;
margin-left: -15px;
margin-right: -15px;
padding: 0;
}
.hayRow5Col .hayRowF > *{
background-color: inherit;
padding: 5px;
color: white;
width: 190px;
min-height: 170px;
margin: 10px 8px;
}
.hayRow5Col .hayRowF > *:nth-child(even){
background-color: inherit;
}

/* ----- MAIN Rows 6-Column ----- */

/* 6cols flex, standard margin, left text */
.hayRow6ColC { padding: 1rem; margin: 2rem 0; }
.hayRow6ColC h3 { padding-left: 0.5rem; }
.hayRow6ColC .hayRowF { display: flex; flex-wrap: wrap; justify-content: space-around; }
.hayRow6ColC .hayRowF div { padding: 0.25rem; background-color: inherit; color: inherit; }
.hayRow6ColC .card-body { padding: 0.5rem 0; color: inherit; }
.hayRow6ColC img { padding-bottom: 0.25rem; }
.hayRow6ColC h4 { font-size: 1rem; text-transform: capitalize; padding: 0 0 0.25rem 0;  color: inherit; }
.hayRow6ColC .card-text { font-size:  0.9rem; line-height: 0.9rem; padding: 0 0 0.25rem 0; color: inherit; }
.hayRow6ColC .hayPrice { font-weight: 600; }

@media (min-width: 768px) {
    .hayRow6ColC { margin-top: 1.5rem; margin-bottom: 2rem; }
}

/* 6cols flex, standard margin, left text */
.hayRow6Col { padding: 1rem; margin: 2rem 0; }
.hayRow6Col h3 { padding-left: 0.5rem; }
.hayRow6Col .hayRowF { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-around; }
.hayRow6Col .hayRowF div { padding: 0; background-color: inherit; color: inherit; }
.hayRow6Col .card-body { padding: 0.5rem 0; color: inherit; }
.hayRow6Col img { padding-bottom: 0.25rem; }
.hayRow6Col h4 { font-size:  1rem; line-height: 1.1; text-transform: capitalize; padding: 0 0 0.25rem 0;  color: inherit; }
.hayRow6Col .card-text { font-size:  0.9rem; line-height: 0.9rem; padding: 0 0 0.5rem 0; color: inherit; }
.hayRow6Col .hayPrice { font-weight: 600; }

@media (min-width: 768px) {
    .hayRow6Col { margin-top: 1.5rem; margin-bottom: 2rem; }
}

.hayRow6Col .hayRowF {
/* border: 4px solid #61585E; */
margin-left: -15px;
margin-right: -15px;
padding: 0 15px;
}
.hayRow6Col .hayRowF > *{
background-color: inherit;
padding: 5px;
color: inherit;
width: 160px;
margin: 10px 8px 0 8px;
}
.hayRow6Col .hayRowF > *:nth-child(even){
background-color: inherit;
}

@media (min-width: 768px) { 
    .hayRow6Col { margin-left: -1.5rem; margin-right: -1.5rem;}
    .hayRow5Col .card-body { padding: 0.5rem 0; }
}

/* 6cols flex text, flex direction column */
.hayRow6ColF { padding: 1rem; margin: 2rem 0; }
.hayRow6ColF h3 { padding-left: 0.5rem; padding-bottom: 1rem; color: inherit; }
.hayRow6ColF .hayRowF { display: flex; flex-wrap: wrap; flex-direction: column; align-items: flex-start; }
.hayRow6ColF .hayRowF div { padding: 0 0 0 2rem; background-color: inherit; color: inherit; }
.hayRow6ColF p { font-size:  1.1rem; line-height: 1.1; text-transform: capitalize; padding: 0 0 0.25rem 0;  color: inherit; }

@media (min-width: 768px) {
    .hayRow6ColF { margin-top: 1.5rem; margin-bottom: 2rem; }
}

.hayRow6ColF .hayRowF {
/* border: 4px solid #61585E; */
margin-bottom: 10px;
margin-left: -45px;
margin-right: -45px;
padding: 0 15px;
height: 220px;
}
.hayRow6ColF .hayRowF > *{
background-color: inherit;
padding: 5px;
color: inherit;
width: 150px;
margin: 0 8px;
}
.hayRow6ColF .hayRowF > *:nth-child(even){
background-color: inherit;
}

@media (min-width: 544px) { 
    .hayRow6ColF .hayRowF { height: 150px;}
    .hayRow6ColF .hayRowF > *{ width: 150px; }
}

@media (min-width: 768px) { 
    .hayRow6ColF { margin-left: -1.5rem; margin-right: -1.5rem;}
    .hayRow6ColF .hayRowF { height: 120px;}
    .hayRow6ColF .hayRowF > *{ width: 140px; }
}

@media (min-width: 992px) { 
    .hayRow6ColF .hayRowF { height: 80px;}
    .hayRow6ColF .hayRowF > *{ width: 150px; }
}

@media (min-width: 1200px) { 
    .hayRow6ColF .hayRowF { height: 80px;}
    .hayRow6ColF .hayRowF > *{ width: 180px; }
}


/*restrict width*/
h1.h1mb 
{
    margin-bottom:0.25rem;
}

@media (min-width: 768px) {
    .pad35 {
        padding-left: 35px;
        padding-right: 35px;
    }
}
.m0
{
    margin:0;
}
.p0
{
    padding:0;
}

a.pdf	{ background:url(/css/img/icon-pdf.gif) left top no-repeat; padding:10px 0 10px 40px;}
p.pdf	{ background:url(/css/img/icon-pdf.gif) left top no-repeat; padding:10px 0 10px 40px;}
a.ics	{ background:url(/css/img/icon-ics.gif) 0 3px no-repeat; padding:0px 0 10px 25px; display:inline-block; }
p.link	{ background:url(/css/img/icon-link.gif) left top no-repeat; padding:10px 0 10px 40px;}
p.doc	{ background:url(/css/img/icon-doc.gif) left top no-repeat; padding:10px 0 10px 40px;}

div.slideshow { }
ul.slideset { list-style:none; }
div.slideshow ul li img, div.event div.slideshow ul li img { margin:0; }

#testlogo
{
    z-index:999;
    position:fixed;
    right:0px;
    bottom:0px;
}

#calendar_of_events thead tr td a { text-decoration:none; height:30px; }
#calendar_of_events a:focus, #calendar_of_events a:hover { color: var(--primary); }
#calendar_of_events thead td.starts { color: #000; font-weight: 600; vertical-align:top; }
#calendar_of_events thead tr td { border-bottom:1px solid var(--primary); padding:10px; vertical-align:top; text-align:center; }
#calendar_of_events td { color: #000; font-weight: 600; background-color:#F7F7F7; border:2px solid #fff; height:30px; }
#calendar_of_events .badge.badge-secondary {background-color: var(--primary); color: var(--primary-text); }
#calendar_of_events a.tooltip { display:block; color:var(--primary-bright); text-decoration:none; padding-top:5px; font-family:Arial, Helvetica, sans-serif; font-weight:lighter; }
#calendar_of_events a.tooltip:hover { text-decoration:none; }
#calendar_of_events td.session { vertical-align:top; background-color:var(--primary-light); border-top:3px solid #fff; border-bottom:3px solid #fff; border-right:2px solid #fff; border-left:2px solid #fff; height:30px; padding:10px; font-size:0.9rem; }
#calendar_of_events td.session-haydays { vertical-align:top; background-color:#eff6dd; border-top:3px solid #fff; border-bottom:3px solid #fff; border-right:2px solid #fff; border-left:2px solid #fff; height:30px; padding:10px; background-color:#fef0f0; font-size:0.9rem; } 
#calendar_of_events td.session:hover { background-color:#e0e0e0; }
#calendar_of_events td.starts span.timeblock  { padding-top:0px; padding-left:0; }
#calendar_of_events td span.timeblock  { padding-top:10px; padding-left:10px; }
#calendar_of_events td.cont { background-color:#B2BB1C; border-top:2px solid #587C00; border-bottom:2px solid #587C00; border-left:2px solid #fff; border-right:2px solid #fff; }
#calendar_of_events td.error { vertical-align:middle; background-color:#FFFFFF; height:30px; color:#444444; }
#calendar_of_events td.session.basket, #calendar_of_events td.session-haydays.basket { background-color: #e3edcb; }

.tooltip-inner {
	min-width: 200px;
	max-width: 50%;
	border: 1px solid #ccc;
	background: #fff;
	color: var(--primary-bright);
	padding: 5px 10px 15px 10px;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-moz-opacity: 1;
	text-align: left;
	margin: 0 auto;
	font-size: 1rem;
}

.gutter-10.row {
margin-right: -5px;
margin-left: -5px;
}
.gutter-10 > [class^="col-"], .gutter-10 > [class^=" col-"] {
padding-right: 5px;
padding-left: 5px;
}

.row > [class^="col-"] > .row {
	margin-right: -15px;
	margin-left: -15px;
}

h4.extra { margin-bottom:0; padding-bottom:0; }
hr.separator { background-color:var(--primary); height:0.8rem; }

.js-video {
	height: 0;
	padding-top: 25px;
	padding-bottom: 56.25%;
	margin-bottom: 10px;
	position: relative;
	overflow: hidden;
}

.js-video.widescreen {
	padding-bottom: 56.34%;
}

.js-video.vimeo {
	padding-top: 0;
}

.js-video embed, .js-video iframe, .js-video object, .js-video video {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
}

span.alsoboughtdate {
	font-size: 1rem;
}

label.mailing {
	font-size: 1rem;
}

.already-registered {
	margin-right: 0.5rem;
}

@media (max-width: 420px) { .prog-qty { display:inline-block; } }

.shop .d-flex a { text-align:left; }
.shop h4.subcat, .shop h4.product { margin:0.5rem 0 0.2rem 0; padding:0; }
.shop p.product { line-height:1.2; }
.shop .variantprice { text-align:left; }
.shop .price { padding:2rem 0; border-bottom:solid 1px var(--primary); }
.shop .donate { width: 320px; }
.shop .donate .qty { width: 52px; text-align: center; }
.shop .donate.d-flex a { text-align:center; }

td.money { text-align:right; }

#dhtmltooltip {
	position: absolute;
	left: -300px;
	width: 150px;
	padding: 2px;
	background-color: #b7ccfb;
	visibility: hidden;
	z-index: 100;
	/*Remove below line to remove shadow. Below line should always appear last within this CSS*/
	filter: progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135);
}

#dhtmlpointer {
	position: absolute;
	left: -300px;
	z-index: 101;
	visibility: hidden;
}

p.credit {
	font-size: smaller;
	font-style: italic;
}

/*Stream*/
.stream { }

.circle-wrapper {
	width: 110px;
	height: 110px;
	padding: 5px;
}

.circle-wrapper {
	cursor: pointer;
}

.circle-wrapper.child {
	display: none;
}

.circle {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border-style: solid;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	line-height: 0.9;
	font-weight: bold;
}

.circle div {
	display: -ms-flexbox !important;
	display: flex !important;
	-ms-flex-align: center !important;
	align-items: center !important;
	-ms-flex-pack: center !important;
	justify-content: center !important;
	height: 100%;
}

/*.circle {
	width: 100%;
	display: table-cell;
	padding: 50% 0;
	line-height: 0;
	position: relative;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 4px var(--primary) solid;
	color: var(--primary);
	text-align: center;
	vertical-align: middle;
	line-height: 0.9;
	font-family: 'Gill Sans Nova W04 Book';
	font-weight: bold;
}*/

.circle1 {
	border: 4px var(--primary) solid;
	color: var(--primary);
}
.circlebg1 {
	background-color: var(--primary);
	border: 4px var(--primary) solid;
}
a.circlebg1, a.circlebg1:visited {
	color: #FFF;
}
a.circlebg1:hover {
	background-color: #FF6300;
	border: 4px #FF6300 solid;
}
.circle2 {
	border: 4px #9E3EA0 solid;
	color: #9E3EA0;
}
.circlebg2 {
	background-color: #9E3EA0;
	border: 4px #9E3EA0 solid;
}
a.circlebg2, a.circlebg2:visited {
	color: #FFF;
}
a.circlebg2:hover {
	background-color: #FF9F00;
	border: 4px #FF9F00 solid;
}

.rtl {
	direction: rtl;
}
.ltr {
	direction: ltr;
}
	.ltr:before {
		content: "\200E";
	}
	.ltr:after {
		content: "\200E";
	}

.full-width {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

#topReplace .full-width {
	padding: 0.5rem 0;
	background: var(--primary);
	color: var(--primary-text);
	font-weight: 600;
}

	#topReplace .full-width a {
		color: var(--primary-text);
	}

#topReplace .full-width a i {
	padding-right: 1rem;
	padding-left: 1rem;
}

.course-module {
	margin-top: 5rem;
}

.blink {
	animation: blink-animation 1s steps(5, start) infinite;
	-webkit-animation: blink-animation 1s steps(5, start) infinite;
}

@keyframes blink-animation {
	to {
		visibility: hidden;
	}
}

@-webkit-keyframes blink-animation {
	to {
		visibility: hidden;
	}
}

.nowrap { white-space:nowrap; }
.bold { font-weight:bold; }

/*members*/
.benefit-outer {
	border: solid 1px #9D9D9C;
	padding-left: 15px;
	padding-right: 15px;
}

p.membership-details { margin-bottom: 0; }
p.membership-renewal { }

.notapplicable {
	color: #DDD;
}

.cell {
    padding: 1rem;
}

.head {
    background: #9D9D9C;
    color: #FFF;
}

.benefit-outer .badge {
    display: block;
}

i.fa-check {
    color: var(--primary);
}

@media (max-width: 768px) {
    .container .benefit-outer .row {
        border-bottom: 1px solid #DDD;
    }
}
/* Cartagena blog embed images */
.labimg {
    float:left;
    margin-right:2em;
    width:40%;
}
/*BSL*/
img.bsl {
    padding-right:0.2rem;
    vertical-align:baseline;
    width:60px;
}

.archive-warning {
    background: #EDEDED;
    margin: 0;
}

/* Festival Schedule - EPG */
.festival-schedule { background: var(--epg-primary); color: var(--epg-text); }
.festival-schedule h2 { margin-bottom: 0.25rem; padding: 0; font-family: neue-haas-grotesk-display, Arial, Helvetica, sans-serif; font-style: normal; font-weight: 600; font-size: 1.25rem; }
@media (min-width: 768px) {	.festival-schedule h2 { font-size: 2rem; } }
.festival-schedule a { color: var(--epg-text); }
.festival-schedule .live-event { max-width: 1600px; }

.festival-schedule .date-filter { margin-bottom: 0.75rem; padding: 0.75rem 3rem 0.75rem 0; overflow-x: scroll; scrollbar-color: var(--epg-solid) var(--epg-transparent); scrollbar-width: thin; border-top: 4px solid var(--epg-solid); border-bottom: 4px solid var(--epg-solid); }
@media (min-width: 768px) { .festival-schedule .date-filter { overflow-x: auto;	}}

.festival-schedule .hayFlexCal { margin-left: 0; margin-right: 0; min-height: 83px; overflow-x: unset; border-bottom: none; }
.festival-schedule .hayFlexCal li.nav-item:first-child .hayFlexCalItem { margin-left: 0; }
.festival-schedule .hayFlexCalItem { width: 55px; min-width: unset; height: 80px; color: var(--epg-text); }
.festival-schedule .hayFlexDayDate { padding: 0.5rem; background-color: transparent; border: 1px solid var(--epg-solid); }
.festival-schedule .hayFlexCalItemDay, .festival-schedule .hayFlexCalItemMonth { padding: 0; background: transparent; color: var(--epg-text); font-size: 0.9rem; line-height: 1; }
.festival-schedule .hayFlexCalItemDate { font-size: 1.75rem; line-height: 1.3; color: var(--epg-text); }
.festival-schedule .hayFlexCalItemMonth { font-size: 0.9rem; }

.festival-schedule a.active .hayFlexCalItem .hayFlexDayDate,
.festival-schedule a.active .hayFlexCalItem .hayFlexDayDate .hayFlexCalItemDay,
.festival-schedule a.active .hayFlexCalItem .hayFlexDayDate .hayFlexCalItemDate,
.festival-schedule a.active .hayFlexCalItem .hayFlexDayDate .hayFlexCalItemMonth,
.festival-schedule .hayFlexCalItem .hayFlexDayDate.today,
.festival-schedule .hayFlexCalItem .hayFlexDayDate.today .hayFlexCalItemDay,
.festival-schedule .hayFlexCalItem .hayFlexDayDate.today .hayFlexCalItemDate,
.festival-schedule .hayFlexCalItem .hayFlexDayDate.today .hayFlexCalItemMonth { background-color:var(--epg-solid); font-weight: 600; color: var(--epg-primary); }

.festival-schedule .programme {	margin-bottom: 0.75rem; border-bottom: 4px solid var(--epg-solid); }

.festival-schedule .programme-row { margin-bottom: 0.75rem; display: flex; flex-direction: row; justify-content: start; min-height: 50px; font-size: 1.25rem; }
.festival-schedule .programme-row .badge { padding: 0.35rem; display: inline-block !important; border: 1px solid var(--epg-solid); font-size: 1rem; }
.festival-schedule .programme-row .event { padding: 0.5rem; display: flex; flex: 1 1 auto; align-items: center; justify-content: space-between; width: 100%; height: unset; background: var(--epg-transparent); }
.festival-schedule .programme-row div.time { padding-right: 1rem; display: flex; align-items: center; min-width: 15%; border-bottom: 0; }

.festival-schedule .programme-row.live .badge { border: 1px solid var(--epg-primary); }
.festival-schedule .programme-row.live .event { background: #FFF; color: var(--epg-primary); }
.festival-schedule .programme-row.live .event a { color: var(--epg-primary); }
.festival-schedule .programme-row.next .event { background: transparent; border: 3px solid var(--epg-solid); }

.festival-schedule .programme-row a.time { padding-right: 3rem;}
.festival-schedule .programme-row a.time, .festival-schedule .programme-row a.time:visited { color: var(--epg-solid); }
.festival-schedule .programme-row a.play, .festival-schedule .programme-row a.play:visited { color: var(--epg-primary); }
.festival-schedule .programme-row a.next, .festival-schedule .programme-row a.next:visited { color: var(--epg-solid); }
.festival-schedule .programme-row a.remind, .festival-schedule .programme-row a.remind:visited, 
.festival-schedule .programme-row a.replay, .festival-schedule .programme-row a.replay:visited { white-space: pre; color:  rgba(255, 255, 255, 0.5); text-align: right; }