@charset "UTF-8";

@-webkit-keyframes anim-CampaignHero-title {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes anim-CampaignHero-title {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes heroteaser-bg-animation {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes heroteaser-bg-animation {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

* {
    font: inherit;
    color: inherit;
    line-height: inherit;
    text-decoration: inherit;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    color: #000;
    background: #fff
}

figure {
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    margin-left: 0;
    margin-right: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
    display: block
}

audio,
canvas,
video {
    display: inline-block
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,
img {
    border: 0
}

del,
ins {
    text-decoration: none
}

li {
    list-style: none
}

caption,
th {
    text-align: left
}

q:before,
q:after {
    content: ''
}

abbr,
acronym {
    border: 0;
    text-decoration: none;
    font-variant: normal
}

sup {
    vertical-align: baseline
}

sub {
    vertical-align: baseline
}

legend {
    color: inherit;
    *color: #000
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
    text-align: inherit;
    background: 0 0;
    -webkit-appearance: button;
    cursor: pointer;
    border: 0;
    border-radius: 0
}

button[disabled],
input[disabled] {
    cursor: default
}

input[type=search] {
    -webkit-appearance: textfield
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word
}

html {
    width: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    background-color: #fff;
    scroll-padding-top: 90px;
    scroll-behavior: auto !important
}

body {
    font-family: microsoft yahei, univers lt, univers, helvetica neue, helvetica, gulim, malgun gothic, apple gothic neo, noto sans kr, microsoft yahei ui, microsoft jhenghei, pingfang sc, pingfang tc, yu gothic, meiryo, hiragino sans, sans-serif;
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 200;
    line-height: 1.5;
    color: #3c4150;
    overflow-x: hidden !important;
    min-height: 100vh;
    scroll-padding-top: 90px
}

[lang=zh] body,
[lang=zh-Hant] body,
[lang=zh-Hans] body,
[lang=zh-CN] body {
    line-height: 1.7
}

@media screen and (max-width:1000px) {
    body {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.template-plain body {
    min-height: 0
}

@media screen and (max-width:750px) {
    body {
        overflow-wrap: break-word;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto
    }
}

[lang=ja] body {
    font-family: microsoft yahei, meiryo, yu gothic, hiragino sans, hiragino kaku gothic pro, ヒラギノ角ゴ pro, 游ゴシック体, メイリオ, noto sans jp, sans-serif
}

[lang=zh] body,
[lang=zh-Hant] body,
[lang=zh-Hans] body,
[lang=zh-CN] body {
    font-family: microsoft yahei, microsoft yahei ui, microsoft jhenghei, pingfang sc, pingfang tc, 微軟正黑體, noto sans sc, sans-serif;
    line-height: 1.7
}

[lang=ko] body {
    font-family: microsoft yahei, malgun gothic, apple gothic neo, noto sans kr, gulim, sans-serif
}

article,
section,
a {
    page-break-inside: avoid
}

#body {
    overflow: hidden;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh
}

.template-plain #body {
    min-height: 0
}

* {
    -webkit-tap-highlight-color: transparent
}

body,
input,
select,
button,
textarea {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

a[href],
button,
input,
select,
textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

a:active {
    outline: none
}

*:focus {
    outline: none
}

abbr {
    border-bottom: 1px dotted gray
}

p sup {
    position: relative;
    top: -.75ex
}

p sub {
    position: relative;
    top: .5ex
}

button {
    cursor: pointer
}

.nc_pixel {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    overflow: hidden;
    width: 1px;
    height: 1px
}

.ArtCollectionHeader {
    position: relative;
    margin-bottom: 60px
}

.ArtCollectionHeader::before {
    content: '';
    position: absolute;
    top: 12.5%;
    bottom: 25%;
    width: 100%;
    background-image: linear-gradient(to bottom, rgba(249, 249, 250, 0), #F9F9FA)
}

.ArtCollectionHeader--wrapper {
    -webkit-transform: none !important;
    transform: none !important
}

.ArtCollectionHeader--slider {
    position: relative;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    overflow: hidden
}

.ArtCollectionHeader--slider .flickity-page-dots {
    position: relative;
    margin-left: calc(50% - 615px);
    margin-right: calc(50% - 615px);
    margin-top: 30px;
    padding-left: 12.5%;
    padding-right: 12.5%;
    text-align: center
}

@media(max-width:1430px) {
    .ArtCollectionHeader--slider .flickity-page-dots {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (max-width:1200px) {
    .ArtCollectionHeader--slider .flickity-page-dots {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (max-width:750px) {
    .ArtCollectionHeader--slider .flickity-page-dots {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media screen and (max-width:580px) {
    .ArtCollectionHeader--slider .flickity-page-dots {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media print {
    .ArtCollectionHeader--slider .flickity-page-dots {
        max-width: 100%;
        margin: 0
    }
}

@media screen and (max-width:750px) {
    .ArtCollectionHeader--slider .flickity-page-dots {
        margin-top: 5px
    }
}

.ArtCollectionHeader--slide {
    width: 100%;
    left: 0 !important;
    opacity: 0;
    transition: opacity .4s cubic-bezier(.39, .575, .565, 1)
}

.ArtCollectionHeader--slider:not(.is-slider-ready) .ArtCollectionHeader--slide:first-child {
    visibility: hidden;
    opacity: 1
}

.ArtCollectionHeader--slider:not(.is-slider-ready) .ArtCollectionHeader--slide:nth-child(n+2) {
    visibility: hidden;
    opacity: 0
}

.ArtCollectionHeader--slide.is-selected {
    opacity: 1;
    z-index: 9
}

.ArtCollectionHeader--slider--prev,
.ArtCollectionHeader--slider--next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10
}

.ArtCollectionHeader--slider--prev .RoundIconButton::before,
.ArtCollectionHeader--slider--next .RoundIconButton::before {
    background-color: transparent
}

@media screen and (max-width:1000px) {

    .ArtCollectionHeader--slider--prev,
    .ArtCollectionHeader--slider--next {
        display: none
    }
}

.ArtCollectionHeader--slider--prev {
    left: calc(50% - 615px)
}

@media(max-width:1430px) {
    .ArtCollectionHeader--slider--prev {
        left: 75px
    }
}

@media screen and (max-width:1200px) {
    .ArtCollectionHeader--slider--prev {
        left: 60px
    }
}

@media screen and (max-width:750px) {
    .ArtCollectionHeader--slider--prev {
        left: 30px
    }
}

@media screen and (max-width:580px) {
    .ArtCollectionHeader--slider--prev {
        left: 20px
    }
}

@media print {
    .ArtCollectionHeader--slider--prev {
        max-width: 100%;
        margin: 0
    }
}

.ArtCollectionHeader--slider--next {
    right: calc(50% - 615px)
}

@media(max-width:1430px) {
    .ArtCollectionHeader--slider--next {
        right: 75px
    }
}

@media screen and (max-width:1200px) {
    .ArtCollectionHeader--slider--next {
        right: 60px
    }
}

@media screen and (max-width:750px) {
    .ArtCollectionHeader--slider--next {
        right: 30px
    }
}

@media screen and (max-width:580px) {
    .ArtCollectionHeader--slider--next {
        right: 20px
    }
}

@media print {
    .ArtCollectionHeader--slider--next {
        max-width: 100%;
        margin: 0
    }
}

.ArtCollectionHeaderImage {
    position: relative;
    margin-left: calc(50% - 615px);
    margin-right: calc(50% - 615px);
    padding-left: 75px;
    padding-right: 75px
}

@media(max-width:1430px) {
    .ArtCollectionHeaderImage {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (max-width:1200px) {
    .ArtCollectionHeaderImage {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (max-width:750px) {
    .ArtCollectionHeaderImage {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media screen and (max-width:580px) {
    .ArtCollectionHeaderImage {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media print {
    .ArtCollectionHeaderImage {
        max-width: 100%;
        margin: 0
    }
}

@media screen and (max-width:1000px) {
    .ArtCollectionHeaderImage {
        padding-left: 0;
        padding-right: 0
    }
}

.ArtCollectionHeaderImage--wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 450px;
    overflow: hidden;
    opacity: 0
}

@media screen and (max-width:750px) {
    .ArtCollectionHeaderImage--wrapper {
        height: 280px
    }
}

.ArtCollectionHeaderImage--wrapper.is-ready {
    opacity: 1
}

.ArtCollectionHeaderImage--wrapper .MediaSlide {
    width: 100%
}

.ArtCollectionHeaderImage--wrapper .MediaSlide--link {
    display: block
}

.ArtistHeader {
    margin-top: 120px
}

@media screen and (max-width:1000px) {
    .ArtistHeader {
        margin-top: 15vw
    }
}

@media screen and (max-width:400px) {
    .ArtistHeader {
        margin-top: 60px
    }
}

.ArtistHeader--name {
    font-size: 50px;
    font-size: 3.125rem;
    font-weight: 200;
    line-height: 1.16;
    margin-bottom: 60px
}

@media screen and (max-width:1000px) {
    .ArtistHeader--name {
        font-size: 30px;
        font-size: 1.875rem;
        line-height: 1.53333
    }
}

.ArtistHeader--content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    page-break-inside: avoid;
    margin-right: -60px;
    margin-top: -60px
}

.ArtistHeader--content>* {
    float: left;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%;
    margin-top: 60px;
    padding-right: 60px
}

.ArtistHeader--content:after {
    content: '';
    display: table;
    clear: both
}

@media screen and (max-width:1000px) {
    .ArtistHeader--content>* {
        width: 100%
    }
}

.ArtistHeader--facts--description {
    margin-bottom: 30px
}

.ArtistHeader--facts--description:last-child {
    margin-bottom: 0
}

.ArtistHeader--facts--term {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    color: #636363
}

[lang=zh] .ArtistHeader--facts--term,
[lang=zh-Hant] .ArtistHeader--facts--term,
[lang=zh-Hans] .ArtistHeader--facts--term,
[lang=zh-CN] .ArtistHeader--facts--term {
    line-height: 1.5
}

.ArtistsList {
    -webkit-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 30px;
    column-gap: 30px;
    -webkit-column-width: 10em;
    column-width: 10em
}

@media screen and (max-width:1000px) {
    .ArtistsList {
        -webkit-column-count: 2;
        column-count: 2
    }
}

.ArtistsListArea.is-filtered .ArtistsList {
    width: 100%/3;
    padding-right: 30px;
    -webkit-column-count: 1;
    column-count: 1
}

@media screen and (max-width:1000px) {
    .ArtistsListArea.is-filtered .ArtistsList {
        width: 100%/2
    }
}

.ArtistsList--character {
    -webkit-column-break-inside: avoid;
    break-inside: avoid
}

.ArtistsList--character+.ArtistsList--character {
    margin-top: 30px
}

.ArtistsListArea.is-filtered .ArtistsList--character.is-selected {
    margin-top: 0
}

.ArtistsListArea.is-filtered .ArtistsList--character:not(.is-selected) {
    display: none
}

.ArtistsList--initial {
    font-weight: 700;
    text-transform: uppercase
}

.ArtistsList--artist--link {
    position: relative;
    display: inline-block;
    padding-right: 20px;
    color: #812f93;
    transition: -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    will-change: transform
}

.ArtistsList--artist--link:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(0) translateX(50%) rotate(135deg);
    transform: rotate(0) translateX(50%) rotate(135deg)
}

.ArtistsList--artist--link:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    content: none
}

.ArtistsList--artist--link::after {
    right: 0;
    opacity: .3;
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), opacity .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), opacity .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    will-change: transform
}

html:not(.can-touch) .ArtistsList--artist--link:active,
html:not(.can-touch) .ArtistsList--artist--link:hover {
    -webkit-transform: translateX(6px);
    transform: translateX(6px)
}

html:not(.can-touch) .ArtistsList--artist--link:active::after,
html:not(.can-touch) .ArtistsList--artist--link:hover::after {
    opacity: 1;
    -webkit-transform: rotate(0) translateX(calc(50% + 6px)) rotate(135deg);
    transform: rotate(0) translateX(calc(50% + 6px)) rotate(135deg)
}

.ArtistsListArea {
    margin-bottom: 150px
}

@media screen and (max-width:1000px) {
    .ArtistsListArea {
        margin-bottom: 18.75vw
    }
}

@media screen and (max-width:400px) {
    .ArtistsListArea {
        margin-bottom: 75px
    }
}

.ArtistsListHeader {
    margin-top: 120px;
    margin-bottom: 120px
}

@media screen and (max-width:1000px) {
    .ArtistsListHeader {
        margin-top: 15vw
    }
}

@media screen and (max-width:400px) {
    .ArtistsListHeader {
        margin-top: 60px
    }
}

@media screen and (max-width:1000px) {
    .ArtistsListHeader {
        margin-bottom: 15vw
    }
}

@media screen and (max-width:400px) {
    .ArtistsListHeader {
        margin-bottom: 60px
    }
}

@media screen and (max-width:750px) {
    .ArtistsListHeader {
        margin-left: -30px;
        margin-right: -30px
    }
}

@media screen and (max-width:580px) {
    .ArtistsListHeader {
        margin-left: -20px;
        margin-right: -20px
    }
}

.ArtistsListHeader--mobileToggle {
    padding-left: 30px;
    padding-right: 30px;
    display: none
}

@media screen and (max-width:580px) {
    .ArtistsListHeader--mobileToggle {
        padding-left: 20px;
        padding-right: 20px
    }
}

@media screen and (max-width:750px) {
    .ArtistsListHeader--mobileToggle {
        display: block;
        position: relative;
        width: 100%;
        padding-top: 1em;
        padding-bottom: 1em;
        border-top: 1px solid #d4d4d4;
        border-bottom: 1px solid #d4d4d4;
        background-color: #fff;
        z-index: 100
    }

    .ArtistsListHeader--mobileToggle:after {
        content: "";
        position: absolute;
        font-size: 10px;
        top: 50%;
        width: .8em;
        height: .8em;
        border-width: 1px;
        border-style: solid none none solid;
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-transform: rotate(90deg) translateX(50%) rotate(135deg);
        transform: rotate(90deg) translateX(50%) rotate(135deg);
        top: 50%;
        right: 20px;
        transition: -webkit-transform .2s cubic-bezier(.77, 0, .175, 1);
        transition: transform .2s cubic-bezier(.77, 0, .175, 1);
        transition: transform .2s cubic-bezier(.77, 0, .175, 1), -webkit-transform .2s cubic-bezier(.77, 0, .175, 1)
    }

    .ArtistsListHeader--mobileToggle:before {
        content: "";
        position: absolute;
        font-size: 10px;
        top: 50%;
        content: none;
        top: 50%;
        right: 20px;
        transition: -webkit-transform .2s cubic-bezier(.77, 0, .175, 1);
        transition: transform .2s cubic-bezier(.77, 0, .175, 1);
        transition: transform .2s cubic-bezier(.77, 0, .175, 1), -webkit-transform .2s cubic-bezier(.77, 0, .175, 1)
    }

    .ArtistsListHeader--mobileToggle[aria-expanded=true]:after {
        content: "";
        position: absolute;
        font-size: 10px;
        top: 50%;
        width: .8em;
        height: .8em;
        border-width: 1px;
        border-style: solid none none solid;
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-transform: rotate(-90deg) translateX(50%) rotate(135deg);
        transform: rotate(-90deg) translateX(50%) rotate(135deg)
    }

    .ArtistsListHeader--mobileToggle[aria-expanded=true]:before {
        content: "";
        position: absolute;
        font-size: 10px;
        top: 50%;
        content: none
    }
}

.Header.is-mobilenav-open~.site-content .ArtistsListHeader--mobileToggle {
    z-index: 9
}

.ArtistsListHeader--currentFilter {
    text-transform: capitalize
}

@media screen and (max-width:750px) {
    .ArtistsListHeader--filter {
        position: absolute;
        left: 0;
        right: 0;
        background-color: #fff;
        box-shadow: 0 9999px 0 9999px rgba(0, 0, 0, .5);
        z-index: 99;
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), visibility 0s .2s, -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), visibility 0s .2s;
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), visibility 0s .2s, -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
    }

    .ArtistsListHeader--filter.is-mobile-expanded {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), visibility 0s 0s, -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), visibility 0s 0s;
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), visibility 0s 0s, -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
    }
}

.ArtistsListHeader--filter .FocusOnly {
    position: absolute !important;
    left: 0;
    width: 100%;
    z-index: 1
}

@media screen and (min-width:751px) {
    .ArtistsListHeader--filter .FocusOnly {
        display: none
    }
}

.ArtistsListHeader--list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    page-break-inside: avoid;
    margin-right: 0;
    margin-top: -15px;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-right: -15px
}

.ArtistsListHeader--list>* {
    float: left;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-top: 15px;
    padding-right: 0
}

.ArtistsListHeader--list:after {
    content: '';
    display: table;
    clear: both
}

@media screen and (max-width:750px) {
    .ArtistsListHeader--list {
        padding: 30px 15px;
        margin-right: 0
    }
}

.ArtistsListHeader--input>label {
    position: relative;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50px;
    height: 50px;
    margin-right: 15px;
    border-radius: 100%;
    text-transform: capitalize;
    cursor: pointer
}

.ArtistsListHeader--input>label::after {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #d4d4d4;
    border-radius: 100%;
    opacity: 0;
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1)
}

html:not(.can-touch) .ArtistsListHeader--input>input:not([disabled])+label:active::after,
html:not(.can-touch) .ArtistsListHeader--input>input:not([disabled])+label:hover::after {
    opacity: 1
}

.ArtistsListHeader--input>input[disabled]+label {
    opacity: .3;
    cursor: default
}

@media screen and (max-width:750px) {
    .ArtistsListHeader--input>input[disabled]+label {
        display: none
    }
}

.ArtistsListHeader--input>input:checked+label {
    font-weight: 700
}

.ArtistsListHeader--input>input:checked+label::after {
    opacity: 1
}

@media screen and (max-width:750px) {
    .ArtistsListHeader--input>label {
        margin-right: 5px
    }
}

.ArtTeaser {
    position: relative
}

html:not(.can-touch) .ArtTeaser:active .ArtTeaser--image::after,
html:not(.can-touch) .ArtTeaser:hover .ArtTeaser--image::after {
    opacity: 1
}

html:not(.can-touch) .ArtTeaser:active .ArtTeaser--text,
html:not(.can-touch) .ArtTeaser:hover .ArtTeaser--text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
}

@media screen and (min-width:751px) {
    .GalleryGrid--item.highlight .ArtTeaser.is-portrait {
        margin-left: 20%;
        margin-right: 20%
    }
}

.ArtTeaser--image {
    position: relative
}

.ArtTeaser--image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3));
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1);
    opacity: 0
}

.ArtTeaser--image .Media {
    border-radius: 4px;
    box-shadow: 0 15px 20px 0 rgba(0, 0, 0, .15)
}

@media screen and (max-width:750px) {
    .ArtTeaser--image {
        margin-left: 30px;
        margin-right: 30px
    }
}

.ArtTeaser--text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 30px;
    color: #fff;
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), opacity .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), opacity .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0
}

.ArtTeaser--text>* {
    display: block
}

