:root {
    --purple:#462462;
    --gold:#BE9770;
    --dark-purple:#240D37;
}

* {
    box-sizing:border-box;
}

body {
    font-family: proxima-nova, sans-serif;
    background-color:#10041A;
    background-image:none;
    font-size:17px;
}

a, a:link, a:visited {
    text-decoration: none;
    color: #855D82;
    transition:0.7s;
}

a:hover {
    color: #be9770;
}

header {
    position:fixed;
    top:0;
    left:0;
    box-sizing:border-box;
    width:100%;
    z-index:12;
    color:#FFFFFF;
    transition:0.5s;
}

.solid-header header,
header.fix {
    background:var(--purple);
    background:#462462;
}

.logo-link {
    display:block;
    width:60px;
    transition:0.5s;
}

.solid-header header .logo-link,
header.fix .logo-link {
    width:48px;
}

.logo-link svg {
    width:100%;
}

.logo-link svg#bc-logo {
    display:none;
    width:60px;
    height:61px;
}

.logo-link svg#bc-logo-v2-white-with-text {
    display:block;
    width:260px;
    height:61px;
}

header.fix .logo-link svg#bc-logo {
    display:block;
    width:48px;
    height:49px;
}

header.fix .logo-link svg#bc-logo-v2-white-with-text {
    display:none;
}

.top-bar {
    background:var(--gold);
    background:#BE9770;
    color:#FFFFFF;
    padding:0.75rem 0;
    transition:0.7s;
}

.top-bar:hover {
    background:#371a4e;
    color: #FFFFFF;
}

.top-bar .flex-container,
.nav-section .flex-container {
    justify-content:space-between;
    align-items: center;
}

.nav-section {
    padding:2rem 1rem;
    transition:0.5s;
}

.solid-header .nav-section,
header.fix .nav-section {
    padding:1rem;
}

nav {
    display:flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items:center;
    position:relative;
}

nav span,
nav a,
nav a:link,
nav a:visited,
nav .ni {
    color:#FFFFFF;
    text-decoration:none;
    font-weight:500;
    display:block;
    margin:1rem;
    letter-spacing:1px;
    font-size:0.9rem;
    cursor:pointer;
    position:relative;
}

nav .ni a {
    margin:0;
}

nav span.search svg {
    display:block;
    width:16px; 
    height:16px;
}

.sub-arrow {
    position:absolute;
    opacity:0;
    left: calc(100% + 6px);
    top: -1px;
    padding: 0;
    margin: 0;
    transition:0.5s;
}

.sub-arrow svg {
    display:block;
    width:12px;
    height:19px;
    pointer-events:none;
}

.ni-with-sub:hover .sub-arrow {
    opacity:1;
}

ul.sub-nav {
    display:none;
    margin: 0;
    padding: 0;
    position: absolute;
    background: #462462;
    top: calc(100% + 21px);
    width: 274px;
    overflow:visible;
    border-radius:3px;
    transition:0.7s;
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
}

.solid-header ul.sub-nav,
header.fix ul.sub-nav {
    top: calc(100% + 51px);
}

.solid-header.with-filter ul.sub-nav {
    top: calc(100% + 21px);
}

ul.sub-nav::after {
    top: -20px;
    left: 25px;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(70, 36, 98, 0);
    border-bottom-color: #462462;
    border-width: 10px;
    margin-left: -10px;
}

ul.sub-nav li {
    list-style-type:none;
    display:block;
    margin:0;
}

ul.sub-nav li a {
    transition:0.7s;
    margin:0;
    padding: 0.5rem 1rem;
}

ul.sub-nav li a:hover {
    background:#855D82;
}

.job-item {
    padding:0.5rem 0;
    margin:0.5rem 0;
    border-top:1px solid #FFFFFF;
}

.job-text,
.job-item p {
    width:80%;
}

.text-page.tp-job h1 {
    text-align:left;
}

.text-page.tp-job a.button {
    display: flex;
    text-decoration: none;
    width: 170px;
    margin: 2rem 0 0 0;
}

.job-item h2 a:hover {
    color:#BE9770;
}

.text-page.tp-job label,
.job-item label {
    font-weight: 600;
    display: inline-block;
    width: 90px;
}

/*

    NAV

*/

.nav {
    display:none;
}

.nav-icon {
    width: 50px;
    margin: auto auto auto 10px;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 13px 13px 11px 13px;
    justify-content: flex-end;
    flex-wrap: wrap;
    border-radius: 50%;
    transition: 0.7s;
    background:#BE9770;
}

.white-logo .nav-icon {
    background: none;
}

.nav-icon:hover {
    background: rgba(255,255,255,0.8);
    cursor: pointer;
}

header.fix .nav-icon {
    background:none;
}

header.fix .nav-icon:hover {
    background:none;
}

.nav-icon-bars {
    background: #FFF;
    width: 26px;
    height: 2px;
    -webkit-transition: all .3s;
    transition: all .3s;
    margin: 3px 0;
}

header.fix .nav-icon-bars {
    background: #FFFFFF;
}

.nav-icon:hover .nav-icon-bars {
    background: #BE9770;
}

header.fix .nav-icon:hover .nav-icon-bars {
    background: #FFF;
}

.nav-container {
    z-index:1;
    position:fixed;
    top:0;
    right:0;
    background:#32144b;
    opacity:0.95;
    color:#FFFFFF;
    padding: 2rem 1rem 1rem 1rem;
    display:none;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    transition:0.7s;
    text-align:center;
    width:100%;
    height:100vh;
    align-items: center;
    justify-content: center;
}

.nav-container .nav-contact {
    margin:2rem 0;
}

.nav-container .nav-contact .label {
    font-weight:200;
    display:block;
    margin:0 0 1rem 0;
    letter-spacing: 4px;
}

.nav-container .nav-contact a {
    text-decoration: none;
    color: #FFFFFF;
    font-weight: 600;
    display: block;
    margin: 1rem 0;
    font-size: 1.2rem;
    letter-spacing: 1px;
    transition:0.7s;
}

.nav-container .nav-contact a:hover {
    color:#BE9770;
} 

.nav-container nav {
    margin-top:1rem;
}

