@charset "UTF-8";

body {
    font-weight: 400;
    font-size: 16px
}

body,
h1,
h2,
h3,
h4,
h5 {
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif
}

h1,
h2,
h3,
h4,
h5 {
    color: #383f44
}

h1 {
    font-size: 1.25em;
    font-weight: 800;
    text-transform: uppercase
}

h1 a {
    font-weight: 400
}

h2 {
    font-size: 1.125em
}

h3 {
    font-size: 13px;
    text-transform: uppercase
}

.article-content li,
dl,
p {
    font-size: .875rem;
    line-height: 1.5rem;
    color: #383f44
}

hr {
    border: 0;
    height: 0;
    border-bottom: 1px solid #ddd
}

a {
    font-weight: 700;
    text-decoration: underline;
    color: #148471
}

article.event .calendar-icon {
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700;
    font-style: normal
}

.icon {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 100%;
    display: inline-block
}

.arrow-icon {
    background-image: url(../png/arrow-right-icon.png);
    background-image: url(../svg/arrow-right-icon.svg), linear-gradient(transparent, transparent);
    width: 7px;
    height: 9px;
    position: relative;
    margin-left: 4px
}

.search-icon {
    background-image: url(../png/search-icon-2.png);
    background-image: url(../svg/search-icon-2.svg), linear-gradient(transparent, transparent)
}

.mobile-nav-icon {
    background-image: url(../png/menu-icon.png);
    background-image: url(../svg/menu-icon.svg), linear-gradient(transparent, transparent)
}

.ext-source-icon {
    background-image: url(../png/ext-source-icon.png);
    background-image: url(../svg/ext-source-icon.svg), linear-gradient(transparent, transparent)
}

.mail-icon {
    background-image: url(../png/mail-icon.png);
    background-image: url(../svg/mail-icon.svg), linear-gradient(transparent, transparent)
}

.twitter-icon {
    background-image: url(../png/twitter-icon.png);
    background-image: url(../svg/twitter-icon.svg), linear-gradient(transparent, transparent)
}

.twitter-icon-black {
    background-image: url(../twitter-black.html);
    background-image: url(../svg/twitter-black.svg), linear-gradient(transparent, transparent)
}

.facebook-icon-black {
    background-image: url(../png/facebook.png);
    background-image: url(../svg/facebook.svg), linear-gradient(transparent, transparent);
    background-image: url(../facebook-black.html);
    background-image: url(../svg/facebook-black.svg), linear-gradient(transparent, transparent)
}

.down-icon-grey {
    background-image: url(../png/arrow-down-icon.png);
    background-image: url(../svg/arrow-down-icon.svg), linear-gradient(transparent, transparent)
}

.up-icon-grey {
    background-image: url(../png/arrow-up-icon.png);
    background-image: url(../svg/arrow-up-icon.svg), linear-gradient(transparent, transparent)
}

.down-icon-white {
    background-image: url(../png/arrow-down-icon-white.png);
    background-image: url(../svg/arrow-down-icon-white.svg), linear-gradient(transparent, transparent)
}

.up-icon-white {
    background-image: url(../png/arrow-up-icon-white.png);
    background-image: url(../svg/arrow-up-icon-white.svg), linear-gradient(transparent, transparent)
}

.down-icon-black {
    background-image: url(../arrow-down-icon-black.html);
    background-image: url(../svg/arrow-down-icon-black.svg), linear-gradient(transparent, transparent)
}

.up-icon-black {
    background-image: url(../arrow-up-icon-black.html);
    background-image: url(../arrow-up-icon-black-2.html), linear-gradient(transparent, transparent)
}

.close-icon {
    background-image: url(../png/close-icon.png);
    background-image: url(../svg/close-icon.svg), linear-gradient(transparent, transparent)
}

.play-icon {
    background-image: url(../png/play-icon.png);
    background-image: url(../svg/play-icon.svg), linear-gradient(transparent, transparent)
}

.location-icon {
    background-image: url(../png/location-icon.png);
    background-image: url(../svg/location-icon.svg), linear-gradient(transparent, transparent)
}

.house-icon {
    background-image: url(../house.html);
    background-image: url(../svg/house.svg), linear-gradient(transparent, transparent)
}

.page-icon {
    background-image: url(../page.html);
    background-image: url(../svg/page.svg), linear-gradient(transparent, transparent)
}

.calendar-icon {
    background-image: url(../png/blank-calendar.png);
    background-image: url(../svg/blank-calendar.svg), linear-gradient(transparent, transparent)
}

.recurring-event-icon {
    background-image: url(../png/recurring_event.png);
    background-image: url(../svg/recurring_event.svg), linear-gradient(transparent, transparent)
}

#loaderIcon {
    background: rgba(0, 0, 0, .45);
    display: none;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 550
}

#loaderIcon .icon {
    background-size: 6rem;
    display: block;
    height: 6rem;
    left: calc(50% - 3rem);
    position: absolute;
    top: calc(50% - 3rem);
    width: 6rem
}

.loader-icon {
    background-image: url(../png/dublin.ie-logo-2.png);
    background-image: url(../svg/dublin.ie-logo.svg), linear-gradient(transparent, transparent);
    -webkit-animation: icon-pulse 1s infinite;
    animation: icon-pulse 1s infinite
}

@-webkit-keyframes icon-pulse {
    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.1)
    }

    to {
        transform: scale(1)
    }
}

@keyframes icon-pulse {
    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.1)
    }

    to {
        transform: scale(1)
    }
}

.button,
.cta,
.load-more {
    width: auto;
    max-width: 320px;
    margin: 1em auto;
    padding: .5em;
    display: block;
    clear: both;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase
}

.load-more {
    color: #fff;
    border: 2px solid #fff
}

.cta {
    background-color: #c1872f;
    border: 0;
    color: #fff;
    font-weight: 700
}

.header-gradient {
    position: absolute;
    top: 0;
    left: 0;
    height: 12.5em;
    display: block;
    background-color: transparent;
    background-image: linear-gradient(rgba(0, 0, 0, .7), hsla(0, 0%, 88.2%, 0));
    z-index: 400;
    width: 100%
}

.main-header {
    max-width: 73.75em;
    width: 100%;
    margin: 0 auto;
    z-index: 600;
    position: relative;
    background-color: #000e13
}

.main-header:after {
    clear: both;
    content: "";
    display: table
}

.main-header.homepage {
    background-color: transparent
}

@media (min-width:481px) {
    .main-header {
        height: 6em
    }
}

@media (min-width:900px) {
    .main-header {
        width: 100%;
        max-width: 100%;
        position: fixed;
        height: 6.875em;
        top: 0;
        left: 0;
        transition: all .3s ease-in
    }

    .main-header.bg-banner-img {
        background-color: #000e13
    }
}

.main-header .header-content {
    margin: 0 auto;
    max-width: 73.75em;
    width: 100%;
    position: relative;
    height: 5em;
    display: flex;
    justify-content: stretch;
    align-items: center;
    transition: all .3s ease-in
}

@media (min-width:481px) {
    .main-header .header-content {
        height: 6em
    }
}

@media (min-width:900px) {
    .main-header .header-content {
        height: 6.8125em
    }
}

.main-header ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.main-header .logo {
    height: 80px;
    width: 80px;
    z-index: 601;
    top: 5px;
    left: calc(50% - 40px);
    position: fixed;
    background-color: #000e13;
    transition: all .3s ease-in
}

@media (min-width:481px) {
    .main-header .logo {
        position: relative;
        top: auto;
        left: auto;
        height: 96px;
        width: 96px;
        transition: all .3s ease-in
    }
}

@media (min-width:900px) {
    .main-header .logo {
        background-color: transparent
    }
}

.main-header .search-bar {
    position: relative;
    clear: both;
    z-index: 600;
    width: 100%
}

@media (min-width:481px) {
    .main-header .search-bar {
        height: 6em
    }
}

@media (min-width:900px) {
    .main-header .search-bar {
        width: calc(100% - 690px);
        margin-left: auto;
        border: 0;
        transition: all .3s ease-in;
        height: 3em
    }
}

@media (min-width:1050px) {
    .main-header .search-bar {
        width: calc(100% - 825px)
    }
}

.main-header .search-bar label {
    display: none
}

.main-header .search-bar .search-icon {
    position: absolute;
    background-color: #000e13;
    left: 0;
    height: 6em;
    width: 48px;
    background-size: 55%;
    transition: all .3s ease-in
}

@media (min-width:900px) {
    .main-header .search-bar .search-icon {
        right: 0;
        left: auto;
        height: 3em;
        border-left: 1px solid hsla(0, 0%, 88.2%, .2)
    }
}

.main-header .search-bar .mobile-nav-icon {
    position: absolute;
    right: 0;
    top: 0;
    height: 6em;
    width: 48px;
    background-size: 60%;
    background-color: #000e13;
    cursor: pointer;
    transition: all .3s ease-in
}

@media (min-width:900px) {
    .main-header .search-bar .mobile-nav-icon {
        display: none
    }
}

.main-header .search-bar .close-icon {
    display: none
}

.main-header .search-bar.search-focus {
    position: static;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, .95)
}

@media (min-width:900px) {
    .main-header .search-bar.search-focus {
        width: calc(100% - 690px);
        position: absolute;
        top: 44px;
        right: 18px;
        left: auto;
        bottom: auto;
        border: 0;
        transition: all .3s ease-in
    }
}

.main-header .search-bar.search-focus .mobile-nav-icon,
.main-header .search-bar.search-focus .search-icon {
    display: none
}

.main-header .search-bar.search-focus .close-icon {
    width: 50px;
    height: 50px;
    background-size: 50%;
    position: absolute;
    top: 0;
    right: 0;
    display: block
}

.main-header .search-bar ul {
    display: none
}

.main-header .search-bar li a {
    display: block;
    width: 100%;
    padding: .8em 1em;
    border-bottom: 1px solid hsla(0, 0%, 88.2%, .2);
    color: #fff;
    text-decoration: none
}

.main-header .search-bar li a:hover {
    background-color: rgba(68, 166, 242, .9)
}

.main-header.homepage input[type=text] {
    background-color: rgba(0, 0, 0, .3)
}

@media (max-width:900px) {
    .main-header.homepage input[type=text] {
        background-color: #000e13
    }
}

.main-header input[type=text] {
    width: calc(100% - 48px);
    margin-left: 48px;
    border-radius: 0;
    height: 6em;
    background-color: #000e13;
    border: 0;
    color: #fff;
    text-indent: .8em;
    transition: all .3s ease-in
}

.main-header input[type=text]:focus {
    margin-left: 0;
    text-indent: 54px;
    background-color: #fff;
    z-index: 602;
    color: #000e13;
    width: 100%
}

@media (min-width:900px) {
    .main-header input[type=text]:focus {
        text-indent: 10px
    }
}

@media (min-width:900px) {
    .main-header input[type=text] {
        height: 3em;
        background-color: hsla(0, 0%, 100%, .3);
        margin-left: 0
    }

    .main-header input[type=text]:focus {
        background: #000e13;
        color: #fff
    }
}

.main-header .search-results {
    position: fixed;
    top: 3em;
    width: 100%;
    z-index: 600
}

.main-header .primary-nav {
    width: calc(100% - 96px);
    display: none;
    z-index: 602;
    text-transform: uppercase;
    font-weight: 600;
    position: relative;
    transition: all .3s ease-in;
    white-space: nowrap;
    width: 34.25em;
    height: auto;
    font-size: 1em;
    background-color: transparent
}

@media (min-width:900px) {
    .main-header .primary-nav {
        display: inline-block
    }
}

@media (min-width:1050px) {
    .main-header .primary-nav {
        font-size: 1.125em;
        margin-left: 2em
    }
}

.main-header .primary-nav ul {
    width: 100%
}

.main-header .primary-nav li {
    width: 33.33%;
    float: left;
    height: 3em;
    line-height: 3em;
    padding: 0;
    border-left: 1px solid #383f44;
    background-color: transparent;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    display: none;
    overflow: hidden;
    background: #000e13
}

@media (min-width:481px) {
    .main-header .primary-nav li {
        width: 16.66%;
        border-bottom: 1px solid #fff
    }
}

@media (min-width:900px) {
    .main-header .primary-nav li {
        border: 0;
        background: 0 0;
        width: 16%
    }
}

@media (min-width:900px) {
    .main-header .primary-nav li.wideNavItem {
        width: 25%
    }
}

.main-header .primary-nav li:hover {
    background-color: rgba(0, 0, 0, .8)
}

.main-header .primary-nav li .open-desktop {
    background-color: rgba(68, 166, 242, .9)
}

.main-header .primary-nav li:first-child,
.main-header .primary-nav li:nth-child(2) {
    border-bottom: 1px solid #383f44
}

@media (min-width:900px) {

    .main-header .primary-nav li:first-child,
    .main-header .primary-nav li:nth-child(2) {
        border: 0
    }
}

@media (min-width:900px) {
    .main-header .primary-nav li:hover .sub-menu-holder {
        display: block
    }
}

.main-header .primary-nav a {
    display: block;
    color: #fff;
    text-decoration: none;
    width: 100%;
    text-align: center;
    font-size: .625em
}

@media (min-width:481px) {
    .main-header .primary-nav a {
        font-size: 100%
    }
}

@media (min-width:900px) {
    .main-header .primary-nav a {
        font-weight: 600
    }
}

.main-header .primary-nav a.active {
    background-color: rgba(68, 166, 242, .9)
}

@media (min-width:900px) {
    .main-header .primary-nav a.active {
        background-color: transparent;
        color: #0e78c8;
        font-weight: 600
    }

    .main-header .primary-nav a.active:hover {
        color: #fff;
        background-color: rgba(68, 166, 242, .9)
    }
}

@media (min-width:900px) {
    .main-header .primary-nav a:hover {
        background-color: hsla(0, 0%, 100%, .1)
    }
}

.main-header .primary-nav li>ul:hover.sub-menu-holder {
    display: block
}

.main-header .primary-nav .sub-menu {
    position: relative;
    height: auto;
    background-color: #000;
    transition: all .2s ease-in;
    padding-left: 0;
    padding-bottom: 0;
    width: 50%;
    float: left
}

.main-header .primary-nav .sub-menu a,
.main-header .primary-nav .sub-menu li {
    position: static;
    display: block;
    width: auto;
    text-align: left;
    line-height: 1.725em;
    float: none;
    height: auto;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600;
    color: #fff
}

@media (min-width:900px) {

    .main-header .primary-nav .sub-menu a,
    .main-header .primary-nav .sub-menu li {
        line-height: 1.125em
    }
}

.main-header .primary-nav .sub-menu a .sub-menu-sub,
.main-header .primary-nav .sub-menu li .sub-menu-sub {
    position: absolute;
    height: auto;
    background-color: #000e13;
    transition: all .2s ease-in;
    padding-left: 0;
    padding-bottom: 0;
    top: 0;
    left: 100%;
    display: none;
    margin-left: -1px
}

.main-header .primary-nav .sub-menu a .sub-menu-sub a,
.main-header .primary-nav .sub-menu a .sub-menu-sub li,
.main-header .primary-nav .sub-menu li .sub-menu-sub a,
.main-header .primary-nav .sub-menu li .sub-menu-sub li {
    position: static;
    display: block;
    background-color: #000;
    color: #fff;
    border-right: 0;
    font-weight: 600
}

.main-header .primary-nav .sub-menu a .sub-menu-sub a:hover,
.main-header .primary-nav .sub-menu a .sub-menu-sub li:hover,
.main-header .primary-nav .sub-menu li .sub-menu-sub a:hover,
.main-header .primary-nav .sub-menu li .sub-menu-sub li:hover {
    background-color: #1a1a1a
}

.main-header .primary-nav .sub-menu a:hover .sub-menu-sub,
.main-header .primary-nav .sub-menu li:hover .sub-menu-sub {
    display: block
}