@media screen and (max-width:750px) {
    .ArtTeaser--text {
        font-size: 16px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.375;
        position: static;
        padding: 0;
        margin-top: 30px;
        text-align: center;
        color: #000;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }

    [lang=zh] .ArtTeaser--text,
    [lang=zh-Hant] .ArtTeaser--text,
    [lang=zh-Hans] .ArtTeaser--text,
    [lang=zh-CN] .ArtTeaser--text {
        line-height: 1.5
    }
}

.ArtTeaser--tag {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-bottom: 15px;
    padding: .25em .5em;
    border: 1px solid;
    border-radius: 4px;
    color: #fff
}

[lang=zh] .ArtTeaser--tag,
[lang=zh-Hant] .ArtTeaser--tag,
[lang=zh-Hans] .ArtTeaser--tag,
[lang=zh-CN] .ArtTeaser--tag {
    line-height: 1.5
}

@media screen and (max-width:750px) {
    .ArtTeaser--tag {
        font-size: 14px;
        font-size: .875rem;
        font-weight: 400;
        line-height: 1.4;
        -webkit-align-self: center;
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
        margin-bottom: 15px;
        color: #636363
    }

    [lang=zh] .ArtTeaser--tag,
    [lang=zh-Hant] .ArtTeaser--tag,
    [lang=zh-Hans] .ArtTeaser--tag,
    [lang=zh-CN] .ArtTeaser--tag {
        line-height: 1.5
    }
}

.ArtTeaser--title {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3
}

[lang=zh] .ArtTeaser--title,
[lang=zh-Hant] .ArtTeaser--title,
[lang=zh-Hans] .ArtTeaser--title,
[lang=zh-CN] .ArtTeaser--title {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .ArtTeaser--title {
        font-size: 18px;
        font-size: 1.125rem
    }
}

@media screen and (max-width:750px) {
    .ArtTeaser--title {
        font-size: 16px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.375;
        font-weight: 700
    }

    [lang=zh] .ArtTeaser--title,
    [lang=zh-Hant] .ArtTeaser--title,
    [lang=zh-Hans] .ArtTeaser--title,
    [lang=zh-CN] .ArtTeaser--title {
        line-height: 1.5
    }
}

.ArtTeaser--artist {
    display: inline
}

.ArtTeaser--artist::after {
    content: ", "
}

.ArtTeaser--artist:last-child::after {
    content: none
}

.ArtTypoTeaser {
    margin-top: 150px;
    margin-bottom: 150px;
    text-align: center
}

@media screen and (max-width:1000px) {
    .ArtTypoTeaser {
        margin-top: 18.75vw
    }
}

@media screen and (max-width:400px) {
    .ArtTypoTeaser {
        margin-top: 75px
    }
}

@media screen and (max-width:1000px) {
    .ArtTypoTeaser {
        margin-bottom: 18.75vw
    }
}

@media screen and (max-width:400px) {
    .ArtTypoTeaser {
        margin-bottom: 75px
    }
}

.ArtTypoTeaser .SectionTitle {
    margin-bottom: 30px
}

@media screen and (max-width:1000px) {
    .ArtTypoTeaser .SectionTitle {
        margin-bottom: 3.75vw
    }
}

@media screen and (max-width:400px) {
    .ArtTypoTeaser .SectionTitle {
        margin-bottom: 15px
    }
}

@media screen and (min-width:751px) {
    .ArtTypoTeaser {
        margin-left: calc(50% - 512.5px);
        margin-right: calc(50% - 512.5px)
    }
}

@media screen and (min-width:751px) and (max-width:1225px) {
    .ArtTypoTeaser {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (min-width:751px) and (max-width:1200px) {
    .ArtTypoTeaser {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (min-width:751px) {
    .ArtTypoTeaser.block .ArtTypoTeaser--item {
        display: block;
        padding-right: 0
    }

    .ArtTypoTeaser--item {
        font-size: 80px;
        font-size: 5rem;
        font-weight: 200;
        line-height: 1.1;
        display: inline
    }
}

@media screen and (min-width:751px) and (max-width:1000px) {
    .ArtTypoTeaser--item {
        font-size: 50px;
        font-size: 3.125rem;
        line-height: 1.14
    }
}

@media screen and (min-width:751px) {
    .ArtTypoTeaser--item:not(:last-child) {
        padding-right: .25em
    }
}

@media screen and (max-width:750px) {
    .ArtTypoTeaser--item {
        border-top: 1px solid #d4d4d4
    }

    .ArtTypoTeaser--item:last-child {
        border-bottom: 1px solid #d4d4d4
    }
}

@media screen and (min-width:751px) {
    .ArtTypoTeaser--link {
        display: inline-block;
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
        transition: opacity .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
    }

    html:not(.can-touch) .ArtTypoTeaser--link:active,
    html:not(.can-touch) .ArtTypoTeaser--link:hover {
        opacity: .6;
        -webkit-transform: translateY(-3px);
        transform: translateY(-3px)
    }

    .ArtTypoTeaser--item:not(:last-child) .ArtTypoTeaser--link::after {
        content: ','
    }
}

@media screen and (max-width:750px) {
    .ArtTypoTeaser--link {
        position: relative;
        display: block;
        padding: 22.5px;
        padding-right: 40px;
        text-align: left;
        transition: -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
        transition: transform .2s cubic-bezier(.39, .575, .565, 1);
        transition: transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
    }

    .ArtTypoTeaser--link:after {
        content: "";
        position: absolute;
        font-size: 10px;
        top: 50%;
        width: .585em;
        height: .585em;
        border-width: 1px;
        border-style: solid none none solid;
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-transform: rotate(0) translateX(50%) rotate(135deg);
        transform: rotate(0) translateX(50%) rotate(135deg)
    }

    .ArtTypoTeaser--link:before {
        content: "";
        position: absolute;
        font-size: 10px;
        top: 50%;
        content: none
    }

    .ArtTypoTeaser--link::after {
        right: 20px
    }

    html:not(.can-touch) .ArtTypoTeaser--link:active,
    html:not(.can-touch) .ArtTypoTeaser--link:hover {
        -webkit-transform: translateX(6px);
        transform: translateX(6px)
    }
}

.ArtworkHeader {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.ArtworkHeader>* {
    width: 50%
}

@media screen and (max-width:750px) {
    .ArtworkHeader {
        display: block
    }

    .ArtworkHeader>* {
        width: auto
    }
}

.ArtworkHeader--header {
    padding-right: 60px
}

@media screen and (max-width:750px) {
    .ArtworkHeader--header {
        margin-bottom: 30px;
        padding-right: 0
    }
}

.ArtworkHeader--title {
    font-size: 50px;
    font-size: 3.125rem;
    font-weight: 200;
    line-height: 1.16;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

@media screen and (max-width:1000px) {
    .ArtworkHeader--title {
        font-size: 30px;
        font-size: 1.875rem;
        line-height: 1.53333
    }
}

.ArtworkHeader--year {
    margin-top: 30px
}

@media screen and (max-width:750px) {
    .ArtworkHeader--year {
        margin-top: 0
    }
}

@media screen and (min-width:751px) {
    .ArtworkHeader--artistsList {
        margin-top: 30px
    }
}

@media screen and (max-width:750px) {
    .ArtworkHeader--artistsEntry:nth-child(n+2) .ArtworkHeader--artist {
        margin-top: 0;
        border-top: none
    }

    .ArtworkHeader--artist {
        margin-left: -30px;
        margin-right: -30px;
        padding-left: 30px;
        display: block !important;
        position: relative;
        max-width: none !important;
        margin-top: 30px;
        padding-top: 1em;
        padding-bottom: 1em;
        padding-right: 1.75em !important;
        border-top: 1px solid #d4d4d4;
        border-bottom: 1px solid #d4d4d4 !important;
        color: inherit
    }
}

@media screen and (max-width:580px) {
    .ArtworkHeader--artist {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px
    }
}

@media screen and (max-width:750px) {
    .ArtworkHeader--artist::after {
        right: 15px !important
    }
}

.ArtworkHeader--facts--description {
    margin-bottom: 30px
}

.ArtworkHeader--facts--description:last-child {
    margin-bottom: 0
}

.ArtworkHeader--facts--description>p:first-child {
    margin-top: 0
}

.ArtworkHeader--facts--description>a p {
    margin: 0
}

.ArtworkHeader--facts--term {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    margin-bottom: .5em;
    color: #636363
}

[lang=zh] .ArtworkHeader--facts--term,
[lang=zh-Hant] .ArtworkHeader--facts--term,
[lang=zh-Hans] .ArtworkHeader--facts--term,
[lang=zh-CN] .ArtworkHeader--facts--term {
    line-height: 1.5
}

.ArtworkHeader--copyright {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    margin-top: 45px;
    padding-top: 1em;
    padding-bottom: 1em;
    border-top: 1px solid #d4d4d4;
    border-bottom: 1px solid #d4d4d4;
    color: #636363
}

[lang=zh] .ArtworkHeader--copyright,
[lang=zh-Hant] .ArtworkHeader--copyright,
[lang=zh-Hans] .ArtworkHeader--copyright,
[lang=zh-CN] .ArtworkHeader--copyright {
    line-height: 1.5
}

.ArtworkTeaserSliderArea {
    margin-bottom: 120px;
    position: relative
}

@media screen and (max-width:1000px) {
    .ArtworkTeaserSliderArea {
        margin-bottom: 15vw
    }
}

@media screen and (max-width:400px) {
    .ArtworkTeaserSliderArea {
        margin-bottom: 60px
    }
}

@media screen and (min-width:1350px) {

    .ArtworkTeaserSliderArea::before,
    .ArtworkTeaserSliderArea::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        height: 100%;
        width: calc(50% - 733px);
        background-image: linear-gradient(#ffffff 15%, #F9F9FA 45%, #ffffff 45%);
        z-index: 1
    }

    .ArtworkTeaserSliderArea::before {
        left: 0
    }

    .ArtworkTeaserSliderArea::after {
        right: 0
    }

    .ArtworkTeaserSlider::before,
    .ArtworkTeaserSlider::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        height: 100%;
        width: 60px;
        background-image: url(../fonts/artworkteaserslider--cover.svg);
        background-position: top left;
        background-size: 100% 100%;
        z-index: 1
    }

    .ArtworkTeaserSlider::before {
        left: calc(50% - 735px)
    }

    .ArtworkTeaserSlider::after {
        right: calc(50% - 735px);
        -webkit-transform: scaleX(-1);
        transform: scaleX(-1)
    }
}

.ArtworkTeaserSlider--inner {
    margin-left: calc(50% - 675px);
    margin-right: calc(50% - 675px)
}

@media(max-width:1550px) {
    .ArtworkTeaserSlider--inner {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (max-width:1200px) {
    .ArtworkTeaserSlider--inner {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (max-width:750px) {
    .ArtworkTeaserSlider--inner {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media screen and (max-width:580px) {
    .ArtworkTeaserSlider--inner {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media print {
    .ArtworkTeaserSlider--inner {
        max-width: 100%;
        margin: 0
    }
}

.ArtworkTeaserSlider--slider:not(.is-draggable) .ArtworkTeaserSlider--slider--controls {
    display: none
}

.ArtworkTeaserSlider--slider .flickity-page-dots {
    display: none
}

@media screen and (max-width:750px) {
    .ArtworkTeaserSlider--slider:not(.is-single).flickity-page-dots {
        display: block;
        text-align: center
    }
}

.ArtworkTeaserSlider--slider.is-slider-ready .js-slider--slide {
    position: static !important
}

.ArtworkTeaserSlider--wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.ArtworkTeaserSlider--slider--controls {
    margin-top: 60px;
    text-align: center
}

@media screen and (max-width:750px) {
    .ArtworkTeaserSlider--slider--controls {
        display: none
    }
}

.ArtworkTeaserSlider--slider--prev,
.ArtworkTeaserSlider--slider--next {
    position: relative;
    display: inline-block
}

.ArtworkTeaserSlider--slider--progress {
    position: absolute;
    top: -1px;
    right: -1px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    z-index: 1;
    pointer-events: none;
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1), visibility 0s .2s, -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1), visibility 0s .2s, transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1), visibility 0s .2s, transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.ArtworkTeaserSlider--slider--progress svg {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.ArtworkTeaserSlider--slider--progress circle {
    stroke-dasharray: 151 151;
    stroke-dashoffset: 151
}

.is-stopped .ArtworkTeaserSlider--slider--progress {
    opacity: 0;
    visibility: hidden
}

.is-stopped .ArtworkTeaserSlider--slider--progress circle {
    stroke-dashoffset: -151;
    transition: stroke-dashoffset .2s cubic-bezier(.39, .575, .565, 1)
}

html:not(.can-touch) .js-slider--next:not([disabled]):active+.ArtworkTeaserSlider--slider--progress,
html:not(.can-touch) .js-slider--next:not([disabled]):hover+.ArtworkTeaserSlider--slider--progress {
    -webkit-transform: scale(1.101);
    transform: scale(1.101)
}

.ArtworkTeaserSlider--slide {
    display: inline-block;
    white-space: normal;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.33333%;
    width: calc((100% + 60px)/3 - 60px);
    margin-right: 60px
}

@supports(display:flex) {
    .ArtworkTeaserSlider--slide {
        display: block;
        white-space: inherit
    }
}

.ArtworkTeaserSlider--slide.is-slider-ready {
    visibility: hidden
}

.ArtworkTeaserSlider--slide.was-visible,
.ArtworkTeaserSlider--slide.is-visible {
    visibility: visible
}

@media screen and (max-width:1382px) {
    .ArtworkTeaserSlider--slide {
        display: inline-block;
        white-space: normal;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%;
        width: calc((100% + 60px)/2 - 60px);
        margin-right: 60px
    }

    @supports(display:flex) {
        .ArtworkTeaserSlider--slide {
            display: block;
            white-space: inherit
        }
    }

    .ArtworkTeaserSlider--slide.is-slider-ready {
        visibility: hidden
    }

    .ArtworkTeaserSlider--slide.was-visible,
    .ArtworkTeaserSlider--slide.is-visible {
        visibility: visible
    }
}

@media screen and (max-width:750px) {
    .ArtworkTeaserSlider--slide {
        display: inline-block;
        white-space: normal;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%;
        width: calc((100% + 0)/1 - 0);
        margin-right: 0
    }

    @supports(display:flex) {
        .ArtworkTeaserSlider--slide {
            display: block;
            white-space: inherit
        }
    }

    .ArtworkTeaserSlider--slide.is-slider-ready {
        visibility: hidden
    }

    .ArtworkTeaserSlider--slide.was-visible,
    .ArtworkTeaserSlider--slide.is-visible {
        visibility: visible
    }
}

.GalleryGrid {
    margin-bottom: 120px
}

@media screen and (max-width:1000px) {
    .GalleryGrid {
        margin-bottom: 15vw
    }
}

@media screen and (max-width:400px) {
    .GalleryGrid {
        margin-bottom: 60px
    }
}

.GalleryGrid--grid {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    page-break-inside: avoid;
    margin-right: -60px;
    margin-top: -60px;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.GalleryGrid--grid>* {
    float: left;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.33333%;
    margin-top: 60px;
    padding-right: 60px
}

.GalleryGrid--grid:after {
    content: '';
    display: table;
    clear: both
}

@media screen and (max-width:1382px) {
    .GalleryGrid--grid {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        page-break-inside: avoid;
        margin-right: -60px;
        margin-top: -60px
    }

    .GalleryGrid--grid>* {
        float: left;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%;
        margin-top: 60px;
        padding-right: 60px
    }

    .GalleryGrid--grid:after {
        content: '';
        display: table;
        clear: both
    }
}

@media screen and (max-width:750px) {
    .GalleryGrid--grid {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        page-break-inside: avoid;
        margin-right: 0;
        margin-top: -60px
    }

    .GalleryGrid--grid>* {
        float: left;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%;
        margin-top: 60px;
        padding-right: 0
    }

    .GalleryGrid--grid:after {
        content: '';
        display: table;
        clear: both
    }
}

.GalleryGrid--item.highlight {
    width: 66.66667%
}

@media screen and (max-width:1382px) {
    .GalleryGrid--item.highlight {
        width: 50%
    }
}

@media screen and (max-width:750px) {
    .GalleryGrid--item.highlight {
        width: 100%
    }
}

.GalleryGrid--loadMore {
    margin-top: 120px
}

@media screen and (max-width:1000px) {
    .GalleryGrid--loadMore {
        margin-top: 15vw
    }
}

@media screen and (max-width:400px) {
    .GalleryGrid--loadMore {
        margin-top: 60px
    }
}

.MediaBlock {
    margin-bottom: 150px
}

@media screen and (max-width:1000px) {
    .MediaBlock {
        margin-bottom: 18.75vw
    }
}

@media screen and (max-width:400px) {
    .MediaBlock {
        margin-bottom: 75px
    }
}

.MediaBlock .MediaSlide--link {
    display: block
}

.MediaBlock .MediaSlide--caption {
    opacity: 1;
    text-align: center
}

.MediaBlock.fullwidth .MediaSlide--media {
    height: 800px;
    max-height: calc(100vh - 3em)
}

.MediaBlock.fullwidth .Media.image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.MediaBlock.fullwidth .MediaSlide--caption {
    position: relative;
    margin-left: calc(50% - 615px);
    margin-right: calc(50% - 615px)
}

@media(max-width:1430px) {
    .MediaBlock.fullwidth .MediaSlide--caption {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (max-width:1200px) {
    .MediaBlock.fullwidth .MediaSlide--caption {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (max-width:750px) {
    .MediaBlock.fullwidth .MediaSlide--caption {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media screen and (max-width:580px) {
    .MediaBlock.fullwidth .MediaSlide--caption {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media print {
    .MediaBlock.fullwidth .MediaSlide--caption {
        max-width: 100%;
        margin: 0
    }
}

.MediaBlock.small {
    margin-left: calc(50% - 435px);
    margin-right: calc(50% - 435px)
}

@media(max-width:1070px) {
    .MediaBlock.small {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (max-width:1000px) {
    .MediaBlock.small {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (max-width:750px) {
    .MediaBlock.small {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media screen and (max-width:580px) {
    .MediaBlock.small {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media print {
    .MediaBlock.small {
        max-width: 100%;
        margin: 0
    }
}

.MediaBlock.is-portrait {
    padding-left: 12.5%;
    padding-right: 12.5%
}

@media screen and (max-width:750px) {
    .MediaBlock.is-portrait {
        padding-left: 0;
        padding-right: 0
    }
}

.MediaBlock.double {
    margin-left: calc(50% - 615px);
    margin-right: calc(50% - 615px)
}

@media(max-width:1430px) {
    .MediaBlock.double {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (max-width:1200px) {
    .MediaBlock.double {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (max-width:750px) {
    .MediaBlock.double {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media screen and (max-width:580px) {
    .MediaBlock.double {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media print {
    .MediaBlock.double {
        max-width: 100%;
        margin: 0
    }
}

@media screen and (min-width:1001px) {
    .MediaBlock.double {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }

    .MediaBlock.double>* {
        width: 50%;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto
    }

    .MediaBlock.double>*:first-child {
        padding-right: calc(6.25% + 30px)
    }
}

@media screen and (max-width:1000px) {
    .MediaBlock.double>*:last-child {
        margin-top: 30px
    }
}

@media screen and (max-width:750px) {
    .MediaBlock {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .MediaBlock:not(.fullwidth) .MediaSlide--caption {
        padding-left: 30px;
        padding-right: 30px
    }
}

.PageHeaderArt {
    margin-left: calc(50% - 615px);
    margin-right: calc(50% - 615px);
    padding-top: 240px;
    margin-bottom: 150px;
    text-align: center
}

@media(max-width:1430px) {
    .PageHeaderArt {
        margin-left: 75px;
        margin-right: 75px
    }
}

@media screen and (max-width:1200px) {
    .PageHeaderArt {
        margin-left: 60px;
        margin-right: 60px
    }
}

@media screen and (max-width:750px) {
    .PageHeaderArt {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media screen and (max-width:580px) {
    .PageHeaderArt {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media print {
    .PageHeaderArt {
        max-width: 100%;
        margin: 0
    }
}

@media screen and (max-width:1000px) {
    .PageHeaderArt {
        padding-top: 30vw
    }
}

@media screen and (max-width:400px) {
    .PageHeaderArt {
        padding-top: 120px
    }
}

@media screen and (max-width:1000px) {
    .PageHeaderArt {
        margin-bottom: 18.75vw
    }
}

@media screen and (max-width:400px) {
    .PageHeaderArt {
        margin-bottom: 75px
    }
}

@media screen and (max-width:750px) {
    .PageHeaderArt {
        padding-top: 360px;
        padding-top: 45vw
    }
}

@media screen and (max-width:400px) {
    .PageHeaderArt {
        padding-top: 180px
    }
}

.PageHeaderArt--title {
    font-size: 120px;
    font-size: 7.5rem;
    font-weight: 200;
    line-height: 1;
    max-width: 1110px;
    margin-bottom: 60px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:1000px) {
    .PageHeaderArt--title {
        font-size: 75px;
        font-size: 4.6875rem;
        line-height: 1.06667
    }
}

@media screen and (max-width:750px) {
    .PageHeaderArt--title {
        font-size: 60px;
        font-size: 3.75rem;
        line-height: 1.1;
        font-size: 50px;
        font-size: 3.125rem;
        font-weight: 200;
        line-height: 1.16;
        margin-bottom: 30px;
        font-size: 30px;
        font-size: 1.875rem;
        line-height: 1.53333
    }
}

.PageHeaderArt--lead {
    max-width: 615px;
    margin-left: auto;
    margin-right: auto
}

.PageHeaderArt--cta {
    margin-top: 45px
}

@media screen and (max-width:750px) {
    .PageHeaderArt--cta {
        margin-top: 30px
    }
}

@media(prefers-reduced-motion) {

    *,
    *:after,
    *:before {
        -webkit-animation: none !important;
        animation: none !important;
        transition: none !important
    }

    .will-appear *.in-slide-right,
    .will-appear *.in-slide-left,
    .will-appear *.in-slide-bottom,
    .will-appear.in-slide-right,
    .will-appear.in-slide-left,
    .will-appear.in-slide-bottom {
        opacity: 1 !important
    }

    .will-appear *.in-slide-bottom-group>*,
    .will-appear.in-slide-bottom-group>* {
        opacity: 1 !important
    }
}

#flying-focus {
    position: absolute;
    margin: 0;
    top: -100px;
    background: 0 0;
    transition-property: left, top, width, height, opacity;
    transition-timing-function: cubic-bezier(0, .2, 0, 1);
    visibility: hidden;
    pointer-events: none;
    display: none
}

#flying-focus.flying-focus_visible {
    visibility: visible;
    z-index: 10000000;
    display: block
}

#flying-focus:after {
    content: '';
    position: absolute;
    top: -9px;
    left: -9px;
    bottom: -9px;
    right: -9px;
    border-radius: 3px;
    box-shadow: 0 0 54px 0 rgba(0, 0, 0, .2), 0 0 2px 2px rgba(0, 10, 20, .1);
    border: 1px solid rgba(0, 10, 20, .5)
}

#flying-focus:before {
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    bottom: -8px;
    right: -8px;
    border-radius: 3px;
    box-shadow: 0 0 2px rgba(255, 255, 255, .9) inset;
    border: 1px solid rgba(255, 255, 255, .8)
}

.FocusOnly {
    position: absolute;
    clip: rect(0 0 0 0);
    -webkit-clip-path: polygon(0 0);
    clip-path: polygon(0 0)
}

.FocusOnly:focus {
    position: static;
    clip: auto;
    -webkit-clip-path: none;
    clip-path: none
}

button.FocusOnly:focus {
    width: 100%;
    text-align: center;
    background-color: #000;
    color: #fff;
    padding: 5px 10px
}

.Skiplinks a {
    position: absolute;
    z-index: 10000;
    top: -9999px;
    background-color: #000;
    color: #fff;
    padding: 5px 10px;
    font-size: 1rem
}

.Skiplinks a:focus,
.Skiplinks a:active {
    top: 20px;
    left: 20px;
    right: auto
}

.visuallyhidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    overflow: hidden;
    width: 1px;
    height: 1px
}

@-webkit-keyframes anim-slide-right {
    0% {
        opacity: 0;
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes anim-slide-right {
    0% {
        opacity: 0;
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@-webkit-keyframes anim-slide-left {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes anim-slide-left {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@-webkit-keyframes anim-slide-bottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        transform: translateY(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes anim-slide-bottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        transform: translateY(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@-webkit-keyframes anim-ken-burns {
    0% {
        -webkit-transform: translate(5%, -5%) scale(1.1);
        transform: translate(5%, -5%) scale(1.1)
    }

    100% {
        -webkit-transform: translate(-1%, 1%) scale(1.02);
        transform: translate(-1%, 1%) scale(1.02)
    }
}

@keyframes anim-ken-burns {
    0% {
        -webkit-transform: translate(5%, -5%) scale(1.1);
        transform: translate(5%, -5%) scale(1.1)
    }

    100% {
        -webkit-transform: translate(-1%, 1%) scale(1.02);
        transform: translate(-1%, 1%) scale(1.02)
    }
}

.will-appear *.in-slide-right,
.will-appear *.in-slide-left,
.will-appear *.in-slide-bottom,
.will-appear.in-slide-right,
.will-appear.in-slide-left,
.will-appear.in-slide-bottom {
    opacity: 0
}

.will-appear *.in-slide-bottom-group>*,
.will-appear.in-slide-bottom-group>* {
    opacity: 0
}

.will-appear.is-appeared *.in-slide-right,
.will-appear.is-appeared.in-slide-right {
    -webkit-animation: anim-slide-right 1s cubic-bezier(.165, .84, .44, 1) 0s both;
    animation: anim-slide-right 1s cubic-bezier(.165, .84, .44, 1) 0s both
}

.will-appear.is-appeared *.in-slide-left,
.will-appear.is-appeared.in-slide-left {
    -webkit-animation: anim-slide-left 1s cubic-bezier(.165, .84, .44, 1) 0s both;
    animation: anim-slide-left 1s cubic-bezier(.165, .84, .44, 1) 0s both
}

.will-appear.is-appeared *.in-slide-bottom,
.will-appear.is-appeared.in-slide-bottom {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .4s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .4s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*,
.will-appear.is-appeared.in-slide-bottom-group>* {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .2s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .2s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+2),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+2) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .4s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .4s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+3),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+3) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .6s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .6s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+4),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+4) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .8s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) .8s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+5),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+5) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+6),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+6) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.2s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.2s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+7),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+7) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.4s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.4s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+8),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+8) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.6s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.6s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+9),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+9) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.8s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 1.8s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+10),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+10) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 2s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 2s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+11),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+11) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 2.2s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 2.2s both
}

.will-appear.is-appeared *.in-slide-bottom-group>*:nth-child(3n+12),
.will-appear.is-appeared.in-slide-bottom-group>*:nth-child(3n+12) {
    -webkit-animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 2.4s both;
    animation: anim-slide-bottom 1s cubic-bezier(.165, .84, .44, 1) 2.4s both
}

.easings {
    width: 100%;
    position: relative
}

.cube--container {
    margin-top: 10px;
    width: 400px;
    height: 50px;
    position: relative
}

.cube {
    position: absolute;
    height: 50px;
    width: 50px;
    display: block;
    background: blue;
    border-radius: 100%;
    -webkit-animation: CUBE_TRANSLATE 1.8s 0s alternate infinite none running;
    animation: CUBE_TRANSLATE 1.8s 0s alternate infinite none running
}

@-webkit-keyframes CUBE_TRANSLATE {
    0% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px)
    }

    100% {
        -webkit-transform: translateX(350px);
        transform: translateX(350px)
    }
}

@keyframes CUBE_TRANSLATE {
    0% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px)
    }

    100% {
        -webkit-transform: translateX(350px);
        transform: translateX(350px)
    }
}

.easeOutCubic .cube {
    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1)
}

.easeInOutCubic .cube {
    -webkit-animation-timing-function: cubic-bezier(.645, .045, .355, 1);
    animation-timing-function: cubic-bezier(.645, .045, .355, 1)
}

.easeInExpo .cube {
    -webkit-animation-timing-function: cubic-bezier(.95, .05, .795, .035);
    animation-timing-function: cubic-bezier(.95, .05, .795, .035)
}

.easeOutExpo .cube {
    -webkit-animation-timing-function: cubic-bezier(.19, 1, .22, 1);
    animation-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.easeInOutExpo .cube {
    -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1);
    animation-timing-function: cubic-bezier(1, 0, 0, 1)
}

.easeInQuart .cube {
    -webkit-animation-timing-function: cubic-bezier(.895, .03, .685, .22);
    animation-timing-function: cubic-bezier(.895, .03, .685, .22)
}

.easeOutQuart .cube {
    -webkit-animation-timing-function: cubic-bezier(.165, .84, .44, 1);
    animation-timing-function: cubic-bezier(.165, .84, .44, 1)
}

.easeInOutQuart .cube {
    -webkit-animation-timing-function: cubic-bezier(.77, 0, .175, 1);
    animation-timing-function: cubic-bezier(.77, 0, .175, 1)
}

.easeInSine .cube {
    -webkit-animation-timing-function: cubic-bezier(.47, 0, .745, .715);
    animation-timing-function: cubic-bezier(.47, 0, .745, .715)
}

.easeOutSine .cube {
    -webkit-animation-timing-function: cubic-bezier(.39, .575, .565, 1);
    animation-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.easeInOutSine .cube {
    -webkit-animation-timing-function: cubic-bezier(.445, .05, .55, .95);
    animation-timing-function: cubic-bezier(.445, .05, .55, .95)
}

.easeInBack .cube {
    -webkit-animation-timing-function: cubic-bezier(.6, -.28, .735, .045);
    animation-timing-function: cubic-bezier(.6, -.28, .735, .045)
}

.easeOutBack .cube {
    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1.275);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1.275)
}

.easeInOutBack .cube {
    -webkit-animation-timing-function: cubic-bezier(.68, -.55, .265, 1.55);
    animation-timing-function: cubic-bezier(.68, -.55, .265, 1.55)
}

@font-face {
    font-family: microsoft yahei;
    src: url(../fonts/180618_swissresansot-regular-webfont.woff2) format("woff2"), url(../fonts/180618_swissresansot-regular-webfont.woff) format("woff");
    font-weight: 400;
    font-display: swap
}

@font-face {
    font-family: microsoft yahei;
    src: url(../fonts/180618_swissresansot-light-webfont.woff2) format("woff2"), url(../fonts/180618_swissresansot-light-webfont.woff) format("woff");
    font-weight: 200;
    font-display: swap
}

@font-face {
    font-family: microsoft yahei;
    src: url(../fonts/180618_swissresansot-bold-webfont.woff2) format("woff2"), url(../fonts/180618_swissresansot-bold-webfont.woff) format("woff");
    font-weight: 700;
    font-display: swap
}

.c-gradient-white {
    background-image: linear-gradient(to bottom, #F9F9FA, #ffffff)
}

.c-gradient-blue {
    background-color: #3c4150
}

.c-gradient-green {
    background-color: #3c4150
}

.c-gradient-red {
    background-color: #3c4150
}

.c-gradient-pink {
    background-color: #3c4150
}

[data-icon=accordion]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .8em;
    height: .8em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(90deg) translateX(50%) rotate(135deg);
    transform: rotate(90deg) translateX(50%) rotate(135deg);
    top: 50%;
    left: 50%
}

[data-icon=accordion]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=accordion-open]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .8em;
    height: .8em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(-90deg) translateX(50%) rotate(135deg);
    transform: rotate(-90deg) translateX(50%) rotate(135deg);
    top: 50%;
    left: 50%
}

[data-icon=accordion-open]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=close] {
    height: 16px;
    width: 16px
}

[data-icon=close]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    left: 50%;
    width: 24px;
    margin: -1px -12px;
    border-top: 1px solid;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    top: 50%;
    left: 50%
}

[data-icon=close]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    left: 50%;
    width: 24px;
    margin: -1px -12px;
    border-top: 1px solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    top: 50%;
    left: 50%
}

[data-icon=remove] {
    height: 12px;
    width: 12px
}

[data-icon=remove]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 1.6em;
    margin: -1px -.8em;
    border-top: 2px solid;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: -webkit-transform .2s cubic-bezier(.77, 0, .175, 1);
    transition: transform .2s cubic-bezier(.77, 0, .175, 1);
    transition: transform .2s cubic-bezier(.77, 0, .175, 1), -webkit-transform .2s cubic-bezier(.77, 0, .175, 1);
    top: 50%;
    left: 50%
}

[data-icon=remove]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 1.6em;
    margin: -1px -.8em;
    border-top: 2px solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: -webkit-transform .3s cubic-bezier(.77, 0, .175, 1);
    transition: transform .3s cubic-bezier(.77, 0, .175, 1);
    transition: transform .3s cubic-bezier(.77, 0, .175, 1), -webkit-transform .3s cubic-bezier(.77, 0, .175, 1);
    top: 50%;
    left: 50%
}

[data-icon=plus] {
    height: 13px;
    width: 13px
}

[data-icon=plus]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 13px;
    margin: 0 -6px;
    border-top: 1px solid;
    top: 50%;
    left: 50%
}

[data-icon=plus]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    height: 13px;
    margin: -6px 0;
    border-left: 1px solid;
    top: 50%;
    left: 50%
}

[data-icon=minus] {
    height: 13px;
    width: 13px
}

[data-icon=minus]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 12px;
    margin: 0 -6px;
    border-top: 1px solid;
    top: 50%;
    left: 50%
}

[data-icon=minus]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=right]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(0) translateX(50%) rotate(135deg);
    transform: rotate(0) translateX(50%) rotate(135deg);
    top: 50%;
    left: 50%
}

[data-icon=right]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=left]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(180deg) translateX(50%) rotate(135deg);
    transform: rotate(180deg) translateX(50%) rotate(135deg);
    top: 50%;
    left: 50%
}

[data-icon=left]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=down]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(90deg) translateX(50%) rotate(135deg);
    transform: rotate(90deg) translateX(50%) rotate(135deg);
    top: 50%;
    left: 50%
}

[data-icon=down]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=up]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(-90deg) translateX(50%) rotate(135deg);
    transform: rotate(-90deg) translateX(50%) rotate(135deg);
    top: 50%;
    left: 50%
}

[data-icon=up]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=play] {
    width: 25px;
    height: 30px
}

[data-icon=play]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    margin-top: -15px;
    margin-left: -12px;
    width: 0;
    height: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 25px solid currentColor;
    top: 50%;
    left: 50%
}