.nav-container nav a {
    color:#FFFFFF;
    display:block;
    text-decoration:none;
    font-weight:500;
    font-size:1.2rem;
    padding:0.4rem 1rem;
    transition:.7s;
    letter-spacing: 2px;
}

.nav-container nav a:hover {
    color:#986748;
    text-decoration:none;
}

.nav-container img {
    display:block;
    width:300px;
    margin:2rem auto;
}

.nav-search {
    font-size: 1rem;
    position: absolute;
    top: 100%;
    right: 0;
    display: none;
}

.nav-search-input {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
}

.nav-search input {
    width: 300px;
    font-weight: 200;
    padding: 0.5rem 1rem;
    border: 1px solid #be9770;
    background: rgb(190, 151, 112);
    border-top-left-radius: 25px;
    color: #FFFFFF;
    font-family: proxima-nova, sans-serif;
    outline: none;
    font-size: 1rem;
    letter-spacing: 0.5px;
    border-bottom-left-radius: 25px;
}

.nav-search button {
    color: #be9770;
    font-weight: 200;
    font-size: 1rem;
    border: 1px solid #BE9770;
    width: 38px;
    height: 38px;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
    background: #BE9770;
    outline:none;
    transition:0.7s;
    margin-left: 0.2rem;
}

.search-button #search-icon {
    pointer-events:none;
}

.nav-search button svg {
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 2px;
}

.nav-search button svg path {
    fill:#FFFFFF;
    transition:0.7s;
}

.nav-search button:hover {
    cursor:pointer;
    background:#462462;
    color:#FFFFFF;
    border-color:#462462;
}


.nav-search button:hover svg path {
    fill:#FFFFFF;
}

.nav-close {
    position:absolute;
    top:1rem;
    right:1rem;
    width: 48px;
    margin: auto auto auto 10px;
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items: center;
    box-sizing: border-box;
    padding: 12px 13px 19px 13px;
    justify-content: flex-end;
    flex-wrap: wrap;
    border-radius: 50%;
    transition: 0.7s;
    background:rgba(255,255,255,0.1);
}

.nav-close:hover {
    background:#462462;
    cursor:pointer;
}

.nav-close-bars {
    background: #fff;
    width: 26px;
    height: 2px;
    -webkit-transition: all .3s;
    transition: all .3s;
    margin: 3px 0;
}

.nav-close-bars:nth-of-type(1) {
    transform: rotate(45deg) translate(6px, 6px);
}
.nav-close-bars:nth-of-type(2) {
    transform:rotate(-45deg);
}



/*
    EO NAV

*/

p {
    margin: 1em 0;
    line-height: 1.5rem;
}

.top-bar .flex-container > div {
    width:33.333%;
}
.top-bar .flex-container > div:nth-of-type(2) {
	color: #10041a;
}

.top-bar .notice {
    text-align:center;
    letter-spacing: 1px;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-filter {
    display:none;
}

.with-filter .event-filter {
    display:flex;
}

.event-filter {
    margin: 0 auto;
    background: #532a75;
    width: 100%;
}

.event-filter  .filter_genre a.selected, 
.event-filter  .filter_view a.selected {
    background: #462462;
    color: #FFF;
}

.event-filter .filter_genre a:hover, 
.event-filter .filter_view a:hover {
    background: #462462;
}

.event-filter .filter_genre {
    float: none;
    width: unset;
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
}

.event_main_details.no_results {
    color: #FFFFFF;
    margin-left: 0;
    text-align: center;
}

.event-filter .filter_genre a, 
.event-filter .filter_genre span {
    float: none;
}

.event_item {
    background:none;
    color:#FFFFFF;
}

.event_listings .month_name {
    position: -webkit-sticky; 
    position: sticky;
    top: 135px;
}


#pageSingleCol h2.month_name {
    text-transform: uppercase;
    color: #FFFFFF;
    margin: 0;
    z-index: 10!important;
    padding: 1.8rem 1rem 1rem 1rem;
    letter-spacing: 2px;
    font-size: 2rem;
    width: 100%;
    background: #10041a;
}

.sticky-wrapper {
    padding-top:8px;
}

.sticky-wrapper.is-sticky {
    padding-top:0px;
}

#pageSingleCol .is-sticky {
    margin-bottom: 160px;
}

#pageSingleCol .is-sticky h2.month_name {
    background:#be9770;
    margin-top:0;
}

a.title_link, .event_item h3 {
    color:#FFFFFF;
    font-size:2rem;
    text-transform:uppercase;
}

.news-page,
.solid-header #page {
    margin-top: 135px;
}

.news-page h1 {
    text-align:center;
}

.solid-header.with-filter #page {
    margin-top: 168px;
}

.calendar_viewer,
#pageSingleCol {
    background:none;
    width:100%;
    max-width:100%;
}

.sitemap_links a,
.sitemap_links a:link,
.sitemap_links a:visited {
    color:#FFFFFF;
    text-decoration:underline;
}

/* EVENT PAGE */

.event-booking-row {
    background:#462462;
    color:#FFFFFF;
}

.event-booking-row .booking > span,
.event-booking-row > div > a {
    padding:1rem 2rem;
}

.event-booking-row .booking > span,
.event-booking-row a {
    text-decoration: none;
    outline: none;
    color: #FFFFFF;
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items: center;
    letter-spacing:1px;
    background:rgba(0,0,0,0.2);
    transition:0.7s;
}

.event-booking-row .booking > span.on-sale {
    text-transform:uppercase;
}

.event-booking-row a:hover {
    background:rgba(0,0,0,0.4);
}

.event-booking-row .booking svg {
    display:block;
    width:48px;
    height:48px;
    margin-right:1rem;
}


.event-booking-row .booking svg #Ellipse_8 {
    fill:#855D82;
}

.event-booking-row .booking .cost {
    display:inline-block;
    margin-left:0.5rem;
    font-weight:600;
}

.event-share-box {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items:center;
    justify-content:flex-end;
    padding:1rem 2rem;
    height:100%;
}

.event-share-box span {
    display:block;
    margin:0 1rem;
    letter-spacing: 2px;
}

.event-share-box .st-custom-button {
    margin:0 0.5rem;
    cursor:pointer;
    transition:0.7s;
}

.event-share-box .st-custom-button svg {
    display:block;
    width:40px;
    height:40px;
    transition:0.7s;
}

