@charset "UTF-8";
/* stylelint-disable order/properties-alphabetical-order */
/* stylelint-enable */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

a {
  text-decoration: none; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

@keyframes more-right-dot {
  0% {
    right: 36px; }
  100% {
    right: 0px; } }

@keyframes more-middle-dot {
  0% {
    right: 36px; }
  100% {
    right: 18px; } }

html {
  /* Adjust font size */
  /* Font varient */
  font-variant-ligatures: none;
  -webkit-font-variant-ligatures: none;
  /* Smoothing */
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px; }

html, body {
  font-family: "sofia-pro", sans-serif;
  font-size: 62.5%; }

body.main-menu-active {
  overflow: hidden; }

p strong, li strong {
  font-weight: bold; }

a {
  transition-duration: 0.25s; }

#left-menu {
  position: absolute;
  top: 30px;
  left: 50%;
  margin-left: -590px;
  z-index: 5; }
  #left-menu li {
    display: block;
    float: left;
    margin-right: 6px; }
    #left-menu li.social {
      width: 24px;
      height: 24px; }
      #left-menu li.social a {
        color: white;
        display: block;
        width: 24px;
        height: 24px;
        font-size: 1.8rem;
        color: #20274d; }
        #left-menu li.social a span {
          display: none; }
    #left-menu li.link {
      line-height: 2rem;
      font-size: 2rem; }
      #left-menu li.link a {
        color: white;
        text-transform: uppercase;
        font-weight: bold; }
        #left-menu li.link a:hover {
          color: #20274d; }

#main-menu {
  width: 100%;
  height: 0;
  overflow-y: scroll;
  transition-duration: 0.5s;
  opacity: 0;
  position: relative;
  z-index: 999999;
  background-color: #10a8b9; }
  .main-menu-active #main-menu {
    height: 100vh;
    opacity: 1; }
  #main-menu #menu-title {
    position: absolute;
    top: 50px;
    left: 50%;
    z-index: 999;
    width: 200px;
    height: 65px;
    margin-left: -100px;
    text-align: center;
    z-index: 9999999;
    transition-duration: 0.2s;
    transition-property: all; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #main-menu #menu-title {
        top: 70px;
        width: 160px;
        height: 50px;
        margin-left: -80px; } }
    #main-menu #menu-title a {
      display: block;
      width: 200px;
      height: 65px;
      color: rgba(255, 255, 255, 0);
      background-image: url("../images/moremusiclogo.svg");
      transition-duration: 0.5s;
      background-position: center center;
      background-repeat: no-repeat; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #main-menu #menu-title a {
          width: 160px;
          height: 50px; } }
    #main-menu #menu-title:hover a {
      transform: scale(1.05) rotate(1deg); }
  #main-menu #close-main-menu {
    position: absolute;
    top: 10px;
    right: 50%;
    margin-right: -590px;
    width: 100px;
    height: 36px; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #main-menu #close-main-menu {
        margin-right: -160px; } }
    #main-menu #close-main-menu:after {
      content: '';
      position: absolute;
      top: 50%;
      right: 0;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      margin-top: -18px;
      background-color: #eac435;
      pointer-events: none; }
    #main-menu #close-main-menu a {
      width: 100px;
      height: 20px;
      padding: 8px 0;
      display: block;
      text-transform: uppercase;
      color: #eac435;
      font-size: 1.6rem;
      font-weight: 600; }
      #main-menu #close-main-menu a:before, #main-menu #close-main-menu a:after {
        content: '';
        width: 2px;
        height: 24px;
        background: #10a8b9;
        position: absolute;
        top: 6px;
        right: 17px;
        z-index: 9999;
        transition-duration: 0.25s; }
      #main-menu #close-main-menu a:after {
        transform: rotate(45deg); }
      #main-menu #close-main-menu a:before {
        transform: rotate(-45deg); }
      #main-menu #close-main-menu a:hover {
        color: #20274d; }
        #main-menu #close-main-menu a:hover:after, #main-menu #close-main-menu a:hover:before {
          background-color: #20274d; }
  #main-menu ul.menu {
    position: absolute;
    top: 150px;
    left: 50%;
    width: 640px;
    margin-left: -320px; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #main-menu ul.menu {
        width: 320px;
        margin-left: -160px; } }
    #main-menu ul.menu li {
      text-align: center;
      font-size: 3rem;
      line-height: 4rem;
      font-weight: 700; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #main-menu ul.menu li {
          font-size: 2.4rem;
          line-height: 3.5rem; } }
      #main-menu ul.menu li a {
        color: white; }
        #main-menu ul.menu li a:hover {
          color: #20274d; }
      #main-menu ul.menu li.submenu {
        color: white;
        cursor: pointer;
        position: relative; }
        #main-menu ul.menu li.submenu span {
          position: relative; }
          #main-menu ul.menu li.submenu span:after {
            position: absolute;
            top: 6px;
            right: -60px;
            content: '';
            width: 16px;
            height: 16px;
            border-left: 3px solid #20274d;
            border-bottom: 3px solid #20274d;
            transform: rotate(-45deg);
            transition-duration: 0.2s; }
        #main-menu ul.menu li.submenu:hover {
          color: #20274d; }
        #main-menu ul.menu li.submenu ul {
          max-height: 0;
          overflow: hidden;
          transition-duration: 0.2s;
          transition-property: max-height padding; }
          #main-menu ul.menu li.submenu ul li {
            font-family: "mono45-headline", sans-serif;
            font-weight: normal;
            font-size: 2rem;
            line-height: 3rem; }
            #main-menu ul.menu li.submenu ul li a {
              color: #20274d; }
              #main-menu ul.menu li.submenu ul li a:hover {
                color: #eac435; }
        #main-menu ul.menu li.submenu.open {
          color: #20274d; }
          #main-menu ul.menu li.submenu.open ul {
            padding-top: 10px;
            max-height: 500px; }
          #main-menu ul.menu li.submenu.open span:after {
            top: 22px;
            transform: rotate(135deg); }

#support-flag {
  position: fixed;
  top: 100px;
  display: block;
  width: 157px;
  height: 50px;
  z-index: 3; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #support-flag {
      position: absolute;
      top: 0;
      left: 20px;
      width: 140px; } }
  #support-flag a {
    position: absolute;
    left: -5px;
    display: block;
    width: 50px;
    height: 157px;
    color: #20274d;
    text-align: center;
    text-transform: uppercase;
    font-family: "mono45-headline", sans-serif;
    font-weight: bold;
    position: relative;
    transition-duration: 0.2s; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #support-flag a {
        left: -27px; } }
    #support-flag a:hover {
      left: 0; }
      #support-flag a:hover:after {
        opacity: 1; }
    #support-flag a:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 50px;
      height: 157px;
      background-image: url("../images/support-tab.svg");
      background-size: contain;
      background-repeat: no-repeat;
      opacity: 1;
      z-index: 999;
      transition-duration: 0.4s;
      opacity: 0.9; }
    #support-flag a span {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      transform-origin: 15% 50%;
      transform: rotate(90deg);
      z-index: 9999;
      width: 157px;
      height: 50px;
      font-size: 2rem;
      line-height: 5rem; }

#banner {
  box-shadow: 0 -50vh 0 50vh #10a8b9;
  width: 100vw;
  height: 180px;
  position: relative;
  opacity: 1;
  z-index: 2;
  overflow: hidden;
  /*
	&:after {
		content: '';
		display: block;
		position: absolute;
		top: 80px;
		left: 0;
		height: 0;
		width: 0;
		border-left: 100vw solid rgba($c_teal, 0.9);
		border-bottom: 80px solid transparent;		
		@media only screen and (min-width: 100px) and (max-width: 670px) {
			top: 100px;
			border-bottom: 30px solid transparent;			
		}
	}
*/ }
  #banner #main-menu-button {
    position: absolute;
    top: 16px;
    right: 50%;
    margin-right: -590px;
    width: 105px;
    height: 20px; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #banner #main-menu-button {
        margin-right: -160px; } }
    @media only screen and (min-width: 671px) and (max-width: 1180px) {
      #banner #main-menu-button {
        margin-right: -480px; } }
    #banner #main-menu-button:before {
      position: absolute;
      bottom: 6px;
      right: 36px;
      content: '';
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background-color: #eac435; }
    #banner #main-menu-button a {
      color: #eac435;
      font-size: 1.6rem;
      font-weight: 600;
      text-transform: uppercase;
      position: relative;
      display: block;
      width: 105px;
      height: 20px; }
      #banner #main-menu-button a:hover {
        color: #20274d; }
        #banner #main-menu-button a:hover:before {
          animation-iteration-count: infinite;
          animation-direction: alternate; }
        #banner #main-menu-button a:hover:after {
          animation-iteration-count: infinite;
          animation-direction: alternate; }
      #banner #main-menu-button a:before {
        position: absolute;
        bottom: 6px;
        right: 36px;
        content: '';
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #eac435;
        animation-duration: 0.35s;
        animation-name: more-middle-dot;
        animation-iteration-count: 1;
        animation-direction: normal;
        animation-fill-mode: forwards; }
      #banner #main-menu-button a:after {
        position: absolute;
        bottom: 6px;
        right: 36px;
        content: '';
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #eac435;
        animation-name: more-right-dot;
        animation-duration: 0.35s;
        animation-iteration-count: 1;
        animation-direction: normal;
        animation-fill-mode: forwards; }
  #banner:before {
    content: '';
    display: block;
    position: absolute;
    top: -56px;
    left: -20px;
    width: 140vw;
    height: 200px;
    background-color: #10a8b9;
    opacity: 0.9;
    transform: rotate(-2deg); }
    .single-programmes #banner:before {
      opacity: 1; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #banner:before {
        height: 100px; } }
  #banner #site-title {
    position: absolute;
    top: 30px;
    left: 50%;
    z-index: 999;
    width: 200px;
    height: 65px;
    margin-left: -100px;
    text-align: center;
    z-index: 9999999;
    transition-duration: 0.2s;
    transition-property: all;
    opacity: 1; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #banner #site-title {
        top: 50px;
        width: 160px;
        height: 50px;
        margin-left: -80px; } }
    #banner #site-title a {
      display: block;
      width: 200px;
      height: 65px;
      color: rgba(255, 255, 255, 0);
      background-image: url("../images/moremusiclogo.svg");
      transition-duration: 0.5s;
      background-position: center center;
      background-repeat: no-repeat; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #banner #site-title a {
          width: 160px;
          height: 50px; } }
    #banner #site-title:hover a {
      transform: scale(1.05) rotate(1deg); }
    body.main-menu-active #banner #site-title {
      opacity: 0; }

