/* //////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// GLOBAL /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ---------------------------------------------------------------------- RESET --- */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////// RESET /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ---------------------------------------------------------------------- RESET --- */
*,
*:after,
*:before
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    outline: none;

    -webkit-tap-highlight-color: transparent;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section
{
    display: block;
}

body
{
    line-height: 1;
}

ol,
ul
{
    list-style: none;
}

blockquote,
q
{
    quotes: none;
}

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

sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

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

input,
textarea,
button,
select
{
    font-family: inhert;
    font-size: inherit;

    color: inherit;

    -webkit-appearance: none;
       -moz-appearance: none;
}

select
{
    text-indent: .01px;
    text-overflow: '';

    border: 0;
    border-radius: 0;
}

select::-ms-expand
{
    display: none;
}

code,
pre
{
    font-family: monospace, monospace;
    font-size: 1em;
}

/* ------------------------------------------------------------------------ VAR --- */
/* //////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////////// VAR /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------- BREAKPOINT --- */
/* ---------------------------------------------------------------------- MIXIN --- */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////// MIXIN /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ CONTAINER --- */
/* ---------------------------------------------------------------- PLACEHOLDER --- */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////// TYPOGRAPHY /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------------- FOUT --- */
.wf-loading *
{
    color: rgba(255, 255, 255, 0) !important;
}