.event-share-box .st-custom-button svg circle {
    fill:rgba(255,255,255,0.25);
    transition:0.7s;
}

.event-share-box .st-custom-button:hover svg circle {
    fill:#be9770;
}

.ef_timer {
    position: absolute;
    bottom: 0;
    right: 0;
    color: #FFFFFF;
    text-transform:uppercase;
    padding:2rem;
    width:300px;
}

#clock {
    display:flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    justify-content:flex-end;
}

#clock > div {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-direction:column;
    text-align:center;
    padding:0.5rem;
    letter-spacing:1px;
}

#clock > div .value {
    font-weight:600;
    font-size:1.6rem;
    display:block;
    margin:0 0 0.5rem 0;
}

#clock > div .units {
    font-weight:300;
    font-size:1rem;
}

.countdown_label {
    font-size:0.9rem;
    letter-spacing:1px;
    color:#FFFFFF;
    float:unset;
    font-weight:300;
    padding:0;
    text-align:right;
    display:block;
}

.event .re-scheduled {
    background: #be9770;
    max-width:100%;
    width:100%;
}

.event .re-scheduled a,
.event .re-scheduled a:link,
.event .re-scheduled a:visited {
    display: inline-block;
    background: rgba(0,0,0,0.1);
    color: #FFF;
    padding: 0.5rem 1rem;
    margin: 0.5rem 0;
    font-size: 1rem;
    transition: 0.7s;
    text-decoration: none;
    border-radius: 25px;
}

.event .re-scheduled a:hover {
    background:#462462;
}

.event-content {
    background:#10041a;
    color:#FFFFFF;
    overflow: auto;
}

.event-content .content-header {
    margin:4rem 0;
}

.event-content h2 {
    text-transform:uppercase;
    font-weight:900;
    text-align:center;
    margin:0 0 1rem 0;
    display:block;
    font-size:3rem;
}
.event-content .date {
    text-transform:uppercase;
    letter-spacing:1px;
    text-align:center;
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.5rem;
}

.event-content .description {
    padding:0;
}

.info-row {
    padding:2rem 0 4rem 0;
}

.info-row .flex-container > div {
    width:20%;
    border-left:1px solid #4c3f58;
    padding:1rem;
    text-align:center;
    letter-spacing:1px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}

.flex-container {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-wrap: wrap;
}

.info-row .flex-container > div:first-of-type {
    border:none;
}

.info-row .flex-container > div h5,
.info-row .flex-container > div .info-value {
    font-size:1rem;
    width:100%;
    padding:1rem;
    display:block;
}

.info-value {
    text-transform:uppercase;
    font-weight:600;
}

.event-content .event-video {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    width:100%;
    position:relative;
}

.event-content .event-video img {
    display:block;
    width:100%;
}

.event-content .event-video a {
    display:block;
    position:relative;
}

.event-content .event-video a .play-icon {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items:center;
    justify-content:center;
}

.event-content .event-video a .play-icon svg {
    display:block;
    width:120px;
    height:120px;
}

.event-media {
    margin:4rem 0;
}

.venue-info svg {
    display:block;
    height:60px;
    margin:1rem auto;
}

.venue-info-item {
    padding:2rem 1rem;
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items:center;
    justify-content:center;
    text-align:center;
    text-decoration:none;
    background:#462462;
    transition:0.7s;
}

.venue-info-item:hover {
    text-decoration:none;
    background:#855D82;
} 

.venue-info-item h5 {
    font-weight:900;
    display:block;
    letter-spacing:2px;
    font-size:1.2rem;
    color:#FFFFFF;
    text-align:center;
    margin:1rem 0;
}

.col-1-4.venue-info-item {
    width:calc(25% - 2rem);
    margin:1rem;
}

/* EO EVENT PAGE */

.text-overflow-link {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

footer .social,
.top-bar .social {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    padding:0 1rem;
    justify-content:flex-end;
}

footer .social {
    padding:0;
    justify-content:flex-start;
}

footer .social a,
.top-bar .social a {
    text-decoration:none;
    color:#FFFFFF;
    display:block;
    margin:0 0.5rem;
}

footer .social a:nth-of-type(1) {
    margin-left:0;
}

footer .social a svg,
.top-bar .social a svg {
    display:block;
    height:18px;
    width:18px;
}

.top-bar .notice a,
.top-bar .notice a:link,
.top-bar .notice a:visited {
    text-decoration:none;
    color:#10041a;
}

.top-bar:hover .notice a,
.top-bar:hover .notice a:link,
.top-bar:hover .notice a:visited,
.top-bar:hover .notice a:hover {
    color: #FFFFFF;
}

.col-1-2 {
    width:50%;
}

.col-1-3 {
    width:33.333%;
}

.col-1-4 {
    width:25%;
}

.col-2-3 {
    width:66.667%;
}

h1 .normal,
h2 .normal {
    font-weight:400;
}

/* 
    buttons

*/

svg.buy-tickets .Ellipse_8,
svg.buy-tickets #Ellipse_8 {
    fill:#462462;
    transition:0.5s;
}

svg.buy-tickets .ticket-alt-light,
svg.buy-tickets #ticket-alt-light {
    fill:#FFFFFF;
}

svg.bc-info .Ellipse_9,
svg.bc-info #Ellipse_9 {
    fill:#BE9770;
    transition:0.5s;
}

svg.bc-info .info-solid,
svg.bc-info #info-solid {
    fill:#FFFFFF;
}

.slide-event-links a:hover svg {
    transition:0.5s;
}

.event-links a:hover svg.bc-tickets .Ellipse_8,
.slide-event-links a:hover svg.buy-tickets .Ellipse_8,
.event-links a:hover svg#bc-tickets #Ellipse_8,
.slide-event-links a:hover svg.buy-tickets #Ellipse_8 {
    fill:#240D37;
}

.event-links a:hover svg.bc-info .Ellipse_9,
.slide-event-links a:hover svg.bc-info .Ellipse_9,
.event-links a:hover svg#bc-info #Ellipse_9,
.slide-event-links a:hover svg.bc-info #Ellipse_9 {
    fill:#855D82;
}

/*
    Slides
*/

.hero,
.hero-slides {
    height:90vh;
    position:relative;
}