#home-carousel {
  position: relative;
  top: -180px;
  margin-bottom: -100px;
  z-index: 1; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #home-carousel {
      width: 100vw;
      overflow: hidden; } }
  #home-carousel:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    border-left: 100vw solid white;
    border-top: 110px solid transparent;
    z-index: 4;
    pointer-events: none; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #home-carousel:after {
        border-top: 40px solid transparent; } }
  #home-carousel .slick-dots {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1040px;
    margin-left: -520px;
    z-index: 5;
    text-align: center; }
    #home-carousel .slick-dots li {
      margin: 0 5px;
      display: inline-block;
      transition-duration: 0.25s;
      cursor: pointer;
      background-color: #10a8b9 !important;
      width: 12px;
      height: 12px;
      border-radius: 50%; }
      #home-carousel .slick-dots li.slick-active {
        background-color: #eb6566 !important; }
      #home-carousel .slick-dots li button {
        border: none;
        width: 12px;
        height: 12px;
        background-color: #3fa9f5 !important;
        border-radius: 50%;
        color: #3fa9f5 !important;
        opacity: 0;
        cursor: pointer; }
  #home-carousel .slide {
    width: 100vw;
    height: 830px;
    min-height: 40vw;
    position: relative; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #home-carousel .slide {
        height: 480px; } }
    #home-carousel .slide .description {
      position: absolute;
      bottom: -60px;
      right: 0;
      z-index: 6;
      background: rgba(235, 101, 102, 0.8);
      width: 510px;
      height: 415px;
      transition-duration: 0.2s;
      cursor: pointer; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #home-carousel .slide .description {
          width: 100%;
          bottom: 0;
          height: 200px;
          background: #eb6566; } }
      #home-carousel .slide .description:hover {
        bottom: 0;
        background: rgba(235, 101, 102, 0.95); }
        #home-carousel .slide .description:hover:before {
          border-right-color: rgba(235, 101, 102, 0.95); }
        #home-carousel .slide .description:hover .readmore {
          transition-duration: 0.4s;
          bottom: 60px; }
      #home-carousel .slide .description:before {
        content: '';
        position: absolute;
        top: -55px;
        left: 0;
        border-top: 55px solid transparent;
        transition-duration: 0.2s;
        border-right: 510px solid rgba(235, 101, 102, 0.8); }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #home-carousel .slide .description:before {
            display: none; } }
      #home-carousel .slide .description h3 {
        width: 350px;
        margin: 25px 0 0 105px;
        color: white;
        font-size: 4rem;
        line-height: 4rem;
        font-weight: bold; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #home-carousel .slide .description h3 {
            width: 300px;
            font-size: 2rem;
            line-height: 2rem;
            margin: 10px 0 0 20px; } }
      #home-carousel .slide .description h4 {
        font-family: "mono45-headline", sans-serif;
        font-size: 2.2rem;
        color: #20274d;
        margin: 25px 0 0 105px;
        width: 350px; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #home-carousel .slide .description h4 {
            width: 300px;
            font-size: 1.6rem;
            line-height: 1.6rem;
            margin: 10px 0 0 20px; } }
      #home-carousel .slide .description .excerpt {
        margin: 20px 0 0 105px;
        font-size: 2rem;
        line-height: 2.4rem;
        width: 350px;
        color: #20274d; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #home-carousel .slide .description .excerpt {
            font-size: 1.4rem;
            line-height: 1.7rem;
            width: 300px;
            margin: 0 0 0 20px; } }
        #home-carousel .slide .description .excerpt p {
          margin-bottom: 2rem; }
        #home-carousel .slide .description .excerpt em {
          color: white;
          font-weight: bold; }
      #home-carousel .slide .description .readmore {
        position: absolute;
        bottom: 0px;
        left: 105px;
        font-size: 2rem;
        text-transform: uppercase;
        font-weight: bold;
        transition-duration: 1s; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #home-carousel .slide .description .readmore {
            bottom: 20px;
            right: 20px;
            left: auto;
            font-size: 1.5rem; } }
        #home-carousel .slide .description .readmore a {
          color: #eac435; }
    #home-carousel .slide .booking {
      position: absolute;
      top: 110px;
      left: -100px;
      width: 200px;
      height: 4rem;
      padding: 38px 0 45px 0;
      background-image: url("../images/splat-yellow.svg");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: 49px -5px;
      font-size: 2.35rem;
      line-height: 2.35rem;
      text-align: center;
      color: #20274d;
      text-transform: uppercase;
      font-weight: bold; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #home-carousel .slide .booking {
          top: -90px;
          left: auto;
          right: -15px;
          width: 90px;
          height: 1.8rem;
          font-size: 1.8rem;
          padding: 44px 0 60px 20px;
          text-align: left;
          background-position: center center; } }
    #home-carousel .slide .image {
      width: 100vw;
      height: 830px;
      min-height: 40vw;
      background-position: center center;
      background-size: cover; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #home-carousel .slide .image {
          height: 280px;
          min-height: 0; } }
      #home-carousel .slide .image img {
        display: none; }

.skewed-bg {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

#events-tiles {
  margin: 20px 0 100px 0;
  padding-top: 80px;
  position: relative; }
  #events-tiles:before {
    content: '';
    display: block;
    position: absolute;
    top: 0px;
    left: 0;
    height: 0;
    width: 0;
    border-right: 100vw solid rgba(16, 168, 185, 0.9);
    border-top: 80px solid transparent; }
  #events-tiles:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -80px;
    left: 0;
    height: 0;
    width: 0;
    border-right: 100vw solid rgba(16, 168, 185, 0.9);
    border-bottom: 80px solid transparent; }
  #events-tiles .title {
    position: absolute;
    left: 50%;
    top: 10px;
    margin-left: -538px;
    font-size: 4rem;
    line-height: 4rem;
    height: 40px;
    padding: 25px 0;
    min-width: 310px;
    color: #eac435;
    overflow: hidden; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #events-tiles .title {
        margin-left: -160px; } }
    #events-tiles .title h2 {
      position: relative;
      z-index: 2;
      padding-left: 35px; }
    #events-tiles .title .skewed-bg {
      opacity: 0.9; }
  #events-tiles .inner {
    background-color: rgba(16, 168, 185, 0.9);
    padding: 65px 0 0px 0; }