.main-header .primary-nav .sub-menu a.hasChildren:before,
.main-header .primary-nav .sub-menu li.hasChildren:before {
    content: " ";
    float: right;
    background-image: url(../svg/arrow-right-icon-white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 21px;
    margin-top: 15px;
    margin-right: 10px
}

.main-header .primary-nav .sub-menu a {
    padding: .9em 1em;
    border-top: 1px solid hsla(0, 0%, 88.2%, .2);
    border-right: 1px solid hsla(0, 0%, 88.2%, .2);
    border-left: 1px solid hsla(0, 0%, 88.2%, .2)
}

@media (min-width:900px) {
    .main-header .primary-nav .sub-menu a {
        font-size: 16px
    }
}

.main-header .primary-nav .sub-menu li:last-child>a {
    border-bottom: 1px solid hsla(0, 0%, 88.2%, .2)
}

.main-header .primary-nav .sub-menu-holder {
    display: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 48px;
    min-height: 32.8125rem;
    background-color: #000e13
}

@media (min-width:1180px) {
    .main-header .primary-nav .sub-menu-holder {
        width: 1180px;
        left: -127px
    }
}

.main-header .primary-nav .sub-menu-holder .menu-items {
    width: 100%;
    float: left
}

@media (min-width:1050px) {
    .main-header .primary-nav .sub-menu-holder .menu-items {
        width: 66.6%
    }
}

.main-header .primary-nav .sub-menu-holder h4 {
    text-transform: uppercase;
    color: #fff;
    margin: 10px;
    line-height: 26px;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700
}

.main-header .primary-nav .sub-menu-holder .menu-features {
    width: 33.3%;
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
    padding: 0 5px 5px;
    display: none;
    border-left: 1px solid hsla(0, 0%, 88.2%, .2)
}

@media (min-width:1050px) {
    .main-header .primary-nav .sub-menu-holder .menu-features {
        display: block
    }
}

.main-header .primary-nav .sub-menu-holder .menu-features .cards {
    background: 0 0;
    padding: 0 10px 0 4px;
    white-space: normal;
    line-height: 1em
}

.main-header .primary-nav .sub-menu-holder .menu-features .cards article {
    width: 100%;
    float: none;
    font-size: 1rem;
    font-weight: 400;
    text-transform: none;
    margin: 0 5px 20px
}

.main-header .primary-nav .sub-menu-holder .menu-features .cards article a {
    text-align: left
}

.main-header .primary-nav .sub-menu-holder .menu-features .cards article a.read-more {
    text-transform: uppercase;
    font-size: .8125em;
    font-weight: 700;
    line-height: 1.3rem
}

.main-header .primary-nav .sub-menu-holder .menu-features .cards article h3 {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
    display: none
}

.main-header .primary-nav .sub-menu-holder .menu-features .cards article h2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.main-header .primary-nav .sub-menu-holder .menu-features .cards article h2 a {
    font-size: 1.0625em;
    line-height: 1.25em;
    font-weight: 700
}

.main-header .primary-navigation-mobile {
    display: none;
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .89);
    z-index: 605;
    overflow: scroll;
    padding-top: 3em;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif
}

.main-header .primary-navigation-mobile.open-mobile {
    display: block
}

.main-header .primary-navigation-mobile h2 {
    position: absolute;
    top: 0;
    left: 0;
    color: hsla(0, 0%, 100%, .7);
    font-weight: 600;
    width: 100%;
    text-align: center
}

.main-header .primary-navigation-mobile .close-icon {
    width: 50px;
    height: 50px;
    background-size: 50%;
    position: absolute;
    top: 0;
    right: 0;
    padding: 12px
}

@media (min-width:900px) {
    .main-header .primary-navigation-mobile .close-icon {
        display: none
    }
}

.main-header .primary-navigation-mobile a {
    text-decoration: none
}

.main-header .primary-navigation-mobile>ul,
.main-header .primary-navigation-mobile>ul li {
    width: 100%;
    margin-bottom: 1px;
    position: relative
}

.main-header .primary-navigation-mobile>ul li {
    background-color: #383f44
}

.main-header .primary-navigation-mobile>ul a {
    color: #fff;
    font-size: 1.125em;
    position: relative;
    width: 100%;
    display: block;
    padding: .3em 0 .32em 1em;
    margin-bottom: 1px;
    transition: all .2s ease-in
}

.main-header .primary-navigation-mobile .sub-menu {
    overflow: hidden;
    background-color: hsla(0, 0%, 100%, .6);
    width: 100%;
    max-height: 0
}

.main-header .primary-navigation-mobile .sub-menu.open {
    z-index: 600;
    transition: right .2s ease-in;
    max-height: 800px;
    height: auto;
    padding: 0
}

.main-header .primary-navigation-mobile .sub-menu li {
    width: 100%;
    background-color: #000e13;
    margin-top: 1px
}

.main-header .primary-navigation-mobile .sub-menu li:last-child {
    margin-bottom: 0
}

.main-header .primary-navigation-mobile .sub-menu li:not(.menu-item-has-children) i {
    display: none
}

.main-header .primary-navigation-mobile .sub-menu a {
    color: #fff;
    font-weight: 600;
    font-size: 1em;
    width: 100%;
    font-style: normal;
    background: 0 0;
    transition: all .2s ease-in;
    display: block;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    line-height: 1.125em;
    margin: 0;
    text-transform: uppercase;
    padding: .875em 1em
}

@media (min-width:481px) {
    .main-header .primary-navigation-mobile .sub-menu a {
        font-size: 1.0625em
    }
}

@media (min-width:900px) {
    .main-header .primary-navigation-mobile .sub-menu a {
        transition: all .1s ease-in;
        border-bottom: 1px solid hsla(0, 0%, 88.2%, .2)
    }

    .main-header .primary-navigation-mobile .sub-menu a:hover {
        background: hsla(0, 0%, 88.2%, .3)
    }
}

.main-header .primary-navigation-mobile .sub-menu .down-icon-white,
.main-header .primary-navigation-mobile .sub-menu .up-icon-white {
    border-left: 1px solid #fff
}

.main-header .primary-navigation-mobile .sub-menu-sub {
    overflow: hidden;
    background-color: #000e13;
    width: 100%;
    max-height: 0
}

.main-header .primary-navigation-mobile .sub-menu-sub.open {
    z-index: 600;
    transition: right .2s ease-in;
    max-height: 800px;
    height: auto;
    padding: 0
}

.main-header .primary-navigation-mobile .sub-menu-sub li {
    width: 100%;
    background-color: #fff;
    min-height: 48px;
    margin-bottom: 1px
}

.main-header .primary-navigation-mobile .sub-menu-sub li:last-child {
    margin-bottom: 0
}

.main-header .primary-navigation-mobile .sub-menu-sub a {
    color: #000e13;
    font-weight: 600;
    font-size: 1em;
    width: 100%;
    font-style: normal;
    background: 0 0;
    transition: all .2s ease-in;
    display: block;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    line-height: 1.125em;
    margin: 0;
    text-transform: uppercase;
    padding: .9375em 1em
}

@media (min-width:481px) {
    .main-header .primary-navigation-mobile .sub-menu-sub a {
        font-size: 1.0625em
    }
}

@media (min-width:900px) {
    .main-header .primary-navigation-mobile .sub-menu-sub a {
        transition: all .1s ease-in;
        border-bottom: 1px solid hsla(0, 0%, 88.2%, .2)
    }

    .main-header .primary-navigation-mobile .sub-menu-sub a:hover {
        background: hsla(0, 0%, 88.2%, .3)
    }
}

.main-header .primary-navigation-mobile ul {
    line-height: 36px
}

.main-header .primary-navigation-mobile ul a {
    color: #fff;
    text-transform: uppercase
}

.main-header .primary-navigation-mobile .down-icon-white,
.main-header .primary-navigation-mobile .up-icon-white {
    width: 48px;
    height: 48px;
    position: absolute;
    background-size: 40%;
    right: 0;
    top: 0;
    border-left: 1px solid #000;
    padding: 12px 11px 8px;
    background-color: transparent
}

@media (min-width:900px) {

    .main-header .primary-navigation-mobile .down-icon-white,
    .main-header .primary-navigation-mobile .up-icon-white {
        display: none
    }
}

.main-header .breadcrumbs {
    background-color: #000e13;
    width: 100%;
    padding: 15px 10px 5px;
    transition: all .3s ease-in;
    overflow: hidden;
    border-top: 1px solid #383f44
}

@media (min-width:481px) {
    .main-header .breadcrumbs {
        position: static;
        padding: 10px
    }
}

@media (min-width:900px) {
    .main-header .breadcrumbs {
        margin: 0 auto
    }
}

.main-header .breadcrumbs nav {
    margin: 0 auto;
    max-width: 73.75em;
    padding-left: .375em
}

@media (min-width:1180px) {
    .main-header .breadcrumbs nav {
        padding-left: 1em
    }
}

.main-header .breadcrumbs a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    padding: 5px 15px 0 0;
    font-weight: 400;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    font-size: .9375em
}

@media (min-width:900px) {
    .main-header .breadcrumbs a {
        font-size: 1em
    }
}

.main-header .breadcrumbs a:after {
    content: " ";
    display: inline-block;
    background-image: url(../svg/arrow-right-icon-white.svg);
    width: 9px;
    height: 12px;
    position: relative;
    left: 8px;
    bottom: 0;
    background-size: 90%;
    background-position: 50%;
    background-repeat: no-repeat
}

.main-header .breadcrumbs a.last_item:after {
    display: none
}

.main-header .breadcrumbs a:hover {
    text-decoration: underline
}

.main-header .breadcrumbs a span[property=name] {
    font-size: 1em
}

.main-header .breadcrumbs span[property=name] {
    color: #fff;
    font-weight: 400;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    text-transform: uppercase
}

.main-header .breadcrumbs nav>span:last-child {
    display: none
}

.main-header.compact {
    background: #000e13;
    margin-bottom: 6em;
    height: 3em
}

.main-header.compact .primary-nav {
    top: 0;
    font-size: 1em
}

.main-header.compact .primary-nav .sub-menu a {
    line-height: 1.025em
}

.main-header.compact .primary-nav .sub-menu-holder {
    top: 45px;
    left: -81px
}

.main-header.compact .logo {
    width: 3em;
    height: 3em;
    position: fixed;
    top: 0;
    left: calc(50% - 24px);
    background: #000e13
}

@media (min-width:900px) {
    .main-header.compact .logo {
        position: relative;
        background: 0 0;
        left: 0;
        float: left
    }
}

@media (min-width:900px) {
    .main-header.compact .header-content {
        height: auto
    }
}

.main-header.compact .search-icon {
    height: 3em
}

.main-header.compact .search-bar {
    position: fixed;
    top: 0;
    width: 100%;
    border-top: 0
}

@media (min-width:481px) {
    .main-header.compact .search-bar {
        bottom: auto;
        right: 0;
        left: auto
    }
}

@media (min-width:900px) {
    .main-header.compact .search-bar {
        position: absolute;
        width: calc(100% - 675px);
        top: 0;
        right: 0;
        left: auto
    }

    .main-header.compact .search-bar input {
        background-color: hsla(0, 0%, 88.2%, .4)
    }
}

.main-header.compact .search-bar.search-focus {
    margin-left: 0
}

.main-header.compact .search-bar input[type=text] {
    height: 3em
}

.main-header.compact .mobile-nav-icon {
    position: fixed;
    top: 0;
    right: 0;
    height: 3em
}

@media (min-width:900px) {
    .main-header.compact .breadcrumbs {
        display: none
    }
}

@media (min-width:900px) {
    .main-header.compact .primary-navigation-mobile {
        left: 3em
    }
}

.main-header.homepage.compact {
    margin-bottom: 3em
}

.main-header.search_focus .logo {
    opacity: 0
}

@media (min-width:900px) {
    .main-header.search_focus .logo {
        opacity: 1
    }
}

.main-header.search_focus .search-icon {
    background-color: #fff
}

@media (min-width:900px) {
    .main-header.search_focus .search-icon {
        background-color: #000e13
    }
}

@media (max-width:481px) {

    .category .main-header,
    .page-id-1079 .main-header,
    .page-id-12 .main-header,
    .page-id-41069 .main-header,
    .page-id-47460 .main-header,
    .page-id-47463 .main-header,
    .page-id-58126 .main-header,
    .page-template-template-landing-page .main-header,
    .single-whats-on .main-header {
        height: 6em
    }
}

.single-work_story .current-menu-item,
.single-work_story .current-page-ancestor,
.work .current-menu-item,
.work .current-page-ancestor {
    color: #c1872f
}

.single-work_story .current-menu-item>a,
.single-work_story .current-page-ancestor>a,
.work .current-menu-item>a,
.work .current-page-ancestor>a {
    color: #c1872f !important
}

.live .current-menu-item,
.live .current-page-ancestor,
.single-live_story .current-menu-item,
.single-live_story .current-page-ancestor {
    color: #0e78c8
}

.live .current-menu-item>a,
.live .current-page-ancestor>a,
.single-live_story .current-menu-item>a,
.single-live_story .current-page-ancestor>a {
    color: #0e78c8 !important
}

.single-study_story .current-menu-item,
.single-study_story .current-page-ancestor,
.study .current-menu-item,
.study .current-page-ancestor {
    color: #ed2691
}

.single-study_story .current-menu-item>a,
.single-study_story .current-page-ancestor>a,
.study .current-menu-item>a,
.study .current-page-ancestor>a {
    color: #ed2691 !important
}

.whats-on .current-menu-item,
.whats-on .current-page-ancestor {
    color: #8c65d4
}

.whats-on .current-menu-item>a,
.whats-on .current-page-ancestor>a {
    color: #8c65d4 !important
}

.invest .current-menu-item,
.invest .current-page-ancestor,
.single-invest_story .current-menu-item,
.single-invest_story .current-page-ancestor {
    color: #4da44f
}

.invest .current-menu-item>a,
.invest .current-page-ancestor>a,
.single-invest_story .current-menu-item>a,
.single-invest_story .current-page-ancestor>a {
    color: #4da44f !important
}

.single-whats-on .primary-nav .menu-item:last-child a {
    color: #8c65d4
}

.single-whats-on .primary-nav .menu-item .sub-menu a {
    color: #fff
}

.search_focus .search-icon {
    background-image: url(../png/search-icon-2.png);
    background-image: url(../svg/search-icon-black.svg), linear-gradient(transparent, transparent)
}

@media (min-width:900px) {
    .search_focus .search-icon {
        background-image: url(../png/search-icon-2.png);
        background-image: url(../svg/search-icon-2.svg), linear-gradient(transparent, transparent)
    }
}

.page-header.pixel-overlay {
    background-image: url(../png/overlay-pixel.png);
    background-repeat: repeat
}

.header-video {
    margin: 0 auto;
    max-width: 73.75em;
    width: 100%;
    position: relative
}

.header-video .header-video-placeholder {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    overflow: hidden;
    text-align: center;
    background-size: cover;
    background-position: 50%
}

.header-video .header-video-placeholder:before {
    content: "";
    width: 100%;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 201;
    background-image: url(../png/overlay-pixel.png);
    background-repeat: repeat
}

.header-video .header-video-placeholder figcaption {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.header-video .header-video-placeholder figcaption h1 {
    font-size: 1em;
    padding: 0 2%;
    font-weight: 700;
    color: #fff
}

@media (min-width:900px) {
    .header-video .header-video-placeholder figcaption h1 {
        font-size: 2.125em;
        padding: 0 5%
    }
}

.header-video .header-video-placeholder figcaption .play-icon {
    width: 50px;
    height: 50px
}

@media (min-width:900px) {
    .header-video .header-video-placeholder figcaption .play-icon {
        width: 70px;
        height: 70px
    }
}

.media-banner {
    width: 100%;
    padding: 0;
    background: linear-gradient(180deg, #000, #383f44)
}

.banner-container {
    position: relative;
    height: 328px;
    padding: 0;
    max-width: 100em;
    margin: 0 auto
}

.banner-container:after {
    clear: both;
    content: "";
    display: table
}

@media (min-width:481px) {
    .banner-container {
        margin-top: 50px
    }
}

@media (min-width:900px) {
    .banner-container {
        margin-top: 0;
        height: 575px
    }
}

.banner-container video {
    height: auto;
    width: 100%;
    position: absolute;
    bottom: 0;
    display: inline-block;
    z-index: 50
}

@media (max-width:1600px) {
    .banner-container video {
        width: 120%;
        left: -10%
    }
}

@media (max-width:1340px) {
    .banner-container video {
        width: 130%;
        left: -15%
    }
}

@media (max-width:1232px) {
    .banner-container video {
        width: 150%;
        left: -25%
    }
}

@media (max-width:1080px) {
    .banner-container video {
        width: 160%;
        left: -30%
    }
}

@media (max-width:1000px) {
    .banner-container video {
        width: 180%;
        left: -40%
    }
}

@media (max-width:900px) {
    .banner-container video {
        width: 120%;
        left: -10%
    }
}

@media (max-width:768px) {
    .banner-container video {
        width: 160%;
        left: -30%
    }
}

@media (max-width:590px) {
    .banner-container video {
        width: 190%;
        left: -45%
    }
}

@media (max-width:480px) {
    .banner-container video {
        width: 220%;
        left: -60%
    }
}

@media (max-width:418px) {
    .banner-container video {
        width: 240%;
        left: -70%
    }
}

@media (max-width:380px) {
    .banner-container video {
        width: 260%;
        left: -80%
    }
}

@media (max-width:350px) {
    .banner-container video {
        width: 300%;
        left: -100%
    }
}

.banner-container .banner-video {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0
}

.banner-container .pixel-overlay {
    width: 100%;
    position: absolute;
    height: 328px;
    z-index: 200;
    background-image: url(../png/overlay-pixel.png);
    display: none
}

@media (min-width:900px) {
    .banner-container .pixel-overlay {
        height: 575px;
        display: block
    }
}

.banner-container #banner-poster {
    width: 100%;
    position: absolute;
    height: 328px;
    z-index: 100
}

@media (min-width:900px) {
    .banner-container #banner-poster {
        height: 575px;
        display: block
    }
}