.hero.page-hero {
    height:40vh;
    background-size: cover;
    background-position: 50%;
}

.contact-page .hero.page-hero {
    height:40vh;
}

.event .hero {
    height: calc(100vh - 135px);
}

.event .slide-image::after {
        background: rgb(0,0,0);
    background: -moz-linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 50%, rgba(16, 4, 26,1) 100%);
    background: -webkit-linear-gradient(
180deg
, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 50%, rgba(16, 4, 26,1) 100%);
    background: linear-gradient(
180deg
, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 50%, rgba(16, 4, 26,1) 100%);
}

.access-page .hero.page-hero {
	background-position: 50% 0;
    	background-repeat: no-repeat;
}

.contact-page .hero.page-hero {
background-position: 50% 100%;
}

.access-page img {
    max-width:100%;
}

.access-page a {
    word-break:break-all;
}

.hero {
    width: 100%;
    max-width: 100%;
    background:#10041A;
}

.slide-image {
    width:100%;
    height:100%;
    background-size:cover;
    position:relative;
    background-position: 50%;
}

.slide-image::after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgb(0,0,0);
    background: -moz-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%, rgba(16, 4, 26,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%, rgba(16, 4, 26,1) 100%);
    background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%, rgba(16, 4, 26,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}

.slick-list,
.slick-track {
    height:100%;
}

.slide-content h1,
.slide-content h2 {
    font-weight: 900;
    font-size: 2.2rem;
    letter-spacing: 4px;
    margin: 0.5rem auto;
    text-transform: uppercase;
    max-width: 640px;
}

.slide-content {
    position:absolute;
    bottom:2.5rem;
    left:0;
    width:100%;
    color:#FFFFFF;
}

.slide-content .inner {
    text-align:center;
    margin:0 auto;
}

.slide-content .slide-event-links {
    margin:1rem 0;
    text-align:center;
}

.slide-content .slide-event-links a {
    display:inline-block;
    margin:0 0.5rem;
    width:48px;
    height:48px;
    text-decoration:none;
    outline:none;
}

.slide-content .slide-event-links a svg {
    display:block;
    width:100%;
}

.slide-event-timings {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    margin:0 0 1.5rem 0;
    justify-content:center;
    align-items:center;
    letter-spacing:3px;
    text-transform:uppercase;
}

.slide-event-timings .date {display:block;margin:0 0.25rem;}
.slide-event-timings .clock {display:block;margin:0 0.25rem;}
.slide-event-timings .clock svg {display:block;width:16px;height:16px;}
.slide-event-timings .time {display:block;margin:0 0.25rem;}


.egc-feature {
    /*background-image:url(/images/egc-background.svg);*/
    background-image:url(/images/glittery-golden-slug.png);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:50%;
    max-width: 960px;
    margin: 0 auto;
    padding: 2rem 0px;
    position:relative;
}

.egc-feature img {
    display:block;
    width:100%;
}

.flex-center-v {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    height: 100%;
    align-items:center;
}

.egc-feature .flex-container > div {
    padding:2rem;
}

.egc-feature .flex-container h2 {
    color:#FFFFFF;
    padding:0 6rem 0 0;
    font-size:2rem;
    font-weight:600;
    line-height: 2.5rem;
    letter-spacing: 1px;
    text-shadow: 2px 2px 5px #10041a, -2px -2px 5px #10041a;
}

.egc-feature .flex-container h2 .normal {
    font-weight:500;
}

.egc-feature .flex-container .col-2-3 {
    position:relative;
}

.egc-feature .flex-container .col-2-3 a {
    position:absolute;
    bottom:1rem;
    right:1rem;
}

a.button {
    display:flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    text-decoration:none;
    padding:0.5rem 1rem;
    border-radius:25px;
    background:#462462;
    color:#FFFFFF;
    align-items:center;
    transition:0.7s;
    justify-content:center;
}

a.button:hover {
    background:#BE9770;
}

a.button svg {
    display:block;
    width:16px;
    height:16px;
    margin-left: 0.5rem;
}

a.button svg#bc-go #Ellipse_10 {
    fill:#FFFFFF;
}

a.button svg#bc-go .arrow {
    fill:#462462;
}

a.button:hover svg#bc-go .arrow {
    fill:#BE9770;
    transition:0.7s;
}


/*

    MAP STYLES

*/

#gettingHere {
    background:#ece9ef;
}

ul.travel_options {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
}

.travel_options li {
    display: block;
    width: auto;
    color: #FFFFFF;
    background: #33283e;
    float:unset;
    flex-grow:1;
}

.travel_info {
    background:#281e31;
    padding:4rem;
}

.to_link {
    display: block;
    padding: 40px;
    border-right: 1px solid #e9ebed;
    border-bottom: 1px solid #281e31;
    color: #2d3945;
    text-decoration: none;
    outline: 0;
}

.travel_options li.ui-tabs-active {
    background:#281e31;
}

.travel_options li a,
.travel_options li a:hover {
    text-decoration:none;
}

.to_link:hover {
    cursor: pointer;
    transition: background ease .7s;
    background: #BE9770;
    color: #FFFFFF;
    text-decoration: none;
}

.to_link {
    border-right: none;
}

.ui-state-active .to_link {
    color: #FFFFFF;
    background:#281e31;
}

.ui-state-active .to_link:hover {
    color: #FFFFFF;
    background:#BE9770;
}

.travel_options li:first-of-type .to_link {
    border-left:none;
}

.event-grid {
    display:flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-wrap:wrap;
} 

.event-item {
    width:calc(20% - 1rem);
    margin:1rem 0.5rem;
    position:relative;
    padding-bottom: 40px;
}

.event-date {
    color:#FFFFFF;
    text-align:center;
    text-transform:uppercase;
    font-weight:400;
    letter-spacing:4px;
}

.filter_genre a, .filter_genre span, .filter_view a, .filter_view span {
    display: inline-block;
    padding: .5rem 1rem;
    color: #FFF;
    text-decoration: none;
    font-size: .875em;
    letter-spacing: 1px;
}

.ei-date {}

.ei-image-container {
    position:relative;
    margin:1rem 0;
}

.ei-image-container img {
    display:block;
    width:100%;
}