.tiles {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  flex-direction: row;
  width: 1252px;
  margin: 0 auto;
  min-height: 640px;
  padding-bottom: 80px;
  transition-duration: 0.4s; }
  @media only screen and (min-width: 671px) and (max-width: 1180px) {
    .tiles {
      width: 960px; } }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    .tiles {
      width: 320px;
      display: block; } }
  .tiles.revealing {
    min-height: 100vh; }
  .tiles .tile {
    width: 404px;
    height: 414px;
    position: relative;
    cursor: pointer;
    transition-duration: 0.25s;
    transition-property: all;
    transform: scale(1);
    opacity: 1;
    overflow: hidden; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      .tiles .tile {
        width: 300px;
        display: block; } }
    @media only screen and (min-width: 671px) and (max-width: 1180px) {
      .tiles .tile {
        width: 300px; } }
    .tiles .tile.hiding {
      transform: scale(0.95);
      opacity: 0; }
    .tiles .tile.type-hidden, .tiles .tile.venues-hidden, .tiles .tile.date-hidden {
      display: none;
      height: 0; }
    .tiles .tile .image {
      width: 404px;
      height: 260px;
      overflow: hidden; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .tiles .tile .image {
          width: 300px; } }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .tiles .tile .image {
          width: 300px;
          height: 220px; } }
      .tiles .tile .image img {
        transition-duration: 0.2s;
        transition-property: all; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          .tiles .tile .image img {
            max-width: 300px;
            height: auto; } }
    .tiles .tile .description {
      position: absolute;
      top: 210px;
      left: 0;
      width: 303px;
      height: auto;
      padding: 0 0 15px 0;
      transition-duration: 0.2s; }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .tiles .tile .description {
          width: 275px; } }
      .tiles .tile .description .skewed-bg {
        color: rgba(32, 39, 77, 0.9);
        position: absolute;
        z-index: 1;
        opacity: 0.9;
        fill: #20274d;
        width: 100%;
        height: 100%; }
      .tiles .tile .description h3 {
        color: white;
        font-size: 2rem;
        line-height: 2.4rem;
        font-weight: bold;
        position: relative;
        z-index: 2;
        color: white;
        padding: 16px 16px 8px 16px; }
        .tiles .tile .description h3 a {
          color: white; }
      .tiles .tile .description h4 {
        font-family: "mono45-headline", sans-serif;
        color: #eac435;
        font-size: 1.6rem;
        z-index: 3;
        position: relative;
        padding: 0 16px; }
      .tiles .tile .description p {
        color: #10a8b9;
        font-size: 1.6rem;
        line-height: 2rem;
        position: relative;
        z-index: 999;
        padding: 4px 16px 0 16px; }
      .tiles .tile .description .price {
        position: relative;
        z-index: 999;
        color: #eac435;
        font-size: 1.6rem;
        font-weight: bold;
        padding: 4px 16px; }
      .tiles .tile .description .link {
        display: none; }
    .tiles .tile .thumb img {
      transition-duration: 0.2s; }
    .tiles .tile:hover .description {
      top: 180px; }
    .tiles .tile:hover .image img,
    .tiles .tile:hover .thumb img {
      transform: scale(1.1); }
  .tiles.narrow-tiles {
    min-height: 0;
    justify-content: space-around; }
    .tiles.narrow-tiles .tile {
      height: 173px;
      margin-bottom: 20px; }
      .tiles.narrow-tiles .tile .description {
        top: auto;
        bottom: 20px; }
      .tiles.narrow-tiles .tile .link {
        display: block;
        font-size: 1.6rem;
        z-index: 3;
        position: relative;
        font-family: "mono45-headline", sans-serif;
        text-transform: uppercase;
        margin-left: 1.8rem;
        color: #eac435; }
      .tiles.narrow-tiles .tile:hover .description {
        top: auto;
        bottom: 30px; }
      .tiles.narrow-tiles .tile .details {
        display: none; }

body.popup {
  overflow: hidden; }

#programme-popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(32, 39, 77, 0.9);
  z-index: 9999;
  overflow: scroll; }
  #programme-popup #popup-close {
    position: absolute;
    top: 0;
    right: 0;
    background: #20274d;
    width: 40px;
    height: 40px;
    background-color: #20274d;
    color: white;
    border-radius: 50%;
    transform: translate(50%, -50%);
    text-indent: -999999px;
    cursor: pointer; }
    #programme-popup #popup-close:before, #programme-popup #popup-close:after {
      background-color: #eac435;
      width: 2px;
      height: 26px;
      content: '';
      position: absolute;
      top: 6px;
      left: 18px; }
    #programme-popup #popup-close:before {
      transform: rotate(45deg); }
    #programme-popup #popup-close:after {
      transform: rotate(-45deg); }
  #programme-popup #popup-text {
    width: 560px;
    padding: 40px;
    max-width: calc(100vw - 20px);
    background: white;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 2rem; }
    #programme-popup #popup-text h4 {
      font-weight: bold;
      margin-bottom: 2rem; }
    #programme-popup #popup-text p {
      line-height: 2.7rem;
      margin-bottom: 2.7rem;
      color: #20274d; }

h3.section-title {
  font-family: "mono45-headline", sans-serif;
  text-transform: uppercase;
  font-size: 3.2rem; }

#events-archive::after {
  clear: both;
  content: "";
  display: block; }

#events-archive .inner {
  width: 1252px; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #events-archive .inner {
      width: 320px; } }

#events-archive #filter-button {
  display: none;
  position: fixed;
  bottom: 0;
  left: 50%;
  width: 160px;
  margin-left: -80px;
  background-color: #10a8b9;
  text-align: center;
  font-size: 2.4rem;
  z-index: 999999999;
  font-family: "mono45-headline", sans-serif;
  color: white;
  padding: 1rem 0 1rem 0; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #events-archive #filter-button {
      display: block; } }
  #events-archive #filter-button.close {
    background-color: black; }