[data-icon=play]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=play-small]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    margin-top: -9px;
    margin-left: -7px;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 15px solid currentColor;
    top: 50%;
    left: 50%
}

[data-icon=play-small]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=checkmark] {
    width: 20px;
    height: 16px
}

[data-icon=checkmark]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 1.8em;
    height: .7em;
    margin-left: -1em;
    margin-top: -.8em;
    border-color: currentColor;
    border-width: .3em;
    border-style: none none solid solid;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 50%;
    left: 50%
}

[data-icon=checkmark]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    content: none;
    top: 50%;
    left: 50%
}

[data-icon=burger] {
    width: 24px;
    height: 18px
}

[data-icon=burger]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 2.4em;
    height: 1.4em;
    margin-top: -.7em;
    margin-left: -12px;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    top: 50%;
    left: 50%
}

[data-icon=burger]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 2.4em;
    height: 2px;
    margin-top: -1px;
    margin-left: -12px;
    border-bottom: 1px solid currentColor;
    top: 50%;
    left: 50%
}

[data-icon=search] {
    width: 21px;
    height: 21px
}

[data-icon=search]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 1.3em;
    height: 1.3em;
    margin-top: -11px;
    margin-left: -10px;
    border: 1px solid currentColor;
    border-radius: 100%;
    top: 50%;
    left: 50%
}

[data-icon=search]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .9em;
    margin-top: .5em;
    border: .7px solid currentColor;
    border-radius: 4px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    left: 50%
}

[data-icon=arrow-right]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: translateX(0.685em) rotate(135deg);
    transform: translateX(0.685em) rotate(135deg);
    top: 50%;
    left: 50%
}

[data-icon=arrow-right]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 1.17em;
    border-bottom: 1px solid;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%
}

[data-icon=arrow-left]:after {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: translateX(-0.685em) rotate(-45deg);
    transform: translateX(-0.685em) rotate(-45deg);
    top: 50%;
    left: 50%
}

[data-icon=arrow-left]:before {
    content: "";
    position: absolute;
    font-size: inherit;
    top: 50%;
    width: 1.17em;
    border-bottom: 1px solid;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%
}

[data-icon=calendar]:after {
    background: url(../images/1x--sprite.png) no-repeat 0 0;
    width: 26px;
    height: 29px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -15px;
    left: 50%;
    margin-left: -13px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=calendar]:after {
        background: url(../images/2x--sprite.png) no-repeat 0 0;
        background-size: 171px 134px
    }
}

.Icon[data-icon=calendar] {
    padding: 0 13px;
    height: 29px;
    margin: 0
}

[data-icon=flag-AU]:after {
    background: url(../images/1x--sprite.png) no-repeat -28px 0;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-AU]:after {
        background: url(../images/2x--sprite.png) no-repeat -27px 0;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-AU] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-BR]:after {
    background: url(../images/1x--sprite.png) no-repeat 0 -31px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-BR]:after {
        background: url(../images/2x--sprite.png) no-repeat 0 -30px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-BR] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-CA]:after {
    background: url(../images/1x--sprite.png) no-repeat -58px 0;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-CA]:after {
        background: url(../images/2x--sprite.png) no-repeat -56px 0;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-CA] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-CH]:after {
    background: url(../images/1x--sprite.png) no-repeat -58px -22px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-CH]:after {
        background: url(../images/2x--sprite.png) no-repeat -56px -21px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-CH] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-CN]:after {
    background: url(../images/1x--sprite.png) no-repeat 0 -53px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-CN]:after {
        background: url(../images/2x--sprite.png) no-repeat 0 -51px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-CN] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-CO]:after {
    background: url(../images/1x--sprite.png) no-repeat -30px -53px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-CO]:after {
        background: url(../images/2x--sprite.png) no-repeat -29px -51px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-CO] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-DE]:after {
    background: url(../images/1x--sprite.png) no-repeat -88px 0;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-DE]:after {
        background: url(../images/2x--sprite.png) no-repeat -85px 0;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-DE] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-DK]:after {
    background: url(../images/1x--sprite.png) no-repeat -88px -22px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-DK]:after {
        background: url(../images/2x--sprite.png) no-repeat -85px -21px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-DK] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-ES]:after {
    background: url(../images/1x--sprite.png) no-repeat -88px -44px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-ES]:after {
        background: url(../images/2x--sprite.png) no-repeat -85px -42px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-ES] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-FR]:after {
    background: url(../images/1x--sprite.png) no-repeat 0 -75px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-FR]:after {
        background: url(../images/2x--sprite.png) no-repeat 0 -72px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-FR] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-GB]:after {
    background: url(../images/1x--sprite.png) no-repeat -30px -75px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-GB]:after {
        background: url(../images/2x--sprite.png) no-repeat -29px -72px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-GB] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-HK]:after {
    background: url(../images/1x--sprite.png) no-repeat -60px -75px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-HK]:after {
        background: url(../images/2x--sprite.png) no-repeat -58px -72px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-HK] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-IL]:after {
    background: url(../images/1x--sprite.png) no-repeat -118px 0;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-IL]:after {
        background: url(../images/2x--sprite.png) no-repeat 0 -93px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-IL] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-IN]:after {
    background: url(../images/1x--sprite.png) no-repeat -118px -22px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-IN]:after {
        background: url(../images/2x--sprite.png) no-repeat -29px -93px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-IN] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-IT]:after {
    background: url(../images/1x--sprite.png) no-repeat -118px -44px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-IT]:after {
        background: url(../images/2x--sprite.png) no-repeat -58px -93px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-IT] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-JP]:after {
    background: url(../images/1x--sprite.png) no-repeat -118px -66px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-JP]:after {
        background: url(../images/2x--sprite.png) no-repeat -114px 0;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-JP] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-KR]:after {
    background: url(../images/1x--sprite.png) no-repeat 0 -97px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-KR]:after {
        background: url(../images/2x--sprite.png) no-repeat -114px -21px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-KR] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-LU]:after {
    background: url(../images/1x--sprite.png) no-repeat -30px -97px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-LU]:after {
        background: url(../images/2x--sprite.png) no-repeat -114px -42px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-LU] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-MX]:after {
    background: url(../images/1x--sprite.png) no-repeat -60px -97px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-MX]:after {
        background: url(../images/2x--sprite.png) no-repeat -114px -63px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-MX] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-MY]:after {
    background: url(../images/1x--sprite.png) no-repeat -90px -97px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-MY]:after {
        background: url(../images/2x--sprite.png) no-repeat -114px -84px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-MY] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-NZ]:after {
    background: url(../images/1x--sprite.png) no-repeat 0 -119px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-NZ]:after {
        background: url(../images/2x--sprite.png) no-repeat 0 -114px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-NZ] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-SA]:after {
    background: url(../images/1x--sprite.png) no-repeat -30px -119px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-SA]:after {
        background: url(../images/2x--sprite.png) no-repeat -29px -114px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-SA] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-SG]:after {
    background: url(../images/1x--sprite.png) no-repeat -60px -119px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-SG]:after {
        background: url(../images/2x--sprite.png) no-repeat -58px -114px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-SG] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-SK]:after {
    background: url(../images/1x--sprite.png) no-repeat -90px -119px;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-SK]:after {
        background: url(../images/2x--sprite.png) no-repeat -87px -114px;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-SK] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon=flag-US]:after {
    background: url(../images/1x--sprite.png) no-repeat -148px 0;
    width: 28px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 50%;
    margin-left: -14px
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    [data-icon=flag-US]:after {
        background: url(../images/2x--sprite.png) no-repeat -143px 0;
        background-size: 171px 134px
    }
}

.Icon[data-icon=flag-US] {
    padding: 0 14px;
    height: 20px;
    margin: 0
}

[data-icon] {
    font-size: 10px
}

[data-icon].large {
    font-size: 22px
}