.banner-container h1 {
    position: absolute;
    font-size: 2.25em;
    font-weight: 600;
    top: 25%;
    color: #fff;
    width: 100%;
    padding: 0 15%;
    text-align: center;
    text-transform: uppercase;
    z-index: 200;
    text-shadow: 1px 3px 10px rgba(0, 0, 0, .8)
}

@media (min-width:481px) {
    .banner-container h1 {
        top: 20%;
        font-size: 2.5em
    }
}

@media (min-width:900px) {
    .banner-container h1 {
        top: 20%;
        font-size: 4.740625em;
        padding: 0 25%
    }
}

.banner-container .banner-slider {
    position: relative;
    clear: both
}

.banner-container .banner-slider div {
    height: 20.5em;
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat
}

@media (min-width:900px) {
    .banner-container .banner-slider div {
        height: 575px
    }
}

.page-id-76852 .banner-container h1 {
    font-size: 1.5625em
}

@media (min-width:481px) {
    .page-id-76852 .banner-container h1 {
        font-size: 2.5em
    }
}

@media (min-width:900px) {
    .page-id-76852 .banner-container h1 {
        top: 10% !important;
        font-size: 4.740625em
    }
}

.filters {
    background-color: #000e13;
    color: #fff;
    padding: .1em 0 0;
    text-transform: uppercase;
    font-family: Blogger Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    height: 2.6em;
    overflow: hidden;
    transition: all .2s ease
}

.filters.open {
    height: 10.5em
}

.filters .icon {
    width: 26px;
    position: relative;
    top: 6px;
    left: 3px;
    display: inline
}

.filters legend {
    font-size: 1.25em;
    cursor: pointer;
    text-align: center
}

.filters fieldset {
    border: 0;
    max-width: 968px;
    margin: 0 auto;
    padding: 0 1em 0 2em
}

.filters label {
    width: 48%;
    display: inline-block;
    font-style: italic;
    margin: .8em 0
}

.filters button {
    background: #000e13;
    border: 1px solid #fff;
    padding: .7em 3em;
    text-transform: uppercase
}

.filters button span {
    padding-left: .4em
}

.filters button:hover {
    background-color: #fff;
    color: #000e13
}

.categories {
    background-color: #383f44;
    position: relative;
    padding: 10px 0
}

.categories header {
    padding: 0 10px
}

.categories header h1 {
    color: #fff
}

.categories ul {
    width: 61.25em;
    display: block;
    padding-left: 0;
    margin-top: 0;
    position: relative
}

.categories li {
    list-style: none;
    display: inline-block;
    margin: 0 5px;
    width: 144px;
    touch-action: pan-y;
    -ms-touch-action: pan-y
}

.categories li a {
    height: 129px;
    width: 144px;
    display: block;
    background-size: cover !important;
    background-position: 50% !important;
    text-decoration: none;
    font-weight: 700;
    overflow-y: hidden
}

.categories li p {
    text-align: center;
    margin: 0;
    padding: 8px 5px;
    color: #383f44;
    background: hsla(0, 0%, 88.2%, .7);
    position: absolute;
    bottom: 0;
    width: 144px;
    transition: all .2s ease-in-out
}

.categories li p:active,
.categories li p:hover {
    background: #e1e1e1
}

.categories .slick-next span,
.categories .slick-prev span {
    font-size: 70px;
    position: relative;
    top: 10px;
    color: #383f44
}

.story-categories ul {
    text-align: center;
    padding: 0;
    margin: 0;
    font-size: .9em
}

.story-categories ul li {
    list-style: none;
    display: inline-block
}

.story-categories ul li a {
    margin: 0 auto;
    padding: 5px 10px;
    text-decoration: none
}

.single-work_story .story-categories ul li a,
.work .story-categories ul li a {
    color: #c1872f;
    border: 3px solid #c1872f
}

.single-work_story .story-categories ul li a:hover,
.work .story-categories ul li a:hover {
    background: #c1872f;
    color: #fff
}

.live .story-categories ul li a,
.single-live_story .story-categories ul li a {
    color: #0e78c8;
    border: 3px solid #0e78c8
}

.live .story-categories ul li a:hover,
.single-live_story .story-categories ul li a:hover {
    background: #0e78c8;
    color: #fff
}

.single-study_story .story-categories ul li a,
.study .story-categories ul li a {
    color: #ed2691;
    border: 3px solid #ed2691
}

.single-study_story .story-categories ul li a:hover,
.study .story-categories ul li a:hover {
    background: #ed2691;
    color: #fff
}

.invest .story-categories ul li a,
.single-invest_story .story-categories ul li a {
    color: #4da44f;
    border: 3px solid #4da44f
}

.invest .story-categories ul li a:hover,
.single-invest_story .story-categories ul li a:hover {
    background: #4da44f;
    color: #fff
}

.cards {
    clear: both;
    background-color: #ebebeb;
    position: relative;
    margin: 0 auto;
    padding: 10px;
    transition: all .3s ease-in
}

.cards:after {
    clear: both;
    content: "";
    display: table
}

.cards.auto-events {
    display: none
}

.cards .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 500;
    top: 0;
    left: 0
}