.v2-calendar-view .ei-image-container {
    position:relative;
    margin:0;
}

.event-info.es_Re-scheduled::after {
    content: "RE-SCHEDULED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
    z-index: 1;
}

.event-info.es_Postponed::after {
    content: "POSTPONED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
    z-index: 1;
}

.event-info.es_Cancelled::after {
    content: "CANCELLED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
    z-index: 1;
}

.event-info.es_Socially.Distanced::after {
    content: "SOCIALLY DISTANCED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
    z-index: 1;
}

/* GRID */
.event-listing .event-item.es_Re-scheduled::after,
.home-page .event-item.es_Re-scheduled::after {
    content: "RE-SCHEDULED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
}

.event-listing .event-item.es_Postponed::after,
.home-page .event-item.es_Postponed::after {
    content: "POSTPONED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
}

.event-listing .event-item.es_Cancelled::after,
.home-page .event-item.es_Cancelled::after {
    content: "CANCELLED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
}

.event-listing .event-item.es_Socially.Distanced::after,
.home-page .event-item.es_Socially.Distanced::after {
    content: "SOCIALLY DISTANCED";
    display: block;
    background: #532a75;
    color: #FFF;
    padding: 0.35rem;
    text-align: center;
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
}

.truncate-overflow {
    display: -webkit-box;
    overflow: hidden;
     -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.event-links {
    position: absolute;
    bottom: 2rem;
    text-align: center;
    left: 0;
    width: 100%;
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    justify-content: center;
    align-items: center;
}

.v2-calendar-view .event-item {
    width: calc(50% - 1rem);
    margin: 1rem 0.5rem;
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
}

.v2-calendar-view .event-item:hover {
    transition:0.7s;
    opacity:0.8;
}

.v2-calendar-view .event-grid {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-wrap: wrap;
}

.event-grid {
  pointer-events: none;
}

.access-statements > *,
.event-grid > * {
  pointer-events: auto;
  transition:0.7s;
}

.access-statements:hover > *,
.event-grid:hover > * {
  opacity: 0.4;
}

.access-statements:hover > *:hover,
.event-grid:hover > *:hover {
    opacity: 1;
}

.v2-calendar-view .event-grid .ei-image-container,
.v2-calendar-view .event-grid .event-info {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items: center;
    justify-content: center;
    padding:0;
}

.v2-calendar-view .event-grid .ei-image-container {
    width:40%;
}

.v2-calendar-view .event-grid .event-info {
    width:60%;
    background:rgba(255,255,255,0.1);
}

.v2-calendar-view .event-grid .event-info {
    padding:1rem;
    position: relative;
}

.v2-calendar-view .event-grid .event-links {
    position:relative;
    bottom:unset;
    left:unset;
}

.v2-calendar-view .event-item h3.event-name {
    font-weight:900;
}

.v2-calendar-view .clock svg {
    width: 18px;
    height: 20px;
    position: relative;
    top: 4px;
    margin-right: 0.5rem;
    fill:#A3A2A5;
}

.v2-calendar-view .event-date {
    color:#A3A2A5;
    margin: 0 0 0.5rem 0;
}

h3.event-name {
    text-align:center;
    font-weight:600;
    text-transform:uppercase;
    font-size:1.5rem;
    color:#FFFFFF;
    letter-spacing:4px;
}

#pageSingleCol .event-item h3.event-name {
    text-align:center;
    font-weight:600;
    text-transform:uppercase;
    font-size:1.5rem;
    color:#FFFFFF;
    letter-spacing:4px;
    margin:0 1rem 1rem 1rem;
}

.event-links a {
    display:block;
    width:42px;
    height:42px;
    margin:0 0.5rem;
}

.event-links a svg {
    display:block;
    width:100%;
    height:100%;
    transition:0.5s;
}

.ei-info-link {}

.event-listing.home .month-name {
    display:none;
}

.event-section {
    margin:2rem 0;
}

.newsletter-signup h1, 
.event-section h1,
.newsletter-signup h2,
.event-section h2 {
    color:#FFFFFF;
    font-weight:600;
    text-align:center;
    padding:2rem;
    font-size: 2.4rem;
    letter-spacing: 4px;
}

.newsletter-row {
    background-image:url('/images/sign-up-wave.svg');
    background-size:cover;
    background-position: 0 50%;
    min-height: 440px;
    color: #FFFFFF;
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items: center;
}

.newsletter-row .inner {
    height:100%;
}

.newsletter-row .newsletter-signup {
    text-align: center;
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    justify-content: center;
    align-items: center;
    position: relative;
    top: -12px;
}

.newsletter-row h2 {
    margin: 1rem 2rem 0rem 2rem;
    font-size: 1.5rem;
}

.wave-image-inv {
    width:125px;
}

.wave-image-inv img {
    display:block;
    width:100%;
}

.newsletter-row .newsletter-signup div.nl-content-container {
    margin: 0 2rem 2rem 2rem;
}

.newsletter-row a.sign-up {
    border-radius: 25px;
    background: #FFFFFF;
    color: #10041A;
    font-size: 1rem;
    padding: 10px 20px;
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items: center;
    width:125px;
    flex-shrink: 0;
    text-decoration:none;
    transition:0.7s;
}

.newsletter-row a.sign-up:hover {
    color:#FFFFFF;
}

.contact-icon {
    margin: 1rem auto 3rem auto;
    width: 48px;
    height: 48px;
    text-decoration: none;
    outline: none;
}

.contact-icon svg {
    display:block;
    width:48px;
    height:48px;
    margin:0 auto;
}

.newsletter-row a.sign-up:hover {
    text-decoration:none;
    background:#462462;
}

.newsletter-row .newsletter-signup div.nl-content {
    max-width:480px;
    margin:0 auto;
    font-size:1.2rem;
}

.visit-brighton .button svg,
.newsletter-row a.sign-up svg {
    display:inline-block;
    width:20px;
    height:20px;
    margin-left:0.5rem;
}

.next-arrow-cls-1 {
    fill:#FFFFFF;
}

.sign-up .next-arrow-cls-1 {
    transition:0.7s;
    fill:#10041A;
}

.sign-up:hover .next-arrow-cls-1 {
    fill:#FFFFFF;
}

.running-times {
    margin-top:1rem;
    font-size:0.9rem;
    line-height: 1.2rem;
}