.Icon>img {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.Icon.inline {
    display: inline-block;
    min-height: 1ex;
    letter-spacing: -1ex;
    text-decoration: none;
    position: relative;
    vertical-align: middle;
    margin-top: -3px
}

.Icon.inline.before {
    margin-right: 1ex;
    margin-top: -4px
}

.Icon.inline.after {
    margin-left: 1ex;
    margin-top: -4px
}

.Icon.inline:before {
    content: ''
}

html.cssreflections .Icon.inline:before {
    content: '\00a0';
    letter-spacing: -1ex
}

.Icon:not(.inline) {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    letter-spacing: -1ex;
    text-indent: -9999px;
    text-decoration: none;
    line-height: 1;
    border: none;
    outline: none
}

[data-picto] {
    display: inline-block;
    position: relative;
    height: 1.2ex;
    font-size: 16px
}

[data-picto]>svg {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: visible
}

@supports(display:inline-flex) {
    [data-picto]>svg {
        position: relative;
        top: 0;
        -webkit-transform: none;
        transform: none
    }
}

@supports(display:inline-flex) {

    .Icon[data-picto],
    .Icon:not(.inline)[data-picto],
    [data-picto] {
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    [data-picto]>svg {
        position: relative;
        top: 0;
        -webkit-transform: none;
        transform: none
    }
}

[data-picto]>svg {
    display: block;
    width: 100%
}

[data-picto].red>svg {
    fill: #e00034
}

[data-picto].white>svg {
    fill: #fff
}

[data-picto].t-gray>svg {
    fill: #636363
}

@media screen and (-ms-high-contrast:active) {
    [data-picto]>svg {
        stroke: green
    }
}

[data-picto=agriculture] {
    width: 1.5em
}

[data-picto=agriculture]>svg {
    height: 1.5em
}

[data-picto=alert] {
    width: 1.5em
}

[data-picto=alert]>svg {
    height: 1.5em
}

[data-picto=audio] {
    width: 1.5em
}

[data-picto=audio]>svg {
    height: 1.5em
}

[data-picto=award] {
    width: 1.5em
}

[data-picto=award]>svg {
    height: 1.5em
}

[data-picto=bank] {
    width: 1.5625em
}

[data-picto=bank]>svg {
    height: 1.5625em
}

[data-picto=bin] {
    width: 1.5em
}

[data-picto=bin]>svg {
    height: 1.5em
}

[data-picto=blog] {
    width: 1.5em
}

[data-picto=blog]>svg {
    height: 1.5em
}

[data-picto=book-2] {
    width: 1.5em
}

[data-picto=book-2]>svg {
    height: 1.5em
}

[data-picto=book] {
    width: 2em
}

[data-picto=book]>svg {
    height: 2em
}

[data-picto=calculator] {
    width: 1.5em
}

[data-picto=calculator]>svg {
    height: 1.5em
}

[data-picto=calendar] {
    width: 1.5em
}

[data-picto=calendar]>svg {
    height: 1.5em
}

[data-picto=camera-flash] {
    width: 2em
}

[data-picto=camera-flash]>svg {
    height: 2em
}

[data-picto=cancellation] {
    width: 1.5em
}

[data-picto=cancellation]>svg {
    height: 1.5em
}

[data-picto=capacity] {
    width: 1.5em
}

[data-picto=capacity]>svg {
    height: 1.5em
}

[data-picto=car] {
    width: 1.5em
}

[data-picto=car]>svg {
    height: 1.5em
}

[data-picto=cart] {
    width: 1.4375em
}

[data-picto=cart]>svg {
    height: 1.4375em
}

[data-picto=certificate] {
    width: 1.5em
}

[data-picto=certificate]>svg {
    height: 1.5em
}

[data-picto=checked] {
    width: 1.5em
}

[data-picto=checked]>svg {
    height: 1.5em
}

[data-picto=construction] {
    width: 1.5em
}

[data-picto=construction]>svg {
    height: 1.5em
}

[data-picto=cyber] {
    width: 1.5em
}

[data-picto=cyber]>svg {
    height: 1.5em
}

[data-picto=damage] {
    width: 1.5em
}

[data-picto=damage]>svg {
    height: 1.5em
}

[data-picto=data] {
    width: 1.5em
}

[data-picto=data]>svg {
    height: 1.5em
}

[data-picto=document] {
    width: 1.5em
}

[data-picto=document]>svg {
    height: 1.5em
}

[data-picto=download] {
    width: 1.5em
}

[data-picto=download]>svg {
    height: 1.5em
}

[data-picto=edit] {
    width: 1.5em
}

[data-picto=edit]>svg {
    height: 1.5em
}

[data-picto=expand] {
    width: 1.5em
}

[data-picto=expand]>svg {
    height: 1.5em
}

[data-picto=external-link] {
    width: 1.1875em
}

[data-picto=external-link]>svg {
    height: 1em
}

[data-picto=external] {
    width: 1em
}

[data-picto=external]>svg {
    height: 1em
}

[data-picto=filters] {
    width: 1.5em
}

[data-picto=filters]>svg {
    height: 1.5em
}

[data-picto=fire] {
    width: 1.5em
}

[data-picto=fire]>svg {
    height: 1.5em
}

[data-picto=flood] {
    width: 1.5em
}

[data-picto=flood]>svg {
    height: 1.5em
}

[data-picto=folder] {
    width: 1.5em
}

[data-picto=folder]>svg {
    height: 1.5em
}

[data-picto=forecast] {
    width: 2em
}

[data-picto=forecast]>svg {
    height: 2em
}

[data-picto=handshake] {
    width: 1.5em
}

[data-picto=handshake]>svg {
    height: 1.5em
}

[data-picto=home] {
    width: 1.5em
}

[data-picto=home]>svg {
    height: 1.5em
}

[data-picto=host] {
    width: 1.5em
}

[data-picto=host]>svg {
    height: 1.5em
}

[data-picto=hurricane] {
    width: 1.5em
}

[data-picto=hurricane]>svg {
    height: 1.5em
}

[data-picto=info] {
    width: 1.5em
}

[data-picto=info]>svg {
    height: 1.5em
}

[data-picto=instagram] {
    width: 1.5em
}

[data-picto=instagram]>svg {
    height: 1.5em
}

[data-picto=language] {
    width: 1.5em
}

[data-picto=language]>svg {
    height: 1.5em
}

[data-picto=laptop-media] {
    width: 1.5625em
}

[data-picto=laptop-media]>svg {
    height: 1.5em
}

[data-picto=laptop] {
    width: 1.5em
}

[data-picto=laptop]>svg {
    height: 1.5em
}

[data-picto=link] {
    width: 1.5em
}

[data-picto=link]>svg {
    height: 1.5em
}

[data-picto=linkedin] {
    width: 1.375em
}

[data-picto=linkedin]>svg {
    height: 1.5em
}

[data-picto=list] {
    width: 1.5em
}

[data-picto=list]>svg {
    height: 1.5em
}

[data-picto=lock] {
    width: 1.5em
}

[data-picto=lock]>svg {
    height: 1.5em
}

[data-picto=map] {
    width: 1.5em
}

[data-picto=map]>svg {
    height: 1.5em
}

[data-picto=message] {
    width: 1.5em
}

[data-picto=message]>svg {
    height: 1.5em
}

[data-picto=microphone] {
    width: 1.5em
}

[data-picto=microphone]>svg {
    height: 1.5em
}

[data-picto=money] {
    width: 1.5em
}

[data-picto=money]>svg {
    height: 1.5em
}

[data-picto=partner] {
    width: 1.5em
}

[data-picto=partner]>svg {
    height: 1.5em
}

[data-picto=pdf] {
    width: 1.9375em
}

[data-picto=pdf]>svg {
    height: 1.9375em
}

[data-picto=people] {
    width: 1.5em
}

[data-picto=people]>svg {
    height: 1.5em
}

[data-picto=phone] {
    width: 1.5em
}

[data-picto=phone]>svg {
    height: 1.5em
}

[data-picto=plane] {
    width: 1.5em
}

[data-picto=plane]>svg {
    height: 1.5em
}

[data-picto=play-2] {
    width: 1.5em
}

[data-picto=play-2]>svg {
    height: 1.5em
}

[data-picto=play] {
    width: 1.5em
}

[data-picto=play]>svg {
    height: 1.5em
}

[data-picto=powerplant] {
    width: 1.5em
}

[data-picto=powerplant]>svg {
    height: 1.5em
}

[data-picto=real-estate] {
    width: 1.5625em
}

[data-picto=real-estate]>svg {
    height: 1.5625em
}

[data-picto=reset] {
    width: 1.5em
}

[data-picto=reset]>svg {
    height: 1.5em
}

[data-picto=resize] {
    width: 1.5em
}

[data-picto=resize]>svg {
    height: 1.5em
}

[data-picto=risk] {
    width: 1.5em
}

[data-picto=risk]>svg {
    height: 1.5em
}

[data-picto=search] {
    width: 1.5em
}

[data-picto=search]>svg {
    height: 1.5em
}

[data-picto=service] {
    width: 1.5em
}

[data-picto=service]>svg {
    height: 1.5em
}

[data-picto=settings] {
    width: 1.5em
}

[data-picto=settings]>svg {
    height: 1.5625em
}

[data-picto=share] {
    width: 1.6875em
}

[data-picto=share]>svg {
    height: 1.5em
}

[data-picto=shield] {
    width: 1.5em
}

[data-picto=shield]>svg {
    height: 1.5em
}

[data-picto=sun-fog-29] {
    width: 2em
}

[data-picto=sun-fog-29]>svg {
    height: 2em
}

[data-picto=time] {
    width: 1.5em
}

[data-picto=time]>svg {
    height: 1.5em
}

[data-picto=twitter] {
    width: 1.5em
}

[data-picto=twitter]>svg {
    height: 1.5em
}

[data-picto=umbrella] {
    width: 1.5em
}

[data-picto=umbrella]>svg {
    height: 1.5625em
}

[data-picto=user] {
    width: 2em
}

[data-picto=user]>svg {
    height: 2em
}

[data-picto=video] {
    width: 1.5em
}

[data-picto=video]>svg {
    height: 1.5em
}

[data-picto=wechat] {
    width: 1.5em
}

[data-picto=wechat]>svg {
    height: 1.25em
}

[data-picto=world] {
    width: 1.5em
}

[data-picto=world]>svg {
    height: 1.5em
}

[data-picto=youtube] {
    width: 1.5em
}

[data-picto=youtube]>svg {
    height: 1.5em
}

.richtext h1 {
    font-size: 80px;
    font-size: 5rem;
    font-weight: 200;
    line-height: 1.1;
    margin-bottom: .5em
}

@media screen and (max-width:1000px) {
    .richtext h1 {
        font-size: 50px;
        font-size: 3.125rem;
        line-height: 1.14
    }
}

@media screen and (max-width:750px) {
    .richtext h1 {
        font-size: 40px;
        font-size: 2.5rem;
        line-height: 1.15
    }
}

.richtext h2,
.richtext .h2 {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 200;
    line-height: 1.26667;
    margin-top: 2em;
    margin-bottom: .75em
}

[lang=zh] .richtext h2,
[lang=zh-Hant] .richtext h2,
[lang=zh-Hans] .richtext h2,
[lang=zh-CN] .richtext h2,
[lang=zh] .richtext .h2,
[lang=zh-Hant] .richtext .h2,
[lang=zh-Hans] .richtext .h2,
[lang=zh-CN] .richtext .h2 {
    line-height: 1.5
}

@media screen and (max-width:1000px) {

    .richtext h2,
    .richtext .h2 {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.36364
    }
}

.richtext h3,
.richtext .h3 {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    font-weight: 700;
    margin-top: 2em;
    margin-bottom: 1em
}

[lang=zh] .richtext h3,
[lang=zh-Hant] .richtext h3,
[lang=zh-Hans] .richtext h3,
[lang=zh-CN] .richtext h3,
[lang=zh] .richtext .h3,
[lang=zh-Hant] .richtext .h3,
[lang=zh-Hans] .richtext .h3,
[lang=zh-CN] .richtext .h3 {
    line-height: 1.5
}

@media screen and (max-width:1000px) {

    .richtext h3,
    .richtext .h3 {
        font-size: 18px;
        font-size: 1.125rem
    }
}

.richtext h4,
.richtext .h4 {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    font-weight: 700;
    margin-top: 1.5em;
    margin-bottom: .5em
}

[lang=zh] .richtext h4,
[lang=zh-Hant] .richtext h4,
[lang=zh-Hans] .richtext h4,
[lang=zh-CN] .richtext h4,
[lang=zh] .richtext .h4,
[lang=zh-Hant] .richtext .h4,
[lang=zh-Hans] .richtext .h4,
[lang=zh-CN] .richtext .h4 {
    line-height: 1.5
}

.richtext h5,
.richtext .h5 {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4;
    font-weight: 700;
    margin-top: 1.5em;
    margin-bottom: .5em
}

[lang=zh] .richtext h5,
[lang=zh-Hant] .richtext h5,
[lang=zh-Hans] .richtext h5,
[lang=zh-CN] .richtext h5,
[lang=zh] .richtext .h5,
[lang=zh-Hant] .richtext .h5,
[lang=zh-Hans] .richtext .h5,
[lang=zh-CN] .richtext .h5 {
    line-height: 1.5
}

.richtext h6,
.richtext .h6 {
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 1.5em;
    margin-bottom: .5em
}

.richtext pre {
    margin: 1em 0;
    padding: 20px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .1);
    background-color: #d4d4d4
}

.richtext code {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .1);
    background-color: #d4d4d4
}

.richtext q {
    quotes: "«" "»"
}

.richtext q:before {
    content: open-quote
}

.richtext q:after {
    content: close-quote
}

.richtext blockquote {
    quotes: "«" "»";
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    text-indent: -.75ex
}

.richtext blockquote:before {
    content: open-quote
}

.richtext blockquote:after {
    content: close-quote
}

[lang=zh] .richtext blockquote,
[lang=zh-Hant] .richtext blockquote,
[lang=zh-Hans] .richtext blockquote,
[lang=zh-CN] .richtext blockquote {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .richtext blockquote {
        font-size: 18px;
        font-size: 1.125rem
    }
}

.richtext pre code,
.richtext pre pre,
.richtext code pre {
    background: 0 0;
    border: 0
}

.richtext .Button {
    margin-right: 1em;
    margin-bottom: 1em
}

.richtext sub,
.richtext sup {
    font-size: .675em;
    font-weight: 400;
    position: relative;
    top: -.625em
}

.richtext sup:before,
.richtext sup:after {
    position: relative;
    opacity: .375
}

.richtext sup:before {
    content: '[';
    padding-right: .125em
}

.richtext sup:after {
    content: ']';
    padding-left: .125em
}

.richtext sub {
    top: .45em
}

.richtext p {
    margin-top: 1em;
    margin-bottom: 1em;
    color: #3c4150
}

.richtext ul {
    margin: 1em 0;
    display: block
}

.richtext ul>li {
    padding-left: 25px;
    padding-left: 1.5625rem;
    position: relative;
    list-style-type: none;
    margin-bottom: .75ex;
    text-align: left;
    color: #3c4150
}

.richtext ul>li:before {
    position: absolute;
    left: 0;
    display: inline-block;
    content: "\2022";
    color: #636363
}

.richtext ol {
    margin: 1em 0;
    display: block;
    display: block;
    counter-reset: ol--counter
}

.richtext ol>li {
    padding-left: 25px;
    padding-left: 1.5625rem;
    position: relative;
    list-style-type: none;
    margin-bottom: .75ex;
    text-align: left;
    color: #3c4150
}

.richtext ol>li:before {
    position: absolute;
    left: 0;
    display: inline-block;
    content: "\2022";
    color: #636363
}

.richtext ol>li {
    list-style-type: none;
    padding-left: 20px;
    padding-left: 1.25rem;
    margin-left: 4ex
}

.richtext ol>li:before {
    counter-increment: ol--counter;
    content: counters(ol--counter, ".") ".";
    left: auto;
    right: 100%;
    text-align: right;
    width: 4ex
}

html.ie .richtext ol>li {
    list-style: decimal inside none
}

.richtext li>:first-child {
    margin-top: 0
}

.richtext li>:last-child {
    margin-bottom: 0
}

.richtext table {
    border-collapse: collapse;
    border-spacing: 0;
    overflow: hidden;
    float: none;
    width: 100%
}

.richtext table caption {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 200;
    line-height: 1.26667;
    padding: 1em 0
}

[lang=zh] .richtext table caption,
[lang=zh-Hant] .richtext table caption,
[lang=zh-Hans] .richtext table caption,
[lang=zh-CN] .richtext table caption {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .richtext table caption {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.36364
    }
}

.richtext table thead {
    background-color: #f9f9fa
}

.richtext table tfoot tr {
    border-bottom: none
}

.richtext table tr {
    border-top: 1px solid #d4d4d4;
    border-bottom: 1px solid #d4d4d4
}

.richtext table th {
    font-weight: 700
}

.richtext table th [data-picto] {
    margin-bottom: 5px
}

.richtext table th [data-picto]>svg {
    height: 22px
}

.richtext table th,
.richtext table td {
    padding: 1.2em;
    vertical-align: top;
    border-left: 1px solid #d4d4d4;
    border-right: 1px solid #d4d4d4
}

@media screen and (max-width:1200px) {

    .richtext table th,
    .richtext table td {
        padding: 1em
    }
}

@media screen and (max-width:750px) {

    .richtext table th,
    .richtext table td {
        padding: .5em 1em
    }
}

.richtext table th:first-child,
.richtext table td:first-child {
    border-left: none
}

.richtext table th:last-child,
.richtext table td:last-child {
    border-right: none
}

.richtext table a:not([class]) {
    color: #812f93;
    border-bottom: 1px solid;
    transition: border-color .1s cubic-bezier(.39, .575, .565, 1)
}

.template-red .richtext table a:not([class]) {
    color: #9b14b4
}

.template-green .richtext table a:not([class]) {
    color: #1455b4
}

.template-blue .richtext table a:not([class]) {
    color: #1455b4
}

.template-purple .richtext table a:not([class]) {
    color: #9b14b4
}

.template-violet .richtext table a:not([class]) {
    color: #9b14b4
}

html:not(.can-touch) .richtext table a:not([class]):active,
html:not(.can-touch) .richtext table a:not([class]):hover {
    border-color: #cce2e3
}

html.template-red:not(.can-touch) .richtext table a:not([class]):active,
html.template-red:not(.can-touch) .richtext table a:not([class]):hover {
    border-color: rgba(255, 160, 47, .5)
}

html.template-green:not(.can-touch) .richtext table a:not([class]):active,
html.template-green:not(.can-touch) .richtext table a:not([class]):hover {
    border-color: rgba(201, 221, 3, .5)
}

html.template-blue:not(.can-touch) .richtext table a:not([class]):active,
html.template-blue:not(.can-touch) .richtext table a:not([class]):hover {
    border-color: rgba(145, 200, 255, .5)
}

html.template-violet:not(.can-touch) .richtext table a:not([class]):active,
html.template-violet:not(.can-touch) .richtext table a:not([class]):hover {
    border-color: rgba(250, 140, 255, .5)
}

.richtext table p {
    margin-top: 0
}

.richtext table p:last-child {
    margin-bottom: 0
}

.richtext table tr.is-highlighted {
    background-color: rgba(249, 249, 250, .8)
}

.richtext table th.is-highlighted {
    background-color: #e6f1f1;
    color: #812f93
}

.richtext s {
    text-decoration: line-through
}

.richtext u {
    text-decoration: none
}

.richtext em {
    font-style: italic
}

.richtext small {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4
}

[lang=zh] .richtext small,
[lang=zh-Hant] .richtext small,
[lang=zh-Hans] .richtext small,
[lang=zh-CN] .richtext small {
    line-height: 1.5
}

.richtext strong,
.richtext b {
    font-weight: 700
}

.richtext a:not([class]) {
    color: #812f93;
    border-bottom: 1px solid;
    transition: border-color .1s cubic-bezier(.39, .575, .565, 1)
}

.template-red .richtext a:not([class]) {
    color: #9b14b4
}

.template-green .richtext a:not([class]) {
    color: #1455b4
}

.template-blue .richtext a:not([class]) {
    color: #1455b4
}

.template-purple .richtext a:not([class]) {
    color: #9b14b4
}

.template-violet .richtext a:not([class]) {
    color: #9b14b4
}

html:not(.can-touch) .richtext a:not([class]):active,
html:not(.can-touch) .richtext a:not([class]):hover {
    border-color: #cce2e3
}

html.template-red:not(.can-touch) .richtext a:not([class]):active,
html.template-red:not(.can-touch) .richtext a:not([class]):hover {
    border-color: rgba(255, 160, 47, .5)
}

html.template-green:not(.can-touch) .richtext a:not([class]):active,
html.template-green:not(.can-touch) .richtext a:not([class]):hover {
    border-color: rgba(201, 221, 3, .5)
}

html.template-blue:not(.can-touch) .richtext a:not([class]):active,
html.template-blue:not(.can-touch) .richtext a:not([class]):hover {
    border-color: rgba(145, 200, 255, .5)
}

html.template-violet:not(.can-touch) .richtext a:not([class]):active,
html.template-violet:not(.can-touch) .richtext a:not([class]):hover {
    border-color: rgba(250, 140, 255, .5)
}