#events-archive #filter {
  width: 298px;
  float: left;
  padding-bottom: 100px; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #events-archive #filter {
      position: fixed;
      left: 0;
      bottom: -100vh;
      background-color: #10a8b9;
      width: 100vw;
      height: 100vh;
      padding-bottom: 0;
      z-index: 99999;
      transition-duration: 0.2s;
      overflow-y: scroll; } }
  #events-archive #filter.mobile-reveal {
    bottom: 0; }
  #events-archive #filter .mobile-header {
    display: none; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #events-archive #filter .mobile-header {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 2.4rem;
        margin-bottom: 1rem;
        padding: 2rem 0 1rem 0;
        color: white;
        text-transform: uppercase;
        font-family: "mono45-headline", sans-serif; } }
  #events-archive #filter #calendar {
    height: 348px;
    background-color: #10a8b9;
    user-select: none; }
    #events-archive #filter #calendar .month {
      height: 50px;
      width: 100%;
      background: #10a8b9;
      text-align: center;
      position: relative;
      font-family: "mono45-headline", sans-serif;
      color: white;
      font-size: 2rem;
      line-height: 5rem;
      user-select: none; }
      #events-archive #filter #calendar .month .prev, #events-archive #filter #calendar .month .next {
        position: absolute;
        top: 16px;
        left: 15px;
        width: 14px;
        height: 14px;
        border-left: 3px solid white;
        border-bottom: 3px solid white;
        text-indent: -1000px;
        overflow: hidden;
        transform: rotate(45deg);
        cursor: pointer;
        transition-duration: 0.2s; }
        #events-archive #filter #calendar .month .prev.inactive, #events-archive #filter #calendar .month .next.inactive {
          cursor: default;
          opacity: 0.25; }
          #events-archive #filter #calendar .month .prev.inactive:hover, #events-archive #filter #calendar .month .next.inactive:hover {
            border-color: white; }
        #events-archive #filter #calendar .month .prev:hover, #events-archive #filter #calendar .month .next:hover {
          border-color: #20274d; }
      #events-archive #filter #calendar .month .next {
        left: auto;
        right: 15px;
        transform: rotate(-135deg); }
    #events-archive #filter #calendar .days {
      background-color: #10a8b9;
      display: flex;
      flex-wrap: wrap;
      margin: 0 auto;
      width: 294px;
      padding: 0 2px; }
      #events-archive #filter #calendar .days li {
        display: block;
        width: 42px;
        height: 42px;
        font-size: 1.6rem;
        line-height: 4.2rem;
        text-align: center;
        font-weight: bold;
        color: #20274d; }
    #events-archive #filter #calendar .dates {
      background-color: #10a8b9;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      margin: 0 auto;
      width: 294px;
      min-height: 210px;
      padding: 0 2px;
      font-family: "mono45-headline", sans-serif;
      transition-duration: 0.3s; }
      #events-archive #filter #calendar .dates li {
        display: block;
        width: 42px;
        height: 42px;
        font-size: 1.6rem;
        line-height: 4.2rem;
        text-align: center;
        font-weight: bold;
        box-sizing: border-box; }
        #events-archive #filter #calendar .dates li.blank {
          text-indent: -10000px;
          overflow: hidden; }
        #events-archive #filter #calendar .dates li.inactive {
          color: rgba(255, 255, 255, 0.25); }
        #events-archive #filter #calendar .dates li.active {
          color: white;
          cursor: pointer;
          transition-duration: 0.2s; }
          #events-archive #filter #calendar .dates li.active.date-start {
            color: white;
            background-color: #20274d; }
            #events-archive #filter #calendar .dates li.active.date-start:hover {
              color: white;
              background-color: #20274d; }
          #events-archive #filter #calendar .dates li.active.today {
            background-color: rgba(255, 255, 255, 0.1); }
            #events-archive #filter #calendar .dates li.active.today.date-start {
              background-color: #20274d; }
          #events-archive #filter #calendar .dates li.active:hover {
            background-color: rgba(32, 39, 77, 0.1); }
  #events-archive #filter .dropmenu-filter {
    margin-top: 12px; }
    #events-archive #filter .dropmenu-filter h3 {
      background-color: #10a8b9;
      font-size: 2rem;
      text-align: center;
      font-family: "mono45-headline", sans-serif;
      color: white;
      padding: 10px 0;
      cursor: pointer;
      transition-duration: 0.2s;
      position: relative;
      user-select: none; }
      #events-archive #filter .dropmenu-filter h3:hover {
        color: #20274d; }
        #events-archive #filter .dropmenu-filter h3:hover:after {
          border-color: #20274d; }
      #events-archive #filter .dropmenu-filter h3:after {
        position: absolute;
        top: 6px;
        right: 14px;
        content: '';
        width: 14px;
        height: 14px;
        border-left: 3px solid white;
        border-bottom: 3px solid white;
        transform: rotate(-45deg);
        transition-duration: 0.2s; }
    #events-archive #filter .dropmenu-filter ul {
      transition-duration: 0.2s;
      background-color: #10a8b9; }
      #events-archive #filter .dropmenu-filter ul li {
        background-color: #10a8b9;
        font-family: "mono45-headline", sans-serif;
        text-align: center;
        color: white;
        font-size: 1.6rem;
        line-height: 2.4rem;
        height: 2.4rem;
        padding: 5px 0;
        transition-duration: 0.2s;
        overflow: hidden;
        cursor: pointer;
        position: relative;
        user-select: none; }
        #events-archive #filter .dropmenu-filter ul li.active {
          background-color: #20274d; }
          #events-archive #filter .dropmenu-filter ul li.active:hover {
            color: white;
            background-color: #20274d; }
        #events-archive #filter .dropmenu-filter ul li span {
          display: block;
          position: relative;
          top: 2.8rem; }
        #events-archive #filter .dropmenu-filter ul li:hover {
          background-color: rgba(32, 39, 77, 0.1); }
    #events-archive #filter .dropmenu-filter.hidden ul {
      opacity: 0;
      overflow: hidden; }
      #events-archive #filter .dropmenu-filter.hidden ul li {
        height: 0px;
        line-height: 0px;
        padding: 0; }
    #events-archive #filter .dropmenu-filter.reveal h3:after {
      transform: rotate(135deg) translateX(2px) translateY(-5px); }
    #events-archive #filter .dropmenu-filter.reveal ul {
      padding-bottom: 1.6rem; }
      #events-archive #filter .dropmenu-filter.reveal ul li span {
        animation-name: riseUp;
        animation-iteration-count: 1;
        animation-fill-mode: forwards; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-1 span {
        animation-duration: 0.225s;
        animation-delay: 0.05s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-2 span {
        animation-duration: 0.25s;
        animation-delay: 0.1s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-3 span {
        animation-duration: 0.275s;
        animation-delay: 0.15s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-4 span {
        animation-duration: 0.3s;
        animation-delay: 0.2s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-5 span {
        animation-duration: 0.325s;
        animation-delay: 0.25s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-6 span {
        animation-duration: 0.35s;
        animation-delay: 0.3s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-7 span {
        animation-duration: 0.375s;
        animation-delay: 0.35s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-8 span {
        animation-duration: 0.4s;
        animation-delay: 0.4s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-9 span {
        animation-duration: 0.425s;
        animation-delay: 0.45s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-10 span {
        animation-duration: 0.45s;
        animation-delay: 0.5s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-11 span {
        animation-duration: 0.475s;
        animation-delay: 0.55s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-12 span {
        animation-duration: 0.5s;
        animation-delay: 0.6s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-13 span {
        animation-duration: 0.525s;
        animation-delay: 0.65s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-14 span {
        animation-duration: 0.55s;
        animation-delay: 0.7s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-15 span {
        animation-duration: 0.575s;
        animation-delay: 0.75s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-16 span {
        animation-duration: 0.6s;
        animation-delay: 0.8s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-17 span {
        animation-duration: 0.625s;
        animation-delay: 0.85s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-18 span {
        animation-duration: 0.65s;
        animation-delay: 0.9s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-19 span {
        animation-duration: 0.675s;
        animation-delay: 0.95s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-20 span {
        animation-duration: 0.7s;
        animation-delay: 1s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-21 span {
        animation-duration: 0.725s;
        animation-delay: 1.05s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-22 span {
        animation-duration: 0.75s;
        animation-delay: 1.1s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-23 span {
        animation-duration: 0.775s;
        animation-delay: 1.15s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-24 span {
        animation-duration: 0.8s;
        animation-delay: 1.2s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-25 span {
        animation-duration: 0.825s;
        animation-delay: 1.25s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-26 span {
        animation-duration: 0.85s;
        animation-delay: 1.3s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-27 span {
        animation-duration: 0.875s;
        animation-delay: 1.35s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-28 span {
        animation-duration: 0.9s;
        animation-delay: 1.4s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-29 span {
        animation-duration: 0.925s;
        animation-delay: 1.45s; }
      #events-archive #filter .dropmenu-filter.reveal ul li.n-30 span {
        animation-duration: 0.95s;
        animation-delay: 1.5s; }

#events-archive .tiles {
  width: 828px;
  float: right; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #events-archive .tiles {
      width: 320px;
      float: none; } }

@keyframes riseUp {
  0% {
    top: -3.6rem; }
  100% {
    top: 0px; } }

.view-all {
  width: 208px;
  height: 58px;
  position: relative;
  margin: 0 auto; }
  .view-all a {
    display: block;
    font-size: 2rem;
    line-height: 2rem;
    height: 1rem;
    padding: 20px 0;
    text-transform: uppercase;
    color: #20274d;
    position: relative;
    z-index: 999;
    text-align: center;
    font-family: "mono45-headline", sans-serif;
    font-weight: bold; }
  .view-all .skewed-bg {
    width: 200px;
    height: 58px; }
    .view-all .skewed-bg .event-btn {
      fill: #eac435;
      opacity: 0.9;
      transition-duration: 0.2s; }
  .view-all:hover a {
    color: white; }
  .view-all:hover .skewed-bg .event-btn {
    fill: #20274d; }

.wrapper {
  position: relative; }
  .wrapper.section {
    position: relative; }
    .wrapper.section .title {
      position: absolute;
      left: 50%;
      top: 10px;
      margin-left: -538px;
      font-size: 4rem;
      line-height: 4rem;
      height: 40px;
      padding: 25px 0;
      min-width: 310px;
      color: #eac435;
      overflow: hidden; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.section .title {
          margin-left: 0px;
          left: 20px; } }
      .wrapper.section .title h2 {
        position: relative;
        z-index: 2;
        padding-left: 35px;
        font-weight: bold; }
      .wrapper.section .title .skewed-bg {
        opacity: 0.9; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          .wrapper.section .title .skewed-bg {
            max-width: 280px; } }
  .wrapper.title {
    height: 130px; }
    .wrapper.title .inner {
      width: 1040px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.title .inner {
          width: 320px; } }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .wrapper.title .inner {
          width: 960px; } }
      .wrapper.title .inner .title {
        position: absolute;
        top: 0;
        left: auto !important;
        right: 50%;
        margin-right: -200px;
        width: 400px;
        height: 30px;
        text-align: center;
        padding: 25px 0; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          .wrapper.title .inner .title {
            margin-right: 0;
            right: auto;
            left: 0;
            width: 320px; } }
        .wrapper.title .inner .title h2 {
          width: 100%;
          padding: 0;
          color: #eac435;
          font-family: "sofia-pro", sans-serif;
          font-size: 3rem;
          font-weight: 800 !important; }
          @media only screen and (min-width: 100px) and (max-width: 670px) {
            .wrapper.title .inner .title h2 {
              font-size: 2.4rem; } }
        .wrapper.title .inner .title .skewed-bg {
          z-index: -1;
          width: 400px;
          height: 100px;
          fill: rgba(16, 168, 185, 0.9); }
          .wrapper.title .inner .title .skewed-bg svg {
            width: 400px;
            height: 90px; }
            @media only screen and (min-width: 100px) and (max-width: 670px) {
              .wrapper.title .inner .title .skewed-bg svg {
                max-width: 320px; } }
          @media only screen and (min-width: 100px) and (max-width: 670px) {
            .wrapper.title .inner .title .skewed-bg {
              max-width: 320px; } }
  .wrapper .inner {
    margin: 0 auto;
    position: relative; }
    .wrapper .inner.text-cols-title {
      position: relative;
      width: 1040px;
      height: 160px;
      margin-top: 60px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper .inner.text-cols-title {
          width: 320px; } }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .wrapper .inner.text-cols-title {
          width: 960px; } }
      .wrapper .inner.text-cols-title .title {
        position: absolute;
        top: 0;
        left: auto !important;
        right: 50%;
        margin-right: -125px;
        width: 450px;
        height: 30px;
        text-align: center; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          .wrapper .inner.text-cols-title .title {
            margin-right: 0;
            right: auto;
            left: 0;
            width: 320px; } }
        .wrapper .inner.text-cols-title .title h2 {
          width: 100%;
          padding: 0;
          color: #eac435;
          font-family: "sofia-pro", sans-serif;
          font-size: 3rem; }
          @media only screen and (min-width: 100px) and (max-width: 670px) {
            .wrapper .inner.text-cols-title .title h2 {
              font-size: 2.4rem; } }
        .wrapper .inner.text-cols-title .title .skewed-bg {
          width: 450px;
          height: 30px;
          fill: rgba(16, 168, 185, 0.9); }
  .wrapper.text-cols {
    position: relative; }
    .wrapper.text-cols .title h2 {
      font-family: "mono45-headline", sans-serif;
      color: #eb6566;
      font-size: 3.8rem;
      text-align: center;
      margin-bottom: 3.8rem; }
    .wrapper.text-cols .inner {
      width: 1040px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.text-cols .inner {
          width: 320px; } }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .wrapper.text-cols .inner {
          width: 960px; } }
      .wrapper.text-cols .inner h3 {
        font-size: 3.5rem; }
      .wrapper.text-cols .inner h4 {
        font-size: 2.8rem; }
      .wrapper.text-cols .inner h3, .wrapper.text-cols .inner h4 {
        font-family: "mono45-headline", sans-serif;
        color: #eb6566;
        margin-bottom: 1.5rem; }
      .wrapper.text-cols .inner p {
        color: #20274d;
        margin-bottom: 3rem; }
        .wrapper.text-cols .inner p a {
          color: #20274d;
          border-bottom: 1px solid #10a8b9; }
        .wrapper.text-cols .inner p.introduction {
          font-weight: bold;
          font-size: 2.8rem;
          line-height: 3.8rem;
          margin-bottom: 3.8rem; }
          @media only screen and (min-width: 100px) and (max-width: 670px) {
            .wrapper.text-cols .inner p.introduction {
              font-size: 2rem;
              line-height: 2.8rem;
              margin-bottom: 2.8rem; } }
        .wrapper.text-cols .inner p.wp-caption-text {
          color: #10a8b9;
          font-size: 2rem;
          text-transform: uppercase;
          font-family: "mono45-headline", sans-serif; }
      .wrapper.text-cols .inner ul li {
        position: relative; }
        .wrapper.text-cols .inner ul li a {
          color: #20274d;
          border-bottom: 1px solid #10a8b9; }
        .wrapper.text-cols .inner ul li:before {
          position: absolute;
          left: -20px;
          top: -2px;
          content: '•';
          color: #10a8b9; }
      .wrapper.text-cols .inner ol {
        list-style: decimal; }
    .wrapper.text-cols.cols-1 {
      padding-bottom: 7.6rem; }
      .wrapper.text-cols.cols-1 .column {
        min-height: 50px;
        font-size: 2rem;
        line-height: 3rem;
        margin-bottom: 3rem;
        color: #20274d; }
        @media only screen and (min-width: 671px) and (max-width: 1180px) {
          .wrapper.text-cols.cols-1 .column {
            width: 460px; } }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          .wrapper.text-cols.cols-1 .column img {
            max-width: 100%;
            height: auto; } }
      .wrapper.text-cols.cols-1 p {
        width: 80%; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          .wrapper.text-cols.cols-1 p {
            width: 320px; } }
    .wrapper.text-cols.cols-2 .inner.columns {
      width: 1040px;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .wrapper.text-cols.cols-2 .inner.columns {
          width: 960px; } }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.text-cols.cols-2 .inner.columns {
          width: 320px; } }
    .wrapper.text-cols.cols-2::after {
      clear: both;
      content: "";
      display: block; }
    .wrapper.text-cols.cols-2 .column {
      width: 508px;
      min-height: 100px;
      font-size: 2rem;
      line-height: 3rem;
      margin-bottom: 3rem;
      color: #20274d; }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .wrapper.text-cols.cols-2 .column {
          width: 460px; } }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.text-cols.cols-2 .column img {
          max-width: 100%;
          height: auto; } }
    .wrapper.text-cols.cols-3 .inner.columns {
      width: 1040px;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .wrapper.text-cols.cols-3 .inner.columns {
          width: 960px; } }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.text-cols.cols-3 .inner.columns {
          width: 320px;
          display: block; } }
    .wrapper.text-cols.cols-3 .column {
      width: calc(33.3333% - 16px);
      min-height: 100px;
      font-size: 2rem;
      line-height: 3rem;
      margin-bottom: 3rem;
      color: #20274d; }
      @media only screen and (min-width: 671px) and (max-width: 1180px) {
        .wrapper.text-cols.cols-3 .column {
          width: 460px; } }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.text-cols.cols-3 .column img {
          max-width: 100%;
          height: auto; } }
      .wrapper.text-cols.cols-3 .column.border {
        border-top: 1px solid black;
        padding-top: 4rem; }
  .wrapper.gallery {
    background-color: rgba(235, 101, 102, 0.4);
    padding: 90px 0 150px 0;
    margin-bottom: 90px; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      .wrapper.gallery {
        padding: 40px 0; } }
    .wrapper.gallery:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      border-right: 100vw solid white;
      border-bottom: 60px solid transparent;
      z-index: 4;
      pointer-events: none; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.gallery:before {
          display: none; } }
    .wrapper.gallery:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      border-right: 100vw solid white;
      border-top: 60px solid transparent;
      z-index: 4;
      pointer-events: none; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.gallery:after {
          display: none; } }
    .wrapper.gallery .inner {
      width: 1040px;
      margin: 0 auto; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        .wrapper.gallery .inner {
          width: 320px; } }
      .wrapper.gallery .inner .gallery-slider {
        height: 712px; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          .wrapper.gallery .inner .gallery-slider {
            height: 320px; } }

.irregular-image {
  clip-path: polygon(5% 5%, 90% 0, 95% 95%, 0 95%); }

.irregular-image-1 {
  clip-path: polygon(5% 0%, 95% 10%, 100% 100%, 0 100%); }

.irregular-image-2 {
  clip-path: polygon(5% 5%, 95% 0, 100% 100%, 0 100%); }

.irregular-image-3 {
  clip-path: polygon(0% 5%, 95% 0, 100% 100%, 0 100%); }

#newsletter-signup .inner {
  width: 616px;
  margin: 40px auto;
  padding-bottom: 80px; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #newsletter-signup .inner {
      width: 320px;
      display: block;
      overflow: hidden; } }
  #newsletter-signup .inner:hover .newsletter-bg {
    transform: rotate(-1deg); }
  #newsletter-signup .inner:hover:before {
    transform: rotate(40deg) scale(1.2) translateX(-10px) translateY(10px); }
  #newsletter-signup .inner:hover:after {
    transform: rotate(130deg) scale(1.2) translateX(-10px) translateY(10px); }
  #newsletter-signup .inner:hover a:before {
    transform: rotate(5deg) scale(1.2) translateX(-10px) translateY(-10px); }
  #newsletter-signup .inner:hover a:after {
    transform: rotate(-40deg) scale(1.2) translateX(10px) translateY(-10px); }
  #newsletter-signup .inner:before {
    content: '';
    width: 80px;
    height: 80px;
    position: absolute;
    top: 30px;
    left: -150px;
    background-image: url("../images/splat-lightBlue.svg");
    background-size: contain;
    transition-duration: 0.2s;
    transform: rotate(45deg); }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #newsletter-signup .inner:before {
        display: none; } }
  #newsletter-signup .inner:after {
    content: '';
    width: 160px;
    height: 160px;
    position: absolute;
    top: 30px;
    right: -250px;
    background-image: url("../images/splat-yellow.svg");
    opacity: 0.9;
    background-size: contain;
    transition-duration: 0.6s;
    transform: rotate(135deg); }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #newsletter-signup .inner:after {
        display: none; } }
    @media only screen and (min-width: 671px) and (max-width: 1180px) {
      #newsletter-signup .inner:after {
        right: -100px; } }
  #newsletter-signup .inner .newsletter-bg {
    position: absolute;
    top: -10px;
    left: -10px;
    width: 626px;
    height: 125px;
    transition-duration: 0.2s; }
    #newsletter-signup .inner .newsletter-bg .newsletter-bg-shape {
      fill: #eac435; }
  #newsletter-signup .inner a {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 616px;
    font-size: 3rem;
    line-height: 3rem;
    height: 3rem;
    padding: 3.5rem 0;
    text-align: center;
    color: #eac435;
    background-color: #20274d;
    text-transform: uppercase;
    font-family: "mono45-headline", sans-serif; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #newsletter-signup .inner a {
        font-size: 2rem;
        width: 320px; } }
    #newsletter-signup .inner a:before {
      content: '';
      width: 130px;
      height: 130px;
      position: absolute;
      top: -65px;
      left: -65px;
      background-image: url("../images/splat-red.svg");
      background-size: contain;
      transition-duration: 0.4s; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #newsletter-signup .inner a:before {
          display: none; } }
    #newsletter-signup .inner a:after {
      content: '';
      width: 110px;
      height: 110px;
      position: absolute;
      bottom: -65px;
      right: -65px;
      background-image: url("../images/splat-teal.svg");
      transform: rotate(-45deg);
      background-size: contain;
      transition-duration: 0.4s; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #newsletter-signup .inner a:after {
          right: 0; } }
    #newsletter-signup .inner a:hover {
      color: white; }

