/*
Theme Name: Attend - Friends Voices
Description: Custom theme now maintained by DigitalGarden.
Author: Considered Creative
Author URI: https://consideredcreative.com/
Version: 1.3.0
*/

/* resets
--------------------------------------------------------------------------
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    line-height: 1;
    overflow-y: scroll;
    box-sizing: border-box;
}
*,
*:before,
*:after {
    box-sizing: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}
audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
progress {
    vertical-align: baseline;
}
[hidden],
template {
    display: none;
}

svg:not(:root) {
    overflow: hidden;
}

img,
iframe {
    border: 0;
    vertical-align: middle;
}

strong {
    font-weight: bolder;
}
em {
    font-style: italic;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font: inherit;
    font-size: 100%;
    line-height: 1;
    vertical-align: baseline;
    color: inherit;
    outline: 0;
    border-radius: 0;
}
button,
input,
textarea {
    padding: 0;
}
button,
input {
    overflow: visible;
}
button,
select {
    text-transform: none;
}
textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}
input[type="radio"] {
    vertical-align: text-bottom;
}
input[type="checkbox"] {
    vertical-align: bottom;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
label,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
}
button[disabled],
input[disabled] {
    cursor: default;
}
button {
    width: auto;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border: 0;
    padding: 0;
}
input[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    vertical-align: top;
}
th {
    font-weight: normal;
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

ul,
ol {
    list-style: none;
}
li {
    display: list-item;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

a {
    color: #000;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    -webkit-text-decoration-skip: ink;
    text-decoration-skip: ink;
}
a:focus {
    outline: thin dotted;
}
a:active,
a:hover {
    outline: 0;
}

.hide {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

a,
span,
button {
    -webkit-transition:
        color 0.4s ease,
        background-color 0.4s ease,
        border-color 0.4s ease,
        opacity 0.4s ease,
        -webkit-text-decoration-color 0.4s ease;
    transition:
        color 0.4s ease,
        background-color 0.4s ease,
        border-color 0.4s ease,
        opacity 0.4s ease,
        -webkit-text-decoration-color 0.4s ease;
    transition:
        color 0.4s ease,
        background-color 0.4s ease,
        border-color 0.4s ease,
        opacity 0.4s ease,
        text-decoration-color 0.4s ease;
    transition:
        color 0.4s ease,
        background-color 0.4s ease,
        border-color 0.4s ease,
        opacity 0.4s ease,
        text-decoration-color 0.4s ease,
        -webkit-text-decoration-color 0.4s ease;
}

mark {
    font-weight: 700;
}

/* global
--------------------------------------------------------------------------
*/

body {
    padding: 60px 0 0;
    font:
        62.5%/1 myriad-pro,
        "Helvetica Neue",
        Arial,
        Helvetica,
        sans-serif;
    background: #fff;
    color: #000;
    text-align: center;
}

@media only screen and (min-width: 780px) {
    body {
        padding: 0;
    }
}