.richtext>*:first-child {
    margin-top: 0
}

.t-xxxl {
    font-size: 120px;
    font-size: 7.5rem;
    font-weight: 200;
    line-height: 1
}

@media screen and (max-width:1000px) {
    .t-xxxl {
        font-size: 75px;
        font-size: 4.6875rem;
        line-height: 1.06667
    }
}

@media screen and (max-width:750px) {
    .t-xxxl {
        font-size: 60px;
        font-size: 3.75rem;
        line-height: 1.1
    }
}

.t-xxl {
    font-size: 80px;
    font-size: 5rem;
    font-weight: 200;
    line-height: 1.1
}

@media screen and (max-width:1000px) {
    .t-xxl {
        font-size: 50px;
        font-size: 3.125rem;
        line-height: 1.14
    }
}

@media screen and (max-width:750px) {
    .t-xxl {
        font-size: 40px;
        font-size: 2.5rem;
        line-height: 1.15
    }
}

.t-xl {
    font-size: 50px;
    font-size: 3.125rem;
    font-weight: 200;
    line-height: 1.16
}

@media screen and (max-width:1000px) {
    .t-xl {
        font-size: 30px;
        font-size: 1.875rem;
        line-height: 1.53333
    }
}

.t-l {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 200;
    line-height: 1.26667
}

[lang=zh] .t-l,
[lang=zh-Hant] .t-l,
[lang=zh-Hans] .t-l,
[lang=zh-CN] .t-l {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .t-l {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.36364
    }
}

.t-m {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3
}

[lang=zh] .t-m,
[lang=zh-Hant] .t-m,
[lang=zh-Hans] .t-m,
[lang=zh-CN] .t-m {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .t-m {
        font-size: 18px;
        font-size: 1.125rem
    }
}

.t-ms {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 200
}

.t-s {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375
}

[lang=zh] .t-s,
[lang=zh-Hant] .t-s,
[lang=zh-Hans] .t-s,
[lang=zh-CN] .t-s {
    line-height: 1.5
}

.t-base {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 200;
    line-height: 1.5
}

[lang=zh] .t-base,
[lang=zh-Hant] .t-base,
[lang=zh-Hans] .t-base,
[lang=zh-CN] .t-base {
    line-height: 1.7
}