#news-feed {
  min-height: 425px; }
  #news-feed.section {
    padding-top: 150px; }
  #news-feed #pagination {
    width: 1039px;
    margin: 0 auto 4rem auto;
    padding-bottom: 8rem;
    text-align: center;
    font-size: 2rem;
    display: flex;
    justify-content: space-between; }
    #news-feed #pagination a {
      font-family: "sofia-pro", sans-serif;
      font-weight: bold;
      color: #eac435;
      position: relative; }
      #news-feed #pagination a:before {
        position: absolute;
        top: -5px;
        left: -20px;
        width: calc(100% + 40px);
        height: calc(100% + 10px);
        content: '';
        background-color: #20274d;
        z-index: -1;
        transform: rotate(-2deg);
        transition-duration: 0.2s; }
      #news-feed #pagination a:hover:before {
        transform: rotate(-4deg); }
    #news-feed #pagination .nav-next a:before {
      transform: rotate(2deg); }
    #news-feed #pagination .nav-next a:hover:before {
      transform: rotate(4deg); }
  #news-feed .news-tiles {
    width: 1039px;
    padding-bottom: 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #news-feed .news-tiles {
        width: 320px;
        display: block;
        padding-bottom: 0; } }
    @media only screen and (min-width: 671px) and (max-width: 1180px) {
      #news-feed .news-tiles {
        width: 960px; } }
    #news-feed .news-tiles .tile {
      width: 509px;
      position: relative;
      cursor: pointer;
      margin-bottom: 30px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #news-feed .news-tiles .tile {
          width: 320px;
          height: 360px; } }
      #news-feed .news-tiles .tile .article-type {
        position: absolute;
        top: 0;
        left: 210px;
        padding: 0.3rem 1rem;
        background-color: #eac435;
        font-size: 1.4rem;
        line-height: 1.4rem;
        height: 1.4rem;
        text-transform: uppercase;
        font-family: "mono45-headline", sans-serif;
        transition-duration: 0.2s;
        z-index: 999999; }
        #news-feed .news-tiles .tile .article-type.feature {
          background-color: #eeb3b2; }
      #news-feed .news-tiles .tile .image {
        overflow: hidden;
        transition-duration: 0.4s;
        width: 210px;
        height: 210px; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #news-feed .news-tiles .tile .image {
            width: 320px;
            height: 320px;
            margin: 0 auto; } }
        #news-feed .news-tiles .tile .image img {
          transition-duration: 0.2s; }
          @media only screen and (min-width: 100px) and (max-width: 670px) {
            #news-feed .news-tiles .tile .image img {
              width: 300px;
              height: 300px; } }
      #news-feed .news-tiles .tile .excerpt {
        width: 272px;
        height: 150px;
        padding: 10px 20px;
        background-color: rgba(16, 168, 185, 0.9);
        position: absolute;
        top: 20px;
        left: 190px;
        font-size: 1.5rem;
        line-height: 1.7rem;
        color: white;
        transition-duration: 0.2s; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #news-feed .news-tiles .tile .excerpt {
            top: 190px;
            left: 0;
            width: 250px; } }
        #news-feed .news-tiles .tile .excerpt h4 {
          font-size: 2rem;
          font-weight: bold;
          margin-bottom: 1rem; }
        #news-feed .news-tiles .tile .excerpt h5 {
          font-family: "mono45-headline", sans-serif;
          color: #20274d;
          text-transform: uppercase;
          margin-bottom: 0.25rem; }
        #news-feed .news-tiles .tile .excerpt .more {
          margin-top: 0.85rem;
          position: relative;
          width: 55px;
          font-size: 1.4rem; }
          #news-feed .news-tiles .tile .excerpt .more:after {
            content: '';
            width: 6px;
            height: 6px;
            background-color: #20274d;
            border-radius: 50%;
            position: absolute;
            top: 3px;
            right: 16px;
            transition-duration: 0.2s; }
          #news-feed .news-tiles .tile .excerpt .more a {
            display: block;
            width: 55px;
            font-family: "mono45-headline", sans-serif;
            color: #20274d;
            text-transform: uppercase; }
            #news-feed .news-tiles .tile .excerpt .more a:before {
              content: '';
              width: 6px;
              height: 6px;
              background-color: #20274d;
              border-radius: 50%;
              position: absolute;
              top: 3px;
              right: 0px;
              transition-duration: 0.2s; }
            #news-feed .news-tiles .tile .excerpt .more a:after {
              content: '';
              width: 6px;
              height: 6px;
              background-color: #20274d;
              border-radius: 50%;
              position: absolute;
              top: 3px;
              right: 8px;
              transition-duration: 0.2s; }
        #news-feed .news-tiles .tile .excerpt:after {
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          right: -10px;
          border-right: 10px solid transparent;
          border-top: 170px solid rgba(16, 168, 185, 0.9); }
      #news-feed .news-tiles .tile:hover .article-type {
        top: -5px; }
      #news-feed .news-tiles .tile:hover .excerpt {
        top: 15px; }
        #news-feed .news-tiles .tile:hover .excerpt .more:after {
          background-color: white; }
        #news-feed .news-tiles .tile:hover .excerpt .more a {
          color: white; }
          #news-feed .news-tiles .tile:hover .excerpt .more a:before, #news-feed .news-tiles .tile:hover .excerpt .more a:after {
            background-color: white; }
      #news-feed .news-tiles .tile:hover .image img {
        transform: scale(1.1); }