body > nav {
    width: 100%;
    height: 100%;
    padding: 85px 0 40px;
    position: fixed;
    top: 0;
    left: -100%;
    background: #7f266d;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-transition: left 0.4s ease;
    transition: left 0.4s ease;
    z-index: 98;
}
html.menu body > nav {
    left: 0;
}
body > nav ul {
    margin: 0 0 auto;
    font-size: 16px;
}
body > nav ul li a {
    padding: 12px 40px;
    color: #fff;
    display: block;
}
body > nav ul li ul {
    margin: 15px 40px;
    border-left: 2px solid #fff;
}
body > nav ul li ul li a {
    padding: 10px 20px;
    opacity: 0.6;
}
body > nav ul li ul li:first-child a {
    padding-top: 0;
}
body > nav ul li ul li:last-child a {
    padding-bottom: 0;
}
body > nav ul li.current-menu-item > a,
body > nav ul li.current-menu-parent > a,
body.post-type-archive-post > nav ul li.menu-item-object-the_collection > a,
body.single-the_collection > nav ul li.menu-item-object-the_collection > a,
body.single-albums > nav ul li.menu-item-object-albums > a,
body.single-organisations > nav ul li.menu-item-object-organisations > a,
body.single-news > nav ul li.menu-item-96 > a,
body.single-news > nav ul li.menu-item-object-news > a {
    font-weight: 700;
}
body > nav form.search {
    margin: 0 40px;
    position: relative;
    display: block;
}
body > nav form.search label {
    position: relative;
    display: block;
}
body > nav form.search label input {
    width: 100%;
    height: 42px;
    line-height: 42px;
    font-size: 15px;
    font-style: italic;
    padding: 0 14px;
    background: #fff;
    color: #666;
    border: 1px solid #f5f5f5;
    border-radius: 3px;
}
body > nav form.search button {
    width: 42px;
    height: 42px;
    font-size: 14px;
    background: #f5f5f5;
    color: #666;
    position: absolute;
    top: 0;
    right: 0;
    border: 0;
    border-radius: 0 3px 3px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
body > nav form.lang {
    margin: 20px 40px 0;
    position: relative;
    display: block;
}
body > nav form.lang label {
    position: relative;
    display: block;
}
body > nav form.lang label select {
    width: 100%;
    height: 42px;
    line-height: 42px;
    font-size: 15px;
    font-style: italic;
    padding: 0 14px;
    background: transparent;
    color: #fff;
    border: 1px solid #944d86;
    border-radius: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
body > nav form.lang label span {
    width: 42px;
    height: 42px;
    font-size: 14px;
    background: #944d86;
    color: #7f266d;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 3px 3px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    pointer-events: none;
}

@media only screen and (min-width: 780px) {
    body > nav {
        display: none;
    }
}

body > header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #030505;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 99;
}
body > header form {
    display: none;
}
body > header h1 {
    font-size: 16px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
body > header h1 a {
    padding: 0 14px;
    height: 60px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
body > header h1 a:before {
    width: 33px;
    height: 28px;
    margin: 0 12px 0 0;
    background: url(images/waves.svg) 50% 50% / contain no-repeat;
    content: " ";
    display: block;
}
body > header h1 a strong {
    margin: 0 0 0 6px;
    display: block;
}
body > header > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
body > header > ul li a {
    width: 60px;
    height: 60px;
    font-size: 20px;
    background: #4267b2;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
body > header > ul li button {
    width: 60px;
    height: 60px;
    background: #000;
    border: 0;
    position: relative;
    display: block;
}
body > header > ul li button span,
body > header > ul li button span:before,
body > header > ul li button span:after {
    width: 14px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 30px;
    left: 24px;
    display: block;
    -webkit-transition:
        background-color 0.4s ease,
        -webkit-transform 0.4s ease;
    transition:
        background-color 0.4s ease,
        -webkit-transform 0.4s ease;
    transition:
        transform 0.4s ease,
        background-color 0.4s ease;
    transition:
        transform 0.4s ease,
        background-color 0.4s ease,
        -webkit-transform 0.4s ease;
}
body > header > ul li button span:before,
body > header > ul li button span:after {
    left: 0;
    content: " ";
}
body > header > ul li button span:before {
    top: -5px;
}
body > header > ul li button span:after {
    top: 5px;
}
html.menu body > header > ul li button span {
    background-color: transparent;
}
html.menu body > header > ul li button span:before {
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
html.menu body > header > ul li button span:after {
    top: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
body > header p {
    display: none;
}
body > header nav {
    display: none;
}

@media only screen and (min-width: 780px) {
    body > header {
        position: relative;
        top: auto;
        left: auto;
        background: #fff;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    body > header form {
        position: absolute;
        top: 0;
        right: 40px;
        display: block;
        z-index: 2;
    }
    body > header form label {
        position: relative;
        display: block;
    }
    body > header form label select {
        height: 30px;
        line-height: 30px;
        font-size: 14px;
        font-style: italic;
        padding: 0 50px 0 10px;
        background: #f5f5f5;
        color: #333;
        border: 0;
        border-radius: 0 0 3px 3px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        cursor: pointer;
    }
    body > header form label span {
        width: 30px;
        height: 30px;
        font-size: 16px;
        background: #f5f5f5;
        color: #333;
        position: absolute;
        top: 0;
        right: 0;
        border-radius: 0 0 3px 3px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        pointer-events: none;
    }
    body > header h1 {
        font-size: 22px;
    }
    body > header h1 a {
        padding: 40px 40px 40px 132px;
        height: auto;
        color: #333;
        position: relative;
        text-align: left;
        display: block;
    }
    body > header h1 a:before {
        width: 66px;
        height: 56px;
        margin: 0;
        background-image: url(images/waves-alt.svg);
        position: absolute;
        top: 36px;
        left: 36px;
    }
    body > header h1 a strong {
        margin: 5px 0 0;
    }
    body > header > ul {
        position: absolute;
        bottom: 0;
        right: 0;
    }
    body > header > ul li a {
        width: 50px;
        height: 50px;
    }
    body > header > ul li + li {
        display: none;
    }
    body > header p {
        padding: 0 36px;
        font-size: 20px;
        font-weight: 300;
        font-style: italic;
        color: #333;
        display: block;
    }
    body > header nav {
        width: 100%;
        display: block;
    }
    body > header nav > ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    body > header nav > ul > li {
        position: relative;
    }
    body > header nav > ul > li + li {
        padding-left: 10px;
    }
    body > header nav > ul > li a {
        padding: 18px 38px;
        font-size: 16px;
        color: #333;
        display: block;
    }
    body > header nav > ul > li a:hover {
        color: #8c236b;
    }
    body > header nav > ul > li ul {
        width: 250px;
        position: absolute;
        top: 100%;
        left: 28px;
        background: #f5f5f5;
        box-shadow: 0px 8px 14px 0px rgba(0, 0, 0, 0.2);
        display: none;
    }
    body > header nav > ul > li:hover ul {
        display: block;
    }
    body > header nav > ul > li ul li a {
        padding: 17px 21px 18px;
    }
    body > header nav > ul li.current-menu-item > a,
    body > header nav > ul li.current-menu-parent > a,
    body.post-type-archive-post
        > header
        nav
        > ul
        li.menu-item-object-the_collection
        > a,
    body.single-the_collection
        > header
        nav
        > ul
        li.menu-item-object-the_collection
        > a,
    body.single-albums > header nav > ul li.menu-item-object-albums > a,
    body.single-organisations
        > header
        nav
        > ul
        li.menu-item-object-organisations
        > a,
    body.single-news > header nav > ul li.menu-item-96 > a,
    body.single-news > header nav > ul li.menu-item-object-news > a {
        font-weight: 700;
    }
}

body > .player {
    width: 100%;
    position: -webkit-sticky;
    position: sticky;
    top: 60px;
    background: #671565;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    z-index: 98;
}
body > .player audio {
    width: calc(100% - 40px);
    background: #f1f3f4;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}
body > .player button {
    width: 40px;
    height: 40px;
    padding: 0;
    background: #222;
    color: #fff;
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 0;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}
body > .player button i + i {
    display: none;
}
body > .player.open button i {
    display: none;
}
body > .player.open button i + i {
    display: block;
}
body > .player .details {
    width: 100%;
    text-align: left;
    position: relative;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.4s ease;
    transition: max-height 0.4s ease;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}
body > .player.open .details {
    max-height: 400px;
}
body > .player .details figure,
body > .player .details h1 {
    display: none;
}
body > .player .details ul {
    padding: 0 20px 1em;
    font-size: 12px;
}
body > .player .details ul li {
    padding: 1em 0 0;
}
body > .player .details ul li a {
    color: #ca9ec8;
}
body > .player .details ul li a:hover,
body > .player .details ul li.on a {
    color: #fff;
}

@media only screen and (max-width: 780px) {
    body > .player audio {
        height: 40px;
    }
}

@media only screen and (min-width: 780px) {
    body > .player {
        top: 0;
    }
    body > .player audio {
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    body > .player button {
        display: none;
    }
    body > .player .details {
        padding: 35px 40px;
        max-height: none;
        overflow: hidden;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    body > .player.open .details {
        max-height: none;
    }
    body > .player .details figure {
        margin: 0 30px 0 0;
        float: left;
        display: block;
    }
    body > .player .details figure img {
        width: 100px;
        height: 100px;
        box-shadow: 0px 8px 14px 0px rgba(0, 0, 0, 0.2);
    }
    body > .player .details h1 {
        margin: 0 0 0 130px;
        font-weight: 300;
        font-size: 20px;
        line-height: 120%;
        display: block;
    }
    body > .player .details ul {
        margin: 1em 0 0 130px;
        padding: 0;
        font-size: 14px;
        border-top: 1px solid #4e4e4e;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    body > .player .details ul li {
        padding: 1em 1em 0 0;
    }
}

@media only screen and (min-width: 1000px) {
    body > .player .details figure {
    }
    body > .player .details figure img {
        width: 150px;
        height: 150px;
    }
}

@media only screen and (min-width: 1200px) {
    body > .player .details figure {
        margin: -35px 30px -35px -40px;
    }
    body > .player .details figure img {
        width: 200px;
        height: 200px;
        box-shadow: none;
    }
}

body > .banner {
    position: relative;
    text-align: left;
}
body > .heading + .banner {
    margin-top: 25px;
}
body > .banner a {
    color: #fff;
    position: relative;
    display: block;
    overflow: hidden;
}
body > .banner figure img {
    width: 100%;
    height: auto;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition:
        transform 0.2s ease,
        -webkit-transform 0.2s ease;
}
body > .banner a:hover figure img {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}
body > .banner span {
    padding: 36px 39px 35px;
    background: url(images/banner-pattern.png) 0 0 / cover no-repeat;
    position: relative;
    display: block;
}
body > .banner span:before {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #671565;
    opacity: 0.5;
    content: " ";
    display: block;
}
body > .banner span h2 {
    font-family: linotype-didot, serif;
    font-size: 24px;
    line-height: 120%;
    position: relative;
    z-index: 2;
}
body > .banner span p {
    margin: 31px 5px 0;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    position: relative;
    z-index: 2;
}
body > .banner span p i {
    margin: 0 12px 0 0;
}

@media only screen and (min-width: 780px) {
    body > .heading + .banner {
        margin-top: 50px;
    }
    body > .banner figure {
        width: 54%;
        margin: 0 0 0 auto;
    }
    body > .banner span {
        width: 59%;
        height: 100%;
        padding: 0 0 3.571vw 6.786vw;
        background: url(images/banner-pattern-alt.png) 0 0 / 100% auto no-repeat;
        position: absolute;
        top: 0;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    body > .banner span:before {
        display: none;
    }
    body > .banner span h2 {
        max-width: 31.429vw;
        font-size: 3.929vw;
    }
    body > .banner span p {
        margin: 3.333em 0.208em 0;
        font-size: 1.714vw;
    }
    body > .banner span p i {
        margin-right: 0.75em;
    }
}

body > .breadcrumb {
    display: none;
}

@media only screen and (min-width: 780px) {
    body > .breadcrumb {
        border: 1px solid #ccc;
        border-width: 1px 0;
        position: relative;
        text-align: left;
        display: block;
    }
    body > .breadcrumb ol {
        padding: 22px 38px;
        font-size: 14px;
        color: #333;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    body > .breadcrumb ol li a {
        color: #8c236b;
        text-decoration: underline;
    }
    body > .breadcrumb ol li a:hover {
        -webkit-text-decoration-color: #fff;
        text-decoration-color: #fff;
    }
    body > .breadcrumb ol li i {
        margin: 0 18px;
    }
}

body > .heading {
    width: 780px;
    max-width: calc(100% - 40px);
    margin: 26px auto 0;
    position: relative;
}
body > .heading h1 {
    font-family: linotype-didot, serif;
    font-size: 34px;
    line-height: 120%;
}
body > .heading > i {
    margin: 0.4em 0 0;
    font-size: 17px;
    color: #8c236b;
}
body > .heading p {
    margin: 1em 0 0;
    font-size: 12px;
    line-height: 120%;
    text-transform: uppercase;
}
body > .heading .filter {
    margin: 12px 0 0;
}
body > .heading .filter label {
    position: relative;
    display: inline-block;
}
body > .heading .filter label select {
    width: 100%;
    height: 42px;
    line-height: 42px;
    padding: 0 62px 0 12px;
    font-size: 15px;
    font-style: italic;
    background: #fff;
    color: #333;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 1.732px 10px 0px rgba(0, 0, 0, 0.08);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
body > .heading .filter label i {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    background: #f5f5f5;
    color: #666;
    border: 0;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    pointer-events: none;
}

@media only screen and (min-width: 780px) {
    body > .heading {
        margin-top: 52px;
    }
    body > .heading h1 {
        font-size: 40px;
    }
    body > .heading > i {
        font-size: 20px;
    }
    body > .heading p {
        font-size: 14px;
    }
    body > .heading .filter {
        margin-top: 14px;
    }
}

body > figure.full {
    margin: 28px 0 0;
}
body > figure.full img {
    width: 100%;
    height: auto;
    box-shadow: 0px 8px 14px 0px rgba(0, 0, 0, 0.2);
}

@media only screen and (min-width: 780px) {
    body > figure.full {
        margin-top: 56px;
    }
}

body > .gen {
    width: 590px;
    max-width: calc(100% - 40px);
    margin: 45px auto 0;
    position: relative;
    text-align: left;
    color: #333;
}
body > .heading + .gen {
    margin-top: 22px;
}
body > figure.full + .gen {
    margin-top: 17px;
}
body > .gen a {
    color: #8c236b;
    text-decoration: underline;
}
body > .gen a:hover {
    -webkit-text-decoration-color: #fff;
    text-decoration-color: #fff;
}
body > .gen h2 {
    margin-top: 1.067em;
    font-family: linotype-didot, serif;
    font-size: 25px;
    line-height: 120%;
}
body > .gen h3 {
    margin-top: 1.042em;
    font-family: linotype-didot, serif;
    font-size: 20px;
    line-height: 120%;
}
body > .gen h4 {
    margin-top: 2em;
    font-weight: 700;
    font-size: 15px;
    line-height: 120%;
}
body > .gen p,
body > .gen ul,
body > .gen ol {
    margin-top: 1.563em;
    font-size: 14px;
    line-height: 143%;
}
body > .gen ul {
    margin-left: 3.375em;
    list-style: disc;
}
body > .gen ol {
    margin-left: 3.375em;
    list-style: decimal;
}
body > .gen p:first-child,
body > .gen ul:first-child,
body > .gen ol:first-child {
    margin-top: 0;
}
body > .gen ul.buttons {
    margin: 0;
    font-weight: 300;
    font-size: 17px;
    line-height: 100%;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
body > .gen ul.buttons li {
    margin: 1.7em 10px 0 0;
}
body > .gen ul.buttons li a {
    padding: 0.8em 0.95em 0.8em 1.1em;
    background: #8c236b;
    color: #fff;
    border-radius: 0.15em;
    text-decoration: none;
    position: relative;
    display: inline-block;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition:
        transform 0.2s ease,
        -webkit-transform 0.2s ease;
}
body > .gen ul.buttons li + li a {
    background: #671565;
}
body > .gen ul.buttons li a:hover {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}
body > .gen hr {
    width: 100%;
    height: 1px;
    margin: 20px 0 0;
    border: 0;
    background: #8c236b;
    display: block;
}
body > .gen figure.image {
    margin: 20px 0 0;
}
body > .gen figure.image img {
    width: 100%;
    height: auto;
    box-shadow: 0px 8px 14px 0px rgba(0, 0, 0, 0.2);
}
body > .gen figure.image + p,
body > .gen figure.image + ul,
body > .gen figure.image + ol {
    margin-top: 2em;
}
body > .gen figure.logo {
    width: 142px;
    margin: 20px auto 0;
    text-align: center;
}
body > .gen figure.logo img {
    width: 100%;
    height: auto;
}
body > .gen blockquote {
    margin: 24px 0 0;
    padding: 0 0 0 20px;
    border-left: 1px solid #8c236b;
    display: block;
}
body > .gen blockquote q {
    font-weight: 300;
    font-size: 24px;
    line-height: 115%;
    font-style: italic;
    color: #8c236b;
    display: block;
}
body > .gen blockquote cite {
    margin: 2.143em 0 0;
    font-size: 12px;
    display: block;
}
body > .gen blockquote cite strong {
    font-weight: 700;
}
body > .gen blockquote cite span:before {
    margin: 0 1.286em 0 1em;
    content: "|";
    display: inline-block;
}

body > .gen header {
    text-align: center;
}
body > .gen header h1 {
    font-family: linotype-didot, serif;
    font-size: 26px;
    line-height: 120%;
}
body > .gen header p {
    margin-top: 0.25em;
}

body > .gen form.search {
    width: 100%;
    max-width: 452px;
    margin: 22px auto 0;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 1.732px 10px 0px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
body > .gen form.search label {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
body > .gen form.search label input {
    width: 100%;
    height: 50px;
    line-height: 50px;
    padding: 0 18px;
    font-size: 15px;
    font-style: italic;
    background: #fff;
    color: #333;
    border: 0;
}
body > .gen form.search button {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 20px;
    background: #f5f5f5;
    color: #666;
    border: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

body > .gen .attend {
    padding: 0 0 26px;
    border-bottom: 1px solid #671565;
}
body > .gen .attend h1 {
    position: relative;
    text-align: center;
}
body > .gen .attend h1:before {
    width: 100%;
    height: 1px;
    background: #671565;
    position: absolute;
    top: calc(50% + 1px);
    left: 0;
    content: " ";
    display: block;
}
body > .gen .attend h1 span {
    padding: 0 24px;
    background: #fff;
    position: relative;
    display: inline-block;
    z-index: 2;
}
body > .gen .attend h1 span img {
    width: auto;
    height: 39px;
}
body > .gen .attend p {
    margin-top: 1.455em;
    padding: 0 40px;
    font-weight: 300;
    font-size: 18px;
    line-height: 136%;
    color: #8c236b;
}

@media only screen and (min-width: 780px) {
    body > .gen {
        margin-top: 90px;
    }
    body > .heading + .gen {
        margin-top: 44px;
    }
    body > figure.full + .gen {
        margin-top: 35px;
    }
    body > .gen h2 {
        font-size: 30px;
    }
    body > .gen h3 {
        font-size: 24px;
    }
    body > .gen h4 {
        font-size: 18px;
    }
    body > .gen p,
    body > .gen ul,
    body > .gen ol {
        font-size: 16px;
        line-height: 150%;
    }
    body > .gen ul.buttons {
        font-size: 20px;
    }
    body > .gen ul.buttons li {
        margin-right: 20px;
    }
    body > .gen hr {
        height: 2px;
        margin-top: 40px;
    }
    body > .gen figure.image {
        margin-top: 40px;
    }
    body > .gen figure.logo {
        width: 168px;
        margin: 25px 0 0 35px;
        float: right;
    }
    body > .gen blockquote {
        margin-top: 48px;
        padding-left: 40px;
        border-left-width: 2px;
    }
    body > .gen blockquote q {
        font-size: 28px;
    }
    body > .gen blockquote cite {
        font-size: 14px;
    }
    body > .gen blockquote.left,
    body > .gen blockquote.right {
        width: 274px;
        margin-bottom: 20px;
    }
    body > .gen blockquote.left {
        margin-right: 40px;
        float: left;
    }
    body > .gen blockquote.right {
        margin-left: 40px;
        float: right;
    }
    body > .gen blockquote.left + p,
    body > .gen blockquote.right + p {
        margin-top: 45px;
    }

    body > .gen header h1 {
        font-size: 40px;
    }

    body > .gen form.search {
        margin-top: 45px;
    }

    body > .gen .attend {
        padding-bottom: 52px;
        border-bottom-width: 2px;
    }
    body > .gen .attend h1:before {
        height: 2px;
        top: calc(50% - 1px);
    }
    body > .gen .attend h1 span {
        padding: 0 48px;
    }
    body > .gen .attend h1 span img {
        width: 159px;
        height: 46px;
    }
    body > .gen .attend p {
        padding: 0 40px;
        font-size: 22px;
    }
}

body > .section {
    max-width: 780px;
    margin: 27px auto 0;
    padding: 27px 0 0;
    color: #333;
    position: relative;
    text-align: left;
    border-top: 1px dashed #ccc;
}
body > .section a {
    color: #8c236b;
    text-decoration: underline;
}
body > .section a:hover {
    -webkit-text-decoration-color: #fff;
    text-decoration-color: #fff;
}
body > .section header {
    padding: 0 15px;
}
body > .section header h1 {
    font-family: linotype-didot, serif;
    font-size: 25px;
    line-height: 120%;
}
body > .section header ul {
    margin: 14px 0 0;
    padding: 0 30px;
    font-size: 14px;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
body > .section header ul li + li {
    margin: 0 0 0 1em;
}
body > .section header ul li.play {
    text-transform: lowercase;
}
body > .section header ul li.status {
    font-style: italic;
    color: #999;
    text-transform: lowercase;
    display: none;
}
body > .section.open header ul li.play {
    display: none;
}
body > .section.open header ul li.status {
    display: block;
}
body > .section .panel {
    position: relative;
}
body > .section.audio .panel {
    display: none;
}
body > .section .panel table {
    margin: 15px 45px 0;
    font-size: 12px;
    line-height: 143%;
}
body > .section .panel table td {
    padding: 0 1.857em 0 0;
}
body > .section .panel table td + td {
    padding: 0;
}
body > .section .panel table td ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
body > .section .panel table td ul li:after {
    padding: 0 0.5em;
    content: "|";
    color: #ccc;
    display: inline-block;
}
body > .section .panel table td ul li:last-child:after {
    display: none;
}
body > .section .panel p {
    margin: 1.5em 0 0;
    padding: 0 45px;
    font-size: 14px;
    line-height: 150%;
}
body > .section .panel p:first-child {
    margin-top: 0.25em;
}
body > .section .panel .gallery {
    margin: 7px -10px 0;
    position: relative;
}
body > .section .panel .gallery ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
body > .section .panel .gallery ul li {
    padding: 20px 10px 0;
}
body > .section .panel .gallery ul li a {
    position: relative;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition:
        transform 0.2s ease,
        -webkit-transform 0.2s ease;
    display: inline-block;
}
body > .section .panel .gallery ul li a:hover {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}
body > .section .panel .gallery ul li a img {
    width: auto;
    height: 110px;
    box-shadow: 0px 8px 14px 0px rgba(0, 0, 0, 0.2);
}

@media only screen and (min-width: 780px) {
    body > .section {
        margin-top: 54px;
        padding-top: 54px;
    }
    body > .section header {
        padding: 0 30px;
    }
    body > .section header h1 {
        font-size: 30px;
    }
    body > .section header ul {
        margin-top: 28px;
        padding: 0 60px;
        font-size: 16px;
    }
    body > .section .panel table {
        margin: 30px 90px 0;
        font-size: 14px;
    }
    body > .section .panel p {
        padding: 0 90px;
        font-size: 16px;
    }
    body > .section .panel .gallery {
        margin: 14px -20px 0;
    }
    body > .section .panel .gallery ul li {
        padding: 40px 20px 0;
    }
    body > .section .panel .gallery ul li a img {
        height: 220px;
    }
}

body > .gallery {
    margin: 7px 0 0;
    position: relative;
}
body > .gallery ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
body > .gallery ul li {
    padding: 20px 10px 0;
}
body > .gallery ul li a {
    position: relative;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition:
        transform 0.2s ease,
        -webkit-transform 0.2s ease;
    display: inline-block;
}
body > .gallery ul li a:hover {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}
body > .gallery ul li a img {
    width: auto;
    height: 110px;
    box-shadow: 0px 8px 14px 0px rgba(0, 0, 0, 0.2);
}

@media only screen and (min-width: 780px) {
    body > .gallery {
        margin-top: 14px;
    }
    body > .gallery ul li {
        padding: 40px 20px 0;
    }
    body > .gallery ul li a img {
        height: 220px;
    }
}

body > .media {
    width: 780px;
    max-width: calc(100% - 40px);
    margin: 27px auto 0;
    position: relative;
}
body > .media h2 {
    max-width: 600px;
    margin: 0 auto;
    font-family: linotype-didot, serif;
    font-size: 25px;
    line-height: 120%;
    text-align: left;
}
body > .media figure {
    margin: 17px auto 0;
}
body > .media figure.audio {
    max-width: 600px;
}
body > .media figure.audio audio {
    width: 100%;
}
body > .media figure.video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}
body > .media figure.video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

@media only screen and (min-width: 780px) {
    body > .media {
        margin-top: 54px;
    }
    body > .media h2 {
        font-size: 30px;
    }
    body > .media figure {
        margin-top: 34px;
    }
}

.articles {
    width: 780px;
    max-width: calc(100% - 40px);
    margin: 100px auto 0;
    padding: 65px 0 0;
    border-top: 1px dashed #ccc;
    text-align: left;
}
body > .banner + .articles {
    margin-top: 0;
    border-top: 0;
}
.articles .grid-sizer {
    width: 360px;
}
.articles .gutter-sizer {
    width: 60px;
}
.articles > h1 {
    width: 100%;
    padding: 0.7em 0 0;
    font-family: linotype-didot, serif;
    font-size: 34px;
    line-height: 120%;
    color: #333;
    position: relative;
    text-align: center;
}
.articles form {
    width: 100%;
    padding: 0 0 20px;
    position: relative;
}
.articles form ul li.text {
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 1.732px 10px 0px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.articles form ul li.text label {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.articles form ul li.text label input {
    width: 100%;
    height: 50px;
    line-height: 50px;
    padding: 0 18px;
    font-size: 15px;
    font-style: italic;
    background: #fff;
    color: #333;
    border: 0;
}
.articles form ul li.text button {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 20px;
    background: #f5f5f5;
    color: #666;
    border: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.articles form ul li.select label {
    position: relative;
    display: block;
}
.articles form ul li.select label select {
    height: 50px;
    line-height: 50px;
    padding: 0 68px 0 18px;
    font-size: 15px;
    font-style: italic;
    background: #fff;
    color: #333;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 1.732px 10px 0px rgba(0, 0, 0, 0.08);
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.articles form ul li.select label i {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 20px;
    background: #f5f5f5;
    color: #666;
    border: 0;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    pointer-events: none;
}
.articles article {
    width: 360px;
    padding: 60px 0 0;
}
.articles article > a {
    color: #333;
    box-shadow: 4px 7px 14px 0px rgba(0, 0, 0, 0.2);
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition:
        transform 0.2s ease,
        -webkit-transform 0.2s ease;
    position: relative;
    display: block;
}
.articles article > a:hover {
    -webkit-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
}
.articles article header {
    padding: 51px 37px 35px 37px;
}
.articles article figure + header {
    padding-top: 34px;
}
.articles article header h1 {
    font-weight: 300;
    font-size: 24px;
    line-height: 120%;
}
.articles article.album header h1 {
    color: #8c236b;
}
.articles article.organisation header h1 {
    color: #8c236b;
}
.articles article header p {
    font-size: 16px;
    line-height: 150%;
}
.articles article a > p {
    padding: 16px 20px 14px;
    font-size: 14px;
    background: #f5f5f5;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.articles article a > p strong {
    font-weight: 700;
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.articles article a > p strong i {
    margin: 0 10px 0 0;
    font-size: 20px;
}
.articles article a > span {
    padding: 19px 29px 17px 20px;
    font-size: 12px;
    text-transform: uppercase;
    background: #8c236b;
    color: #fff;
    position: absolute;
    top: -22px;
    left: -10px;
    box-shadow: 5px 8.66px 6px 0px rgba(0, 0, 0, 0.3);
    z-index: 2;
}
.articles article a > span i {
    margin-right: 0.667em;
}
.articles article.news a > span {
    background: #c6403b;
}

@media only screen and (min-width: 780px) {
    .articles > h1 {
        font-size: 40px;
    }
    .articles form {
        padding-bottom: 40px;
    }
    .articles form ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .articles form ul li.text {
        width: 50%;
    }
}

@media only screen and (max-width: 820px) {
    .articles .grid-sizer {
        width: calc(50% - 30px);
    }
    .articles article {
        width: calc(50% - 30px);
    }
    .articles article figure img {
        width: 100%;
        height: auto;
    }
}

@media only screen and (max-width: 780px) {
    .articles {
        margin-top: 50px;
        padding-top: 10px;
    }
    .articles .grid-sizer {
        width: 100%;
    }
    .articles .gutter-sizer {
        width: 0;
    }
    .articles article {
        width: 100%;
    }
}

body > .collection {
    width: 980px;
    max-width: calc(100% - 40px);
    margin: 0px auto 0;
    text-align: left;
}
body > .collection aside {
    padding: 20px 0 0;
}
body > .collection aside h2 {
    font-family: linotype-didot, serif;
    font-size: 20px;
    line-height: 120%;
}
body > .collection aside h2 ~ h2 {
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px dashed #ccc;
}
body > .collection aside ul {
    margin: 15px 0 0;
}
body > .collection aside ul.search li {
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 1.732px 10px 0px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
body > .collection aside ul.search li label {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
body > .collection aside ul.search li label input {
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding: 0 12px;
    font-size: 15px;
    font-style: italic;
    background: #fff;
    color: #333;
    border: 0;
}
body > .collection aside ul.search li button {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    background: #f5f5f5;
    color: #666;
    border: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
body > .collection aside ul.checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
body > .collection aside ul.checkbox li {
    margin: 0 20px 0 0;
}
body > .collection aside ul.checkbox li label {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
body > .collection aside ul.checkbox li label input {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}
body > .collection aside ul.checkbox li label span {
    padding: 0 0 0 20px;
    position: relative;
    display: block;
}
body > .collection aside ul.checkbox li label span i {
    position: absolute;
    top: calc(50% - 0.5em);
    left: 0;
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
}
body > .collection aside ul.checkbox li label span i + i {
    opacity: 0;
}
body > .collection aside ul.checkbox li label input:checked + span i {
    opacity: 0;
}
body > .collection aside ul.checkbox li label input:checked + span i + i {
    opacity: 1;
}
body > .collection aside ul.select li + li {
    margin-top: 8px;
}
body > .collection aside ul.select li label {
    position: relative;
    display: block;
}
body > .collection aside ul.select li label select {
    width: 100%;
    height: 42px;
    line-height: 42px;
    padding: 0 62px 0 12px;
    font-size: 15px;
    font-style: italic;
    background: #fff;
    color: #333;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 1.732px 10px 0px rgba(0, 0, 0, 0.08);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
body > .collection aside ul.select li label i {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    background: #f5f5f5;
    color: #666;
    border: 0;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    pointer-events: none;
}
body > .collection .listing {
    padding: 62px 0 0;
}
body > .collection .listing > header {
    text-align: center;
}
body > .collection .listing > header h1 {
    font-family: linotype-didot, serif;
    font-size: 40px;
    line-height: 120%;
    color: #333;
}
body > .collection .listing > header p {
    margin: 1.786em 0 0;
    font-weight: 700;
    font-size: 14px;
    line-height: 120%;
    color: #333;
}
body > .collection .listing .articles {
    width: 100%;
    max-width: 100%;
    margin: 40px 0 0;
    padding: 0;
    border-top: 0;
}
body > .collection .listing .articles article {
    width: 100%;
    margin: 40px 0 0;
    padding: 0;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition:
        transform 0.2s ease,
        -webkit-transform 0.2s ease;
}
body > .collection .listing .articles article:hover {
    -webkit-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
}
body > .collection .listing .articles article a:hover {
    -webkit-transform: none;
    transform: none;
}
body > .collection .listing .articles article header h1 {
    color: #8c236b;
}
body > .collection .listing .articles article.news header h1 {
    color: #c6403b;
}
body > .collection .listing .articles article header h1 img {
    margin: -10px 0 10px 20px;
    float: right;
}
body > .collection .listing .articles article header p {
    margin-top: 0.438em;
}
body > .collection .listing .articles article header button {
    margin: 10px 0 0;
    padding: 0;
    font-size: 16px;
    color: #8c236b;
    background: none;
    border: 0;
}
body > .collection .listing .articles article header button span {
    display: block;
}
body > .collection .listing .articles article header button span i {
    margin: 0 0 0 5px;
    font-size: 14px;
}
body > .collection .listing .articles article header button span + span {
    display: none;
}
body > .collection .listing .articles article header button.open span {
    display: none;
}
body > .collection .listing .articles article header button.open span + span {
    display: block;
}
body > .collection .listing .articles article .audio {
    padding: 36px 37px 32px;
    background: #fafafa;
    box-shadow: 4px 7px 14px 0px rgba(0, 0, 0, 0.2);
    position: relative;
    border-top: 1px dashed #ccc;
    color:  #333;
    display: none;
}
body > .collection .listing .articles article .audio ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
body > .collection .listing .articles article .audio ul li + li {
    margin-top: 28px;
}
body > .collection .listing .articles article .audio ul li h2 {
    font-weight: 300;
    font-size: 24px;
}
body > .collection .listing .articles article .audio ul li h2 a {
    color: #8c236b;
    text-decoration: underline;
    -webkit-text-decoration-color: #fafafa;
    text-decoration-color: #fafafa;
}
body > .collection .listing .articles article .audio ul li h2 a:hover {
    -webkit-text-decoration-color: #8c236b;
    text-decoration-color: #8c236b;
}
body > .collection .listing .articles article .audio ul li time {
    margin: 0 0 0 20px;
    font-size: 14px;
}
body > .collection .listing .articles article .audio ul li time i {
    margin: 0 8px 0 0;
}
body > .collection .listing .articles article .audio ul li p {
    width: 100%;
    margin: 8px 0 0;
    font-size: 16px;
    line-height: 150%;
}
body > .collection .listing .articles article .tags {
    padding: 16px 37px 14px;
    font-size: 14px;
    line-height: 150%;
    background: #fff;
    box-shadow: 4px 7px 14px 0px rgba(0, 0, 0, 0.2);
    position: relative;
    border-top: 1px dashed #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
body > .collection .listing .articles article .tags p {
    white-space: nowrap;
}
body > .collection .listing .articles article .tags ol {
    margin: 0 0 0 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
body > .collection .listing .articles article .tags ol li:after {
    padding: 0 6px;
    color: #ccc;
    content: "|";
    display: inline;
}
body > .collection .listing .articles article .tags ol li:last-child:after {
    display: none;
}
body > .collection .listing .articles article .tags a {
    color: #8c236b;
    text-decoration: underline;
}
body > .collection .listing .articles article .tags a:hover {
    -webkit-text-decoration-color: #fff;
    text-decoration-color: #fff;
}

@media only screen and (min-width: 440px) and (max-width: 780px) {
    body > .collection aside ul.select {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    body > .collection aside ul.select li {
        width: calc(50% - 10px);
        margin-top: 8px;
    }
}

@media only screen and (min-width: 780px) {
    body > .collection {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    body > .collection aside {
        width: 200px;
        padding-top: 110px;
    }
    body > .collection aside ul.checkbox {
        display: block;
    }
    body > .collection aside ul.checkbox li {
        margin: 0;
    }
    body > .collection aside ul.checkbox li + li {
        margin-top: 16px;
    }
    body > .collection aside ul.checkbox li label span {
        padding-left: 30px;
    }
    body > .collection .listing {
        width: 740px;
        max-width: calc(100% - 240px);
    }
}

.paging {
    width: 780px;
    max-width: calc(100% - 40px);
    margin: 50px auto 0;
    padding: 18px 0 0;
    border-top: 1px dashed #ccc;
    text-align: left;
}
body > .collection .listing .paging {
    max-width: 100%;
    margin-top: 25px;
}
.paging a {
    color: #8c236b;
    text-decoration: underline;
}
.paging a:hover {
    -webkit-text-decoration-color: #fff;
    text-decoration-color: #fff;
}
.paging ul {
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 780px) {
    .paging {
        margin-top: 100px;
        padding-top: 36px;
    }
    body > .collection .listing .paging {
        margin-top: 50px;
    }
    .paging ul {
        font-size: 16px;
    }
}

body > .form {
    width: 780px;
    max-width: calc(100% - 40px);
    margin: 30px auto 0;
    padding: 46px 0 0;
    border-top: 1px dashed #ccc;
    color: #333;
    display: none;
}
body > .form .gform_heading h3 {
    font-family: linotype-didot, serif;
    font-size: 32px;
    line-height: 120%;
}
body > .form form > .validation_error,
body > .form form > .gform_confirmation_message {
    margin-top: 1.563em;
    font-weight: 700;
    font-size: 14px;
    line-height: 143%;
}
body > .form .gform_body {
    max-width: 402px;
    margin: 0 auto;
    text-align: left;
}
body > .form .gform_body ul {
    margin: 24px 0 0;
}
body > .form .gform_body ul li {
    margin: 18px 0 0;
    position: relative;
}
body > .form .gform_body ul li:first-child {
    margin-top: 0;
}
body > .form .gform_body ul li label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}
body > .form .gform_body ul li input[type="text"],
body > .form .gform_body ul li input[type="email"],
body > .form .gform_body ul li select,
body > .form .gform_body ul li textarea {
    width: 100%;
    height: 52px;
    line-height: 52px;
    padding: 0 68px 0 18px;
    font-size: 15px;
    font-style: italic;
    background: #fff;
    color: #333;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.08);
    border: 1px solid #e8e8e8;
}
body > .form .gform_body ul li select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
body > .form .gform_body ul li textarea {
    padding-top: 1em;
    padding-bottom: 1em;
    height: 452px;
    line-height: 133%;
}
body > .form .gform_body ul li i {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 20px;
    background: #f5f5f5;
    color: #666;
    border: 0;
    position: absolute;
    top: 1px;
    right: 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    pointer-events: none;
}
body > .form .gform_body ul li .validation_message {
    font-size: 1.2em;
    font-weight: 700;
    text-transform: uppercase;
    padding: 1em 0 0;
    color: #f00;
    letter-spacing: 0.1em;
}
body > .form .gform_footer {
    max-width: 402px;
    margin: 20px auto 0;
    text-align: left;
}
body > .form .gform_footer input[type="submit"] {
    font-weight: 700;
    font-size: 15px;
    height: 52px;
    line-height: 52px;
    padding: 0 20px;
    background: #8c236b;
    color: #fff;
    text-decoration: none;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    box-shadow: 1px 1.732px 10px 0px rgba(0, 0, 0, 0.08);
    position: relative;
    display: inline-block;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition:
        transform 0.2s ease,
        -webkit-transform 0.2s ease;
}
body > .form .gform_footer input[type="submit"]:hover {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}

@media only screen and (min-width: 780px) {
    body > .form {
        margin-top: 60px;
        padding-top: 92px;
    }
    body > .form .gform_heading h3 {
        font-size: 40px;
    }
    body > .form form > .validation_error,
    body > .form form > .gform_confirmation_message {
        font-size: 16px;
        line-height: 150%;
    }
    body > .form .gform_body ul {
        margin-top: 48px;
    }
}

@-webkit-keyframes cd-bounce-1 {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
    }
    100% {
        -webkit-transform: scale(1);
    }
}
@-moz-keyframes cd-bounce-1 {
    0% {
        opacity: 0;
        -moz-transform: scale(0.5);
    }
    60% {
        opacity: 1;
        -moz-transform: scale(1.2);
    }
    100% {
        -moz-transform: scale(1);
    }
}
@keyframes cd-bounce-1 {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.5);
        -moz-transform: scale(0.5);
        -ms-transform: scale(0.5);
        -o-transform: scale(0.5);
        transform: scale(0.5);
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2);
    }
    100% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
}
@-webkit-keyframes cd-bounce-2 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(20px);
    }
    100% {
        -webkit-transform: translateX(0);
    }
}
@-moz-keyframes cd-bounce-2 {
    0% {
        opacity: 0;
        -moz-transform: translateX(-100px);
    }
    60% {
        opacity: 1;
        -moz-transform: translateX(20px);
    }
    100% {
        -moz-transform: translateX(0);
    }
}
@keyframes cd-bounce-2 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100px);
        -moz-transform: translateX(-100px);
        -ms-transform: translateX(-100px);
        -o-transform: translateX(-100px);
        transform: translateX(-100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(20px);
        -moz-transform: translateX(20px);
        -ms-transform: translateX(20px);
        -o-transform: translateX(20px);
        transform: translateX(20px);
    }
    100% {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
}
@-webkit-keyframes cd-bounce-2-inverse {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(-20px);
    }
    100% {
        -webkit-transform: translateX(0);
    }
}
@-moz-keyframes cd-bounce-2-inverse {
    0% {
        opacity: 0;
        -moz-transform: translateX(100px);
    }
    60% {
        opacity: 1;
        -moz-transform: translateX(-20px);
    }
    100% {
        -moz-transform: translateX(0);
    }
}
@keyframes cd-bounce-2-inverse {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100px);
        -moz-transform: translateX(100px);
        -ms-transform: translateX(100px);
        -o-transform: translateX(100px);
        transform: translateX(100px);
    }
    60% {
        opacity: 1;
        -webkit-transform: translateX(-20px);
        -moz-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
        -o-transform: translateX(-20px);
        transform: translateX(-20px);
    }
    100% {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
}

body .cd-wrapper {
    margin: 2.6em 0 0;
    position: relative;
    display: none;
}
body .cd-wrapper::before {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 0;
    left: 32px;
    background: #8c236b;
    content: "";
    display: block;
    border-radius: 50%;
}
body .cd-wrapper::after {
    width: 16px;
    height: 16px;
    position: absolute;
    bottom: 0;
    left: 32px;
    background: #8c236b;
    content: "";
    display: block;
    border-radius: 50%;
}
body .cd-wrapper .cd-container {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 32px 20px 0;
    position: relative;
}
body .cd-wrapper .cd-container::before {
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 39px;
    background: #8c236b;
    content: "";
    display: block;
}
body .cd-wrapper .cd-container .cd-timeline-block {
    position: relative;
    text-align: left;
}
body .cd-wrapper .cd-container .cd-timeline-block::after {
    content: "";
    clear: both;
    display: table;
}
body .cd-wrapper .cd-container .cd-timeline-block + .cd-timeline-block {
    margin: 2em 0 0;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    background: #fff;
    color: #8c236b;
    border: 4px solid #8c236b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-img i {
    font-size: 20px;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content {
    margin: 0 0 0 60px;
    padding: 1em 20px 2em;
    position: relative;
    background: #8c236b;
    border-radius: 3px;
    color: #fff;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content::before {
    width: 0;
    height: 0;
    position: absolute;
    top: 16px;
    right: 100%;
    border: 7px solid transparent;
    border-right-color: #8c236b;
    content: "";
    display: block;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content h2 {
    padding: 0 0 14px;
    font-size: 2.5em;
    line-height: 120%;
    font-weight: 900;
    border-bottom: 1px solid #fff;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content p {
    margin: 1em 0 0;
    font-size: 1.3em;
    line-height: 120%;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content p a {
    color: #fff;
    text-decoration: underline;
}
body
    .cd-wrapper
    .cd-container
    .cd-timeline-block
    .cd-timeline-content
    p
    a:hover {
    text-decoration: none;
}
body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content img {
    margin: 20px auto 0;
    display: block;
}
body > .gen.cd-toggle {
    margin-top: 0px;
}
body > .gen.cd-toggle ul.buttons {
    justify-content: center;
}
body > .gen.cd-toggle ul.buttons li {
    margin-right: 0;
}

@media only screen and (min-width: 980px) {
    body .cd-wrapper::before,
    body .cd-wrapper::after {
        left: 50%;
        margin-left: -8px;
    }
    body .cd-wrapper .cd-container:before {
        left: 50%;
        margin-left: -1px;
    }
    body .cd-wrapper .cd-wrapper .cd-timeline-block + .cd-timeline-block {
        margin: -50px 0 0;
    }
    body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-img {
        width: 74px;
        height: 74px;
        left: 50%;
        margin-left: -37px;
        -webkit-transform: translateZ(0);
        -webkit-backface-visibility: hidden;
    }
    body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-img i {
        font-size: 40px;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block
        .cd-timeline-img.is-hidden {
        visibility: hidden;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block
        .cd-timeline-img.bounce-in {
        visibility: visible;
        -webkit-animation: cd-bounce-1 0.6s;
        -moz-animation: cd-bounce-1 0.6s;
        animation: cd-bounce-1 0.6s;
    }
    body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content {
        width: 410px;
        margin: 0;
        float: left;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block
        .cd-timeline-content::before {
        top: 30px;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block:nth-child(odd)
        .cd-timeline-content::before {
        right: auto;
        left: 100%;
        border-right-color: transparent;
        border-left-color: #8c236b;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block:nth-child(even)
        .cd-timeline-content {
        float: right;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block
        .cd-timeline-content.is-hidden {
        visibility: hidden;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block
        .cd-timeline-content.bounce-in {
        visibility: visible;
        -webkit-animation: cd-bounce-2 0.6s;
        -moz-animation: cd-bounce-2 0.6s;
        animation: cd-bounce-2 0.6s;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block:nth-child(even)
        .cd-timeline-content.bounce-in {
        -webkit-animation: cd-bounce-2-inverse 0.6s;
        -moz-animation: cd-bounce-2-inverse 0.6s;
        animation: cd-bounce-2-inverse 0.6s;
    }
    body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content img {
        margin: 20px 0 0;
        float: right;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block
        .cd-timeline-content
        img
        ~ p {
        margin-right: 160px;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block:nth-child(even)
        .cd-timeline-content
        img {
        float: left;
    }
    body
        .cd-wrapper
        .cd-container
        .cd-timeline-block:nth-child(even)
        .cd-timeline-content
        img
        ~ p {
        margin-right: 0;
        margin-left: 160px;
    }
    body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content h2 {
        font-size: 3.5em;
    }
    body .cd-wrapper .cd-container .cd-timeline-block .cd-timeline-content p {
        font-size: 1.6em;
    }
    body > .gen.cd-toggle ul.buttons li {
        margin-right: 0;
    }
}

body.single-news > .heading i {
    color: #c6403b;
}
body.single-news > .gen a {
    color: #c6403b;
}
body.single-news > .gen ul.buttons li a {
    background: #c6403b;
    color: #fff;
}
body.single-news > .gen hr {
    background: #c6403b;
}
body.single-news > .gen blockquote {
    border-left-color: #c6403b;
}
body.single-news > .gen blockquote q {
    color: #c6403b;
}

body > footer {
    margin: 128px 0 0;
    position: relative;
}
body > footer > ul {
    width: 980px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
body > footer > ul li {
    max-width: calc(50% - 40px);
    width: 167px;
}
body > footer > ul li + li {
    width: 159px;
}
body > footer > ul li img {
    width: 100%;
    height: auto;
}
body > footer div {
    margin: 36px 0 0;
    background: #f5f5f5;
}
body > footer div ul {
    width: 980px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    padding: 18px 0 16px;
    font-size: 14px;
    line-height: 150%;
}
body > footer div ul li a {
    color: #666;
}
body > footer div ul li a:hover {
    color: #000;
}

@media only screen and (min-width: 780px) {
    body > footer div ul {
        line-height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    body > footer div ul li + li:before {
        padding: 0 9px;
        color: #ccc;
        content: "|";
        display: inline-block;
    }
}

body > ul.top {
    display: none;
}

@media only screen and (min-width: 780px) {
    body > ul.top {
        position: fixed;
        bottom: 10px;
        right: 10px;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.4s ease;
        display: block;
        z-index: 98;
    }
    body > ul.top.headroom--unpinned {
        opacity: 1;
        pointer-events: auto;
    }
    body > ul.top li a {
        font-size: 20px;
        padding: 0.5em;
        background: #8c236b;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
    overflow: hidden;
}
.modaal-accessible-hide {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}
.modaal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0;
}
.modaal-wrapper {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: auto;
    opacity: 1;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
    border: none;
    background: 0 0;
    padding: 0;
    -webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
    opacity: 0;
}
.modaal-wrapper [tabindex="0"] {
    outline: 0 !important;
}
.modaal-wrapper.modaal-fullscreen {
    overflow: hidden;
}
.modaal-outer-wrapper {
    display: table;
    position: relative;
    width: 100%;
    height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
    display: block;
}
.modaal-inner-wrapper {
    display: table-cell;
    width: 100%;
    height: 100%;
    position: relative;
    vertical-align: middle;
    text-align: center;
    padding: 80px 25px;
}
.modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top;
}
.modaal-container {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: auto;
    text-align: left;
    color: #000;
    max-width: 1000px;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    cursor: auto;
}
.modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden;
}
.modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto;
}
.modaal-close {
    position: fixed;
    right: 20px;
    top: 20px;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0);
    border-radius: 100%;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.modaal-close:focus,
.modaal-close:hover {
    outline: 0;
    background: #fff;
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
    background: #b93d0c;
}
.modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}
.modaal-close:after,
.modaal-close:before {
    display: block;
    content: " ";
    position: absolute;
    top: 14px;
    left: 23px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
}
.modaal-close:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.modaal-close:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px;
}
.modaal-content-container {
    padding: 30px;
}
.modaal-confirm-wrap {
    padding: 30px 0 0;
    text-align: center;
    font-size: 0;
}
.modaal-confirm-btn {
    font-size: 14px;
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    background: 0 0;
}
.modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
}
.modaal-confirm-btn.modaal-ok:hover {
    background: #2f2f2f;
}
.modaal-confirm-btn.modaal-cancel {
    text-decoration: underline;
}
.modaal-confirm-btn.modaal-cancel:hover {
    text-decoration: none;
    color: #2f2f2f;
}
.modaal-instagram .modaal-container {
    width: auto;
    background: 0 0;
    box-shadow: none !important;
}
.modaal-instagram .modaal-content-container {
    padding: 0;
    background: 0 0;
}
.modaal-instagram .modaal-content-container > blockquote {
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}
.modaal-instagram iframe {
    opacity: 0;
    margin: -6px !important;
    border-radius: 0 !important;
    width: 1000px !important;
    max-width: 800px !important;
    box-shadow: none !important;
    -webkit-animation: instaReveal 1s linear forwards;
    animation: instaReveal 1s linear forwards;
}
.modaal-image .modaal-inner-wrapper {
    padding-left: 140px;
    padding-right: 140px;
}
.modaal-image .modaal-container {
    width: auto;
    max-width: 100%;
}
.modaal-gallery-wrap {
    position: relative;
    color: #fff;
}
.modaal-gallery-item {
    display: none;
}
.modaal-gallery-item img {
    display: block;
}
.modaal-gallery-item.is_active {
    display: block;
}
.modaal-gallery-label {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 20px 0 0;
    font-size: 18px;
    text-align: center;
    color: #fff;
}
.modaal-gallery-label:focus {
    outline: 0;
}
.modaal-gallery-control {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 1;
    cursor: pointer;
    color: #fff;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0);
    border: none;
    border-radius: 100%;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default;
}
.modaal-gallery-control:focus,
.modaal-gallery-control:hover {
    outline: 0;
    background: #fff;
}
.modaal-gallery-control:focus:after,
.modaal-gallery-control:focus:before,
.modaal-gallery-control:hover:after,
.modaal-gallery-control:hover:before {
    background: #afb7bc;
}
.modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}
.modaal-gallery-control:after,
.modaal-gallery-control:before {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
}
.modaal-gallery-control:before {
    margin: -5px 0 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.modaal-gallery-control:after {
    margin: 5px 0 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.modaal-gallery-next-inner {
    left: 100%;
    margin-left: 40px;
}
.modaal-gallery-next-outer {
    right: 45px;
}
.modaal-gallery-prev:after,
.modaal-gallery-prev:before {
    left: 22px;
}
.modaal-gallery-prev:before {
    margin: 5px 0 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.modaal-gallery-prev:after {
    margin: -5px 0 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.modaal-gallery-prev-inner {
    right: 100%;
    margin-right: 40px;
}
.modaal-gallery-prev-outer {
    left: 45px;
}
.modaal-video-wrap {
    margin: auto 50px;
    position: relative;
}
.modaal-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    background: #000;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
}
.modaal-video-container embed,
.modaal-video-container iframe,
.modaal-video-container object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.modaal-iframe .modaal-content {
    width: 100%;
    height: 100%;
}
.modaal-iframe-elem {
    width: 100%;
    height: 100%;
    display: block;
}
.modaal-loading-spinner {
    background: 0 0;
    position: absolute;
    width: 200px;
    height: 200px;
    top: 50%;
    left: 50%;
    margin: -100px 0 0 -100px;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
}
.modaal-loading-spinner > div {
    width: 24px;
    height: 24px;
    margin-left: 4px;
    margin-top: 4px;
    position: absolute;
}
.modaal-loading-spinner > div > div {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: #fff;
}
.modaal-loading-spinner > div:nth-of-type(1) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}
.modaal-loading-spinner > div:nth-of-type(2) > div,
.modaal-loading-spinner > div:nth-of-type(3) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite;
}
.modaal-loading-spinner > div:nth-of-type(1) {
    -webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}
.modaal-loading-spinner > div:nth-of-type(2) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0.12s;
    animation-delay: 0.12s;
}
.modaal-loading-spinner > div:nth-of-type(2) {
    -webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}
.modaal-loading-spinner > div:nth-of-type(3) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0.25s;
    animation-delay: 0.25s;
}
.modaal-loading-spinner > div:nth-of-type(4) > div,
.modaal-loading-spinner > div:nth-of-type(5) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite;
}
.modaal-loading-spinner > div:nth-of-type(3) {
    -webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}
.modaal-loading-spinner > div:nth-of-type(4) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0.37s;
    animation-delay: 0.37s;
}
.modaal-loading-spinner > div:nth-of-type(4) {
    -webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}
.modaal-loading-spinner > div:nth-of-type(5) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}
.modaal-loading-spinner > div:nth-of-type(6) > div,
.modaal-loading-spinner > div:nth-of-type(7) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite;
}
.modaal-loading-spinner > div:nth-of-type(5) {
    -webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}
.modaal-loading-spinner > div:nth-of-type(6) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0.62s;
    animation-delay: 0.62s;
}
.modaal-loading-spinner > div:nth-of-type(6) {
    -webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}
.modaal-loading-spinner > div:nth-of-type(7) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0.75s;
    animation-delay: 0.75s;
}
.modaal-loading-spinner > div:nth-of-type(7) {
    -webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}
.modaal-loading-spinner > div:nth-of-type(8) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0.87s;
    animation-delay: 0.87s;
}
.modaal-loading-spinner > div:nth-of-type(8) {
    -webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}
@media only screen and (min-width: 1400px) {
    .modaal-video-container {
        padding-bottom: 0;
        height: 731px;
    }
}
@media only screen and (max-width: 1140px) {
    .modaal-image .modaal-inner-wrapper {
        padding-left: 25px;
        padding-right: 25px;
    }
    .modaal-gallery-control {
        top: auto;
        bottom: 20px;
        -webkit-transform: none;
        transform: none;
        background: rgba(0, 0, 0, 0.7);
    }
    .modaal-gallery-control:after,
    .modaal-gallery-control:before {
        background: #fff;
    }
    .modaal-gallery-next {
        left: auto;
        right: 20px;
    }
    .modaal-gallery-prev {
        left: 20px;
        right: auto;
    }
}
@media screen and (max-width: 900px) {
    .modaal-instagram iframe {
        width: 500px !important;
    }
}
@media only screen and (max-width: 600px) {
    .modaal-instagram iframe {
        width: 280px !important;
    }
}
@media screen and (max-height: 1100px) {
    .modaal-instagram iframe {
        width: 700px !important;
    }
}
@media screen and (max-height: 1000px) {
    .modaal-inner-wrapper {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .modaal-instagram iframe {
        width: 600px !important;
    }
}
@media screen and (max-height: 900px) {
    .modaal-instagram iframe {
        width: 500px !important;
    }
    .modaal-video-container {
        max-width: 900px;
        max-height: 510px;
    }
}
@media only screen and (max-height: 820px) {
    .modaal-gallery-label {
        display: none;
    }
}
@keyframes instaReveal {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-webkit-keyframes instaReveal {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-webkit-keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
    100% {
        opacity: 0.1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
@keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
    100% {
        opacity: 0.1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

/* Media Focus Point images */

figure.focus-point img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

figure.aspect-1x1 img {
    aspect-ratio: 1 / 1;
}

figure.aspect-16x10 img {
    aspect-ratio: 16 / 10;
}

/* Footer copyright */
.copyright {
    width: 980px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    padding: 18px 0 16px;
    font-size: 14px;
    text-align: left;
    color: #666;
}

.copyright a {
    color: #666;
}

.copyright a:hover {
    text-decoration: underline;
}

.copyright img {
    max-width: 1em;
    max-height: 1em;
    margin-left: 0.2em;
    margin-top: -0.2em;
}