/* ------------------------------------------------------------------- DOCUMENT --- */
html,
body
{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ------------------------------------------------------------------ PARAGRAPH --- */
p a
{
    display: inline-block;

    cursor: pointer;
    text-decoration: underline;
}

/* --------------------------------------------------------------------- ANCHOR --- */
a
{
    cursor: pointer;
    text-decoration: none;

    color: inherit;
}

/* //////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////// STRUCTURE /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------------- HTML --- */
html
{
    height: 100%;
}

/* ----------------------------------------------------------------------- BODY --- */
body
{
    position: relative;

    min-height: 100%;
}

@media (max-width: 800px)
{
    body
    {
        padding-top: 97px;
    }
}

body.nav_active
{
    overflow: hidden;
}

body.nav_active header
{
    overflow: visible;
}

body.nav_active a.site,
body.nav_active nav
{
    pointer-events: all;

    opacity: 1;
}

/* --------------------------------------------------------------------- HEADER --- */
header
{
    position: relative;
    z-index: 2;

    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 32px 0 32px;
}

@media (max-width: 1920px)
{
    header
    {
        width: 66.66667%;
    }
}

@media (max-width: 1440px)
{
    header
    {
        width: 960px;
    }
}

@media (max-width: 992px)
{
    header
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 800px)
{
    header
    {
        width: calc(100% - 32px);
    }
}

header a.site
{
    position: absolute;
    top: 0;

    margin: 32px 16px 0;
}

header a.site:nth-child(1)
{
    left: 0;
}

header a.site:nth-child(2)
{
    right: 0;
}

header a.logo
{
    position: relative;

    display: block;
    clear: both;

    height: 64px;
    margin: 0 auto 32px;

    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
}

header a.toggle
{
    position: absolute;
    z-index: 1;
    top: 24px;
    right: 0;

    display: none;

    width: 24px;
    height: 24px;
    margin-right: 32px;

    cursor: pointer;

    -webkit-mask-image: url('../gfx/toggle.svg');
            mask-image: url('../gfx/toggle.svg');
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    max-position: center;
}

header nav
{
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: row;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

header nav:before
{
    display: block;

    width: calc(100% - 32px);
    height: 1px;
    margin: 0 auto 32px;

    content: '';

    background-color: black;
}

header nav a
{
    margin: 0 32px;
}

header nav a.active
{
    border-bottom: 1px solid;
}

@media (max-width: 800px)
{
    header
    {
        position: fixed;
        top: 0;
        left: 0;

        width: 100%;
        margin: 0;
        padding: 16px 0 0 0;
    }
    header:after
    {
        position: relative;
        z-index: 1;

        display: block;

        width: calc(100% - 64px);
        height: 1px;
        margin: 0 auto;

        content: '';

        background-color: black;
    }
    header a.site
    {
        font-weight: bold;

        position: fixed;
        z-index: 1;
        top: auto;
        bottom: 0;

        float: none !important;

        margin: 0 32px 32px;

        -webkit-transition: opacity 300ms;
                transition: opacity 300ms;
        pointer-events: none;

        opacity: 0;
    }
    header a.logo
    {
        z-index: 1;

        height: 32px;
        margin: 0 32px 16px;
    }
    header a.toggle
    {
        display: block;
    }
    header nav
    {
        position: fixed;
        z-index: 0;
        top: 0;
        left: 0;

            flex-direction: column;

        width: 100%;
        height: 100vh;

        pointer-events: none;

        opacity: 0;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
    header nav:before
    {
        content: none;
    }
    header nav a
    {
        font-weight: bold;

        display: block;

        margin: 16px 0;

        text-align: center;

        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    }
}

/* ----------------------------------------------------------------------- MAIN --- */
main
{
    position: relative;

    display: block;

    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

@media (max-width: 1920px)
{
    main
    {
        width: 66.66667%;
    }
}

@media (max-width: 1440px)
{
    main
    {
        width: 960px;
    }
}

@media (max-width: 992px)
{
    main
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 800px)
{
    main
    {
        width: calc(100% - 32px);
    }
}

/* --------------------------------------------------------------------- FOOTER --- */
footer
{
    position: relative;
    z-index: 1;

    -webkit-box-sizing: content-box;
    -webkit-box-sizing: border-box;
            box-sizing: content-box;
            box-sizing: border-box;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding-bottom: 32px;
}

@media (max-width: 1920px)
{
    footer
    {
        width: 66.66667%;
    }
}

@media (max-width: 1440px)
{
    footer
    {
        width: 960px;
    }
}

@media (max-width: 992px)
{
    footer
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 800px)
{
    footer
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 800px)
{
    footer
    {
        height: auto;
    }
}

footer:before
{
    position: relative;
    z-index: 1;

    display: block;

    width: calc(100% - 32px);
    height: 1px;
    margin: 0 auto 19px;

    content: '';

    background-color: black;
}

footer:after
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: calc(50% - 50vw);

    width: 100vw;
    height: 100%;

    content: '';
    pointer-events: none;

    background-color: inherit;
}

footer .container
{
    overflow: hidden;
}

footer .credit,
footer .newsletter
{
    position: relative;
    z-index: 1;

    width: calc(50% - 32px);
    margin: 0 16px;
}

@media (max-width: 800px)
{
    footer .credit,
    footer .newsletter
    {
        float: none !important;

        width: calc(100% - 32px);
    }
}

footer .credit
{
    line-height: 28px;

    display: inline-block;
    float: left;

    width: auto;
    margin-top: 8px;
}

@media (max-width: 800px)
{
    footer .credit
    {
        margin-top: 16px;
    }
}

footer .newsletter
{
    float: right;
}

footer .newsletter form
{
    overflow: hidden;

    margin: 0 -16px;
}

footer .newsletter form label,
footer .newsletter form input[type='email']
{
    line-height: initial;

    display: block;
    float: left;

    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    width: calc(50% - 32px);
    height: 21px;
    margin: 10px 16px;
}

@media (max-width: 800px)
{
    footer .newsletter form label,
    footer .newsletter form input[type='email']
    {
        float: none;

        width: calc(100% - 32px);
    }
}

footer .newsletter form label
{
    overflow: hidden;

    padding-bottom: 6px;

    text-align: right;
}

@media (min-width: 800px) and (max-width: 992px)
{
    footer .newsletter form label span
    {
        display: none;
    }
}

@media (max-width: 800px)
{
    footer .newsletter form label
    {
        margin-bottom: 8px;

        text-align: left;
    }
}

footer .newsletter form input[type='email']
{
    height: auto;

    border-bottom: 1px solid;
}

footer .newsletter form input[type='email']::-webkit-input-placeholder
{
    opacity: 1;
    color: rgba(0, 0, 0, .3);
}

footer .newsletter form input[type='email']:-moz-placeholder
{
    opacity: 1;
    color: rgba(0, 0, 0, .3);
}

footer .newsletter form input[type='email']::-moz-placeholder
{
    opacity: 1;
    color: rgba(0, 0, 0, .3);
}

footer .newsletter form input[type='email']:-ms-input-placeholder
{
    opacity: 1;
    color: rgba(0, 0, 0, .3);
}

@media (max-width: 800px)
{
    footer .newsletter form input[type='email']
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 544px)
{
    footer .newsletter form input[type='email']
    {
        width: calc(100% - 32px);
    }
}

footer .newsletter form button
{
    display: none;
}

/* //////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////// COMPONENT /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* --------------------------------------------------------------------- BUTTON --- */
.button
{
    font-size: 22px;
    line-height: 60px;

    display: inline-block;
    overflow: hidden;

    height: 60px;
    padding: 0 16px;

    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;

    border: 1px solid;
}

/* ----------------------------------------------------------------------- FORM --- */
input,
select
{
    font: inherit;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 0;
    background-color: transparent;
}

/* ---------------------------------------------------------------------- MEDIA --- */
.media
{
    position: relative;
}

.media .image
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* -------------------------------------------------------------------- CONTENT --- */
.content .top,
.content .bottom,
.content .center
{
    position: absolute;
}

.content .top,
.content .bottom
{
    text-align: center;
}

.content .top
{
    top: 0;
}

.content .bottom
{
    bottom: 0;
}

.content .bottom:empty
{
    height: 0;
    padding-top: 0 !important;
}

.content .center
{
    top: 50%;
    left: 50%;

    width: 100%;
    padding: 32px 16px;

    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
}

@media (max-width: 800px)
{
    .content .center
    {
        padding-top: 0;
        padding-bottom: 0;
    }
}

/* -------------------------------------------------------------------- FEATURE --- */
.feature
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin: 0 16px 32px;
}

@media (max-width: 800px)
{
    .feature
    {
        display: block;
    }
}

.feature .media
{
    width: 608px;
}

.feature .media:before
{
    display: block;

    padding-bottom: 100%;

    content: '';
}

@media (max-width: 1920px)
{
    .feature .media
    {
        width: 50%;
    }
}

@media (max-width: 800px)
{
    .feature .media
    {
        width: 100%;
    }
}

.feature .content
{
    position: relative;

    width: 640px;
}

@media (max-width: 1920px)
{
    .feature .content
    {
        width: calc(50% + 32px);
    }
}

@media (max-width: 800px)
{
    .feature .content
    {
        width: 100%;
    }
}

.feature .content .top,
.feature .content .bottom
{
    left: 50%;

    padding: 32px 0;

    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    text-align: center;
}

/* ---------------------------------------------------------------------- BLOCK --- */
.block
{
    overflow: hidden;
}

.block > .item
{
    position: relative;

    display: block;
    float: left;

    margin: 0 16px 32px;
}

.block > .item:before
{
    display: block;

    content: '';
}

.block .media
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
}

.block .media:before
{
    display: block;

    padding-bottom: 100%;

    content: '';
}

.block .content
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    margin-top: 100%;
}