/* icons */

.wl-cls-1{fill:#855d82;}

.wl-cls-2 {
    fill: #fff;
}

.visit-brighton img,
.visit-brighton svg {
    display:block;
    width:100%;
}

.visit-brighton {
    display:block;
    width:100%;
    margin:2rem 0;
}

.visit-brighton .col-1-2 {
    padding:2rem;
}

.visit-brighton .content-container {
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items:center;
}
.visit-brighton .content-container > div {
    width: 100%;
}

.visit-brighton .content {
    font-size: 2rem;
    color: #FFFFFF;
    line-height: 3rem;
    width: 90%;
    margin: 0 auto;
}

.visit-brighton a.button {
    width: 162px;
    margin: 2rem 0 0 auto;
}

.visit-brighton a.button:hover {
    background:#0896d3;
}


/*

    INFO PAGES

*/

.text-page.tp-job {
    min-height: 60vh;
}

.text-page,
.info-page {
    background:#10041a;
    padding: 2rem;
    color:#FFFFFF;
}

.text-page h1,
.info-page h1 {
    text-align:center;
    color:#FFFFFF;
    font-weight:900;
    letter-spacing:4px;
    text-transform:uppercase;
}

.text-page a,
.info-page a,
.text a,
.text a:link,
.text a:visited {
    text-decoration: underline;
    color: #FFFFFF;
}

.info-sections {
    margin:2rem 0;
}

.access-statements {
    margin:2rem 0;
}

.access-statements > a {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-direction: column;
    width: calc(25% - 2rem);
    margin: 1rem;
    justify-content: space-between;
    padding: 2rem;
    background: rgba(255,255,255,0.1);
    text-decoration: none;
    align-items:center;
}

.access-statements a {
    word-break:keep-all;
}

.access-statements > a svg {
    display:block;
}
.access-statements > a svg#bc-logo {
    margin:0 auto;
    width:100px;
    height:102px;
}

.access-statements > a svg.next,
.access-statements > a svg#next {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 0.5rem;
}

span.statement-name {
    display: block;
    margin: 2rem auto 1rem 0;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 1px;
}

span.link-button {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 25px;
    background: none;
    color: #FFFFFF;
    align-items: center;
    transition: 0.7s;
    justify-content:center;
    width:fit-content;
}

.access-statements > a:hover span.link-button {
    background:rgba(0,0,0,0.2);
}

.subtab-item h3 {
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
    padding: 1.5rem 0rem 0.5rem 0;
    transition: 0.7s;
    color: #be9770;
    font-size: 1.3rem;
    border-bottom: 2px solid #281e31;
}

.text-page h2,
.info-page h2  {
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:2px;
    display:flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items:center;
    justify-content:flex-start;
    padding:1.5rem 1rem;
    cursor:pointer;
    transition:0.7s;
    border-top:1px solid rgb(40 30 49);
}

.info-page h4 {
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:2px;
    display:flex;display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items:center;
    justify-content:flex-start;
    padding:1.5rem 1rem;
    cursor:pointer;
    transition:0.7s;
    border-top:1px solid rgb(40 30 49);
    font-size:1.2rem;
}

.text-page h2.centred-title,
.info-page h2.centred-title  {
    text-align:center;
    border:none;
}

button.copyButton {
    background: none;
    border: 0;
    cursor: pointer;
    outline: none;
    position: relative;
    padding: 5px;
    top: 0px;
    transition: 0.7s;
    opacity: 0.7;
    color: #FFFFFF;
    margin-left: 0.5rem;
}

button.copyButton:hover {
    color:#BE9770;
}

button.copyButton i {
    pointer-events:none;
}

.info-page .info-sections div:nth-of-type(1) h2 {
    border:none;
}

.info-page h2.centred-title:hover {
    color:#FFFFFF;
}

.info-page h4:hover,
.info-page h2:hover {
    color:#BE9770;
}

.info-page h2 svg {
    display:block;
    width:20px;
    height:20px;
}
.info-page h2 .expand,
.info-page h2 .contract,
.info-page h4 .expand,
.info-page h4 .contract {
    display:inline-block;
    margin-right:1rem;
}

.info-page h2 .expand,
.info-page h4 .expand {
    display:block;
}

.info-page h2 .contract,
.info-page h4 .contract {
    display:none;
}

.info-page .subtab-item {
    width: 100%;
    margin: 0;
}

#expand #Rectangle_126,
#expand #Rectangle_127 {
    fill:#BE9770;
}

#contract #Rectangle_127 {
    fill:#FFFFFF;
}

.info-page h2.active {
    background:#281e31;
    color:#FFFFFF;
}

.info-page h2.active .expand {
    display:none;
}

.info-page h2.active .contract {
    display:block;
}

.expandable-content {
    display:none;
    padding: 1rem 2rem;
    background: rgba(70, 36, 98, 0.1);
}

.expandable-content.sub {
    background:none;
}

.text-page h2 {
    padding: 1rem 0rem;
    border:none;
}

.text-page ul,
.text-page ol {
    padding: 0 1rem 1rem 1rem;
    margin: 0rem 2rem;
    width: 60%;
}

.text-page ul li,
.text-page ol li {
    margin: 0.5rem 0;
}


/* 

    CONTACT PAGE AND FORM

*/