#social-section {
  min-height: 500px;
  background-color: #aae2e7;
  margin-bottom: 150px; }
  #social-section .inner {
    width: 1039px; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #social-section .inner {
        width: 320px; } }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #social-section {
      margin-top: 130px; } }
  #social-section .title {
    top: -70px; }
  #social-section:before {
    content: '';
    display: block;
    position: absolute;
    top: -50px;
    left: 0;
    height: 0;
    width: 0;
    border-left: 100vw solid #aae2e7;
    border-top: 50px solid transparent; }
  #social-section:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -80px;
    left: 0;
    height: 0;
    width: 0;
    border-left: 100vw solid #aae2e7;
    border-bottom: 80px solid transparent; }

.photo-banner {
  position: relative;
  top: -180px;
  margin-bottom: -100px;
  z-index: 1;
  height: 25vw;
  min-height: 250px;
  max-height: 400px;
  background-size: cover;
  background-position: center center; }
  .single-programmes .photo-banner {
    top: -55px;
    max-height: none;
    margin-bottom: 4rem; }
  .photo-banner:after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    height: 30px;
    border-left: 100vw solid white;
    border-top: 45px solid transparent; }

#page-banner {
  height: 80px; }

#page-title {
  min-width: 621px;
  height: 86px;
  position: absolute;
  bottom: 0px;
  left: 50%;
  margin-left: -525px;
  z-index: 999; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #page-title {
      width: 300px;
      min-width: 0;
      margin-left: 0;
      left: 30px; } }
  #page-title h1 {
    position: absolute;
    top: 25px;
    left: 30px;
    z-index: 999;
    font-size: 4rem;
    line-height: 4rem;
    color: #eac435;
    font-weight: bold; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #page-title h1 {
        font-size: 2.4rem;
        line-height: 2.4rem; } }
  #page-title .page-title-shape {
    position: absolute;
    top: 0;
    left: 0;
    fill: #20274d;
    opacity: 0.8; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #page-title .page-title-shape {
        width: 300px !important; } }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #page-title svg {
      width: 320px !important; } }

.section-title {
  width: 401px;
  height: 86px;
  position: absolute;
  top: -40px;
  left: 50%;
  margin-left: -525px;
  z-index: 999; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    .section-title {
      margin-left: -160px;
      width: 320px; } }
  .section-title h3 {
    position: absolute;
    top: 25px;
    left: 30px;
    z-index: 999;
    font-size: 4rem;
    line-height: 4rem;
    color: #eac435;
    font-weight: bold; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      .section-title h3 {
        font-size: 3rem; } }
  .section-title .section-title-shape {
    position: absolute;
    top: 0;
    left: 0;
    fill: #10a8b9;
    opacity: 0.8; }

