@charset "UTF-8";

/*!
 * Bootstrap v4.0.0-beta (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent
}

*,
:after,
:before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

@-ms-viewport {
    width: device-width
}

article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff
}

[tabindex="-1"]:focus {
    outline: none!important
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: .5rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

abbr[data-original-title],
abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0
}

address {
    font-style: normal;
    line-height: inherit
}

address,
dl,
ol,
ul {
    margin-bottom: 1rem
}

dl,
ol,
ul {
    margin-top: 0
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

dfn {
    font-style: italic
}

b,
strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: #007bff;
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:hover {
    color: #0056b3;
    text-decoration: underline
}

a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
    color: inherit;
    text-decoration: none
}

a:not([href]):not([tabindex]):focus {
    outline: 0
}

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

pre {
    overflow: auto
}

figure {
    margin: 0 0 1rem
}

img {
    vertical-align: middle;
    border-style: none
}

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

[role=button],
a,
area,
button,
input,
label,
select,
summary,
textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

table {
    border-collapse: collapse
}

caption {
    padding-top: .75rem;
    padding-bottom: .75rem;
    color: #868e96;
    caption-side: bottom
}

caption,
th {
    text-align: left
}

label {
    display: inline-block;
    margin-bottom: .5rem
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    padding: 0;
    border-style: none
}

input[type=checkbox],
input[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
    -webkit-appearance: listbox
}

textarea {
    overflow: auto;
    resize: vertical
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal
}

progress {
    vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none!important
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: .5rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1
}

.h1,
h1 {
    font-size: 2.5rem
}

.h2,
h2 {
    font-size: 2rem
}

.h3,
h3 {
    font-size: 1.75rem
}

.h4,
h4 {
    font-size: 1.5rem
}

.h5,
h5 {
    font-size: 1.25rem
}

.h6,
h6 {
    font-size: 1rem
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.display-1 {
    font-size: 6rem
}

.display-1,
.display-2 {
    font-weight: 300;
    line-height: 1.1
}

.display-2 {
    font-size: 5.5rem
}

.display-3 {
    font-size: 4.5rem
}

.display-3,
.display-4 {
    font-weight: 300;
    line-height: 1.1
}

.display-4 {
    font-size: 3.5rem
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, .1)
}

.small,
small {
    font-size: 80%;
    font-weight: 400
}

.mark,
mark {
    padding: .2em;
    background-color: #fcf8e3
}

.list-inline,
.list-unstyled {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

.list-inline-item:not(:last-child) {
    margin-right: 5px
}

.initialism {
    font-size: 90%;
    text-transform: uppercase
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote-footer {
    display: block;
    font-size: 80%;
    color: #868e96
}

.blockquote-footer:before {
    content: "\2014 \00A0"
}

.img-fluid,
.img-thumbnail {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: .25rem;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: 90%;
    color: #868e96
}

code,
kbd,
pre,
samp {
    font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace
}

code {
    padding: .2rem .4rem;
    font-size: 90%;
    color: #bd4147;
    background-color: #f8f9fa;
    border-radius: .25rem
}

a>code {
    padding: 0;
    color: inherit;
    background-color: inherit
}

kbd {
    padding: .2rem .4rem;
    font-size: 90%;
    color: #fff;
    background-color: #212529;
    border-radius: .2rem
}

kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 90%;
    color: #212529
}

pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border-radius: 0
}

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll
}

.container,
.container-fluid {
    margin-right: auto;
    margin-left: auto;
    padding-right: 10px;
    padding-left: 10px;
    width: 100%
}

.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px
}

.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.no-gutters>.col,
.no-gutters>[class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.col,
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-auto,
.col-md,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-auto,
.col-sm,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-auto,
.col-xl,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
}

.col-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none
}

.col-1,
.col-auto {
    -webkit-box-flex: 0
}

.col-1 {
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%
}

.col-2 {
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%
}

.col-2,
.col-3 {
    -webkit-box-flex: 0
}

.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
}

.col-4 {
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%
}

.col-4,
.col-5 {
    -webkit-box-flex: 0
}

.col-5 {
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%
}

.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
}

.col-6,
.col-7 {
    -webkit-box-flex: 0
}

.col-7 {
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%
}

.col-8 {
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%
}

.col-8,
.col-9 {
    -webkit-box-flex: 0
}

.col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
}

.col-10 {
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%
}

.col-10,
.col-11 {
    -webkit-box-flex: 0
}

.col-11 {
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%
}

.col-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
}

.order-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

.order-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.order-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3
}

.order-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4
}

.order-5 {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5
}

.order-6 {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6
}

.order-7 {
    -webkit-box-ordinal-group: 8;
    -ms-flex-order: 7;
    order: 7
}

.order-8 {
    -webkit-box-ordinal-group: 9;
    -ms-flex-order: 8;
    order: 8
}

.order-9 {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9
}

.order-10 {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10
}

.order-11 {
    -webkit-box-ordinal-group: 12;
    -ms-flex-order: 11;
    order: 11
}

.order-12 {
    -webkit-box-ordinal-group: 13;
    -ms-flex-order: 12;
    order: 12
}

.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
    background-color: transparent
}

.table td,
.table th {
    padding: .75rem;
    vertical-align: top;
    border-top: 1px solid #e9ecef
}

.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #e9ecef
}

.table tbody+tbody {
    border-top: 2px solid #e9ecef
}

.table .table {
    background-color: #fff
}

.table-sm td,
.table-sm th {
    padding: .3rem
}

.table-bordered,
.table-bordered td,
.table-bordered th {
    border: 1px solid #e9ecef
}

.table-bordered thead td,
.table-bordered thead th {
    border-bottom-width: 2px
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, .05)
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, .075)
}

.table-primary,
.table-primary>td,
.table-primary>th {
    background-color: #b8daff
}

.table-hover .table-primary:hover,
.table-hover .table-primary:hover>td,
.table-hover .table-primary:hover>th {
    background-color: #9fcdff
}

.table-secondary,
.table-secondary>td,
.table-secondary>th {
    background-color: #dddfe2
}

.table-hover .table-secondary:hover,
.table-hover .table-secondary:hover>td,
.table-hover .table-secondary:hover>th {
    background-color: #cfd2d6
}

.table-success,
.table-success>td,
.table-success>th {
    background-color: #c3e6cb
}

.table-hover .table-success:hover,
.table-hover .table-success:hover>td,
.table-hover .table-success:hover>th {
    background-color: #b1dfbb
}

.table-info,
.table-info>td,
.table-info>th {
    background-color: #bee5eb
}

.table-hover .table-info:hover,
.table-hover .table-info:hover>td,
.table-hover .table-info:hover>th {
    background-color: #abdde5
}

.table-warning,
.table-warning>td,
.table-warning>th {
    background-color: #ffeeba
}

.table-hover .table-warning:hover,
.table-hover .table-warning:hover>td,
.table-hover .table-warning:hover>th {
    background-color: #ffe8a1
}

.table-danger,
.table-danger>td,
.table-danger>th {
    background-color: #f5c6cb
}

.table-hover .table-danger:hover,
.table-hover .table-danger:hover>td,
.table-hover .table-danger:hover>th {
    background-color: #f1b0b7
}

.table-light,
.table-light>td,
.table-light>th {
    background-color: #fdfdfe
}

.table-hover .table-light:hover,
.table-hover .table-light:hover>td,
.table-hover .table-light:hover>th {
    background-color: #ececf6
}

.table-dark,
.table-dark>td,
.table-dark>th {
    background-color: #c6c8ca
}

.table-hover .table-dark:hover,
.table-hover .table-dark:hover>td,
.table-hover .table-dark:hover>th {
    background-color: #b9bbbe
}

.table-active,
.table-active>td,
.table-active>th,
.table-hover .table-active:hover,
.table-hover .table-active:hover>td,
.table-hover .table-active:hover>th {
    background-color: rgba(0, 0, 0, .075)
}

.thead-inverse th {
    color: #fff;
    background-color: #212529
}

.thead-default th {
    color: #495057;
    background-color: #e9ecef
}

.table-inverse {
    color: #fff;
    background-color: #212529
}

.table-inverse td,
.table-inverse th,
.table-inverse thead th {
    border-color: #32383e
}

.table-inverse.table-bordered {
    border: 0
}

.table-inverse.table-striped tbody tr:nth-of-type(odd) {
    background-color: hsla(0, 0%, 100%, .05)
}

.table-inverse.table-hover tbody tr:hover {
    background-color: hsla(0, 0%, 100%, .075)
}

.form-control {
    display: block;
    width: 100%;
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.25;
    color: #495057;
    background-color: #fff;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .25rem;
    -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out
}

.form-control::-ms-expand {
    background-color: transparent;
    border: 0
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: none
}

.form-control::-webkit-input-placeholder {
    color: #868e96;
    opacity: 1
}

.form-control:-ms-input-placeholder,
.form-control::-ms-input-placeholder {
    color: #868e96;
    opacity: 1
}

.form-control::placeholder {
    color: #868e96;
    opacity: 1
}

.form-control:disabled,
.form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1
}

select.form-control:not([size]):not([multiple]) {
    height: calc(2.25rem + 2px)
}

select.form-control:focus::-ms-value {
    color: #495057;
    background-color: #fff
}

.form-control-file,
.form-control-range {
    display: block
}

.col-form-label {
    margin-bottom: 0
}

.col-form-label,
.col-form-label-lg {
    padding-top: calc(.5rem - 1px * 2);
    padding-bottom: calc(.5rem - 1px * 2)
}

.col-form-label-lg {
    font-size: 1.25rem
}

.col-form-label-sm {
    padding-top: calc(.25rem - 1px * 2);
    padding-bottom: calc(.25rem - 1px * 2);
    font-size: .875rem
}

.col-form-legend {
    font-size: 1rem
}

.col-form-legend,
.form-control-plaintext {
    padding-top: .5rem;
    padding-bottom: .5rem;
    margin-bottom: 0
}

.form-control-plaintext {
    line-height: 1.25;
    border: solid transparent;
    border-width: 1px 0
}

.form-control-plaintext.form-control-lg,
.form-control-plaintext.form-control-sm {
    padding-right: 0;
    padding-left: 0
}

.form-control-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem
}

select.form-control-sm:not([size]):not([multiple]) {
    height: calc(1.8125rem + 2px)
}

.form-control-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: .3rem
}

select.form-control-lg:not([size]):not([multiple]) {
    height: calc(2.3125rem + 2px)
}

.form-group {
    margin-bottom: 1rem
}

.form-text {
    display: block;
    margin-top: .25rem
}

.form-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px
}

.form-row>.col,
.form-row>[class*=col-] {
    padding-right: 5px;
    padding-left: 5px
}

.form-check {
    position: relative;
    display: block;
    margin-bottom: .5rem
}

.form-check.disabled .form-check-label {
    color: #868e96
}

.form-check-label {
    padding-left: 1.25rem;
    margin-bottom: 0
}

.form-check-input {
    position: absolute;
    margin-top: .25rem;
    margin-left: -1.25rem
}

.form-check-input:only-child {
    position: static
}

.form-check-inline {
    display: inline-block
}

.form-check-inline .form-check-label {
    vertical-align: middle
}

.form-check-inline+.form-check-inline {
    margin-left: .75rem
}

.invalid-feedback {
    display: none;
    margin-top: .25rem;
    font-size: .875rem;
    color: #dc3545
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    width: 250px;
    padding: .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    line-height: 1;
    color: #fff;
    background-color: rgba(220, 53, 69, .8);
    border-radius: .2rem
}

.custom-select.is-valid,
.form-control.is-valid,
.was-validated .custom-select:valid,
.was-validated .form-control:valid {
    border-color: #28a745
}

.custom-select.is-valid:focus,
.form-control.is-valid:focus,
.was-validated .custom-select:valid:focus,
.was-validated .form-control:valid:focus {
    -webkit-box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25);
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.custom-select.is-valid~.invalid-feedback,
.custom-select.is-valid~.invalid-tooltip,
.form-control.is-valid~.invalid-feedback,
.form-control.is-valid~.invalid-tooltip,
.was-validated .custom-select:valid~.invalid-feedback,
.was-validated .custom-select:valid~.invalid-tooltip,
.was-validated .form-control:valid~.invalid-feedback,
.was-validated .form-control:valid~.invalid-tooltip {
    display: block
}

.form-check-input.is-valid+.form-check-label,
.was-validated .form-check-input:valid+.form-check-label {
    color: #28a745
}

.custom-control-input.is-valid~.custom-control-indicator,
.was-validated .custom-control-input:valid~.custom-control-indicator {
    background-color: rgba(40, 167, 69, .25)
}

.custom-control-input.is-valid~.custom-control-description,
.was-validated .custom-control-input:valid~.custom-control-description {
    color: #28a745
}

.custom-file-input.is-valid~.custom-file-control,
.was-validated .custom-file-input:valid~.custom-file-control {
    border-color: #28a745
}

.custom-file-input.is-valid~.custom-file-control:before,
.was-validated .custom-file-input:valid~.custom-file-control:before {
    border-color: inherit
}

.custom-file-input.is-valid:focus,
.was-validated .custom-file-input:valid:focus {
    -webkit-box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25);
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.custom-select.is-invalid,
.form-control.is-invalid,
.was-validated .custom-select:invalid,
.was-validated .form-control:invalid {
    border-color: #dc3545
}

.custom-select.is-invalid:focus,
.form-control.is-invalid:focus,
.was-validated .custom-select:invalid:focus,
.was-validated .form-control:invalid:focus {
    -webkit-box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25);
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.custom-select.is-invalid~.invalid-feedback,
.custom-select.is-invalid~.invalid-tooltip,
.form-control.is-invalid~.invalid-feedback,
.form-control.is-invalid~.invalid-tooltip,
.was-validated .custom-select:invalid~.invalid-feedback,
.was-validated .custom-select:invalid~.invalid-tooltip,
.was-validated .form-control:invalid~.invalid-feedback,
.was-validated .form-control:invalid~.invalid-tooltip {
    display: block
}

.form-check-input.is-invalid+.form-check-label,
.was-validated .form-check-input:invalid+.form-check-label {
    color: #dc3545
}

.custom-control-input.is-invalid~.custom-control-indicator,
.was-validated .custom-control-input:invalid~.custom-control-indicator {
    background-color: rgba(220, 53, 69, .25)
}

.custom-control-input.is-invalid~.custom-control-description,
.was-validated .custom-control-input:invalid~.custom-control-description {
    color: #dc3545
}

.custom-file-input.is-invalid~.custom-file-control,
.was-validated .custom-file-input:invalid~.custom-file-control {
    border-color: #dc3545
}

.custom-file-input.is-invalid~.custom-file-control:before,
.was-validated .custom-file-input:invalid~.custom-file-control:before {
    border-color: inherit
}

.custom-file-input.is-invalid:focus,
.was-validated .custom-file-input:invalid:focus {
    -webkit-box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25);
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.form-inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.form-inline .form-check {
    width: 100%
}

.align-baseline {
    vertical-align: baseline!important
}

.align-top {
    vertical-align: top!important
}

.align-middle {
    vertical-align: middle!important
}

.align-bottom {
    vertical-align: bottom!important
}

.align-text-bottom {
    vertical-align: text-bottom!important
}

.align-text-top {
    vertical-align: text-top!important
}

.bg-primary {
    background-color: #007bff!important
}

a.bg-primary:focus,
a.bg-primary:hover {
    background-color: #0062cc!important
}

.bg-secondary {
    background-color: #868e96!important
}

a.bg-secondary:focus,
a.bg-secondary:hover {
    background-color: #6c757d!important
}

.bg-success {
    background-color: #28a745!important
}

a.bg-success:focus,
a.bg-success:hover {
    background-color: #1e7e34!important
}

.bg-info {
    background-color: #17a2b8!important
}

a.bg-info:focus,
a.bg-info:hover {
    background-color: #117a8b!important
}

.bg-warning {
    background-color: #ffc107!important
}

a.bg-warning:focus,
a.bg-warning:hover {
    background-color: #d39e00!important
}

.bg-danger {
    background-color: #dc3545!important
}

a.bg-danger:focus,
a.bg-danger:hover {
    background-color: #bd2130!important
}

.bg-light {
    background-color: #f8f9fa!important
}

a.bg-light:focus,
a.bg-light:hover {
    background-color: #dae0e5!important
}

.bg-dark {
    background-color: #343a40!important
}

a.bg-dark:focus,
a.bg-dark:hover {
    background-color: #1d2124!important
}

.bg-white {
    background-color: #fff!important
}

.bg-transparent {
    background-color: transparent!important
}

.border {
    border: 1px solid #e9ecef!important
}

.border-0 {
    border: 0!important
}

.border-top-0 {
    border-top: 0!important
}

.border-right-0 {
    border-right: 0!important
}

.border-bottom-0 {
    border-bottom: 0!important
}

.border-left-0 {
    border-left: 0!important
}

.border-primary {
    border-color: #007bff!important
}

.border-secondary {
    border-color: #868e96!important
}

.border-success {
    border-color: #28a745!important
}

.border-info {
    border-color: #17a2b8!important
}

.border-warning {
    border-color: #ffc107!important
}

.border-danger {
    border-color: #dc3545!important
}

.border-light {
    border-color: #f8f9fa!important
}

.border-dark {
    border-color: #343a40!important
}

.border-white {
    border-color: #fff!important
}

.rounded {
    border-radius: .25rem!important
}

.rounded-top {
    border-top-left-radius: .25rem!important
}

.rounded-right,
.rounded-top {
    border-top-right-radius: .25rem!important
}

.rounded-bottom,
.rounded-right {
    border-bottom-right-radius: .25rem!important
}

.rounded-bottom,
.rounded-left {
    border-bottom-left-radius: .25rem!important
}

.rounded-left {
    border-top-left-radius: .25rem!important
}

.rounded-circle {
    border-radius: 50%
}

.rounded-0 {
    border-radius: 0
}

.clearfix:after {
    display: block;
    clear: both;
    content: ""
}

.d-none {
    display: none!important
}

.d-inline {
    display: inline!important
}

.d-inline-block {
    display: inline-block!important
}

.d-block {
    display: block!important
}

.d-table {
    display: table!important
}

.d-table-cell {
    display: table-cell!important
}

.d-flex {
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important
}

.d-inline-flex {
    display: -webkit-inline-box!important;
    display: -ms-inline-flexbox!important;
    display: inline-flex!important
}

.d-print-block,
.d-print-inline,
.d-print-inline-block {
    display: none!important
}

.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden
}

.embed-responsive:before {
    display: block;
    content: ""
}

.embed-responsive .embed-responsive-item,
.embed-responsive embed,
.embed-responsive iframe,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.embed-responsive-21by9:before {
    padding-top: 42.85714%
}

.embed-responsive-16by9:before {
    padding-top: 56.25%
}

.embed-responsive-4by3:before {
    padding-top: 75%
}

.embed-responsive-1by1:before {
    padding-top: 100%
}

.flex-row {
    -webkit-box-orient: horizontal!important;
    -ms-flex-direction: row!important;
    flex-direction: row!important
}

.flex-column,
.flex-row {
    -webkit-box-direction: normal!important
}

.flex-column {
    -webkit-box-orient: vertical!important;
    -ms-flex-direction: column!important;
    flex-direction: column!important
}

.flex-row-reverse {
    -webkit-box-orient: horizontal!important;
    -ms-flex-direction: row-reverse!important;
    flex-direction: row-reverse!important
}

.flex-column-reverse,
.flex-row-reverse {
    -webkit-box-direction: reverse!important
}

.flex-column-reverse {
    -webkit-box-orient: vertical!important;
    -ms-flex-direction: column-reverse!important;
    flex-direction: column-reverse!important
}

.flex-wrap {
    -ms-flex-wrap: wrap!important;
    flex-wrap: wrap!important
}

.flex-nowrap {
    -ms-flex-wrap: nowrap!important;
    flex-wrap: nowrap!important
}

.flex-wrap-reverse {
    -ms-flex-wrap: wrap-reverse!important;
    flex-wrap: wrap-reverse!important
}

.justify-content-start {
    -webkit-box-pack: start!important;
    -ms-flex-pack: start!important;
    justify-content: flex-start!important
}

.justify-content-end {
    -webkit-box-pack: end!important;
    -ms-flex-pack: end!important;
    justify-content: flex-end!important
}

.justify-content-center {
    -webkit-box-pack: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important
}

.justify-content-between {
    -webkit-box-pack: justify!important;
    -ms-flex-pack: justify!important;
    justify-content: space-between!important
}

.justify-content-around {
    -ms-flex-pack: distribute!important;
    justify-content: space-around!important
}

.align-items-start {
    -webkit-box-align: start!important;
    -ms-flex-align: start!important;
    align-items: flex-start!important
}

.align-items-end {
    -webkit-box-align: end!important;
    -ms-flex-align: end!important;
    align-items: flex-end!important
}

.align-items-center {
    -webkit-box-align: center!important;
    -ms-flex-align: center!important;
    align-items: center!important
}

.align-items-baseline {
    -webkit-box-align: baseline!important;
    -ms-flex-align: baseline!important;
    align-items: baseline!important
}

.align-items-stretch {
    -webkit-box-align: stretch!important;
    -ms-flex-align: stretch!important;
    align-items: stretch!important
}

.align-content-start {
    -ms-flex-line-pack: start!important;
    align-content: flex-start!important
}

.align-content-end {
    -ms-flex-line-pack: end!important;
    align-content: flex-end!important
}

.align-content-center {
    -ms-flex-line-pack: center!important;
    align-content: center!important
}

.align-content-between {
    -ms-flex-line-pack: justify!important;
    align-content: space-between!important
}

.align-content-around {
    -ms-flex-line-pack: distribute!important;
    align-content: space-around!important
}

.align-content-stretch {
    -ms-flex-line-pack: stretch!important;
    align-content: stretch!important
}

.align-self-auto {
    -ms-flex-item-align: auto!important;
    align-self: auto!important
}

.align-self-start {
    -ms-flex-item-align: start!important;
    align-self: flex-start!important
}

.align-self-end {
    -ms-flex-item-align: end!important;
    align-self: flex-end!important
}

.align-self-center {
    -ms-flex-item-align: center!important;
    align-self: center!important
}

.align-self-baseline {
    -ms-flex-item-align: baseline!important;
    align-self: baseline!important
}

.align-self-stretch {
    -ms-flex-item-align: stretch!important;
    align-self: stretch!important
}

.float-left {
    float: left!important
}

.float-right {
    float: right!important
}

.float-none {
    float: none!important
}

.fixed-top {
    top: 0
}

.fixed-bottom,
.fixed-top {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030
}

.fixed-bottom {
    bottom: 0
}

@supports ((position:-webkit-sticky) or (position:sticky)) {
    .sticky-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    -webkit-clip-path: none;
    clip-path: none
}

.w-25 {
    width: 25%!important
}

.w-50 {
    width: 50%!important
}

.w-75 {
    width: 75%!important
}

.w-100 {
    width: 100%!important
}

.h-25 {
    height: 25%!important
}

.h-50 {
    height: 50%!important
}

.h-75 {
    height: 75%!important
}

.h-100 {
    height: 100%!important
}

.mw-100 {
    max-width: 100%!important
}

.mh-100 {
    max-height: 100%!important
}

.m-0 {
    margin: 0!important
}

.mt-0 {
    margin-top: 0!important
}

.mr-0 {
    margin-right: 0!important
}

.mb-0 {
    margin-bottom: 0!important
}

.ml-0,
.mx-0 {
    margin-left: 0!important
}

.mx-0 {
    margin-right: 0!important
}

.my-0 {
    margin-top: 0!important;
    margin-bottom: 0!important
}

.m-1 {
    margin: .25rem!important
}

.mt-1 {
    margin-top: .25rem!important
}

.mr-1 {
    margin-right: .25rem!important
}

.mb-1 {
    margin-bottom: .25rem!important
}

.ml-1,
.mx-1 {
    margin-left: .25rem!important
}

.mx-1 {
    margin-right: .25rem!important
}

.my-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important
}

.m-2 {
    margin: .5rem!important
}

.mt-2 {
    margin-top: .5rem!important
}

.mr-2 {
    margin-right: .5rem!important
}

.mb-2 {
    margin-bottom: .5rem!important
}

.ml-2,
.mx-2 {
    margin-left: .5rem!important
}

.mx-2 {
    margin-right: .5rem!important
}

.my-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important
}

.m-3 {
    margin: 1rem!important
}

.mt-3 {
    margin-top: 1rem!important
}

.mr-3 {
    margin-right: 1rem!important
}

.mb-3 {
    margin-bottom: 1rem!important
}

.ml-3,
.mx-3 {
    margin-left: 1rem!important
}

.mx-3 {
    margin-right: 1rem!important
}

.my-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important
}

.m-4 {
    margin: 1.5rem!important
}

.mt-4 {
    margin-top: 1.5rem!important
}

.mr-4 {
    margin-right: 1.5rem!important
}

.mb-4 {
    margin-bottom: 1.5rem!important
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem!important
}

.mx-4 {
    margin-right: 1.5rem!important
}

.my-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important
}

.m-5 {
    margin: 3rem!important
}

.mt-5 {
    margin-top: 3rem!important
}

.mr-5 {
    margin-right: 3rem!important
}

.mb-5 {
    margin-bottom: 3rem!important
}

.ml-5,
.mx-5 {
    margin-left: 3rem!important
}

.mx-5 {
    margin-right: 3rem!important
}

.my-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important
}

.p-0 {
    padding: 0!important
}

.pt-0 {
    padding-top: 0!important
}

.pr-0 {
    padding-right: 0!important
}

.pb-0 {
    padding-bottom: 0!important
}

.pl-0,
.px-0 {
    padding-left: 0!important
}

.px-0 {
    padding-right: 0!important
}

.py-0 {
    padding-top: 0!important;
    padding-bottom: 0!important
}

.p-1 {
    padding: .25rem!important
}

.pt-1 {
    padding-top: .25rem!important
}

.pr-1 {
    padding-right: .25rem!important
}

.pb-1 {
    padding-bottom: .25rem!important
}

.pl-1,
.px-1 {
    padding-left: .25rem!important
}

.px-1 {
    padding-right: .25rem!important
}

.py-1 {
    padding-top: .25rem!important;
    padding-bottom: .25rem!important
}

.p-2 {
    padding: .5rem!important
}

.pt-2 {
    padding-top: .5rem!important
}

.pr-2 {
    padding-right: .5rem!important
}

.pb-2 {
    padding-bottom: .5rem!important
}

.pl-2,
.px-2 {
    padding-left: .5rem!important
}

.px-2 {
    padding-right: .5rem!important
}

.py-2 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important
}

.p-3 {
    padding: 1rem!important
}

.pt-3 {
    padding-top: 1rem!important
}

.pr-3 {
    padding-right: 1rem!important
}

.pb-3 {
    padding-bottom: 1rem!important
}

.pl-3,
.px-3 {
    padding-left: 1rem!important
}

.px-3 {
    padding-right: 1rem!important
}

.py-3 {
    padding-top: 1rem!important;
    padding-bottom: 1rem!important
}

.p-4 {
    padding: 1.5rem!important
}

.pt-4 {
    padding-top: 1.5rem!important
}

.pr-4 {
    padding-right: 1.5rem!important
}

.pb-4 {
    padding-bottom: 1.5rem!important
}

.pl-4,
.px-4 {
    padding-left: 1.5rem!important
}

.px-4 {
    padding-right: 1.5rem!important
}

.py-4 {
    padding-top: 1.5rem!important;
    padding-bottom: 1.5rem!important
}

.p-5 {
    padding: 3rem!important
}

.pt-5 {
    padding-top: 3rem!important
}

.pr-5 {
    padding-right: 3rem!important
}

.pb-5 {
    padding-bottom: 3rem!important
}

.pl-5,
.px-5 {
    padding-left: 3rem!important
}

.px-5 {
    padding-right: 3rem!important
}

.py-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important
}

.m-auto {
    margin: auto!important
}

.mt-auto {
    margin-top: auto!important
}

.mr-auto {
    margin-right: auto!important
}

.mb-auto {
    margin-bottom: auto!important
}

.ml-auto,
.mx-auto {
    margin-left: auto!important
}

.mx-auto {
    margin-right: auto!important
}

.my-auto {
    margin-top: auto!important;
    margin-bottom: auto!important
}

.text-justify {
    text-align: justify!important
}

.text-nowrap {
    white-space: nowrap!important
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.text-left {
    text-align: left!important
}

.text-right {
    text-align: right!important
}

.text-center {
    text-align: center!important
}

.text-lowercase {
    text-transform: lowercase!important
}

.text-uppercase {
    text-transform: uppercase!important
}

.text-capitalize {
    text-transform: capitalize!important
}

.font-weight-normal {
    font-weight: 400
}

.font-weight-bold {
    font-weight: 700
}

.font-italic {
    font-style: italic
}

.text-white {
    color: #fff!important
}

.text-primary {
    color: #007bff!important
}

a.text-primary:focus,
a.text-primary:hover {
    color: #0062cc!important
}

.text-secondary {
    color: #868e96!important
}

a.text-secondary:focus,
a.text-secondary:hover {
    color: #6c757d!important
}

.text-success {
    color: #28a745!important
}

a.text-success:focus,
a.text-success:hover {
    color: #1e7e34!important
}

.text-info {
    color: #17a2b8!important
}

a.text-info:focus,
a.text-info:hover {
    color: #117a8b!important
}

.text-warning {
    color: #ffc107!important
}

a.text-warning:focus,
a.text-warning:hover {
    color: #d39e00!important
}

.text-danger {
    color: #dc3545!important
}

a.text-danger:focus,
a.text-danger:hover {
    color: #bd2130!important
}

.text-light {
    color: #f8f9fa!important
}

a.text-light:focus,
a.text-light:hover {
    color: #dae0e5!important
}

.text-dark {
    color: #343a40!important
}

a.text-dark:focus,
a.text-dark:hover {
    color: #1d2124!important
}

.text-muted {
    color: #868e96!important
}

.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0
}

.visible {
    visibility: visible!important
}

.invisible {
    visibility: hidden!important
}

:root {
    --bg: #fff;
    --text: #1a1a1a
}

@-webkit-keyframes draw-stroke {
    to {
        stroke-dashoffset: 0
    }
}

@keyframes draw-stroke {
    to {
        stroke-dashoffset: 0
    }
}

@-webkit-keyframes fade-in {
    to {
        opacity: 1
    }
}

@keyframes fade-in {
    to {
        opacity: 1
    }
}

@-webkit-keyframes marquee {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@keyframes marquee {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@-webkit-keyframes marquee-duplicate {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        -webkit-transform: translate3d(-200%, 0, 0);
        transform: translate3d(-200%, 0, 0)
    }
}

@keyframes marquee-duplicate {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    to {
        -webkit-transform: translate3d(-200%, 0, 0);
        transform: translate3d(-200%, 0, 0)
    }
}

@-webkit-keyframes marquee-ie {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes marquee-ie {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@-webkit-keyframes marquee-duplicate-ie {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    to {
        -webkit-transform: translateX(-200%);
        transform: translateX(-200%)
    }
}

@keyframes marquee-duplicate-ie {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    to {
        -webkit-transform: translateX(-200%);
        transform: translateX(-200%)
    }
}

.animate-pop-in {
    -webkit-animation: pop-in .6s cubic-bezier(0, .9, .3, 1.2) forwards;
    animation: pop-in .6s cubic-bezier(0, .9, .3, 1.2) forwards;
    opacity: 0
}

@-webkit-keyframes pop-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-.25em) scale(.8);
        transform: translateY(-.25em) scale(.8)
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes pop-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-.25em) scale(.8);
        transform: translateY(-.25em) scale(.8)
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

.animate-sweet-in {
    -webkit-animation: sweet-in 1s ease-out forwards;
    animation: sweet-in 1s ease-out forwards;
    opacity: 0
}

@-webkit-keyframes sweet-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px)
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes sweet-in {
    0% {
        opacity: 0;
        -webkit-transform: translateY(40px);
        transform: translateY(40px)
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes left-in {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes left-in {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@-webkit-keyframes translate-start {
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes translate-start {
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@font-face {
    font-family: sang_bleu_kingdom;
    src: url(../fonts/sangbleu/SangBleuKingdom-Regular-Web/S/SangBleuKing-Web.woff2) format("woff2"), url(../fonts/sangbleu/SangBleuKingdom-Regular-Web/S/SangBleuKing-Web.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: sang_bleu_kingdom;
    src: url(../fonts/sangbleu/SangBleuKingdom-RegularItalic-Web/S/SangBleuKingdom-RegularItalic-WebS.woff2) format("woff2"), url(../fonts/sangbleu/SangBleuKingdom-RegularItalic-Web/S/SangBleuKingdom-RegularItalic-WebS.woff) format("woff");
    font-weight: 400;
    font-style: italic
}

@font-face {
    font-family: visuelt;
    font-weight: 700;
    src: url(../fonts/visuelt/Visuelt-Bold-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-Bold-Web.woff) format("woff");
    font-style: regular
}

@font-face {
    font-family: visuelt;
    font-weight: 700;
    src: url(../fonts/visuelt/Visuelt-BoldItalic-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-BoldItalic-Web.woff) format("woff");
    font-style: italic
}

@font-face {
    font-family: visuelt;
    font-weight: 500;
    src: url(../fonts/visuelt/Visuelt-Medium-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-Medium-Web.woff) format("woff");
    font-style: regular
}

@font-face {
    font-family: visuelt;
    font-weight: 500;
    src: url(../fonts/visuelt/Visuelt-MediumItalic-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-MediumItalic-Web.woff) format("woff");
    font-style: italic
}

@font-face {
    font-family: visuelt;
    font-weight: 400;
    src: url(../fonts/visuelt/Visuelt-Regular-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-Regular-Web.woff) format("woff");
    font-style: regular
}

@font-face {
    font-family: visuelt;
    font-weight: 400;
    src: url(../fonts/visuelt/Visuelt-Italic-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-Italic-Web.woff) format("woff");
    font-style: italic
}

@font-face {
    font-family: visuelt;
    font-weight: 300;
    src: url(../fonts/visuelt/Visuelt-Regular-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-Regular-Web.woff) format("woff");
    font-style: regular
}

@font-face {
    font-family: visuelt;
    font-weight: 300;
    src: url(../fonts/visuelt/Visuelt-LightItalic-Web.woff2) format("woff2"), url(../fonts/visuelt/Visuelt-LightItalic-Web.woff) format("woff");
    font-style: italic
}

.feature__bg {
    height: auto;
    max-width: 50%;
    pointer-events: none;
    width: auto
}

.focus-top.feature__bg {
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}

.focus-top-left.feature__bg {
    left: -7.14%
}

.focus-top-left.feature__bg,
.focus-top-right.feature__bg {
    top: 0;
    -webkit-transform: translate(0);
    transform: translate(0)
}

.focus-top-right.feature__bg {
    left: auto;
    right: -7.14%
}

.focus-bottom.feature__bg {
    bottom: 0;
    left: 50%;
    top: auto;
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}

.focus-bottom-left.feature__bg {
    left: -7.14%
}

.focus-bottom-left.feature__bg,
.focus-bottom-right.feature__bg {
    bottom: 0;
    top: auto;
    -webkit-transform: translate(0);
    transform: translate(0)
}

.focus-bottom-right.feature__bg {
    left: auto;
    right: -7.14%
}

.feature__cell,
.feature__cell__bg {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain
}

.focus-top.feature__cell,
.focus-top.feature__cell__bg {
    background-position: 50% 0
}

.focus-top-left.feature__cell,
.focus-top-left.feature__cell__bg {
    background-position: 0 0
}

.focus-top-right.feature__cell,
.focus-top-right.feature__cell__bg {
    background-position: 100% 0
}

.focus-bottom.feature__cell,
.focus-bottom.feature__cell__bg {
    background-position: 50% 100%
}

.focus-bottom-left.feature__cell,
.focus-bottom-left.feature__cell__bg {
    background-position: 0 100%
}

.focus-bottom-right.feature__cell,
.focus-bottom-right.feature__cell__bg {
    background-position: 100% 100%
}

.bg-color-switcher,
.main-header__bg,
.main-header__panel.is-open,
.main-header a,
body {
    -webkit-transition-duration: .6s;
    transition-duration: .6s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear
}

.is-initializing .bg-color-switcher,
.is-initializing .main-header__bg,
.is-initializing .main-header__panel.is-open,
.is-initializing .main-header a,
.is-initializing body,
.main-header .is-initializing a {
    -webkit-transition-duration: 0s;
    transition-duration: 0s
}

.bg-color-switcher,
.main-header__bg,
.main-header__panel.is-open {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: var(--bg);
    -webkit-transition-property: background-color, opacity;
    transition-property: background-color, opacity;
    will-change: background-color
}

.main-header a,
body {
    color: var(--text);
    -webkit-transition-property: color;
    transition-property: color;
    will-change: color
}

.cms__richtext a:not([href^=tel]),
.cms a,
.cta,
.jumbotron__btn,
.jumbotron__drawer__label,
.main-footer__legal a,
.main-header__banner__description a {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    color: currentColor;
    cursor: pointer;
    display: inline;
    line-height: 1.4;
    outline: none;
    overflow: visible;
    padding: 0;
    position: relative;
    text-decoration: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.cta_social {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    color: currentColor;
    cursor: pointer;
    display: inline;
    line-height: 1.4;
    outline: none;
    overflow: visible;
    padding: 0;
    position: relative;
    text-decoration: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.cms__richtext a:hover:not([href^=tel]),
.cms a:hover,
.cta:hover,
.jumbotron__btn:hover,
.jumbotron__drawer__label:hover,
.main-footer__legal a:hover,
.main-header__banner__description a:hover {
    color: currentColor;
    text-decoration: none
}

.ie .cms__richtext a:not([href^=tel]),
.ie .cta {
    color: currentColor;
    display: inline-block;
    font-weight: 400;
    position: relative;
    text-decoration: none
}

.ie .cms__richtext a:not([href^=tel]):after,
.ie .cta:after {
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transition: background-position 1s ease;
    transition: background-position 1s ease;
    width: 100%;
    z-index: 1
}

.has-render-bg-color .ie .cms__richtext a:not([href^=tel]):after,
.has-render-bg-color .ie .cta:after,
.ie .cms__richtext .has-render-bg-color a:not([href^=tel]):after,
.ie .cms__richtext .jumbotron a:not([href^=tel]):after,
.ie .cms__richtext a:not([href^=tel]):after,
.ie .cta:after,
.ie .has-render-bg-color .cta:after,
.ie .jumbotron .cta:after,
.jumbotron .ie .cms__richtext a:not([href^=tel]):after,
.jumbotron .ie .cta:after {
    background: -webkit-gradient(linear, left top, right top, from(currentColor), color-stop(33.33%, currentColor), color-stop(33.33%, transparent), color-stop(66.66%, transparent), color-stop(66.66%, currentColor), to(currentColor)) 100%;
    background: linear-gradient(90deg, currentColor 0, currentColor 33.33%, transparent 0, transparent 66.66%, currentColor 0, currentColor) 100%;
    background-size: 300% 1px
}

.ie .cms__richtext .main-footer a:not([href^=tel]):after,
.ie .main-footer .cta:after,
.main-footer .ie .cms__richtext a:not([href^=tel]):after,
.main-footer .ie .cta:after {
    background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(33.33%, #fff), color-stop(33.33%, transparent), color-stop(66.66%, transparent), color-stop(66.66%, #fff), to(#fff)) 100%;
    background: linear-gradient(90deg, #fff 0, #fff 33.33%, transparent 0, transparent 66.66%, #fff 0, #fff) 100%;
    background-size: 300% 1px
}

.ie .cms__richtext a:hover:not([href^=tel]),
.ie .cta:hover {
    color: currentColor;
    text-decoration: none
}

.ie .cms__richtext a:not([href^=tel]):hover:after,
.ie .cta:hover:after {
    background-position: 0
}

.feature__bg,
.feature__cell.is-forced-white:before,
.feature__cell__bg,
.ie .hero__image,
.ie .tiles-carousel__arrow-text,
[data-page=Page404] .p404__text {
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.article,
.feature,
.gallery,
.tiles-carousel {
    display: block;
    position: relative;
    width: 100%
}

.article__content>:first-child,
.cms__richtext>:first-child,
.detail-page__header>:first-child,
.feature__cell.feature__cell--logo .logo__caption>:first-child,
.feature__cell>:first-child,
.hero__content>:first-child,
.hero__summary>:first-child,
.impact .cms>:first-child {
    margin-top: 0
}

.article__content>:last-child,
.cms__richtext>:last-child,
.detail-page__header>:last-child,
.feature__cell.feature__cell--logo .logo__caption>:last-child,
.feature__cell>:last-child,
.hero__content>:last-child,
.hero__summary>:last-child,
.impact .cms>:last-child {
    margin-bottom: 0
}

.gallery__nav .slick-arrow,
.main-header__panel__close,
.tiles-carousel__nav .slick-arrow,
.tiles-carousel__next,
.tiles-carousel__prev,
.video__mute,
.video__pause,
.video__play,
.video__play__icon {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    font: inherit;
    line-height: 1.4;
    outline: none;
    overflow: visible;
    padding: 0;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.hero__title em,
.impact .outline,
.impact em,
.impact i {
    color: transparent;
    -webkit-text-stroke: 1px var(--text);
    -webkit-transition: all .45s;
    transition: all .45s
}

.main-header__link.is-active span:after,
.main-header__social__item:after {
    background-color: currentColor;
    bottom: 1px;
    content: "";
    display: block;
    height: 1px;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%
}

.gallery__nav,
.tiles-carousel__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0
}

.gallery__nav svg,
.tiles-carousel__nav svg {
    display: inline-block;
    fill: none;
    height: 27px;
    stroke: var(--text);
    -webkit-transition: fill .3s, stroke .3s;
    transition: fill .3s, stroke .3s;
    width: auto
}

.gallery__nav .slick-arrow,
.tiles-carousel__nav .slick-arrow {
    margin: 5px 0;
    width: 50%
}

.gallery__nav .slick-arrow.slick-prev,
.tiles-carousel__nav .slick-arrow.slick-prev {
    text-align: left
}

.gallery__nav .slick-arrow.slick-next,
.tiles-carousel__nav .slick-arrow.slick-next {
    text-align: right
}

.gallery__nav .slick-arrow.slick-disabled,
.tiles-carousel__nav .slick-arrow.slick-disabled {
    opacity: 0;
    pointer-events: none
}

.gallery__nav .slick-arrow.slick-hidden,
.tiles-carousel__nav .slick-arrow.slick-hidden {
    display: none
}

.gallery__nav .slick-pager,
.tiles-carousel__nav .slick-pager {
    display: block;
    font-size: 1rem;
    text-align: center
}

.gallery__nav .slick-pager .slick-pager-current,
.gallery__nav .slick-pager .slick-pager-total,
.tiles-carousel__nav .slick-pager .slick-pager-current,
.tiles-carousel__nav .slick-pager .slick-pager-total {
    display: inline-block;
    line-height: .8;
    width: 100%
}

.gallery__nav .slick-pager .slick-pager-separator,
.tiles-carousel__nav .slick-pager .slick-pager-separator {
    display: block;
    height: 1px;
    padding: .5em 0;
    width: 100%
}

.gallery__nav .slick-pager .slick-pager-separator:after,
.tiles-carousel__nav .slick-pager .slick-pager-separator:after {
    background: currentColor;
    content: "";
    display: block;
    height: 1px;
    width: 20px
}

.video__play__icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--text);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: visuelt, helvetica, arial, sans-serif;
    height: 100px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    width: 100px
}

.video__play__icon svg {
    fill: transparent;
    height: 100px;
    left: 0;
    position: absolute;
    stroke-width: 2;
    top: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s;
    width: 100px
}

.video__play__icon:hover svg {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn)
}

[data-lazy].feature__cell__bg,
img[data-lazy] {
    opacity: 0;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

[data-lazy].is-lazy-loaded.feature__cell__bg,
img[data-lazy].is-lazy-loaded {
    opacity: 1
}

.anchors__list,
.cms__richtext ol,
.cms__richtext ul,
.jobs__list,
.main-header__list,
.main-header__social,
.marquee__list,
.page-transition .bios__content,
.page-transition .custom__content,
.page-transition .project__content,
.page-transition .stories__content {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative
}

.anchors__list,
.cms__richtext ol,
.cms__richtext ul,
.jobs__list {
    line-height: 1.2
}

.anchors__list li,
.cms__richtext ol li,
.cms__richtext ul li,
.jobs__list li {
    margin: 1em 0;
    padding: 0 0 0 2em;
    position: relative
}

.anchors__list li:first-child,
.cms__richtext ol li:first-child,
.cms__richtext ul li:first-child,
.jobs__list li:first-child {
    margin-top: 0
}

.anchors__list li:last-child,
.cms__richtext ol li:last-child,
.cms__richtext ul li:last-child,
.jobs__list li:last-child {
    margin-bottom: 0
}

.anchors__list a,
.cms__richtext ol a,
.cms__richtext ul a,
.jobs__list a {
    text-decoration: none
}

.cms__richtext ul li:before {
    background-color: currentColor;
    content: "";
    height: 1px;
    left: 0;
    line-height: 1.2;
    position: absolute;
    text-decoration: underline;
    top: .5em;
    width: 1em
}

.anchors__list,
.cms__richtext ol,
.jobs__list {
    counter-reset: items 0
}

.anchors__list li,
.cms__richtext ol li,
.jobs__list li {
    counter-increment: items
}

.anchors__list li:before,
.cms__richtext ol li:before,
.jobs__list li:before {
    border-bottom: 1px solid currentColor;
    content: "0" counter(items);
    display: block;
    font-size: .85em;
    left: 0;
    line-height: 1.35;
    position: absolute;
    top: 0
}

.anchors__list li:nth-child(n+10):before,
.cms__richtext ol li:nth-child(n+10):before,
.jobs__list li:nth-child(n+10):before {
    content: counter(items)
}

.tile__media,
.video {
    height: 0;
    margin: auto;
    position: relative;
    width: 100%
}

.tile__media>*,
.video>* {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.tile__media,
.video {
    max-width: 177.78vh;
    padding-bottom: 56.25%
}

.select2-container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    position: relative;
    vertical-align: middle
}

.select2-container .select2-selection--single {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 8px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.select2-container .select2-selection--single .select2-selection__clear {
    position: relative
}

.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px
}

.select2-container .select2-selection--multiple {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: inline-block;
    overflow: hidden;
    padding-left: 8px;
    text-overflow: ellipsis;
    white-space: nowrap
}

.select2-container .select2-search--inline {
    float: left
}

.select2-container .select2-search--inline .select2-search__field {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    font-size: 100%;
    margin-top: 5px;
    padding: 0
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none
}

.select2-dropdown {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: absolute;
    left: -100000px;
    width: 100%;
    z-index: 1051
}

.select2-results {
    display: block
}

.select2-results__options {
    list-style: none;
    margin: 0;
    padding: 0
}

.select2-results__option {
    padding: 6px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-results__option[aria-selected] {
    cursor: pointer
}

.select2-container--open .select2-dropdown {
    left: 0
}

.select2-container--open .select2-dropdown--above {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--open .select2-dropdown--below {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-search--dropdown {
    display: block;
    padding: 4px
}

.select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none
}

.select2-search--dropdown.select2-search--hide {
    display: none
}

.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 99;
    background-color: #fff;
    filter: alpha(opacity=0)
}

.select2-hidden-accessible {
    border: 0!important;
    clip: rect(0 0 0 0)!important;
    -webkit-clip-path: inset(50%)!important;
    clip-path: inset(50%)!important;
    height: 1px!important;
    overflow: hidden!important;
    padding: 0!important;
    position: absolute!important;
    width: 1px!important;
    white-space: nowrap!important
}

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #888 transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
    float: left
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
    left: 1px;
    right: auto
}

.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #eee;
    cursor: default
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #888;
    border-width: 0 4px 5px
}

.select2-container--default .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: text
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
    list-style: none
}

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700;
    margin-top: 5px;
    margin-right: 10px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    margin-right: 2px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #333
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder {
    float: right
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
    margin-left: 5px;
    margin-right: auto
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: 1px solid #000;
    outline: 0
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #eee;
    cursor: default
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa
}

.select2-container--default .select2-search--inline .select2-search__field {
    background: transparent;
    border: none;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: textfield
}

.select2-container--default .select2-results>.select2-results__options {
    max-height: 200px;
    overflow-y: auto
}

.select2-container--default .select2-results__option[role=group] {
    padding: 0
}

.select2-container--default .select2-results__option[aria-disabled=true] {
    color: #999
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #ddd
}

.select2-container--default .select2-results__option .select2-results__option {
    padding-left: 1em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -2em;
    padding-left: 3em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -3em;
    padding-left: 4em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -4em;
    padding-left: 5em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -5em;
    padding-left: 6em
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #5897fb;
    color: #fff
}

.select2-container--default .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px
}

.select2-container--classic .select2-selection--single {
    background-color: #f7f7f7;
    border: 1px solid #aaa;
    border-radius: 4px;
    outline: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), to(#eee));
    background-image: linear-gradient(180deg, #fff 50%, #eee);
    background-repeat: repeat-x;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0)
}

.select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb
}

.select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px
}

.select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700;
    margin-right: 10px
}

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#ccc));
    background-image: linear-gradient(180deg, #eee 50%, #ccc);
    background-repeat: repeat-x;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFCCCCCC", GradientType=0)
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
    border-color: #888 transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear {
    float: left
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow {
    border: none;
    border-right: 1px solid #aaa;
    border-radius: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    left: 1px;
    right: auto
}

.select2-container--classic.select2-container--open .select2-selection--single {
    border: 1px solid #5897fb
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #888;
    border-width: 0 4px 5px
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #eee));
    background-image: linear-gradient(180deg, #fff 0, #eee 50%);
    background-repeat: repeat-x;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0)
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#fff));
    background-image: linear-gradient(180deg, #eee 50%, #fff);
    background-repeat: repeat-x;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFFFFFFF", GradientType=0)
}

.select2-container--classic .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: text;
    outline: 0
}

.select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb
}

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px
}

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    margin-right: 2px
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #555
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
    float: right;
    margin-left: 5px;
    margin-right: auto
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto
}

.select2-container--classic.select2-container--open .select2-selection--multiple {
    border: 1px solid #5897fb
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa;
    outline: 0
}

.select2-container--classic .select2-search--inline .select2-search__field {
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none
}

.select2-container--classic .select2-dropdown {
    background-color: #fff;
    border: 1px solid transparent
}

.select2-container--classic .select2-dropdown--above {
    border-bottom: none
}

.select2-container--classic .select2-dropdown--below {
    border-top: none
}

.select2-container--classic .select2-results>.select2-results__options {
    max-height: 200px;
    overflow-y: auto
}

.select2-container--classic .select2-results__option[role=group] {
    padding: 0
}

.select2-container--classic .select2-results__option[aria-disabled=true] {
    color: grey
}

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
    background-color: #3875d7;
    color: #fff
}

.select2-container--classic .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px
}

.select2-container--classic.select2-container--open .select2-dropdown {
    border-color: #5897fb
}

body:after {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0;
    content: "xs"
}

.container-fluid {
    padding-left: 7.14%;
    padding-right: 7.14%
}

.no-pad {
    padding: 0
}

.row {
    width: calc(100% + 20px)
}

.btn {
    background: none;
    border: 0;
    cursor: pointer;
    display: inline-block;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-weight: 400;
    line-height: 1.4;
    overflow: visible;
    padding: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle
}

.btn,
.btn:hover {
    color: currentColor
}

.btn:hover {
    text-decoration: none
}

.btn.focus,
.btn:focus {
    outline: 0
}

.btn.disabled,
.btn:disabled {
    opacity: .65
}

.btn.active,
.btn:active {
    background-image: none
}

.btn.btn-loadmore {
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.btn.btn-loadmore .svg-plus {
    display: inline-block;
    height: 72px;
    stroke: currentColor;
    vertical-align: middle;
    width: 72px
}

.btn.btn-loadmore .svg-plus.rotate {
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: loader;
    animation-name: loader;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    pointer-events: none
}

.btn.btn-loadmore:hover {
    opacity: .4
}

.btn.btn-loadmore.is-hidden {
    display: none;
    pointer-events: none
}

.btn.btn-framed {
    border: 2px solid #1a1a1a;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    color: #1a1a1a;
    height: 40px;
    line-height: 36px;
    padding: 0 18px;
    text-align: center
}

.btn.btn-framed:hover {
    background-color: #1a1a1a;
    color: #fff
}

.btn.btn-border {
    border: 1px solid currentColor;
    padding: .5em 1em;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    vertical-align: baseline;
    white-space: nowrap
}

.btn.btn-border:hover {
    -webkit-transform: scale(1.025);
    transform: scale(1.025)
}

@-webkit-keyframes loader {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

@keyframes loader {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

.visible-anchor,
.visible-anchor:hover {
    color: inherit;
    text-decoration: none
}

.visible-anchor:hover:before {
    content: "§";
    padding-right: .2em;
    position: absolute;
    right: 100%
}

.form {
    font-size: 1rem;
    line-height: 1rem
}

.form--newsletter {
    font-size: 1.222rem;
    line-height: 1.222rem
}

.form--newsletter .btn-outline:after {
    height: 2px
}

.form__legend {
    font-size: .8889rem
}

.form__header {
    margin-bottom: 30px
}

.form__title {
    margin: 0
}

.field {
    margin-bottom: 16px;
    position: relative
}

.field__label {
    color: #c1c1c1;
    -webkit-transition: font-size .3s ease, top .3s ease;
    transition: font-size .3s ease, top .3s ease
}

.field--text .field__label {
    cursor: text;
    left: 0;
    margin: 0;
    position: absolute;
    top: 20px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.field--attach .field__label,
.field--radio .field__label {
    margin-bottom: 10px
}

.field--text {
    padding-top: 16px
}

.field--text input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: 0;
    border-bottom: 2px solid currentColor;
    -webkit-box-shadow: none;
    box-shadow: none;
    height: 28px;
    outline: none;
    padding-bottom: 4px;
    -webkit-transition: border-color .3s ease;
    transition: border-color .3s ease;
    width: 100%
}

.field--text input:focus {
    border-color: #a8a8a8
}

.field--text input:focus+.field__label {
    font-size: .6667rem;
    top: 0
}

.form--newsletter .field--text.field--not-empty .field__label,
.form--newsletter .field--text input:focus+.field__label {
    font-size: .8889rem;
    line-height: .8889rem
}

.field--text.field--not-empty .field__label {
    font-size: .6667rem;
    top: 0
}

.field--text.field--has-format-error input,
.field--text.field--has-required-error input {
    border-color: #ea5c5c
}

.form--newsletter .field--text input {
    height: 32px
}

.field--list {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.field--list label {
    display: block
}

.field--list select {
    display: none
}

.field__option-list {
    border-bottom: 2px solid currentColor;
    height: 28px;
    position: relative;
    -webkit-transition: border-color .3s ease;
    transition: border-color .3s ease
}

.field__option-list.field--has-format-error input,
.field__option-list.field--has-required-error input {
    border-color: #ea5c5c
}

.field--list-open .field__option-list span:after {
    border-bottom: 5px solid currentColor;
    border-top: 0
}

.field--list-open .field__option-list ul {
    display: block
}

.field--list-open .field__option-list ul li {
    -webkit-transition: color .3s ease;
    transition: color .3s ease
}

.field--list-open .field__option-list ul li:hover {
    color: #a8a8a8
}

.field__option-list span {
    cursor: pointer;
    display: block;
    line-height: 28px;
    padding-right: 12px;
    position: relative
}

.field__option-list span:after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid currentColor;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0
}

.field__option-list ul {
    background-color: hsla(0, 0%, 100%, .9);
    display: none;
    left: 0;
    margin: 0;
    padding: 6px 4px;
    position: absolute;
    right: 0;
    top: calc(100% + 2px);
    z-index: 1
}

.field__option-list ul li {
    cursor: pointer;
    list-style: none;
    margin-bottom: 8px
}

.field__radio-option {
    margin-bottom: 10px
}

.field__radio-option:last-child {
    margin: 0
}

.field__radio-option input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: 1px solid #a8a8a8;
    border-radius: 50%;
    display: inline-block;
    height: 12px;
    outline: none;
    vertical-align: middle;
    width: 12px
}

.field__radio-option input:checked {
    background-image: url(/assets/img/radio-dot.svg);
    background-position: 3px 3px;
    background-repeat: no-repeat;
    background-size: 4px
}

.field__radio-option label {
    cursor: pointer;
    margin: 0 0 0 4px;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    vertical-align: middle
}

.field__radio-option label:hover {
    color: #a8a8a8
}

.field__link {
    margin-right: 20px
}

.field__link:last-child {
    margin: 0
}

.field-errors {
    color: #ea5c5c;
    font-size: .6667rem;
    font-style: italic;
    line-height: .6667rem;
    margin-top: 4px
}

.field-errors span {
    opacity: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.field--has-format-error:not(.field--has-required-error) .field-errors {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.field--has-format-error .field-errors__format,
.field--has-required-error .field-errors__required {
    opacity: 1
}

.select-filter {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: 0;
    border-bottom: 1px solid currentColor;
    color: inherit;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-weight: 500;
    height: 1.8em;
    margin-left: 10px;
    padding: 0 18px 0 5px;
    position: relative;
    text-overflow: "";
    -webkit-transition: border-color .45s;
    transition: border-color .45s;
    width: auto
}

.select-filter option {
    color: #1a1a1a;
    padding: 5px 10px
}

.select-filter[disabled] {
    opacity: .5;
    pointer-events: none
}

.select-filter::-ms-expand {
    display: none
}

.select-arrow {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid currentColor;
    display: inline-block;
    height: 0;
    margin-left: -.5em;
    position: absolute;
    top: .7em;
    -webkit-transition: border-color .45s;
    transition: border-color .45s;
    width: 0;
    z-index: 1
}

.is-disabled {
    cursor: default;
    opacity: .3;
    pointer-events: none
}

.is-disabled+.select-arrow {
    opacity: .3
}

body,
html {
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    width: 100%
}

body {
    overflow-x: hidden
}

section {
    width: 100%
}

.serif {
    font-family: sang_bleu_kingdom, Georgia, Times, serif
}

.sans-serif {
    color: currentColor;
    font-family: visuelt, helvetica, arial, sans-serif
}

img {
    width: 100%
}

.is-scroll-disabled,
.is-scroll-disabled>body {
    overflow: hidden
}

.js-focus-ring:focus:not(.focus-ring) {
    outline-width: 0
}

.svg-bg {
    fill: var(--bg)
}

.svg-fill {
    fill: var(--text);
    -webkit-transition: fill .6s linear;
    transition: fill .6s linear
}

.svg-stroke {
    stroke: var(--text);
    -webkit-transition: stroke .6s linear;
    transition: stroke .6s linear
}

.svg-stroke--current-color {
    stroke: currentColor
}

.svg-title {
    height: 3rem;
    margin-bottom: 1rem
}

.bg-color-switcher {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%
}

.sticky-container {
    -webkit-transition: top .3s ease;
    transition: top .3s ease
}

.sticky .sticky-container {
    position: fixed;
    top: 0;
    z-index: 800
}

.ie a,
.ie a:hover {
    color: inherit
}

.section {
    padding: 40px 0
}

.feature__wrapper+.feature__wrapper {
    margin-top: 80px
}

.feature .section {
    padding: 0
}

.hero.is-text-only:not([data-bg-color])+.section {
    padding-top: 0
}

.main-content {
    overflow: hidden
}

.wrapper-content {
    height: auto;
    margin: 0 auto;
    max-width: 1680px;
    position: relative;
    z-index: 5!important
}

.big-description {
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: 3rem;
    line-height: .8;
    padding: 30px 0
}

.offset-line:before {
    background: #1a1a1a;
    content: " ";
    display: block;
    height: 2px;
    margin-left: -2.3rem;
    margin-top: .5em;
    position: absolute;
    width: 1.8rem
}

.main-footer {
    background: #1a1a1a;
    color: #fff;
    margin: 0 0 -1px;
    padding: 50px 0;
    position: relative;
    text-align: center;
    z-index: 2
}

.main-footer a {
    color: inherit
}

.main-footer .cta {
    display: inline-block;
    margin: 3px 10px
}

.main-footer__cities {
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: 1.333rem
}

.main-footer__cities .cta {
    border: 0;
    -webkit-transition: opacity .25s;
    transition: opacity .25s
}

.main-footer__cities .cta:after {
    display: none
}

.main-footer__cities .cta.js-faded-out {
    opacity: .3
}

.main-footer__social {
    font-size: .8889rem;
    margin: 20px 0 35px
}

.main-footer__social .cta {
    line-height: 1.5
}

.main-footer__legal {
    font-size: .78rem
}

.main-footer__legal p {
    margin: 0;
    padding: 0
}

.main-header {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    left: 0;
    margin: 0;
    opacity: 1;
    position: fixed;
    top: 0;
    -webkit-transition: color .4s, opacity .4s, -webkit-transform .4s;
    transition: color .4s, opacity .4s, -webkit-transform .4s;
    transition: transform .4s, color .4s, opacity .4s;
    transition: transform .4s, color .4s, opacity .4s, -webkit-transform .4s;
    width: 100%;
    z-index: 100
}

.main-header a {
    -webkit-transition: color .6s, opacity .25s;
    transition: color .6s, opacity .25s
}

.main-header .btn {
    color: var(--text);
    -webkit-transition: color .4s, opacity .4s, -webkit-transform .4s;
    transition: color .4s, opacity .4s, -webkit-transform .4s;
    transition: transform .4s, color .4s, opacity .4s;
    transition: transform .4s, color .4s, opacity .4s, -webkit-transform .4s
}

.main-header .no-hover-effect:hover {
    text-decoration: none
}

.main-header .row {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%
}

.main-header__bg {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.is-in-first-slide .main-header__bg {
    opacity: 0
}

.main-header__wrapper {
    height: 80px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 7.14%;
    position: relative
}

.main-header__logo,
.main-header__wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.main-header__logo {
    margin: 0;
    text-transform: lowercase
}

.main-header__logo:hover {
    text-decoration: none
}

.main-header__logo .h1 {
    display: block;
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: 28px;
    font-weight: 400;
    height: 30px;
    line-height: 28px;
    margin: 0
}

.main-header__logo__second-part {
    height: 30px;
    overflow: hidden
}

.main-header__logo__second-part .h1,
.main-header__logo__second-part .main-header__logo__lee,
.main-header__logo__second-part .main-header__logo__lee-architecture {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    -webkit-transition: -webkit-transform .2s ease-out;
    transition: -webkit-transform .2s ease-out;
    transition: transform .2s ease-out;
    transition: transform .2s ease-out, -webkit-transform .2s ease-out
}

.main-header__logo:hover .main-header__logo__second-part .h1,
.main-header__logo:hover .main-header__logo__second-part .main-header__logo__lee,
.main-header__logo:hover .main-header__logo__second-part .main-header__logo__lee-architecture {
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0)
}

.ie .main-header__logo:hover .main-header__logo__second-part .h1,
.ie .main-header__logo:hover .main-header__logo__second-part .main-header__logo__lee,
.ie .main-header__logo:hover .main-header__logo__second-part .main-header__logo__lee-architecture {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px)
}

.main-header__logo__lee,
.main-header__logo__lee-architecture,
.main-header__logo__lee-land,
.main-header__logo__sid {
    height: 30px;
    width: 39px
}

.main-header__logo__lee-architecture svg,
.main-header__logo__lee-land svg,
.main-header__logo__lee svg,
.main-header__logo__sid svg {
    display: block;
    height: 100%;
    width: 100%
}

.main-header__logo__lee-architecture svg path,
.main-header__logo__lee-land svg path,
.main-header__logo__lee svg path,
.main-header__logo__sid svg path {
    fill: currentColor
}

.main-header__logo__sid {
    margin-right: 1px
}

.main-header__logo__lee-architecture {
    width: 214px
}

.main-header__logo__lee-land {
    width: 105px
}

.main-header__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    left: 0;
    min-height: 100vh;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transform: translateY(-110%);
    transform: translateY(-110%);
    -webkit-transition: opacity .5s, -webkit-transform 0s .5s;
    transition: opacity .5s, -webkit-transform 0s .5s;
    transition: transform 0s .5s, opacity .5s;
    transition: transform 0s .5s, opacity .5s, -webkit-transform 0s .5s;
    width: 100%;
    z-index: 1
}

.is-resizing .main-header__panel {
    -webkit-transition: none;
    transition: none
}

.main-header__panel__head {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 80px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px 7.14%;
    width: 100%
}

.main-header__panel__cell {
    width: 50%
}

.main-header__panel__close {
    color: currentColor;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    padding-top: 3px;
    text-align: right
}

.main-header__panel.is-open {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

.main-header__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 4vh;
    font-weight: 300;
    height: calc(100vh - 153px);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: center;
    -webkit-transition: -webkit-transform .4s ease-out;
    transition: -webkit-transform .4s ease-out;
    transition: transform .4s ease-out;
    transition: transform .4s ease-out, -webkit-transform .4s ease-out;
    width: 100%
}

.main-header__item {
    display: block;
    width: 100%
}

.main-header__link {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    color: inherit;
    display: inline-block;
    padding: 0 10px;
    position: relative;
    -webkit-transition: opacity .4s;
    transition: opacity .4s
}

.main-header__link:hover {
    text-decoration: none
}

.main-header__link.is-active span {
    position: relative
}

.main-header__menu-button {
    padding: 0
}

.main-header__menu-button .btn {
    font-size: 18px;
    font-weight: 300
}

.is-menu-visible .main-header__menu-button .btn {
    opacity: 0
}

.main-header__social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    height: 60px;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding: 0 7.14%;
    width: 100%
}

.main-header__social__item {
    color: inherit;
    display: inline-block;
    position: relative;
    -webkit-transition: opacity .4s;
    transition: opacity .4s
}

.main-header__social__item:hover {
    color: inherit;
    text-decoration: none
}

.is-scrolling-down .main-header {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px)
}

.is-scroll-disabled .main-header {
    -webkit-transform: translateY(0)!important;
    transform: translateY(0)!important
}

.is-initializing .main-header {
    opacity: 0
}

.section {
    position: relative;
    width: 100%;
}

.section2 {
    position: relative;
    width: 80%;
    text-align: center;
}

.section__tile {
    margin: 30px 0
}

.anchors {
    padding: 0;
    position: relative;
    width: 100%
}

.anchors[data-offset="1"] {
    counter-reset: items 1
}

.anchors[data-offset="2"] {
    counter-reset: items 2
}

.anchors[data-offset="3"] {
    counter-reset: items 3
}

.anchors[data-offset="4"] {
    counter-reset: items 4
}

.anchors[data-offset="5"] {
    counter-reset: items 5
}

.anchors[data-offset="6"] {
    counter-reset: items 6
}

.anchors[data-offset="7"] {
    counter-reset: items 7
}

.anchors[data-offset="8"] {
    counter-reset: items 8
}

.anchors[data-offset="9"] {
    counter-reset: items 9
}

.anchors[data-offset="10"] {
    counter-reset: items 10
}

.anchors[data-offset="11"] {
    counter-reset: items 11
}

.anchors[data-offset="12"] {
    counter-reset: items 12
}

.anchors[data-offset="13"] {
    counter-reset: items 13
}

.anchors[data-offset="14"] {
    counter-reset: items 14
}

.anchors[data-offset="15"] {
    counter-reset: items 15
}

.anchors[data-offset="16"] {
    counter-reset: items 16
}

.anchors[data-offset="17"] {
    counter-reset: items 17
}

.anchors[data-offset="18"] {
    counter-reset: items 18
}

.anchors[data-offset="19"] {
    counter-reset: items 19
}

.anchors[data-offset="20"] {
    counter-reset: items 20
}

.anchors[data-offset="21"] {
    counter-reset: items 21
}

.anchors[data-offset="22"] {
    counter-reset: items 22
}

.anchors[data-offset="23"] {
    counter-reset: items 23
}

.anchors[data-offset="24"] {
    counter-reset: items 24
}

.anchors[data-offset="25"] {
    counter-reset: items 25
}

.anchors a {
    text-decoration: none
}

.anchors svg {
    display: none;
    fill: currentColor;
    stroke: currentColor
}

.anchors__list {
    font-size: 1.111rem
}

.anchors__list li {
    z-index: 1
}

.anchors__last-word {
    display: inline-block
}

.animated-arrow {
    display: none;
    fill: currentColor;
    stroke: currentColor
}

.animated-arrow__text-wrapper {
    display: none
}

.animated-arrow__block-wrapper {
    position: absolute;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
    z-index: 10
}

.animated-arrow__block-wrapper svg {
    width: calc(30px + 3vw)
}

.is-left-arrow .animated-arrow__block-wrapper,
.is-middle-left-arrow .animated-arrow__block-wrapper {
    left: 0;
    top: 100%
}

.is-center-arrow .animated-arrow__block-wrapper {
    left: 50%;
    top: 100%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0)
}

.is-middle-right-arrow .animated-arrow__block-wrapper,
.is-right-arrow .animated-arrow__block-wrapper {
    left: auto;
    right: 0;
    top: 100%
}

.is-first-time-in-viewport .animated-arrow path:first-child {
    -webkit-animation-name: draw-stroke;
    animation-name: draw-stroke
}

.is-first-time-in-viewport .animated-arrow path:last-child {
    -webkit-animation-name: fade-in;
    animation-name: fade-in
}

@supports (mix-blend-mode:exclusion) {
    .is-auto-contrast-arrow {
        mix-blend-mode: exclusion
    }
    .is-auto-contrast-arrow svg {
        fill: #fff;
        stroke: #fff
    }
}

.article {
    position: relative
}

.article__meta {
    -ms-flex-item-align: self-end;
    align-self: self-end;
    font-size: .78rem;
    font-weight: 400;
    white-space: normal
}

.article__tagline,
.article__time {
    display: inline-block
}

.article__tagline {
    font-style: normal
}

.article__tagline:before {
    background: currentColor;
    content: " ";
    display: inline-block;
    height: 1px;
    margin: 0 .5em 0 0;
    vertical-align: middle;
    width: 25px
}

.article__title {
    margin: 20px 0
}

.article__content {
    margin: 40px 0 0
}

.article blockquote {
    font: italic 1.3rem visuelt, helvetica, arial, sans-serif
}

.main-header__banner {
    background-color: #e0b0a2;
    color: #1a1a1a;
    display: block;
    position: relative;
    width: 100%;
    z-index: 2
}

.main-header__banner a {
    color: inherit
}

.main-header__banner .btn.btn-framed {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    width: 100%
}

.main-header__banner .btn.btn-framed:hover {
    background: transparent;
    color: #1a1a1a
}

.main-header__banner__wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1680px;
    padding: 1rem 7.14%;
    position: relative;
    width: 100%
}

.main-header__banner__cell {
    padding: 5px 0;
    width: 100%
}

.main-header__banner__description {
    line-height: 1
}

.main-header__banner__description a:after {
    background: -webkit-gradient(linear, left top, right top, from(currentColor), color-stop(33.33%, currentColor), color-stop(33.33%, transparent), color-stop(66.66%, transparent), color-stop(66.66%, currentColor), to(currentColor)) 100%;
    background: linear-gradient(90deg, currentColor 0, currentColor 33.33%, transparent 0, transparent 66.66%, currentColor 0, currentColor) 100%;
    background-size: 300% 1px
}

.is-scrolling-down .main-header__banner {
    display: none
}

.main-header__banner.is-visible+.main-header__bg {
    opacity: 1
}

.cms,
.cms__title {
    position: relative;
    width: 100%
}

.cms__title {
    display: block;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: calc(22px + 1vw);
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
    padding: 0
}

.cms__title.cms__title--serif {
    font-family: sang_bleu_kingdom, Georgia, Times, serif
}

.cms__title.cms__title--small {
    font-size: calc(14px + 1vw)
}

.cms__title.cms__title--big {
    font-size: calc(22px + 5.1vw)
}

.cms__title__text {
    padding: 0;
    position: relative;
    z-index: 2
}

.cms__title+.cms__richtext {
    margin-top: 20px
}

.cms__richtext {
    -webkit-transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, -webkit-transform .8s;
    transition: transform .8s, opacity .8s;
    transition: transform .8s, opacity .8s, -webkit-transform .8s
}

.cms__richtext a[href^=tel] {
    text-decoration: none
}

.cms__richtext h1,
.cms__richtext h2,
.cms__richtext h3,
.cms__richtext h4 {
    font-size: 1.555rem;
    font-weight: 400;
    margin: 1.25em 0 .2em
}

.cms__richtext blockquote {
    font-size: 1.77em;
    font-style: italic;
    line-height: 1.25;
    margin: 1em 0
}

.cms__richtext strong {
    font-family: visuelt, helvetica, arial, sans-serif
}

.cms__richtext .big {
    font-size: 1.333rem
}

.cms__richtext .serif {
    font-family: sang_bleu_kingdom, Georgia, Times, serif
}

.feature__cell:only-child .cms {
    text-align: center
}

.feature__cell:only-child .cms__title {
    max-width: 100%
}

.feature__cell:only-child .cms__richtext ol,
.feature__cell:only-child .cms__richtext ul {
    text-align: left
}

.feature__cell.has-video {
    display: block
}

.feature__cell.has-map:only-child .cms,
.feature__cell.has-video:only-child .cms {
    text-align: left
}

.detail-page {
    position: relative
}

.detail-page__header {
    margin: 80px 0
}

.detail-page__header>* {
    display: block;
    margin: 0 0 20px
}

.detail-page__metas {
    font-size: 1rem
}

.detail-page__location,
.detail-page__news-type {
    padding-left: 25px;
    position: relative
}

.detail-page__location:before,
.detail-page__news-type:before {
    background: var(--text);
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 50%;
    width: 20px
}

.detail-page__title {
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: calc(24px + 2vw);
    line-height: 1.25
}

.detail-page__wysiwyg {
    line-height: 1.6
}

.detail-page__actions {
    display: none;
    position: relative;
    text-align: center
}

.detail-page__actions .btn-framed {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    margin-bottom: 10px;
    width: 170px
}

.detail-page--news .detail-page__title {
    font-size: calc(16px + 3vw)
}

.detail-page--news blockquote {
    font-size: 1.556rem;
    font-style: italic;
    line-height: 1.889rem
}

[data-module=EasterAnimation] canvas {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.filters {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-weight: 500;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 15px
}

.filters__label,
.filters__title,
.filters svg {
    display: none
}

.filters .select-wrapper {
    display: inline-block;
    position: relative;
    width: 100%
}

.filters .select-wrapper select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    margin: 0;
    width: 100%
}

.filters .select-wrapper .select-arrow {
    right: 0
}

.filters__filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.filters__filter.disabled {
    display: none
}

.gallery__list {
    margin: 0;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.gallery__item {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    height: 175px
}

::-moz-selection {
    background-color: #ff0;
    color: inherit
}

::selection {
    background-color: #ff0;
    color: inherit
}

.highlight-0::-moz-selection {
    background-color: #ff0
}

.highlight-0::selection {
    background-color: #ff0
}

.highlight-0:focus {
    outline-color: #ff0
}

.highlight-1::-moz-selection {
    background-color: #f72e8c
}

.highlight-1::selection {
    background-color: #f72e8c
}

.highlight-1:focus {
    outline-color: #f72e8c
}

.highlight-2::-moz-selection {
    background-color: #5dd751
}

.highlight-2::selection {
    background-color: #5dd751
}

.highlight-2:focus {
    outline-color: #5dd751
}

.highlight-3::-moz-selection {
    background-color: #39b7e7
}

.highlight-3::selection {
    background-color: #39b7e7
}

.highlight-3:focus {
    outline-color: #39b7e7
}

.highlight-4::-moz-selection {
    background-color: #f96505
}

.highlight-4::selection {
    background-color: #f96505
}

.highlight-4:focus {
    outline-color: #f96505
}

.impact {
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: calc(22px + 5.1vw);
    padding: 40px 0;
    position: relative;
    width: 100%;
    z-index: 4
}

.impact .cms {
    text-align: center
}

.impact .cms.has-svg>* {
    vertical-align: middle
}

.impact .cms .svg-sid {
    fill: currentColor;
    height: 1em;
    -webkit-transform: translate(-.1em, .23em);
    transform: translate(-.1em, .23em)
}

.ie .impact .cms .svg-sid {
    width: 1.4em
}

.impact b,
.impact strong {
    font-family: visuelt, helvetica, arial, sans-serif;
    font-weight: 700
}

.impact .outline,
.impact em,
.impact i {
    font-style: normal
}

.impact__wrapper,
.jobs {
    position: relative;
    width: 100%
}

.jobs {
    padding-top: 30px
}

.jobs[data-offset="1"] {
    counter-reset: items 1
}

.jobs[data-offset="2"] {
    counter-reset: items 2
}

.jobs[data-offset="3"] {
    counter-reset: items 3
}

.jobs[data-offset="4"] {
    counter-reset: items 4
}

.jobs[data-offset="5"] {
    counter-reset: items 5
}

.jobs[data-offset="6"] {
    counter-reset: items 6
}

.jobs[data-offset="7"] {
    counter-reset: items 7
}

.jobs[data-offset="8"] {
    counter-reset: items 8
}

.jobs[data-offset="9"] {
    counter-reset: items 9
}

.jobs[data-offset="10"] {
    counter-reset: items 10
}

.jobs[data-offset="11"] {
    counter-reset: items 11
}

.jobs[data-offset="12"] {
    counter-reset: items 12
}

.jobs[data-offset="13"] {
    counter-reset: items 13
}

.jobs[data-offset="14"] {
    counter-reset: items 14
}

.jobs[data-offset="15"] {
    counter-reset: items 15
}

.jobs[data-offset="16"] {
    counter-reset: items 16
}

.jobs[data-offset="17"] {
    counter-reset: items 17
}

.jobs[data-offset="18"] {
    counter-reset: items 18
}

.jobs[data-offset="19"] {
    counter-reset: items 19
}

.jobs[data-offset="20"] {
    counter-reset: items 20
}

.jobs[data-offset="21"] {
    counter-reset: items 21
}

.jobs[data-offset="22"] {
    counter-reset: items 22
}

.jobs[data-offset="23"] {
    counter-reset: items 23
}

.jobs[data-offset="24"] {
    counter-reset: items 24
}

.jobs[data-offset="25"] {
    counter-reset: items 25
}

.jobs a {
    border-bottom: 1px solid transparent;
    color: currentColor;
    text-decoration: none
}

.jobs a:hover {
    border-color: currentColor
}

.jobs__city {
    display: block;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: calc(30px + 1.3vw);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 .5em;
    padding: 0;
    position: relative;
    width: 100%
}

.jobs__list {
    font-size: 1.25rem;
    margin: 25px 0 40px
}

.jobs__list li {
    margin-bottom: 30px;
    padding: 38px 0 0
}

.jobs__list li:before {
    margin-bottom: 18px
}

.jumbotron {
    color: inherit;
    padding-bottom: 0!important;
    text-decoration: none
}

.jumbotron,
.jumbotron__wrapper {
    display: block;
    position: relative
}

.jumbotron__wrapper {
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw
}

.jumbotron__media {
    color: #fff;
    display: block;
    min-height: 460px;
    position: relative
}

.jumbotron__media:hover {
    color: #fff;
    text-decoration: none
}

.jumbotron__media:hover .jumbotron__overlay {
    opacity: .2
}

.jumbotron__image {
    -o-object-fit: cover;
    object-fit: cover
}

.jumbotron__image,
.jumbotron__overlay {
    height: 100%;
    position: absolute;
    width: 100%
}

.jumbotron__overlay {
    background: #000;
    display: block;
    left: 0;
    opacity: .4;
    top: 0;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.jumbotron__drawer {
    background: #f1f1f1;
    color: #1a1a1a;
    display: block;
    line-height: .8;
    padding: 1.5em 1em;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 100%
}

.jumbotron__drawer:hover {
    color: #1a1a1a
}

.jumbotron__content {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%;
    left: 8.33%;
    position: absolute;
    text-decoration: none;
    top: 0;
    width: 83.33333%
}

.jumbotron__tagline {
    display: block;
    font-size: 1.22rem;
    font-style: normal;
    margin: 0 0 .25em;
    width: 100%
}

.jumbotron__title {
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: 2rem;
    font-weight: 400;
    margin: 0
}

.jumbotron__project:before {
    content: "—"
}

.jumbotron__btn {
    display: inline-block;
    margin: 1em 0 0
}

.jumbotron:hover {
    color: inherit;
    text-decoration: none
}

.jumbotron.jumbotron--mouse-animation .jumbotron__drawer {
    background: #f1f1f1;
    color: #1a1a1a;
    height: 100%;
    left: 100%;
    padding: 0;
    position: absolute;
    text-decoration: none;
    top: 0
}

.jumbotron.jumbotron--mouse-animation .jumbotron__drawer:hover {
    color: #1a1a1a
}

.jumbotron.jumbotron--mouse-animation .jumbotron__drawer__label {
    color: inherit;
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotate(-90deg);
    white-space: nowrap
}

.latest-news {
    position: relative
}

.latest-news__list {
    position: relative;
    width: 100%
}

.latest-news__item {
    margin: 40px 0
}

.latest-news__item:first-child {
    margin-top: 0
}

.latest-news__item:last-child {
    margin-bottom: 0
}

.latest-news__date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 2;
    width: 100%
}

.latest-news__time {
    font-size: .7rem;
    padding-right: 18px;
    white-space: nowrap
}

.latest-news__link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--text);
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: 18px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    text-decoration: none
}

.latest-news__link.focus-ring,
.latest-news__link:hover {
    color: currentColor;
    text-decoration: none
}

.latest-news__text {
    background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
    background-image: linear-gradient(90deg, currentColor 0, currentColor);
    background-position: 0 90%;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    display: inline;
    position: relative;
    -webkit-transition: all .3s;
    transition: all .3s
}

.latest-news__read-more {
    margin-top: 40px
}

.loadmore__title {
    display: block;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: calc(22px + 1vw);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 1em;
    padding: 0
}

.loadmore__title,
.map,
.map__wrapper {
    position: relative;
    width: 100%
}

.map__wrapper {
    padding-bottom: 113%
}

.map__title {
    display: block;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: calc(30px + 1vw);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 .5em;
    padding: 0;
    position: relative;
    width: 100%
}

.map__label {
    background: var(--bg);
    color: var(--text);
    font: normal 400 1.25rem sang_bleu_kingdom, Georgia, Times, serif;
    line-height: .8;
    padding: .65rem 1rem;
    text-transform: lowercase;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    white-space: nowrap
}

.map__label:before {
    content: "sid";
    font: normal 900 1em visuelt, helvetica, arial, sans-serif
}

.ie .map__label {
    background: #fff;
    color: #1a1a1a
}

.marquee {
    position: relative;
    width: 100%
}

.marquee__bg {
    background: #ebceca;
    padding: 40px 20px;
    position: relative
}

.marquee__title {
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: calc(20px + 2vw);
    font-weight: 400;
    line-height: 1.4;
    margin: 0 auto;
    text-align: center;
    width: 100%
}

.marquee__content {
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: calc(20px + 4vw);
    left: 50%;
    line-height: 1.2;
    margin: 20px 0 20px -50vw;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
    width: 100vw
}

.marquee__content:hover .marquee__list {
    -webkit-animation-play-state: paused;
    animation-play-state: paused
}

.marquee__wrapper {
    padding: 0;
    position: relative;
    width: 100%
}

.marquee__wrapper+.marquee__wrapper .marquee__list {
    animation-direction: reverse
}

.marquee__list {
    -webkit-animation: marquee 50s linear infinite;
    animation: marquee 50s linear infinite;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    padding: 0 .25em 0 0;
    will-change: transform
}

.marquee__list,
.marquee__list li {
    display: inline-block
}

.marquee__list a {
    color: inherit;
    opacity: 1;
    position: relative;
    text-decoration: none;
    vertical-align: sub
}

.marquee__list a,
.marquee__list a:after {
    display: inline-block;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.marquee__list a:after {
    background-color: currentColor;
    content: "";
    height: .0675em;
    margin: 0 10px 0 20px;
    vertical-align: middle;
    width: 1.25em
}

.marquee__list .js-faded-out,
.marquee__list a:hover:after {
    opacity: .3
}

.marquee__list+.marquee__list {
    -webkit-animation: marquee-duplicate 50s -25s linear infinite;
    animation: marquee-duplicate 50s -25s linear infinite
}

.marquee__footer {
    padding-top: 15px;
    position: relative;
    text-align: center;
    width: 100%
}

.ie .marquee .marquee__list {
    -webkit-animation: marquee-ie 50s linear infinite;
    animation: marquee-ie 50s linear infinite
}

.ie .marquee .marquee__list+.marquee__list {
    -webkit-animation: marquee-duplicate-ie 50s -25s linear infinite;
    animation: marquee-duplicate-ie 50s -25s linear infinite
}

.ie .marquee .marquee__wrapper+.marquee__wrapper .marquee__list {
    animation-direction: reverse
}

.page-transition {
    -webkit-animation: transition-fade-in 1s 1 ease;
    animation: transition-fade-in 1s 1 ease;
    background-color: #fff;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);
    -webkit-transition: opacity .5s, -webkit-transform 0s .3s;
    transition: opacity .5s, -webkit-transform 0s .3s;
    transition: opacity .5s, transform 0s .3s;
    transition: opacity .5s, transform 0s .3s, -webkit-transform 0s .3s;
    width: 100vw;
    z-index: 100
}

.is-page-transitioning .page-transition {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.page-transition.is-custom .custom__content,
.page-transition.is-news .stories__content,
.page-transition.is-project .project__content,
.page-transition.is-stories .stories__content {
    display: block
}

.page-transition .bios__content,
.page-transition .custom__content,
.page-transition .project__content,
.page-transition .stories__content {
    display: none;
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    line-height: 20vh;
    text-align: center;
    width: 100%
}

.is-page-transitioning .page-transition .bios__content li,
.is-page-transitioning .page-transition .custom__content li,
.is-page-transitioning .page-transition .project__content li,
.is-page-transitioning .page-transition .stories__content li {
    -webkit-animation: projects 1.4s forwards;
    animation: projects 1.4s forwards;
    opacity: 0
}

.is-page-transitioning .page-transition .bios__content li:first-child,
.is-page-transitioning .page-transition .custom__content li:first-child,
.is-page-transitioning .page-transition .project__content li:first-child,
.is-page-transitioning .page-transition .stories__content li:first-child {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.is-page-transitioning .page-transition .bios__content li:nth-child(2),
.is-page-transitioning .page-transition .custom__content li:nth-child(2),
.is-page-transitioning .page-transition .project__content li:nth-child(2),
.is-page-transitioning .page-transition .stories__content li:nth-child(2) {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.is-page-transitioning .page-transition .bios__content li:nth-child(3),
.is-page-transitioning .page-transition .custom__content li:nth-child(3),
.is-page-transitioning .page-transition .project__content li:nth-child(3),
.is-page-transitioning .page-transition .stories__content li:nth-child(3) {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.is-page-transitioning .page-transition .bios__content li:nth-child(4),
.is-page-transitioning .page-transition .custom__content li:nth-child(4),
.is-page-transitioning .page-transition .project__content li:nth-child(4),
.is-page-transitioning .page-transition .stories__content li:nth-child(4) {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.is-page-transitioning .page-transition .bios__content li:nth-child(5),
.is-page-transitioning .page-transition .custom__content li:nth-child(5),
.is-page-transitioning .page-transition .project__content li:nth-child(5),
.is-page-transitioning .page-transition .stories__content li:nth-child(5) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

.page-transition .project__content {
    font-size: 20vh
}

[lang=fr] .page-transition .project__content {
    font-size: 16vh
}

.page-transition .stories__content {
    font-size: 20vh
}

[lang=fr] .page-transition .stories__content {
    font-size: 12vh
}

.page-transition .custom__content {
    font-size: 20vh
}

.page-transition .bios__content {
    font-size: 16vh
}

[lang=fr] .page-transition .bios__content {
    font-size: 15vh
}

@-webkit-keyframes projects {
    0%,
    50%,
    90%,
    to {
        opacity: 0
    }
    60%,
    80% {
        opacity: 1
    }
}

@keyframes projects {
    0%,
    50%,
    90%,
    to {
        opacity: 0
    }
    60%,
    80% {
        opacity: 1
    }
}

@-webkit-keyframes transition-fade-in {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    99% {
        opacity: 0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    to {
        opacity: 0;
        -webkit-transform: translateX(-105%);
        transform: translateX(-105%)
    }
}

@keyframes transition-fade-in {
    0% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    99% {
        opacity: 0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    to {
        opacity: 0;
        -webkit-transform: translateX(-105%);
        transform: translateX(-105%)
    }
}

.picture {
    overflow: hidden;
    width: 100%
}

.picture,
.picture__link {
    display: block;
    position: relative
}

.picture img {
    display: block;
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    width: 100%
}

.js-block-animation {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: .15;
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
    -webkit-transition: opacity .8s, -webkit-transform .6s ease-out;
    transition: opacity .8s, -webkit-transform .6s ease-out;
    transition: transform .6s ease-out, opacity .8s;
    transition: transform .6s ease-out, opacity .8s, -webkit-transform .6s ease-out
}

.js-block-animation .js-scale-in {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform .8s ease;
    transition: -webkit-transform .8s ease;
    transition: transform .8s ease;
    transition: transform .8s ease, -webkit-transform .8s ease
}

.js-block-animation .js-bang-in {
    -webkit-filter: opacity(0) blur(15px);
    filter: opacity(0) blur(15px);
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(10);
    transform: translate(-50%, -50%) scale(10);
    -webkit-transition: background .3s, color .3s, opacity 1s, -webkit-transform 1s, -webkit-filter 1s;
    transition: background .3s, color .3s, opacity 1s, -webkit-transform 1s, -webkit-filter 1s;
    transition: background .3s, color .3s, transform 1s, filter 1s, opacity 1s;
    transition: background .3s, color .3s, transform 1s, filter 1s, opacity 1s, -webkit-transform 1s, -webkit-filter 1s
}

.is-first-time-in-viewport .js-block-animation {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.is-first-time-in-viewport .js-block-animation .js-scale-in {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.is-first-time-in-viewport .js-block-animation .js-bang-in {
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.js-text-animation {
    opacity: 0
}

.js-text-animation.is-animation-ready {
    opacity: 1
}

.js-text-animation .js-word {
    display: inline-block;
    opacity: 0;
    position: relative;
    -webkit-transform: translateY(.5em);
    transform: translateY(.5em);
    -webkit-transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, -webkit-transform .8s;
    transition: transform .8s, opacity .8s;
    transition: transform .8s, opacity .8s, -webkit-transform .8s
}

.js-text-animation .js-word.is-line-1 {
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.js-text-animation .js-word.is-line-2 {
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.js-text-animation .js-word.is-line-3 {
    -webkit-transition-delay: .4s;
    transition-delay: .4s
}

.js-text-animation .js-word.is-line-4 {
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.js-text-animation .js-word.is-line-5 {
    -webkit-transition-delay: .6s;
    transition-delay: .6s
}

.js-text-animation .js-word.is-line-6 {
    -webkit-transition-delay: .7s;
    transition-delay: .7s
}

.js-text-animation .js-word.is-line-7 {
    -webkit-transition-delay: .8s;
    transition-delay: .8s
}

.js-text-animation .js-word.is-line-8 {
    -webkit-transition-delay: .9s;
    transition-delay: .9s
}

.js-text-animation .js-word.is-line-9 {
    -webkit-transition-delay: 1s;
    transition-delay: 1s
}

.js-text-animation .js-word.is-line-10 {
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s
}

.js-text-animation .js-word.is-line-11 {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s
}

.js-text-animation .js-word.is-line-12 {
    -webkit-transition-delay: 1.3s;
    transition-delay: 1.3s
}

.js-text-animation .js-word.is-line-13 {
    -webkit-transition-delay: 1.4s;
    transition-delay: 1.4s
}

.js-text-animation .js-word.is-line-14 {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s
}

.js-text-animation .js-word.is-line-15 {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s
}

.js-text-animation .js-word.is-line-16 {
    -webkit-transition-delay: 1.7s;
    transition-delay: 1.7s
}

.js-text-animation .js-word.is-line-17 {
    -webkit-transition-delay: 1.8s;
    transition-delay: 1.8s
}

.js-text-animation .js-word.is-line-18 {
    -webkit-transition-delay: 1.9s;
    transition-delay: 1.9s
}

.js-text-animation .js-word.is-line-19 {
    -webkit-transition-delay: 2s;
    transition-delay: 2s
}

.js-text-animation .js-word.is-line-20 {
    -webkit-transition-delay: 2.1s;
    transition-delay: 2.1s
}

.js-text-animation .js-word.is-line-21 {
    -webkit-transition-delay: 2.2s;
    transition-delay: 2.2s
}

.js-text-animation .js-word.is-line-22 {
    -webkit-transition-delay: 2.3s;
    transition-delay: 2.3s
}

.js-text-animation .js-word.is-line-23 {
    -webkit-transition-delay: 2.4s;
    transition-delay: 2.4s
}

.js-text-animation .js-word.is-line-24 {
    -webkit-transition-delay: 2.5s;
    transition-delay: 2.5s
}

.js-text-animation .js-word.is-line-25 {
    -webkit-transition-delay: 2.6s;
    transition-delay: 2.6s
}

.js-text-animation .js-word.is-line-26 {
    -webkit-transition-delay: 2.7s;
    transition-delay: 2.7s
}

.js-text-animation .js-word.is-line-27 {
    -webkit-transition-delay: 2.8s;
    transition-delay: 2.8s
}

.js-text-animation .js-word.is-line-28 {
    -webkit-transition-delay: 2.9s;
    transition-delay: 2.9s
}

.js-text-animation .js-word.is-line-29 {
    -webkit-transition-delay: 3s;
    transition-delay: 3s
}

.js-text-animation .js-word.is-line-30 {
    -webkit-transition-delay: 3.1s;
    transition-delay: 3.1s
}

.js-text-animation.text-sweet-in {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: opacity .8s .2s, -webkit-transform .8s .2s;
    transition: opacity .8s .2s, -webkit-transform .8s .2s;
    transition: transform .8s .2s, opacity .8s .2s;
    transition: transform .8s .2s, opacity .8s .2s, -webkit-transform .8s .2s
}

.js-text-animation.is-in-viewport {
    opacity: 1
}

.js-text-animation.is-in-viewport .js-word,
.js-text-animation.is-in-viewport.text-sweet-in {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.js-list-animation {
    -webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.js-list-animation:first-child {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

.js-list-animation:nth-child(2) {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.js-list-animation:nth-child(3) {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.js-list-animation:nth-child(4) {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.js-list-animation:nth-child(5) {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.js-list-animation:nth-child(6) {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.js-list-animation:nth-child(7) {
    -webkit-animation-delay: .7s;
    animation-delay: .7s
}

.js-list-animation:nth-child(8) {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.js-list-animation:nth-child(9) {
    -webkit-animation-delay: .9s;
    animation-delay: .9s
}

.js-list-animation:nth-child(10) {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.is-first-time-in-viewport .js-list-animation {
    -webkit-animation-name: left-in;
    animation-name: left-in
}

.select2 {
    max-width: 100%;
    min-width: 110px;
    z-index: 2
}

.select2-container--default .select2-results>.select2-results__options {
    max-height: 300px
}

.select2-container--default .select2-results__option {
    color: #1a1a1a;
    font-size: .86rem;
    padding: 14px 60px 14px 14px
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #f1f1f1;
    color: #1a1a1a
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #e6e6e6
}

.select2-container--default.select2-container--disabled {
    display: none
}

.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #1a1a1a
}

.select2-dropdown {
    border-color: #1a1a1a;
    border-radius: 0
}

.select2-dropdown--above {
    border: 1px solid #1a1a1a
}

.select2 .select2-selection--single {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #1a1a1a;
    border-radius: 0;
    height: 32px
}

.select2 .select2-selection--single .select2-selection__rendered {
    padding-left: 5px
}

.select2 .select2-selection--single .select2-selection__arrow b {
    border-color: #1a1a1a transparent transparent
}

.select2+.select-arrow,
.sideway {
    display: none
}

.sideway {
    z-index: 10
}

.sideway__inner {
    overflow: hidden
}

.sideway:not(.sideway--addthis):before,
.sideway__inner,
.sideway__text {
    display: inline-block;
    vertical-align: middle
}

.sideway:not(.sideway--addthis):before {
    background: currentColor;
    content: "";
    height: 1px;
    margin: 0 10px 0 0;
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    width: 20px
}

.sideway--addthis {
    display: block;
    margin: 40px 0;
    padding: 0 10px
}

.sideway--addthis .sideway__label {
    display: block
}

.sideway--addthis .sideway__label:after {
    background: currentColor;
    content: "";
    display: inline-block;
    height: 1px;
    margin: 0 10px;
    vertical-align: middle;
    width: 20px
}

.sideway--addthis .cta {
    margin-right: 15px
}

.sideway--addthis .cta:last-child {
    margin-right: 0
}

.sideway--addthis .at-icon-wrapper {
    display: none
}

.bio-list,
.city-list,
.news-list,
.project-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    min-height: 300px;
    -webkit-transition: height 1.6s;
    transition: height 1.6s
}

.bio-list>.ajax-item,
.city-list>.ajax-item,
.news-list>.ajax-item,
.project-list>.ajax-item {
    max-height: 800px;
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.bio-list>.ajax-item.is-hidden,
.city-list>.ajax-item.is-hidden,
.news-list>.ajax-item.is-hidden,
.project-list>.ajax-item.is-hidden {
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.tile {
    color: inherit;
    display: block;
    margin: 0 0 35px;
    text-decoration: none;
    width: 100%
}

.tile__media {
    cursor: url(../img/tile-hover.png) 60 12, auto;
    height: 0;
    overflow: hidden;
    -webkit-perspective: 500px;
    perspective: 500px;
    position: relative;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.tile__media,
.tile__media-over {
    background-position: 50% 50%;
    background-size: cover
}

.tile__media-over {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    -webkit-transition: opacity .2s, -webkit-filter .2s, -webkit-transform .2s;
    transition: opacity .2s, -webkit-filter .2s, -webkit-transform .2s;
    transition: filter .2s, opacity .2s, transform .2s;
    transition: filter .2s, opacity .2s, transform .2s, -webkit-filter .2s, -webkit-transform .2s;
    width: 101%;
    z-index: 1
}

.ie .tile__media-over {
    -webkit-transition: opacity .2s linear, -webkit-transform .2s linear;
    transition: opacity .2s linear, -webkit-transform .2s linear;
    transition: opacity .2s linear, transform .2s linear;
    transition: opacity .2s linear, transform .2s linear, -webkit-transform .2s linear
}

.ie .tile__media-over,
.tile video {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.tile video {
    height: auto;
    left: 50%;
    min-height: 101%;
    min-width: 101%;
    position: absolute;
    top: 50%;
    width: auto;
    z-index: 1
}

.tile__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-right: 20px;
    padding-top: 5px;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

.tile__description,
.tile__tagline,
.tile__title {
    margin-top: 10px
}

.tile__title {
    font-size: 1rem;
    font-weight: 300;
    margin-bottom: 0;
    white-space: normal
}

.tile__tagline {
    -ms-flex-item-align: self-end;
    align-self: self-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: .7778rem;
    font-style: normal;
    font-weight: 300;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

.tile__clientname,
.tile__tagline>span {
    display: inline-block;
    position: relative;
    width: auto
}

.tile__separator {
    display: inline;
    height: 1em;
    margin: 0 10px 0 6px;
    padding: 0 0 0 25px;
    position: relative;
    width: 0
}

.tile__separator:after,
.tile__separator:before {
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 50%;
    width: 100%
}

.tile__separator:before {
    background: currentColor;
    width: 100%
}

.tile__separator:after {
    background: #a8a8a8;
    -webkit-transition: width .5s;
    transition: width .5s;
    width: .1%
}

.tile__description {
    font-size: .7778rem
}

.tile:hover {
    color: inherit;
    text-decoration: none
}

.tile:hover .tile__media-over {
    opacity: 1
}

.tile:hover .tile__text {
    opacity: .5
}

.tile:hover .tile__separator:after {
    width: 100%
}

.tile--double-media .tile__media-over {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
    transition: opacity .2s ease, -webkit-transform .2s ease;
    transition: opacity .2s ease, transform .2s ease;
    transition: opacity .2s ease, transform .2s ease, -webkit-transform .2s ease
}

.tile--double-media:hover .tile__media-over {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: opacity .4s ease, -webkit-transform .4s ease;
    transition: opacity .4s ease, -webkit-transform .4s ease;
    transition: opacity .4s ease, transform .4s ease;
    transition: opacity .4s ease, transform .4s ease, -webkit-transform .4s ease
}

.tile--news .tile__media-over,
.tile--project .tile__media-over {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-filter: brightness(1);
    filter: brightness(1)
}

.ie .tile--news .tile__media-over:before,
.ie .tile--project .tile__media-over:before {
    background-color: rgba(0, 0, 0, .3);
    content: " ";
    height: 100%;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .6s;
    transition: opacity .6s;
    width: 100%
}

.tile--news:hover .tile__media-over,
.tile--project:hover .tile__media-over {
    -webkit-filter: brightness(.5);
    filter: brightness(.5);
    -webkit-transform: translate3d(-50%, -50%, 0) scale(1.1);
    transform: translate3d(-50%, -50%, 0) scale(1.1)
}

.ie .tile--news:hover .tile__media-over,
.ie .tile--project:hover .tile__media-over,
.tile--news:hover .tile__media-over,
.tile--project:hover .tile__media-over {
    -webkit-transition: opacity .4s, -webkit-filter .4s, -webkit-transform .4s;
    transition: opacity .4s, -webkit-filter .4s, -webkit-transform .4s;
    transition: filter .4s, opacity .4s, transform .4s;
    transition: filter .4s, opacity .4s, transform .4s, -webkit-filter .4s, -webkit-transform .4s
}

.ie .tile--news:hover .tile__media-over,
.ie .tile--project:hover .tile__media-over {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
    transform: translate(-50%, -50%) scale(1.1)
}

.ie .tile--news:hover .tile__media-over:before,
.ie .tile--project:hover .tile__media-over:before {
    opacity: 1
}

.tile--project .tile__tagline {
    font-size: 1rem
}

.tile--bio .tile__media,
.tile--city .tile__media {
    padding-bottom: 150%
}

.tiles-carousel__title {
    display: block;
    font-size: 2rem;
    font-weight: 400;
    margin: 0 0 30px
}

.tiles-carousel__wrapper {
    position: relative;
    width: 100%
}

.tiles-carousel__bg {
    background-color: hsla(0, 0%, 67%, .12);
    display: none;
    left: 50%;
    opacity: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw
}

.tiles-carousel__bg,
.tiles-carousel__next,
.tiles-carousel__prev {
    height: 0;
    padding-bottom: 56.25%;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.tiles-carousel__next,
.tiles-carousel__prev {
    opacity: 1;
    visibility: hidden;
    width: 7.14vw
}

.tiles-carousel__next:after,
.tiles-carousel__next:before,
.tiles-carousel__prev:after,
.tiles-carousel__prev:before {
    background-color: var(--text);
    content: "";
    height: 15px;
    position: absolute;
    top: 50%;
    width: 2px
}

.tiles-carousel__next:hover,
.tiles-carousel__prev:hover {
    opacity: .5
}

.tiles-carousel__next.slick-hidden,
.tiles-carousel__prev.slick-hidden {
    visibility: hidden
}

.tiles-carousel__prev {
    right: 100%
}

.tiles-carousel__prev:after,
.tiles-carousel__prev:before {
    right: 50%
}

.tiles-carousel__prev:before {
    -webkit-transform: translate(-50%, -33%) rotate(45deg);
    transform: translate(-50%, -33%) rotate(45deg)
}

.tiles-carousel__prev:after {
    -webkit-transform: translate(-50%, 33%) rotate(-45deg);
    transform: translate(-50%, 33%) rotate(-45deg)
}

.tiles-carousel__next {
    left: 100%
}

.tiles-carousel__next:after,
.tiles-carousel__next:before {
    left: 50%
}

.tiles-carousel__next:before {
    -webkit-transform: translate(-50%, -33%) rotate(-45deg);
    transform: translate(-50%, -33%) rotate(-45deg)
}

.tiles-carousel__next:after {
    -webkit-transform: translate(-50%, 33%) rotate(45deg);
    transform: translate(-50%, 33%) rotate(45deg)
}

.tiles-carousel__arrow-text {
    display: none
}

.tiles-carousel__list {
    overflow: visible;
    position: relative;
    z-index: 1
}

.tiles-carousel__nav {
    display: none
}

.tiles-carousel .slick-slide {
    display: inline-block;
    padding: 0 5px;
    vertical-align: top
}

.tiles-carousel.is-first-time-in-viewport .tiles-carousel__bg {
    opacity: 1
}

.tiles-carousel.is-nav-hidden .tiles-carousel__bg {
    opacity: 0
}

.tiles-carousel .tile {
    margin: 0!important
}

.ie .tiles-carousel__arrow-text {
    display: block;
    font-size: 3.5rem
}

.video {
    cursor: pointer;
    display: block;
    overflow: hidden
}

.video iframe,
.video video {
    height: 100%;
    max-height: 100vh;
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: opacity .3s ease, visibility 0s .3s, -webkit-transform 0s .3s;
    transition: opacity .3s ease, visibility 0s .3s, -webkit-transform 0s .3s;
    transition: opacity .3s ease, visibility 0s .3s, transform 0s .3s;
    transition: opacity .3s ease, visibility 0s .3s, transform 0s .3s, -webkit-transform 0s .3s;
    visibility: hidden;
    width: 100%
}

.video .video__mute-cross {
    opacity: 0
}

.video__bg {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    left: 0
}

.video__bg,
.video__play {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%
}

.video__play {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: background .5s, color .5s, opacity 1s, -webkit-transform 1s, -webkit-filter 1s;
    transition: background .5s, color .5s, opacity 1s, -webkit-transform 1s, -webkit-filter 1s;
    transition: background .5s, color .5s, opacity 1s, transform 1s, filter 1s;
    transition: background .5s, color .5s, opacity 1s, transform 1s, filter 1s, -webkit-transform 1s, -webkit-filter 1s;
    z-index: 1
}

.video__play__icon {
    font-size: 1.333rem;
    -webkit-transition: width .2s, height .2s, color .2s;
    transition: width .2s, height .2s, color .2s
}

.video__play__icon:after {
    border: 2px solid currentColor;
    border-radius: 50%;
    content: "";
    display: block;
    height: 100%;
    left: 50%;
    opacity: .7;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: border .5s ease-out, opacity .5s ease-out, -webkit-transform .5s ease-out;
    transition: border .5s ease-out, opacity .5s ease-out, -webkit-transform .5s ease-out;
    transition: border .5s ease-out, opacity .5s ease-out, transform .5s ease-out;
    transition: border .5s ease-out, opacity .5s ease-out, transform .5s ease-out, -webkit-transform .5s ease-out;
    width: 100%
}

.video__play__icon__text {
    margin-top: -5px;
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
    -webkit-transition: -webkit-transform .1s ease-out;
    transition: -webkit-transform .1s ease-out;
    transition: transform .1s ease-out;
    transition: transform .1s ease-out, -webkit-transform .1s ease-out;
    will-change: transform
}

.video__play__icon:hover {
    height: 175px;
    width: 175px
}

.video__play__icon:hover:after {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.video__play__icon:hover .video__play__icon__text {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.video__controls {
    height: 40px;
    left: 50%;
    position: absolute;
    text-align: center;
    top: 100%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s
}

.video__controls svg {
    fill: none;
    stroke: currentColor
}

.video__mute,
.video__pause {
    color: currentColor;
    height: 40px;
    width: 40px
}

.video.autoplay-on-desktop iframe,
.video.autoplay-on-desktop video,
.video.is-playing iframe,
.video.is-playing video {
    opacity: 1;
    -webkit-transform: translateX(0) scale(1.004);
    transform: translateX(0) scale(1.004);
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    visibility: visible
}

.video.autoplay-on-desktop .video__play,
.video.is-playing .video__play {
    opacity: 0;
    pointer-events: none
}

.video.autoplay-on-desktop.is-paused .video__pause,
.video.is-playing.is-paused .video__pause {
    opacity: 0
}

.video.autoplay-on-desktop.is-paused .video__play,
.video.is-playing.is-paused .video__play {
    opacity: 1;
    pointer-events: auto
}

.video.autoplay-on-desktop.is-paused:hover .video__controls,
.video.is-playing.is-paused:hover .video__controls {
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}

.video.is-muted .video__mute-cross {
    opacity: 1
}

.video:hover .video__controls {
    -webkit-transform: translate(-50%, -120%);
    transform: translate(-50%, -120%)
}

.feature__cell.feature__cell--logo {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    margin-bottom: 0;
    max-width: 50%;
    padding-top: 20px
}

.feature__cell.feature__cell--logo .logo {
    position: relative;
    width: 100%
}

.feature__cell.feature__cell--logo .logo a {
    display: block;
    position: relative;
    text-decoration: none;
    width: 100%
}

.feature__cell.feature__cell--logo .logo a:hover .logo__caption {
    opacity: .5
}

.feature__cell.feature__cell--logo .logo__media {
    display: block;
    height: 0;
    margin: 0 0 15px;
    padding: 0 0 56.25%;
    position: relative;
    width: 100%
}

.feature__cell.feature__cell--logo .logo__img {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: contain;
    object-fit: contain;
    position: absolute;
    top: 0;
    width: 100%
}

.feature__cell.feature__cell--logo .logo__caption {
    text-align: center;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.ie .feature__cell.feature__cell--logo .logo__media {
    height: auto;
    padding: 0;
    text-align: center
}

.ie .feature__cell.feature__cell--logo .logo__img {
    display: inline-block;
    height: auto;
    left: auto;
    max-height: 120px;
    max-width: 100%;
    position: relative;
    top: auto;
    width: auto
}

.feature__cell {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 100%;
    position: relative
}

.feature__cell>* {
    margin: 20px 0
}

.feature__cell__bg {
    display: block;
    height: 100%;
    pointer-events: none;
    -webkit-transform: translate(-50%, -65%);
    transform: translate(-50%, -65%);
    width: 118%
}

.feature__cell__solid-color {
    background: red;
    display: block;
    height: 100%;
    position: absolute;
    width: 100%
}

.feature__cell.is-forced-white {
    color: #1a1a1a
}

.feature__cell.is-forced-white:before {
    background-color: #fff;
    content: "";
    height: 100%;
    width: 100vw
}

.feature__cell.is-text-only:not(".is-forced-white") {
    padding: 0
}

.feature__cell--media {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1
}

.feature__cell--media+.feature__cell {
    margin-top: 40px
}

.feature__cell--text+.feature__cell--media {
    margin-bottom: 40px
}

.feature__cell--text+.feature__cell--text {
    margin-top: 40px
}

.feature__cell--empty,
.feature__cell .inline-arrow,
.feature__cell:only-child .cms__title:before {
    display: none
}

.feature__wrapper {
    width: 100%
}

.feature,
.feature__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.feature a {
    color: inherit
}

.feature__bg__color {
    bottom: 0;
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    z-index: -1
}

.feature.has-render-bg-color .svg-fill {
    fill: currentColor
}

.feature.has-render-bg-color .svg-stroke {
    stroke: currentColor
}

.feature.is-big {
    left: -7.14%;
    width: 114.28%
}

.hero.is-layout-centered .hero {
    display: block
}

.hero.is-layout-centered .hero__media {
    height: 0;
    padding-bottom: 125%;
    position: absolute;
    width: 100vw
}

.hero.is-layout-centered .hero__wrapper {
    padding-bottom: 0
}

.hero.is-layout-centered .hero__content {
    margin-top: calc(125% - 80px)
}

.hero {
    text-align: center
}

.hero,
.hero__wrapper {
    -ms-flex-line-pack: center;
    align-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

.hero__wrapper {
    padding: 80px 0;
    z-index: 4
}

.hero__image {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
}

.ie .hero__image {
    height: auto;
    min-height: 100%;
    min-width: 100%;
    width: auto
}

.hero__media {
    background-position: 50% 40%;
    height: 100%;
    overflow: hidden;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    z-index: 2
}

.hero__media,
.hero__video {
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    left: 50%;
    position: absolute
}

.hero__video {
    height: auto;
    min-height: 100%;
    min-width: 100vw;
    pointer-events: none;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    z-index: 3
}

.hero__main {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.hero__content,
.hero__main,
.hero__title {
    position: relative;
    width: 100%
}

.hero__title {
    -webkit-animation-delay: .2s;
    animation-delay: .2s;
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    display: block;
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: calc(32px + 6vw);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 .25em;
    padding: 0
}

.hero__title--medium {
    font-size: calc(26px + 4vw)
}

.hero__title--small {
    font-size: calc(20px + 2vw)
}

.hero__description {
    -webkit-animation-delay: .4s;
    animation-delay: .4s;
    display: inline-block;
    font-family: visuelt, helvetica, arial, sans-serif;
    font-size: calc(22px + .6vw);
    font-weight: 300;
    line-height: 1.2;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    position: relative;
    width: auto
}

.hero__description p:last-of-type {
    margin-bottom: 0
}

.hero__description .animated-arrow__text-wrapper {
    bottom: 0;
    position: absolute
}

.hero__description .animated-arrow__text-wrapper:first-child {
    left: 0
}

.hero__description .animated-arrow__text-wrapper:last-child {
    right: 0
}

.hero__summary {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: calc(14px + 1.2vw);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 56.25vw;
    position: relative;
    width: 100%
}

.hero__summary__wrapper {
    -webkit-animation-delay: .6s;
    animation-delay: .6s;
    position: relative;
    width: 100%;
    z-index: 2
}

.hero__summary__wrapper p:last-child {
    margin-bottom: 0
}

.hero__social__button {
    color: inherit;
    display: inline-block;
    font-size: 1rem;
    margin: 0 0 40px;
    text-align: center;
    text-decoration: none
}

.hero__social__button svg {
    display: inline-block;
    fill: currentColor;
    height: 1em;
    margin: 10px 0;
    stroke: currentColor;
    -webkit-transition: opacity .3s linear;
    transition: opacity .3s linear;
    width: auto
}

.hero__social__button:hover {
    color: inherit;
    text-decoration: none
}

.hero__social__button:hover svg {
    opacity: .5
}

@supports ((-o-object-fit:cover) or (object-fit:cover)) {
    html:not(.edge) .hero__video {
        height: 100%;
        left: auto;
        min-height: 0;
        min-width: 0;
        -o-object-fit: cover;
        object-fit: cover;
        position: relative;
        top: auto;
        -webkit-transform: none;
        transform: none;
        width: 100%!important
    }
}

.hero.is-layout-left .hero,
.hero.is-layout-right .hero {
    display: block
}

.hero.is-layout-left .hero__media,
.hero.is-layout-right .hero__media {
    height: 0;
    padding-bottom: 125%;
    position: absolute;
    width: 100vw
}

.hero.is-layout-left .hero__wrapper,
.hero.is-layout-right .hero__wrapper {
    padding-bottom: 0
}

.hero.is-layout-left .hero__content,
.hero.is-layout-right .hero__content {
    margin-top: calc(125% - 80px)
}

.hero.is-person .hero__summary {
    color: #1a1a1a
}

.hero.is-person .hero__summary:before {
    background-color: #fff;
    bottom: 0;
    content: "";
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw
}

.svg-icon {
    -ms-flex-item-align: center;
    align-self: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    height: 1em;
    position: relative;
    width: 1em
}

.svg-icon svg {
    fill: none;
    height: 1em;
    stroke: currentColor;
    stroke-width: 1px;
    width: 1em
}

.svg-icon .fill {
    fill: currentColor;
    stroke: none
}

.svg-icon .dashed {
    stroke-dasharray: 3
}

.svg-icon.animated .radiation3,
.svg-icon.animated .radiation4,
.svg-icon.animated .together5,
.svg-icon.animated .worldwide1,
.svg-icon.animated .worldwide2 {
    -webkit-animation: spin infinite linear 5s forwards;
    animation: spin infinite linear 5s forwards
}

.svg-icon.svg-baseline svg {
    bottom: -.125em;
    position: absolute
}

.svg-icon.animated .experimentation1 .bubble1,
.svg-icon.animated .experimentation1 .bubble2,
.svg-icon.animated .experimentation1 .bubble3,
.svg-icon.animated .experimentation2 .bubble1,
.svg-icon.animated .experimentation2 .bubble2,
.svg-icon.animated .experimentation2 .bubble3 {
    -webkit-animation: bubble infinite linear 1s forwards;
    animation: bubble infinite linear 1s forwards;
    -webkit-transform-origin: 50% 45%;
    transform-origin: 50% 45%
}

.svg-icon.animated .experimentation1 .bubble2,
.svg-icon.animated .experimentation2 .bubble2 {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

.svg-icon.animated .experimentation1 .bubble3,
.svg-icon.animated .experimentation2 .bubble3 {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

@-webkit-keyframes bubble {
    0% {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    70% {
        opacity: 0
    }
    to {
        opacity: 0
    }
}

@keyframes bubble {
    0% {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    70% {
        opacity: 0
    }
    to {
        opacity: 0
    }
}

.svg-icon.animated .eye1 .pupil {
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

.svg-icon.animated .eye1 .pupil path {
    -webkit-transform: translate(12%);
    transform: translate(12%)
}

.svg-icon.animated .eye2 .pupil {
    -webkit-transform-origin: 50% 58%;
    transform-origin: 50% 58%
}

.svg-icon.animated .eye2 .pupil path {
    -webkit-transform: translate(9%);
    transform: translate(9%)
}

.svg-icon.animated .eye3 .pupil {
    -webkit-transform-origin: 50% 58%;
    transform-origin: 50% 58%
}

.svg-icon.animated .eye3 .pupil path {
    -webkit-transform: translate(-8%, 6%) rotate(10deg);
    transform: translate(-8%, 6%) rotate(10deg);
    -webkit-transform-origin: 50% 58%;
    transform-origin: 50% 58%
}

.svg-icon.animated .eye4 .pupil {
    -webkit-transform-origin: 50% 58%;
    transform-origin: 50% 58%
}

.svg-icon.animated .eye4 .pupil path {
    -webkit-transform: translate(35%);
    transform: translate(35%)
}

.svg-icon.animated .idea .ray {
    -webkit-animation: blink infinite linear 3s forwards;
    animation: blink infinite linear 3s forwards
}

@-webkit-keyframes blink {
    0% {
        opacity: 1
    }
    46% {
        opacity: 1
    }
    48% {
        opacity: 0
    }
    50% {
        opacity: 1
    }
    52% {
        opacity: 0
    }
    54% {
        opacity: 1
    }
    to {
        opacity: 1
    }
}

@keyframes blink {
    0% {
        opacity: 1
    }
    46% {
        opacity: 1
    }
    48% {
        opacity: 0
    }
    50% {
        opacity: 1
    }
    52% {
        opacity: 0
    }
    54% {
        opacity: 1
    }
    to {
        opacity: 1
    }
}

.svg-icon.animated .love .whole {
    -webkit-animation: love infinite normal linear 2s;
    animation: love infinite normal linear 2s
}

.svg-icon.animated .love .duplicate,
.svg-icon.animated .love .whole {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

.svg-icon.animated .love .duplicate {
    -webkit-animation: love-effect infinite normal linear 2s;
    animation: love-effect infinite normal linear 2s;
    opacity: 0
}

@-webkit-keyframes love {
    0%,
    30% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    40% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    48%,
    52% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    70%,
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes love {
    0%,
    30% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    40% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    48%,
    52% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    70%,
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes love-effect {
    0%,
    52% {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    80%,
    99% {
        opacity: 0;
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes love-effect {
    0%,
    52% {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        opacity: 1;
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
    80%,
    99% {
        opacity: 0;
        -webkit-transform: scale(1.5);
        transform: scale(1.5)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.svg-icon.animated .salutation1 .hand {
    -webkit-animation: waving infinite ease-in-out 2.5s forwards;
    animation: waving infinite ease-in-out 2.5s forwards;
    -webkit-transform-origin: 15% 80%;
    transform-origin: 15% 80%
}

.svg-icon.animated .salutation1 .blur {
    -webkit-animation: waving-blur infinite ease-in-out 2.5s forwards;
    animation: waving-blur infinite ease-in-out 2.5s forwards;
    -webkit-animation-delay: .02s;
    animation-delay: .02s;
    stroke-dasharray: 25;
    -webkit-transform: translate(2%);
    transform: translate(2%);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

@-webkit-keyframes waving {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    30% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    35% {
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg)
    }
    45% {
        -webkit-transform: rotate(-35deg);
        transform: rotate(-35deg)
    }
    55% {
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg)
    }
    65% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg)
    }
    75% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
}

@keyframes waving {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    30% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    35% {
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg)
    }
    45% {
        -webkit-transform: rotate(-35deg);
        transform: rotate(-35deg)
    }
    55% {
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg)
    }
    65% {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg)
    }
    75% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
}

@-webkit-keyframes waving-blur {
    0% {
        opacity: 0;
        stroke-dashoffset: 25
    }
    35% {
        opacity: 0;
        stroke-dashoffset: 25
    }
    45% {
        opacity: .5;
        stroke-dashoffset: 0
    }
    65% {
        opacity: .5;
        stroke-dashoffset: 0
    }
    75% {
        opacity: 0;
        stroke-dashoffset: 25
    }
    to {
        opacity: 0;
        stroke-dashoffset: 25
    }
}

@keyframes waving-blur {
    0% {
        opacity: 0;
        stroke-dashoffset: 25
    }
    35% {
        opacity: 0;
        stroke-dashoffset: 25
    }
    45% {
        opacity: .5;
        stroke-dashoffset: 0
    }
    65% {
        opacity: .5;
        stroke-dashoffset: 0
    }
    75% {
        opacity: 0;
        stroke-dashoffset: 25
    }
    to {
        opacity: 0;
        stroke-dashoffset: 25
    }
}

.svg-icon.animated .smiley {
    -webkit-animation: smiley-head infinite forwards 4.5s ease;
    animation: smiley-head infinite forwards 4.5s ease
}

.svg-icon.animated .smiley .wink-open {
    -webkit-animation: smiley-eye-open infinite forwards 4.5s ease;
    animation: smiley-eye-open infinite forwards 4.5s ease
}

.svg-icon.animated .smiley .wink-close {
    -webkit-animation: smiley-eye-close infinite forwards 4.5s ease;
    animation: smiley-eye-close infinite forwards 4.5s ease;
    opacity: 0
}

@-webkit-keyframes smiley-head {
    0%,
    14% {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
    17% {
        -webkit-transform: translate(-6%) rotate(-8deg);
        transform: translate(-6%) rotate(-8deg)
    }
    19% {
        -webkit-transform: translate(-1%, -2%) rotate(-3deg);
        transform: translate(-1%, -2%) rotate(-3deg)
    }
    23% {
        -webkit-transform: translate(2%, 3%) rotate(10deg);
        transform: translate(2%, 3%) rotate(10deg)
    }
    26% {
        -webkit-transform: translate(1%) rotate(3deg);
        transform: translate(1%) rotate(3deg)
    }
    90%,
    to {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
}

@keyframes smiley-head {
    0%,
    14% {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
    17% {
        -webkit-transform: translate(-6%) rotate(-8deg);
        transform: translate(-6%) rotate(-8deg)
    }
    19% {
        -webkit-transform: translate(-1%, -2%) rotate(-3deg);
        transform: translate(-1%, -2%) rotate(-3deg)
    }
    23% {
        -webkit-transform: translate(2%, 3%) rotate(10deg);
        transform: translate(2%, 3%) rotate(10deg)
    }
    26% {
        -webkit-transform: translate(1%) rotate(3deg);
        transform: translate(1%) rotate(3deg)
    }
    90%,
    to {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
}

@-webkit-keyframes smiley-eye-open {
    0%,
    19% {
        opacity: 1
    }
    20%,
    28% {
        opacity: 0
    }
    29%,
    to {
        opacity: 1
    }
}

@keyframes smiley-eye-open {
    0%,
    19% {
        opacity: 1
    }
    20%,
    28% {
        opacity: 0
    }
    29%,
    to {
        opacity: 1
    }
}

@-webkit-keyframes smiley-eye-close {
    0%,
    19% {
        opacity: 0
    }
    20%,
    28% {
        opacity: 1
    }
    29%,
    to {
        opacity: 0
    }
}

@keyframes smiley-eye-close {
    0%,
    19% {
        opacity: 0
    }
    20%,
    28% {
        opacity: 1
    }
    29%,
    to {
        opacity: 0
    }
}

.svg-icon.animated .volume .slider1,
.svg-icon.animated .volume .slider2,
.svg-icon.animated .volume .slider3,
.svg-icon.animated .volume .slider4 {
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

.svg-icon.animated .volume .slider1 {
    -webkit-animation: volume1 infinite ease .9s forwards;
    animation: volume1 infinite ease .9s forwards
}

.svg-icon.animated .volume .slider2 {
    -webkit-animation: volume2 infinite linear 1.35s forwards;
    animation: volume2 infinite linear 1.35s forwards
}

.svg-icon.animated .volume .slider3 {
    -webkit-animation: volume1 infinite ease 1.6s backwards;
    animation: volume1 infinite ease 1.6s backwards
}

.svg-icon.animated .volume .slider4 {
    -webkit-animation: volume2 infinite linear 1.25s backwards;
    animation: volume2 infinite linear 1.25s backwards
}

@-webkit-keyframes volume1 {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    30% {
        -webkit-transform: translateY(10%);
        transform: translateY(10%)
    }
    50% {
        -webkit-transform: translateY(-15%);
        transform: translateY(-15%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes volume1 {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    30% {
        -webkit-transform: translateY(10%);
        transform: translateY(10%)
    }
    50% {
        -webkit-transform: translateY(-15%);
        transform: translateY(-15%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes volume2 {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    60% {
        -webkit-transform: translateY(10%);
        transform: translateY(10%)
    }
    70% {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes volume2 {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    60% {
        -webkit-transform: translateY(10%);
        transform: translateY(10%)
    }
    70% {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.svg-icon.animated .rollout1 .roll {
    -webkit-animation: translate-start infinite alternate linear 2s;
    animation: translate-start infinite alternate linear 2s;
    -webkit-transform: translateX(50%);
    transform: translateX(50%)
}

.svg-icon.animated .rollout1 .lines {
    -webkit-animation: rollout1 infinite alternate linear 2s;
    animation: rollout1 infinite alternate linear 2s;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 78% 50%;
    transform-origin: 78% 50%
}

.svg-icon.animated .rollout1 .btm,
.svg-icon.animated .rollout1 .top {
    -webkit-animation: draw-stroke infinite alternate linear 2s;
    animation: draw-stroke infinite alternate linear 2s;
    stroke-dasharray: 27px;
    stroke-dashoffset: -27px
}

@-webkit-keyframes rollout1 {
    0% {
        -webkit-transform: scaleX(.5);
        transform: scaleX(.5)
    }
    50%,
    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes rollout1 {
    0% {
        -webkit-transform: scaleX(.5);
        transform: scaleX(.5)
    }
    50%,
    to {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

.svg-icon.animated .rollout2 .paper {
    -webkit-animation: rollout2 steps(4) infinite alternate 2s;
    animation: rollout2 steps(4) infinite alternate 2s;
    -webkit-transform: translateX(-31%);
    transform: translateX(-31%)
}

@-webkit-keyframes rollout2 {
    to {
        -webkit-transform: translateX(9%);
        transform: translateX(9%)
    }
}

@keyframes rollout2 {
    to {
        -webkit-transform: translateX(9%);
        transform: translateX(9%)
    }
}

.svg-icon.animated .rollout3 path {
    -webkit-animation: rollout3 infinite alternate 1.5s ease;
    animation: rollout3 infinite alternate 1.5s ease
}

.svg-icon.animated .rollout3 .no1 {
    -webkit-animation-name: rollout3-1;
    animation-name: rollout3-1
}

.svg-icon.animated .rollout3 .no2 {
    -webkit-animation-name: rollout3-2;
    animation-name: rollout3-2
}

.svg-icon.animated .rollout3 .no3 {
    -webkit-animation-name: rollout3-3;
    animation-name: rollout3-3
}

.svg-icon.animated .rollout3 .no4 {
    -webkit-animation-name: rollout3-4;
    animation-name: rollout3-4
}

.svg-icon.animated .rollout3 .no5 {
    -webkit-animation-name: rollout3-5;
    animation-name: rollout3-5
}

@-webkit-keyframes rollout3-1 {
    to {
        d: path("M5.1 9.2L18.4 9.2 31.8 9.2 45.1 9.1 45.1 42 31.8 42.1 18.4 42.1 5.1 42.2z")
    }
}

@keyframes rollout3-1 {
    to {
        d: path("M5.1 9.2L18.4 9.2 31.8 9.2 45.1 9.1 45.1 42 31.8 42.1 18.4 42.1 5.1 42.2z")
    }
}

@-webkit-keyframes rollout3-2 {
    to {
        d: path("M31.8 9.2L31.8 42")
    }
}

@keyframes rollout3-2 {
    to {
        d: path("M31.8 9.2L31.8 42")
    }
}

@-webkit-keyframes rollout3-3 {
    to {
        d: path("M18.4 9.2L18.4 42.1")
    }
}

@keyframes rollout3-3 {
    to {
        d: path("M18.4 9.2L18.4 42.1")
    }
}

@-webkit-keyframes rollout3-4 {
    to {
        d: path("M36.5 14.6L36.5 35.5")
    }
}

@keyframes rollout3-4 {
    to {
        d: path("M36.5 14.6L36.5 35.5")
    }
}

@-webkit-keyframes rollout3-5 {
    to {
        d: path("M41 14.6L41 35.5")
    }
}

@keyframes rollout3-5 {
    to {
        d: path("M41 14.6L41 35.5")
    }
}

.svg-icon.animated .rollout4 path {
    -webkit-animation: rollout4 infinite alternate 2s ease;
    animation: rollout4 infinite alternate 2s ease
}

.svg-icon.animated .rollout4 .no1 {
    -webkit-animation-name: rollout4-1;
    animation-name: rollout4-1
}

.svg-icon.animated .rollout4 .no2 {
    -webkit-animation-name: rollout4-2;
    animation-name: rollout4-2
}

.svg-icon.animated .rollout4 .no3 {
    -webkit-animation-name: rollout4-3;
    animation-name: rollout4-3
}

.svg-icon.animated .rollout4 .no4 {
    -webkit-animation-name: rollout4-4;
    animation-name: rollout4-4
}

.svg-icon.animated .rollout4 .no5 {
    -webkit-animation-name: rollout4-5;
    animation-name: rollout4-5
}

.svg-icon.animated .rollout4 .no6 {
    -webkit-animation-name: rollout4-6;
    animation-name: rollout4-6
}

.svg-icon.animated .rollout4 .no7 {
    -webkit-animation-name: rollout4-7;
    animation-name: rollout4-7
}

.svg-icon.animated .rollout4 .no8 {
    -webkit-animation-name: rollout4-8;
    animation-name: rollout4-8
}

@-webkit-keyframes rollout4-1 {
    to {
        d: path("M4.2 14.3L10.3 14.3 16.5 14.3 22.7 14.3 28.8 14.3 45.9 14.2 45.9 40.9 28.7 40.9 22.7 40.9 16.5 40.9 10.4 40.9 4.2 41z")
    }
}

@keyframes rollout4-1 {
    to {
        d: path("M4.2 14.3L10.3 14.3 16.5 14.3 22.7 14.3 28.8 14.3 45.9 14.2 45.9 40.9 28.7 40.9 22.7 40.9 16.5 40.9 10.4 40.9 4.2 41z")
    }
}

@-webkit-keyframes rollout4-2 {
    to {
        d: path("M10.3 14.3L10.4 40.9")
    }
}

@keyframes rollout4-2 {
    to {
        d: path("M10.3 14.3L10.4 40.9")
    }
}

@-webkit-keyframes rollout4-3 {
    to {
        d: path("M16.5 14.3L16.5 40.9")
    }
}

@keyframes rollout4-3 {
    to {
        d: path("M16.5 14.3L16.5 40.9")
    }
}

@-webkit-keyframes rollout4-4 {
    to {
        d: path("M22.7 14.3L22.7 40.9")
    }
}

@keyframes rollout4-4 {
    to {
        d: path("M22.7 14.3L22.7 40.9")
    }
}

@-webkit-keyframes rollout4-5 {
    to {
        d: path("M28.8 14.3L28.7 40.9")
    }
}

@keyframes rollout4-5 {
    to {
        d: path("M28.8 14.3L28.7 40.9")
    }
}

@-webkit-keyframes rollout4-6 {
    to {
        d: path("M32.9 18.2L32.9 37.4")
    }
}

@keyframes rollout4-6 {
    to {
        d: path("M32.9 18.2L32.9 37.4")
    }
}

@-webkit-keyframes rollout4-7 {
    to {
        d: path("M37.3 18.2L37.3 37.4")
    }
}

@keyframes rollout4-7 {
    to {
        d: path("M37.3 18.2L37.3 37.4")
    }
}

@-webkit-keyframes rollout4-8 {
    to {
        d: path("M41.8 18.2L41.8 37.4")
    }
}

@keyframes rollout4-8 {
    to {
        d: path("M41.8 18.2L41.8 37.4")
    }
}

.svg-icon.animated .together1 {
    -webkit-animation: together1-shake infinite linear 3s forwards;
    animation: together1-shake infinite linear 3s forwards
}

.svg-icon.animated .together1 .main-droite {
    -webkit-animation: together1-main-droite infinite linear 3s forwards;
    animation: together1-main-droite infinite linear 3s forwards;
    -webkit-transform: translate(4%, -4%);
    transform: translate(4%, -4%)
}

.svg-icon.animated .together1 .main-gauche,
.svg-icon.animated .together1 .main-gauche-doigt-1,
.svg-icon.animated .together1 .main-gauche-doigt-2,
.svg-icon.animated .together1 .main-gauche-doigt-3 {
    -webkit-animation: together1-main-gauche infinite linear 3s forwards;
    animation: together1-main-gauche infinite linear 3s forwards;
    -webkit-transform: translate(-4%, -4%) rotate(-5deg);
    transform: translate(-4%, -4%) rotate(-5deg);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%
}

@-webkit-keyframes together1-shake {
    0%,
    35% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
    40% {
        -webkit-transform: translateY(4%);
        transform: translateY(4%)
    }
    45% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
    50% {
        -webkit-transform: translateY(4%);
        transform: translateY(4%)
    }
    83% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together1-shake {
    0%,
    35% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
    40% {
        -webkit-transform: translateY(4%);
        transform: translateY(4%)
    }
    45% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
    50% {
        -webkit-transform: translateY(4%);
        transform: translateY(4%)
    }
    83% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@-webkit-keyframes together1-main-droite {
    0%,
    18% {
        -webkit-transform: translate(3%, -4%) rotate(-3deg);
        transform: translate(3%, -4%) rotate(-3deg)
    }
    25%,
    83% {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
    90%,
    to {
        -webkit-transform: translate(3%, -4%) rotate(-3deg);
        transform: translate(3%, -4%) rotate(-3deg)
    }
}

@keyframes together1-main-droite {
    0%,
    18% {
        -webkit-transform: translate(3%, -4%) rotate(-3deg);
        transform: translate(3%, -4%) rotate(-3deg)
    }
    25%,
    83% {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
    90%,
    to {
        -webkit-transform: translate(3%, -4%) rotate(-3deg);
        transform: translate(3%, -4%) rotate(-3deg)
    }
}

@-webkit-keyframes together1-main-gauche {
    0%,
    18% {
        -webkit-transform: translate(-4%, -4%) rotate(3deg);
        transform: translate(-4%, -4%) rotate(3deg)
    }
    25%,
    83% {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
    90%,
    to {
        -webkit-transform: translate(-4%, -4%) rotate(3deg);
        transform: translate(-4%, -4%) rotate(3deg)
    }
}

@keyframes together1-main-gauche {
    0%,
    18% {
        -webkit-transform: translate(-4%, -4%) rotate(3deg);
        transform: translate(-4%, -4%) rotate(3deg)
    }
    25%,
    83% {
        -webkit-transform: translate(0) rotate(0);
        transform: translate(0) rotate(0)
    }
    90%,
    to {
        -webkit-transform: translate(-4%, -4%) rotate(3deg);
        transform: translate(-4%, -4%) rotate(3deg)
    }
}

.svg-icon.animated .together2 {
    -webkit-animation: together2-spin 4s linear infinite alternate;
    animation: together2-spin 4s linear infinite alternate;
    -webkit-transform-origin: 50% 48%;
    transform-origin: 50% 48%
}

.svg-icon.animated .together2 path {
    -webkit-transform-origin: 50%;
    transform-origin: 50%
}

.svg-icon.animated .together2 path:first-child {
    -webkit-animation: together2-spin-center-1 4s ease-in-out infinite alternate;
    animation: together2-spin-center-1 4s ease-in-out infinite alternate;
    -webkit-transform: translate(18%, -18%);
    transform: translate(18%, -18%)
}

.svg-icon.animated .together2 path:nth-child(2) {
    -webkit-animation: together2-spin-center-2 4s linear infinite alternate;
    animation: together2-spin-center-2 4s linear infinite alternate;
    -webkit-transform: translate(-18%, -18%);
    transform: translate(-18%, -18%)
}

.svg-icon.animated .together2 path:nth-child(3) {
    -webkit-animation: together2-spin-center-3 4s linear infinite alternate;
    animation: together2-spin-center-3 4s linear infinite alternate;
    -webkit-transform: translate(-18%, 15%);
    transform: translate(-18%, 15%)
}

.svg-icon.animated .together2 path:nth-child(4) {
    -webkit-animation: together2-spin-center-4 4s linear infinite alternate;
    animation: together2-spin-center-4 4s linear infinite alternate;
    -webkit-transform: translate(18%, 15%);
    transform: translate(18%, 15%)
}

@-webkit-keyframes together2-spin {
    0%,
    20% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    70%,
    to {
        -webkit-transform: rotate(540deg);
        transform: rotate(540deg)
    }
}

@-webkit-keyframes together2-spin-center-1 {
    0%,
    30% {
        -webkit-transform: translate(18%, -18%);
        transform: translate(18%, -18%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together2-spin-center-1 {
    0%,
    30% {
        -webkit-transform: translate(18%, -18%);
        transform: translate(18%, -18%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@-webkit-keyframes together2-spin-center-2 {
    0%,
    30% {
        -webkit-transform: translate(-18%, -18%);
        transform: translate(-18%, -18%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together2-spin-center-2 {
    0%,
    30% {
        -webkit-transform: translate(-18%, -18%);
        transform: translate(-18%, -18%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@-webkit-keyframes together2-spin-center-3 {
    0%,
    30% {
        -webkit-transform: translate(-18%, 15%);
        transform: translate(-18%, 15%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together2-spin-center-3 {
    0%,
    30% {
        -webkit-transform: translate(-18%, 15%);
        transform: translate(-18%, 15%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@-webkit-keyframes together2-spin-center-4 {
    0%,
    30% {
        -webkit-transform: translate(18%, 15%);
        transform: translate(18%, 15%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together2-spin-center-4 {
    0%,
    30% {
        -webkit-transform: translate(18%, 15%);
        transform: translate(18%, 15%)
    }
    60%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

.svg-icon.animated .together2-alt path {
    -webkit-transform-origin: 50%;
    transform-origin: 50%
}

.svg-icon.animated .together2-alt path:first-child {
    -webkit-animation: together2-spin 3.5s linear .25s infinite forwards;
    animation: together2-spin 3.5s linear .25s infinite forwards
}

.svg-icon.animated .together2-alt path:nth-child(2) {
    -webkit-animation: together2-spin 3.5s linear .5s infinite forwards;
    animation: together2-spin 3.5s linear .5s infinite forwards
}

.svg-icon.animated .together2-alt path:nth-child(3) {
    -webkit-animation: together2-spin 3.5s linear .75s infinite forwards;
    animation: together2-spin 3.5s linear .75s infinite forwards
}

.svg-icon.animated .together2-alt path:nth-child(4) {
    -webkit-animation: together2-spin 3.5s linear 1s infinite forwards;
    animation: together2-spin 3.5s linear 1s infinite forwards
}

@keyframes together2-spin {
    0%,
    30% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    60%,
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

.svg-icon.animated .together3 {
    -webkit-animation: together3-spin 3.5s linear infinite alternate;
    animation: together3-spin 3.5s linear infinite alternate;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transform-origin: 50% 53%;
    transform-origin: 50% 53%
}

.svg-icon.animated .together3 path {
    -webkit-transform-origin: 50%;
    transform-origin: 50%
}

.svg-icon.animated .together3 path:first-child {
    -webkit-animation: together3-trio-right 3.5s linear infinite alternate;
    animation: together3-trio-right 3.5s linear infinite alternate;
    -webkit-transform: translate(-24%, -13%);
    transform: translate(-24%, -13%)
}

.svg-icon.animated .together3 path:nth-child(2) {
    -webkit-animation: together3-trio-left 3.5s linear infinite alternate;
    animation: together3-trio-left 3.5s linear infinite alternate;
    -webkit-transform: translate(24%, -13%);
    transform: translate(24%, -13%)
}

.svg-icon.animated .together3 path:nth-child(3) {
    -webkit-animation: together3-trio-top 3.5s linear infinite alternate;
    animation: together3-trio-top 3.5s linear infinite alternate;
    -webkit-transform: translateY(27%);
    transform: translateY(27%)
}

.svg-icon.animated .together3 path:nth-child(4) {
    -webkit-animation: together3-trio-center 3.5s linear infinite alternate;
    animation: together3-trio-center 3.5s linear infinite alternate;
    opacity: 0;
    -webkit-transform: scale(.1);
    transform: scale(.1);
    -webkit-transform-origin: 50% 54%;
    transform-origin: 50% 54%
}

@-webkit-keyframes together3-spin {
    0%,
    20% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    70%,
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes together3-spin {
    0%,
    20% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    70%,
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@-webkit-keyframes together3-trio-top {
    0%,
    20% {
        -webkit-transform: translateY(27%);
        transform: translateY(27%)
    }
    70%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together3-trio-top {
    0%,
    20% {
        -webkit-transform: translateY(27%);
        transform: translateY(27%)
    }
    70%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@-webkit-keyframes together3-trio-left {
    0%,
    20% {
        -webkit-transform: translate(24%, -13%);
        transform: translate(24%, -13%)
    }
    70%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together3-trio-left {
    0%,
    20% {
        -webkit-transform: translate(24%, -13%);
        transform: translate(24%, -13%)
    }
    70%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@-webkit-keyframes together3-trio-right {
    0%,
    20% {
        -webkit-transform: translate(-24%, -13%);
        transform: translate(-24%, -13%)
    }
    70%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes together3-trio-right {
    0%,
    20% {
        -webkit-transform: translate(-24%, -13%);
        transform: translate(-24%, -13%)
    }
    70%,
    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@-webkit-keyframes together3-trio-center {
    0%,
    50% {
        opacity: 0;
        -webkit-transform: scale(.1);
        transform: scale(.1)
    }
    51% {
        opacity: 1
    }
    70%,
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes together3-trio-center {
    0%,
    50% {
        opacity: 0;
        -webkit-transform: scale(.1);
        transform: scale(.1)
    }
    51% {
        opacity: 1
    }
    70%,
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.svg-icon.animated .transformation1 .no1 {
    -webkit-animation: transformation1-1 infinite alternate 3s ease;
    animation: transformation1-1 infinite alternate 3s ease
}

.svg-icon.animated .transformation1 .no0,
.svg-icon.animated .transformation1 .no2 {
    opacity: .5;
    stroke-dasharray: 3px
}

.svg-icon.animated .transformation1 .no3 {
    -webkit-animation: transformation1-3 infinite forwards 6s ease;
    animation: transformation1-3 infinite forwards 6s ease;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

@-webkit-keyframes transformation1-1 {
    0%,
    10% {
        d: path("M20.9,40.7H10.5V10.5h10.4V40.7z")
    }
    45%,
    55% {
        d: path("M20.9,25.2H10.5V10.5h10.4V25.2z")
    }
    90%,
    to {
        d: path("M39.6,25.2H24.9V10.5h14.7V25.2z")
    }
}

@keyframes transformation1-1 {
    0%,
    10% {
        d: path("M20.9,40.7H10.5V10.5h10.4V40.7z")
    }
    45%,
    55% {
        d: path("M20.9,25.2H10.5V10.5h10.4V25.2z")
    }
    90%,
    to {
        d: path("M39.6,25.2H24.9V10.5h14.7V25.2z")
    }
}

@-webkit-keyframes transformation1-3 {
    0%,
    45%,
    to {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }
    50%,
    95% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@keyframes transformation1-3 {
    0%,
    45%,
    to {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }
    50%,
    95% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

.svg-icon.animated .transformation2 .no0,
.svg-icon.animated .transformation2 .no1 {
    opacity: .5;
    stroke-dasharray: 3px
}

.svg-icon.animated .transformation2 .no2 {
    -webkit-animation: transformation2-2 infinite forwards 4s ease;
    animation: transformation2-2 infinite forwards 4s ease;
    -webkit-transform-origin: 32% 50%;
    transform-origin: 32% 50%
}

.svg-icon.animated .transformation2 .no3 {
    -webkit-animation: transformation2-3 2s linear infinite alternate;
    animation: transformation2-3 2s linear infinite alternate;
    border: 1px solid currentColor;
    border-radius: 0;
    display: block;
    height: 67%;
    left: 0;
    position: absolute;
    top: 0;
    width: 47%
}

@-webkit-keyframes transformation2-3 {
    0%,
    10% {
        border-radius: 0;
        height: 67%;
        -webkit-transform: translate(20%, 44%);
        transform: translate(20%, 44%);
        width: 47%
    }
    90%,
    to {
        border-radius: 50%;
        height: 58%;
        -webkit-transform: translate(52%, 61%);
        transform: translate(52%, 61%);
        width: 60%
    }
}

@keyframes transformation2-3 {
    0%,
    10% {
        border-radius: 0;
        height: 67%;
        -webkit-transform: translate(20%, 44%);
        transform: translate(20%, 44%);
        width: 47%
    }
    90%,
    to {
        border-radius: 50%;
        height: 58%;
        -webkit-transform: translate(52%, 61%);
        transform: translate(52%, 61%);
        width: 60%
    }
}

@-webkit-keyframes transformation2-2 {
    0%,
    40%,
    to {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }
    50%,
    90% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@keyframes transformation2-2 {
    0%,
    40%,
    to {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }
    50%,
    90% {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

[data-page=Page404] .p404__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: calc(100vh - 80px);
    padding: 80px 0 0;
    position: relative;
    width: 100%
}

[data-page=Page404] .p404__img {
    height: 50%;
    padding: 5%;
    position: relative;
    width: 90%
}

[data-page=Page404] .p404__img img {
    display: block;
    height: auto;
    max-height: 100%;
    position: absolute;
    width: 90%
}

[data-page=Page404] .p404__img:nth-child(odd) {
    -webkit-animation: p404rightSM 10s alternate infinite cubic-bezier(.68, -.55, .265, 1.55);
    animation: p404rightSM 10s alternate infinite cubic-bezier(.68, -.55, .265, 1.55)
}

[data-page=Page404] .p404__img:nth-child(odd) img {
    bottom: 0
}

[data-page=Page404] .p404__img:nth-child(2n) {
    -webkit-animation: p404leftSM 10s alternate infinite cubic-bezier(.68, -.55, .265, 1.55);
    animation: p404leftSM 10s alternate infinite cubic-bezier(.68, -.55, .265, 1.55)
}

[data-page=Page404] .p404__wrapper {
    display: inline-block;
    width: 100%
}

[data-page=Page404] .p404__text {
    min-width: 75%;
    text-align: center;
    text-shadow: 0 0 1em #1a1a1a
}

[data-page=Page404] .p404__tagline {
    color: #a8a8a8;
    display: inline-block;
    font-size: calc(10px + 1.5vw);
    font-style: normal;
    font-weight: 700;
    margin: 0 0 .5em;
    text-shadow: none
}

[data-page=Page404] .p404__title {
    font-family: sang_bleu_kingdom, Georgia, Times, serif;
    font-size: calc(22px + 3.8vw);
    margin: 0 0 .5em;
    text-shadow: 0 0 calc(22px + 3.8vw) #1a1a1a
}

[data-page=Page404] .p404__description {
    margin: 0 0 1.25em
}

[data-page=Page404] .p404__description:empty {
    display: none
}

[data-page=Page404] .p404__sep {
    display: block;
    margin: 0 1.5em
}

@-webkit-keyframes p404rightSM {
    to {
        -webkit-transform: translateX(15%);
        transform: translateX(15%)
    }
}

@keyframes p404rightSM {
    to {
        -webkit-transform: translateX(15%);
        transform: translateX(15%)
    }
}

@-webkit-keyframes p404leftSM {
    to {
        -webkit-transform: translateX(-15%);
        transform: translateX(-15%)
    }
}

@keyframes p404leftSM {
    to {
        -webkit-transform: translateX(-15%);
        transform: translateX(-15%)
    }
}

[data-page=Bio] .hero {
    margin-bottom: 40px
}

[data-page=Bio] .hero__summary {
    color: #1a1a1a;
    text-align: center
}

[data-page=Bio] .hero__summary:before {
    background: #fff;
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    z-index: 1
}

[data-page=Bio] .hero.has-summary {
    margin-bottom: 0
}

[data-page=City] .hero {
    margin-bottom: 40px
}

[data-page] {
    position: relative
}

[data-page=JobDetails] .detail-page__header {
    margin-bottom: 0
}

[data-page=JobDetails] .detail-page__image-wrapper {
    margin-top: 40px
}

[data-page=Project] .hero {
    margin-bottom: 40px;
    min-height: 140vw
}