@media screen and (max-width:1000px) {
    .t-base {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.t-xs {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4
}

[lang=zh] .t-xs,
[lang=zh-Hant] .t-xs,
[lang=zh-Hans] .t-xs,
[lang=zh-CN] .t-xs {
    line-height: 1.5
}

.t-xxs {
    font-size: 12px;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.66
}

.t-caps {
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .1em
}

.t-red {
    color: #e00034
}

.t-green {
    color: #007934
}

.t-white {
    color: #fff
}

.t-black {
    color: #3c4150
}

.t-gray {
    color: #636363
}

.t-gray-light {
    color: #b1b3b9
}

.t-bold {
    font-weight: 700
}

.t-regular {
    font-weight: 400
}

.t-light {
    font-weight: 200
}

.t-italic {
    font-style: italic
}

.t-nowrap {
    white-space: nowrap
}

.t-left {
    text-align: left
}

.t-center {
    text-align: center
}

.t-right {
    text-align: right
}

html.js .is-hidden-js {
    display: none !important
}

html.no-js .is-visible-js {
    display: none !important
}

@media screen and (min-width:1201px) {
    .is-hidden-desktop {
        display: none !important
    }

    .is-visible-tablet {
        display: none !important
    }
}

@media screen and (max-width:1200px) {
    .is-visible-desktop {
        display: none !important
    }

    .is-hidden-tablet {
        display: none !important
    }
}

@media screen and (min-width:1001px) {
    .is-visible-tablet-portrait {
        display: none !important
    }
}

@media screen and (max-width:1000px) {
    .is-hidden-tablet-portrait {
        display: none !important
    }
}

@media screen and (min-width:751px) {
    .is-visible-mobile {
        display: none !important
    }
}

@media screen and (max-width:750px) {
    .is-hidden-mobile {
        display: none !important
    }
}

@media screen and (min-width:401px) {
    .is-visible-mobile-portrait {
        display: none !important
    }
}

@media screen and (max-width:400px) {
    .is-hidden-mobile-portrait {
        display: none !important
    }
}

@media only screen {
    .is-visible-print {
        display: none !important
    }
}

@media print {
    .is-hidden-print {
        display: none !important
    }
}

body:after {
    display: none;
    content: 'desktop'
}

@media screen and (max-width:1200px) {
    body:after {
        content: 'tablet'
    }
}

@media screen and (max-width:1000px) {
    body:after {
        content: 'tablet-portrait'
    }
}

@media screen and (max-width:750px) {
    body:after {
        content: 'mobile'
    }
}

@media screen and (max-width:400px) {
    body:after {
        content: 'mobile-portrait'
    }
}

.media-dispatcher-fallback {
    display: none;
    margin-bottom: 0
}

@media screen and (max-width:1200px) {
    .media-dispatcher-fallback {
        margin-bottom: 1px
    }
}

@media screen and (max-width:1000px) {
    .media-dispatcher-fallback {
        margin-bottom: 2px
    }
}

@media screen and (max-width:750px) {
    .media-dispatcher-fallback {
        margin-bottom: 3px
    }
}

@media screen and (max-width:400px) {
    .media-dispatcher-fallback {
        margin-bottom: 4px
    }
}

body:before {
    display: none;
    content: ''
}

@media(-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    body:before {
        content: 'retina'
    }
}

.Button {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    line-height: 1.25rem;
    vertical-align: middle;
    height: 50px;
    padding: 15px 31px;
    height: 3.125rem;
    padding: .9375rem 1.9375rem;
    display: inline-block;
    position: relative;
    max-width: 100%;
    text-align: center;
    overflow: visible
}

.Button:before {
    border: 1px solid #812f93;
    background-color: #812f93;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Button:hover:not([disabled]),
.Button:hover:enabled {
    color: #812f93
}

.Button:hover:not([disabled]):before,
.Button:hover:enabled:before {
    background-color: #fff;
    border-color: #cce2e3;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Button:active:not([disabled]),
.Button:active:enabled {
    color: #812f93
}

.Button:active:not([disabled]):before,
.Button:active:enabled:before {
    background-color: #fff;
    border-color: #cce2e3;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

[lang=zh] .Button,
[lang=zh-Hant] .Button,
[lang=zh-Hans] .Button,
[lang=zh-CN] .Button {
    line-height: 1.5
}

.Button:before {
    box-sizing: border-box;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px
}

.Button .Button--content {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
    position: relative;
    max-width: 100%;
    z-index: 1
}

.Button .Button--content>br {
    display: none
}

.Button.small {
    height: 35px;
    padding: 7px 19px 8px;
    height: 2.1875rem;
    padding: .4375rem 1.1875rem .5rem
}

.Button.secondary {
    color: #812f93
}

.Button.secondary:before {
    border: 1px solid #cce2e3;
    background-color: #fff;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Button.secondary:hover:not([disabled]),
.Button.secondary:hover:enabled {
    color: #fff
}

.Button.secondary:hover:not([disabled]):before,
.Button.secondary:hover:enabled:before {
    background-color: #812f93;
    border-color: #812f93;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Button.secondary:active:not([disabled]),
.Button.secondary:active:enabled {
    color: #fff
}

.Button.secondary:active:not([disabled]):before,
.Button.secondary:active:enabled:before {
    background-color: #812f93;
    border-color: #812f93;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Button.secondary.small {
    height: 35px;
    padding: 7px 19px 8px;
    height: 2.1875rem;
    padding: .4375rem 1.1875rem .5rem
}

.Button.transparent {
    height: 50px;
    padding: 15px 31px;
    height: 3.125rem;
    padding: .9375rem 1.9375rem;
    color: #fff
}

.Button.transparent:before {
    border: 1px solid rgba(255, 255, 255, .5);
    background-color: transparent;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Button.transparent:hover:not([disabled]),
.Button.transparent:hover:enabled {
    color: transparent
}

.Button.transparent:hover:not([disabled]):before,
.Button.transparent:hover:enabled:before {
    background-color: #fff;
    border-color: rgba(255, 255, 255, .2);
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Button.transparent:active:not([disabled]),
.Button.transparent:active:enabled {
    color: transparent
}

.Button.transparent:active:not([disabled]):before,
.Button.transparent:active:enabled:before {
    background-color: #fff;
    border-color: rgba(255, 255, 255, .2);
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Button.transparent:hover:not([disabled]),
.Button.transparent:hover:enabled {
    color: #fff
}

.Button.transparent:hover:not([disabled]):before,
.Button.transparent:hover:enabled:before {
    background-color: rgba(255, 255, 255, .2);
    border-color: transparent
}

.Button.transparent:active:not([disabled]),
.Button.transparent:active:enabled {
    color: #fff
}

.Button.transparent:active:not([disabled]):before,
.Button.transparent:active:enabled:before {
    background-color: rgba(255, 255, 255, .2);
    border-color: transparent
}

.Button.transparent.small {
    height: 35px;
    padding: 7px 19px 8px;
    height: 2.1875rem;
    padding: .4375rem 1.1875rem .5rem
}

.Button.white {
    color: #812f93
}

.Button.white:before {
    border: 1px solid #fff;
    background-color: #fff;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Button.white:hover:not([disabled]),
.Button.white:hover:enabled {
    color: #fff
}

.Button.white:hover:not([disabled]):before,
.Button.white:hover:enabled:before {
    background-color: #812f93;
    border-color: #fff;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Button.white:active:not([disabled]),
.Button.white:active:enabled {
    color: #fff
}

.Button.white:active:not([disabled]):before,
.Button.white:active:enabled:before {
    background-color: #812f93;
    border-color: #fff;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Button.white:hover:not([disabled]),
.Button.white:hover:enabled {
    color: #812f93
}

.Button.white:hover:not([disabled]):before,
.Button.white:hover:enabled:before {
    background-color: #fff
}

.Button.white:active:not([disabled]),
.Button.white:active:enabled {
    color: #812f93
}

.Button.white:active:not([disabled]):before,
.Button.white:active:enabled:before {
    background-color: #fff
}

.Button.icon-before {
    fill: currentColor;
    padding-left: 1.375rem;
    padding-right: 1.375rem
}

.Button.icon-before [data-icon],
.Button.icon-before [data-picto] {
    height: 100%;
    min-width: 1px;
    max-width: 18px;
    margin-right: 10px;
    margin-left: 0;
    margin-top: 0;
    vertical-align: top
}

.Button.icon-after {
    fill: currentColor;
    padding-left: 1.375rem;
    padding-right: 1.375rem
}

.Button.icon-after [data-icon],
.Button.icon-after [data-picto] {
    height: 100%;
    min-width: 1px;
    max-width: 18px;
    margin-right: 0;
    margin-left: 10px;
    margin-top: 0;
    vertical-align: top
}

.Button.icon-mobile-only {
    fill: currentColor;
    padding-left: 1.375rem;
    padding-right: 1.375rem
}

.Button.icon-mobile-only [data-icon],
.Button.icon-mobile-only [data-picto] {
    height: 100%;
    min-width: 1px;
    max-width: 18px;
    margin-right: 10px;
    margin-left: 0;
    margin-top: 0;
    vertical-align: top
}

@media screen and (min-width:1001px) {

    .Button.icon-mobile-only [data-icon],
    .Button.icon-mobile-only [data-picto] {
        display: none
    }
}

@media screen and (max-width:1000px) {
    .Button.responsive {
        padding: 0;
        width: 50px;
        height: 50px;
        border-radius: 100%
    }

    .Button.responsive:hover:not([disabled]):before,
    .Button.responsive:hover:enabled:before {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1)
    }

    .Button.responsive:active:not([disabled]):before,
    .Button.responsive:active:enabled:before {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1)
    }

    .Button.responsive .Button--content {
        letter-spacing: -1ex;
        text-indent: -9999px;
        color: transparent;
        text-decoration: none;
        line-height: 1
    }

    .Button.responsive>[data-picto],
    .Button.responsive>[data-icon] {
        position: absolute;
        top: 0;
        left: 50%;
        width: 100%;
        margin-left: -9px
    }
}

.RoundIconButton {
    position: relative;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    display: inline-block;
    vertical-align: middle;
    overflow: visible;
    z-index: 1;
    color: #3c4150
}

.RoundIconButton:before {
    box-sizing: border-box;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #d4d4d4;
    border-radius: 100%;
    background-color: #fff;
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.RoundIconButton>.Icon {
    position: absolute;
    color: inherit;
    fill: currentColor;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.RoundIconButton[disabled] {
    opacity: 1;
    color: #d4d4d4
}

html:not(.can-touch) .RoundIconButton:hover:not([disabled]) {
    color: #3c4150
}

html:not(.can-touch) .RoundIconButton:hover:not([disabled]):before {
    border-color: #636363;
    -webkit-transform: scale(1.101, 1.101);
    transform: scale(1.101, 1.101)
}

.RoundIconButton.transparent:before {
    border-color: rgba(255, 255, 255, .6);
    background-color: transparent;
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.RoundIconButton.transparent>.Icon {
    color: #fff
}

.RoundIconButton.transparent .RoundIconButton--text {
    color: #fff
}

@media screen and (max-width:1000px) {
    .RoundIconButton.transparent .RoundIconButton--text {
        color: #fff
    }
}

html:not(.can-touch) .RoundIconButton.transparent:hover:not([disabled]):before {
    background-color: rgba(255, 255, 255, .2);
    border-color: transparent
}

html:not(.can-touch) .RoundIconButton.transparent:hover:not([disabled]) .RoundIconButton--text {
    color: #fff
}

.RoundIconButton.rainbow::before {
    background-color: transparent
}

.template-red .RoundIconButton.rainbow::before {
    border-color: #9b14b4
}

.template-green .RoundIconButton.rainbow::before {
    border-color: #1455b4
}

.template-blue .RoundIconButton.rainbow::before {
    border-color: #1455b4
}

.template-purple .RoundIconButton.rainbow::before {
    border-color: #9b14b4
}

.template-violet .RoundIconButton.rainbow::before {
    border-color: #9b14b4
}

.template-red .RoundIconButton.rainbow>.Icon {
    color: #9b14b4
}

.template-green .RoundIconButton.rainbow>.Icon {
    color: #1455b4
}

.template-blue .RoundIconButton.rainbow>.Icon {
    color: #1455b4
}

.template-purple .RoundIconButton.rainbow>.Icon {
    color: #9b14b4
}

.template-violet .RoundIconButton.rainbow>.Icon {
    color: #9b14b4
}

.template-red:not(.can-touch) .RoundIconButton.rainbow:hover:not([disabled]):before {
    border-color: #9b14b4
}

.template-green:not(.can-touch) .RoundIconButton.rainbow:hover:not([disabled]):before {
    border-color: #1455b4
}

.template-blue:not(.can-touch) .RoundIconButton.rainbow:hover:not([disabled]):before {
    border-color: #1455b4
}

.template-purple:not(.can-touch) .RoundIconButton.rainbow:hover:not([disabled]):before {
    border-color: #9b14b4
}

.template-violet:not(.can-touch) .RoundIconButton.rainbow:hover:not([disabled]):before {
    border-color: #9b14b4
}

.RoundIconButton.large {
    height: 120px;
    width: 120px
}

.RoundIconButton.large>.Icon[data-picto] {
    font-size: 25px
}

@media screen and (max-width:1000px) {
    .RoundIconButton.large {
        height: 70px;
        width: 70px
    }

    .RoundIconButton.large>.Icon[data-picto] {
        font-size: 20px
    }
}

html:not(.can-touch) .RoundIconButton.large:active:before,
html:not(.can-touch) .RoundIconButton.large:hover:before {
    -webkit-transform: none;
    transform: none
}

html:not(.can-touch) .RoundIconButton.large:active>.Icon[data-icon],
html:not(.can-touch) .RoundIconButton.large:hover>.Icon[data-icon] {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

html:not(.can-touch) .RoundIconButton.large:active>.Icon[data-picto],
html:not(.can-touch) .RoundIconButton.large:hover>.Icon[data-picto] {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.RoundIconButton.responsive {
    color: #812f93
}

.RoundIconButton.responsive::before {
    border-color: #cce2e3
}

.RoundIconButton.responsive>.Icon {
    transition: color .2s cubic-bezier(.39, .575, .565, 1)
}

@media screen and (min-width:751px) {
    .RoundIconButton.responsive {
        width: auto;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    .RoundIconButton.responsive::before {
        width: 50px;
        left: auto;
        right: 0
    }

    .RoundIconButton.responsive>.Icon {
        position: relative;
        width: 50px
    }

    .RoundIconButton.responsive .RoundIconButton--text {
        position: static;
        width: auto;
        margin-top: 0;
        padding-left: 0;
        padding-right: .5em
    }
}

html:not(.can-touch) .RoundIconButton.responsive:hover:not([disabled]) {
    color: #812f93
}

html:not(.can-touch) .RoundIconButton.responsive:hover:not([disabled]):before {
    border-color: #812f93
}

@media screen and (max-width:750px) {
    .RoundIconButton .RoundIconButton--text {
        position: absolute !important;
        clip: rect(1px, 1px, 1px, 1px) !important;
        overflow: hidden;
        width: 1px;
        height: 1px
    }
}

.RoundIconButton--text {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    position: absolute;
    width: 100%;
    top: 100%;
    margin-top: 1.5em;
    padding: 0 .5em;
    text-align: center;
    transition: color .2s cubic-bezier(.39, .575, .565, 1)
}

[lang=zh] .RoundIconButton--text,
[lang=zh-Hant] .RoundIconButton--text,
[lang=zh-Hans] .RoundIconButton--text,
[lang=zh-CN] .RoundIconButton--text {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .RoundIconButton--text {
        padding: 0
    }
}

.Flyout {
    position: relative;
    display: inline-block
}

.Flyout.dark .Flyout--content--inner {
    background-color: #000;
    color: #fff;
    box-shadow: none
}

.Flyout.dark .Flyout--content::before {
    background-color: #000
}

.Flyout--content {
    width: 280px;
    max-width: calc(100vw - 40px)
}

.Flyout--trigger {
    position: relative;
    padding-right: 17px;
    display: inline-block
}

.Flyout--trigger:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    width: .8em;
    height: .8em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(90deg) translateX(50%) rotate(135deg);
    transform: rotate(90deg) translateX(50%) rotate(135deg);
    position: relative;
    top: 2px;
    display: inline-block;
    vertical-align: middle;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    margin-left: 8px;
    margin-right: -2px
}

.Flyout--trigger:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    content: none;
    position: relative;
    top: 2px;
    display: inline-block;
    vertical-align: middle;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    margin-left: 8px;
    margin-right: -2px
}

.Flyout--trigger[aria-expanded=true]:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    width: .8em;
    height: .8em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(-90deg) translateX(50%) rotate(135deg);
    transform: rotate(-90deg) translateX(50%) rotate(135deg);
    position: relative;
    top: 2px
}

.Flyout--trigger[aria-expanded=true]:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    content: none;
    position: relative;
    top: 2px
}

.Flyout.customTrigger .Flyout--trigger {
    padding-right: 0;
    display: block
}

.Flyout.customTrigger .Flyout--trigger:after {
    content: none
}

.Flyout--content {
    position: absolute;
    z-index: 8;
    border-radius: 2px;
    right: 50%;
    -webkit-transform-origin: top center;
    transform-origin: top center;
    pointer-events: none
}

.Flyout--content.is-collapsed {
    display: none;
    visibility: hidden
}

.Flyout--content:not(.is-expanded) {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
}

.Flyout--content.is-expanded {
    transition: opacity .1s linear, -webkit-transform .24s cubic-bezier(.175, .885, .32, 1.275);
    transition: opacity .1s linear, transform .24s cubic-bezier(.175, .885, .32, 1.275);
    transition: opacity .1s linear, transform .24s cubic-bezier(.175, .885, .32, 1.275), -webkit-transform .24s cubic-bezier(.175, .885, .32, 1.275)
}

.Flyout--content:before {
    content: '';
    height: 15px;
    width: 15px;
    background-color: #fff;
    position: absolute;
    left: 100%;
    -webkit-clip-path: polygon(0% 0%, 100% 100%, 100% 0%);
    clip-path: polygon(0% 0%, 100% 100%, 100% 0%);
    z-index: 1
}

.Flyout.top .Flyout--content {
    bottom: 100%;
    margin-bottom: 20px
}

.Flyout.top .Flyout--content:not(.is-expanded) {
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
}

.Flyout.top .Flyout--content:before {
    bottom: 0;
    -webkit-transform: translate(-50%, 50%) rotate(135deg);
    transform: translate(-50%, 50%) rotate(135deg)
}

.Flyout.bottom .Flyout--content {
    top: 100%;
    margin-top: 20px
}

.Flyout.bottom .Flyout--content .Flyout--content--inner {
    top: 0
}

.Flyout.bottom .Flyout--content:before {
    top: 0;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.Flyout--content--inner {
    background-color: #fff;
    padding: 0;
    max-width: 280px;
    border-radius: 4px;
    box-shadow: 0 10px 60px 0 rgba(0, 0, 0, .2);
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    pointer-events: auto
}

.Flyout--content--inner:after,
.Flyout--content--inner:before {
    content: '';
    display: block;
    height: 1px;
    margin-top: -1px;
    clear: both
}

.ImmediateImage {
    width: 100%;
    height: 100%
}

.ImmediateImage--inner {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center
}

.InputClone {
    position: relative
}

.InputClone>input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0
}

.InputClone>input:focus {
    opacity: 1;
    z-index: 1
}

.InputClone>input:focus+.Input {
    opacity: 0
}

.InputClone .Input.clone {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    z-index: 0
}

.InputClone .Input.clone:after {
    content: '\202f';
    margin-right: -.8ex;
    width: 1px;
    display: inline-block;
    overflow: hidden
}

.KeyValueList tr {
    display: block;
    position: relative;
    padding-left: 50px;
    margin-bottom: 1em
}

.KeyValueList tr:last-of-type {
    margin-bottom: 0
}

.KeyValueList.has-image tr {
    padding-left: 65px
}

@media screen and (max-width:750px) {
    .KeyValueList.has-image tr {
        padding-left: 50px
    }
}

.KeyValueList.has-image .Icon {
    left: 12px
}

@media screen and (max-width:750px) {
    .KeyValueList.has-image .Icon {
        left: 5px
    }
}

.KeyValueList th {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    color: #636363;
    display: block
}

[lang=zh] .KeyValueList th,
[lang=zh-Hant] .KeyValueList th,
[lang=zh-Hans] .KeyValueList th,
[lang=zh-CN] .KeyValueList th {
    line-height: 1.5
}

.KeyValueList .Icon {
    position: absolute;
    left: 0;
    top: 10px;
    fill: #636363
}

.KeyValueList img {
    position: absolute;
    left: 0;
    top: 3px;
    width: 45px;
    height: 45px;
    border-radius: 45px
}

@media screen and (max-width:750px) {
    .KeyValueList img {
        height: 35px;
        width: 35px
    }
}

.KeyValueList a {
    color: #812f93;
    height: 100%;
    width: 100%;
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1);
    text-decoration: none;
    border-bottom: 1px solid #812f93
}

html:not(.can-touch) .KeyValueList a:active,
html:not(.can-touch) .KeyValueList a:hover {
    border-color: #cce2e3
}

.KeyValueList td {
    display: block
}

@media screen and (max-width:750px) {
    .KeyValueList th {
        font-size: 14px;
        font-size: .875rem;
        font-weight: 400;
        line-height: 1.4
    }

    [lang=zh] .KeyValueList th,
    [lang=zh-Hant] .KeyValueList th,
    [lang=zh-Hans] .KeyValueList th,
    [lang=zh-CN] .KeyValueList th {
        line-height: 1.5
    }

    .KeyValueList td {
        font-size: 16px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.375
    }

    [lang=zh] .KeyValueList td,
    [lang=zh-Hant] .KeyValueList td,
    [lang=zh-Hans] .KeyValueList td,
    [lang=zh-CN] .KeyValueList td {
        line-height: 1.5
    }
}

.Link {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    position: relative;
    max-width: 100%;
    color: #812f93;
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1);
    text-decoration: none;
    border-bottom: 1px solid
}

.template-red .Link:not(.norainbow) {
    color: #9b14b4
}

.template-green .Link:not(.norainbow) {
    color: #1455b4
}

.template-blue .Link:not(.norainbow) {
    color: #1455b4
}

.template-purple .Link:not(.norainbow) {
    color: #9b14b4
}

.template-violet .Link:not(.norainbow) {
    color: #9b14b4
}

[lang=zh] .Link,
[lang=zh-Hant] .Link,
[lang=zh-Hans] .Link,
[lang=zh-CN] .Link {
    line-height: 1.5
}

html:not(.can-touch) .Link:active,
html:not(.can-touch) .Link:hover {
    border-color: #cce2e3
}

html.template-red:not(.can-touch) .Link:not(.norainbow):active,
html.template-red:not(.can-touch) .Link:not(.norainbow):hover {
    border-color: rgba(255, 160, 47, .5)
}

html.template-green:not(.can-touch) .Link:not(.norainbow):active,
html.template-green:not(.can-touch) .Link:not(.norainbow):hover {
    border-color: rgba(201, 221, 3, .5)
}

html.template-blue:not(.can-touch) .Link:not(.norainbow):active,
html.template-blue:not(.can-touch) .Link:not(.norainbow):hover {
    border-color: rgba(145, 200, 255, .5)
}

html.template-violet:not(.can-touch) .Link:not(.norainbow):active,
html.template-violet:not(.can-touch) .Link:not(.norainbow):hover {
    border-color: rgba(250, 140, 255, .5)
}

.Link.white {
    color: #fff
}

html:not(.can-touch) .Link.white:active,
html:not(.can-touch) .Link.white:hover {
    border-color: #fff
}

a:active .Link,
html:not(.can-touch) a:hover .Link {
    border-color: #cce2e3
}

.Link>.Icon {
    display: inline-block;
    vertical-align: middle
}

.Link>.Icon.inline {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.Link.medium {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 200;
    line-height: 1.5
}

[lang=zh] .Link.medium,
[lang=zh-Hant] .Link.medium,
[lang=zh-Hans] .Link.medium,
[lang=zh-CN] .Link.medium {
    line-height: 1.7
}

@media screen and (max-width:1000px) {
    .Link.medium {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.Link.icon-after,
.Link.icon-before {
    display: inline-block;
    vertical-align: middle;
    border-bottom: none
}

.Link.icon-after>[data-picto],
.Link.icon-before>[data-picto] {
    fill: currentColor
}

.Link.arrow {
    display: inline-block;
    vertical-align: middle;
    border-bottom: none;
    padding-right: 1.25em
}

.Link.arrow:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    width: .585em;
    height: .585em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(0) translateX(50%) rotate(135deg);
    transform: rotate(0) translateX(50%) rotate(135deg);
    right: 0;
    color: #cce2e3;
    transition: color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), color .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Link.arrow:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    content: none;
    right: 0;
    color: #cce2e3;
    transition: color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), color .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

html:not(.can-touch) .Link.arrow:active:after,
html:not(.can-touch) .Link.arrow:hover:after {
    color: #812f93;
    -webkit-transform: rotate(0) translateX(50%) rotate(135deg) translate(-0.25ex, -0.25ex);
    transform: rotate(0) translateX(50%) rotate(135deg) translate(-0.25ex, -0.25ex)
}

a:active .Link.arrow:after,
html:not(.can-touch) a:hover .Link.arrow:after {
    color: #812f93;
    -webkit-transform: rotate(0) translateX(50%) rotate(135deg) translate(-0.25ex, -0.25ex);
    transform: rotate(0) translateX(50%) rotate(135deg) translate(-0.25ex, -0.25ex)
}

.Link.arrow.white:after {
    color: #fff
}

html:not(.can-touch) .Link.arrow.white:active:after,
html:not(.can-touch) .Link.arrow.white:hover:after {
    color: #fff !important
}

.PeopleList {
    position: relative
}

@media screen and (min-width:751px) {
    .PeopleList {
        padding-top: .6em;
        min-height: 60px
    }
}

@media screen and (max-width:750px) {
    .PeopleList {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

@media screen and (min-width:751px) {
    .PeopleList.count-1 {
        padding-left: 75px
    }

    .PeopleList.count-2 {
        padding-left: 120px
    }

    .PeopleList.count-3 {
        padding-left: 165px
    }

    .PeopleList.count-4 {
        padding-left: 210px
    }

    .PeopleList.count-5 {
        padding-left: 255px
    }
}

.PeopleList--item {
    display: inline
}

@media screen and (max-width:750px) {
    .PeopleList--item {
        min-height: 30px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

@media screen and (min-width:751px) {
    .PeopleList--item:nth-child(1) .PeopleList--portrait {
        left: 0
    }

    .PeopleList--item:nth-child(2) .PeopleList--portrait {
        left: 45px
    }

    .PeopleList--item:nth-child(3) .PeopleList--portrait {
        left: 90px
    }

    .PeopleList--item:nth-child(4) .PeopleList--portrait {
        left: 135px
    }

    .PeopleList--item:nth-child(5) .PeopleList--portrait {
        left: 180px
    }
}

@media screen and (max-width:750px) {
    .PeopleList--item:not(:first-child) {
        margin-top: -5px
    }
}

.PeopleList--portrait {
    position: absolute;
    top: 0;
    width: 60px;
    height: 60px;
    border-radius: 100%;
    overflow: hidden
}

@media screen and (max-width:750px) {
    .PeopleList--portrait {
        position: relative;
        width: 30px;
        height: 30px;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin-right: 15px;
        left: 0
    }
}

.PeopleList--name {
    display: inline
}

.PeopleList--name p {
    margin-top: 1em;
    margin-bottom: 1em;
    color: #3c4150
}

.PeopleList--name ul {
    margin: 1em 0;
    display: block
}

.PeopleList--name ul>li {
    padding-left: 25px;
    padding-left: 1.5625rem;
    position: relative;
    list-style-type: none;
    margin-bottom: .75ex;
    text-align: left;
    color: #3c4150
}

.PeopleList--name ul>li:before {
    position: absolute;
    left: 0;
    display: inline-block;
    content: "\2022";
    color: #636363
}

.PeopleList--name ol {
    margin: 1em 0;
    display: block;
    display: block;
    counter-reset: ol--counter
}

.PeopleList--name ol>li {
    padding-left: 25px;
    padding-left: 1.5625rem;
    position: relative;
    list-style-type: none;
    margin-bottom: .75ex;
    text-align: left;
    color: #3c4150
}

.PeopleList--name ol>li:before {
    position: absolute;
    left: 0;
    display: inline-block;
    content: "\2022";
    color: #636363
}

.PeopleList--name ol>li {
    list-style-type: none;
    padding-left: 20px;
    padding-left: 1.25rem;
    margin-left: 4ex
}

.PeopleList--name ol>li:before {
    counter-increment: ol--counter;
    content: counters(ol--counter, ".") ".";
    left: auto;
    right: 100%;
    text-align: right;
    width: 4ex
}

html.ie .PeopleList--name ol>li {
    list-style: decimal inside none
}

.PeopleList--name li>:first-child {
    margin-top: 0
}

.PeopleList--name li>:last-child {
    margin-bottom: 0
}

.PeopleList--name table {
    border-collapse: collapse;
    border-spacing: 0;
    overflow: hidden;
    float: none;
    width: 100%
}

.PeopleList--name table caption {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 200;
    line-height: 1.26667;
    padding: 1em 0
}

[lang=zh] .PeopleList--name table caption,
[lang=zh-Hant] .PeopleList--name table caption,
[lang=zh-Hans] .PeopleList--name table caption,
[lang=zh-CN] .PeopleList--name table caption {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .PeopleList--name table caption {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.36364
    }
}

.PeopleList--name table thead {
    background-color: #f9f9fa
}

.PeopleList--name table tfoot tr {
    border-bottom: none
}

.PeopleList--name table tr {
    border-top: 1px solid #d4d4d4;
    border-bottom: 1px solid #d4d4d4
}

.PeopleList--name table th {
    font-weight: 700
}

.PeopleList--name table th [data-picto] {
    margin-bottom: 5px
}

.PeopleList--name table th [data-picto]>svg {
    height: 22px
}

.PeopleList--name table th,
.PeopleList--name table td {
    padding: 1.2em;
    vertical-align: top;
    border-left: 1px solid #d4d4d4;
    border-right: 1px solid #d4d4d4
}

@media screen and (max-width:1200px) {

    .PeopleList--name table th,
    .PeopleList--name table td {
        padding: 1em
    }
}

@media screen and (max-width:750px) {

    .PeopleList--name table th,
    .PeopleList--name table td {
        padding: .5em 1em
    }
}

.PeopleList--name table th:first-child,
.PeopleList--name table td:first-child {
    border-left: none
}

.PeopleList--name table th:last-child,
.PeopleList--name table td:last-child {
    border-right: none
}

.PeopleList--name table a:not([class]) {
    color: #812f93;
    border-bottom: 1px solid;
    transition: border-color .1s cubic-bezier(.39, .575, .565, 1)
}

.template-red .PeopleList--name table a:not([class]) {
    color: #9b14b4
}

.template-green .PeopleList--name table a:not([class]) {
    color: #1455b4
}

.template-blue .PeopleList--name table a:not([class]) {
    color: #1455b4
}

.template-purple .PeopleList--name table a:not([class]) {
    color: #9b14b4
}

.template-violet .PeopleList--name table a:not([class]) {
    color: #9b14b4
}

html:not(.can-touch) .PeopleList--name table a:not([class]):active,
html:not(.can-touch) .PeopleList--name table a:not([class]):hover {
    border-color: #cce2e3
}

html.template-red:not(.can-touch) .PeopleList--name table a:not([class]):active,
html.template-red:not(.can-touch) .PeopleList--name table a:not([class]):hover {
    border-color: rgba(255, 160, 47, .5)
}

html.template-green:not(.can-touch) .PeopleList--name table a:not([class]):active,
html.template-green:not(.can-touch) .PeopleList--name table a:not([class]):hover {
    border-color: rgba(201, 221, 3, .5)
}

html.template-blue:not(.can-touch) .PeopleList--name table a:not([class]):active,
html.template-blue:not(.can-touch) .PeopleList--name table a:not([class]):hover {
    border-color: rgba(145, 200, 255, .5)
}

html.template-violet:not(.can-touch) .PeopleList--name table a:not([class]):active,
html.template-violet:not(.can-touch) .PeopleList--name table a:not([class]):hover {
    border-color: rgba(250, 140, 255, .5)
}

.PeopleList--name table p {
    margin-top: 0
}

.PeopleList--name table p:last-child {
    margin-bottom: 0
}

.PeopleList--name table tr.is-highlighted {
    background-color: rgba(249, 249, 250, .8)
}

.PeopleList--name table th.is-highlighted {
    background-color: #e6f1f1;
    color: #812f93
}

.PeopleList--name s {
    text-decoration: line-through
}

.PeopleList--name u {
    text-decoration: none
}

.PeopleList--name em {
    font-style: italic
}

.PeopleList--name small {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4
}

[lang=zh] .PeopleList--name small,
[lang=zh-Hant] .PeopleList--name small,
[lang=zh-Hans] .PeopleList--name small,
[lang=zh-CN] .PeopleList--name small {
    line-height: 1.5
}

.PeopleList--name strong,
.PeopleList--name b {
    font-weight: 700
}

.PeopleList--name a:not([class]) {
    color: #812f93;
    border-bottom: 1px solid;
    transition: border-color .1s cubic-bezier(.39, .575, .565, 1)
}

.template-red .PeopleList--name a:not([class]) {
    color: #9b14b4
}

.template-green .PeopleList--name a:not([class]) {
    color: #1455b4
}

.template-blue .PeopleList--name a:not([class]) {
    color: #1455b4
}

.template-purple .PeopleList--name a:not([class]) {
    color: #9b14b4
}

.template-violet .PeopleList--name a:not([class]) {
    color: #9b14b4
}

html:not(.can-touch) .PeopleList--name a:not([class]):active,
html:not(.can-touch) .PeopleList--name a:not([class]):hover {
    border-color: #cce2e3
}

html.template-red:not(.can-touch) .PeopleList--name a:not([class]):active,
html.template-red:not(.can-touch) .PeopleList--name a:not([class]):hover {
    border-color: rgba(255, 160, 47, .5)
}

html.template-green:not(.can-touch) .PeopleList--name a:not([class]):active,
html.template-green:not(.can-touch) .PeopleList--name a:not([class]):hover {
    border-color: rgba(201, 221, 3, .5)
}

html.template-blue:not(.can-touch) .PeopleList--name a:not([class]):active,
html.template-blue:not(.can-touch) .PeopleList--name a:not([class]):hover {
    border-color: rgba(145, 200, 255, .5)
}

html.template-violet:not(.can-touch) .PeopleList--name a:not([class]):active,
html.template-violet:not(.can-touch) .PeopleList--name a:not([class]):hover {
    border-color: rgba(250, 140, 255, .5)
}

.PeopleList--name>*:first-child {
    margin-top: 0
}

@media screen and (max-width:750px) {
    .PeopleList--name {
        font-size: 16px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.375;
        padding-top: .3em
    }

    [lang=zh] .PeopleList--name,
    [lang=zh-Hant] .PeopleList--name,
    [lang=zh-Hans] .PeopleList--name,
    [lang=zh-CN] .PeopleList--name {
        line-height: 1.5
    }
}

.PeopleList--item:not(:last-child)>.PeopleList--name::after {
    content: ", ";
    white-space: pre
}

.PictoText {
    position: relative
}

.PictoText>[data-picto] {
    fill: currentColor
}

img[data-sizes]:not([width]) {
    width: 100%
}

[data-sizes],
.Media {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center
}

.Media {
    z-index: 0;
    position: relative;
    overflow: hidden;
    background-color: #d4d4d4
}

.Media.image.is-loaded {
    background-color: transparent
}

.Media.image.is-transitioned-in {
    background-image: none !important
}

.Media.video {
    background-color: #000
}

.Media>[data-sizes] {
    background-size: inherit;
    background-repeat: inherit;
    background-position: inherit;
    display: block;
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0
}

.Media>[data-sizes],
.Media>[data-sizes]>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.Media>[data-sizes]>img {
    display: none
}

.Media>video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    -o-object-fit: cover;
    object-fit: cover;
    transition: opacity .5s
}

.Media.is-started>video,
.Media>video[controls] {
    opacity: 1;
    visibility: visible
}

.Media>.is-loaded {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: opacity .5s, -webkit-transform ease-out .8s;
    transition: opacity .5s, transform ease-out .8s;
    transition: opacity .5s, transform ease-out .8s, -webkit-transform ease-out .8s
}

.Media.ken-burns>.is-loaded {
    -webkit-animation: anim-ken-burns 18s 0s both;
    animation: anim-ken-burns 18s 0s both;
    transition: opacity 1s
}

.Media.video>[data-sizes] {
    display: none
}

.Media.video.is-video-error>[data-sizes],
.Media.video.is-autoplay-disabled>[data-sizes] {
    display: block
}

html.printing .Media>[data-sizes] {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    transition: none
}

html.printing .Media>[data-sizes]>img {
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.Share {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    position: relative;
    max-width: 100%;
    color: #812f93;
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1);
    text-decoration: none;
    border-bottom: 1px solid;
    color: #812f93;
    display: inline-block;
    height: 30px;
    border-bottom: none;
    transition: color .2s cubic-bezier(.39, .575, .565, 1)
}

.template-red .Share:not(.norainbow) {
    color: #9b14b4
}

.template-green .Share:not(.norainbow) {
    color: #1455b4
}

.template-blue .Share:not(.norainbow) {
    color: #1455b4
}

.template-purple .Share:not(.norainbow) {
    color: #9b14b4
}

.template-violet .Share:not(.norainbow) {
    color: #9b14b4
}

[lang=zh] .Share,
[lang=zh-Hant] .Share,
[lang=zh-Hans] .Share,
[lang=zh-CN] .Share {
    line-height: 1.5
}

html:not(.can-touch) .Share:active,
html:not(.can-touch) .Share:hover {
    color: #636363
}

@media screen and (max-width:1000px) {
    .Share {
        padding: 0;
        width: 50px;
        height: 50px;
        border-radius: 100%;
        border: 1px solid #d4d4d4;
        transition: border-color .2s cubic-bezier(.39, .575, .565, 1);
        letter-spacing: -1ex;
        text-indent: -9999px;
        color: transparent;
        text-decoration: none;
        line-height: 1
    }

    html:not(.can-touch) .Share:active,
    html:not(.can-touch) .Share:hover {
        border-color: #636363;
        color: transparent
    }

    .Share>.Icon[data-picto] {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-top: 0;
        margin-left: 0;
        color: #3c4150
    }

    .Share>.Icon[data-picto]>svg {
        fill: currentColor
    }
}

.Share .Icon[data-picto]>svg {
    fill: currentColor
}

.Spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.Spinner::before,
.Spinner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%
}

.Spinner::before {
    border: 4px solid currentColor;
    opacity: .3
}

.Spinner::after {
    border: 4px solid transparent;
    border-left-color: currentColor;
    -webkit-animation: SpinnerAnim 1.1s infinite linear;
    animation: SpinnerAnim 1.1s infinite linear
}

.Tag {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    line-height: 1.25rem;
    vertical-align: middle;
    height: 35px;
    padding: 7px 19px 8px;
    height: 2.1875rem;
    padding: .4375rem 1.1875rem .5rem;
    color: #812f93;
    display: inline-block;
    position: relative;
    max-width: 100%;
    text-align: center
}

.Tag:before {
    border: 1px solid #812f93;
    background-color: #812f93;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Tag:hover:not([disabled]),
.Tag:hover:enabled {
    color: #812f93
}

.Tag:hover:not([disabled]):before,
.Tag:hover:enabled:before {
    background-color: #fff;
    border-color: #cce2e3;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Tag:active:not([disabled]),
.Tag:active:enabled {
    color: #812f93
}

.Tag:active:not([disabled]):before,
.Tag:active:enabled:before {
    background-color: #fff;
    border-color: #cce2e3;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

[lang=zh] .Tag,
[lang=zh-Hant] .Tag,
[lang=zh-Hans] .Tag,
[lang=zh-CN] .Tag {
    line-height: 1.5
}

.Tag:before {
    box-sizing: border-box;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px
}

.Tag .Button--content {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
    position: relative;
    max-width: 100%;
    z-index: 1
}

.Tag .Button--content>br {
    display: none
}

.Tag:before {
    border: 1px solid #e6f1f1;
    background-color: #e6f1f1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Tag:hover:not([disabled]),
.Tag:hover:enabled {
    color: #e6f1f1
}

.Tag:hover:not([disabled]):before,
.Tag:hover:enabled:before {
    background-color: #812f93;
    border-color: #fff;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Tag:active:not([disabled]),
.Tag:active:enabled {
    color: #e6f1f1
}

.Tag:active:not([disabled]):before,
.Tag:active:enabled:before {
    background-color: #812f93;
    border-color: #fff;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Tag .Tag--content {
    position: relative;
    z-index: 1
}

.Tag.icon {
    fill: currentColor
}

.Tag.icon [data-icon],
.Tag.icon [data-picto] {
    height: 100%;
    min-width: 1px;
    max-width: 18px;
    margin-right: 10px;
    margin-left: 0;
    margin-top: 0;
    vertical-align: top
}

html:not(.can-touch) .Tag:hover:not([disabled]),
html:not(.can-touch) .Tag:hover:enabled {
    color: #812f93
}

html:not(.can-touch) .Tag:hover:not([disabled]):before,
html:not(.can-touch) .Tag:hover:enabled:before {
    background-color: #fff;
    border-color: #cce2e3
}

html:not(.can-touch) .Tag:active:not([disabled]),
html:not(.can-touch) .Tag:active:enabled {
    color: #812f93
}

html:not(.can-touch) .Tag:active:not([disabled]):before,
html:not(.can-touch) .Tag:active:enabled:before {
    background-color: #fff;
    border-color: #cce2e3
}

.Tag.border {
    color: #3c4150
}

.Tag.border:before {
    border: 1px solid #d4d4d4;
    background-color: #fff;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Tag.border:hover:not([disabled]),
.Tag.border:hover:enabled {
    color: #fff
}

.Tag.border:hover:not([disabled]):before,
.Tag.border:hover:enabled:before {
    background-color: #3c4150;
    border-color: #f9f9fa;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Tag.border:active:not([disabled]),
.Tag.border:active:enabled {
    color: #fff
}

.Tag.border:active:not([disabled]):before,
.Tag.border:active:enabled:before {
    background-color: #3c4150;
    border-color: #f9f9fa;
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

html:not(.can-touch) .Tag.border:hover:not([disabled]),
html:not(.can-touch) .Tag.border:hover:enabled {
    color: #3c4150
}

html:not(.can-touch) .Tag.border:hover:not([disabled]):before,
html:not(.can-touch) .Tag.border:hover:enabled:before {
    background-color: #f9f9fa
}

html:not(.can-touch) .Tag.border:active:not([disabled]),
html:not(.can-touch) .Tag.border:active:enabled {
    color: #3c4150
}

html:not(.can-touch) .Tag.border:active:not([disabled]):before,
html:not(.can-touch) .Tag.border:active:enabled:before {
    background-color: #f9f9fa
}

.Tag.transparent {
    color: #fff
}

.Tag.transparent:before {
    border: 1px solid rgba(255, 255, 255, .5);
    background-color: transparent;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: background-color .2s cubic-bezier(.39, .575, .565, 1), border-color .2s cubic-bezier(.39, .575, .565, 1), transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.Tag.transparent:hover:not([disabled]),
.Tag.transparent:hover:enabled {
    color: transparent
}

.Tag.transparent:hover:not([disabled]):before,
.Tag.transparent:hover:enabled:before {
    background-color: #fff;
    border-color: rgba(255, 255, 255, .2);
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

.Tag.transparent:active:not([disabled]),
.Tag.transparent:active:enabled {
    color: transparent
}

.Tag.transparent:active:not([disabled]):before,
.Tag.transparent:active:enabled:before {
    background-color: #fff;
    border-color: rgba(255, 255, 255, .2);
    -webkit-transform: scale(1.025, 1.1);
    transform: scale(1.025, 1.1)
}

html:not(.can-touch) .Tag.transparent:hover:not([disabled]),
html:not(.can-touch) .Tag.transparent:hover:enabled {
    color: #fff
}

html:not(.can-touch) .Tag.transparent:hover:not([disabled]):before,
html:not(.can-touch) .Tag.transparent:hover:enabled:before {
    background-color: rgba(255, 255, 255, .2);
    border-color: transparent
}

html:not(.can-touch) .Tag.transparent:active:not([disabled]),
html:not(.can-touch) .Tag.transparent:active:enabled {
    color: #fff
}

html:not(.can-touch) .Tag.transparent:active:not([disabled]):before,
html:not(.can-touch) .Tag.transparent:active:enabled:before {
    background-color: rgba(255, 255, 255, .2);
    border-color: transparent
}

.BasicInput {
    position: relative
}

.BasicInput>label {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    font-size: 16px;
    color: #636363;
    line-height: 1;
    display: block;
    position: absolute;
    top: -.35em;
    left: 16px;
    background-color: #fff;
    padding: 0 4px;
    box-shadow: 0 0 2px 4px #fff;
    cursor: text;
    z-index: 2;
    pointer-events: none;
    -webkit-transform: translateY(1.5em);
    transform: translateY(1.5em);
    transition: color .2s, -webkit-transform .2s;
    transition: transform .2s, color .2s;
    transition: transform .2s, color .2s, -webkit-transform .2s
}

[lang=zh] .BasicInput>label,
[lang=zh-Hant] .BasicInput>label,
[lang=zh-Hans] .BasicInput>label,
[lang=zh-CN] .BasicInput>label {
    line-height: 1.5
}

.BasicInput>label a {
    text-decoration: underline
}

.BasicInput.select>label {
    position: static;
    margin-bottom: .5em;
    padding-left: 0;
    color: inherit;
    background-color: transparent;
    box-shadow: none;
    cursor: initial;
    -webkit-transform: none;
    transform: none
}

.BasicInput>label.has-focus,
.BasicInput.has-value>label,
.BasicInput.has-error>label,
.BasicInput:not(.has-novalue) input[value]+label,
.BasicInput [type=time]+label,
.BasicInput .js-TimeInput+label {
    color: inherit;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.BasicInput .Input,
.BasicInput textarea,
.BasicInput input {
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 200;
    font-size: 18px;
    background: #fff;
    text-align: left;
    width: 100%;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    padding: 15px 20px 10px;
    line-height: 1.3;
    transition: border-color .4s .1s
}

.BasicInput .Input:focus,
.BasicInput textarea:focus,
.BasicInput input:focus {
    outline: 0
}

.BasicInput .Input:-webkit-autofill,
.BasicInput textarea:-webkit-autofill,
.BasicInput input:-webkit-autofill {
    box-shadow: 0 0 0 50px #fff inset
}

.BasicInput .Input .is-disabled,
.BasicInput .Input[disabled],
.BasicInput textarea .is-disabled,
.BasicInput textarea[disabled],
.BasicInput input .is-disabled,
.BasicInput input[disabled] {
    opacity: 1;
    background-color: #f9f9fa;
    cursor: no-drop
}

.BasicInput .Input .is-disabled+label,
.BasicInput .Input[disabled]+label,
.BasicInput textarea .is-disabled+label,
.BasicInput textarea[disabled]+label,
.BasicInput input .is-disabled+label,
.BasicInput input[disabled]+label {
    background-color: transparent;
    box-shadow: none
}

.BasicInput .Input[type=time],
.BasicInput .Input.js-TimeInput,
.BasicInput textarea[type=time],
.BasicInput textarea.js-TimeInput,
.BasicInput input[type=time],
.BasicInput input.js-TimeInput {
    min-height: 52px;
    padding-left: 15px
}

.BasicInput .Input[type=time]::-webkit-calendar-picker-indicator,
.BasicInput .Input.js-TimeInput::-webkit-calendar-picker-indicator,
.BasicInput textarea[type=time]::-webkit-calendar-picker-indicator,
.BasicInput textarea.js-TimeInput::-webkit-calendar-picker-indicator,
.BasicInput input[type=time]::-webkit-calendar-picker-indicator,
.BasicInput input.js-TimeInput::-webkit-calendar-picker-indicator {
    display: none
}

.BasicInput .Input[type=time]::-webkit-clear-button,
.BasicInput .Input.js-TimeInput::-webkit-clear-button,
.BasicInput textarea[type=time]::-webkit-clear-button,
.BasicInput textarea.js-TimeInput::-webkit-clear-button,
.BasicInput input[type=time]::-webkit-clear-button,
.BasicInput input.js-TimeInput::-webkit-clear-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.BasicInput .Input.js-TimeInput::-webkit-input-placeholder,
.BasicInput textarea.js-TimeInput::-webkit-input-placeholder,
.BasicInput input.js-TimeInput::-webkit-input-placeholder {
    color: inherit
}

.BasicInput .Input.js-TimeInput::-moz-placeholder,
.BasicInput textarea.js-TimeInput::-moz-placeholder,
.BasicInput input.js-TimeInput::-moz-placeholder {
    color: inherit
}

.BasicInput .Input.js-TimeInput::-ms-input-placeholder,
.BasicInput textarea.js-TimeInput::-ms-input-placeholder,
.BasicInput input.js-TimeInput::-ms-input-placeholder {
    color: inherit
}

.BasicInput .Input:focus,
.BasicInput textarea:focus,
.BasicInput input:focus {
    border-color: #3c4150
}

.BasicInput .Input,
.BasicInput textarea,
.BasicInput input {
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none
}

.BasicInput.has-tooltip .Input,
.BasicInput.has-tooltip textarea,
.BasicInput.has-tooltip input {
    padding-right: 45px
}

.BasicInput .Select {
    position: relative
}

.BasicInput .Select:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    width: .8em;
    height: .8em;
    border-width: 1px;
    border-style: solid none none solid;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: rotate(90deg) translateX(50%) rotate(135deg);
    transform: rotate(90deg) translateX(50%) rotate(135deg);
    top: 26px;
    left: auto;
    right: 20px;
    pointer-events: none
}

.BasicInput .Select:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    content: none;
    top: 26px;
    left: auto;
    right: 20px;
    pointer-events: none
}

.BasicInput .Select select {
    background-color: transparent;
    padding-top: 13px;
    padding-bottom: 12px;
    padding-right: 50px
}

html:not(.can-touch) .BasicInput .Select select:active,
html:not(.can-touch) .BasicInput .Select select:hover {
    border-color: #3c4150
}

.BasicInput.has-novalue select {
    color: #636363
}

.BasicInput.has-error.has-novalue select {
    color: #e00034
}

.BasicInput.has-tooltip .Select select {
    padding-left: 45px
}

.BasicInput.textarea {
    -webkit-overflow-scrolling: touch
}

.BasicInput.textarea:before {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 3px;
    right: 20px;
    height: 16px;
    background-image: linear-gradient(to bottom, white 83%, rgba(255, 255, 255, 0));
    z-index: 1
}

.BasicInput.has-error {
    color: #e00034
}

.BasicInput.has-error .Input,
.BasicInput.has-error textarea,
.BasicInput.has-error input {
    border-color: rgba(224, 0, 52, .25);
    caret-color: red
}

.BasicInput.has-error .Input:focus,
.BasicInput.has-error textarea:focus,
.BasicInput.has-error input:focus {
    border-color: #e00034
}

.BasicInput:not(.has-error) .FormError {
    opacity: 0
}

.BasicInput .FormError--button {
    top: 2px;
    right: 2px
}

.BasicInput textarea~.FormError .FormError--button {
    right: 18px
}

.BasicInput:not(.has-error) .FormError--button {
    cursor: default;
    visibility: hidden
}

.Captcha {
    position: relative;
    margin-top: 2em;
    max-width: 22em
}

.Captcha .grecaptcha-badge {
    position: absolute;
    visibility: hidden
}

.Captcha--text {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    color: #636363
}

[lang=zh] .Captcha--text,
[lang=zh-Hant] .Captcha--text,
[lang=zh-Hans] .Captcha--text,
[lang=zh-CN] .Captcha--text {
    line-height: 1.5
}

.Captcha--text a:not([class]) {
    color: #812f93;
    border-bottom: 1px solid;
    transition: border-color .1s cubic-bezier(.39, .575, .565, 1)
}

.template-red .Captcha--text a:not([class]) {
    color: #9b14b4
}

.template-green .Captcha--text a:not([class]) {
    color: #1455b4
}

.template-blue .Captcha--text a:not([class]) {
    color: #1455b4
}

.template-purple .Captcha--text a:not([class]) {
    color: #9b14b4
}

.template-violet .Captcha--text a:not([class]) {
    color: #9b14b4
}

html:not(.can-touch) .Captcha--text a:not([class]):active,
html:not(.can-touch) .Captcha--text a:not([class]):hover {
    border-color: #cce2e3
}

html.template-red:not(.can-touch) .Captcha--text a:not([class]):active,
html.template-red:not(.can-touch) .Captcha--text a:not([class]):hover {
    border-color: rgba(255, 160, 47, .5)
}

html.template-green:not(.can-touch) .Captcha--text a:not([class]):active,
html.template-green:not(.can-touch) .Captcha--text a:not([class]):hover {
    border-color: rgba(201, 221, 3, .5)
}

html.template-blue:not(.can-touch) .Captcha--text a:not([class]):active,
html.template-blue:not(.can-touch) .Captcha--text a:not([class]):hover {
    border-color: rgba(145, 200, 255, .5)
}

html.template-violet:not(.can-touch) .Captcha--text a:not([class]):active,
html.template-violet:not(.can-touch) .Captcha--text a:not([class]):hover {
    border-color: rgba(250, 140, 255, .5)
}

input,
select,
textarea {
    padding: 5px;
    border: 1px solid #aaa;
    font-size: 16px;
    font-weight: 400
}

input:focus,
select:focus,
textarea:focus {
    border-color: #3c4150
}

input::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: transparent
}

input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
    color: transparent
}

input:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: transparent
}

input:-moz-placeholder,
select:-moz-placeholder,
textarea:-moz-placeholder {
    color: transparent
}

input::-ms-expand,
select::-ms-expand,
textarea::-ms-expand {
    display: none
}

textarea {
    resize: vertical;
    min-height: 4em
}

input[type=number],
input[type=time] {
    -moz-appearance: textfield !important;
    -webkit-appearance: none
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button,
input[type=time]::-webkit-outer-spin-button,
input[type=time]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

select {
    width: 100%;
    cursor: pointer
}

label>abbr {
    margin-left: .1ex;
    border: none
}

.FormInput {
    display: block;
    margin-bottom: 1.5ex
}

.FormInput>label {
    display: block;
    margin-bottom: .2ex
}

legend {
    margin-bottom: 1em
}

.FormLegend {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    color: #3c4150
}

[lang=zh] .FormLegend,
[lang=zh-Hant] .FormLegend,
[lang=zh-Hans] .FormLegend,
[lang=zh-CN] .FormLegend {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .FormLegend {
        font-size: 18px;
        font-size: 1.125rem
    }
}

.FormAlert {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    position: relative;
    padding: 1.5rem;
    margin-bottom: 1em;
    border: none;
    border-radius: 4px;
    text-align: center
}

[lang=zh] .FormAlert,
[lang=zh-Hant] .FormAlert,
[lang=zh-Hans] .FormAlert,
[lang=zh-CN] .FormAlert {
    line-height: 1.5
}

.FormAlert.error {
    background-color: rgba(224, 0, 52, .075);
    color: #e00034;
    padding-left: 3.5rem
}

.FormAlert.success {
    background-color: rgba(0, 121, 52, .075);
    color: #007934
}

.FormCondition {
    display: none
}

.FormCondition.is-opened {
    display: block
}

.FormCondition--collapsible {
    display: none
}

.FormCondition--collapsible.is-opened {
    display: block
}

.FormError {
    font-size: 12px;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.66;
    color: #e00034;
    display: block;
    padding-top: .416667em;
    margin-bottom: -2em;
    opacity: 1;
    transition: opacity .2s
}

.FormError--button {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 48px;
    width: 48px;
    left: auto;
    cursor: pointer;
    overflow: hidden;
    transition: visibility .2s
}

.FormError--button--icon {
    height: calc(100% - 25px);
    background-color: #fff;
    box-shadow: 0 0 12px 9px #fff;
    display: block;
    width: calc(100% - 10px);
    margin-left: 14px
}

.FormError--button--icon:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    left: 50%;
    width: 24px;
    margin: -1px -12px;
    border-top: 1px solid;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.FormError--button--icon:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    left: 50%;
    width: 24px;
    margin: -1px -12px;
    border-top: 1px solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.FormGroup:not(.has-error) .FormAlert {
    display: none
}

.FormGroup.has-error input {
    color: #e00034 !important;
    border-color: #e00034
}

.FormGroup.whitespace-only {
    margin-top: 90px;
    margin-bottom: 60px
}

@media screen and (max-width:1000px) {
    .FormGroup.whitespace-only {
        margin-top: 11.25vw
    }
}

@media screen and (max-width:400px) {
    .FormGroup.whitespace-only {
        margin-top: 45px
    }
}

@media screen and (max-width:1000px) {
    .FormGroup.whitespace-only {
        margin-bottom: 7.5vw
    }
}

@media screen and (max-width:400px) {
    .FormGroup.whitespace-only {
        margin-bottom: 30px
    }
}

@media screen and (max-width:750px) {
    .FormGroup.whitespace-only {
        margin-top: 150px;
        margin-bottom: 90px;
        margin-top: 18.75vw
    }
}

@media screen and (max-width:400px) {
    .FormGroup.whitespace-only {
        margin-top: 75px
    }
}

@media screen and (max-width:750px) {
    .FormGroup.whitespace-only {
        margin-bottom: 11.25vw
    }
}

@media screen and (max-width:400px) {
    .FormGroup.whitespace-only {
        margin-bottom: 45px
    }
}

.FormGroup:not(.whitespace-only) .FormGroup--content {
    padding-left: 60px;
    padding-right: 60px;
    margin-bottom: 30px;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: #f9f9fa;
    border-radius: 4px
}

@media screen and (max-width:1000px) {
    .FormGroup:not(.whitespace-only) .FormGroup--content {
        padding-left: 7.5vw
    }
}

@media screen and (max-width:400px) {
    .FormGroup:not(.whitespace-only) .FormGroup--content {
        padding-left: 30px
    }
}

@media screen and (max-width:1000px) {
    .FormGroup:not(.whitespace-only) .FormGroup--content {
        padding-right: 7.5vw
    }
}

@media screen and (max-width:400px) {
    .FormGroup:not(.whitespace-only) .FormGroup--content {
        padding-right: 30px
    }
}

@media screen and (max-width:1000px) {
    .FormGroup:not(.whitespace-only) .FormGroup--content {
        margin-bottom: 3.75vw
    }
}

@media screen and (max-width:400px) {
    .FormGroup:not(.whitespace-only) .FormGroup--content {
        margin-bottom: 15px
    }
}

.FormGroup--footer {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 200
}

.FormRow {
    display: block;
    margin-bottom: 2em
}

.FormRow.emGap {
    margin-bottom: 1em
}

.FormRow.colHead {
    margin-top: .375em;
    margin-bottom: 1.25em
}

.FormTooltip {
    position: absolute;
    top: 1px;
    right: 3px;
    width: 48px;
    height: 48px;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1
}

.FormTooltip .Icon {
    height: 16px;
    fill: #812f93;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.FormTooltip .Icon svg {
    height: 16px
}

.BasicInput.select .FormTooltip {
    right: auto;
    left: 3px
}

.FormLegend .FormTooltip {
    position: relative;
    top: 1px;
    left: -12px
}

.OptionInput .FormTooltip {
    top: -11px;
    left: 28px;
    right: auto
}

.InputDate {
    position: relative
}

.InputDate input[type=date] {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.InputDate input[type=date]::-webkit-inner-spin-button,
.InputDate input[type=date]::-webkit-calendar-picker-indicator {
    display: none
}

.InputNumber {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.InputNumber--widget {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    white-space: nowrap;
    padding-left: 30px
}

.InputNumber--button {
    position: relative;
    width: 50px;
    height: 50px;
    text-align: center;
    margin-right: -1px;
    border: 1px solid #d4d4d4;
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1);
    background-color: #fff
}

.InputNumber--button:first-of-type {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

.InputNumber--button:last-of-type {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.InputNumber--button:hover:not([disabled]),
.InputNumber--button:hover:enabled {
    border-color: #636363
}

.InputNumber--button:active:not([disabled]),
.InputNumber--button:active:enabled {
    border-color: #636363
}

html:not(.can-touch) .InputNumber--button:active,
html:not(.can-touch) .InputNumber--button:hover {
    z-index: 2
}

.InputNumber--button:before,
.InputNumber--button:after {
    left: 50%
}

.InputNumber--button.js-stepinput--decrease:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    width: 12px;
    margin: 0 -6px;
    border-top: 1px solid
}

.InputNumber--button.js-stepinput--decrease:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    content: none
}

.InputNumber--button.js-stepinput--increase:after {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    width: 13px;
    margin: 0 -6px;
    border-top: 1px solid
}

.InputNumber--button.js-stepinput--increase:before {
    content: "";
    position: absolute;
    font-size: 10px;
    top: 50%;
    height: 13px;
    margin: -6px 0;
    border-left: 1px solid
}

.InputNumber--button[disabled] {
    opacity: 1
}

.InputNumber--button[disabled]:before,
.InputNumber--button[disabled]:after {
    color: #b1b3b9
}

@media screen and (max-width:400px) {
    .InputNumber--button {
        display: none
    }
}

.InputNumber--widget .InputNumber--input {
    width: 75px;
    -moz-appearance: textfield !important;
    -webkit-appearance: textfield;
    margin: 0 0 0 20px
}

.InputNumber--widget .InputNumber--input::-webkit-outer-spin-button,
.InputNumber--widget .InputNumber--input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.InputNumber--widget .InputNumber--input.size-m {
    width: 5em
}

.InputNumber--widget .InputNumber--input.size-l {
    width: 7em
}

.InputNumber--button.js-stepinput--decrease[disabled]~.InputNumber--input {
    color: #636363
}

@-webkit-keyframes anim-LoadingAnimation {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@keyframes anim-LoadingAnimation {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

.LoadingAnimation {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px;
    background-color: rgba(255, 255, 255, .8);
    z-index: 99999
}

.LoadingAnimation--inner {
    width: 320px;
    max-width: 100%;
    position: relative;
    text-align: center;
    padding-bottom: 17px;
    overflow: hidden
}

.LoadingAnimation--inner::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-bottom: 2px solid #ececee
}

.LoadingAnimation--inner::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-bottom: 2px solid #812f93;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation: anim-LoadingAnimation 2s infinite;
    animation: anim-LoadingAnimation 2s infinite
}

.LoadingAnimation--title {
    font-size: 50px;
    font-size: 3.125rem;
    font-weight: 200;
    line-height: 1.16
}

@media screen and (max-width:1000px) {
    .LoadingAnimation--title {
        font-size: 30px;
        font-size: 1.875rem;
        line-height: 1.53333
    }
}

.OptionInput {
    display: block;
    position: relative
}

.OptionInput>input {
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
    opacity: 0
}

.OptionInput>input:focus {
    outline: 0
}

.OptionInput>input[disabled]+label {
    cursor: not-allowed
}

.OptionInput>input[disabled]+label:before {
    background-color: #f9f9fa
}

.OptionInput>input:checked+label:before {
    color: #636363
}

html:not(.can-touch) .OptionInput>input:not([disabled])+label:active:before,
html:not(.can-touch) .OptionInput>input:not([disabled])+label:hover:before {
    color: #636363
}

html:not(.can-touch) .OptionInput>input:not([disabled])+label:active:active:after,
html:not(.can-touch) .OptionInput>input:not([disabled])+label:active:hover:after {
    opacity: .3
}

.OptionInput>input:checked+label:after {
    opacity: 1
}

.OptionInput>label {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 200;
    display: block;
    position: relative;
    padding-left: 2em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent
}

.OptionInput>label a {
    text-decoration: underline
}

.OptionInput>label:after,
.OptionInput>label:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 22px;
    height: 22px;
    background: #fff;
    color: #d4d4d4;
    border: 1px solid
}

.OptionInput>label:before {
    border-radius: 4px;
    transition: color .2s cubic-bezier(.39, .575, .565, 1)
}

.OptionInput>label:after {
    color: #636363;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), opacity .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), opacity .2s cubic-bezier(.39, .575, .565, 1), -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    top: 7px;
    left: 7px
}

.OptionInput.has-tooltip label {
    padding-left: 70px
}

.OptionInput>input[type=checkbox]+label:after {
    width: 10px;
    height: 5px;
    border-width: 0 0 1px 1px;
    -webkit-transform: rotateZ(-45deg) translateZ(0) scale(.7, .7);
    transform: rotateZ(-45deg) translateZ(0) scale(.7, .7)
}

.OptionInput>input[type=checkbox]:indeterminate+label:after,
.OptionInput>input[type=checkbox]:checked+label:after {
    -webkit-transform: rotateZ(-45deg) translateZ(0) scale(1, 1);
    transform: rotateZ(-45deg) translateZ(0) scale(1, 1)
}

.OptionInput>input[type=radio]+label:before {
    border-radius: 100%
}

.OptionInput>input[type=radio]+label:after {
    border-width: 5px;
    width: 0;
    height: 0;
    border-radius: 100%;
    -webkit-transform: scale(.75);
    transform: scale(.75)
}

.OptionInput>input[type=radio]:checked+label:after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.OptionInputGroup .OptionInput {
    display: block;
    margin-bottom: 1em
}

.OptionInputGroup .OptionInput:last-of-type {
    margin-bottom: 0
}

.OptionInputGroup:not(.has-error) .FormAlert.error {
    display: none
}

.OptionInputGroup.inline .OptionInput {
    display: inline-block;
    margin-right: 1.5em
}

.boxed .OptionInput>label,
.OptionInput.boxed>label {
    background-color: #fff;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    padding: 40px calc(60px + 2em) 40px 60px;
    transition: border-color .2s cubic-bezier(.39, .575, .565, 1), background-color .2s cubic-bezier(.39, .575, .565, 1)
}

html:not(.can-touch) .boxed .OptionInput>label:active,
html:not(.can-touch) .boxed .OptionInput>label:hover,
html:not(.can-touch) .OptionInput.boxed>label:active,
html:not(.can-touch) .OptionInput.boxed>label:hover {
    border-color: #3c4150
}

.boxed .OptionInput>label:before,
.boxed .OptionInput>label:after,
.OptionInput.boxed>label:before,
.OptionInput.boxed>label:after {
    top: calc(50% - 12px);
    left: auto;
    right: 60px
}

@media screen and (max-width:750px) {

    .boxed .OptionInput>label,
    .OptionInput.boxed>label {
        padding: 20px
    }

    .boxed .OptionInput>label:before,
    .boxed .OptionInput>label:after,
    .OptionInput.boxed>label:before,
    .OptionInput.boxed>label:after {
        top: 20px;
        right: 20px
    }
}

.boxed .OptionInput>input:indeterminate+label,
.boxed .OptionInput>input:checked+label,
.OptionInput.boxed>input:indeterminate+label,
.OptionInput.boxed>input:checked+label {
    background-color: #f9f9fa;
    border-color: #f9f9fa
}

.boxed .OptionInput>input[type=checkbox]+label:after,
.OptionInput.boxed>input[type=checkbox]+label:after {
    top: calc(50% + -5px);
    left: auto;
    right: calc(60px + 7px)
}

@media screen and (max-width:750px) {

    .boxed .OptionInput>input[type=checkbox]+label:after,
    .OptionInput.boxed>input[type=checkbox]+label:after {
        top: calc(20px + 7px);
        right: calc(20px + 7px)
    }
}

.boxed .OptionInput>input[type=checkbox]:checked:disabled+label,
.OptionInput.boxed>input[type=checkbox]:checked:disabled+label {
    background-color: #f9f9fa
}

.boxed .OptionInput>input[type=checkbox]:checked:disabled+label::before,
.OptionInput.boxed>input[type=checkbox]:checked:disabled+label::before {
    background-color: #fff
}

.boxed .OptionInput>input[type=radio]+label:after,
.OptionInput.boxed>input[type=radio]+label:after {
    top: calc(50% + -5px);
    left: auto;
    right: calc(60px + 7px)
}

@media screen and (max-width:750px) {

    .boxed .OptionInput>input[type=radio]+label:after,
    .OptionInput.boxed>input[type=radio]+label:after {
        top: calc(20px + 7px);
        right: calc(20px + 7px)
    }
}

@media screen and (min-width:1001px) {
    .OptionInputGroup.verticalBoxed .OptionInputGroup--grid {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.OptionInputGroup.verticalBoxed .OptionInput {
    margin-bottom: 0
}

@media screen and (min-width:1001px) {
    .OptionInputGroup.verticalBoxed .OptionInput {
        width: 170px;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto
    }

    .OptionInputGroup.verticalBoxed .OptionInput:nth-child(n+2) {
        margin-left: 10px
    }
}

@media screen and (max-width:1000px) {
    .OptionInputGroup.verticalBoxed .OptionInput:nth-child(n+2) {
        margin-top: 10px
    }
}

html:not(.can-touch) .OptionInputGroup.verticalBoxed .OptionInput:active>label,
html:not(.can-touch) .OptionInputGroup.verticalBoxed .OptionInput:hover>label {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px)
}

.OptionInputGroup.verticalBoxed .OptionInput>input:checked+label {
    border-color: #3c4150;
    background-color: #f9f9fa
}

.OptionInputGroup.verticalBoxed .OptionInput>label {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 60px;
    background-color: #fff;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    transition: border-color .2s, background-color .2s, -webkit-transform .2s cubic-bezier(.39, .575, .565, 1);
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), border-color .2s, background-color .2s;
    transition: transform .2s cubic-bezier(.39, .575, .565, 1), border-color .2s, background-color .2s, -webkit-transform .2s cubic-bezier(.39, .575, .565, 1)
}

.OptionInputGroup.verticalBoxed .OptionInput>label .Icon {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-size: 36px;
    height: 54px
}

.OptionInputGroup.verticalBoxed .OptionInput>label .Icon>svg {
    height: 100%
}

.OptionInputGroup.verticalBoxed .OptionInput>label .Icon>img {
    height: 100%;
    width: auto
}

html:not(.can-touch) .OptionInputGroup.verticalBoxed .OptionInput>label:active,
html:not(.can-touch) .OptionInputGroup.verticalBoxed .OptionInput>label:hover {
    border-color: #3c4150
}

@media screen and (min-width:1001px) {
    .OptionInputGroup.verticalBoxed .OptionInput>label {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        height: 100%;
        min-height: 200px;
        text-align: center
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label::before {
        top: auto;
        left: calc(50% - 12px);
        bottom: 15px
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label::after {
        top: auto;
        left: calc(50% - 5px);
        bottom: 22px
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label .Icon {
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin-bottom: 15px
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label .Icon img.mobile {
        display: none
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label .OptionInput--label--text {
        width: 100%;
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media screen and (max-width:1000px) {
    .OptionInputGroup.verticalBoxed .OptionInput>label {
        padding-left: 15px;
        padding-top: 15px;
        padding-right: 55px;
        padding-bottom: 15px;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label::before {
        left: auto;
        right: 15px;
        top: calc(50% - 12px)
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label::after {
        left: auto;
        right: 22px;
        top: calc(50% - 5px)
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label .Icon {
        width: 27px;
        height: 27px;
        margin-right: 15px
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label .Icon svg {
        width: 100%;
        height: auto
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label .Icon img {
        -webkit-transform: none;
        transform: none
    }

    .OptionInputGroup.verticalBoxed .OptionInput>label .Icon img.mobile+img.desktop {
        display: none
    }
}

.OptionInput--label--category {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4;
    color: #636363;
    display: block;
    margin-bottom: 1em
}

[lang=zh] .OptionInput--label--category,
[lang=zh-Hant] .OptionInput--label--category,
[lang=zh-Hans] .OptionInput--label--category,
[lang=zh-CN] .OptionInput--label--category {
    line-height: 1.5
}

@media screen and (max-width:750px) {
    .OptionInput--label--category {
        padding-right: 40px
    }
}

.OptionInput--label--title {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 200;
    line-height: 1.5;
    display: block;
    margin-bottom: .5em
}

[lang=zh] .OptionInput--label--title,
[lang=zh-Hant] .OptionInput--label--title,
[lang=zh-Hans] .OptionInput--label--title,
[lang=zh-CN] .OptionInput--label--title {
    line-height: 1.7
}

@media screen and (max-width:1000px) {
    .OptionInput--label--title {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media screen and (max-width:750px) {
    .OptionInput--label--title {
        padding-right: 40px
    }
}

.OptionInput--label--text {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    display: block
}

[lang=zh] .OptionInput--label--text,
[lang=zh-Hant] .OptionInput--label--text,
[lang=zh-Hans] .OptionInput--label--text,
[lang=zh-CN] .OptionInput--label--text {
    line-height: 1.5
}

@media screen and (max-width:750px) {
    .OptionInput--label--text {
        font-size: 14px;
        font-size: .875rem;
        font-weight: 400;
        line-height: 1.4
    }

    [lang=zh] .OptionInput--label--text,
    [lang=zh-Hant] .OptionInput--label--text,
    [lang=zh-Hans] .OptionInput--label--text,
    [lang=zh-CN] .OptionInput--label--text {
        line-height: 1.5
    }
}

.OptionInput .FormError,
.OptionInputGroup .FormError {
    margin-left: 3em
}

.OptionInput:not(.has-error) .FormError,
.OptionInputGroup:not(.has-error) .FormError {
    opacity: 0
}

.OptionInput.has-error:not(.has-validation)>label,
.OptionInput.has-error:not(.has-validation) .OptionInput>label,
.OptionInputGroup.has-error:not(.has-validation)>label,
.OptionInputGroup.has-error:not(.has-validation) .OptionInput>label {
    color: #e00034
}

.OptionInput.has-error:not(.has-validation)>label:before,
.OptionInput.has-error:not(.has-validation) .OptionInput>label:before,
.OptionInputGroup.has-error:not(.has-validation)>label:before,
.OptionInputGroup.has-error:not(.has-validation) .OptionInput>label:before {
    color: rgba(224, 0, 52, .25)
}

.OptionInput.has-error:not(.has-validation)>label:active:before,
.OptionInput.has-error:not(.has-validation) .OptionInput>label:active:before,
.OptionInputGroup.has-error:not(.has-validation)>label:active:before,
.OptionInputGroup.has-error:not(.has-validation) .OptionInput>label:active:before {
    color: #e00034
}

html:not(.can-touch) .OptionInput.has-error:not(.has-validation)>label:active:not([disabled]):before,
html:not(.can-touch) .OptionInput.has-error:not(.has-validation)>label:hover:not([disabled]):before,
html:not(.can-touch) .OptionInput.has-error:not(.has-validation) .OptionInput>label:active:not([disabled]):before,
html:not(.can-touch) .OptionInput.has-error:not(.has-validation) .OptionInput>label:hover:not([disabled]):before,
html:not(.can-touch) .OptionInputGroup.has-error:not(.has-validation)>label:active:not([disabled]):before,
html:not(.can-touch) .OptionInputGroup.has-error:not(.has-validation)>label:hover:not([disabled]):before,
html:not(.can-touch) .OptionInputGroup.has-error:not(.has-validation) .OptionInput>label:active:not([disabled]):before,
html:not(.can-touch) .OptionInputGroup.has-error:not(.has-validation) .OptionInput>label:hover:not([disabled]):before {
    color: #e00034
}

.OptionInput.has-error:not(.has-validation)>label:after,
.OptionInput.has-error:not(.has-validation) .OptionInput>label:after,
.OptionInputGroup.has-error:not(.has-validation)>label:after,
.OptionInputGroup.has-error:not(.has-validation) .OptionInput>label:after {
    color: #e00034
}

.FormGroup .OptionInput {
    margin-top: .375em;
    margin-bottom: .375em
}

.FormGroup .OptionInput label {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 200;
    line-height: 1.5;
    padding-left: 0;
    padding-right: 2em
}

[lang=zh] .FormGroup .OptionInput label,
[lang=zh-Hant] .FormGroup .OptionInput label,
[lang=zh-Hans] .FormGroup .OptionInput label,
[lang=zh-CN] .FormGroup .OptionInput label {
    line-height: 1.7
}

@media screen and (max-width:1000px) {
    .FormGroup .OptionInput label {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.FormGroup .OptionInput label:before {
    left: auto;
    right: 0;
    top: 3px
}

.FormGroup .OptionInput label:after {
    left: auto;
    right: 7px;
    top: 10px
}

.SplitForm {
    margin-bottom: 120px
}

@media screen and (max-width:1000px) {
    .SplitForm {
        margin-bottom: 15vw
    }
}

@media screen and (max-width:400px) {
    .SplitForm {
        margin-bottom: 60px
    }
}

.SplitForm--title {
    margin-bottom: 60px;
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3
}

@media screen and (max-width:1000px) {
    .SplitForm--title {
        margin-bottom: 7.5vw
    }
}

@media screen and (max-width:400px) {
    .SplitForm--title {
        margin-bottom: 30px
    }
}

[lang=zh] .SplitForm--title,
[lang=zh-Hant] .SplitForm--title,
[lang=zh-Hans] .SplitForm--title,
[lang=zh-CN] .SplitForm--title {
    line-height: 1.5
}

@media screen and (max-width:1000px) {
    .SplitForm--title {
        font-size: 18px;
        font-size: 1.125rem
    }
}

.SplitForm--controls {
    margin-bottom: 60px;
    text-align: center;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:1000px) {
    .SplitForm--controls {
        margin-bottom: 7.5vw
    }
}

@media screen and (max-width:400px) {
    .SplitForm--controls {
        margin-bottom: 30px
    }
}

@media screen and (max-width:750px) {
    .SplitForm--controls {
        max-width: 100%
    }
}

.SplitForm--button {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 80px;
    padding: 1em 2em;
    white-space: nowrap;
    border: 1px solid transparent;
    border-radius: 4px;
    background-color: #f9f9fa;
    transition: border-color .3s
}

html:not(.can-touch) .SplitForm--button:active,
html:not(.can-touch) .SplitForm--button:hover {
    border-color: #3c4150
}

.SplitForm--button[aria-expanded=true] {
    background-color: #fff;
    border-color: #3c4150
}

.SplitForm--button .Icon {
    margin-left: 30px
}

@media screen and (max-width:1000px) {
    .SplitForm--button {
        font-size: 16px;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.375;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        height: auto;
        padding-top: 2em
    }

    [lang=zh] .SplitForm--button,
    [lang=zh-Hant] .SplitForm--button,
    [lang=zh-Hans] .SplitForm--button,
    [lang=zh-CN] .SplitForm--button {
        line-height: 1.5
    }

    .SplitForm--button .Icon {
        margin-left: 0;
        margin-bottom: 1em
    }
}

.SplitForm--form[data-hidden=true] {
    display: none
}

.l-ComponentWrapper {
    margin-bottom: 150px
}

@media screen and (max-width:1000px) {
    .l-ComponentWrapper {
        margin-bottom: 18.75vw
    }
}

@media screen and (max-width:400px) {
    .l-ComponentWrapper {
        margin-bottom: 75px
    }
}

.l-ComponentWrapper.noGap {
    margin-bottom: 0 !important
}

.l-ComponentWrapper.smallGap {
    margin-bottom: 90px
}

@media screen and (max-width:1000px) {
    .l-ComponentWrapper.smallGap {
        margin-bottom: 11.25vw
    }
}

@media screen and (max-width:400px) {
    .l-ComponentWrapper.smallGap {
        margin-bottom: 45px
    }
}

.l-ComponentWrapper.col-12 {
    margin-left: calc(50% - 615px);
    margin-right: calc(50% - 615px)
}

@media(max-width:1430px) {
    .l-ComponentWrapper.col-12 {
        margin-left: 75px;
        margin-right: 75px
    }
}