#event-content .inner {
  width: 1040px;
  font-size: 2rem;
  line-height: 3rem;
  padding-bottom: 10rem;
  color: #20274d; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #event-content .inner {
      font-size: 1.6rem;
      line-height: 2.4rem;
      width: 320px;
      overflow: hidden; } }
  #event-content .inner img {
    max-width: 100%;
    height: auto; }
  #event-content .inner iframe {
    max-width: 100%; }
  #event-content .inner p {
    margin-bottom: 3rem; }
    #event-content .inner p.introduction {
      font-size: 2.8rem; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #event-content .inner p.introduction {
          font-size: 2.2rem; } }
  #event-content .inner#main {
    display: flex; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #event-content .inner#main {
        display: block; } }
    #event-content .inner#main #page-title {
      bottom: auto;
      position: relative;
      left: 0;
      margin: 0 0 75px 0; }
    #event-content .inner#main #content {
      width: 616px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #event-content .inner#main #content {
          width: 320px; } }
      #event-content .inner#main #content h3 {
        font-family: "mono45-headline", sans-serif;
        font-size: 3.2rem;
        text-transform: uppercase;
        color: #eb6566; }
      #event-content .inner#main #content h4 {
        font-size: 2.2rem;
        line-height: 3rem;
        font-weight: bold; }
      #event-content .inner#main #content blockquote {
        padding-left: 20px;
        font-weight: bold; }
        #event-content .inner#main #content blockquote em {
          color: #eb6566;
          font-family: "mono45-headline", sans-serif;
          text-transform: uppercase;
          font-weight: normal; }
      #event-content .inner#main #content a {
        color: #20274d;
        border-bottom: 1px solid #10a8b9; }
        #event-content .inner#main #content a:hover {
          color: #10a8b9; }
    #event-content .inner#main #sidebar {
      width: 298px;
      margin-left: 126px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #event-content .inner#main #sidebar {
          width: 320px;
          display: block;
          margin-left: 0; } }
      #event-content .inner#main #sidebar .block {
        padding-bottom: 30px; }
      #event-content .inner#main #sidebar .thumb {
        margin-bottom: 30px; }
      #event-content .inner#main #sidebar h3 {
        padding-top: 20px;
        border-top: 1px solid #eb6566;
        font-family: "mono45-headline", sans-serif;
        color: #eb6566; }
      #event-content .inner#main #sidebar .booking a {
        display: block;
        width: 110px;
        height: 2.5rem;
        padding: 38px 0 45px 0;
        background-image: url("../images/splat.png");
        background-size: contain;
        background-repeat: no-repeat;
        font-size: 2.35rem;
        line-height: 2.35rem;
        text-align: center;
        color: #20274d;
        text-transform: uppercase;
        font-weight: bold;
        color: #20274d; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #event-content .inner#main #sidebar .booking a {
            font-size: 1.6rem;
            line-height: 2.4rem; } }
        #event-content .inner#main #sidebar .booking a:hover {
          transform: scale(1.06) rotate(1deg); }
      #event-content .inner#main #sidebar li, #event-content .inner#main #sidebar p {
        font-size: 2.4rem;
        line-height: 3.2rem;
        margin-bottom: 1.6rem; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #event-content .inner#main #sidebar li, #event-content .inner#main #sidebar p {
            font-size: 1.6rem;
            line-height: 2.4rem; } }
        #event-content .inner#main #sidebar li em, #event-content .inner#main #sidebar li a, #event-content .inner#main #sidebar p em, #event-content .inner#main #sidebar p a {
          font-size: 2rem; }
        #event-content .inner#main #sidebar li a, #event-content .inner#main #sidebar p a {
          color: #20274d;
          border-bottom: 1px solid #10a8b9; }
          #event-content .inner#main #sidebar li a:hover, #event-content .inner#main #sidebar p a:hover {
            color: #10a8b9; }
      #event-content .inner#main #sidebar .more-details p, #event-content .inner#main #sidebar .more-details li {
        font-size: 2rem;
        line-height: 3rem; }
      #event-content .inner#main #sidebar #venues-list a {
        font-size: 1.6rem; }

#news-content .inner {
  width: 1040px;
  font-size: 2rem;
  line-height: 3rem;
  padding-bottom: 10rem;
  color: #20274d; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #news-content .inner {
      font-size: 1.6rem;
      line-height: 2.4rem;
      width: 320px;
      overflow: hidden; } }
  #news-content .inner img {
    max-width: 100%;
    height: auto; }
  #news-content .inner iframe {
    max-width: 100%; }
  #news-content .inner p {
    margin-bottom: 3rem; }
    #news-content .inner p.introduction {
      font-size: 2.8rem; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #news-content .inner p.introduction {
          font-size: 2.2rem; } }
  #news-content .inner .news-date h5 {
    font-size: 2rem;
    color: #eb6566;
    text-transform: uppercase;
    font-family: "mono45-headline", sans-serif; }
  #news-content .inner#main {
    display: flex; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #news-content .inner#main {
        display: block; } }
    #news-content .inner#main #page-title {
      bottom: auto;
      position: relative;
      left: 0;
      margin: 0 0 75px 0; }
    #news-content .inner#main #content {
      width: 616px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #news-content .inner#main #content {
          width: 320px; } }
      #news-content .inner#main #content h3 {
        font-family: "mono45-headline", sans-serif;
        font-size: 3.2rem;
        text-transform: uppercase;
        color: #eb6566; }
      #news-content .inner#main #content h4 {
        font-size: 2.2rem;
        line-height: 3rem;
        font-weight: bold; }
      #news-content .inner#main #content blockquote {
        padding-left: 20px;
        font-weight: bold; }
        #news-content .inner#main #content blockquote em {
          color: #eb6566;
          font-family: "mono45-headline", sans-serif;
          text-transform: uppercase;
          font-weight: normal; }
      #news-content .inner#main #content a {
        color: #20274d;
        border-bottom: 1px solid #10a8b9; }
        #news-content .inner#main #content a:hover {
          color: #10a8b9; }
    #news-content .inner#main #sidebar {
      width: 298px;
      margin-left: 126px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #news-content .inner#main #sidebar {
          width: 320px;
          display: block;
          margin-left: 0; } }
      #news-content .inner#main #sidebar .block {
        padding-bottom: 30px; }
      #news-content .inner#main #sidebar .thumb {
        margin-bottom: 30px; }
      #news-content .inner#main #sidebar h3 {
        padding-top: 20px;
        border-top: 1px solid #eb6566;
        font-family: "mono45-headline", sans-serif;
        color: #eb6566; }
      #news-content .inner#main #sidebar .booking a {
        display: block;
        width: 110px;
        height: 2.5rem;
        padding: 38px 0 45px 0;
        background-image: url("../images/splat.png");
        background-size: contain;
        background-repeat: no-repeat;
        font-size: 2.35rem;
        line-height: 2.35rem;
        text-align: center;
        color: #20274d;
        text-transform: uppercase;
        font-weight: bold;
        color: #20274d; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #news-content .inner#main #sidebar .booking a {
            font-size: 1.6rem;
            line-height: 2.4rem; } }
        #news-content .inner#main #sidebar .booking a:hover {
          transform: scale(1.06) rotate(1deg); }
      #news-content .inner#main #sidebar li, #news-content .inner#main #sidebar p {
        font-size: 2.4rem;
        line-height: 3.2rem;
        margin-bottom: 1.6rem; }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #news-content .inner#main #sidebar li, #news-content .inner#main #sidebar p {
            font-size: 1.6rem;
            line-height: 2.4rem; } }
        #news-content .inner#main #sidebar li em, #news-content .inner#main #sidebar li a, #news-content .inner#main #sidebar p em, #news-content .inner#main #sidebar p a {
          font-size: 2rem; }
        #news-content .inner#main #sidebar li a, #news-content .inner#main #sidebar p a {
          color: #20274d;
          border-bottom: 1px solid #10a8b9; }
          #news-content .inner#main #sidebar li a:hover, #news-content .inner#main #sidebar p a:hover {
            color: #10a8b9; }
      #news-content .inner#main #sidebar .more-details p, #news-content .inner#main #sidebar .more-details li {
        font-size: 2rem;
        line-height: 3rem; }
      #news-content .inner#main #sidebar #venues-list a {
        font-size: 1.6rem; }