.cards .overlay:before {
    content: "";
    display: block;
    height: 6px;
    width: 100%;
    width: 32%;
    background-color: #148471;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.cards h1,
.cards h1 a {
    position: relative
}

.cards h1 a {
    color: #383f44;
    text-decoration: none;
    font-weight: 700
}

.cards h1 a:hover {
    text-decoration: underline
}

.cards h1 a:after {
    position: absolute;
    content: " ";
    background-image: url(../png/arrow-right-icon.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 100%;
    display: inline-block;
    width: 16px;
    height: 14px;
    right: -22px;
    top: 5px
}

.cards .autofit {
    margin: 0 -5px
}

.cards article {
    background-color: #fff;
    margin: 0 10px;
    position: relative;
    transition: all .4s ease-in-out;
    display: flex;
    flex: 1;
    align-content: stretch;
    align-items: stretch;
    overflow: hidden
}

.cards article:after {
    clear: both;
    content: "";
    display: table
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    .cards article {
        margin: 10px !important
    }
}

@media (min-width:481px) {
    .cards article {
        grid-column: auto/span 2;
        flex-direction: row;
        margin: 0 5px 10px
    }

    .no-smil .cards article {
        flex-basis: calc(33% - 20px);
        max-width: calc(33% - 20px)
    }
}

.cards article:hover {
    cursor: pointer
}

.cards article:hover img {
    transform: scale(1.1)
}

@media (min-width:481px) {
    .whats-on .cards article.event .img {
        width: 32%;
        height: 11rem
    }
}

@media (min-width:900px) {
    .whats-on .cards article.event .img {
        height: 10rem
    }
}

.cards article .img {
    background-color: grey;
    background-position: 50%;
    width: 32%;
    float: left;
    padding: 0;
    overflow: hidden
}

.cards article .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .4s ease-in-out
}

.cards article .img.with_video {
    position: relative
}

.cards article .img.with_video:before {
    content: " ";
    display: block;
    width: 70px;
    height: 70px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-size: 70%;
    background-position: 70%;
    background-image: url(../svg/play-icon.svg), linear-gradient(transparent, transparent);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.cards article.work .overlay:before {
    background-color: #c1872f
}

.cards article.work .text header h3 {
    color: #c1872f
}

.cards article.live .overlay:before {
    background-color: #0e78c8
}

.cards article.live .text header h3 {
    color: #0e78c8
}

.cards article.study .overlay:before {
    background-color: #ed2691
}

.cards article.study .text header h3 {
    color: #ed2691
}

.cards article.event {
    flex-direction: row;
    margin: 0 10px
}

@media (min-width:481px) {
    .cards article.event {
        margin: 0 5px
    }
}

.cards article.event .overlay:before {
    background-color: #8c65d4;
    width: 32%
}

.cards article.event .img {
    width: 32%
}

.cards article.event header h3 {
    color: #8c65d4
}

.cards article.event .text .summary,
.cards article.event.is-outside-whats-on-listing header h3 {
    display: none
}

.cards article.event .text .location {
    max-height: 1.5rem;
    overflow: hidden
}

.cards article.event .text time {
    max-height: 1rem;
    display: block;
    overflow: hidden;
    margin: 0
}

.cards article.event .text header h3 {
    color: #8c65d4
}

.cards article.event .recurring-event-icon {
    width: 1.7em;
    height: 1.7em;
    position: absolute;
    background-size: 95%;
    bottom: 0;
    right: 0;
    text-align: center;
    color: #148471;
    line-height: 2.5rem;
    font-size: .9rem
}

@media (min-width:430px) {
    .cards article.event .recurring-event-icon {
        width: 1.875em;
        height: 1.875em
    }
}

@media (min-width:900px) {
    .cards article.event .recurring-event-icon {
        width: 35px;
        height: 35px
    }
}

.cards article .text {
    float: right;
    width: 68%;
    padding: .9em;
    z-index: 200
}

.cards article .text header {
    overflow: hidden
}

.cards article .text header h2 {
    margin: .5rem 0 .25rem;
    font-size: 1.0625em;
    line-height: 1.375em
}

.cards article.event .text header h2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -moz-line-clamp: 3;
    -webkit-box-line-clamp: 3;
    -ms-flex-line-clamp: 3;
    display: -webkit-box
}

.cards article .text header h2 a {
    color: inherit;
    text-transform: none
}

.cards article .text header h3 {
    color: #148471;
    margin: 0
}

@media (min-width:780px) {
    .cards article .text header h3 {
        -webkit-margin-before: 1em;
        margin-block-start: 1em;
        -webkit-margin-after: 1em;
        margin-block-end: 1em
    }
}

.cards article .text .summary {
    font-size: .9em;
    line-height: 1.2em;
    overflow: hidden;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.no-smil .cards article .text .summary {
    max-height: 2.45rem
}

@media (min-width:480px) {
    .cards article .text .summary {
        font-size: 1em
    }

    .no-smil .cards article .text .summary {
        max-height: 4.25rem
    }
}

@media (min-width:650px) {
    .cards article .text .summary {
        font-size: .9em
    }

    .no-smil .cards article .text .summary {
        max-height: 1.5rem
    }
}

@media (min-width:780px) {
    .cards article .text .summary {
        font-size: 1em
    }

    .no-smil .cards article .text .summary {
        max-height: 2.375rem
    }
}

@media (min-width:850px) {
    .cards article .text .summary {
        font-size: 1em
    }

    .no-smil .cards article .text .summary {
        max-height: 4.25rem
    }
}

@media (min-width:1060px) {
    .cards article .text .summary {
        font-size: 1em
    }

    .no-smil .cards article .text .summary {
        max-height: 1.5rem
    }
}

@media (min-width:1180px) {
    .cards article .text .summary {
        font-size: 1em
    }

    .no-smil .cards article .text .summary {
        max-height: 2.625rem
    }
}

.cards article .text .summary p {
    margin: 0;
    line-height: 1.4em
}

.cards article .text a {
    text-decoration: none;
    color: #000e13
}

.cards article .text .location {
    margin: 0;
    position: relative;
    right: 3px;
    font-size: .9em
}

.cards article .text time {
    font-size: .75em;
    font-style: italic
}

.cards article .location-icon {
    width: 14px;
    height: 14px;
    position: relative;
    top: 1px;
    margin-right: 2px
}

.cards article.overlay-card {
    position: relative;
    display: flex
}

@media (min-width:481px) {
    .cards article.overlay-card {
        display: block
    }
}

.cards article.overlay-card .img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-size: cover;
    background-position: 50% 50%
}

.cards article.overlay-card .overlay {
    z-index: 1
}

.cards article.overlay-card .overlay:before {
    display: none
}

.cards article.overlay-card .text {
    text-align: center;
    width: 100%;
    padding-top: 3em;
    padding-bottom: 3em
}

.cards article.overlay-card .text:before {
    display: none !important
}

@media (min-width:481px) {
    .cards article.overlay-card .text {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        padding: 0
    }
}

.cards article.overlay-card .text header {
    text-align: center
}

.cards article.overlay-card .text header a,
.cards article.overlay-card .text header h2 {
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    color: #fff;
    font-size: 1.5em;
    line-height: 1.375em;
    text-transform: none
}

.cards article.overlay-card .text .read-more {
    color: #fff;
    font-size: 1.125em;
    width: 90%;
    text-align: center
}

@media (min-width:481px) {
    .cards article.overlay-card .text .read-more {
        width: 100%
    }
}

.cards article.featured.work .overlay:before {
    border-top-color: #c1872f
}

.cards article.featured.learn .overlay:before {
    border-top-color: #0e78c8
}

.cards article.featured.study .overlay:before {
    border-top-color: #ed2691
}

.cards article.featured.invest .overlay:before {
    border-top-color: #4da44f
}

@media (max-width:481px) {
    .cards article.featured {
        flex-direction: column !important
    }

    .cards article.featured .overlay:before {
        width: 100%
    }

    .cards article.featured .img {
        width: 100%;
        height: 150px;
        float: none;
        min-height: 150px
    }

    .cards article.featured .text {
        width: 100%;
        float: none
    }
}

@media (min-width:481px) {
    .cards article.featured .text {
        position: relative
    }
}

.cards .full-width-image {
    text-align: center;
    height: 0;
    padding-bottom: 33%;
    position: relative;
    border-top-color: #0e78c8
}

.cards .full-width-image.working .img {
    border-top-color: #c1872f
}

.cards .full-width-image.living .img {
    border-top-color: #0e78c8
}

.cards .full-width-image.learning .img {
    border-top-color: #ed2691
}

.cards .full-width-image .img {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0
}

@media (min-width:900px) {
    .cards .full-width-image .img {
        height: 100%;
        width: auto
    }
}

.cards .full-width-image h2 {
    position: absolute;
    z-index: 200;
    width: 100%;
    padding: 1.25em 1.5625em;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    font-size: 1.5825em
}

.cards .read-more {
    text-transform: uppercase;
    font-size: .8125em;
    font-weight: 700;
    display: block;
    margin-top: 1rem;
    bottom: .5rem
}

@media (min-width:430px) {
    .cards .read-more {
        position: relative;
        bottom: auto
    }
}

.cards.variable-sizes {
    padding: 30px 20px 0
}

@media (min-width:900px) {
    .cards.variable-sizes {
        padding: 60px 0 40px
    }
}

.cards.variable-sizes.hide-cate .text header h3 {
    display: none
}

.cards.variable-sizes.legacy article {
    flex-direction: row
}

@media (min-width:1060px) {
    .cards.variable-sizes.legacy article {
        flex-direction: column
    }
}

@media (min-width:481px) {
    .no-smil .cards.variable-sizes.legacy article {
        height: 25em
    }
}

@media (min-width:900px) {
    .no-smil .cards.variable-sizes.legacy article {
        height: 26em
    }
}

.cards.variable-sizes.legacy article.featured {
    flex-direction: column
}

.cards.variable-sizes.legacy article.featured .img {
    width: 100%
}

@media (min-width:481px) {
    .cards.variable-sizes.legacy article .overlay:before {
        width: calc(50% - 10px)
    }
}

@media (min-width:481px) {
    .cards.variable-sizes.legacy article.small .overlay:before {
        width: 100%
    }
}

@media (min-width:481px) {
    .cards.variable-sizes.legacy article.small {
        flex-direction: column
    }
}

.cards.variable-sizes.legacy article .text {
    background-color: #fff
}

@media (min-width:481px) {
    .cards.variable-sizes.legacy article .text:before {
        width: 22px;
        height: 22px;
        background-color: #fff;
        display: block;
        position: absolute;
        top: -10px;
        left: 20px;
        content: "";
        transform: rotate(45deg);
        z-index: -10
    }
}

.cards.variable-sizes.legacy article .img {
    height: 200px;
    width: 50%
}

@media (min-width:481px) {
    .cards.variable-sizes.legacy article .img {
        width: 100%
    }
}

@media (min-width:900px) {
    .cards.variable-sizes.legacy article .img {
        height: 220px
    }
}

.cards.variable-sizes.legacy article.medium {
    flex-direction: row
}

@media (min-width:481px) {
    .cards.variable-sizes.legacy article.medium .text {
        width: 100%
    }

    .cards.variable-sizes.legacy article.medium .text:before {
        background-color: #fff;
        display: block;
        position: absolute;
        content: "";
        transform: rotate(45deg);
        z-index: -10;
        top: 50%;
        left: -20px;
        width: 44px;
        height: 44px
    }

    .cards.variable-sizes.legacy article.medium .text .summary {
        -webkit-line-clamp: 13
    }
}

@media (min-width:481px) {
    .cards.variable-sizes.legacy article.medium .img {
        height: 100%
    }
}

.cards.variable-sizes article {
    margin: 0;
    background-color: transparent;
    flex-direction: column
}

.cards.variable-sizes article .overlay:before {
    width: 100%
}

.cards.variable-sizes article .img {
    background-size: cover;
    -o-object-fit: cover;
    object-fit: cover;
    padding: 0;
    transition: all .4s ease-in-out;
    height: 250px;
    width: 100%
}

@media (min-width:481px) {
    .cards.variable-sizes article .img {
        float: none;
        width: 100%;
        height: auto
    }
}

.cards.variable-sizes article.overlay-card .img {
    height: auto;
    width: auto
}

.cards.variable-sizes article .text {
    width: 100%
}

@media (min-width:481px) {
    .cards.variable-sizes article .text {
        position: relative;
        float: none;
        width: 100%;
        background: inherit
    }

    .cards.variable-sizes article .text h2 {
        font-size: 2.125em;
        line-height: 1em;
        margin-bottom: 2rem
    }

    .cards.variable-sizes article .text h2 a {
        text-transform: none
    }

    .cards.variable-sizes article .text h3 {
        font-size: 1.125em;
        font-weight: 600;
        margin: 0;
        display: block
    }

    .cards.variable-sizes article .text p {
        font-size: 16px
    }
}

.cards.variable-sizes article .text .summary {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

@media (min-width:481px) {
    .cards.variable-sizes article .text .summary {
        font-size: .8em
    }

    .no-smil .cards.variable-sizes article .text .summary {
        max-height: 4.75rem
    }
}

.cards.variable-sizes article.overlay-card .text {
    background: 0 0
}

.cards.variable-sizes article.event .text .summary {
    display: none
}

@media (min-width:430px) {
    .no-smil .cards.variable-sizes article.event .text .summary {
        max-height: 3.125rem
    }
}

.cards.variable-sizes article:hover img {
    transform: scale(1.1)
}

@media (min-width:900px) {
    .cards.variable-sizes .read-more {
        font-size: 1em;
        margin: 1.3em 0 .4em
    }

    .cards.variable-sizes .read-more .arrow-icon {
        width: 9px;
        height: 12px;
        margin-left: 4px
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .medium {
        flex-direction: row;
        -ms-grid-column-span: 4;
        grid-column: auto/span 4
    }

    .no-smil .cards.variable-sizes .medium {
        flex-basis: calc(67% - 20px);
        max-width: calc(67% - 20px)
    }

    .cards.variable-sizes .medium .overlay:before {
        width: 50%
    }

    .cards.variable-sizes .medium.event .summary {
        margin-top: .5em
    }

    .no-smil .cards.variable-sizes .medium.event .summary {
        max-height: 13.75rem !important
    }

    .cards.variable-sizes .medium .img {
        float: left;
        height: 100%;
        width: 50%
    }
}

.cards.variable-sizes .medium .text .summary {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

@media (min-width:481px) {
    .cards.variable-sizes .medium .text {
        position: relative;
        float: right;
        width: 50%;
        padding: 1.2em;
        flex-grow: 1
    }

    .no-smil .cards.variable-sizes .medium .text .summary {
        max-height: 16.75rem
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .half {
        -ms-grid-column-span: 2;
        grid-column: auto/span 2
    }

    .no-smil .cards.variable-sizes .half {
        flex-basis: calc(50% - 20px);
        max-width: calc(50% - 20px)
    }
}

@media (min-width:1060px) {
    .cards.variable-sizes .half {
        -ms-grid-column-span: 3;
        grid-column: auto/span 3
    }

    .no-smil .cards.variable-sizes .half {
        flex-basis: calc(50% - 20px);
        max-width: calc(50% - 20px)
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .half .img {
        height: 480px
    }
}

.cards.variable-sizes .half .text {
    background: 0 0
}

.cards.variable-sizes .half .text:before {
    display: none !important
}

.cards.variable-sizes .half .summary {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

@media (min-width:481px) {
    .cards.variable-sizes .full {
        -ms-grid-column-span: 6;
        grid-column: auto/span 6;
        flex-direction: row
    }

    .no-smil .cards.variable-sizes .full {
        flex-basis: 100%;
        max-width: 100%
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .full .overlay:before {
        width: calc(50% - 7.5px)
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .full .img {
        height: 480px
    }
}

.cards.variable-sizes .full img {
    height: 100%
}

.cards.variable-sizes .full .text {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: 0 0
}

.cards.variable-sizes .full .text:before {
    display: none !important
}

.cards.variable-sizes .full .text .summary {
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical
}

@media (min-width:481px) and (max-width:900px) {
    .cards.variable-sizes .tablet-medium {
        width: calc(50% - 10px);
        height: 25em
    }
}

@media (min-width:481px) and (max-width:900px) {
    .cards.variable-sizes .tablet-medium .img {
        float: none;
        width: 100%;
        height: 220px
    }
}

@media (min-width:481px) and (max-width:900px) {
    .cards.variable-sizes .tablet-medium .text {
        float: none;
        width: 100%
    }

    .no-smil .cards.variable-sizes .tablet-medium .text .summary {
        max-height: 3.25rem !important
    }
}

@media (min-width:481px) and (max-width:900px) and (min-width:481px) and (max-width:900px) {
    .no-smil .cards.variable-sizes .tablet-medium .text .summary {
        max-height: 4.75rem !important
    }
}

@media (min-width:481px) and (max-width:900px) {
    .cards.variable-sizes .tablet-medium .text:before {
        width: 22px;
        height: 22px;
        background-color: #fff;
        display: block;
        position: absolute;
        top: -10px;
        left: 20px;
        content: "";
        transform: rotate(45deg);
        z-index: -10
    }
}

@media (min-width:481px) and (max-width:900px) {
    .cards.variable-sizes .tablet-medium .text h2 {
        font-size: 22px
    }
}

@media (min-width:481px) and (max-width:900px) {
    .cards.variable-sizes .tablet-medium .text p {
        font-size: 15px
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .tablet-large {
        width: 100%
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .tablet-large .img {
        float: left;
        height: 100%;
        width: 50%
    }
}

@media (min-width:900px) {
    .cards.variable-sizes .tablet-large .img {
        float: none;
        width: 100%;
        height: 220px
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .tablet-large .text {
        float: right;
        width: 50%;
        padding: 0 .9em
    }

    .no-smil .cards.variable-sizes .tablet-large .text .summary {
        max-height: 16.75rem
    }
}

@media (min-width:900px) {
    .cards.variable-sizes .tablet-large .text {
        float: none;
        width: 100%
    }

    .no-smil .cards.variable-sizes .tablet-large .text .summary {
        max-height: 4.75rem
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .tablet-large .text:before {
        background-color: #fff;
        display: block;
        position: absolute;
        content: "";
        transform: rotate(45deg);
        z-index: -10;
        top: 50%;
        left: -20px;
        width: 44px;
        height: 44px
    }
}

@media (min-width:900px) {
    .cards.variable-sizes .tablet-large .text:before {
        top: -10px;
        left: 20px
    }
}

@media (min-width:900px) {
    .cards.variable-sizes .large-desktop {
        border-top-color: #0e78c8;
        width: calc(66.67% - 10px)
    }

    .cards.variable-sizes .large-desktop .img {
        float: left;
        height: 100%;
        border-top: none;
        width: 50%
    }
}

@media (min-width:900px) {
    .cards.variable-sizes .large-desktop .text {
        float: right;
        width: 50%;
        padding: 0 .9em
    }
}

@media (min-width:900px) {
    .cards.variable-sizes .large-desktop .text:before {
        background-color: #fff;
        display: block;
        position: absolute;
        content: "";
        transform: rotate(45deg);
        z-index: -10;
        top: 50%;
        left: -20px;
        width: 44px;
        height: 44px
    }
}

.cards.variable-sizes .full-width-tablet {
    position: relative;
    max-height: 25em;
    margin-bottom: 1rem
}

.cards.variable-sizes .full-width-tablet .img {
    position: relative;
    overflow: hidden
}

.cards.variable-sizes .full-width-tablet .featured-ribbon {
    position: absolute;
    display: block;
    background: #8c65d4;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    z-index: 500;
    transform: rotate(45deg);
    font-size: 16px;
    top: 34px;
    right: -45px;
    padding: 5px 43px 5px 45px;
    box-shadow: -5px 5px 20px 0 rgba(0, 0, 0, .65)
}

@media (min-width:481px) {
    .cards.variable-sizes .full-width-tablet {
        width: 100%;
        height: 26em;
        margin: -30px 0 -10px
    }

    .cards.variable-sizes .full-width-tablet .featured-ribbon {
        font-size: 24px;
        top: 38px;
        right: -45px;
        padding: 5px 43px 5px 45px;
        box-shadow: -5px 5px 20px 0 rgba(0, 0, 0, .65)
    }

    .cards.variable-sizes .full-width-tablet .img {
        float: left;
        height: 100%;
        border-top: none;
        width: 100%
    }
}

.cards.variable-sizes .full-width-tablet .text {
    background: 0 0
}

@media (min-width:481px) {
    .cards.variable-sizes .full-width-tablet .text {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: auto;
        padding: 0 .9em .5em
    }

    .cards.variable-sizes .full-width-tablet .text:before {
        display: none
    }

    .no-smil .cards.variable-sizes .full-width-tablet .text .summary {
        max-height: 4.375rem
    }
}

@media (min-width:481px) and (min-width:481px) {
    .cards.variable-sizes .full-width-tablet .text header {
        max-height: none
    }
}

@media (min-width:481px) {

    .cards.variable-sizes .full-width-tablet .text .read-more,
    .cards.variable-sizes .full-width-tablet .text h2,
    .cards.variable-sizes .full-width-tablet .text p {
        display: inline-block
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .full-width-tablet .text h2 {
        color: #fff;
        font-size: 1.8em;
        padding: .4em 0;
        margin-bottom: 0;
        text-shadow: 1px 1px 25px rgba(0, 0, 0, .8)
    }

    .cards.variable-sizes .full-width-tablet .text h2 a {
        text-transform: inherit
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .full-width-tablet .text p {
        background: #fff;
        padding: .5em .8em;
        background: hsla(0, 0%, 100%, .95)
    }
}

@media (min-width:481px) {
    .cards.variable-sizes .full-width-tablet .text .read-more {
        background: #fff;
        padding: .4em .6em;
        width: auto
    }
}

@media (min-width:900px) {
    .cards.variable-sizes .full-width-tablet .text {
        margin: .2em
    }
}

.cards-white article .text {
    background-color: #fff
}

.cards-light-grey article .text {
    background-color: #ebebeb
}

.cards-dark-grey article .text {
    background-color: #b5b5b5
}

.cards-light-blue article .text {
    background-color: #0e78c8
}

.cards-pink article .text {
    background-color: #ed2691
}

.cards-orange article .text {
    background-color: #c1872f
}

.cards-purple article .text {
    background-color: #8c65d4
}

.ext-source-icon,
.mail-icon {
    width: 1.7em;
    height: 1.7em;
    position: absolute;
    background-size: 60%;
    bottom: 0;
    right: 0;
    background-color: #148471
}

@media (min-width:430px) {

    .ext-source-icon,
    .mail-icon {
        width: 1.875em;
        height: 1.875em
    }
}

@media (min-width:900px) {

    .ext-source-icon,
    .mail-icon {
        width: 35px;
        height: 35px
    }
}

.article-content .cards {
    background-color: transparent
}

.work .full-width-tablet .img {
    border-top-color: #c1872f
}

.work .full-width-tablet .featured-ribbon {
    background: #c1872f !important
}

.live .full-width-tablet .img {
    border-top-color: #0e78c8
}

.live .full-width-tablet .featured-ribbon {
    background: #0e78c8 !important
}

.study .full-width-tablet .img {
    border-top-color: #ed2691
}

.study .full-width-tablet .featured-ribbon {
    background: #ed2691 !important
}

.invest .full-width-tablet .img {
    border-top-color: #4da44f
}

.invest .full-width-tablet .featured-ribbon {
    background: #4da44f !important
}

.whats-on .cards.variable-sizes {
    padding: 30px 20px 20px
}

.whats-on .cards.variable-sizes .full-width-tablet {
    margin: 0 0 10px;
    width: 100%;
    max-height: 26em
}

@media (min-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .card {
        width: calc(33% - 10px);
        float: left
    }
}

@media (min-width:481px) and (min-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .text {
        padding: 0 .8em .8em
    }
}

@media (min-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .text h2 {
        line-height: 1;
        padding: .2em 0;
        text-shadow: 1px 1px 15px rgba(0, 0, 0, .9)
    }

    .whats-on .cards.variable-sizes .full-width-tablet .text h2 a {
        text-transform: none
    }
}

@media (min-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .text .info {
        color: #fff;
        font-family: Blogger Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
        margin: 0 0 5px
    }

    .whats-on .cards.variable-sizes .full-width-tablet .text .info p {
        background: 0 0;
        color: #fff;
        font-size: 1.3rem;
        font-weight: 700;
        line-height: 1.1;
        padding: 0;
        text-shadow: 1px 1px 15px rgba(0, 0, 0, .9)
    }

    .whats-on .cards.variable-sizes .full-width-tablet .text .info p.location {
        right: auto
    }

    .whats-on .cards.variable-sizes .full-width-tablet .text .info p.location i {
        float: right;
        height: 1.2rem;
        margin-left: 4px;
        width: 1.2rem
    }

    .whats-on .cards.variable-sizes .full-width-tablet .text .info time {
        font-size: 1.3rem;
        font-style: normal;
        font-weight: 700;
        line-height: 1.1;
        text-shadow: 1px 1px 25px rgba(0, 0, 0, .9)
    }
}

@media (min-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .text .summary {
        display: none
    }
}

@media (min-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .text .read-more {
        margin-bottom: 0
    }
}

.whats-on .cards.variable-sizes .full-width-tablet .img {
    position: relative;
    width: 100%
}

@media (max-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .img {
        border-top: 0
    }
}

.whats-on .cards.variable-sizes .full-width-tablet .img .pixel-overlay {
    background: transparent url(../png/overlay-pixel.png) 0 0 repeat;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

@media (max-width:481px) {
    .whats-on .cards.variable-sizes .full-width-tablet .img .pixel-overlay {
        display: none
    }
}

@media (max-width:430px) {
    .whats-on .cards.variable-sizes .full-width-tablet .text .summary {
        display: none
    }
}

.articles {
    margin: 0 -5px;
    display: flex;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 20px;
    flex-wrap: wrap
}

.articles:after {
    clear: both;
    content: "";
    display: table
}

@media (min-width:650px) and (max-width:1060px) {
    .articles {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media (min-width:1060px) {
    .articles {
        grid-template-columns: repeat(6, 1fr)
    }
}

.whats-on .articles.events-listing {
    display: block
}

.whats-on .articles.events-listing .card {
    float: left;
    margin: 10px
}

@media (min-width:481px) {
    .whats-on .articles.events-listing .card {
        margin: 5px;
        width: calc(50% - 10px)
    }
}

@media (min-width:900px) {
    .whats-on .articles.events-listing .card {
        margin: 5px;
        width: calc(33% - 10px)
    }
}

@media (min-width:430px) {
    .cards.variable-sizes article.newsletter .img {
        min-height: 390px
    }
}

.mobile-slider {
    overflow: hidden
}

.mobile-slider .articles.slick-slider {
    margin: 0
}

.mobile-slider .articles.slick-slider .slick-list {
    overflow: visible !important
}

.mobile-slider .articles.slick-slider .slick-list .slick-slide {
    display: flex;
    width: 85vw;
    height: 130px
}

.pagination-links {
    margin: 10px auto 0;
    text-align: center;
    clear: both
}

.pagination-links:after {
    clear: both;
    content: "";
    display: table
}

.pagination-links .page-numbers {
    list-style: none;
    padding-left: 0
}

.pagination-links .page-numbers li {
    display: inline-block;
    margin: 0 2px 0 0;
    line-height: 1;
    text-decoration: none;
    border-radius: 1px
}

.pagination-links .page-numbers li a {
    padding: 5px 10px;
    font-weight: 700;
    background: #fff;
    text-decoration: none
}

.pagination-links .page-numbers li a:hover {
    color: #fff;
    background-color: #148471
}

.pagination-links .page-numbers.current {
    padding: 5px 10px;
    color: #fff;
    background-color: #148471;
    font-weight: 700
}

.pagination-links .page-numbers .dots {
    font-weight: 700;
    color: #148471
}

.living .pagination-links a {
    color: #0e78c8;
    border: 1px solid #0e78c8
}

.living .pagination-links .page-numbers.current,
.living .pagination-links a:hover {
    background: #0e78c8
}

.working .pagination-links a {
    color: #c1872f;
    border: 1px solid #c1872f
}

.working .pagination-links .page-numbers.current,
.working .pagination-links a:hover {
    background: #c1872f
}

.learning .pagination-links a {
    color: #ed2691;
    border: 1px solid #ed2691
}

.learning .pagination-links .page-numbers.current,
.learning .pagination-links a:hover {
    background: #ed2691
}

.stories .pagination-links a {
    color: #c8102e;
    border: 1px solid #c8102e
}

.stories .pagination-links .page-numbers.current,
.stories .pagination-links a:hover {
    background: #c8102e
}

.tweets {
    padding: 10px 0;
    background-color: #b5b5b5;
    background-image: url(../svg/dublin.ie-logo-faint.svg);
    background-size: 6%;
    position: relative
}

.tweets:after {
    clear: both;
    content: "";
    display: table
}

.tweets header {
    padding: 0 10px
}

.tweets header h1 {
    color: #383f44
}

.tweets header h1 a {
    color: #383f44;
    text-decoration: none
}

.tweets header h1 a:hover {
    text-decoration: underline
}

.tweets ul {
    display: block;
    height: 25.625em;
    padding-left: 0;
    margin-top: 0;
    width: 100%
}

.tweets li {
    height: 25.625em;
    width: 16.25em;
    list-style: none;
    display: inline-block;
    position: relative;
    margin: 0 5px;
    padding: 0 !important;
    border-top: 2px solid #0e78c8;
    background: #fff
}

.tweets li.dark {
    background: #555
}

.tweets li.dark .text .summary a,
.tweets li.dark .text .summary p {
    color: #fff
}

.tweets li .source {
    position: relative;
    font-size: .8125em;
    text-decoration: none;
    color: #fff;
    padding: 5px;
    width: 100%;
    display: block;
    background: rgba(0, 0, 0, .5)
}

.tweets li .source:after {
    clear: both;
    content: "";
    display: table
}

.tweets li .source .profile-img {
    display: inline;
    float: left;
    margin-right: 5px;
    max-height: 40px;
    width: auto
}

.tweets li .tweet-img {
    width: 100%;
    height: 105px;
    background-size: cover;
    background-position: 50%;
    background-image: url(../png/tweet-default.png)
}

.tweets li .text {
    padding: .8em 1em 0
}

.tweets li .text .summary img {
    position: static
}

.tweets li .text .summary p {
    margin: 0;
    padding: 0
}

.tweets li .text .summary a {
    text-transform: none;
    text-decoration: underline;
    font-weight: 400;
    color: #383f44
}

.tweets li.text-only .summary p {
    font-size: 1em;
    line-height: 1.4em
}

.tweets li .time {
    position: absolute;
    bottom: .9375em;
    right: 1.5625em;
    color: #b5b5b5;
    font-size: .6875em;
    text-decoration: none
}

.tweets .twitter-icon {
    width: 22px;
    height: 17px;
    margin-right: 4px
}

.tweets .slick-next span,
.tweets .slick-prev span {
    font-size: 70px;
    position: relative;
    top: 100px;
    color: #383f44
}

.video-overlay-full-width {
    width: 100%;
    height: auto;
    margin: 0;
    position: relative;
    background-color: #b5b5b5
}

@media (min-width:400px) {
    .video-overlay-full-width {
        max-height: 27.375em
    }
}

.video-overlay-full-width .pixel-overlay {
    width: 100%;
    position: absolute;
    height: 100%;
    z-index: 200;
    background-image: url(../png/overlay-pixel.png)
}

.video-overlay-full-width .video-placeholder {
    width: 100%;
    display: block;
    margin: 0 auto;
    height: 27.375em;
    background-size: cover !important;
    background-position: 50% !important
}

@media (min-width:400px) {
    .video-overlay-full-width .video-placeholder {
        max-height: 27.375em
    }
}

.require-cookie-consent {
    background: #333;
    width: 100%;
    height: 100%;
    display: table;
    position: absolute;
    z-index: 200
}

.require-cookie-consent .inner {
    display: table-cell;
    vertical-align: middle
}

.require-cookie-consent button,
.require-cookie-consent h3,
.require-cookie-consent p {
    text-align: center;
    color: #fff
}

.require-cookie-consent h3 {
    font-size: 35px
}

.require-cookie-consent p {
    font-size: 16px;
    margin: 0 20px 20px
}

.require-cookie-consent button {
    background: 0 0;
    padding: 10px 15px
}

figcaption {
    color: #fff;
    position: absolute;
    width: 100%;
    text-align: center;
    top: 15%;
    padding: 0 10%;
    z-index: 300
}

@media (min-width:900px) {
    figcaption {
        padding: 0 20%
    }
}

figcaption h1 {
    font-size: 2.125em;
    padding: 0 5%;
    font-weight: 700;
    color: #fff
}

figcaption p {
    color: #fff
}

@media (min-width:481px) {
    figcaption p {
        font-size: 1.2em
    }
}

.play-icon {
    width: 70px;
    height: 70px;
    border: 2px solid #fff;
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border-top-left-radius: 50%;
    background-size: 70%;
    background-position: 70%
}

.video-panel-hidden {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 300;
    width: 100%;
    height: 100%;
    display: none
}

.event-video {
    cursor: pointer;
    position: relative
}

.event-video .event-video-placeholder {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    overflow: hidden;
    text-align: center;
    background-size: cover;
    background-position: 50%
}

.event-video .event-video-placeholder img {
    display: block;
    width: 100%;
    height: auto
}

.event-video figcaption {
    top: 50%;
    margin-top: -37px
}

.instagram {
    background-color: #b5b5b5;
    background-image: url(../svg/dublin.ie-logo-faint.svg);
    background-size: 13%;
    padding: 10px
}

.instagram:after {
    clear: both;
    content: "";
    display: table
}

.instagram h1 {
    color: #383f44
}

.instagram h1 a {
    color: #383f44;
    text-decoration: none
}

.instagram h1 a:hover {
    text-decoration: underline
}

.instagram .instagram-large {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 31.7615656014%
}

.instagram .instagram-large:last-child,
.instagram .instagram-large:nth-child(4) {
    margin-right: 0
}

.instagram .instagram-large a {
    padding-bottom: 103.6%
}

@media (max-width:900px) {
    .instagram .instagram-large {
        display: none
    }
}

.instagram .instagram-small {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 31.7615656014%
}

.instagram .instagram-small:last-child {
    margin-right: 0
}

@media (max-width:900px) {
    .instagram .instagram-small {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 100%
    }

    .instagram .instagram-small:last-child {
        margin-right: 0
    }
}

.instagram .instagram-small a {
    float: left;
    display: block;
    margin-right: 7.4229703521%;
    width: 46.288514824%;
    padding-bottom: 49%;
    margin-bottom: 20px
}

.instagram .instagram-small a:last-child,
.instagram .instagram-small a:nth-child(2n) {
    margin-right: 0
}

.instagram .instagram-small a:nth-child(odd) {
    clear: left
}

@media (max-width:900px) {
    .instagram .instagram-small a {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%;
        padding-bottom: 50%
    }

    .instagram .instagram-small a:last-child {
        margin-right: 0
    }
}

.instagram .instagram-large,
.instagram .instagram-small {
    z-index: 100;
    position: relative
}

.instagram .instagram-large a,
.instagram .instagram-small a {
    background-size: cover;
    background-position: 50%;
    display: block;
    background-repeat: no-repeat;
    position: relative
}

.instagram .instagram-large a:before,
.instagram .instagram-small a:before {
    content: " ";
    background-size: cover;
    background-position: 50%;
    display: block;
    background-image: url(../svg/dublin.ie-logo-black.svg);
    background-repeat: no-repeat;
    opacity: .3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -100
}

.facebook {
    padding: 10px;
    clear: both;
    background: #ebebeb
}

.facebook ul {
    display: block;
    padding-left: 0
}

.facebook ul:after {
    clear: both;
    content: "";
    display: table
}

.facebook li {
    list-style: none;
    position: relative;
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%;
    border-top: 2px solid #0e78c8;
    margin-bottom: 10px
}

.facebook li:last-child {
    margin-right: 0
}

@media (max-width:650px) {
    .facebook li:nth-child(2n) {
        margin-right: 0
    }

    .facebook li:nth-child(odd) {
        clear: left
    }

    .facebook li:nth-child(n+3) {
        display: none
    }
}

@media (min-width:650px) and (max-width:900px) {
    .facebook li {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 31.7615656014%
    }

    .facebook li:last-child,
    .facebook li:nth-child(3n) {
        margin-right: 0
    }

    .facebook li:nth-child(3n+1) {
        clear: left
    }

    .facebook li:nth-last-child(2) {
        display: inline
    }

    .facebook li:last-child {
        display: none
    }
}

@media (min-width:900px) {
    .facebook li {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 23.2317613015%
    }

    .facebook li:last-child,
    .facebook li:nth-child(4n) {
        margin-right: 0
    }

    .facebook li:nth-child(4n+1) {
        clear: left
    }
}

.facebook li .img {
    width: 100%;
    padding-bottom: 60%;
    background-size: cover;
    background-position: 50%
}

.facebook li .text {
    background: #fff;
    padding: 1em;
    min-height: 12em
}

.facebook li .text p {
    margin: 0
}

.facebook li .source,
.facebook li .time {
    font-size: .8125em;
    position: absolute;
    text-decoration: none
}

.facebook li .source {
    top: .625em;
    left: .625em;
    z-index: 500;
    color: #fff
}

.facebook li .source span {
    display: block
}

.facebook li .time {
    position: absolute;
    bottom: .9375em;
    right: 1.5625em;
    color: #b5b5b5
}

.facebook .facebook-icon {
    width: 22px;
    height: 20px;
    margin-right: 2px;
    position: relative;
    top: 4px
}

footer {
    background: #2b2d2e;
    color: #8b979e;
    height: auto;
    clear: both;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    padding: 0 .625em;
    position: relative
}

footer .aps-social-icon-wrapper {
    text-align: center
}

footer .footer-nav {
    max-width: 73.75em;
    width: 100%;
    margin: 0 auto;
    position: relative
}

footer .footer-nav:after {
    clear: both;
    content: "";
    display: table
}

@media (min-width:481px) {
    footer {
        padding-top: 1em
    }
}

footer ul {
    list-style: none;
    margin: 0
}

footer ul a {
    color: #fff;
    text-decoration: none;
    transition: all .1s ease-in-out
}

footer ul a:hover {
    color: #fff
}

footer .copyright {
    width: 100%;
    display: block;
    padding: 3em 0;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    text-transform: none;
    font-size: .8em;
    max-width: 1180px;
    margin: 0 auto;
    position: relative
}

footer .copyright ul {
    padding-left: 0;
    width: 100%;
    text-align: center
}

footer .copyright ul li {
    display: inline
}

footer .copyright ul a {
    border-right: 1px solid #8b979e;
    padding: 0 1em
}

footer .copyright ul a:first-child {
    padding-left: 0
}

footer .copyright ul a:last-child {
    border-right: none
}

footer .copyright .social-icons li {
    display: inline-block;
    width: 32px;
    height: 32px;
    margin: 0 18px 18px
}

footer .copyright .social-icons li a {
    display: block
}

footer .copyright .social-icons li a img {
    margin: 0 auto
}

footer .copyright a {
    color: #8b979e;
    font-weight: 400;
    text-decoration: underline
}

footer .copyright small {
    width: 100%;
    text-align: center;
    display: block;
    clear: both
}

@media (min-width:481px) {
    footer .icon {
        display: none
    }
}

.footer-nav>ul>li {
    position: relative
}

.footer-nav>ul>li.single {
    clear: both;
    width: 100%
}

.footer-nav>ul>li.single~.single {
    margin-top: 0
}

.footer-nav>ul>li>a {
    font-size: 1.25em;
    text-transform: uppercase;
    border-bottom: 1px solid #3e4447;
    width: 100%;
    display: block;
    padding-top: .6em;
    padding-bottom: .5em;
    position: relative;
    font-weight: 400
}

@media (min-width:481px) {
    .footer-nav>ul>li>a {
        border-bottom: none
    }
}

@media (min-width:900px) {
    .footer-nav>ul>li>a {
        font-size: 1.375em;
        padding-bottom: .1em
    }
}

.footer-nav>ul>li ul {
    display: none;
    margin-top: 1em;
    margin-bottom: 2em;
    padding-left: 0
}

@media (min-width:481px) {
    .footer-nav>ul>li ul {
        display: block
    }
}

.footer-nav>ul>li ul li {
    margin-bottom: 1em
}

.footer-nav>ul>li ul a {
    font-weight: 400;
    text-transform: uppercase
}

.footer-nav>ul>li ul a:hover {
    text-decoration: underline
}

.footer-nav>ul>li ul.open {
    display: block
}

@media screen and (min-width:481px) and (max-width:900px) {
    .footer-nav>ul>li {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%
    }

    .footer-nav>ul>li:last-child,
    .footer-nav>ul>li:nth-child(2n) {
        margin-right: 0
    }

    .footer-nav>ul>li:nth-child(odd) {
        clear: left
    }
}

@media (min-width:900px) {
    .footer-nav>ul>li {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 23.2317613015%
    }

    .footer-nav>ul>li:last-child,
    .footer-nav>ul>li:nth-child(4) {
        margin-right: 0
    }
}

.footer-nav>ul {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%;
    padding: 0
}

.footer-nav>ul:last-child {
    margin-right: 0
}

.footer-nav .down-icon-grey,
.footer-nav .up-icon-grey {
    width: 25px;
    height: 100%;
    max-height: 47px;
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer
}

.footer-logos {
    margin: 3em 0 2em;
    height: 80px;
    width: 100%;
    text-align: center
}

.footer-logos img {
    height: 100%
}

.footer-logos img:first-child {
    height: 80%;
    margin-bottom: 7px;
    margin-right: 15px
}

.mobile-footer-nav {
    width: 100%;
    bottom: -49px;
    position: fixed;
    display: inline-block;
    float: right;
    height: 3.0625em;
    z-index: 500;
    text-transform: uppercase;
    font-weight: 700;
    transition: all .3s ease-in
}

@media (min-width:900px) {
    .mobile-footer-nav {
        display: none
    }
}

@media (min-width:1050px) {
    .mobile-footer-nav {
        display: none
    }
}

.mobile-footer-nav.display {
    bottom: -1px
}

.mobile-footer-nav ul {
    width: 100%;
    padding: 0;
    margin: 0
}

.mobile-footer-nav li {
    width: 20%;
    display: inline-block;
    float: left;
    height: 3em;
    line-height: 3em;
    padding: 0;
    border-left: 1px solid #383f44;
    background-color: transparent;
    font-family: Blogger Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    background: #000e13
}

.mobile-footer-nav li:hover {
    background-color: rgba(0, 0, 0, .9)
}

.mobile-footer-nav li .open-desktop {
    background-color: rgba(68, 166, 242, .9)
}

.mobile-footer-nav li:first-child,
.mobile-footer-nav li:nth-child(2) {
    border-bottom: 1px solid #383f44
}

@media (min-width:900px) {

    .mobile-footer-nav li:first-child,
    .mobile-footer-nav li:nth-child(2) {
        border: 0
    }
}

.mobile-footer-nav a {
    display: block;
    color: #fff;
    text-decoration: none;
    width: 100%;
    text-align: center;
    font-size: 11px
}

@media (min-width:900px) {
    .mobile-footer-nav a {
        font-weight: 400
    }
}

.mobile-footer-nav a.active {
    background-color: rgba(68, 166, 242, .9)
}

@media (min-width:900px) {
    .mobile-footer-nav a.active {
        background-color: transparent;
        color: #0e78c8;
        font-weight: 400
    }

    .mobile-footer-nav a.active:hover {
        color: #fff;
        background-color: rgba(68, 166, 242, .9)
    }
}

@media (min-width:900px) {
    .mobile-footer-nav a:hover {
        background-color: hsla(0, 0%, 100%, .1)
    }

    .mobile-footer-nav a:hover+.sub-menu {
        display: block
    }
}

.mobile-footer-nav li>ul:hover.sub-menu {
    display: block
}

.mobile-footer-nav .sub-menu {
    position: relative;
    display: none;
    height: auto;
    background-color: rgba(0, 0, 0, .9);
    transition: all .2s ease-in;
    padding-left: 0;
    padding-bottom: 0;
    width: 260px
}

.mobile-footer-nav .sub-menu a,
.mobile-footer-nav .sub-menu li {
    position: static;
    display: block;
    width: auto;
    text-align: left;
    line-height: 1.725em;
    float: none;
    height: auto
}

@media (min-width:900px) {

    .mobile-footer-nav .sub-menu a,
    .mobile-footer-nav .sub-menu li {
        line-height: 1.125em
    }
}

.mobile-footer-nav .sub-menu a {
    padding: 1em;
    border-top: 1px solid hsla(0, 0%, 88.2%, .2)
}

@media (min-width:900px) {
    .mobile-footer-nav .sub-menu a {
        font-size: 16px
    }
}

.page-header {
    padding: 0;
    background-color: #383f44;
    color: #fff
}

.page-header.white-base {
    background-color: #fff
}

@media (min-width:481px) {
    .page-header {
        margin-top: 2.75em
    }
}

@media (min-width:900px) {
    .page-header {
        margin-top: 9.5625em
    }
}

.page-header.no-marg-top {
    margin-top: 0
}

@media (min-width:481px) {
    .page-header.no-marg-top {
        margin-top: 0
    }
}

@media (min-width:900px) {
    .page-header.no-marg-top {
        margin-top: 0
    }
}

.page-header img {
    width: 100%;
    vertical-align: bottom
}

.header-image {
    height: 12.5em;
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: 50%
}

@media (min-width:481px) {
    .header-image {
        height: 31.25em
    }
}

@media (min-width:481px) {
    .header-image .banner-container {
        margin-top: 0
    }
}

.header-image .banner-container h1 {
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700;
    top: 10%
}

@media (min-width:481px) {
    .header-image .banner-container h1 {
        top: 30%
    }
}

@media (min-width:900px) {
    .header-image .banner-container h1 {
        top: 25%
    }
}

.header-image.landing {
    margin: 0 auto;
    max-width: 100em
}

.header-image.landing .banner-container h1 {
    padding: 0 14%
}

.headline-image {
    background-color: #ebebeb
}

.page-template-template-landing-page .headline-image {
    margin-top: 0
}

.article-content h2 {
    letter-spacing: 1.2px
}

.article-content h1,
.article-content h2 {
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
    text-align: center
}

.article-content h1 {
    text-transform: uppercase;
    font-weight: 700
}

.article-content h1 span {
    display: block;
    font-size: .3125em
}

table {
    width: 100%
}

table th {
    padding: 5px 10px;
    background: #383f44;
    color: #fff
}

table td {
    padding: 4px 6px;
    background: #e3e3e3;
    color: #383f44
}

.live .page-title,
.single-live_story .page-title {
    background: #0e78c8
}

.live .categories nav li,
.live .learning .ext-resource,
.single-live_story .categories nav li,
.single-live_story .learning .ext-resource {
    border-top: 2px solid #0e78c8
}

.live .article-content h1 span,
.live .article-content h2,
.single-live_story .article-content h1 span,
.single-live_story .article-content h2 {
    color: #0e78c8
}

.live .section-highlight-border,
.single-live_story .section-highlight-border {
    border: 2px solid #0e78c8
}

.single-study_story .page-title,
.study .page-title {
    background: #ed2691
}

.single-study_story .categories nav li,
.single-study_story .learning .ext-resource,
.study .categories nav li,
.study .learning .ext-resource {
    border-top: 2px solid #ed2691
}

.single-study_story .article-content h1 span,
.single-study_story .article-content h2,
.study .article-content h1 span,
.study .article-content h2 {
    color: #ed2691
}

.single-study_story .section-highlight-border,
.study .section-highlight-border {
    border: 2px solid #ed2691
}

.single-work_story .page-title,
.work .page-title {
    background: #c1872f
}

.single-work_story .categories nav li,
.single-work_story .learning .ext-resource,
.work .categories nav li,
.work .learning .ext-resource {
    border-top: 2px solid #c1872f
}

.single-work_story .article-content h1 span,
.single-work_story .article-content h2,
.work .article-content h1 span,
.work .article-content h2 {
    color: #c1872f
}

.single-work_story .section-highlight-border,
.work .section-highlight-border {
    border: 2px solid #c1872f
}

.whats-on .page-title {
    background: #8c65d4
}

.whats-on .location-date {
    font-weight: 700;
    text-align: center
}

.whats-on .categories nav li,
.whats-on .learning .ext-resource {
    border-top: 2px solid #8c65d4
}

.whats-on .article-content h1 span,
.whats-on .article-content h2 {
    color: #8c65d4
}

.whats-on .section-highlight-border {
    border: 2px solid #8c65d4
}

.invest .page-title,
.single-invest_story .page-title {
    background: #4da44f
}

.invest .categories nav li,
.invest .learning .ext-resource,
.single-invest_story .categories nav li,
.single-invest_story .learning .ext-resource {
    border-top: 2px solid #4da44f
}

.invest .article-content h1 span,
.invest .article-content h2,
.single-invest_story .article-content h1 span,
.single-invest_story .article-content h2 {
    color: #4da44f
}

.invest .section-highlight-border,
.single-invest_story .section-highlight-border {
    border: 2px solid #4da44f
}

.stories .page-title {
    background: #c8102e
}

.stories .categories nav li,
.stories .learning .ext-resource {
    border-top: 2px solid #c8102e
}

.stories .article-content h1 span,
.stories .article-content h2 {
    color: #c8102e
}

.stories .section-highlight-border {
    border: 2px solid #c8102e
}

.stories .newsletter {
    background: #c8102e !important
}

.page-title {
    background: #0e78c8
}

.page-title h1 {
    padding: 10px;
    color: #fff;
    margin: 0 0 0 6px
}

@media (min-width:481px) {
    .page-title h1 {
        font-size: 1.2em
    }
}

@media (min-width:900px) {
    .page-title h1 {
        font-size: 1.6em
    }
}

.article-content-container {
    background: #fff;
    position: relative
}

.article-content {
    background-color: #fff;
    padding: .5em 5%
}

@media (min-width:481px) {
    .article-content {
        max-width: 710px;
        margin: 0 auto;
        padding: .5em
    }
}

@media (min-width:900px) {
    .article-content {
        max-width: 710px;
        margin: 0 auto;
        padding: .5em auto
    }
}

.article-content h1 {
    font-size: 1.8em;
    letter-spacing: 1.2px;
    margin-top: 1em
}

@media (min-width:900px) {
    .article-content h1 {
        margin-top: .67em;
        font-size: 2.95em
    }
}

.article-content h2 {
    margin-bottom: 0
}

@media (min-width:481px) {
    .article-content h2 {
        font-size: 1.4em
    }
}

@media (min-width:900px) {
    .article-content h2 {
        font-size: 1.6em
    }
}

.article-content h3 {
    font-size: 1em;
    text-transform: none
}

@media (min-width:481px) {
    .article-content h3 {
        font-size: 1.2em
    }
}

@media (min-width:900px) {
    .article-content h3 {
        font-size: 1.4em
    }
}

.article-content li,
.article-content p {
    color: #383f44;
    line-height: 2rem;
    margin-bottom: 2rem;
    margin-top: 2rem
}

@media (min-width:481px) {

    .article-content li,
    .article-content p {
        font-size: 1rem
    }
}

@media (min-width:900px) {

    .article-content li,
    .article-content p {
        font-size: 1.1rem
    }
}

.article-content li {
    margin-bottom: 1em;
    margin-top: 1em
}

@media (min-width:481px) {
    .article-content dl {
        font-size: 1em
    }
}

@media (min-width:900px) {
    .article-content dl {
        font-size: 1.1em
    }
}

.article-content p {
    margin-bottom: 1.8em;
    margin-top: 1.8em
}

.article-content h1+p,
.article-content h2+p,
.article-content h3+p,
.article-content h4+p {
    margin-top: .5em
}

.article-content h3,
.article-content h4,
.article-content h5 {
    margin-bottom: 0
}

.article-content iframe,
.article-content twitterwidget {
    margin-left: auto;
    margin-right: auto
}

.article-content .cards h2 {
    font-size: 1.125em
}

.article-content .cards p {
    font-size: .875em
}

@media (min-width:1060px) {
    .article-content .cards article {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%
    }

    .article-content .cards article:last-child,
    .article-content .cards article:nth-child(2n) {
        margin-right: 0
    }

    .article-content .cards article:nth-child(odd) {
        clear: left
    }
}

.article-content hr {
    clear: both
}

@media (max-width:650px) {
    .article-content img {
        width: 100%;
        height: auto
    }
}

.article-content .link-card {
    border: 1px solid #ddd;
    position: relative;
    margin: 1em 0;
    padding: .625em 40px .625em .625em
}

.article-content .link-card h3 {
    display: inline-block;
    margin: 0;
    vertical-align: top;
    max-width: 80%
}

.article-content .link-card p {
    margin: 0
}

.article-content .link-card a {
    display: block
}

.article-content .link-card img {
    border: 1px solid #ddd;
    display: inline-block;
    margin-right: 5px
}

.article-content .infographic_block:after {
    clear: both;
    content: "";
    display: table
}

.article-content .infographic_block h3 {
    text-align: center
}

.article-content .infographic_block .element {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%
}

.article-content .infographic_block .element:last-child {
    margin-right: 0
}

@media (min-width:481px) {
    .article-content .infographic_block .element {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 31.7615656014%
    }

    .article-content .infographic_block .element:last-child,
    .article-content .infographic_block .element:nth-child(12),
    .article-content .infographic_block .element:nth-child(15),
    .article-content .infographic_block .element:nth-child(18),
    .article-content .infographic_block .element:nth-child(21),
    .article-content .infographic_block .element:nth-child(24),
    .article-content .infographic_block .element:nth-child(3),
    .article-content .infographic_block .element:nth-child(6),
    .article-content .infographic_block .element:nth-child(9) {
        margin-right: 0
    }
}

@media (min-width:900px) {
    .article-content .infographic_block .element {
        float: left;
        display: block;
        width: 23.2317613015%;
        margin-right: 0
    }

    .article-content .infographic_block .element:last-child {
        margin-right: 0
    }
}

.article-content .infographic_block .element img {
    display: block;
    width: 150px;
    height: 150px;
    margin: 0 auto
}

.article-content .infographic_block .element h4 {
    text-align: center
}

.article-content .infographic_block .element p {
    text-align: center;
    font-size: .8em
}

@media (min-width:900px) {
    .article-content .infographic_block.rows_7 .element:nth-child(6) {
        margin-left: 17.0596085997%
    }
}

.article-content .logo_repeater:after {
    clear: both;
    content: "";
    display: table
}

.article-content .logo_repeater .element {
    float: left;
    width: calc(50% - 10px)
}

@media (min-width:481px) {
    .article-content .logo_repeater .element {
        width: calc(33% - 10px)
    }
}

@media (min-width:900px) {
    .article-content .logo_repeater .element {
        width: 25%
    }
}

.article-content .logo_repeater .element img {
    display: block;
    width: 100px;
    height: 100px;
    margin: 1em auto
}

body>div.page-wrapper.whats-on>div>section.page-header {
    margin-top: 0 !important
}

.whats-on .breadcrumbs {
    display: none
}

.whats-on .main-content img {
    width: 100%
}

.whats-on .main-content .article-content .read-more {
    width: 100%;
    text-align: right;
    margin: -1em 0 .6em !important
}

.whats-on .main-content .article-content .read-more a {
    text-transform: uppercase;
    font-size: .8125em;
    font-weight: 700;
    display: block;
    cursor: pointer
}

.whats-on .main-content .article-content h3 {
    font-size: 1em
}

@media (min-width:900px) {
    .whats-on .main-content .article-content h3 {
        font-size: 1.4em
    }
}

.whats-on .main-content .event-info {
    padding: 0 0 1em;
    clear: both;
    display: block
}

.whats-on .main-content .event-info:after {
    clear: both;
    content: "";
    display: table
}

.whats-on .main-content .event-description {
    max-height: 100%;
    margin-bottom: 1em
}

.whats-on .main-content .event-description.open {
    max-height: 100%
}

.whats-on .main-content .event-description p {
    margin: 1.5rem 0 0;
    line-height: 1.8rem
}

.whats-on .main-content .event-description .read-more {
    margin: 0 0 .6em !important
}

.whats-on .main-content .event-over {
    background: #ffe8e6
}

.whats-on .main-content .event-over p {
    color: #db2828;
    padding: .625em;
    margin-top: .625em;
    font-weight: 700;
    text-align: center;
    line-height: 1.1em
}

.whats-on .main-content img.event-img {
    display: block
}

.whats-on .main-content .event-categories {
    margin-top: .5em;
    font-size: .8125em;
    color: #383f44
}

.whats-on .main-content .event-categories:after {
    clear: both;
    content: "";
    display: table
}

.whats-on .main-content .event-info ul {
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
    float: left;
    display: block;
    width: 100%;
    margin-right: 0
}

.whats-on .main-content .event-info ul:last-child {
    margin-right: 0
}

@media (min-width:900px) {
    .whats-on .main-content .event-info ul {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 40.2913699012%
    }

    .whats-on .main-content .event-info ul:last-child {
        margin-right: 0
    }
}

@media (min-width:481px) {
    .whats-on .main-content .event-info ul {
        margin-top: 1em;
        margin-bottom: 1em
    }
}

.whats-on .main-content .event-info ul li {
    list-style: none;
    padding: 8px 0;
    margin-top: 0;
    margin-bottom: 0;
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 48.821174201%
}

.whats-on .main-content .event-info ul li:last-child {
    margin-right: 0
}

.whats-on .main-content .event-info ul li:nth-child(2n) {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 40.2913699012%
}

.whats-on .main-content .event-info ul li:nth-child(2n):last-child {
    margin-right: 0
}

@media (min-width:600px) {
    .whats-on .main-content .event-info ul li {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 23.2317613015%
    }

    .whats-on .main-content .event-info ul li:last-child {
        margin-right: 0
    }

    .whats-on .main-content .event-info ul li:nth-child(2n) {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 23.2317613015%
    }

    .whats-on .main-content .event-info ul li:nth-child(2n):last-child {
        margin-right: 0
    }
}

@media (min-width:900px) {
    .whats-on .main-content .event-info ul li {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 100%
    }

    .whats-on .main-content .event-info ul li:last-child {
        margin-right: 0
    }

    .whats-on .main-content .event-info ul li:nth-child(2n) {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 100%
    }

    .whats-on .main-content .event-info ul li:nth-child(2n):last-child {
        margin-right: 0
    }
}

.whats-on .main-content .event-info ul li .icon {
    width: 22px;
    height: 18px;
    margin-right: 12px;
    position: relative;
    top: 3px
}

.whats-on .main-content dl {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%
}

.whats-on .main-content dl:after {
    clear: both;
    content: "";
    display: table
}

.whats-on .main-content dl:last-child {
    margin-right: 0
}

@media (min-width:900px) {
    .whats-on .main-content dl {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 57.3509785009%
    }

    .whats-on .main-content dl:last-child {
        margin-right: 0
    }
}

.whats-on .main-content dd,
.whats-on .main-content dt {
    display: block;
    float: left;
    margin-left: 0;
    padding: .3em 0;
    max-width: 330px
}

.whats-on .main-content dt {
    clear: left;
    min-width: 75px;
    font-weight: 700
}

@media (min-width:481px) {
    .whats-on .main-content dt {
        min-width: 85px
    }
}

.whats-on .article-content h3 {
    font-size: 1.4em;
    text-align: center;
    margin-bottom: 1.2em
}

.addthis_sharing_toolbox {
    margin-bottom: 1em;
    text-align: center
}

.author {
    background: #ddd;
    padding: 1em;
    margin-bottom: 1em
}

.author:after {
    clear: both;
    content: "";
    display: table
}

.author img {
    border-radius: 50%;
    float: left;
    margin-right: 1em;
    width: 120px;
    height: 120px
}

.author .author-name {
    font-size: 1.5em;
    font-family: Blogger Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif
}

.author .author-bio,
.author .author-bio p {
    font-size: .9em;
    line-height: 1.4em;
    font-style: italic
}

.ss-inline-share-wrapper {
    margin-top: 0
}

.ss-inline-share-wrapper:before {
    content: "Share: ";
    display: inline-block;
    vertical-align: top;
    margin-top: 8px;
    margin-right: 10px;
    font-weight: 700
}

.gallery .article-content {
    padding: 0
}

.gallery .article-content p {
    text-align: center;
    text-transform: uppercase;
    font-family: Blogger Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif
}

.gallery .gallery-item {
    padding: 1em
}

@media (max-width:481px) {
    .gallery .gallery-item {
        width: 100% !important
    }
}

.gallery .gallery-item img {
    max-width: 450px;
    width: 100%;
    height: auto
}

@media (max-width:481px) {
    .gallery .gallery-item img {
        max-width: 100%
    }
}

.attachment .article-content {
    padding: 2em 0;
    text-align: center
}

.attachment .article-content img {
    padding: 0 1em;
    max-width: 850px;
    width: 100%;
    margin: 0 auto;
    height: auto
}

.date-published {
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 2em;
    font-size: 1.1em
}

.date-published span {
    font-weight: 700
}

.single-work_story .date-published span,
.work .date-published span {
    color: #c1872f
}

.live .date-published span,
.single-live_story .date-published span {
    color: #0e78c8
}

.single-study_story .date-published span,
.study .date-published span {
    color: #ed2691
}

.whats-on .date-published span {
    color: #8c65d4
}

.invest .date-published span,
.single-invest_story .date-published span {
    color: #4da44f
}

.page-template-default .article-content .accordion-container ul {
    padding: 0;
    list-style: none;
    margin: 0 0 2rem;
    border: 1px solid #e3e3e3
}

.page-template-default .article-content .accordion-container ul li {
    margin: 0;
    padding: .4rem
}

.page-template-default .article-content .accordion-container ul li:nth-child(2n) {
    background-color: #fafafa
}

.page-template-default .article-content .accordion-container ul li:nth-child(odd) {
    background-color: #fff
}

.page-template-default .article-content .accordion-container ul li a {
    color: #094d81
}

.page-template-default .article-content .accordion-container dt {
    border-bottom: 1px solid #ddd;
    padding: .5rem 0
}

.page-template-default .article-content .accordion-container dt a {
    color: #000e13;
    display: block
}

.page-template-default .article-content .accordion-container dt a i {
    float: right;
    width: 1rem;
    height: 1rem;
    margin-right: 1rem;
    margin-top: .5rem;
    transition: all .5s ease-in-out
}

.page-template-default .article-content .accordion-container dt a.active i {
    transform: rotate(180deg)
}

.page-template-default .article-content .accordion-container dd {
    margin: 0;
    padding: 0
}

.page-template-default .article-content .accordion-container dd p {
    margin: 0;
    padding: .2rem
}

@media (min-width:481px) {
    .home .banner-container {
        margin-top: 0
    }
}

.whats-on-filter {
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    background-color: #8c65d4;
    padding: 1em
}

.whats-on-filter .whats-on-filter-form {
    max-width: 750px;
    margin: 0 auto;
    overflow: hidden
}

.whats-on-filter h1 {
    color: #fff;
    text-transform: uppercase;
    margin-top: 0
}

.whats-on-filter input[type=checkbox] {
    display: none
}

.whats-on-filter select {
    text-transform: uppercase;
    color: #000e13
}

.whats-on-filter .select-style {
    vertical-align: top;
    display: inline-block;
    border-radius: 1px;
    overflow: hidden;
    background: #fff url(../svg/arrow-down-icon-black.svg) no-repeat 94% 50%;
    background-size: 6%;
    width: 100%
}

.whats-on-filter .select-style select {
    width: 110%;
    padding: 8px 50px 8px 15px;
    border: none;
    box-shadow: none;
    background: 0 0;
    background-image: none;
    -webkit-appearance: none
}

.whats-on-filter .select-style select:focus {
    outline: 0
}

.whats-on-filter fieldset {
    width: 33%;
    margin: 0 auto;
    float: left;
    border: none;
    padding-left: 0;
    padding-right: 0;
    text-align: center
}

.whats-on-filter fieldset legend {
    padding-top: .9375em;
    font-weight: 700
}

.whats-on-filter fieldset label {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 3px 10px;
    text-transform: uppercase;
    font-size: .9em;
    display: inline-block;
    margin: 5px 2px
}

.whats-on-filter fieldset label.hover-enabled:hover,
.whats-on-filter fieldset label.selected {
    cursor: pointer;
    background-color: #fff;
    color: #8c65d4
}

.whats-on-filter #whats-on-dates {
    padding: .35em .625em
}

@media (max-width:768px) {
    .whats-on-filter fieldset {
        width: 50%
    }

    .whats-on-filter fieldset#recurring_panel {
        width: 100% !important
    }
}

.stories-filter {
    text-align: center;
    background-color: #c8102e;
    padding: 1em
}

.stories-filter,
.stories-filter h1 {
    color: #fff;
    text-transform: uppercase
}

.stories-filter h1 {
    margin-top: 0
}

.stories-filter input[type=checkbox] {
    display: none
}

.stories-filter .input-style {
    vertical-align: top;
    display: inline-block;
    border-radius: 1px;
    overflow: hidden;
    width: 80%
}

.stories-filter .input-style input {
    width: 100%;
    padding: .35em .625em;
    color: #000e13
}

.stories-filter .input-style input::-moz-placeholder {
    color: #383f44
}

.stories-filter .input-style input:-ms-input-placeholder {
    color: #383f44
}

.stories-filter .input-style input::placeholder {
    color: #383f44
}

.stories-filter .input-style input:active,
.stories-filter .input-style input:focus {
    outline: 0;
    border-color: #383f44
}

.stories-filter fieldset {
    max-width: 750px;
    margin: 0 auto;
    border: none;
    padding-left: 0;
    padding-right: 0
}

.stories-filter fieldset legend {
    padding-top: .9375em;
    font-weight: 700
}

.stories-filter fieldset label {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 3px 10px;
    text-transform: uppercase;
    font-size: .9em;
    display: inline-block;
    margin: 5px 2px
}

.stories-filter fieldset label.hover-enabled:hover,
.stories-filter fieldset label.selected {
    cursor: pointer;
    background-color: #fff;
    color: #8c65d4
}

.search-results-header {
    padding-top: .8em;
    padding-bottom: .2em;
    width: 100%;
    background: #383f44
}

@media (min-width:900px) {
    .search-results-header {
        margin-top: 110px
    }
}

.search-results-header .wrapper {
    padding: 0 10px
}

.search-results-header input[type=text] {
    width: 100%;
    font-size: 2.5em;
    padding: .2em .5em;
    color: #b5b5b5
}

.search-results-header fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

.search-results-header .select-style {
    vertical-align: top;
    display: inline-block;
    position: absolute;
    bottom: 10px;
    right: 10px;
    overflow: hidden;
    background: #fff url(../svg/arrow-down-icon-black.svg) no-repeat 90% 55%;
    background-size: 15%
}

.search-results-header .select-style select {
    width: 110%;
    padding: .3em 2.5em .3em .65rem;
    border: none;
    box-shadow: none;
    background: 0 0;
    background-image: none;
    -webkit-appearance: none
}

.search-results-header .select-style select .select-style select:focus {
    outline: 0
}

.search-results-header header {
    font-size: 1.2em
}

.search-results-header header h1 {
    color: #b5b5b5;
    margin: 0;
    padding: 0
}

.search-results-header header span {
    font-size: 1.7em;
    display: block
}

.entry-content img {
    margin: 0 0 1.5em
}

.alignleft,
img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left
}

@media (max-width:650px) {

    .alignleft,
    img.alignleft {
        width: 100%;
        height: auto;
        float: none;
        margin-right: 0
    }
}

.alignright,
img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right
}

@media (max-width:650px) {

    .alignright,
    img.alignright {
        width: 100%;
        height: auto;
        float: none;
        margin-left: 0
    }
}

.aligncenter,
img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both
}

@media (max-width:650px) {

    .aligncenter,
    img.aligncenter {
        width: 100%;
        height: auto
    }
}

.article-content p img,
.wp-caption img {
    max-width: 100%;
    height: auto
}

.wp-caption {
    margin-bottom: 1.5em;
    text-align: center;
    padding-top: 5px;
    max-width: 100%
}

.wp-caption img {
    border: 0;
    padding: 0;
    margin: 0
}

.wp-caption p.wp-caption-text {
    line-height: 1.5;
    font-size: .9em;
    margin: 0
}

@media (max-width:481px) {
    .wp-caption p.wp-caption-text {
        font-size: .8em
    }
}

.wp-smiley {
    margin: 0 !important;
    max-height: 1em
}

blockquote {
    text-align: center;
    font-size: 1.8rem;
    line-height: 2.2rem;
    color: #0e78c8;
    max-width: 46rem;
    margin: 2.75rem auto;
    padding: 0 2rem
}

blockquote:before {
    display: block;
    width: 100%;
    content: "\201C";
    text-align: center;
    font-size: 5.5rem;
    line-height: 5.5rem;
    height: 4rem;
    font-family: Georgia, Times New Roman, Times, serif;
    font-weight: 700
}

blockquote p {
    margin: 0
}

.page-wrapper .article-content blockquote,
.page-wrapper .article-content blockquote p {
    color: #0e78c8;
    font-size: 1.6rem;
    line-height: 2rem;
    font-weight: 700
}

.page-wrapper .article-content blockquote p:before,
.page-wrapper .article-content blockquote:before {
    color: #0e78c8
}

.page-wrapper .article-content blockquote p {
    margin-top: 0
}

.live .page-wrapper .page-wrapper .article-content blockquote,
.live .page-wrapper .page-wrapper .article-content blockquote p,
.live .page-wrapper .page-wrapper .article-content blockquote p:before,
.live .page-wrapper .page-wrapper .article-content blockquote:before,
.single-live_story .page-wrapper .article-content blockquote,
.single-live_story .page-wrapper .article-content blockquote p,
.single-live_story .page-wrapper .article-content blockquote p:before,
.single-live_story .page-wrapper .article-content blockquote:before {
    color: #0e78c8
}

.single-work_story .page-wrapper .article-content blockquote,
.single-work_story .page-wrapper .article-content blockquote p,
.single-work_story .page-wrapper .article-content blockquote p:before,
.single-work_story .page-wrapper .article-content blockquote:before,
.work .page-wrapper .article-content blockquote,
.work .page-wrapper .article-content blockquote p,
.work .page-wrapper .article-content blockquote p:before,
.work .page-wrapper .article-content blockquote:before {
    color: #c1872f
}

.single-study_story .page-wrapper .article-content blockquote,
.single-study_story .page-wrapper .article-content blockquote p,
.single-study_story .page-wrapper .article-content blockquote p:before,
.single-study_story .page-wrapper .article-content blockquote:before,
.study .page-wrapper .article-content blockquote,
.study .page-wrapper .article-content blockquote p,
.study .page-wrapper .article-content blockquote p:before,
.study .page-wrapper .article-content blockquote:before {
    color: #ed2691
}

.invest .page-wrapper .article-content blockquote,
.invest .page-wrapper .article-content blockquote p,
.invest .page-wrapper .article-content blockquote p:before,
.invest .page-wrapper .article-content blockquote:before,
.single-invest_story .page-wrapper .article-content blockquote,
.single-invest_story .page-wrapper .article-content blockquote p,
.single-invest_story .page-wrapper .article-content blockquote p:before,
.single-invest_story .page-wrapper .article-content blockquote:before {
    color: #4da44f
}

.single-whats-on .page-wrapper .article-content blockquote,
.single-whats-on .page-wrapper .article-content blockquote p,
.single-whats-on .page-wrapper .article-content blockquote p:before,
.single-whats-on .page-wrapper .article-content blockquote:before,
.whats-on .page-wrapper .article-content blockquote,
.whats-on .page-wrapper .article-content blockquote p,
.whats-on .page-wrapper .article-content blockquote p:before,
.whats-on .page-wrapper .article-content blockquote:before {
    color: #8c65d4
}

.ext-resource {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-top: 2px solid #148471 !important;
    margin: 1em 0;
    padding: 1em;
    position: relative
}

.ext-resource:after {
    clear: both;
    content: "";
    display: table
}

.ext-resource .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 500;
    cursor: pointer
}

.ext-resource h2 {
    width: 100%;
    margin: 0 0 .2em
}

.ext-resource h2 a {
    color: #383f44 !important
}

.ext-resource .img {
    width: 150px;
    height: 150px;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: 50% !important;
    margin: 0 10px 0 0;
    float: left
}

@media (max-width:650px) {
    .ext-resource .img {
        width: 125px;
        height: 125px;
        background-size: cover !important;
        margin: 8px 8px 0 0
    }
}

.ext-resource p {
    margin: 0;
    display: inline;
    float: none;
    line-height: 1.8em
}

@media (max-width:650px) {
    .ext-resource p {
        line-height: 1.6em
    }
}

.cookie-notice {
    display: none;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 501;
    width: 100%;
    background: rgba(0, 165, 218, .85);
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 10px
}

.cookie-notice a {
    color: #fff;
    text-decoration: underline;
    text-transform: none
}

.cookie-notice .inner {
    display: block;
    width: 86%;
    margin: 0 auto
}

.cookie-notice #cookie-close {
    background-repeat: no-repeat;
    background-position: 50%;
    float: right;
    height: 20px;
    width: 20px;
    margin-top: 3px;
    text-decoration: none
}

.floating-cookie-button-panel {
    position: fixed;
    z-index: 1000;
    bottom: 35px;
    left: 5px;
    font-size: 5px;
    padding: 2em;
    margin: -2em;
    display: inline-block
}

.floating-cookie-button-panel .visually-hidden {
    display: none
}

.floating-cookie-button-panel a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    border-radius: .25rem;
    background-color: #333;
    color: #fff
}

.floating-cookie-button-panel a svg {
    width: 1.8rem;
    height: 1.8rem;
    fill: #fff
}

.floating-cookie-button-panel a:hover {
    background-color: #fff;
    color: #333;
    border-color: #333;
    cursor: pointer
}

.floating-cookie-button-panel a:hover svg {
    fill: #333
}

.article-content #cookie-policy-description,
.article-content h3.ot-sdk-cookie-policy-title,
.article-content h4.ot-sdk-cookie-policy-group,
.article-content p.ot-sdk-cookie-policy-group-desc {
    text-transform: none;
    color: #383f44 !important;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif !important
}

.article-content h3.ot-sdk-cookie-policy-title {
    font-weight: 700 !important;
    font-size: 1em
}

@media (min-width:481px) {
    .article-content h3.ot-sdk-cookie-policy-title {
        font-size: 1.2em
    }
}

@media (min-width:900px) {
    .article-content h3.ot-sdk-cookie-policy-title {
        font-size: 1.4em
    }
}

.article-content #cookie-policy-description,
.article-content h4.ot-sdk-cookie-policy-group,
.article-content p.ot-sdk-cookie-policy-group-desc {
    line-height: 2rem !important;
    margin-bottom: 2rem !important;
    margin-top: 2rem !important
}

@media (min-width:481px) {

    .article-content #cookie-policy-description,
    .article-content h4.ot-sdk-cookie-policy-group,
    .article-content p.ot-sdk-cookie-policy-group-desc {
        font-size: 1rem !important
    }
}

@media (min-width:900px) {

    .article-content #cookie-policy-description,
    .article-content h4.ot-sdk-cookie-policy-group,
    .article-content p.ot-sdk-cookie-policy-group-desc {
        font-size: 1.1rem !important
    }
}

.article-content h4.ot-sdk-cookie-policy-group {
    font-weight: 700 !important;
    margin-bottom: -2rem !important
}

.article-content #ot-sdk-cookie-policy table,
.article-content #ot-sdk-cookie-policy td,
.article-content #ot-sdk-cookie-policy th {
    color: #383f44 !important;
    font-family: Open Sans, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif !important
}

.article-content .ot-sdk-container {
    width: 100%;
    padding: 0 !important
}

.notices_wrap {
    position: relative;
    width: 100%;
    background: #148471;
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 4px 10px 10px;
    line-height: 1.2em
}

.notices_wrap a {
    color: #fff;
    text-decoration: underline;
    text-transform: none
}

.notices_wrap .notice {
    width: 86%;
    margin: 0 auto
}

.notices_wrap .notice span {
    display: block
}

.notices_wrap .notice span:before {
    content: " ";
    display: inline-block;
    position: relative;
    background-image: url(../svg/alert.svg), linear-gradient(transparent, transparent);
    background-size: 100%;
    background-position: 0;
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    top: 4px;
    margin-right: 5px
}

.page-wrapper .newsletter {
    background: #0e78c8;
    color: #fff;
    padding: 1rem
}

.page-wrapper .newsletter__inner {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    text-align: center
}

.page-wrapper .newsletter__inner:after {
    clear: both;
    content: "";
    display: table
}

.page-wrapper .newsletter__inner p {
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    font-size: 1.4rem;
    margin: 0 0 .5rem
}

.page-wrapper .newsletter__inner__row:after {
    clear: both;
    content: "";
    display: table
}

.page-wrapper .newsletter__inner__col {
    float: left;
    display: block;
    margin-right: 2.3576515979%;
    width: 100%
}

.page-wrapper .newsletter__inner__col:last-child {
    margin-right: 0
}

@media screen and (min-width:481px) {
    .page-wrapper .newsletter__inner__col {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 48.821174201%
    }

    .page-wrapper .newsletter__inner__col:last-child {
        margin-right: 0
    }
}

@media screen and (min-width:481px) and (max-width:649px) {
    .page-wrapper .newsletter__inner__col:nth-child(2) {
        margin-right: 0
    }
}

@media screen and (min-width:650px) {
    .page-wrapper .newsletter__inner__col {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 31.7615656014%
    }

    .page-wrapper .newsletter__inner__col:last-child {
        margin-right: 0
    }
}

.page-wrapper .newsletter__inner__col label {
    display: none
}

.page-wrapper .newsletter__inner__col button,
.page-wrapper .newsletter__inner__col input {
    display: block;
    width: 100%;
    padding: .5rem;
    background: #000;
    background: rgba(0, 0, 0, .5);
    color: inherit;
    border: 2px solid transparent;
    line-height: 1.5rem;
    margin: 2.35765% 0 0;
    box-sizing: border-box
}

.page-wrapper .newsletter__inner__col button::-webkit-input-placeholder,
.page-wrapper .newsletter__inner__col input::-webkit-input-placeholder {
    color: #fff
}

.page-wrapper .newsletter__inner__col button:-moz-placeholder,
.page-wrapper .newsletter__inner__col button::-moz-placeholder,
.page-wrapper .newsletter__inner__col input:-moz-placeholder,
.page-wrapper .newsletter__inner__col input::-moz-placeholder {
    color: #fff
}

.page-wrapper .newsletter__inner__col button:-ms-input-placeholder,
.page-wrapper .newsletter__inner__col input:-ms-input-placeholder {
    color: #fff
}

.page-wrapper .newsletter__inner__col button:focus,
.page-wrapper .newsletter__inner__col input:focus {
    outline: 0 !important;
    box-shadow: none !important;
    border-color: #fff !important
}

.page-wrapper .newsletter__inner__col button.mce_inline_error,
.page-wrapper .newsletter__inner__col button.mce_inline_error:focus,
.page-wrapper .newsletter__inner__col input.mce_inline_error,
.page-wrapper .newsletter__inner__col input.mce_inline_error:focus {
    border-color: #a92727 !important;
    background: #f78787
}

@media screen and (min-width:481px) {
    .page-wrapper .newsletter__inner__col.submit {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 100%
    }

    .page-wrapper .newsletter__inner__col.submit:last-child {
        margin-right: 0
    }
}

@media screen and (min-width:650px) {
    .page-wrapper .newsletter__inner__col.submit {
        float: left;
        display: block;
        margin-right: 2.3576515979%;
        width: 31.7615656014%
    }

    .page-wrapper .newsletter__inner__col.submit:last-child {
        margin-right: 0
    }
}

.page-wrapper .newsletter__inner__col.submit input {
    width: 84%;
    float: left
}

.page-wrapper .newsletter__inner__col.submit button {
    width: 16%;
    background: #000;
    font-size: 1.5rem;
    line-height: 1.5rem
}

.page-wrapper .newsletter__inner__col.submit button .arrow {
    display: block;
    background-image: url(../png/chevron-right.png);
    background-image: url(../svg/chevron-right.svg), linear-gradient(transparent, transparent);
    height: 1.5rem;
    line-height: 1.5rem;
    width: 100%;
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat
}

.work .newsletter {
    background: #c1872f
}

.learn .newsletter {
    background: #ed2691
}

.whats-on .newsletter {
    background: #8c65d4
}

#mce-responses {
    margin-top: 1rem;
    color: #383f44
}

#mce-responses:after {
    clear: both;
    content: "";
    display: table
}

#mce-error-response,
#mce-success-response {
    padding: .4rem .8rem;
    font-weight: 600;
    font-size: .9rem;
    display: inline-block;
    border-radius: 3px
}

#mce-error-response {
    background: #efcdcc
}

#mce-success-response {
    background: #ccefe6
}

.img-slider {
    padding: 1rem 0
}

@media (max-width:1180px) {
    .img-slider header {
        padding: 0 10px
    }
}

.img-slider header h1 {
    margin: 0 0 1rem
}

.img-slider .article-slider-wrap {
    padding: 0
}

.img-slider .article-slider-wrap ul.article-slider {
    list-style: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
    text-align: left
}

.img-slider .article-slider-wrap ul.article-slider li {
    display: inline-block;
    float: none;
    margin: 0 5px;
    vertical-align: middle
}

.img-slider .article-slider-wrap ul.article-slider img {
    display: block;
    height: 450px;
    width: auto
}

@media (max-width:600px) {
    .img-slider .article-slider-wrap ul.article-slider img {
        height: 340px
    }
}

@media (max-width:400px) {
    .img-slider .article-slider-wrap ul.article-slider img {
        height: 260px
    }
}

.img-slider .article-slider-wrap ul.article-slider .slick-next,
.img-slider .article-slider-wrap ul.article-slider .slick-prev {
    font-size: 70px;
    line-height: 1;
    padding: 1rem 2rem
}

.img-slider .article-slider-wrap ul.article-slider .slick-next span,
.img-slider .article-slider-wrap ul.article-slider .slick-prev span {
    color: #383f44;
    font-size: 70px;
    height: 95px;
    left: 0;
    line-height: 1;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    width: 100%
}

.category-header {
    height: auto;
    padding-top: 0;
    padding-bottom: .2em;
    background-repeat: no-repeat !important;
    background-size: cover;
    background-position: 50%;
    width: 100%;
    background: #383f44
}

@media (min-width:481px) {
    .category-header {
        height: 12.5rem
    }
}

.category-header .header-image {
    height: 12.5rem
}

.category-header .header-image .banner-container {
    height: auto;
    padding-top: 60px
}

.category-header .header-image .banner-container h1 {
    padding: 0 5%
}

@media (min-width:900px) {
    .category-header .header-image .banner-container h1 {
        font-size: 3em
    }
}

@media (min-width:1000px) {
    .category-header .header-image .banner-container h1 {
        font-size: 4em
    }
}

@media (min-width:900px) {
    .category-header {
        margin-top: 98px
    }
}

.category-header .wrapper {
    padding: 0 10px
}

.category-header header {
    font-size: 1.2em
}

.category-header header h1 {
    color: #b5b5b5;
    margin: 0;
    padding: 0
}

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

.category-description {
    background: #fff
}

.category-description .wrapper {
    max-width: 600px;
    margin: 0 auto
}

.category-description .wrapper p {
    background: #fff;
    text-align: left;
    padding: 1.25rem 1.25rem .625rem;
    font-size: 1.05em
}

@media (min-width:481px) {
    .category-description .wrapper p {
        text-align: center
    }
}

.other-categories {
    background: #000
}

.other-categories h2 {
    color: #fff;
    margin: 0 auto;
    padding: 20px;
    text-transform: uppercase;
    text-align: center
}

.other-categories ul {
    text-align: center;
    padding-left: 0
}

.other-categories ul li {
    width: 120px;
    height: auto;
    vertical-align: top;
    text-align: center;
    display: inline-block;
    color: #fff;
    font-weight: 700;
    font-size: .9em;
    margin: .625rem
}

.other-categories ul li img {
    width: 90px;
    height: 90px;
    border-radius: 45px
}

@media (min-width:481px) {
    .other-categories ul li img {
        width: 120px;
        height: 120px;
        border-radius: 60px
    }
}

.other-categories ul li a {
    color: #fff;
    text-decoration: none
}

html {
    box-sizing: border-box
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    min-width: 320px
}

*,
:after,
:before {
    box-sizing: inherit
}

.main-content {
    position: relative
}

@media (min-width:900px) {
    .main-content {
        margin-top: 6.875em
    }

    .main-content.has-breadcrumbs {
        margin-top: 9.55em
    }

    .main-content.home {
        margin-top: 0
    }
}

.wrapper {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    position: relative
}

.wrapper:after {
    clear: both;
    content: "";
    display: table
}

.uneditable-input:focus,
input[type=color]:focus,
input[type=date]:focus,
input[type=datetime-local]:focus,
input[type=datetime]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
textarea {
    border-color: #0e78c8;
    box-shadow: inset 0 0 0 rgba(0, 0, 0, .1), 0 2px 1px #0e78c8;
    outline: 0 none
}

.slider {
    padding-top: 0;
    touch-action: pan-y;
    -ms-touch-action: pan-y
}

ul.slick-slider {
    width: 100% !important
}

.slick-next,
.slick-prev {
    height: 100%;
    width: 40px;
    background: hsla(0, 0%, 100%, .6);
    position: absolute;
    z-index: 100;
    border: 0;
    top: 0;
    text-align: center;
    cursor: pointer
}

.slick-prev {
    left: 0
}

.slick-next {
    right: 0
}

.slick-disabled {
    display: none !important
}

.slider::-webkit-scrollbar {
    display: none;
    width: 0 !important
}

.page-header .whats-on-categories {
    color: #fff;
    text-transform: uppercase;
    background-color: #8c65d4;
    padding: 0 1em .625em
}

.page-header .whats-on-categories a {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 3px 10px;
    text-transform: uppercase;
    font-size: .9em;
    display: inline-block;
    margin: 5px 2px;
    font-weight: 400;
    color: #fff
}

.page-header .whats-on-categories a.hover-enabled:hover,
.page-header .whats-on-categories a.selected {
    cursor: pointer;
    background-color: #fff;
    color: #8c65d4
}

.print-only {
    display: none
}

@media print {
    .print-only {
        display: block
    }

    .addthis_sharing_toolbox,
    .banner-container .banner-slider,
    .banner-container .pixel-overlay,
    .cards .overlay,
    .cards .text:before,
    .cards article .img,
    .cards article .location-icon,
    .categories,
    .cookie-notice,
    .ext-source-icon,
    .header-gradient,
    .instagram,
    .mail-icon,
    .main-content .cards.variable-sizes,
    .main-header,
    .slick-next,
    .slick-prev,
    .tweet-img,
    .tweets .profile-img,
    .video-overlay-full-width,
    footer {
        display: none !important
    }

    body {
        color: #000;
        background: #fff
    }

    a:after {
        content: " [" attr(href) "] ";
        font-size: .9em;
        font-weight: 400;
        text-transform: none;
        color: #555;
        word-break: break-all
    }

    .main-content {
        margin-top: 0
    }

    .main-content img {
        max-width: 100% !important;
        max-height: 350px !important;
        display: block !important;
        width: auto !important;
        height: auto !important
    }

    .main-content img.alignleft {
        display: inline !important;
        float: left !important;
        margin-right: 20px !important
    }

    .main-content img.alignright {
        display: inline !important;
        float: right !important;
        margin-left: 20px !important
    }

    .page-title {
        background: #fff !important
    }

    .page-title h1 {
        color: #000 !important
    }

    .article-content,
    .wrapper,
    article,
    section {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        max-width: none !important;
        width: 100% !important;
        height: auto !important;
        float: none !important;
        background-color: transparent !important;
        background-size: contain !important;
        background-repeat: no-repeat !important
    }

    .article-content {
        padding: 1em
    }

    .page-header {
        margin-top: 1em !important
    }

    article.event.card {
        display: inline-block;
        width: 270px !important;
        vertical-align: top
    }

    .media-banner {
        background: 0 0
    }

    .banner-container {
        height: auto;
        margin: 20px 0
    }

    .banner-container h1 {
        color: #000;
        width: 100%;
        text-align: left;
        position: relative;
        padding: 0;
        margin: 0;
        text-shadow: none
    }

    .banner-container h1 br {
        display: none
    }

    article {
        margin-bottom: 50px !important
    }

    .cards .text {
        position: relative !important;
        float: none !important;
        width: 100% !important;
        height: auto !important
    }

    .cards .text,
    .cards .text h2 {
        padding: 0 !important;
        margin: 0 !important
    }

    .cards .text h2 {
        color: #000 !important;
        width: 100%;
        text-shadow: none !important
    }

    .cards .text h2 br {
        display: none
    }

    .cards .text .read-more,
    .cards .text p {
        padding: 0 !important;
        margin: 0 !important
    }

    .cards .text .summary {
        max-height: none !important
    }

    .cards .text .summary .read-more {
        display: none !important
    }

    .slider,
    ul.slick-slider {
        height: auto !important
    }

    .slick-track {
        width: 96% !important;
        margin: 10px !important
    }

    .slick-slide,
    .tweets li {
        height: 17.5em !important;
        border-top: 0;
        height: auto !important;
        display: block !important;
        float: none !important;
        margin-bottom: 20px
    }

    .slick-slide .summary,
    .tweets li .summary {
        font-size: 1.1em !important
    }

    .slick-slide .source,
    .tweets li .source {
        position: relative;
        background: 0 0;
        color: #000;
        padding: 0
    }

    .slick-slide .text,
    .tweets li .text {
        padding: 10px 0 0
    }

    .slick-slide .time,
    .tweets li .time {
        position: relative;
        padding-top: 10px;
        bottom: auto;
        right: auto;
        display: block;
        color: #000
    }

    .slick-slide .time:after,
    .tweets li .time:after {
        content: "" !important
    }

    .slick-slide .time i,
    .tweets li .time i {
        display: none
    }

    .whats-on-filter {
        text-align: left;
        color: #000;
        background: 0 0;
        padding-left: 0
    }

    .whats-on-filter #whats-on-dates,
    .whats-on-filter fieldset {
        max-width: none;
        margin: 0;
        padding: 0
    }

    .cards article .text header {
        max-height: none !important
    }

    .cards article .text .location {
        right: 0
    }

    .whats-on .main-content dl {
        float: none;
        width: 100%;
        padding: 0;
        margin: 0
    }

    .whats-on .main-content dd,
    .whats-on .main-content dt {
        max-width: none
    }

    .whats-on .main-content ul:last-child {
        display: none
    }

    .whats-on .main-content .event-description {
        max-height: none !important
    }

    .whats-on .main-content .event-description .read-more {
        display: none
    }
}