.contact-form-row {
    background: rgb(255,255,255);
    background: -moz-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(17,5,26,1) 0%, rgba(56,29,78,1) 50%, rgba(17,5,26,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(17,5,26,1) 0%, rgba(56,29,78,1) 50%, rgba(17,5,26,1) 100%);
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(17,5,26,1) 0%, rgba(56,29,78,1) 50%, rgba(17,5,26,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#11051a",GradientType=1);
    color:#FFFFFF;
    padding:4rem 0;
}

.contact-form {
    
}

.contact-data {
    color:#FFFFFF;
    text-align:center;
}

.contact-data .col-1-4 {
    border-left: 1px solid #4c3f58;
    padding:0 2rem;
    margin: 1rem 0;
}

.contact-data .col-1-4:first-of-type { 
    border-left:none;
}


.contact-details {
    font-size:2rem;
}

.contact-form-row {
    padding:2rem 0 4rem 0;
}

.contact-form-row input,
.contact-form-row textarea,
.contact-form-row select {
    border: none;
    border-bottom: 1px solid #cccccc;
    padding: 10px;
    background: #FFFFFF;
    font-family: proxima-nova, sans-serif;
    font-size: 19px;
    font-weight: 300;
    margin: 1rem 0;
    outline: none;
    width: 95%;
    box-sizing: border-box;
    border-radius:3px;
}

.contact-note {
    font-size:2rem;
    width:66%;
    padding: 2rem 0 4rem 0;
}

.contact-form-row textarea {
    min-height:200px;
}

.inner .contact-form-container .flex-container {
    padding: 2rem 0;
}

.contact-form-row input:focus, 
.contact-form-row textarea:focus {
    transition: all ease 0.7s;
    border-bottom: 2px solid #462462;
}

.contact-form-row label {
    display:block;
    font-family: proxima-nova, sans-serif;
    font-size: 1rem;
    letter-spacing:2px;
}

.contact-form-row input[type="submit"] {
    width: auto;
    border: none;
    background: #462462;
    color: #FFFFFF;
    padding: 10px 20px;
    margin: 40px auto;
}

.contact-form-row input[type="submit"]:hover {
    transition: all ease 0.7s;
    background: #BE9770;
    cursor: pointer;
}

button.agree-button {
    border: 0;
    background: transparent;
    color: #DDDDDD;
    font-weight: 500;
    padding: 0;
    box-sizing: border-box;
    margin: 10px 20px 10px 0;
    letter-spacing: 1px;
    outline: none;
}

button.agree-button .material-icons {
    color:rgba(255,255,255,0.4);
    font-size: 60px;
    margin-left: 0;
}

button.agree-button.selected, 
button.agree-button.selected .material-icons {
    color:#BE9770;
}

.agreement-notice a {
    color:#A3A2A5;
    text-decoration:underline;
}

.contact-form .flex-container {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-wrap: wrap;
}

.form-agree {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    align-items: center;
    padding: 1rem 4rem 0 0;
}

.msg-thanks {
    font-size: 2rem;
    padding: 2rem 0;
}

/*
    FEATURE PAGES
*/

#eventFeature {
    max-width:100%;
    width:100%;
}

#eventFeature.promo {
    overflow:hidden;
    font-family: proxima-nova, sans-serif;
}

#eventFeature.promo h1, #eventFeature.promo h2, #eventFeature.promo h3, #eventFeature.promo h4, #eventFeature.promo h5 {
    font-family: proxima-nova, sans-serif;
}

#eventFeature.promo h1 {
    font-size: 3em;
}

#eventFeature.promo h3 {
    letter-spacing:1px;
}

#eventFeature.promo .ef-text,
#eventFeature.promo .ef-img {
    width: 100%;
    position: relative;
}

#eventFeature.promo .ef-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0,0,0);
    background: -moz-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%, rgba(16, 4, 26,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%, rgba(16, 4, 26,1) 100%);
    background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%, rgba(16, 4, 26,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}

.ef-info-container {
    position: absolute;
    bottom: 4rem;
    left: 0;
    width: 100%;
    color: #FFFFFF;
    text-transform:uppercase;
}

.ef-info-container > div {

}

.ef-text {
    text-align:center;
    color: #FFFFFF;
}

.feature-page .fg_grid {
    justify-content:center;
}

.feature-page h1 {
    color: #FFFFFF;
    font-weight: 600;
    text-align: center;
    padding: 2rem;
    font-size: 2.4rem;
    letter-spacing: 4px;
}

.feature-page .intro-text {
    text-align:left;
    font-size: 1.1rem;
}

/*

    FOOTER

*/

footer .access a,
footer .access a:link, 
footer .access a:visited {
    display: block;
    font-weight: 400;
    text-decoration: underline;
    font-size: 0.9rem;
}