@media (max-width: 544px)
{
    .block .content
    {
        position: relative;

        margin-top: 0;
    }
}

.block .content:before
{
    display: block;

    content: '';
}

.block .content .top,
.block .content .bottom
{
    left: 50%;

    padding: 16px 0;

    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    text-align: center;
}

.block .content .center
{
    line-height: 25px;
}

.block.size_a > .item,
.block.size_b > .item
{
    width: 288px;
}

@media (max-width: 1920px)
{
    .block.size_a > .item,
    .block.size_b > .item
    {
        width: calc(25% - 32px);
    }
}

@media (max-width: 1440px)
{
    .block.size_a > .item,
    .block.size_b > .item
    {
        width: 288px;
    }
}

@media (max-width: 992px)
{
    .block.size_a > .item,
    .block.size_b > .item
    {
        width: calc(33.333% - 32px);
    }
}

@media (max-width: 800px)
{
    .block.size_a > .item,
    .block.size_b > .item
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 544px)
{
    .block.size_a > .item,
    .block.size_b > .item
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 544px)
{
    .block.size_a .content .top,
    .block.size_a .content .bottom,
    .block.size_b .content .top,
    .block.size_b .content .bottom
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

@media (max-width: 544px)
{
    .block.size_a .content .center,
    .block.size_b .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

@media (max-width: 544px)
{
    .block.size_a .media,
    .block.size_b .media
    {
        position: relative;
    }
}

.block.size_a > .item:before
{
    padding-bottom: 177.77778%;
}

@media (max-width: 544px)
{
    .block.size_a > .item:before
    {
        padding-bottom: 0;
    }
}

.block.size_a .content:before
{
    padding-bottom: 77.77778%;
}

@media (max-width: 544px)
{
    .block.size_a .content:before
    {
        padding-bottom: 0;
    }
}

.block.size_b > .item:before
{
    padding-bottom: 144.44444%;
}

@media (max-width: 544px)
{
    .block.size_b > .item:before
    {
        padding-bottom: 0;
    }
}

.block.size_b .content:before
{
    padding-bottom: 44.44444%;
}

@media (max-width: 544px)
{
    .block.size_b .content:before
    {
        padding-bottom: 0;
    }
}

.block.size_c > .item
{
    width: calc(33.333% - 32px);
}

@media (max-width: 1440px)
{
    .block.size_c > .item
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 992px)
{
    .block.size_c > .item
    {
        width: calc(33.333% - 32px);
    }
}

@media (max-width: 800px)
{
    .block.size_c > .item
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 544px)
{
    .block.size_c > .item
    {
        width: calc(100% - 32px);
    }
}

.block.size_c > .item:before
{
    padding-bottom: 158.82353%;
}

@media (max-width: 544px)
{
    .block.size_c > .item:before
    {
        padding-bottom: 0;
    }
}

.block.size_c .content:before
{
    padding-bottom: 58.82353%;
}

@media (max-width: 544px)
{
    .block.size_c .content:before
    {
        padding-bottom: 0;
    }
}

@media (max-width: 544px)
{
    .block.size_c .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

@media (max-width: 544px)
{
    .block.size_c .media
    {
        position: relative;
    }
}

/* ------------------------------------------------------------------------ ROW --- */
.row
{
    margin: 0 16px;
}

.row > .item
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;

    margin-bottom: 32px;
}

@media (max-width: 800px)
{
    .row > .item
    {
        display: block;
    }
}

.row .media
{
    -webkit-box-flex: 0;
    -ms-flex: 0 0 288px;
        flex: 0 0 288px;
}

.row .media:before
{
    display: block;

    padding-bottom: 100%;

    content: '';
}

@media (max-width: 1920px)
{
    .row .media
    {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(25% - 32px);
            flex: 0 0 calc(25% - 32px);
    }
}

@media (max-width: 800px)
{
    .row .media
    {
        float: left;

        width: 50%;
    }
}

@media (max-width: 544px)
{
    .row .media
    {
        float: none;

        width: 100%;
    }
}

.row .content
{
    display: none;
}

.row .content.desktop
{
    overflow: hidden;

    -webkit-box-flex: 1;
    -ms-flex: 1 0;
        flex: 1 0;
}

@media (min-width: 800px)
{
    .row .content.desktop
    {
        display: block;
    }
}

.row .content.desktop > div
{
    position: relative;

    float: left;

    width: calc(33.333% - 32px);
    margin-left: 32px;
}

.row .content.desktop > div:before
{
    display: block;

    padding-bottom: 100%;

    content: '';
}

@media (max-width: 800px)
{
    .row .content.desktop > div
    {
        width: calc(100% - 50%);
        height: 33.333%;
    }
    .row .content.desktop > div:before
    {
        content: none;
    }
    .row .content.desktop > div:nth-child(2)
    {
        padding-top: 32px;
    }
}

@media (max-width: 544px)
{
    .row .content.desktop > div
    {
        width: 100%;
    }
    .row .content.desktop > div:before
    {
        content: none;
    }
    .row .content.desktop > div:nth-child(4)
    {
        padding-bottom: 32px;
    }
}

.row .content.desktop .top,
.row .content.desktop .bottom
{
    left: 0;

    padding: 32px 0;

    text-align: left;
}

.row .content.desktop .top
{
    margin-top: -4px;
}

.row .content.desktop .bottom
{
    margin-bottom: -4px;
}

.row .content.mobile
{
    float: left;

    width: 50%;
    padding: 32px;
}

@media (max-width: 800px)
{
    .row .content.mobile
    {
        display: block;
    }
}

@media (max-width: 544px)
{
    .row .content.mobile
    {
        float: none;

        width: 100%;
    }
}

.row .content.mobile > div
{
    font-weight: bold;
    line-height: 24px;
}

/* --------------------------------------------------------------------- FILTER --- */
.filter
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 32px;
}

@media (max-width: 800px)
{
    .filter
    {
        display: block;
    }
}

.filter > div
{
    height: 60px;
    margin: 0 16px;

    border: 1px solid;

    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}

@media (max-width: 800px)
{
    .filter > div:not(:last-child)
    {
        margin-bottom: 16px;
    }
}

.filter .select
{
    position: relative;

    height: 100%;
}

.filter .select:before
{
    position: absolute;
    top: 50%;
    right: 30px;
    left: 30px;

    display: block;

    content: attr(data-option);
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    text-transform: capitalize;
}

.filter .select select
{
    font-family: sans-serif;
    font-size: 16px;

    width: 100%;
    height: 100%;

    cursor: pointer;

    opacity: 0;
    color: black;
}

/* ----------------------------------------------------------------------- COPY --- */
.copy
{
    line-height: 32px;

    width: 576px;
}

@media (max-width: 800px)
{
    .copy
    {
        width: calc(100% - 32px);
    }
}

.copy a
{
    text-decoration: none;

    opacity: .5;
}

.copy a:hover
{
    opacity: .8;
}

/* -------------------------------------------------------------------- CONTROL --- */
.control
{
    font-size: 0;

    display: block;
    overflow: hidden;

    max-width: 576px;
    margin: 32px auto;

    text-align: center;
}

.control a
{
    display: inline-block;

    width: 208px;
    margin: 0 16px;

    vertical-align: top;
}

.control a:not(:last-child)
{
    margin-bottom: 32px;
}

@media (max-width: 992px)
{
    .control a
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 800px)
{
    .control a
    {
        width: calc(100% - 32px);
    }
    .control a:not(:last-child)
    {
        margin-bottom: 16px;
    }
}

/* ----------------------------------------------------------------------- AREA --- */
.area
{
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 64px 0 32px;
}

@media (max-width: 1920px)
{
    .area
    {
        width: 66.66667%;
    }
}

@media (max-width: 1440px)
{
    .area
    {
        width: 960px;
    }
}

@media (max-width: 992px)
{
    .area
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 800px)
{
    .area
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 992px)
{
    .area
    {
        display: block;
    }
}

@media (max-width: 800px)
{
    .area
    {
        padding: 32px 0 0;
    }
}

.area:after
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: calc(50% - 50vw);

    width: 100vw;
    height: 100%;

    content: '';
    pointer-events: none;

    background-color: inherit;
}