#gallery #gallery-slider, #gallery .gallery-slider, .gallery #gallery-slider, .gallery .gallery-slider {
  width: 1040px;
  height: 712px; }
  @media only screen and (min-width: 100px) and (max-width: 670px) {
    #gallery #gallery-slider, #gallery .gallery-slider, .gallery #gallery-slider, .gallery .gallery-slider {
      width: 320px;
      height: 320px;
      margin: 0 auto;
      overflow: hidden; } }
  #gallery #gallery-slider .slide, #gallery .gallery-slider .slide, .gallery #gallery-slider .slide, .gallery .gallery-slider .slide {
    height: 712px;
    position: relative;
    transition-duration: 0.2s; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #gallery #gallery-slider .slide, #gallery .gallery-slider .slide, .gallery #gallery-slider .slide, .gallery .gallery-slider .slide {
        width: 320px;
        height: 320px; } }
    #gallery #gallery-slider .slide .image, #gallery #gallery-slider .slide .video, #gallery .gallery-slider .slide .image, #gallery .gallery-slider .slide .video, .gallery #gallery-slider .slide .image, .gallery #gallery-slider .slide .video, .gallery .gallery-slider .slide .image, .gallery .gallery-slider .slide .video {
      background-color: #000;
      display: flex;
      justify-content: center;
      /* align horizontal */
      align-items: center;
      /* align vertical */
      width: 1040px;
      height: 682px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #gallery #gallery-slider .slide .image, #gallery #gallery-slider .slide .video, #gallery .gallery-slider .slide .image, #gallery .gallery-slider .slide .video, .gallery #gallery-slider .slide .image, .gallery #gallery-slider .slide .video, .gallery .gallery-slider .slide .image, .gallery .gallery-slider .slide .video {
          width: 320px;
          height: 320px; } }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #gallery #gallery-slider .slide .image iframe, #gallery #gallery-slider .slide .video iframe, #gallery .gallery-slider .slide .image iframe, #gallery .gallery-slider .slide .video iframe, .gallery #gallery-slider .slide .image iframe, .gallery #gallery-slider .slide .video iframe, .gallery .gallery-slider .slide .image iframe, .gallery .gallery-slider .slide .video iframe {
          max-width: 320px;
          height: auto; } }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #gallery #gallery-slider .slide .image img, #gallery #gallery-slider .slide .video img, #gallery .gallery-slider .slide .image img, #gallery .gallery-slider .slide .video img, .gallery #gallery-slider .slide .image img, .gallery #gallery-slider .slide .video img, .gallery .gallery-slider .slide .image img, .gallery .gallery-slider .slide .video img {
          max-width: 320px;
          height: auto; } }
    #gallery #gallery-slider .slide.fade.image, #gallery #gallery-slider .slide.fade.video, #gallery .gallery-slider .slide.fade.image, #gallery .gallery-slider .slide.fade.video, .gallery #gallery-slider .slide.fade.image, .gallery #gallery-slider .slide.fade.video, .gallery .gallery-slider .slide.fade.image, .gallery .gallery-slider .slide.fade.video {
      opacity: 0; }
    #gallery #gallery-slider .slide .caption, #gallery .gallery-slider .slide .caption, .gallery #gallery-slider .slide .caption, .gallery .gallery-slider .slide .caption {
      position: absolute;
      bottom: 0;
      left: 20px;
      background: rgba(32, 39, 77, 0.9);
      color: #eac435;
      padding: 1rem;
      height: 20px;
      width: 500px;
      font-size: 2rem;
      line-height: 2rem;
      font-family: "mono45-headline", sans-serif;
      text-transform: uppercase; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #gallery #gallery-slider .slide .caption, #gallery .gallery-slider .slide .caption, .gallery #gallery-slider .slide .caption, .gallery .gallery-slider .slide .caption {
          width: 200px; } }
      #gallery #gallery-slider .slide .caption:before, #gallery .gallery-slider .slide .caption:before, .gallery #gallery-slider .slide .caption:before, .gallery .gallery-slider .slide .caption:before {
        content: '';
        position: absolute;
        top: 0;
        left: -5px;
        border-left: 5px solid transparent;
        border-bottom: 40px solid rgba(32, 39, 77, 0.9); }
      #gallery #gallery-slider .slide .caption:after, #gallery .gallery-slider .slide .caption:after, .gallery #gallery-slider .slide .caption:after, .gallery .gallery-slider .slide .caption:after {
        content: '';
        position: absolute;
        top: 0;
        right: -5px;
        border-right: 5px solid transparent;
        border-bottom: 40px solid rgba(32, 39, 77, 0.9); }
  #gallery #gallery-slider .slick-arrow, #gallery .gallery-slider .slick-arrow, .gallery #gallery-slider .slick-arrow, .gallery .gallery-slider .slick-arrow {
    position: absolute;
    top: 50%;
    border: none;
    background: #eac435;
    width: 56px;
    height: 56px;
    margin-top: -28px;
    color: rgba(255, 255, 255, 0);
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    transition-duration: 0.25s; }
    #gallery #gallery-slider .slick-arrow:hover, #gallery .gallery-slider .slick-arrow:hover, .gallery #gallery-slider .slick-arrow:hover, .gallery .gallery-slider .slick-arrow:hover {
      background-color: #eac435; }
    #gallery #gallery-slider .slick-arrow:before, #gallery .gallery-slider .slick-arrow:before, .gallery #gallery-slider .slick-arrow:before, .gallery .gallery-slider .slick-arrow:before {
      position: absolute;
      content: '';
      width: 22px;
      height: 22px;
      top: 14px; }
    #gallery #gallery-slider .slick-arrow.slick-prev, #gallery .gallery-slider .slick-arrow.slick-prev, .gallery #gallery-slider .slick-arrow.slick-prev, .gallery .gallery-slider .slick-arrow.slick-prev {
      left: 50%;
      margin-left: -548px;
      z-index: 99999; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #gallery #gallery-slider .slick-arrow.slick-prev, #gallery .gallery-slider .slick-arrow.slick-prev, .gallery #gallery-slider .slick-arrow.slick-prev, .gallery .gallery-slider .slick-arrow.slick-prev {
          margin-left: -160px; } }
      #gallery #gallery-slider .slick-arrow.slick-prev:before, #gallery .gallery-slider .slick-arrow.slick-prev:before, .gallery #gallery-slider .slick-arrow.slick-prev:before, .gallery .gallery-slider .slick-arrow.slick-prev:before {
        border-right: 2px solid #20274d;
        border-top: 2px solid #20274d;
        right: 11px;
        transform: rotate(225deg); }
    #gallery #gallery-slider .slick-arrow.slick-next, #gallery .gallery-slider .slick-arrow.slick-next, .gallery #gallery-slider .slick-arrow.slick-next, .gallery .gallery-slider .slick-arrow.slick-next {
      right: 50%;
      margin-right: -548px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #gallery #gallery-slider .slick-arrow.slick-next, #gallery .gallery-slider .slick-arrow.slick-next, .gallery #gallery-slider .slick-arrow.slick-next, .gallery .gallery-slider .slick-arrow.slick-next {
          margin-right: -160px; } }
      #gallery #gallery-slider .slick-arrow.slick-next:before, #gallery .gallery-slider .slick-arrow.slick-next:before, .gallery #gallery-slider .slick-arrow.slick-next:before, .gallery .gallery-slider .slick-arrow.slick-next:before {
        border-top: 2px solid #20274d;
        border-left: 2px solid #20274d;
        left: 11px;
        transform: rotate(135deg); }

#contact-map {
  width: 100vw;
  height: 444px; }
  #contact-map #map {
    width: 100%;
    height: 100%; }

#footer {
  background-color: #10a8b9;
  color: #20274d;
  font-size: 1.4rem;
  line-height: 1.7rem;
  box-shadow: 0 50vh 0 50vh #10a8b9; }
  #footer::after {
    clear: both;
    content: "";
    display: block; }
  #footer #supporters {
    width: 425px;
    height: 180px;
    position: relative; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #footer #supporters {
        width: 320px; } }
    #footer #supporters #supportershape {
      fill: white;
      position: absolute;
      top: 20px;
      left: 0;
      z-index: 1; }
    #footer #supporters #supporter-logos {
      position: relative;
      top: 40px;
      left: 30px;
      z-index: 999999999;
      width: 360px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #footer #supporters #supporter-logos {
          width: 320px;
          top: 10px;
          left: 0; } }
      #footer #supporters #supporter-logos .logo {
        height: 120px;
        margin: 0 20px;
        position: relative; }
        #footer #supporters #supporter-logos .logo img {
          max-width: 140px;
          height: auto;
          position: relative;
          margin: 0 auto;
          top: 50%;
          transform: translateY(-50%); }
          @media only screen and (min-width: 100px) and (max-width: 670px) {
            #footer #supporters #supporter-logos .logo img {
              max-width: 120px; } }
  #footer a {
    color: #20274d; }
    #footer a:hover {
      color: white; }
  #footer .inner {
    width: 1060px;
    padding: 60px 0 40px 0; }
    @media only screen and (min-width: 100px) and (max-width: 670px) {
      #footer .inner {
        width: 320px; } }
    #footer .inner h4 {
      font-size: 1.6rem;
      text-transform: uppercase;
      color: #eac435;
      font-family: "mono45-headline", sans-serif;
      font-weight: bold; }
    #footer .inner p {
      margin-bottom: 1.7rem; }
    #footer .inner .columns {
      display: flex;
      padding-bottom: 40px; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #footer .inner .columns {
          display: block; } }
      #footer .inner .columns .column {
        width: 210px; }
        #footer .inner .columns .column.supported {
          width: 420px; }
          @media only screen and (min-width: 100px) and (max-width: 670px) {
            #footer .inner .columns .column.supported {
              width: 320px; } }
        @media only screen and (min-width: 100px) and (max-width: 670px) {
          #footer .inner .columns .column {
            width: 320px; } }
    #footer .inner .copyright {
      width: 630px;
      float: left; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #footer .inner .copyright {
          float: none;
          width: 320px; } }
    #footer .inner .attribute {
      width: 420px;
      float: right; }
      @media only screen and (min-width: 100px) and (max-width: 670px) {
        #footer .inner .attribute {
          float: none;
          width: 320px; } }