footer {
    background: rgb(255,255,255);
    background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(16,4,26,1) 0%, rgba(70,36,98,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(16,4,26,1) 0%, rgba(70,36,98,1) 100%);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(16,4,26,1) 0%, rgba(70,36,98,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#462462",GradientType=1);
    color:#FFFFFF;
}

footer .base {
    padding:2rem;
    justify-content:center;
    font-size:0.9rem;
}

footer .credits {
    margin:0;
}

footer a,
footer a:link,
footer a:visited {
    text-decoration:none;
    color:#FFFFFF;
    transition:0.7s;
}

footer a:hover {
    color:#be9770;
}

footer .partners {
    display: flex;
    display: -webkit-flex;
    
    display: -moz-flex;
    display: -moz-box;
    display: -ms-flexbox;
    flex-wrap: wrap;
}

footer .partners .logo {
    width:100%;
}

footer .partners a {
    display:block;
    width:calc(50% - 2rem);
    margin:1rem;
    max-width:160px;
}

footer .partners .logo a {
    max-width:100px;
}

footer .partners a img {
    display:block;
    width:100%;
}

footer .section {
    padding:2rem 0;
    line-height: 1.8rem;
    font-weight:600;
    letter-spacing:1px;
}

footer .section .label {
    font-weight:400;
    margin-bottom:0.5rem;
}

footer .tel,
footer .addr,
footer .enquiries,
footer .box-office {
    font-size:1.2rem;
}

footer .inner {
    padding-top:2rem;
    padding-bottom:2rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.base-links a {
    display:block;
    margin:0 0.5rem;
}

.base-links .credits {
    margin:0 0.5rem;
}

.base-links .credits a {
    display:inline-block;
    margin:0;
}

/*
    PAGE NOT FOUND - 404
*/
 
.pnf {
    background-image:url(/media/71184/access-collage-3.jpg);
    background-size:cover;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#FFFFFF;
}

.pnf h1 {
    font-size:3rem;
    font-weight:600;
    letter-spacing: 2px;
}

.pnf p {
    font-size:1.2rem;
    letter-spacing: 1px;
}

.pnf a {
    color:#FFFFFF;
    text-decoration:underline;
}

.pnf a:hover {
    color:#BE9770;
}

@media screen and (max-width:1440px) {

}

@media screen and (max-width:1210px) {
    .access-statements > a {
        width: calc(50% - 2rem);
    }

    .event-grid {
        flex-wrap:wrap;
    }

    .event-item {
        width: calc(33.333% - 1rem);
    }

    .newsletter-row .newsletter-signup div.nl-content-container {
        margin: 0 2rem 3.5rem 2rem;
    }
}

@media screen and (max-width:1080px) {
    .nav {
        display: block;
    }
     
    nav {
         display:none;
    }

    .nav-container nav {
        display:block;
    }

    .newsletter-row .newsletter-signup {
        flex-wrap: wrap;
    }

    .wave-image-inv {
        width: 100%;
        height: 300px;
    }

    .newsletter-row {
        background-image: url(/images/sign-up-wave.svg);
        background-size: unset; 
        background-position: 0 0;
        background-repeat: no-repeat;
    }
}

@media screen and (max-width:960px) {

    ul.travel_options {
        flex-wrap: wrap;
    }
    
    .travel_options li {
        width: 50%;
    }

    .travel_info {
        padding: 2rem;
    }

    .ef_timer {
        display:none;
    }

    .text-page ul,
    .text-page ol,
    .col-1-2,
    .col-1-3,
    .col-2-3 {
        width: 100%;
    }

    .col-1-4.venue-info-item {
        width:calc(50% - 2rem);
        margin:1rem;
    }
    .col-1-4 {
        width:50%;
    }

    .contact-data .col-1-4:nth-of-type(2n+1) { 
        border-left:none;
    }

    .event-filter {
        display:none!important;
    }

    .v2-calendar-view .event-item {
        margin: 0.5rem 0.25rem;
        flex-wrap:wrap;
    }

    #pageSingleCol h2.month_name {
        font-size:1.5rem;
    }

    .event-item {
        width: calc(50% - 1rem);
    }

    .access-statements.flex-container,
    .egc-feature .flex-container {
        flex-wrap:wrap;
    }

    .v2-calendar-view .event-grid .ei-image-container,
    .ei-image-container img {
        width: 100%;
    }

    .v2-calendar-view .event-grid .event-info {
        width: 100%;
        min-height: 280px;
    }
}

@media screen and (max-width:640px) {

    .v2-calendar-view .event-item {
        width: 100%;
        margin: 0.5rem 0.25rem;
        display: block;
    }

    .v2-calendar-view .event-grid .event-info {
        padding: 1rem;
        position: relative;
        min-height: unset;
    }

    .v2-calendar-view .event-grid .event-info.es_Cancelled,
    .v2-calendar-view .event-grid .event-info.es_Postponed,
    .v2-calendar-view .event-grid .event-info.es_Re-scheduled,
    .v2-calendar-view .event-grid .event-info.es_Socially-Distanced {
        padding: 1rem 1rem 48px 1rem;
    }

    footer .enquiries a {
        font-size:1rem;
    }

    .egc-feature .flex-container h2 {
        font-size:1.5rem;
        text-align:center;
        padding:1rem 0;
    }

    .egc-feature .flex-container .col-2-3 a {
        position:relative;
        margin: 0 auto;
        right:unset;
    }

    .expandable-content {
        padding: 1rem;
    }

    #mapCanvas {
        height: 340px;
    }

    .travel_options .to_link {
        padding: 10px;
    }

    .travel_info {
        padding: 1rem;
    }

    .content-plus-1, .promo_feature .content-plus-1 a, .promo .ef_text_container p.content-plus-1 {
        font-size: 1.1rem!important;
        line-height: 2.25rem;
    }

    .text-page, 
    .info-page,
    .access-page {
        padding:2rem 1rem;
    }

    .text-page h2, .info-page h2 {
        font-size: 1.2rem;
    }

    .event-item {
        width: calc(100% - 1rem);
    }

    h3.event-name {
        font-size: 1.3rem;
    }

    .home-page .event-item {
        background: rgba(255,255,255,0.1);
        padding: 1rem 0 40px 0;
    }

    .solid-header.with-filter #page {
        margin-top: 130px;
    }

    #pageSingleCol.event_listings {
        top:4px;
    }

    #pageSingleCol h2.month_name {
        font-size: 1rem;
    }

    .col-1-4.venue-info-item {
        width:calc(100% - 2rem);
        margin:1rem;
    }

    #pageSingleCol .event-item h3.event-name {
        margin: 1rem;
        font-size:1rem;
    }

    #pageSingleCol .event-item .event-date {
        font-size: 1rem;
    }

    .nav-container .nav-contact .enquiries a {
        font-size:1rem;
    }

.hero.page-hero {
    height:50vh;
}

    .slide-event-timings {
        flex-direction: column;
    }

    .logo-link svg#bc-logo-v2-white-with-text {
        width:200px;
        height:61px;
    }

    .slide-event-timings .clock {
        margin: 0.5rem 0.25rem;
    }
    
    .top-bar .flex-container > div:nth-of-type(1) {
        display:none;
    }

    .top-bar .flex-container > div:nth-of-type(2) {
        width:50%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .top-bar .flex-container > div.social {
        width:50%;
    }

    .top-bar .notice {
        text-align: left;
        padding: 0 0.5rem;
    }

    .access-statements > a {
        width: 100%;
        margin:1rem 0;
    }

    .info-row .flex-container > div,
    .col-1-4 {
        width:100%;
    }

    .info-row .flex-container > div {
        border-top:
    }

    .contact-data .col-1-4 { 
        border-left:none;
    }

    .hero.page-hero {
        height: 40vh;
    }

    .text-page h1, .info-page h1 {
        font-size:2rem;
    }

    .newsletter-row .newsletter-signup {
        flex-wrap: wrap;
    }
    .newsletter-row {
        background-size: 150%;
    }

    .wave-image-inv {
        height: 150px;
    }

}


@media screen and (max-height:680px) and (min-width: 1280px)  {
    

}


/* IE HACKS */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .v2-calendar-view .event-grid .event-links {
        position: relative;
        bottom: 0;
        left: unset;
    }

    #pageSingleCol .event-item h3.event-name {
        line-height: 1.4rem;
    }

    .form-agree {
        -webkit-box-flex: 1;         
            -ms-flex: 1 0 100%;        
                flex: 1 0 100%;
    }

    button.agree-button {
        display:block;
        width: 160px;
    }

    span.agreement-notice {
        display:block;
    }
}