.area .column
{
    position: relative;
    z-index: 1;

    width: calc(50% - 32px);
    margin: 0 16px;
}

@media (max-width: 992px)
{
    .area .column
    {
        width: calc(100% - 32px);
    }
}

@media (max-width: 992px)
{
    .area .column:first-child:not(:only-child)
    {
        margin-bottom: 32px;
    }
}

.area .column:before
{
    display: inline-block;

    margin-bottom: 32px;

    content: attr(data-name);
}

.area .profile
{
    position: relative;

    display: block;
}

@media (max-width: 992px)
{
    .area .profile
    {
        margin: 0 -16px;
    }
}

.area .profile .media
{
    width: 100%;
    margin: 0 auto;
}

@media (max-width: 992px)
{
    .area .profile .media
    {
        width: calc(100% - 32px);
    }
}

.area .profile .media:before
{
    display: block;

    padding-bottom: 100%;

    content: '';
}

@media (max-width: 1920px)
{
    .area .profile .media:before
    {
        padding-bottom: calc(105.882% - 35px);
    }
}

.area .profile .content
{
    position: absolute;
    right: 0;
    bottom: 0;

    width: 288px;
}

@media (max-width: 1920px)
{
    .area .profile .content
    {
        width: calc(50% - 16px);
    }
}

@media (max-width: 992px)
{
    .area .profile .content
    {
        width: calc(33.333% - 32px);
        margin-right: 16px;
    }
}

@media (max-width: 800px)
{
    .area .profile .content
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 544px)
{
    .area .profile .content
    {
        position: relative;

        width: calc(100% - 32px);
        margin: 0 auto;
    }
}

.area .profile .content:before
{
    display: block;

    padding-bottom: 77.77778%;

    content: '';
}

@media (max-width: 544px)
{
    .area .profile .content:before
    {
        padding-bottom: 0;
    }
}

@media (max-width: 544px)
{
    .area .profile .content .top,
    .area .profile .content .bottom,
    .area .profile .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.area .profile .content .top,
.area .profile .content .bottom
{
    font-size: 14px;

    left: 50%;

    padding: 16px 0;

    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
}

@media (max-width: 544px)
{
    .area .profile .content .top,
    .area .profile .content .bottom
    {
        -webkit-transform: none;
                transform: none;
    }
}

.area .event
{
    height: calc(100% - 54px);

    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-fill: auto;
            column-fill: auto;
    -webkit-column-gap: 32px;
            column-gap: 32px;
}

@media (max-width: 992px)
{
    .area .event
    {
        -webkit-column-count: 3;
                column-count: 3;
    }
}

@media (max-width: 800px)
{
    .area .event
    {
        -webkit-column-count: 2;
                column-count: 2;
    }
}

@media (max-width: 544px)
{
    .area .event
    {
        -webkit-column-count: 1;
                column-count: 1;
    }
}

.area .event .item
{
    line-height: 24px;

    display: block;

    margin-bottom: 32px;

    -webkit-column-break-inside: avoid;
    break-inside: avoid-column;
}

.area .event .item .link
{
    overflow: hidden;
}

.area .event .item .link a
{
    line-height: 28px;

    display: block;
    float: left;
    clear: left;
    overflow: hidden;

    max-width: 100%;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.area .related
{
    margin: 0 -16px;
}

.area .related .content .center
{
    padding: 32px 16px;
}

/* //////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////// PAGE /// */
/* //////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------------- NEWS --- */
@media (max-width: 800px)
{
    .page_news .feature .content
    {
        padding-bottom: 0;
    }
}

.page_news .feature .content .top,
.page_news .feature .content .bottom
{
    font-size: 14px;
}

@media (max-width: 800px)
{
    .page_news .feature .content .top,
    .page_news .feature .content .bottom
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

@media (max-width: 800px)
{
    .page_news .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.page_news .feature .content .center .button
{
    margin-top: 32px;
}

@media (max-width: 800px)
{
    .page_news .feature .content .center .button
    {
        display: none;
    }
}

.page_news .block .top,
.page_news .block .bottom
{
    font-size: 14px;
}

/* ---------------------------------------------------------------- NEWS DETAIL --- */
@media (max-width: 800px)
{
    .page_news_detail .feature .content .top,
    .page_news_detail .feature .content .bottom,
    .page_news_detail .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.page_news_detail .copy
{
    margin: 0 auto 32px;
}

/* ---------------------------------------------------------------------- MUSIC --- */
@media (max-width: 800px)
{
    .page_music .feature .content .top,
    .page_music .feature .content .bottom,
    .page_music .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.page_music .block > .item .top,
.page_music .block > .item .bottom
{
    font-size: 14px;
}

/* --------------------------------------------------------------- MUSIC DETAIL --- */
@media (max-width: 800px)
{
    .page_music_detail .feature .content .top,
    .page_music_detail .feature .content .bottom,
    .page_music_detail .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.page_music_detail .copy
{
    margin: 0 auto 32px;
}

.page_music_detail .tracklist
{
    margin-bottom: 32px;

    text-align: center;
}

.page_music_detail .tracklist:before
{
    display: block;

    margin-bottom: 32px;

    content: 'Tracklist';
}

.page_music_detail .tracklist .track
{
    font-size: 22px;
    line-height: 1.625rem;
}

.page_music_detail .tracklist .track:not(:last-child)
{
    margin-bottom: 32px;
}

/* --------------------------------------------------------------------- ARTIST --- */
@media (max-width: 800px)
{
    .page_artist .feature .content
    {
        padding-bottom: 22.22222%;
    }
}

@media (max-width: 544px)
{
    .page_artist .feature .content
    {
        padding-bottom: 0;
    }
}

@media (max-width: 544px)
{
    .page_artist .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.page_artist .feature .content .center .button
{
    margin-top: 32px;
    padding-right: 32px;
    padding-left: 32px;
}

@media (max-width: 800px)
{
    .page_artist .feature .content .center .button
    {
        display: none;
    }
}

@media (max-width: 544px)
{
    .page_artist .content .center
    {
        padding: 32px 16px;
    }
}

/* -------------------------------------------------------------- ARTIST DETAIL --- */
@media (max-width: 800px)
{
    .page_artist_detail .feature .content .top,
    .page_artist_detail .feature .content .bottom,
    .page_artist_detail .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

@media (max-width: 800px)
{
    .page_artist_detail .feature .content .center
    {
        padding-top: 32px;
        padding-bottom: 32px;
    }
}

.page_artist_detail .copy
{
    margin: 0 auto 32px;
}

/* --------------------------------------------------------------- EVENT DETAIL --- */
@media (max-width: 800px)
{
    .page_event_detail .feature .content .top,
    .page_event_detail .feature .content .bottom,
    .page_event_detail .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.page_event_detail .feature + .content
{
    overflow: hidden;

    margin-bottom: 32px;

    background-color: transparent;
}

@media (max-width: 800px)
{
    .page_event_detail .feature + .content
    {
        display: block;
    }
}

.page_event_detail .artist,
.page_event_detail .copy
{
    float: left;

    margin: 0 16px;
}

.page_event_detail .artist
{
    overflow: hidden;

    width: 608px;
}

@media (max-width: 1920px)
{
    .page_event_detail .artist
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 800px)
{
    .page_event_detail .artist
    {
        width: calc(100% - 32px);
        margin-bottom: 32px;
    }
}

.page_event_detail .artist:before
{
    display: block;

    margin-bottom: 16px;
    padding-bottom: 16px;

    content: 'Acts';

    border-bottom: 1px solid;
}

.page_event_detail .artist a
{
    float: left;
    clear: left;
}

.page_event_detail .artist a:not(:last-child)
{
    margin-bottom: 16px;
}

.page_event_detail .copy
{
    width: 608px;
}

@media (max-width: 1920px)
{
    .page_event_detail .copy
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 800px)
{
    .page_event_detail .copy
    {
        width: calc(100% - 32px);
    }
}

/* ---------------------------------------------------------------------- RADIO --- */
.page_show .block > .item .content .top,
.page_show .block > .item .content .bottom
{
    font-size: 14px;
}

/* --------------------------------------------------------------- RADIO DETAIL --- */
@media (max-width: 800px)
{
    .page_show_detail .feature .content .top,
    .page_show_detail .feature .content .bottom,
    .page_show_detail .feature .content .center
    {
        position: static;

        -webkit-transform: none;
                transform: none;
    }
}

.page_show_detail .feature + .content
{
    overflow: hidden;

    margin-bottom: 32px;

    background-color: transparent;
}

@media (max-width: 800px)
{
    .page_show_detail .feature + .content
    {
        display: block;
    }
}

.page_show_detail .radio,
.page_show_detail .copy
{
    float: left;

    margin: 0 16px;
}

.page_show_detail .radio
{
    overflow: hidden;

    width: 608px;
}

@media (max-width: 1920px)
{
    .page_show_detail .radio
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 800px)
{
    .page_show_detail .radio
    {
        width: calc(100% - 32px);
        margin-bottom: 32px;
    }
}

.page_show_detail .radio .player
{
    width: 100%;
    height: 60px;
    margin-bottom: 32px;
}

.page_show_detail .radio .tracklist
{
    counter-reset: track;
    text-align: left;
}

.page_show_detail .radio .tracklist .track
{
    line-height: 1.2;

    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.page_show_detail .radio .tracklist .track:before
{
    margin-right: 16px;

    content: counters(track, '.', decimal-leading-zero);
    counter-increment: track;
}

.page_show_detail .radio .tracklist .track:not(:last-child)
{
    margin-bottom: 8px;
    padding-bottom: 8px;

    border-bottom: 1px solid;
}

.page_show_detail .copy
{
    width: 608px;
}

@media (max-width: 1920px)
{
    .page_show_detail .copy
    {
        width: calc(50% - 32px);
    }
}

@media (max-width: 800px)
{
    .page_show_detail .copy
    {
        width: calc(100% - 32px);
    }
}
