@charset "UTF-8";

/*!
 * Bootstrap Grid v4.2.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block
}

body {
    margin: 0;
    text-align: left
}

[tabindex="-1"]:focus {
    outline: 0 !important
}

hr {
    border: 0;
    border-top: 1px solid;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin-top: 0
}

p {
    margin-bottom: 0;
    margin-top: 0
}

abbr[data-original-title],
abbr[title] {
    border-bottom: 0;
    cursor: help;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none
}

address {
    font-style: normal;
    line-height: inherit
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

b,
strong {
    font-weight: 400
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none
}

a:not([href]):not([tabindex]):focus {
    outline: 0
}

pre {
    margin-bottom: 1rem;
    margin-top: 0;
    overflow: auto
}

figure {
    margin: 0
}

img {
    border-style: none
}

img,
svg {
    vertical-align: middle
}

svg {
    overflow: hidden
}

table {
    border-collapse: collapse
}

th {
    text-align: inherit
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

input[type=checkbox],
input[type=radio] {
    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 {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 0
}

legend {
    color: inherit;
    display: block;
    font-size: 1.5rem;
    line-height: inherit;
    margin-bottom: .5rem;
    max-width: 100%;
    padding: 0;
    white-space: normal;
    width: 100%
}

progress {
    vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: none;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

output {
    display: inline-block
}

summary {
    cursor: pointer;
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none !important
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-inline: -15px
}

.no-gutters {
    margin-left: 0;
    margin-right: 0
}

.no-gutters > .col,
.no-gutters > [class*=col-] {
    padding-left: 0;
    padding-right: 0
}

.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.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-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.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-auto,
.col-sm,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.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-auto,
.col-xl,
.col-xl-1,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.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-auto {
    padding-inline: 15px;
    position: relative;
    width: 100%
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%
}

.col-auto {
    flex: 0 0 auto;
    max-width: 100%;
    width: auto
}

.col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%
}

.col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%
}

.col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%
}

.col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%
}

.col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%
}

.col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%
}

.col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%
}

.col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%
}

.order-first {
    order: -1
}

.order-last {
    order: 13
}

.order-0 {
    order: 0
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.order-3 {
    order: 3
}

.order-4 {
    order: 4
}

.order-5 {
    order: 5
}

.order-6 {
    order: 6
}

.order-7 {
    order: 7
}

.order-8 {
    order: 8
}

.order-9 {
    order: 9
}

.order-10 {
    order: 10
}

.order-11 {
    order: 11
}

.order-12 {
    order: 12
}

.offset-1 {
    margin-left: 8.3333333333%
}

.offset-2 {
    margin-left: 16.6666666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.3333333333%
}

.offset-5 {
    margin-left: 41.6666666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.3333333333%
}

.offset-8 {
    margin-left: 66.6666666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.3333333333%
}

.offset-11 {
    margin-left: 91.6666666667%
}

@media (min-width:576px) {
    .col-sm {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }

    .col-sm-auto {
        flex: 0 0 auto;
        max-width: 100%;
        width: auto
    }

    .col-sm-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-sm-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-sm-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-sm-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-sm-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-sm-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-sm-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-sm-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-sm-first {
        order: -1
    }

    .order-sm-last {
        order: 13
    }

    .order-sm-0 {
        order: 0
    }

    .order-sm-1 {
        order: 1
    }

    .order-sm-2 {
        order: 2
    }

    .order-sm-3 {
        order: 3
    }

    .order-sm-4 {
        order: 4
    }

    .order-sm-5 {
        order: 5
    }

    .order-sm-6 {
        order: 6
    }

    .order-sm-7 {
        order: 7
    }

    .order-sm-8 {
        order: 8
    }

    .order-sm-9 {
        order: 9
    }

    .order-sm-10 {
        order: 10
    }

    .order-sm-11 {
        order: 11
    }

    .order-sm-12 {
        order: 12
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.3333333333%
    }

    .offset-sm-2 {
        margin-left: 16.6666666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.3333333333%
    }

    .offset-sm-5 {
        margin-left: 41.6666666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.3333333333%
    }

    .offset-sm-8 {
        margin-left: 66.6666666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.3333333333%
    }

    .offset-sm-11 {
        margin-left: 91.6666666667%
    }
}

@media (min-width:768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }

    .col-md-auto {
        flex: 0 0 auto;
        max-width: 100%;
        width: auto
    }

    .col-md-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-md-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-md-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-md-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-md-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-md-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-md-first {
        order: -1
    }

    .order-md-last {
        order: 13
    }

    .order-md-0 {
        order: 0
    }

    .order-md-1 {
        order: 1
    }

    .order-md-2 {
        order: 2
    }

    .order-md-3 {
        order: 3
    }

    .order-md-4 {
        order: 4
    }

    .order-md-5 {
        order: 5
    }

    .order-md-6 {
        order: 6
    }

    .order-md-7 {
        order: 7
    }

    .order-md-8 {
        order: 8
    }

    .order-md-9 {
        order: 9
    }

    .order-md-10 {
        order: 10
    }

    .order-md-11 {
        order: 11
    }

    .order-md-12 {
        order: 12
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.3333333333%
    }

    .offset-md-2 {
        margin-left: 16.6666666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.3333333333%
    }

    .offset-md-5 {
        margin-left: 41.6666666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.3333333333%
    }

    .offset-md-8 {
        margin-left: 66.6666666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.3333333333%
    }

    .offset-md-11 {
        margin-left: 91.6666666667%
    }
}

@media (min-width:992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }

    .col-lg-auto {
        flex: 0 0 auto;
        max-width: 100%;
        width: auto
    }

    .col-lg-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-lg-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-lg-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-lg-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-lg-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-lg-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-lg-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-lg-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-lg-first {
        order: -1
    }

    .order-lg-last {
        order: 13
    }

    .order-lg-0 {
        order: 0
    }

    .order-lg-1 {
        order: 1
    }

    .order-lg-2 {
        order: 2
    }

    .order-lg-3 {
        order: 3
    }

    .order-lg-4 {
        order: 4
    }

    .order-lg-5 {
        order: 5
    }

    .order-lg-6 {
        order: 6
    }

    .order-lg-7 {
        order: 7
    }

    .order-lg-8 {
        order: 8
    }

    .order-lg-9 {
        order: 9
    }

    .order-lg-10 {
        order: 10
    }

    .order-lg-11 {
        order: 11
    }

    .order-lg-12 {
        order: 12
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.3333333333%
    }

    .offset-lg-2 {
        margin-left: 16.6666666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.3333333333%
    }

    .offset-lg-5 {
        margin-left: 41.6666666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.3333333333%
    }

    .offset-lg-8 {
        margin-left: 66.6666666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.3333333333%
    }

    .offset-lg-11 {
        margin-left: 91.6666666667%
    }
}

@media (min-width:1380px) {
    .col-xl {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }

    .col-xl-auto {
        flex: 0 0 auto;
        max-width: 100%;
        width: auto
    }

    .col-xl-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-xl-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-xl-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-xl-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-xl-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-xl-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-xl-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-xl-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-xl-first {
        order: -1
    }

    .order-xl-last {
        order: 13
    }

    .order-xl-0 {
        order: 0
    }

    .order-xl-1 {
        order: 1
    }

    .order-xl-2 {
        order: 2
    }

    .order-xl-3 {
        order: 3
    }

    .order-xl-4 {
        order: 4
    }

    .order-xl-5 {
        order: 5
    }

    .order-xl-6 {
        order: 6
    }

    .order-xl-7 {
        order: 7
    }

    .order-xl-8 {
        order: 8
    }

    .order-xl-9 {
        order: 9
    }

    .order-xl-10 {
        order: 10
    }

    .order-xl-11 {
        order: 11
    }

    .order-xl-12 {
        order: 12
    }

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.3333333333%
    }

    .offset-xl-2 {
        margin-left: 16.6666666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.3333333333%
    }

    .offset-xl-5 {
        margin-left: 41.6666666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.3333333333%
    }

    .offset-xl-8 {
        margin-left: 66.6666666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.3333333333%
    }

    .offset-xl-11 {
        margin-left: 91.6666666667%
    }
}

.tt-u {
    text-transform: uppercase !important
}

.tt-l {
    text-transform: lowercase !important
}

.tt-c {
    text-transform: capitalize !important
}

.td-u {
    text-decoration: underline !important
}

.td-n {
    text-decoration: none !important
}

.fs-i {
    font-style: italic !important
}

.fs-o {
    font-style: oblique !important
}

.fs-n {
    font-style: normal !important
}

.bg-cover,
.bg-cover-bottom,
.bg-cover-top {
    background-position: 50% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important
}

.bg-cover-top {
    background-position: top !important
}

.bg-cover-bottom {
    background-position: bottom !important
}

.overlay {
    background-color: rgba(0, 0, 0, .8);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.overlay + * {
    position: relative;
    z-index: 2
}

.o-v {
    overflow: visible !important
}

.ox-v {
    overflow-x: visible !important
}

.oy-v {
    overflow-y: visible !important
}

.o-h {
    overflow: hidden !important
}

.ox-h {
    overflow-x: hidden !important
}

.oy-h {
    overflow-y: hidden !important
}

.p-r {
    position: relative !important
}

.p-a {
    position: absolute !important
}

.p-f {
    position: fixed !important
}

.p-s {
    position: static !important
}

.ai-start {
    align-items: flex-start
}

.ai-end {
    align-items: flex-end
}

.ai-center {
    align-items: center
}

.ai-baseline {
    align-items: baseline
}

.ai-stretch {
    align-items: stretch
}

.jc-start {
    justify-content: flex-start
}

.jc-end {
    justify-content: flex-end
}

.jc-center {
    justify-content: center
}

.jc-between {
    justify-content: space-between
}

.jc-around {
    justify-content: space-around
}

.ws-inherit {
    white-space: inherit
}

.ws-normal {
    white-space: normal
}

.ws-nowrap {
    white-space: nowrap
}

.ws-pre {
    white-space: pre
}

.ws-pre-wrap {
    white-space: pre-wrap
}

.ws-pre-line {
    white-space: pre-line
}

.pe-inherit {
    pointer-events: inherit
}

.pe-none {
    pointer-events: none
}

.pe-auto {
    pointer-events: auto
}

.optimize-animation {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    perspective: 1000;
    -webkit-perspective: 1000;
    transform-style: preserve-3d;
    will-change: transform
}

.transform-none {
    transform: none !important
}

.absolute-full {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.clear {
    clear: both
}

.img-full {
    display: inline-block;
    max-width: inherit
}

.img-full,
.w-100 {
    width: 100%
}

.h-100 {
    height: 100%
}

.fs-xs {
    font-size: .75rem !important
}

@media (max-width:1379.98px) {
    .fs-xs {
        font-size: .75rem !important
    }
}

@media (max-width:991.98px) {
    .fs-xs {
        font-size: .75rem !important
    }
}

@media (max-width:767.98px) {
    .fs-xs {
        font-size: .75rem !important
    }
}

@media (max-width:575.98px) {
    .fs-xs {
        font-size: .75rem !important
    }
}

.fs-sm {
    font-size: .875rem !important
}

@media (max-width:1379.98px) {
    .fs-sm {
        font-size: .875rem !important
    }
}

@media (max-width:991.98px) {
    .fs-sm {
        font-size: .875rem !important
    }
}

@media (max-width:767.98px) {
    .fs-sm {
        font-size: .875rem !important
    }
}

@media (max-width:575.98px) {
    .fs-sm {
        font-size: .875rem !important
    }
}

.fs-md {
    font-size: 1rem !important
}

@media (max-width:1379.98px) {
    .fs-md {
        font-size: 1rem !important
    }
}

@media (max-width:991.98px) {
    .fs-md {
        font-size: 1rem !important
    }
}

@media (max-width:767.98px) {
    .fs-md {
        font-size: 1rem !important
    }
}

@media (max-width:575.98px) {
    .fs-md {
        font-size: 1rem !important
    }
}

.fs-lg {
    font-size: 1.125rem !important
}

@media (max-width:1379.98px) {
    .fs-lg {
        font-size: 1.125rem !important
    }
}

@media (max-width:991.98px) {
    .fs-lg {
        font-size: 1.125rem !important
    }
}

@media (max-width:767.98px) {
    .fs-lg {
        font-size: 1.125rem !important
    }
}

@media (max-width:575.98px) {
    .fs-lg {
        font-size: 1.125rem !important
    }
}

.fs-xl {
    font-size: 1.25rem !important
}

@media (max-width:1379.98px) {
    .fs-xl {
        font-size: 1.25rem !important
    }
}

@media (max-width:991.98px) {
    .fs-xl {
        font-size: 1.25rem !important
    }
}

@media (max-width:767.98px) {
    .fs-xl {
        font-size: 1.25rem !important
    }
}

@media (max-width:575.98px) {
    .fs-xl {
        font-size: 1.25rem !important
    }
}

.fs-xxl {
    font-size: 1.5rem !important
}

@media (max-width:1379.98px) {
    .fs-xxl {
        font-size: 1.5rem !important
    }
}

@media (max-width:991.98px) {
    .fs-xxl {
        font-size: 1.5rem !important
    }
}

@media (max-width:767.98px) {
    .fs-xxl {
        font-size: 1.5rem !important
    }
}

@media (max-width:575.98px) {
    .fs-xxl {
        font-size: 1.5rem !important
    }
}

.cms h6,
.title-xs {
    font-size: 1.125rem
}

.cms h5,
.cms h6,
.title-sm,
.title-xs {
    color: inherit;
    font-family: "Noto Serif Display", serif;
    font-weight: 400;
    letter-spacing: .5px;
    line-height: 1.25
}

.cms h5,
.title-sm {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem)
}

.cms h4,
.title-md {
    font-size: clamp(1.25rem, 3vw, 2rem)
}

.cms h3,
.cms h4,
.title-lg,
.title-md {
    color: inherit;
    font-family: "Noto Serif Display", serif;
    font-weight: 400;
    letter-spacing: .5px;
    line-height: 1.25
}

.cms h3,
.title-lg {
    font-size: clamp(1.25rem, 4vw, 2.1875rem)
}

.cms h2,
.title-xl {
    font-size: clamp(1.5rem, 5vw, 3.0625rem)
}

.cms h1,
.cms h2,
.title-xl,
.title-xxl {
    color: inherit;
    font-family: "Noto Serif Display", serif;
    font-weight: 400;
    letter-spacing: .5px;
    line-height: 1.25
}

.cms h1,
.title-xxl {
    font-size: clamp(1.75rem, 6vw, 4rem)
}

.ff-default {
    font-family: Open Sans, sans-serif
}

.ff-custom {
    font-family: "Noto Serif Display", serif
}

.fw-100 {
    font-weight: 100
}

.fw-200 {
    font-weight: 200
}

.fw-300 {
    font-weight: 300
}

.fw-400 {
    font-weight: 400
}

.fw-500 {
    font-weight: 500
}

.fw-600 {
    font-weight: 600
}

.fw-700 {
    font-weight: 700
}

.fw-800 {
    font-weight: 800
}

.fw-900 {
    font-weight: 900
}

.lh-xs {
    line-height: 1
}

.lh-sm {
    line-height: 1.2
}

.lh-md {
    line-height: 1.5
}

.lh-lg {
    line-height: 1.6
}

.lh-xl {
    line-height: 1.8
}

.lh-xxl {
    line-height: 2
}

.c-black {
    color: #000
}

.c-very-dark-grey {
    color: #1e1e1e
}

.c-dark-grey {
    color: #424242
}

.c-grey {
    color: #999
}

.c-light-grey {
    color: #f2edeb
}

.c-very-light-grey {
    color: #fafafa
}

.c-white {
    color: #fff
}

.c-light-green {
    color: #72976d
}

.c-green {
    color: #2f4c41
}

.c-brown {
    color: #bb8a6c
}

.c-light-brown {
    color: #e5dcd6
}

.c-blue {
    color: #333f48
}

.c-primary {
    color: var(--primary-color)
}

.c-secondary {
    color: var(--secondary-color)
}

.c-tertiary {
    color: var(--tertiary-color)
}

.c-quaternary {
    color: var(--quaternary-color)
}

.link-white {
    color: #fff
}

.link-white:hover {
    color: #f2edeb
}

.links-white a {
    color: #fff
}

.links-white a:hover {
    color: #f2edeb
}

.link-black {
    color: #000
}

.link-black:hover {
    color: #999
}

.links-black a {
    color: #000
}

.links-black a:hover {
    color: #999
}

.btn,
.btn-black,
.btn-lg,
.btn-md,
.btn-sm,
.btn-white,
.btn-xs {
    background: #fff;
    border: 1px solid #f2edeb;
    border-radius: 0;
    box-shadow: none !important;
    color: #1e1e1e;
    cursor: pointer;
    display: inline-block;
    font-family: Open Sans, sans-serif;
    font-size: 14px;
    padding: 15px 20px;
    position: relative;
    transition: all .3s;
    white-space: inherit
}

.btn-black:hover,
.btn-lg:hover,
.btn-md:hover,
.btn-sm:hover,
.btn-white:hover,
.btn-xs:hover,
.btn:hover {
    color: #1e1e1e
}

.btn .icon,
.btn-black .icon,
.btn-lg .icon,
.btn-md .icon,
.btn-sm .icon,
.btn-white .icon,
.btn-xs .icon {
    align-items: center;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s;
    width: 30px
}

.btn .icon img,
.btn .icon svg,
.btn-black .icon img,
.btn-black .icon svg,
.btn-lg .icon img,
.btn-lg .icon svg,
.btn-md .icon img,
.btn-md .icon svg,
.btn-sm .icon img,
.btn-sm .icon svg,
.btn-white .icon img,
.btn-white .icon svg,
.btn-xs .icon img,
.btn-xs .icon svg {
    max-height: 100%;
    width: 100%
}

.btn-icon-right.btn-black,
.btn-icon-right.btn-lg,
.btn-icon-right.btn-md,
.btn-icon-right.btn-sm,
.btn-icon-right.btn-white,
.btn-icon-right.btn-xs,
.btn.btn-icon-right {
    padding-right: 60px;
    text-align: right
}

.btn-icon-right.btn-black .icon,
.btn-icon-right.btn-lg .icon,
.btn-icon-right.btn-md .icon,
.btn-icon-right.btn-sm .icon,
.btn-icon-right.btn-white .icon,
.btn-icon-right.btn-xs .icon,
.btn.btn-icon-right .icon {
    right: 20px
}

.btn-icon-left.btn-black,
.btn-icon-left.btn-lg,
.btn-icon-left.btn-md,
.btn-icon-left.btn-sm,
.btn-icon-left.btn-white,
.btn-icon-left.btn-xs,
.btn.btn-icon-left {
    padding-left: 60px;
    text-align: left
}

.btn-icon-left.btn-black .icon,
.btn-icon-left.btn-lg .icon,
.btn-icon-left.btn-md .icon,
.btn-icon-left.btn-sm .icon,
.btn-icon-left.btn-white .icon,
.btn-icon-left.btn-xs .icon,
.btn.btn-icon-left .icon {
    left: 20px
}

.btn-black {
    background-color: #000;
    border-color: #000;
    color: #fff
}

.btn-black:hover {
    color: #fff
}

.btn-black .icon {
    align-items: center;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s;
    width: 30px
}

.btn-black .icon img,
.btn-black .icon svg {
    max-height: 100%;
    width: 100%
}

.btn-black.btn-icon-right {
    padding-right: 60px;
    text-align: right
}

.btn-black.btn-icon-right .icon {
    right: 20px
}

.btn-black.btn-icon-left {
    padding-left: 60px;
    text-align: left
}

.btn-black.btn-icon-left .icon {
    left: 20px
}

.btn-white {
    background-color: #fff;
    border-color: #fff;
    color: #000
}

.btn-white:hover {
    color: #000
}

.btn-white .icon {
    align-items: center;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s;
    width: 30px
}

.btn-white .icon img,
.btn-white .icon svg {
    max-height: 100%;
    width: 100%
}

.btn-white.btn-icon-right {
    padding-right: 60px;
    text-align: right
}

.btn-white.btn-icon-right .icon {
    right: 20px
}

.btn-white.btn-icon-left {
    padding-left: 60px;
    text-align: left
}

.btn-white.btn-icon-left .icon {
    left: 20px
}

.btn-xs {
    font-size: 10px;
    padding: 2px 5px
}

.btn-xs .icon {
    align-items: center;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s;
    width: 10px
}

.btn-xs .icon img,
.btn-xs .icon svg {
    max-height: 100%;
    width: 100%
}

.btn-xs.btn-icon-right {
    padding-right: 25px;
    text-align: right
}

.btn-xs.btn-icon-right .icon {
    right: 5px
}

.btn-xs.btn-icon-left {
    padding-left: 25px;
    text-align: left
}

.btn-xs.btn-icon-left .icon {
    left: 5px
}

.btn-sm {
    font-size: 14px;
    padding: 5px 10px
}

.btn-sm .icon {
    align-items: center;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s;
    width: 20px
}

.btn-sm .icon img,
.btn-sm .icon svg {
    max-height: 100%;
    width: 100%
}

.btn-sm.btn-icon-right {
    padding-right: 40px;
    text-align: right
}

.btn-sm.btn-icon-right .icon {
    right: 10px
}

.btn-sm.btn-icon-left {
    padding-left: 40px;
    text-align: left
}

.btn-sm.btn-icon-left .icon {
    left: 10px
}

.btn-md {
    font-size: 16px;
    padding: 10px 20px
}

.btn-md .icon {
    align-items: center;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s;
    width: 30px
}

.btn-md .icon img,
.btn-md .icon svg {
    max-height: 100%;
    width: 100%
}

.btn-md.btn-icon-right {
    padding-right: 60px;
    text-align: right
}

.btn-md.btn-icon-right .icon {
    right: 20px
}

.btn-md.btn-icon-left {
    padding-left: 60px;
    text-align: left
}

.btn-md.btn-icon-left .icon {
    left: 20px
}

.btn-lg {
    font-size: 20px;
    padding: 20px 30px
}

.btn-lg .icon {
    align-items: center;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s;
    width: 50px
}

.btn-lg .icon img,
.btn-lg .icon svg {
    max-height: 100%;
    width: 100%
}

.btn-lg.btn-icon-right {
    padding-right: 90px;
    text-align: right
}

.btn-lg.btn-icon-right .icon {
    right: 30px
}

.btn-lg.btn-icon-left {
    padding-left: 90px;
    text-align: left
}

.btn-lg.btn-icon-left .icon {
    left: 30px
}

.bg-black {
    background-color: #000
}

.bg-very-dark-grey {
    background-color: #1e1e1e
}

.bg-dark-grey {
    background-color: #424242
}

.bg-grey {
    background-color: #999
}

.bg-light-grey {
    background-color: #f2edeb
}

.bg-very-light-grey {
    background-color: #fafafa
}

.bg-white {
    background-color: #fff
}

.bg-light-green {
    background-color: #72976d
}

.bg-green {
    background-color: #2f4c41
}

.bg-brown {
    background-color: #bb8a6c
}

.bg-light-brown {
    background-color: #e5dcd6
}

.bg-blue {
    background-color: #333f48
}

.bg-primary {
    background-color: var(--primary-color)
}

.bg-secondary {
    background-color: var(--secondary-color)
}

.bg-tertiary {
    background-color: var(--tertiary-color)
}

.bg-quaternary {
    background-color: var(--quaternary-color)
}

.ta-r {
    text-align: right
}

.ta-l {
    text-align: left
}

.ta-c {
    text-align: center
}

.ta-j {
    text-align: justify
}

@media (max-width:1379.98px) {
    .lg-down-ta-r {
        text-align: right
    }
}

@media (max-width:991.98px) {
    .md-down-ta-r {
        text-align: right
    }
}

@media (max-width:767.98px) {
    .sm-down-ta-r {
        text-align: right
    }
}

@media (max-width:575.98px) {
    .xs-down-ta-r {
        text-align: right
    }
}

.xs-up-ta-r {
    text-align: right
}

@media (min-width:576px) {
    .sm-up-ta-r {
        text-align: right
    }
}

@media (min-width:768px) {
    .md-up-ta-r {
        text-align: right
    }
}

@media (min-width:992px) {
    .lg-up-ta-r {
        text-align: right
    }
}

@media (min-width:1380px) {
    .xl-up-ta-r {
        text-align: right
    }
}

@media (max-width:1379.98px) {
    .lg-down-ta-l {
        text-align: left
    }
}

@media (max-width:991.98px) {
    .md-down-ta-l {
        text-align: left
    }
}

@media (max-width:767.98px) {
    .sm-down-ta-l {
        text-align: left
    }
}

@media (max-width:575.98px) {
    .xs-down-ta-l {
        text-align: left
    }
}

.xs-up-ta-l {
    text-align: left
}

@media (min-width:576px) {
    .sm-up-ta-l {
        text-align: left
    }
}

@media (min-width:768px) {
    .md-up-ta-l {
        text-align: left
    }
}

@media (min-width:992px) {
    .lg-up-ta-l {
        text-align: left
    }
}

@media (min-width:1380px) {
    .xl-up-ta-l {
        text-align: left
    }
}

@media (max-width:1379.98px) {
    .lg-down-ta-c {
        text-align: center
    }
}

@media (max-width:991.98px) {
    .md-down-ta-c {
        text-align: center
    }
}

@media (max-width:767.98px) {
    .sm-down-ta-c {
        text-align: center
    }
}

@media (max-width:575.98px) {
    .xs-down-ta-c {
        text-align: center
    }
}

.xs-up-ta-c {
    text-align: center
}

@media (min-width:576px) {
    .sm-up-ta-c {
        text-align: center
    }
}

@media (min-width:768px) {
    .md-up-ta-c {
        text-align: center
    }
}

@media (min-width:992px) {
    .lg-up-ta-c {
        text-align: center
    }
}

@media (min-width:1380px) {
    .xl-up-ta-c {
        text-align: center
    }
}

@media (max-width:1379.98px) {
    .lg-down-ta-j {
        text-align: justify
    }
}

@media (max-width:991.98px) {
    .md-down-ta-j {
        text-align: justify
    }
}

@media (max-width:767.98px) {
    .sm-down-ta-j {
        text-align: justify
    }
}

@media (max-width:575.98px) {
    .xs-down-ta-j {
        text-align: justify
    }
}

.xs-up-ta-j {
    text-align: justify
}

@media (min-width:576px) {
    .sm-up-ta-j {
        text-align: justify
    }
}

@media (min-width:768px) {
    .md-up-ta-j {
        text-align: justify
    }
}

@media (min-width:992px) {
    .lg-up-ta-j {
        text-align: justify
    }
}

@media (min-width:1380px) {
    .xl-up-ta-j {
        text-align: justify
    }
}

.ls-xs {
    letter-spacing: 1px
}

.ls-sm {
    letter-spacing: 2px
}

.ls-md {
    letter-spacing: 3px
}

.ls-lg {
    letter-spacing: 4px
}

.ls-xl {
    letter-spacing: 5px
}

.ls-xxl {
    letter-spacing: 6px
}

.d-none {
    display: none
}

.d-i {
    display: inline
}

.d-b {
    display: block
}

.d-ib {
    display: inline-block
}

.d-f {
    display: flex
}

.d-if {
    display: inline-flex
}

@media (max-width:1379.98px) {
    .lg-down-d-none {
        display: none
    }
}

@media (max-width:991.98px) {
    .md-down-d-none {
        display: none
    }
}

@media (max-width:767.98px) {
    .sm-down-d-none {
        display: none
    }
}

@media (max-width:575.98px) {
    .xs-down-d-none {
        display: none
    }
}

.xs-up-d-none {
    display: none
}

@media (min-width:576px) {
    .sm-up-d-none {
        display: none
    }
}

@media (min-width:768px) {
    .md-up-d-none {
        display: none
    }
}

@media (min-width:992px) {
    .lg-up-d-none {
        display: none
    }
}

@media (min-width:1380px) {
    .xl-up-d-none {
        display: none
    }
}

@media (max-width:1379.98px) {
    .lg-down-d-i {
        display: inline
    }
}

@media (max-width:991.98px) {
    .md-down-d-i {
        display: inline
    }
}

@media (max-width:767.98px) {
    .sm-down-d-i {
        display: inline
    }
}

@media (max-width:575.98px) {
    .xs-down-d-i {
        display: inline
    }
}

.xs-up-d-i {
    display: inline
}

@media (min-width:576px) {
    .sm-up-d-i {
        display: inline
    }
}

@media (min-width:768px) {
    .md-up-d-i {
        display: inline
    }
}

@media (min-width:992px) {
    .lg-up-d-i {
        display: inline
    }
}

@media (min-width:1380px) {
    .xl-up-d-i {
        display: inline
    }
}

@media (max-width:1379.98px) {
    .lg-down-d-b {
        display: block
    }
}

@media (max-width:991.98px) {
    .md-down-d-b {
        display: block
    }
}

@media (max-width:767.98px) {
    .sm-down-d-b {
        display: block
    }
}

@media (max-width:575.98px) {
    .xs-down-d-b {
        display: block
    }
}

.xs-up-d-b {
    display: block
}

@media (min-width:576px) {
    .sm-up-d-b {
        display: block
    }
}

@media (min-width:768px) {
    .md-up-d-b {
        display: block
    }
}

@media (min-width:992px) {
    .lg-up-d-b {
        display: block
    }
}

@media (min-width:1380px) {
    .xl-up-d-b {
        display: block
    }
}

@media (max-width:1379.98px) {
    .lg-down-d-ib {
        display: inline-block
    }
}

@media (max-width:991.98px) {
    .md-down-d-ib {
        display: inline-block
    }
}

@media (max-width:767.98px) {
    .sm-down-d-ib {
        display: inline-block
    }
}

@media (max-width:575.98px) {
    .xs-down-d-ib {
        display: inline-block
    }
}

.xs-up-d-ib {
    display: inline-block
}

@media (min-width:576px) {
    .sm-up-d-ib {
        display: inline-block
    }
}

@media (min-width:768px) {
    .md-up-d-ib {
        display: inline-block
    }
}

@media (min-width:992px) {
    .lg-up-d-ib {
        display: inline-block
    }
}

@media (min-width:1380px) {
    .xl-up-d-ib {
        display: inline-block
    }
}

@media (max-width:1379.98px) {
    .lg-down-d-f {
        display: flex
    }
}

@media (max-width:991.98px) {
    .md-down-d-f {
        display: flex
    }
}

@media (max-width:767.98px) {
    .sm-down-d-f {
        display: flex
    }
}

@media (max-width:575.98px) {
    .xs-down-d-f {
        display: flex
    }
}

.xs-up-d-f {
    display: flex
}

@media (min-width:576px) {
    .sm-up-d-f {
        display: flex
    }
}

@media (min-width:768px) {
    .md-up-d-f {
        display: flex
    }
}

@media (min-width:992px) {
    .lg-up-d-f {
        display: flex
    }
}

@media (min-width:1380px) {
    .xl-up-d-f {
        display: flex
    }
}

@media (max-width:1379.98px) {
    .lg-down-d-if {
        display: inline-flex
    }
}

@media (max-width:991.98px) {
    .md-down-d-if {
        display: inline-flex
    }
}

@media (max-width:767.98px) {
    .sm-down-d-if {
        display: inline-flex
    }
}

@media (max-width:575.98px) {
    .xs-down-d-if {
        display: inline-flex
    }
}

.xs-up-d-if {
    display: inline-flex
}

@media (min-width:576px) {
    .sm-up-d-if {
        display: inline-flex
    }
}

@media (min-width:768px) {
    .md-up-d-if {
        display: inline-flex
    }
}

@media (min-width:992px) {
    .lg-up-d-if {
        display: inline-flex
    }
}

@media (min-width:1380px) {
    .xl-up-d-if {
        display: inline-flex
    }
}

.bg-img,
.bg-img-almost-square,
.bg-img-landscape,
.bg-img-landscape-sm,
.bg-img-portrait,
.bg-img-square {
    background-color: #000;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

.bg-img-almost-square:after,
.bg-img-landscape-sm:after,
.bg-img-landscape:after,
.bg-img-portrait:after,
.bg-img-square:after,
.bg-img:after {
    content: "";
    display: block
}

.bg-img-square:after {
    padding-bottom: 100%
}

.bg-img-almost-square:after {
    padding-bottom: 85%
}

.bg-img-landscape:after {
    padding-bottom: 70%
}

.bg-img-landscape-sm:after {
    padding-bottom: 60%
}

.bg-img-portrait:after {
    padding-bottom: 130%
}

.m-0 {
    margin: 0 !important
}

.mt-0 {
    margin-top: 0 !important
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important
}

.my-0 {
    margin-top: 0 !important
}

.ml-0 {
    margin-left: 0 !important
}

.mr-0,
.mx-0 {
    margin-right: 0 !important
}

.mx-0 {
    margin-left: 0 !important
}

.p-0 {
    padding: 0 !important
}

.pt-0 {
    padding-top: 0 !important
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important
}

.py-0 {
    padding-top: 0 !important
}

.pl-0 {
    padding-left: 0 !important
}

.pr-0,
.px-0 {
    padding-right: 0 !important
}

.px-0 {
    padding-left: 0 !important
}

.m-xs {
    margin: 5px !important
}

.mt-xs {
    margin-top: 5px !important
}

.mb-xs,
.my-xs {
    margin-bottom: 5px !important
}

.my-xs {
    margin-top: 5px !important
}

.ml-xs {
    margin-left: 5px !important
}

.mr-xs,
.mx-xs {
    margin-right: 5px !important
}

.mx-xs {
    margin-left: 5px !important
}

.p-xs {
    padding: 5px !important
}

.pt-xs {
    padding-top: 5px !important
}

.pb-xs,
.py-xs {
    padding-bottom: 5px !important
}

.py-xs {
    padding-top: 5px !important
}

.pl-xs {
    padding-left: 5px !important
}

.pr-xs,
.px-xs {
    padding-right: 5px !important
}

.px-xs {
    padding-left: 5px !important
}

.m-sm {
    margin: 15px !important
}

.mt-sm {
    margin-top: 15px !important
}

.mb-sm,
.my-sm {
    margin-bottom: 15px !important
}

.my-sm {
    margin-top: 15px !important
}

.ml-sm {
    margin-left: 15px !important
}

.mr-sm,
.mx-sm {
    margin-right: 15px !important
}

.mx-sm {
    margin-left: 15px !important
}

.p-sm {
    padding: 15px !important
}

.pt-sm {
    padding-top: 15px !important
}

.pb-sm,
.py-sm {
    padding-bottom: 15px !important
}

.py-sm {
    padding-top: 15px !important
}

.pl-sm {
    padding-left: 15px !important
}

.pr-sm,
.px-sm {
    padding-right: 15px !important
}

.px-sm {
    padding-left: 15px !important
}

.m-md {
    margin: 40px !important
}

.mt-md {
    margin-top: 40px !important
}

.mb-md,
.my-md {
    margin-bottom: 40px !important
}

.my-md {
    margin-top: 40px !important
}

.ml-md {
    margin-left: 40px !important
}

.mr-md,
.mx-md {
    margin-right: 40px !important
}

.mx-md {
    margin-left: 40px !important
}

.p-md {
    padding: 40px !important
}

.pt-md {
    padding-top: 40px !important
}

.pb-md,
.py-md {
    padding-bottom: 40px !important
}

.py-md {
    padding-top: 40px !important
}

.pl-md {
    padding-left: 40px !important
}

.pr-md,
.px-md {
    padding-right: 40px !important
}

.px-md {
    padding-left: 40px !important
}

.m-lg {
    margin: 60px !important
}

.mt-lg {
    margin-top: 60px !important
}

.mb-lg,
.my-lg {
    margin-bottom: 60px !important
}

.my-lg {
    margin-top: 60px !important
}

.ml-lg {
    margin-left: 60px !important
}

.mr-lg,
.mx-lg {
    margin-right: 60px !important
}

.mx-lg {
    margin-left: 60px !important
}

.p-lg {
    padding: 60px !important
}

.pt-lg {
    padding-top: 60px !important
}

.pb-lg,
.py-lg {
    padding-bottom: 60px !important
}

.py-lg {
    padding-top: 60px !important
}

.pl-lg {
    padding-left: 60px !important
}

.pr-lg,
.px-lg {
    padding-right: 60px !important
}

.px-lg {
    padding-left: 60px !important
}

.m-xl {
    margin: 70px !important
}

.mt-xl {
    margin-top: 70px !important
}

.mb-xl,
.my-xl {
    margin-bottom: 70px !important
}

.my-xl {
    margin-top: 70px !important
}

.ml-xl {
    margin-left: 70px !important
}

.mr-xl,
.mx-xl {
    margin-right: 70px !important
}

.mx-xl {
    margin-left: 70px !important
}

.p-xl {
    padding: 70px !important
}

.pt-xl {
    padding-top: 70px !important
}

.pb-xl,
.py-xl {
    padding-bottom: 70px !important
}

.py-xl {
    padding-top: 70px !important
}

.pl-xl {
    padding-left: 70px !important
}

.pr-xl,
.px-xl {
    padding-right: 70px !important
}

.px-xl {
    padding-left: 70px !important
}

.m-xxl {
    margin: 140px !important
}

.mt-xxl {
    margin-top: 140px !important
}

.mb-xxl,
.my-xxl {
    margin-bottom: 140px !important
}

.my-xxl {
    margin-top: 140px !important
}

.ml-xxl {
    margin-left: 140px !important
}

.mr-xxl,
.mx-xxl {
    margin-right: 140px !important
}

.mx-xxl {
    margin-left: 140px !important
}

.p-xxl {
    padding: 140px !important
}

.pt-xxl {
    padding-top: 140px !important
}

.pb-xxl,
.py-xxl {
    padding-bottom: 140px !important
}

.py-xxl {
    padding-top: 140px !important
}

.pl-xxl {
    padding-left: 140px !important
}

.pr-xxl,
.px-xxl {
    padding-right: 140px !important
}

.px-xxl {
    padding-left: 140px !important
}

.m-0-child-not-last > :not(:last-child),
.m-0-child > * {
    margin: 0 !important
}

.mt-0-child-not-last > :not(:last-child),
.mt-0-child > * {
    margin-top: 0 !important
}

.mb-0-child-not-last > :not(:last-child),
.mb-0-child > * {
    margin-bottom: 0 !important
}

.my-0-child-not-last > :not(:last-child),
.my-0-child > * {
    margin-bottom: 0 !important;
    margin-top: 0 !important
}

.ml-0-child-not-last > :not(:last-child),
.ml-0-child > * {
    margin-left: 0 !important
}

.mr-0-child-not-last > :not(:last-child),
.mr-0-child > * {
    margin-right: 0 !important
}

.mx-0-child-not-last > :not(:last-child),
.mx-0-child > * {
    margin-left: 0 !important;
    margin-right: 0 !important
}

.p-0-child-not-last > :not(:last-child),
.p-0-child > * {
    padding: 0 !important
}

.pt-0-child-not-last > :not(:last-child),
.pt-0-child > * {
    padding-top: 0 !important
}

.pb-0-child-not-last > :not(:last-child),
.pb-0-child > * {
    padding-bottom: 0 !important
}

.py-0-child-not-last > :not(:last-child),
.py-0-child > * {
    padding-bottom: 0 !important;
    padding-top: 0 !important
}

.pl-0-child-not-last > :not(:last-child),
.pl-0-child > * {
    padding-left: 0 !important
}

.pr-0-child-not-last > :not(:last-child),
.pr-0-child > * {
    padding-right: 0 !important
}

.px-0-child-not-last > :not(:last-child),
.px-0-child > * {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.m-xs-child-not-last > :not(:last-child),
.m-xs-child > * {
    margin: 5px !important
}

.mt-xs-child-not-last > :not(:last-child),
.mt-xs-child > * {
    margin-top: 5px !important
}

.mb-xs-child-not-last > :not(:last-child),
.mb-xs-child > * {
    margin-bottom: 5px !important
}

.my-xs-child-not-last > :not(:last-child),
.my-xs-child > * {
    margin-bottom: 5px !important;
    margin-top: 5px !important
}

.ml-xs-child-not-last > :not(:last-child),
.ml-xs-child > * {
    margin-left: 5px !important
}

.mr-xs-child-not-last > :not(:last-child),
.mr-xs-child > * {
    margin-right: 5px !important
}

.mx-xs-child-not-last > :not(:last-child),
.mx-xs-child > * {
    margin-left: 5px !important;
    margin-right: 5px !important
}

.p-xs-child-not-last > :not(:last-child),
.p-xs-child > * {
    padding: 5px !important
}

.pt-xs-child-not-last > :not(:last-child),
.pt-xs-child > * {
    padding-top: 5px !important
}

.pb-xs-child-not-last > :not(:last-child),
.pb-xs-child > * {
    padding-bottom: 5px !important
}

.py-xs-child-not-last > :not(:last-child),
.py-xs-child > * {
    padding-bottom: 5px !important;
    padding-top: 5px !important
}

.pl-xs-child-not-last > :not(:last-child),
.pl-xs-child > * {
    padding-left: 5px !important
}

.pr-xs-child-not-last > :not(:last-child),
.pr-xs-child > * {
    padding-right: 5px !important
}

.px-xs-child-not-last > :not(:last-child),
.px-xs-child > * {
    padding-left: 5px !important;
    padding-right: 5px !important
}

.m-sm-child-not-last > :not(:last-child),
.m-sm-child > * {
    margin: 15px !important
}

.mt-sm-child-not-last > :not(:last-child),
.mt-sm-child > * {
    margin-top: 15px !important
}

.mb-sm-child-not-last > :not(:last-child),
.mb-sm-child > * {
    margin-bottom: 15px !important
}

.my-sm-child-not-last > :not(:last-child),
.my-sm-child > * {
    margin-bottom: 15px !important;
    margin-top: 15px !important
}

.ml-sm-child-not-last > :not(:last-child),
.ml-sm-child > * {
    margin-left: 15px !important
}

.mr-sm-child-not-last > :not(:last-child),
.mr-sm-child > * {
    margin-right: 15px !important
}

.mx-sm-child-not-last > :not(:last-child),
.mx-sm-child > * {
    margin-left: 15px !important;
    margin-right: 15px !important
}

.p-sm-child-not-last > :not(:last-child),
.p-sm-child > * {
    padding: 15px !important
}

.pt-sm-child-not-last > :not(:last-child),
.pt-sm-child > * {
    padding-top: 15px !important
}

.pb-sm-child-not-last > :not(:last-child),
.pb-sm-child > * {
    padding-bottom: 15px !important
}

.py-sm-child-not-last > :not(:last-child),
.py-sm-child > * {
    padding-bottom: 15px !important;
    padding-top: 15px !important
}

.pl-sm-child-not-last > :not(:last-child),
.pl-sm-child > * {
    padding-left: 15px !important
}

.pr-sm-child-not-last > :not(:last-child),
.pr-sm-child > * {
    padding-right: 15px !important
}

.px-sm-child-not-last > :not(:last-child),
.px-sm-child > * {
    padding-left: 15px !important;
    padding-right: 15px !important
}

.m-md-child-not-last > :not(:last-child),
.m-md-child > * {
    margin: 40px !important
}

.mt-md-child-not-last > :not(:last-child),
.mt-md-child > * {
    margin-top: 40px !important
}

.mb-md-child-not-last > :not(:last-child),
.mb-md-child > * {
    margin-bottom: 40px !important
}

.my-md-child-not-last > :not(:last-child),
.my-md-child > * {
    margin-bottom: 40px !important;
    margin-top: 40px !important
}

.ml-md-child-not-last > :not(:last-child),
.ml-md-child > * {
    margin-left: 40px !important
}

.mr-md-child-not-last > :not(:last-child),
.mr-md-child > * {
    margin-right: 40px !important
}

.mx-md-child-not-last > :not(:last-child),
.mx-md-child > * {
    margin-left: 40px !important;
    margin-right: 40px !important
}

.p-md-child-not-last > :not(:last-child),
.p-md-child > * {
    padding: 40px !important
}

.pt-md-child-not-last > :not(:last-child),
.pt-md-child > * {
    padding-top: 40px !important
}

.pb-md-child-not-last > :not(:last-child),
.pb-md-child > * {
    padding-bottom: 40px !important
}

.py-md-child-not-last > :not(:last-child),
.py-md-child > * {
    padding-bottom: 40px !important;
    padding-top: 40px !important
}

.pl-md-child-not-last > :not(:last-child),
.pl-md-child > * {
    padding-left: 40px !important
}

.pr-md-child-not-last > :not(:last-child),
.pr-md-child > * {
    padding-right: 40px !important
}

.px-md-child-not-last > :not(:last-child),
.px-md-child > * {
    padding-left: 40px !important;
    padding-right: 40px !important
}

.m-lg-child-not-last > :not(:last-child),
.m-lg-child > * {
    margin: 60px !important
}

.mt-lg-child-not-last > :not(:last-child),
.mt-lg-child > * {
    margin-top: 60px !important
}

.mb-lg-child-not-last > :not(:last-child),
.mb-lg-child > * {
    margin-bottom: 60px !important
}

.my-lg-child-not-last > :not(:last-child),
.my-lg-child > * {
    margin-bottom: 60px !important;
    margin-top: 60px !important
}

.ml-lg-child-not-last > :not(:last-child),
.ml-lg-child > * {
    margin-left: 60px !important
}

.mr-lg-child-not-last > :not(:last-child),
.mr-lg-child > * {
    margin-right: 60px !important
}

.mx-lg-child-not-last > :not(:last-child),
.mx-lg-child > * {
    margin-left: 60px !important;
    margin-right: 60px !important
}

.p-lg-child-not-last > :not(:last-child),
.p-lg-child > * {
    padding: 60px !important
}

.pt-lg-child-not-last > :not(:last-child),
.pt-lg-child > * {
    padding-top: 60px !important
}

.pb-lg-child-not-last > :not(:last-child),
.pb-lg-child > * {
    padding-bottom: 60px !important
}

.py-lg-child-not-last > :not(:last-child),
.py-lg-child > * {
    padding-bottom: 60px !important;
    padding-top: 60px !important
}

.pl-lg-child-not-last > :not(:last-child),
.pl-lg-child > * {
    padding-left: 60px !important
}

.pr-lg-child-not-last > :not(:last-child),
.pr-lg-child > * {
    padding-right: 60px !important
}

.px-lg-child-not-last > :not(:last-child),
.px-lg-child > * {
    padding-left: 60px !important;
    padding-right: 60px !important
}

.m-xl-child-not-last > :not(:last-child),
.m-xl-child > * {
    margin: 70px !important
}

.mt-xl-child-not-last > :not(:last-child),
.mt-xl-child > * {
    margin-top: 70px !important
}

.mb-xl-child-not-last > :not(:last-child),
.mb-xl-child > * {
    margin-bottom: 70px !important
}

.my-xl-child-not-last > :not(:last-child),
.my-xl-child > * {
    margin-bottom: 70px !important;
    margin-top: 70px !important
}

.ml-xl-child-not-last > :not(:last-child),
.ml-xl-child > * {
    margin-left: 70px !important
}

.mr-xl-child-not-last > :not(:last-child),
.mr-xl-child > * {
    margin-right: 70px !important
}

.mx-xl-child-not-last > :not(:last-child),
.mx-xl-child > * {
    margin-left: 70px !important;
    margin-right: 70px !important
}

.p-xl-child-not-last > :not(:last-child),
.p-xl-child > * {
    padding: 70px !important
}

.pt-xl-child-not-last > :not(:last-child),
.pt-xl-child > * {
    padding-top: 70px !important
}

.pb-xl-child-not-last > :not(:last-child),
.pb-xl-child > * {
    padding-bottom: 70px !important
}

.py-xl-child-not-last > :not(:last-child),
.py-xl-child > * {
    padding-bottom: 70px !important;
    padding-top: 70px !important
}

.pl-xl-child-not-last > :not(:last-child),
.pl-xl-child > * {
    padding-left: 70px !important
}

.pr-xl-child-not-last > :not(:last-child),
.pr-xl-child > * {
    padding-right: 70px !important
}

.px-xl-child-not-last > :not(:last-child),
.px-xl-child > * {
    padding-left: 70px !important;
    padding-right: 70px !important
}

.m-xxl-child-not-last > :not(:last-child),
.m-xxl-child > * {
    margin: 140px !important
}

.mt-xxl-child-not-last > :not(:last-child),
.mt-xxl-child > * {
    margin-top: 140px !important
}

.mb-xxl-child-not-last > :not(:last-child),
.mb-xxl-child > * {
    margin-bottom: 140px !important
}

.my-xxl-child-not-last > :not(:last-child),
.my-xxl-child > * {
    margin-bottom: 140px !important;
    margin-top: 140px !important
}

.ml-xxl-child-not-last > :not(:last-child),
.ml-xxl-child > * {
    margin-left: 140px !important
}

.mr-xxl-child-not-last > :not(:last-child),
.mr-xxl-child > * {
    margin-right: 140px !important
}

.mx-xxl-child-not-last > :not(:last-child),
.mx-xxl-child > * {
    margin-left: 140px !important;
    margin-right: 140px !important
}

.p-xxl-child-not-last > :not(:last-child),
.p-xxl-child > * {
    padding: 140px !important
}

.pt-xxl-child-not-last > :not(:last-child),
.pt-xxl-child > * {
    padding-top: 140px !important
}

.pb-xxl-child-not-last > :not(:last-child),
.pb-xxl-child > * {
    padding-bottom: 140px !important
}

.py-xxl-child-not-last > :not(:last-child),
.py-xxl-child > * {
    padding-bottom: 140px !important;
    padding-top: 140px !important
}

.pl-xxl-child-not-last > :not(:last-child),
.pl-xxl-child > * {
    padding-left: 140px !important
}

.pr-xxl-child-not-last > :not(:last-child),
.pr-xxl-child > * {
    padding-right: 140px !important
}

.px-xxl-child-not-last > :not(:last-child),
.px-xxl-child > * {
    padding-left: 140px !important;
    padding-right: 140px !important
}

@media (max-width:1379.98px) {

    .lg-down-m-0,
    .lg-down-m-0-child-not-last > :not(:last-child),
    .lg-down-m-0-child > * {
        margin: 0 !important
    }

    .lg-down-mt-0,
    .lg-down-mt-0-child-not-last > :not(:last-child),
    .lg-down-mt-0-child > * {
        margin-top: 0 !important
    }

    .lg-down-mb-0,
    .lg-down-mb-0-child-not-last > :not(:last-child),
    .lg-down-mb-0-child > *,
    .lg-down-my-0 {
        margin-bottom: 0 !important
    }

    .lg-down-my-0,
    .lg-down-my-0-child > * {
        margin-top: 0 !important
    }

    .lg-down-my-0-child > * {
        margin-bottom: 0 !important
    }

    .lg-down-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .lg-down-ml-0,
    .lg-down-ml-0-child-not-last > :not(:last-child),
    .lg-down-ml-0-child > * {
        margin-left: 0 !important
    }

    .lg-down-mr-0,
    .lg-down-mr-0-child-not-last > :not(:last-child),
    .lg-down-mr-0-child > *,
    .lg-down-mx-0 {
        margin-right: 0 !important
    }

    .lg-down-mx-0,
    .lg-down-mx-0-child > * {
        margin-left: 0 !important
    }

    .lg-down-mx-0-child > * {
        margin-right: 0 !important
    }

    .lg-down-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .lg-down-p-0,
    .lg-down-p-0-child-not-last > :not(:last-child),
    .lg-down-p-0-child > * {
        padding: 0 !important
    }

    .lg-down-pt-0,
    .lg-down-pt-0-child-not-last > :not(:last-child),
    .lg-down-pt-0-child > * {
        padding-top: 0 !important
    }

    .lg-down-pb-0,
    .lg-down-pb-0-child-not-last > :not(:last-child),
    .lg-down-pb-0-child > *,
    .lg-down-py-0 {
        padding-bottom: 0 !important
    }

    .lg-down-py-0,
    .lg-down-py-0-child > * {
        padding-top: 0 !important
    }

    .lg-down-py-0-child > * {
        padding-bottom: 0 !important
    }

    .lg-down-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .lg-down-pl-0,
    .lg-down-pl-0-child-not-last > :not(:last-child),
    .lg-down-pl-0-child > * {
        padding-left: 0 !important
    }

    .lg-down-pr-0,
    .lg-down-pr-0-child-not-last > :not(:last-child),
    .lg-down-pr-0-child > *,
    .lg-down-px-0 {
        padding-right: 0 !important
    }

    .lg-down-px-0,
    .lg-down-px-0-child > * {
        padding-left: 0 !important
    }

    .lg-down-px-0-child > * {
        padding-right: 0 !important
    }

    .lg-down-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .lg-down-m-xs,
    .lg-down-m-xs-child-not-last > :not(:last-child),
    .lg-down-m-xs-child > * {
        margin: 5px !important
    }

    .lg-down-mt-xs,
    .lg-down-mt-xs-child-not-last > :not(:last-child),
    .lg-down-mt-xs-child > * {
        margin-top: 5px !important
    }

    .lg-down-mb-xs,
    .lg-down-mb-xs-child-not-last > :not(:last-child),
    .lg-down-mb-xs-child > *,
    .lg-down-my-xs {
        margin-bottom: 5px !important
    }

    .lg-down-my-xs,
    .lg-down-my-xs-child > * {
        margin-top: 5px !important
    }

    .lg-down-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .lg-down-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .lg-down-ml-xs,
    .lg-down-ml-xs-child-not-last > :not(:last-child),
    .lg-down-ml-xs-child > * {
        margin-left: 5px !important
    }

    .lg-down-mr-xs,
    .lg-down-mr-xs-child-not-last > :not(:last-child),
    .lg-down-mr-xs-child > *,
    .lg-down-mx-xs {
        margin-right: 5px !important
    }

    .lg-down-mx-xs,
    .lg-down-mx-xs-child > * {
        margin-left: 5px !important
    }

    .lg-down-mx-xs-child > * {
        margin-right: 5px !important
    }

    .lg-down-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .lg-down-p-xs,
    .lg-down-p-xs-child-not-last > :not(:last-child),
    .lg-down-p-xs-child > * {
        padding: 5px !important
    }

    .lg-down-pt-xs,
    .lg-down-pt-xs-child-not-last > :not(:last-child),
    .lg-down-pt-xs-child > * {
        padding-top: 5px !important
    }

    .lg-down-pb-xs,
    .lg-down-pb-xs-child-not-last > :not(:last-child),
    .lg-down-pb-xs-child > *,
    .lg-down-py-xs {
        padding-bottom: 5px !important
    }

    .lg-down-py-xs,
    .lg-down-py-xs-child > * {
        padding-top: 5px !important
    }

    .lg-down-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .lg-down-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .lg-down-pl-xs,
    .lg-down-pl-xs-child-not-last > :not(:last-child),
    .lg-down-pl-xs-child > * {
        padding-left: 5px !important
    }

    .lg-down-pr-xs,
    .lg-down-pr-xs-child-not-last > :not(:last-child),
    .lg-down-pr-xs-child > *,
    .lg-down-px-xs {
        padding-right: 5px !important
    }

    .lg-down-px-xs,
    .lg-down-px-xs-child > * {
        padding-left: 5px !important
    }

    .lg-down-px-xs-child > * {
        padding-right: 5px !important
    }

    .lg-down-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .lg-down-m-sm,
    .lg-down-m-sm-child-not-last > :not(:last-child),
    .lg-down-m-sm-child > * {
        margin: 15px !important
    }

    .lg-down-mt-sm,
    .lg-down-mt-sm-child-not-last > :not(:last-child),
    .lg-down-mt-sm-child > * {
        margin-top: 15px !important
    }

    .lg-down-mb-sm,
    .lg-down-mb-sm-child-not-last > :not(:last-child),
    .lg-down-mb-sm-child > *,
    .lg-down-my-sm {
        margin-bottom: 15px !important
    }

    .lg-down-my-sm,
    .lg-down-my-sm-child > * {
        margin-top: 15px !important
    }

    .lg-down-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .lg-down-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .lg-down-ml-sm,
    .lg-down-ml-sm-child-not-last > :not(:last-child),
    .lg-down-ml-sm-child > * {
        margin-left: 15px !important
    }

    .lg-down-mr-sm,
    .lg-down-mr-sm-child-not-last > :not(:last-child),
    .lg-down-mr-sm-child > *,
    .lg-down-mx-sm {
        margin-right: 15px !important
    }

    .lg-down-mx-sm,
    .lg-down-mx-sm-child > * {
        margin-left: 15px !important
    }

    .lg-down-mx-sm-child > * {
        margin-right: 15px !important
    }

    .lg-down-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .lg-down-p-sm,
    .lg-down-p-sm-child-not-last > :not(:last-child),
    .lg-down-p-sm-child > * {
        padding: 15px !important
    }

    .lg-down-pt-sm,
    .lg-down-pt-sm-child-not-last > :not(:last-child),
    .lg-down-pt-sm-child > * {
        padding-top: 15px !important
    }

    .lg-down-pb-sm,
    .lg-down-pb-sm-child-not-last > :not(:last-child),
    .lg-down-pb-sm-child > *,
    .lg-down-py-sm {
        padding-bottom: 15px !important
    }

    .lg-down-py-sm,
    .lg-down-py-sm-child > * {
        padding-top: 15px !important
    }

    .lg-down-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .lg-down-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .lg-down-pl-sm,
    .lg-down-pl-sm-child-not-last > :not(:last-child),
    .lg-down-pl-sm-child > * {
        padding-left: 15px !important
    }

    .lg-down-pr-sm,
    .lg-down-pr-sm-child-not-last > :not(:last-child),
    .lg-down-pr-sm-child > *,
    .lg-down-px-sm {
        padding-right: 15px !important
    }

    .lg-down-px-sm,
    .lg-down-px-sm-child > * {
        padding-left: 15px !important
    }

    .lg-down-px-sm-child > * {
        padding-right: 15px !important
    }

    .lg-down-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .lg-down-m-md,
    .lg-down-m-md-child-not-last > :not(:last-child),
    .lg-down-m-md-child > * {
        margin: 40px !important
    }

    .lg-down-mt-md,
    .lg-down-mt-md-child-not-last > :not(:last-child),
    .lg-down-mt-md-child > * {
        margin-top: 40px !important
    }

    .lg-down-mb-md,
    .lg-down-mb-md-child-not-last > :not(:last-child),
    .lg-down-mb-md-child > *,
    .lg-down-my-md {
        margin-bottom: 40px !important
    }

    .lg-down-my-md,
    .lg-down-my-md-child > * {
        margin-top: 40px !important
    }

    .lg-down-my-md-child > * {
        margin-bottom: 40px !important
    }

    .lg-down-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .lg-down-ml-md,
    .lg-down-ml-md-child-not-last > :not(:last-child),
    .lg-down-ml-md-child > * {
        margin-left: 40px !important
    }

    .lg-down-mr-md,
    .lg-down-mr-md-child-not-last > :not(:last-child),
    .lg-down-mr-md-child > *,
    .lg-down-mx-md {
        margin-right: 40px !important
    }

    .lg-down-mx-md,
    .lg-down-mx-md-child > * {
        margin-left: 40px !important
    }

    .lg-down-mx-md-child > * {
        margin-right: 40px !important
    }

    .lg-down-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .lg-down-p-md,
    .lg-down-p-md-child-not-last > :not(:last-child),
    .lg-down-p-md-child > * {
        padding: 40px !important
    }

    .lg-down-pt-md,
    .lg-down-pt-md-child-not-last > :not(:last-child),
    .lg-down-pt-md-child > * {
        padding-top: 40px !important
    }

    .lg-down-pb-md,
    .lg-down-pb-md-child-not-last > :not(:last-child),
    .lg-down-pb-md-child > *,
    .lg-down-py-md {
        padding-bottom: 40px !important
    }

    .lg-down-py-md,
    .lg-down-py-md-child > * {
        padding-top: 40px !important
    }

    .lg-down-py-md-child > * {
        padding-bottom: 40px !important
    }

    .lg-down-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .lg-down-pl-md,
    .lg-down-pl-md-child-not-last > :not(:last-child),
    .lg-down-pl-md-child > * {
        padding-left: 40px !important
    }

    .lg-down-pr-md,
    .lg-down-pr-md-child-not-last > :not(:last-child),
    .lg-down-pr-md-child > *,
    .lg-down-px-md {
        padding-right: 40px !important
    }

    .lg-down-px-md,
    .lg-down-px-md-child > * {
        padding-left: 40px !important
    }

    .lg-down-px-md-child > * {
        padding-right: 40px !important
    }

    .lg-down-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .lg-down-m-lg,
    .lg-down-m-lg-child-not-last > :not(:last-child),
    .lg-down-m-lg-child > * {
        margin: 60px !important
    }

    .lg-down-mt-lg,
    .lg-down-mt-lg-child-not-last > :not(:last-child),
    .lg-down-mt-lg-child > * {
        margin-top: 60px !important
    }

    .lg-down-mb-lg,
    .lg-down-mb-lg-child-not-last > :not(:last-child),
    .lg-down-mb-lg-child > *,
    .lg-down-my-lg {
        margin-bottom: 60px !important
    }

    .lg-down-my-lg,
    .lg-down-my-lg-child > * {
        margin-top: 60px !important
    }

    .lg-down-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .lg-down-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .lg-down-ml-lg,
    .lg-down-ml-lg-child-not-last > :not(:last-child),
    .lg-down-ml-lg-child > * {
        margin-left: 60px !important
    }

    .lg-down-mr-lg,
    .lg-down-mr-lg-child-not-last > :not(:last-child),
    .lg-down-mr-lg-child > *,
    .lg-down-mx-lg {
        margin-right: 60px !important
    }

    .lg-down-mx-lg,
    .lg-down-mx-lg-child > * {
        margin-left: 60px !important
    }

    .lg-down-mx-lg-child > * {
        margin-right: 60px !important
    }

    .lg-down-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .lg-down-p-lg,
    .lg-down-p-lg-child-not-last > :not(:last-child),
    .lg-down-p-lg-child > * {
        padding: 60px !important
    }

    .lg-down-pt-lg,
    .lg-down-pt-lg-child-not-last > :not(:last-child),
    .lg-down-pt-lg-child > * {
        padding-top: 60px !important
    }

    .lg-down-pb-lg,
    .lg-down-pb-lg-child-not-last > :not(:last-child),
    .lg-down-pb-lg-child > *,
    .lg-down-py-lg {
        padding-bottom: 60px !important
    }

    .lg-down-py-lg,
    .lg-down-py-lg-child > * {
        padding-top: 60px !important
    }

    .lg-down-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .lg-down-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .lg-down-pl-lg,
    .lg-down-pl-lg-child-not-last > :not(:last-child),
    .lg-down-pl-lg-child > * {
        padding-left: 60px !important
    }

    .lg-down-pr-lg,
    .lg-down-pr-lg-child-not-last > :not(:last-child),
    .lg-down-pr-lg-child > *,
    .lg-down-px-lg {
        padding-right: 60px !important
    }

    .lg-down-px-lg,
    .lg-down-px-lg-child > * {
        padding-left: 60px !important
    }

    .lg-down-px-lg-child > * {
        padding-right: 60px !important
    }

    .lg-down-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .lg-down-m-xl,
    .lg-down-m-xl-child-not-last > :not(:last-child),
    .lg-down-m-xl-child > * {
        margin: 70px !important
    }

    .lg-down-mt-xl,
    .lg-down-mt-xl-child-not-last > :not(:last-child),
    .lg-down-mt-xl-child > * {
        margin-top: 70px !important
    }

    .lg-down-mb-xl,
    .lg-down-mb-xl-child-not-last > :not(:last-child),
    .lg-down-mb-xl-child > *,
    .lg-down-my-xl {
        margin-bottom: 70px !important
    }

    .lg-down-my-xl,
    .lg-down-my-xl-child > * {
        margin-top: 70px !important
    }

    .lg-down-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .lg-down-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .lg-down-ml-xl,
    .lg-down-ml-xl-child-not-last > :not(:last-child),
    .lg-down-ml-xl-child > * {
        margin-left: 70px !important
    }

    .lg-down-mr-xl,
    .lg-down-mr-xl-child-not-last > :not(:last-child),
    .lg-down-mr-xl-child > *,
    .lg-down-mx-xl {
        margin-right: 70px !important
    }

    .lg-down-mx-xl,
    .lg-down-mx-xl-child > * {
        margin-left: 70px !important
    }

    .lg-down-mx-xl-child > * {
        margin-right: 70px !important
    }

    .lg-down-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .lg-down-p-xl,
    .lg-down-p-xl-child-not-last > :not(:last-child),
    .lg-down-p-xl-child > * {
        padding: 70px !important
    }

    .lg-down-pt-xl,
    .lg-down-pt-xl-child-not-last > :not(:last-child),
    .lg-down-pt-xl-child > * {
        padding-top: 70px !important
    }

    .lg-down-pb-xl,
    .lg-down-pb-xl-child-not-last > :not(:last-child),
    .lg-down-pb-xl-child > *,
    .lg-down-py-xl {
        padding-bottom: 70px !important
    }

    .lg-down-py-xl,
    .lg-down-py-xl-child > * {
        padding-top: 70px !important
    }

    .lg-down-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .lg-down-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .lg-down-pl-xl,
    .lg-down-pl-xl-child-not-last > :not(:last-child),
    .lg-down-pl-xl-child > * {
        padding-left: 70px !important
    }

    .lg-down-pr-xl,
    .lg-down-pr-xl-child-not-last > :not(:last-child),
    .lg-down-pr-xl-child > *,
    .lg-down-px-xl {
        padding-right: 70px !important
    }

    .lg-down-px-xl,
    .lg-down-px-xl-child > * {
        padding-left: 70px !important
    }

    .lg-down-px-xl-child > * {
        padding-right: 70px !important
    }

    .lg-down-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .lg-down-m-xxl,
    .lg-down-m-xxl-child-not-last > :not(:last-child),
    .lg-down-m-xxl-child > * {
        margin: 140px !important
    }

    .lg-down-mt-xxl,
    .lg-down-mt-xxl-child-not-last > :not(:last-child),
    .lg-down-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .lg-down-mb-xxl,
    .lg-down-mb-xxl-child-not-last > :not(:last-child),
    .lg-down-mb-xxl-child > *,
    .lg-down-my-xxl {
        margin-bottom: 140px !important
    }

    .lg-down-my-xxl,
    .lg-down-my-xxl-child > * {
        margin-top: 140px !important
    }

    .lg-down-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .lg-down-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .lg-down-ml-xxl,
    .lg-down-ml-xxl-child-not-last > :not(:last-child),
    .lg-down-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .lg-down-mr-xxl,
    .lg-down-mr-xxl-child-not-last > :not(:last-child),
    .lg-down-mr-xxl-child > *,
    .lg-down-mx-xxl {
        margin-right: 140px !important
    }

    .lg-down-mx-xxl,
    .lg-down-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .lg-down-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .lg-down-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .lg-down-p-xxl,
    .lg-down-p-xxl-child-not-last > :not(:last-child),
    .lg-down-p-xxl-child > * {
        padding: 140px !important
    }

    .lg-down-pt-xxl,
    .lg-down-pt-xxl-child-not-last > :not(:last-child),
    .lg-down-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .lg-down-pb-xxl,
    .lg-down-pb-xxl-child-not-last > :not(:last-child),
    .lg-down-pb-xxl-child > *,
    .lg-down-py-xxl {
        padding-bottom: 140px !important
    }

    .lg-down-py-xxl,
    .lg-down-py-xxl-child > * {
        padding-top: 140px !important
    }

    .lg-down-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .lg-down-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .lg-down-pl-xxl,
    .lg-down-pl-xxl-child-not-last > :not(:last-child),
    .lg-down-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .lg-down-pr-xxl,
    .lg-down-pr-xxl-child-not-last > :not(:last-child),
    .lg-down-pr-xxl-child > *,
    .lg-down-px-xxl {
        padding-right: 140px !important
    }

    .lg-down-px-xxl,
    .lg-down-px-xxl-child > * {
        padding-left: 140px !important
    }

    .lg-down-px-xxl-child > * {
        padding-right: 140px !important
    }

    .lg-down-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

@media (max-width:991.98px) {

    .md-down-m-0,
    .md-down-m-0-child-not-last > :not(:last-child),
    .md-down-m-0-child > * {
        margin: 0 !important
    }

    .md-down-mt-0,
    .md-down-mt-0-child-not-last > :not(:last-child),
    .md-down-mt-0-child > * {
        margin-top: 0 !important
    }

    .md-down-mb-0,
    .md-down-mb-0-child-not-last > :not(:last-child),
    .md-down-mb-0-child > *,
    .md-down-my-0 {
        margin-bottom: 0 !important
    }

    .md-down-my-0,
    .md-down-my-0-child > * {
        margin-top: 0 !important
    }

    .md-down-my-0-child > * {
        margin-bottom: 0 !important
    }

    .md-down-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .md-down-ml-0,
    .md-down-ml-0-child-not-last > :not(:last-child),
    .md-down-ml-0-child > * {
        margin-left: 0 !important
    }

    .md-down-mr-0,
    .md-down-mr-0-child-not-last > :not(:last-child),
    .md-down-mr-0-child > *,
    .md-down-mx-0 {
        margin-right: 0 !important
    }

    .md-down-mx-0,
    .md-down-mx-0-child > * {
        margin-left: 0 !important
    }

    .md-down-mx-0-child > * {
        margin-right: 0 !important
    }

    .md-down-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .md-down-p-0,
    .md-down-p-0-child-not-last > :not(:last-child),
    .md-down-p-0-child > * {
        padding: 0 !important
    }

    .md-down-pt-0,
    .md-down-pt-0-child-not-last > :not(:last-child),
    .md-down-pt-0-child > * {
        padding-top: 0 !important
    }

    .md-down-pb-0,
    .md-down-pb-0-child-not-last > :not(:last-child),
    .md-down-pb-0-child > *,
    .md-down-py-0 {
        padding-bottom: 0 !important
    }

    .md-down-py-0,
    .md-down-py-0-child > * {
        padding-top: 0 !important
    }

    .md-down-py-0-child > * {
        padding-bottom: 0 !important
    }

    .md-down-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .md-down-pl-0,
    .md-down-pl-0-child-not-last > :not(:last-child),
    .md-down-pl-0-child > * {
        padding-left: 0 !important
    }

    .md-down-pr-0,
    .md-down-pr-0-child-not-last > :not(:last-child),
    .md-down-pr-0-child > *,
    .md-down-px-0 {
        padding-right: 0 !important
    }

    .md-down-px-0,
    .md-down-px-0-child > * {
        padding-left: 0 !important
    }

    .md-down-px-0-child > * {
        padding-right: 0 !important
    }

    .md-down-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .md-down-m-xs,
    .md-down-m-xs-child-not-last > :not(:last-child),
    .md-down-m-xs-child > * {
        margin: 5px !important
    }

    .md-down-mt-xs,
    .md-down-mt-xs-child-not-last > :not(:last-child),
    .md-down-mt-xs-child > * {
        margin-top: 5px !important
    }

    .md-down-mb-xs,
    .md-down-mb-xs-child-not-last > :not(:last-child),
    .md-down-mb-xs-child > *,
    .md-down-my-xs {
        margin-bottom: 5px !important
    }

    .md-down-my-xs,
    .md-down-my-xs-child > * {
        margin-top: 5px !important
    }

    .md-down-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .md-down-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .md-down-ml-xs,
    .md-down-ml-xs-child-not-last > :not(:last-child),
    .md-down-ml-xs-child > * {
        margin-left: 5px !important
    }

    .md-down-mr-xs,
    .md-down-mr-xs-child-not-last > :not(:last-child),
    .md-down-mr-xs-child > *,
    .md-down-mx-xs {
        margin-right: 5px !important
    }

    .md-down-mx-xs,
    .md-down-mx-xs-child > * {
        margin-left: 5px !important
    }

    .md-down-mx-xs-child > * {
        margin-right: 5px !important
    }

    .md-down-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .md-down-p-xs,
    .md-down-p-xs-child-not-last > :not(:last-child),
    .md-down-p-xs-child > * {
        padding: 5px !important
    }

    .md-down-pt-xs,
    .md-down-pt-xs-child-not-last > :not(:last-child),
    .md-down-pt-xs-child > * {
        padding-top: 5px !important
    }

    .md-down-pb-xs,
    .md-down-pb-xs-child-not-last > :not(:last-child),
    .md-down-pb-xs-child > *,
    .md-down-py-xs {
        padding-bottom: 5px !important
    }

    .md-down-py-xs,
    .md-down-py-xs-child > * {
        padding-top: 5px !important
    }

    .md-down-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .md-down-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .md-down-pl-xs,
    .md-down-pl-xs-child-not-last > :not(:last-child),
    .md-down-pl-xs-child > * {
        padding-left: 5px !important
    }

    .md-down-pr-xs,
    .md-down-pr-xs-child-not-last > :not(:last-child),
    .md-down-pr-xs-child > *,
    .md-down-px-xs {
        padding-right: 5px !important
    }

    .md-down-px-xs,
    .md-down-px-xs-child > * {
        padding-left: 5px !important
    }

    .md-down-px-xs-child > * {
        padding-right: 5px !important
    }

    .md-down-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .md-down-m-sm,
    .md-down-m-sm-child-not-last > :not(:last-child),
    .md-down-m-sm-child > * {
        margin: 15px !important
    }

    .md-down-mt-sm,
    .md-down-mt-sm-child-not-last > :not(:last-child),
    .md-down-mt-sm-child > * {
        margin-top: 15px !important
    }

    .md-down-mb-sm,
    .md-down-mb-sm-child-not-last > :not(:last-child),
    .md-down-mb-sm-child > *,
    .md-down-my-sm {
        margin-bottom: 15px !important
    }

    .md-down-my-sm,
    .md-down-my-sm-child > * {
        margin-top: 15px !important
    }

    .md-down-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .md-down-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .md-down-ml-sm,
    .md-down-ml-sm-child-not-last > :not(:last-child),
    .md-down-ml-sm-child > * {
        margin-left: 15px !important
    }

    .md-down-mr-sm,
    .md-down-mr-sm-child-not-last > :not(:last-child),
    .md-down-mr-sm-child > *,
    .md-down-mx-sm {
        margin-right: 15px !important
    }

    .md-down-mx-sm,
    .md-down-mx-sm-child > * {
        margin-left: 15px !important
    }

    .md-down-mx-sm-child > * {
        margin-right: 15px !important
    }

    .md-down-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .md-down-p-sm,
    .md-down-p-sm-child-not-last > :not(:last-child),
    .md-down-p-sm-child > * {
        padding: 15px !important
    }

    .md-down-pt-sm,
    .md-down-pt-sm-child-not-last > :not(:last-child),
    .md-down-pt-sm-child > * {
        padding-top: 15px !important
    }

    .md-down-pb-sm,
    .md-down-pb-sm-child-not-last > :not(:last-child),
    .md-down-pb-sm-child > *,
    .md-down-py-sm {
        padding-bottom: 15px !important
    }

    .md-down-py-sm,
    .md-down-py-sm-child > * {
        padding-top: 15px !important
    }

    .md-down-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .md-down-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .md-down-pl-sm,
    .md-down-pl-sm-child-not-last > :not(:last-child),
    .md-down-pl-sm-child > * {
        padding-left: 15px !important
    }

    .md-down-pr-sm,
    .md-down-pr-sm-child-not-last > :not(:last-child),
    .md-down-pr-sm-child > *,
    .md-down-px-sm {
        padding-right: 15px !important
    }

    .md-down-px-sm,
    .md-down-px-sm-child > * {
        padding-left: 15px !important
    }

    .md-down-px-sm-child > * {
        padding-right: 15px !important
    }

    .md-down-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .md-down-m-md,
    .md-down-m-md-child-not-last > :not(:last-child),
    .md-down-m-md-child > * {
        margin: 40px !important
    }

    .md-down-mt-md,
    .md-down-mt-md-child-not-last > :not(:last-child),
    .md-down-mt-md-child > * {
        margin-top: 40px !important
    }

    .md-down-mb-md,
    .md-down-mb-md-child-not-last > :not(:last-child),
    .md-down-mb-md-child > *,
    .md-down-my-md {
        margin-bottom: 40px !important
    }

    .md-down-my-md,
    .md-down-my-md-child > * {
        margin-top: 40px !important
    }

    .md-down-my-md-child > * {
        margin-bottom: 40px !important
    }

    .md-down-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .md-down-ml-md,
    .md-down-ml-md-child-not-last > :not(:last-child),
    .md-down-ml-md-child > * {
        margin-left: 40px !important
    }

    .md-down-mr-md,
    .md-down-mr-md-child-not-last > :not(:last-child),
    .md-down-mr-md-child > *,
    .md-down-mx-md {
        margin-right: 40px !important
    }

    .md-down-mx-md,
    .md-down-mx-md-child > * {
        margin-left: 40px !important
    }

    .md-down-mx-md-child > * {
        margin-right: 40px !important
    }

    .md-down-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .md-down-p-md,
    .md-down-p-md-child-not-last > :not(:last-child),
    .md-down-p-md-child > * {
        padding: 40px !important
    }

    .md-down-pt-md,
    .md-down-pt-md-child-not-last > :not(:last-child),
    .md-down-pt-md-child > * {
        padding-top: 40px !important
    }

    .md-down-pb-md,
    .md-down-pb-md-child-not-last > :not(:last-child),
    .md-down-pb-md-child > *,
    .md-down-py-md {
        padding-bottom: 40px !important
    }

    .md-down-py-md,
    .md-down-py-md-child > * {
        padding-top: 40px !important
    }

    .md-down-py-md-child > * {
        padding-bottom: 40px !important
    }

    .md-down-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .md-down-pl-md,
    .md-down-pl-md-child-not-last > :not(:last-child),
    .md-down-pl-md-child > * {
        padding-left: 40px !important
    }

    .md-down-pr-md,
    .md-down-pr-md-child-not-last > :not(:last-child),
    .md-down-pr-md-child > *,
    .md-down-px-md {
        padding-right: 40px !important
    }

    .md-down-px-md,
    .md-down-px-md-child > * {
        padding-left: 40px !important
    }

    .md-down-px-md-child > * {
        padding-right: 40px !important
    }

    .md-down-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .md-down-m-lg,
    .md-down-m-lg-child-not-last > :not(:last-child),
    .md-down-m-lg-child > * {
        margin: 60px !important
    }

    .md-down-mt-lg,
    .md-down-mt-lg-child-not-last > :not(:last-child),
    .md-down-mt-lg-child > * {
        margin-top: 60px !important
    }

    .md-down-mb-lg,
    .md-down-mb-lg-child-not-last > :not(:last-child),
    .md-down-mb-lg-child > *,
    .md-down-my-lg {
        margin-bottom: 60px !important
    }

    .md-down-my-lg,
    .md-down-my-lg-child > * {
        margin-top: 60px !important
    }

    .md-down-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .md-down-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .md-down-ml-lg,
    .md-down-ml-lg-child-not-last > :not(:last-child),
    .md-down-ml-lg-child > * {
        margin-left: 60px !important
    }

    .md-down-mr-lg,
    .md-down-mr-lg-child-not-last > :not(:last-child),
    .md-down-mr-lg-child > *,
    .md-down-mx-lg {
        margin-right: 60px !important
    }

    .md-down-mx-lg,
    .md-down-mx-lg-child > * {
        margin-left: 60px !important
    }

    .md-down-mx-lg-child > * {
        margin-right: 60px !important
    }

    .md-down-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .md-down-p-lg,
    .md-down-p-lg-child-not-last > :not(:last-child),
    .md-down-p-lg-child > * {
        padding: 60px !important
    }

    .md-down-pt-lg,
    .md-down-pt-lg-child-not-last > :not(:last-child),
    .md-down-pt-lg-child > * {
        padding-top: 60px !important
    }

    .md-down-pb-lg,
    .md-down-pb-lg-child-not-last > :not(:last-child),
    .md-down-pb-lg-child > *,
    .md-down-py-lg {
        padding-bottom: 60px !important
    }

    .md-down-py-lg,
    .md-down-py-lg-child > * {
        padding-top: 60px !important
    }

    .md-down-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .md-down-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .md-down-pl-lg,
    .md-down-pl-lg-child-not-last > :not(:last-child),
    .md-down-pl-lg-child > * {
        padding-left: 60px !important
    }

    .md-down-pr-lg,
    .md-down-pr-lg-child-not-last > :not(:last-child),
    .md-down-pr-lg-child > *,
    .md-down-px-lg {
        padding-right: 60px !important
    }

    .md-down-px-lg,
    .md-down-px-lg-child > * {
        padding-left: 60px !important
    }

    .md-down-px-lg-child > * {
        padding-right: 60px !important
    }

    .md-down-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .md-down-m-xl,
    .md-down-m-xl-child-not-last > :not(:last-child),
    .md-down-m-xl-child > * {
        margin: 70px !important
    }

    .md-down-mt-xl,
    .md-down-mt-xl-child-not-last > :not(:last-child),
    .md-down-mt-xl-child > * {
        margin-top: 70px !important
    }

    .md-down-mb-xl,
    .md-down-mb-xl-child-not-last > :not(:last-child),
    .md-down-mb-xl-child > *,
    .md-down-my-xl {
        margin-bottom: 70px !important
    }

    .md-down-my-xl,
    .md-down-my-xl-child > * {
        margin-top: 70px !important
    }

    .md-down-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .md-down-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .md-down-ml-xl,
    .md-down-ml-xl-child-not-last > :not(:last-child),
    .md-down-ml-xl-child > * {
        margin-left: 70px !important
    }

    .md-down-mr-xl,
    .md-down-mr-xl-child-not-last > :not(:last-child),
    .md-down-mr-xl-child > *,
    .md-down-mx-xl {
        margin-right: 70px !important
    }

    .md-down-mx-xl,
    .md-down-mx-xl-child > * {
        margin-left: 70px !important
    }

    .md-down-mx-xl-child > * {
        margin-right: 70px !important
    }

    .md-down-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .md-down-p-xl,
    .md-down-p-xl-child-not-last > :not(:last-child),
    .md-down-p-xl-child > * {
        padding: 70px !important
    }

    .md-down-pt-xl,
    .md-down-pt-xl-child-not-last > :not(:last-child),
    .md-down-pt-xl-child > * {
        padding-top: 70px !important
    }

    .md-down-pb-xl,
    .md-down-pb-xl-child-not-last > :not(:last-child),
    .md-down-pb-xl-child > *,
    .md-down-py-xl {
        padding-bottom: 70px !important
    }

    .md-down-py-xl,
    .md-down-py-xl-child > * {
        padding-top: 70px !important
    }

    .md-down-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .md-down-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .md-down-pl-xl,
    .md-down-pl-xl-child-not-last > :not(:last-child),
    .md-down-pl-xl-child > * {
        padding-left: 70px !important
    }

    .md-down-pr-xl,
    .md-down-pr-xl-child-not-last > :not(:last-child),
    .md-down-pr-xl-child > *,
    .md-down-px-xl {
        padding-right: 70px !important
    }

    .md-down-px-xl,
    .md-down-px-xl-child > * {
        padding-left: 70px !important
    }

    .md-down-px-xl-child > * {
        padding-right: 70px !important
    }

    .md-down-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .md-down-m-xxl,
    .md-down-m-xxl-child-not-last > :not(:last-child),
    .md-down-m-xxl-child > * {
        margin: 140px !important
    }

    .md-down-mt-xxl,
    .md-down-mt-xxl-child-not-last > :not(:last-child),
    .md-down-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .md-down-mb-xxl,
    .md-down-mb-xxl-child-not-last > :not(:last-child),
    .md-down-mb-xxl-child > *,
    .md-down-my-xxl {
        margin-bottom: 140px !important
    }

    .md-down-my-xxl,
    .md-down-my-xxl-child > * {
        margin-top: 140px !important
    }

    .md-down-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .md-down-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .md-down-ml-xxl,
    .md-down-ml-xxl-child-not-last > :not(:last-child),
    .md-down-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .md-down-mr-xxl,
    .md-down-mr-xxl-child-not-last > :not(:last-child),
    .md-down-mr-xxl-child > *,
    .md-down-mx-xxl {
        margin-right: 140px !important
    }

    .md-down-mx-xxl,
    .md-down-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .md-down-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .md-down-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .md-down-p-xxl,
    .md-down-p-xxl-child-not-last > :not(:last-child),
    .md-down-p-xxl-child > * {
        padding: 140px !important
    }

    .md-down-pt-xxl,
    .md-down-pt-xxl-child-not-last > :not(:last-child),
    .md-down-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .md-down-pb-xxl,
    .md-down-pb-xxl-child-not-last > :not(:last-child),
    .md-down-pb-xxl-child > *,
    .md-down-py-xxl {
        padding-bottom: 140px !important
    }

    .md-down-py-xxl,
    .md-down-py-xxl-child > * {
        padding-top: 140px !important
    }

    .md-down-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .md-down-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .md-down-pl-xxl,
    .md-down-pl-xxl-child-not-last > :not(:last-child),
    .md-down-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .md-down-pr-xxl,
    .md-down-pr-xxl-child-not-last > :not(:last-child),
    .md-down-pr-xxl-child > *,
    .md-down-px-xxl {
        padding-right: 140px !important
    }

    .md-down-px-xxl,
    .md-down-px-xxl-child > * {
        padding-left: 140px !important
    }

    .md-down-px-xxl-child > * {
        padding-right: 140px !important
    }

    .md-down-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

@media (max-width:767.98px) {

    .sm-down-m-0,
    .sm-down-m-0-child-not-last > :not(:last-child),
    .sm-down-m-0-child > * {
        margin: 0 !important
    }

    .sm-down-mt-0,
    .sm-down-mt-0-child-not-last > :not(:last-child),
    .sm-down-mt-0-child > * {
        margin-top: 0 !important
    }

    .sm-down-mb-0,
    .sm-down-mb-0-child-not-last > :not(:last-child),
    .sm-down-mb-0-child > *,
    .sm-down-my-0 {
        margin-bottom: 0 !important
    }

    .sm-down-my-0,
    .sm-down-my-0-child > * {
        margin-top: 0 !important
    }

    .sm-down-my-0-child > * {
        margin-bottom: 0 !important
    }

    .sm-down-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .sm-down-ml-0,
    .sm-down-ml-0-child-not-last > :not(:last-child),
    .sm-down-ml-0-child > * {
        margin-left: 0 !important
    }

    .sm-down-mr-0,
    .sm-down-mr-0-child-not-last > :not(:last-child),
    .sm-down-mr-0-child > *,
    .sm-down-mx-0 {
        margin-right: 0 !important
    }

    .sm-down-mx-0,
    .sm-down-mx-0-child > * {
        margin-left: 0 !important
    }

    .sm-down-mx-0-child > * {
        margin-right: 0 !important
    }

    .sm-down-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .sm-down-p-0,
    .sm-down-p-0-child-not-last > :not(:last-child),
    .sm-down-p-0-child > * {
        padding: 0 !important
    }

    .sm-down-pt-0,
    .sm-down-pt-0-child-not-last > :not(:last-child),
    .sm-down-pt-0-child > * {
        padding-top: 0 !important
    }

    .sm-down-pb-0,
    .sm-down-pb-0-child-not-last > :not(:last-child),
    .sm-down-pb-0-child > *,
    .sm-down-py-0 {
        padding-bottom: 0 !important
    }

    .sm-down-py-0,
    .sm-down-py-0-child > * {
        padding-top: 0 !important
    }

    .sm-down-py-0-child > * {
        padding-bottom: 0 !important
    }

    .sm-down-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .sm-down-pl-0,
    .sm-down-pl-0-child-not-last > :not(:last-child),
    .sm-down-pl-0-child > * {
        padding-left: 0 !important
    }

    .sm-down-pr-0,
    .sm-down-pr-0-child-not-last > :not(:last-child),
    .sm-down-pr-0-child > *,
    .sm-down-px-0 {
        padding-right: 0 !important
    }

    .sm-down-px-0,
    .sm-down-px-0-child > * {
        padding-left: 0 !important
    }

    .sm-down-px-0-child > * {
        padding-right: 0 !important
    }

    .sm-down-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .sm-down-m-xs,
    .sm-down-m-xs-child-not-last > :not(:last-child),
    .sm-down-m-xs-child > * {
        margin: 5px !important
    }

    .sm-down-mt-xs,
    .sm-down-mt-xs-child-not-last > :not(:last-child),
    .sm-down-mt-xs-child > * {
        margin-top: 5px !important
    }

    .sm-down-mb-xs,
    .sm-down-mb-xs-child-not-last > :not(:last-child),
    .sm-down-mb-xs-child > *,
    .sm-down-my-xs {
        margin-bottom: 5px !important
    }

    .sm-down-my-xs,
    .sm-down-my-xs-child > * {
        margin-top: 5px !important
    }

    .sm-down-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .sm-down-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .sm-down-ml-xs,
    .sm-down-ml-xs-child-not-last > :not(:last-child),
    .sm-down-ml-xs-child > * {
        margin-left: 5px !important
    }

    .sm-down-mr-xs,
    .sm-down-mr-xs-child-not-last > :not(:last-child),
    .sm-down-mr-xs-child > *,
    .sm-down-mx-xs {
        margin-right: 5px !important
    }

    .sm-down-mx-xs,
    .sm-down-mx-xs-child > * {
        margin-left: 5px !important
    }

    .sm-down-mx-xs-child > * {
        margin-right: 5px !important
    }

    .sm-down-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .sm-down-p-xs,
    .sm-down-p-xs-child-not-last > :not(:last-child),
    .sm-down-p-xs-child > * {
        padding: 5px !important
    }

    .sm-down-pt-xs,
    .sm-down-pt-xs-child-not-last > :not(:last-child),
    .sm-down-pt-xs-child > * {
        padding-top: 5px !important
    }

    .sm-down-pb-xs,
    .sm-down-pb-xs-child-not-last > :not(:last-child),
    .sm-down-pb-xs-child > *,
    .sm-down-py-xs {
        padding-bottom: 5px !important
    }

    .sm-down-py-xs,
    .sm-down-py-xs-child > * {
        padding-top: 5px !important
    }

    .sm-down-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .sm-down-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .sm-down-pl-xs,
    .sm-down-pl-xs-child-not-last > :not(:last-child),
    .sm-down-pl-xs-child > * {
        padding-left: 5px !important
    }

    .sm-down-pr-xs,
    .sm-down-pr-xs-child-not-last > :not(:last-child),
    .sm-down-pr-xs-child > *,
    .sm-down-px-xs {
        padding-right: 5px !important
    }

    .sm-down-px-xs,
    .sm-down-px-xs-child > * {
        padding-left: 5px !important
    }

    .sm-down-px-xs-child > * {
        padding-right: 5px !important
    }

    .sm-down-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .sm-down-m-sm,
    .sm-down-m-sm-child-not-last > :not(:last-child),
    .sm-down-m-sm-child > * {
        margin: 15px !important
    }

    .sm-down-mt-sm,
    .sm-down-mt-sm-child-not-last > :not(:last-child),
    .sm-down-mt-sm-child > * {
        margin-top: 15px !important
    }

    .sm-down-mb-sm,
    .sm-down-mb-sm-child-not-last > :not(:last-child),
    .sm-down-mb-sm-child > *,
    .sm-down-my-sm {
        margin-bottom: 15px !important
    }

    .sm-down-my-sm,
    .sm-down-my-sm-child > * {
        margin-top: 15px !important
    }

    .sm-down-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .sm-down-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .sm-down-ml-sm,
    .sm-down-ml-sm-child-not-last > :not(:last-child),
    .sm-down-ml-sm-child > * {
        margin-left: 15px !important
    }

    .sm-down-mr-sm,
    .sm-down-mr-sm-child-not-last > :not(:last-child),
    .sm-down-mr-sm-child > *,
    .sm-down-mx-sm {
        margin-right: 15px !important
    }

    .sm-down-mx-sm,
    .sm-down-mx-sm-child > * {
        margin-left: 15px !important
    }

    .sm-down-mx-sm-child > * {
        margin-right: 15px !important
    }

    .sm-down-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .sm-down-p-sm,
    .sm-down-p-sm-child-not-last > :not(:last-child),
    .sm-down-p-sm-child > * {
        padding: 15px !important
    }

    .sm-down-pt-sm,
    .sm-down-pt-sm-child-not-last > :not(:last-child),
    .sm-down-pt-sm-child > * {
        padding-top: 15px !important
    }

    .sm-down-pb-sm,
    .sm-down-pb-sm-child-not-last > :not(:last-child),
    .sm-down-pb-sm-child > *,
    .sm-down-py-sm {
        padding-bottom: 15px !important
    }

    .sm-down-py-sm,
    .sm-down-py-sm-child > * {
        padding-top: 15px !important
    }

    .sm-down-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .sm-down-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .sm-down-pl-sm,
    .sm-down-pl-sm-child-not-last > :not(:last-child),
    .sm-down-pl-sm-child > * {
        padding-left: 15px !important
    }

    .sm-down-pr-sm,
    .sm-down-pr-sm-child-not-last > :not(:last-child),
    .sm-down-pr-sm-child > *,
    .sm-down-px-sm {
        padding-right: 15px !important
    }

    .sm-down-px-sm,
    .sm-down-px-sm-child > * {
        padding-left: 15px !important
    }

    .sm-down-px-sm-child > * {
        padding-right: 15px !important
    }

    .sm-down-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .sm-down-m-md,
    .sm-down-m-md-child-not-last > :not(:last-child),
    .sm-down-m-md-child > * {
        margin: 40px !important
    }

    .sm-down-mt-md,
    .sm-down-mt-md-child-not-last > :not(:last-child),
    .sm-down-mt-md-child > * {
        margin-top: 40px !important
    }

    .sm-down-mb-md,
    .sm-down-mb-md-child-not-last > :not(:last-child),
    .sm-down-mb-md-child > *,
    .sm-down-my-md {
        margin-bottom: 40px !important
    }

    .sm-down-my-md,
    .sm-down-my-md-child > * {
        margin-top: 40px !important
    }

    .sm-down-my-md-child > * {
        margin-bottom: 40px !important
    }

    .sm-down-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .sm-down-ml-md,
    .sm-down-ml-md-child-not-last > :not(:last-child),
    .sm-down-ml-md-child > * {
        margin-left: 40px !important
    }

    .sm-down-mr-md,
    .sm-down-mr-md-child-not-last > :not(:last-child),
    .sm-down-mr-md-child > *,
    .sm-down-mx-md {
        margin-right: 40px !important
    }

    .sm-down-mx-md,
    .sm-down-mx-md-child > * {
        margin-left: 40px !important
    }

    .sm-down-mx-md-child > * {
        margin-right: 40px !important
    }

    .sm-down-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .sm-down-p-md,
    .sm-down-p-md-child-not-last > :not(:last-child),
    .sm-down-p-md-child > * {
        padding: 40px !important
    }

    .sm-down-pt-md,
    .sm-down-pt-md-child-not-last > :not(:last-child),
    .sm-down-pt-md-child > * {
        padding-top: 40px !important
    }

    .sm-down-pb-md,
    .sm-down-pb-md-child-not-last > :not(:last-child),
    .sm-down-pb-md-child > *,
    .sm-down-py-md {
        padding-bottom: 40px !important
    }

    .sm-down-py-md,
    .sm-down-py-md-child > * {
        padding-top: 40px !important
    }

    .sm-down-py-md-child > * {
        padding-bottom: 40px !important
    }

    .sm-down-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .sm-down-pl-md,
    .sm-down-pl-md-child-not-last > :not(:last-child),
    .sm-down-pl-md-child > * {
        padding-left: 40px !important
    }

    .sm-down-pr-md,
    .sm-down-pr-md-child-not-last > :not(:last-child),
    .sm-down-pr-md-child > *,
    .sm-down-px-md {
        padding-right: 40px !important
    }

    .sm-down-px-md,
    .sm-down-px-md-child > * {
        padding-left: 40px !important
    }

    .sm-down-px-md-child > * {
        padding-right: 40px !important
    }

    .sm-down-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .sm-down-m-lg,
    .sm-down-m-lg-child-not-last > :not(:last-child),
    .sm-down-m-lg-child > * {
        margin: 60px !important
    }

    .sm-down-mt-lg,
    .sm-down-mt-lg-child-not-last > :not(:last-child),
    .sm-down-mt-lg-child > * {
        margin-top: 60px !important
    }

    .sm-down-mb-lg,
    .sm-down-mb-lg-child-not-last > :not(:last-child),
    .sm-down-mb-lg-child > *,
    .sm-down-my-lg {
        margin-bottom: 60px !important
    }

    .sm-down-my-lg,
    .sm-down-my-lg-child > * {
        margin-top: 60px !important
    }

    .sm-down-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .sm-down-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .sm-down-ml-lg,
    .sm-down-ml-lg-child-not-last > :not(:last-child),
    .sm-down-ml-lg-child > * {
        margin-left: 60px !important
    }

    .sm-down-mr-lg,
    .sm-down-mr-lg-child-not-last > :not(:last-child),
    .sm-down-mr-lg-child > *,
    .sm-down-mx-lg {
        margin-right: 60px !important
    }

    .sm-down-mx-lg,
    .sm-down-mx-lg-child > * {
        margin-left: 60px !important
    }

    .sm-down-mx-lg-child > * {
        margin-right: 60px !important
    }

    .sm-down-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .sm-down-p-lg,
    .sm-down-p-lg-child-not-last > :not(:last-child),
    .sm-down-p-lg-child > * {
        padding: 60px !important
    }

    .sm-down-pt-lg,
    .sm-down-pt-lg-child-not-last > :not(:last-child),
    .sm-down-pt-lg-child > * {
        padding-top: 60px !important
    }

    .sm-down-pb-lg,
    .sm-down-pb-lg-child-not-last > :not(:last-child),
    .sm-down-pb-lg-child > *,
    .sm-down-py-lg {
        padding-bottom: 60px !important
    }

    .sm-down-py-lg,
    .sm-down-py-lg-child > * {
        padding-top: 60px !important
    }

    .sm-down-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .sm-down-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .sm-down-pl-lg,
    .sm-down-pl-lg-child-not-last > :not(:last-child),
    .sm-down-pl-lg-child > * {
        padding-left: 60px !important
    }

    .sm-down-pr-lg,
    .sm-down-pr-lg-child-not-last > :not(:last-child),
    .sm-down-pr-lg-child > *,
    .sm-down-px-lg {
        padding-right: 60px !important
    }

    .sm-down-px-lg,
    .sm-down-px-lg-child > * {
        padding-left: 60px !important
    }

    .sm-down-px-lg-child > * {
        padding-right: 60px !important
    }

    .sm-down-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .sm-down-m-xl,
    .sm-down-m-xl-child-not-last > :not(:last-child),
    .sm-down-m-xl-child > * {
        margin: 70px !important
    }

    .sm-down-mt-xl,
    .sm-down-mt-xl-child-not-last > :not(:last-child),
    .sm-down-mt-xl-child > * {
        margin-top: 70px !important
    }

    .sm-down-mb-xl,
    .sm-down-mb-xl-child-not-last > :not(:last-child),
    .sm-down-mb-xl-child > *,
    .sm-down-my-xl {
        margin-bottom: 70px !important
    }

    .sm-down-my-xl,
    .sm-down-my-xl-child > * {
        margin-top: 70px !important
    }

    .sm-down-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .sm-down-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .sm-down-ml-xl,
    .sm-down-ml-xl-child-not-last > :not(:last-child),
    .sm-down-ml-xl-child > * {
        margin-left: 70px !important
    }

    .sm-down-mr-xl,
    .sm-down-mr-xl-child-not-last > :not(:last-child),
    .sm-down-mr-xl-child > *,
    .sm-down-mx-xl {
        margin-right: 70px !important
    }

    .sm-down-mx-xl,
    .sm-down-mx-xl-child > * {
        margin-left: 70px !important
    }

    .sm-down-mx-xl-child > * {
        margin-right: 70px !important
    }

    .sm-down-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .sm-down-p-xl,
    .sm-down-p-xl-child-not-last > :not(:last-child),
    .sm-down-p-xl-child > * {
        padding: 70px !important
    }

    .sm-down-pt-xl,
    .sm-down-pt-xl-child-not-last > :not(:last-child),
    .sm-down-pt-xl-child > * {
        padding-top: 70px !important
    }

    .sm-down-pb-xl,
    .sm-down-pb-xl-child-not-last > :not(:last-child),
    .sm-down-pb-xl-child > *,
    .sm-down-py-xl {
        padding-bottom: 70px !important
    }

    .sm-down-py-xl,
    .sm-down-py-xl-child > * {
        padding-top: 70px !important
    }

    .sm-down-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .sm-down-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .sm-down-pl-xl,
    .sm-down-pl-xl-child-not-last > :not(:last-child),
    .sm-down-pl-xl-child > * {
        padding-left: 70px !important
    }

    .sm-down-pr-xl,
    .sm-down-pr-xl-child-not-last > :not(:last-child),
    .sm-down-pr-xl-child > *,
    .sm-down-px-xl {
        padding-right: 70px !important
    }

    .sm-down-px-xl,
    .sm-down-px-xl-child > * {
        padding-left: 70px !important
    }

    .sm-down-px-xl-child > * {
        padding-right: 70px !important
    }

    .sm-down-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .sm-down-m-xxl,
    .sm-down-m-xxl-child-not-last > :not(:last-child),
    .sm-down-m-xxl-child > * {
        margin: 140px !important
    }

    .sm-down-mt-xxl,
    .sm-down-mt-xxl-child-not-last > :not(:last-child),
    .sm-down-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .sm-down-mb-xxl,
    .sm-down-mb-xxl-child-not-last > :not(:last-child),
    .sm-down-mb-xxl-child > *,
    .sm-down-my-xxl {
        margin-bottom: 140px !important
    }

    .sm-down-my-xxl,
    .sm-down-my-xxl-child > * {
        margin-top: 140px !important
    }

    .sm-down-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .sm-down-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .sm-down-ml-xxl,
    .sm-down-ml-xxl-child-not-last > :not(:last-child),
    .sm-down-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .sm-down-mr-xxl,
    .sm-down-mr-xxl-child-not-last > :not(:last-child),
    .sm-down-mr-xxl-child > *,
    .sm-down-mx-xxl {
        margin-right: 140px !important
    }

    .sm-down-mx-xxl,
    .sm-down-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .sm-down-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .sm-down-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .sm-down-p-xxl,
    .sm-down-p-xxl-child-not-last > :not(:last-child),
    .sm-down-p-xxl-child > * {
        padding: 140px !important
    }

    .sm-down-pt-xxl,
    .sm-down-pt-xxl-child-not-last > :not(:last-child),
    .sm-down-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .sm-down-pb-xxl,
    .sm-down-pb-xxl-child-not-last > :not(:last-child),
    .sm-down-pb-xxl-child > *,
    .sm-down-py-xxl {
        padding-bottom: 140px !important
    }

    .sm-down-py-xxl,
    .sm-down-py-xxl-child > * {
        padding-top: 140px !important
    }

    .sm-down-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .sm-down-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .sm-down-pl-xxl,
    .sm-down-pl-xxl-child-not-last > :not(:last-child),
    .sm-down-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .sm-down-pr-xxl,
    .sm-down-pr-xxl-child-not-last > :not(:last-child),
    .sm-down-pr-xxl-child > *,
    .sm-down-px-xxl {
        padding-right: 140px !important
    }

    .sm-down-px-xxl,
    .sm-down-px-xxl-child > * {
        padding-left: 140px !important
    }

    .sm-down-px-xxl-child > * {
        padding-right: 140px !important
    }

    .sm-down-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

@media (max-width:575.98px) {

    .xs-down-m-0,
    .xs-down-m-0-child-not-last > :not(:last-child),
    .xs-down-m-0-child > * {
        margin: 0 !important
    }

    .xs-down-mt-0,
    .xs-down-mt-0-child-not-last > :not(:last-child),
    .xs-down-mt-0-child > * {
        margin-top: 0 !important
    }

    .xs-down-mb-0,
    .xs-down-mb-0-child-not-last > :not(:last-child),
    .xs-down-mb-0-child > *,
    .xs-down-my-0 {
        margin-bottom: 0 !important
    }

    .xs-down-my-0,
    .xs-down-my-0-child > * {
        margin-top: 0 !important
    }

    .xs-down-my-0-child > * {
        margin-bottom: 0 !important
    }

    .xs-down-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .xs-down-ml-0,
    .xs-down-ml-0-child-not-last > :not(:last-child),
    .xs-down-ml-0-child > * {
        margin-left: 0 !important
    }

    .xs-down-mr-0,
    .xs-down-mr-0-child-not-last > :not(:last-child),
    .xs-down-mr-0-child > *,
    .xs-down-mx-0 {
        margin-right: 0 !important
    }

    .xs-down-mx-0,
    .xs-down-mx-0-child > * {
        margin-left: 0 !important
    }

    .xs-down-mx-0-child > * {
        margin-right: 0 !important
    }

    .xs-down-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .xs-down-p-0,
    .xs-down-p-0-child-not-last > :not(:last-child),
    .xs-down-p-0-child > * {
        padding: 0 !important
    }

    .xs-down-pt-0,
    .xs-down-pt-0-child-not-last > :not(:last-child),
    .xs-down-pt-0-child > * {
        padding-top: 0 !important
    }

    .xs-down-pb-0,
    .xs-down-pb-0-child-not-last > :not(:last-child),
    .xs-down-pb-0-child > *,
    .xs-down-py-0 {
        padding-bottom: 0 !important
    }

    .xs-down-py-0,
    .xs-down-py-0-child > * {
        padding-top: 0 !important
    }

    .xs-down-py-0-child > * {
        padding-bottom: 0 !important
    }

    .xs-down-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .xs-down-pl-0,
    .xs-down-pl-0-child-not-last > :not(:last-child),
    .xs-down-pl-0-child > * {
        padding-left: 0 !important
    }

    .xs-down-pr-0,
    .xs-down-pr-0-child-not-last > :not(:last-child),
    .xs-down-pr-0-child > *,
    .xs-down-px-0 {
        padding-right: 0 !important
    }

    .xs-down-px-0,
    .xs-down-px-0-child > * {
        padding-left: 0 !important
    }

    .xs-down-px-0-child > * {
        padding-right: 0 !important
    }

    .xs-down-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .xs-down-m-xs,
    .xs-down-m-xs-child-not-last > :not(:last-child),
    .xs-down-m-xs-child > * {
        margin: 5px !important
    }

    .xs-down-mt-xs,
    .xs-down-mt-xs-child-not-last > :not(:last-child),
    .xs-down-mt-xs-child > * {
        margin-top: 5px !important
    }

    .xs-down-mb-xs,
    .xs-down-mb-xs-child-not-last > :not(:last-child),
    .xs-down-mb-xs-child > *,
    .xs-down-my-xs {
        margin-bottom: 5px !important
    }

    .xs-down-my-xs,
    .xs-down-my-xs-child > * {
        margin-top: 5px !important
    }

    .xs-down-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .xs-down-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .xs-down-ml-xs,
    .xs-down-ml-xs-child-not-last > :not(:last-child),
    .xs-down-ml-xs-child > * {
        margin-left: 5px !important
    }

    .xs-down-mr-xs,
    .xs-down-mr-xs-child-not-last > :not(:last-child),
    .xs-down-mr-xs-child > *,
    .xs-down-mx-xs {
        margin-right: 5px !important
    }

    .xs-down-mx-xs,
    .xs-down-mx-xs-child > * {
        margin-left: 5px !important
    }

    .xs-down-mx-xs-child > * {
        margin-right: 5px !important
    }

    .xs-down-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .xs-down-p-xs,
    .xs-down-p-xs-child-not-last > :not(:last-child),
    .xs-down-p-xs-child > * {
        padding: 5px !important
    }

    .xs-down-pt-xs,
    .xs-down-pt-xs-child-not-last > :not(:last-child),
    .xs-down-pt-xs-child > * {
        padding-top: 5px !important
    }

    .xs-down-pb-xs,
    .xs-down-pb-xs-child-not-last > :not(:last-child),
    .xs-down-pb-xs-child > *,
    .xs-down-py-xs {
        padding-bottom: 5px !important
    }

    .xs-down-py-xs,
    .xs-down-py-xs-child > * {
        padding-top: 5px !important
    }

    .xs-down-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .xs-down-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .xs-down-pl-xs,
    .xs-down-pl-xs-child-not-last > :not(:last-child),
    .xs-down-pl-xs-child > * {
        padding-left: 5px !important
    }

    .xs-down-pr-xs,
    .xs-down-pr-xs-child-not-last > :not(:last-child),
    .xs-down-pr-xs-child > *,
    .xs-down-px-xs {
        padding-right: 5px !important
    }

    .xs-down-px-xs,
    .xs-down-px-xs-child > * {
        padding-left: 5px !important
    }

    .xs-down-px-xs-child > * {
        padding-right: 5px !important
    }

    .xs-down-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .xs-down-m-sm,
    .xs-down-m-sm-child-not-last > :not(:last-child),
    .xs-down-m-sm-child > * {
        margin: 15px !important
    }

    .xs-down-mt-sm,
    .xs-down-mt-sm-child-not-last > :not(:last-child),
    .xs-down-mt-sm-child > * {
        margin-top: 15px !important
    }

    .xs-down-mb-sm,
    .xs-down-mb-sm-child-not-last > :not(:last-child),
    .xs-down-mb-sm-child > *,
    .xs-down-my-sm {
        margin-bottom: 15px !important
    }

    .xs-down-my-sm,
    .xs-down-my-sm-child > * {
        margin-top: 15px !important
    }

    .xs-down-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .xs-down-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .xs-down-ml-sm,
    .xs-down-ml-sm-child-not-last > :not(:last-child),
    .xs-down-ml-sm-child > * {
        margin-left: 15px !important
    }

    .xs-down-mr-sm,
    .xs-down-mr-sm-child-not-last > :not(:last-child),
    .xs-down-mr-sm-child > *,
    .xs-down-mx-sm {
        margin-right: 15px !important
    }

    .xs-down-mx-sm,
    .xs-down-mx-sm-child > * {
        margin-left: 15px !important
    }

    .xs-down-mx-sm-child > * {
        margin-right: 15px !important
    }

    .xs-down-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .xs-down-p-sm,
    .xs-down-p-sm-child-not-last > :not(:last-child),
    .xs-down-p-sm-child > * {
        padding: 15px !important
    }

    .xs-down-pt-sm,
    .xs-down-pt-sm-child-not-last > :not(:last-child),
    .xs-down-pt-sm-child > * {
        padding-top: 15px !important
    }

    .xs-down-pb-sm,
    .xs-down-pb-sm-child-not-last > :not(:last-child),
    .xs-down-pb-sm-child > *,
    .xs-down-py-sm {
        padding-bottom: 15px !important
    }

    .xs-down-py-sm,
    .xs-down-py-sm-child > * {
        padding-top: 15px !important
    }

    .xs-down-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .xs-down-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .xs-down-pl-sm,
    .xs-down-pl-sm-child-not-last > :not(:last-child),
    .xs-down-pl-sm-child > * {
        padding-left: 15px !important
    }

    .xs-down-pr-sm,
    .xs-down-pr-sm-child-not-last > :not(:last-child),
    .xs-down-pr-sm-child > *,
    .xs-down-px-sm {
        padding-right: 15px !important
    }

    .xs-down-px-sm,
    .xs-down-px-sm-child > * {
        padding-left: 15px !important
    }

    .xs-down-px-sm-child > * {
        padding-right: 15px !important
    }

    .xs-down-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .xs-down-m-md,
    .xs-down-m-md-child-not-last > :not(:last-child),
    .xs-down-m-md-child > * {
        margin: 40px !important
    }

    .xs-down-mt-md,
    .xs-down-mt-md-child-not-last > :not(:last-child),
    .xs-down-mt-md-child > * {
        margin-top: 40px !important
    }

    .xs-down-mb-md,
    .xs-down-mb-md-child-not-last > :not(:last-child),
    .xs-down-mb-md-child > *,
    .xs-down-my-md {
        margin-bottom: 40px !important
    }

    .xs-down-my-md,
    .xs-down-my-md-child > * {
        margin-top: 40px !important
    }

    .xs-down-my-md-child > * {
        margin-bottom: 40px !important
    }

    .xs-down-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .xs-down-ml-md,
    .xs-down-ml-md-child-not-last > :not(:last-child),
    .xs-down-ml-md-child > * {
        margin-left: 40px !important
    }

    .xs-down-mr-md,
    .xs-down-mr-md-child-not-last > :not(:last-child),
    .xs-down-mr-md-child > *,
    .xs-down-mx-md {
        margin-right: 40px !important
    }

    .xs-down-mx-md,
    .xs-down-mx-md-child > * {
        margin-left: 40px !important
    }

    .xs-down-mx-md-child > * {
        margin-right: 40px !important
    }

    .xs-down-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .xs-down-p-md,
    .xs-down-p-md-child-not-last > :not(:last-child),
    .xs-down-p-md-child > * {
        padding: 40px !important
    }

    .xs-down-pt-md,
    .xs-down-pt-md-child-not-last > :not(:last-child),
    .xs-down-pt-md-child > * {
        padding-top: 40px !important
    }

    .xs-down-pb-md,
    .xs-down-pb-md-child-not-last > :not(:last-child),
    .xs-down-pb-md-child > *,
    .xs-down-py-md {
        padding-bottom: 40px !important
    }

    .xs-down-py-md,
    .xs-down-py-md-child > * {
        padding-top: 40px !important
    }

    .xs-down-py-md-child > * {
        padding-bottom: 40px !important
    }

    .xs-down-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .xs-down-pl-md,
    .xs-down-pl-md-child-not-last > :not(:last-child),
    .xs-down-pl-md-child > * {
        padding-left: 40px !important
    }

    .xs-down-pr-md,
    .xs-down-pr-md-child-not-last > :not(:last-child),
    .xs-down-pr-md-child > *,
    .xs-down-px-md {
        padding-right: 40px !important
    }

    .xs-down-px-md,
    .xs-down-px-md-child > * {
        padding-left: 40px !important
    }

    .xs-down-px-md-child > * {
        padding-right: 40px !important
    }

    .xs-down-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .xs-down-m-lg,
    .xs-down-m-lg-child-not-last > :not(:last-child),
    .xs-down-m-lg-child > * {
        margin: 60px !important
    }

    .xs-down-mt-lg,
    .xs-down-mt-lg-child-not-last > :not(:last-child),
    .xs-down-mt-lg-child > * {
        margin-top: 60px !important
    }

    .xs-down-mb-lg,
    .xs-down-mb-lg-child-not-last > :not(:last-child),
    .xs-down-mb-lg-child > *,
    .xs-down-my-lg {
        margin-bottom: 60px !important
    }

    .xs-down-my-lg,
    .xs-down-my-lg-child > * {
        margin-top: 60px !important
    }

    .xs-down-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .xs-down-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .xs-down-ml-lg,
    .xs-down-ml-lg-child-not-last > :not(:last-child),
    .xs-down-ml-lg-child > * {
        margin-left: 60px !important
    }

    .xs-down-mr-lg,
    .xs-down-mr-lg-child-not-last > :not(:last-child),
    .xs-down-mr-lg-child > *,
    .xs-down-mx-lg {
        margin-right: 60px !important
    }

    .xs-down-mx-lg,
    .xs-down-mx-lg-child > * {
        margin-left: 60px !important
    }

    .xs-down-mx-lg-child > * {
        margin-right: 60px !important
    }

    .xs-down-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .xs-down-p-lg,
    .xs-down-p-lg-child-not-last > :not(:last-child),
    .xs-down-p-lg-child > * {
        padding: 60px !important
    }

    .xs-down-pt-lg,
    .xs-down-pt-lg-child-not-last > :not(:last-child),
    .xs-down-pt-lg-child > * {
        padding-top: 60px !important
    }

    .xs-down-pb-lg,
    .xs-down-pb-lg-child-not-last > :not(:last-child),
    .xs-down-pb-lg-child > *,
    .xs-down-py-lg {
        padding-bottom: 60px !important
    }

    .xs-down-py-lg,
    .xs-down-py-lg-child > * {
        padding-top: 60px !important
    }

    .xs-down-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .xs-down-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .xs-down-pl-lg,
    .xs-down-pl-lg-child-not-last > :not(:last-child),
    .xs-down-pl-lg-child > * {
        padding-left: 60px !important
    }

    .xs-down-pr-lg,
    .xs-down-pr-lg-child-not-last > :not(:last-child),
    .xs-down-pr-lg-child > *,
    .xs-down-px-lg {
        padding-right: 60px !important
    }

    .xs-down-px-lg,
    .xs-down-px-lg-child > * {
        padding-left: 60px !important
    }

    .xs-down-px-lg-child > * {
        padding-right: 60px !important
    }

    .xs-down-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .xs-down-m-xl,
    .xs-down-m-xl-child-not-last > :not(:last-child),
    .xs-down-m-xl-child > * {
        margin: 70px !important
    }

    .xs-down-mt-xl,
    .xs-down-mt-xl-child-not-last > :not(:last-child),
    .xs-down-mt-xl-child > * {
        margin-top: 70px !important
    }

    .xs-down-mb-xl,
    .xs-down-mb-xl-child-not-last > :not(:last-child),
    .xs-down-mb-xl-child > *,
    .xs-down-my-xl {
        margin-bottom: 70px !important
    }

    .xs-down-my-xl,
    .xs-down-my-xl-child > * {
        margin-top: 70px !important
    }

    .xs-down-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .xs-down-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .xs-down-ml-xl,
    .xs-down-ml-xl-child-not-last > :not(:last-child),
    .xs-down-ml-xl-child > * {
        margin-left: 70px !important
    }

    .xs-down-mr-xl,
    .xs-down-mr-xl-child-not-last > :not(:last-child),
    .xs-down-mr-xl-child > *,
    .xs-down-mx-xl {
        margin-right: 70px !important
    }

    .xs-down-mx-xl,
    .xs-down-mx-xl-child > * {
        margin-left: 70px !important
    }

    .xs-down-mx-xl-child > * {
        margin-right: 70px !important
    }

    .xs-down-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .xs-down-p-xl,
    .xs-down-p-xl-child-not-last > :not(:last-child),
    .xs-down-p-xl-child > * {
        padding: 70px !important
    }

    .xs-down-pt-xl,
    .xs-down-pt-xl-child-not-last > :not(:last-child),
    .xs-down-pt-xl-child > * {
        padding-top: 70px !important
    }

    .xs-down-pb-xl,
    .xs-down-pb-xl-child-not-last > :not(:last-child),
    .xs-down-pb-xl-child > *,
    .xs-down-py-xl {
        padding-bottom: 70px !important
    }

    .xs-down-py-xl,
    .xs-down-py-xl-child > * {
        padding-top: 70px !important
    }

    .xs-down-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .xs-down-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .xs-down-pl-xl,
    .xs-down-pl-xl-child-not-last > :not(:last-child),
    .xs-down-pl-xl-child > * {
        padding-left: 70px !important
    }

    .xs-down-pr-xl,
    .xs-down-pr-xl-child-not-last > :not(:last-child),
    .xs-down-pr-xl-child > *,
    .xs-down-px-xl {
        padding-right: 70px !important
    }

    .xs-down-px-xl,
    .xs-down-px-xl-child > * {
        padding-left: 70px !important
    }

    .xs-down-px-xl-child > * {
        padding-right: 70px !important
    }

    .xs-down-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .xs-down-m-xxl,
    .xs-down-m-xxl-child-not-last > :not(:last-child),
    .xs-down-m-xxl-child > * {
        margin: 140px !important
    }

    .xs-down-mt-xxl,
    .xs-down-mt-xxl-child-not-last > :not(:last-child),
    .xs-down-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .xs-down-mb-xxl,
    .xs-down-mb-xxl-child-not-last > :not(:last-child),
    .xs-down-mb-xxl-child > *,
    .xs-down-my-xxl {
        margin-bottom: 140px !important
    }

    .xs-down-my-xxl,
    .xs-down-my-xxl-child > * {
        margin-top: 140px !important
    }

    .xs-down-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .xs-down-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .xs-down-ml-xxl,
    .xs-down-ml-xxl-child-not-last > :not(:last-child),
    .xs-down-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .xs-down-mr-xxl,
    .xs-down-mr-xxl-child-not-last > :not(:last-child),
    .xs-down-mr-xxl-child > *,
    .xs-down-mx-xxl {
        margin-right: 140px !important
    }

    .xs-down-mx-xxl,
    .xs-down-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .xs-down-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .xs-down-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .xs-down-p-xxl,
    .xs-down-p-xxl-child-not-last > :not(:last-child),
    .xs-down-p-xxl-child > * {
        padding: 140px !important
    }

    .xs-down-pt-xxl,
    .xs-down-pt-xxl-child-not-last > :not(:last-child),
    .xs-down-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .xs-down-pb-xxl,
    .xs-down-pb-xxl-child-not-last > :not(:last-child),
    .xs-down-pb-xxl-child > *,
    .xs-down-py-xxl {
        padding-bottom: 140px !important
    }

    .xs-down-py-xxl,
    .xs-down-py-xxl-child > * {
        padding-top: 140px !important
    }

    .xs-down-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .xs-down-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .xs-down-pl-xxl,
    .xs-down-pl-xxl-child-not-last > :not(:last-child),
    .xs-down-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .xs-down-pr-xxl,
    .xs-down-pr-xxl-child-not-last > :not(:last-child),
    .xs-down-pr-xxl-child > *,
    .xs-down-px-xxl {
        padding-right: 140px !important
    }

    .xs-down-px-xxl,
    .xs-down-px-xxl-child > * {
        padding-left: 140px !important
    }

    .xs-down-px-xxl-child > * {
        padding-right: 140px !important
    }

    .xs-down-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

.xs-up-m-0,
.xs-up-m-0-child-not-last > :not(:last-child),
.xs-up-m-0-child > * {
    margin: 0 !important
}

.xs-up-mt-0,
.xs-up-mt-0-child-not-last > :not(:last-child),
.xs-up-mt-0-child > * {
    margin-top: 0 !important
}

.xs-up-mb-0,
.xs-up-mb-0-child-not-last > :not(:last-child),
.xs-up-mb-0-child > * {
    margin-bottom: 0 !important
}

.xs-up-my-0,
.xs-up-my-0-child-not-last > :not(:last-child),
.xs-up-my-0-child > * {
    margin-bottom: 0 !important;
    margin-top: 0 !important
}

.xs-up-ml-0,
.xs-up-ml-0-child-not-last > :not(:last-child),
.xs-up-ml-0-child > * {
    margin-left: 0 !important
}

.xs-up-mr-0,
.xs-up-mr-0-child-not-last > :not(:last-child),
.xs-up-mr-0-child > * {
    margin-right: 0 !important
}

.xs-up-mx-0,
.xs-up-mx-0-child-not-last > :not(:last-child),
.xs-up-mx-0-child > * {
    margin-left: 0 !important;
    margin-right: 0 !important
}

.xs-up-p-0,
.xs-up-p-0-child-not-last > :not(:last-child),
.xs-up-p-0-child > * {
    padding: 0 !important
}

.xs-up-pt-0,
.xs-up-pt-0-child-not-last > :not(:last-child),
.xs-up-pt-0-child > * {
    padding-top: 0 !important
}

.xs-up-pb-0,
.xs-up-pb-0-child-not-last > :not(:last-child),
.xs-up-pb-0-child > * {
    padding-bottom: 0 !important
}

.xs-up-py-0,
.xs-up-py-0-child-not-last > :not(:last-child),
.xs-up-py-0-child > * {
    padding-bottom: 0 !important;
    padding-top: 0 !important
}

.xs-up-pl-0,
.xs-up-pl-0-child-not-last > :not(:last-child),
.xs-up-pl-0-child > * {
    padding-left: 0 !important
}

.xs-up-pr-0,
.xs-up-pr-0-child-not-last > :not(:last-child),
.xs-up-pr-0-child > * {
    padding-right: 0 !important
}

.xs-up-px-0,
.xs-up-px-0-child-not-last > :not(:last-child),
.xs-up-px-0-child > * {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.xs-up-m-xs,
.xs-up-m-xs-child-not-last > :not(:last-child),
.xs-up-m-xs-child > * {
    margin: 5px !important
}

.xs-up-mt-xs,
.xs-up-mt-xs-child-not-last > :not(:last-child),
.xs-up-mt-xs-child > * {
    margin-top: 5px !important
}

.xs-up-mb-xs,
.xs-up-mb-xs-child-not-last > :not(:last-child),
.xs-up-mb-xs-child > * {
    margin-bottom: 5px !important
}

.xs-up-my-xs,
.xs-up-my-xs-child-not-last > :not(:last-child),
.xs-up-my-xs-child > * {
    margin-bottom: 5px !important;
    margin-top: 5px !important
}

.xs-up-ml-xs,
.xs-up-ml-xs-child-not-last > :not(:last-child),
.xs-up-ml-xs-child > * {
    margin-left: 5px !important
}

.xs-up-mr-xs,
.xs-up-mr-xs-child-not-last > :not(:last-child),
.xs-up-mr-xs-child > * {
    margin-right: 5px !important
}

.xs-up-mx-xs,
.xs-up-mx-xs-child-not-last > :not(:last-child),
.xs-up-mx-xs-child > * {
    margin-left: 5px !important;
    margin-right: 5px !important
}

.xs-up-p-xs,
.xs-up-p-xs-child-not-last > :not(:last-child),
.xs-up-p-xs-child > * {
    padding: 5px !important
}

.xs-up-pt-xs,
.xs-up-pt-xs-child-not-last > :not(:last-child),
.xs-up-pt-xs-child > * {
    padding-top: 5px !important
}

.xs-up-pb-xs,
.xs-up-pb-xs-child-not-last > :not(:last-child),
.xs-up-pb-xs-child > * {
    padding-bottom: 5px !important
}

.xs-up-py-xs,
.xs-up-py-xs-child-not-last > :not(:last-child),
.xs-up-py-xs-child > * {
    padding-bottom: 5px !important;
    padding-top: 5px !important
}

.xs-up-pl-xs,
.xs-up-pl-xs-child-not-last > :not(:last-child),
.xs-up-pl-xs-child > * {
    padding-left: 5px !important
}

.xs-up-pr-xs,
.xs-up-pr-xs-child-not-last > :not(:last-child),
.xs-up-pr-xs-child > * {
    padding-right: 5px !important
}

.xs-up-px-xs,
.xs-up-px-xs-child-not-last > :not(:last-child),
.xs-up-px-xs-child > * {
    padding-left: 5px !important;
    padding-right: 5px !important
}

.xs-up-m-sm,
.xs-up-m-sm-child-not-last > :not(:last-child),
.xs-up-m-sm-child > * {
    margin: 15px !important
}

.xs-up-mt-sm,
.xs-up-mt-sm-child-not-last > :not(:last-child),
.xs-up-mt-sm-child > * {
    margin-top: 15px !important
}

.xs-up-mb-sm,
.xs-up-mb-sm-child-not-last > :not(:last-child),
.xs-up-mb-sm-child > * {
    margin-bottom: 15px !important
}

.xs-up-my-sm,
.xs-up-my-sm-child-not-last > :not(:last-child),
.xs-up-my-sm-child > * {
    margin-bottom: 15px !important;
    margin-top: 15px !important
}

.xs-up-ml-sm,
.xs-up-ml-sm-child-not-last > :not(:last-child),
.xs-up-ml-sm-child > * {
    margin-left: 15px !important
}

.xs-up-mr-sm,
.xs-up-mr-sm-child-not-last > :not(:last-child),
.xs-up-mr-sm-child > * {
    margin-right: 15px !important
}

.xs-up-mx-sm,
.xs-up-mx-sm-child-not-last > :not(:last-child),
.xs-up-mx-sm-child > * {
    margin-left: 15px !important;
    margin-right: 15px !important
}

.xs-up-p-sm,
.xs-up-p-sm-child-not-last > :not(:last-child),
.xs-up-p-sm-child > * {
    padding: 15px !important
}

.xs-up-pt-sm,
.xs-up-pt-sm-child-not-last > :not(:last-child),
.xs-up-pt-sm-child > * {
    padding-top: 15px !important
}

.xs-up-pb-sm,
.xs-up-pb-sm-child-not-last > :not(:last-child),
.xs-up-pb-sm-child > * {
    padding-bottom: 15px !important
}

.xs-up-py-sm,
.xs-up-py-sm-child-not-last > :not(:last-child),
.xs-up-py-sm-child > * {
    padding-bottom: 15px !important;
    padding-top: 15px !important
}

.xs-up-pl-sm,
.xs-up-pl-sm-child-not-last > :not(:last-child),
.xs-up-pl-sm-child > * {
    padding-left: 15px !important
}

.xs-up-pr-sm,
.xs-up-pr-sm-child-not-last > :not(:last-child),
.xs-up-pr-sm-child > * {
    padding-right: 15px !important
}

.xs-up-px-sm,
.xs-up-px-sm-child-not-last > :not(:last-child),
.xs-up-px-sm-child > * {
    padding-left: 15px !important;
    padding-right: 15px !important
}

.xs-up-m-md,
.xs-up-m-md-child-not-last > :not(:last-child),
.xs-up-m-md-child > * {
    margin: 40px !important
}

.xs-up-mt-md,
.xs-up-mt-md-child-not-last > :not(:last-child),
.xs-up-mt-md-child > * {
    margin-top: 40px !important
}

.xs-up-mb-md,
.xs-up-mb-md-child-not-last > :not(:last-child),
.xs-up-mb-md-child > * {
    margin-bottom: 40px !important
}

.xs-up-my-md,
.xs-up-my-md-child-not-last > :not(:last-child),
.xs-up-my-md-child > * {
    margin-bottom: 40px !important;
    margin-top: 40px !important
}

.xs-up-ml-md,
.xs-up-ml-md-child-not-last > :not(:last-child),
.xs-up-ml-md-child > * {
    margin-left: 40px !important
}

.xs-up-mr-md,
.xs-up-mr-md-child-not-last > :not(:last-child),
.xs-up-mr-md-child > * {
    margin-right: 40px !important
}

.xs-up-mx-md,
.xs-up-mx-md-child-not-last > :not(:last-child),
.xs-up-mx-md-child > * {
    margin-left: 40px !important;
    margin-right: 40px !important
}

.xs-up-p-md,
.xs-up-p-md-child-not-last > :not(:last-child),
.xs-up-p-md-child > * {
    padding: 40px !important
}

.xs-up-pt-md,
.xs-up-pt-md-child-not-last > :not(:last-child),
.xs-up-pt-md-child > * {
    padding-top: 40px !important
}

.xs-up-pb-md,
.xs-up-pb-md-child-not-last > :not(:last-child),
.xs-up-pb-md-child > * {
    padding-bottom: 40px !important
}

.xs-up-py-md,
.xs-up-py-md-child-not-last > :not(:last-child),
.xs-up-py-md-child > * {
    padding-bottom: 40px !important;
    padding-top: 40px !important
}

.xs-up-pl-md,
.xs-up-pl-md-child-not-last > :not(:last-child),
.xs-up-pl-md-child > * {
    padding-left: 40px !important
}

.xs-up-pr-md,
.xs-up-pr-md-child-not-last > :not(:last-child),
.xs-up-pr-md-child > * {
    padding-right: 40px !important
}

.xs-up-px-md,
.xs-up-px-md-child-not-last > :not(:last-child),
.xs-up-px-md-child > * {
    padding-left: 40px !important;
    padding-right: 40px !important
}

.xs-up-m-lg,
.xs-up-m-lg-child-not-last > :not(:last-child),
.xs-up-m-lg-child > * {
    margin: 60px !important
}

.xs-up-mt-lg,
.xs-up-mt-lg-child-not-last > :not(:last-child),
.xs-up-mt-lg-child > * {
    margin-top: 60px !important
}

.xs-up-mb-lg,
.xs-up-mb-lg-child-not-last > :not(:last-child),
.xs-up-mb-lg-child > * {
    margin-bottom: 60px !important
}

.xs-up-my-lg,
.xs-up-my-lg-child-not-last > :not(:last-child),
.xs-up-my-lg-child > * {
    margin-bottom: 60px !important;
    margin-top: 60px !important
}

.xs-up-ml-lg,
.xs-up-ml-lg-child-not-last > :not(:last-child),
.xs-up-ml-lg-child > * {
    margin-left: 60px !important
}

.xs-up-mr-lg,
.xs-up-mr-lg-child-not-last > :not(:last-child),
.xs-up-mr-lg-child > * {
    margin-right: 60px !important
}

.xs-up-mx-lg,
.xs-up-mx-lg-child-not-last > :not(:last-child),
.xs-up-mx-lg-child > * {
    margin-left: 60px !important;
    margin-right: 60px !important
}

.xs-up-p-lg,
.xs-up-p-lg-child-not-last > :not(:last-child),
.xs-up-p-lg-child > * {
    padding: 60px !important
}

.xs-up-pt-lg,
.xs-up-pt-lg-child-not-last > :not(:last-child),
.xs-up-pt-lg-child > * {
    padding-top: 60px !important
}

.xs-up-pb-lg,
.xs-up-pb-lg-child-not-last > :not(:last-child),
.xs-up-pb-lg-child > * {
    padding-bottom: 60px !important
}

.xs-up-py-lg,
.xs-up-py-lg-child-not-last > :not(:last-child),
.xs-up-py-lg-child > * {
    padding-bottom: 60px !important;
    padding-top: 60px !important
}

.xs-up-pl-lg,
.xs-up-pl-lg-child-not-last > :not(:last-child),
.xs-up-pl-lg-child > * {
    padding-left: 60px !important
}

.xs-up-pr-lg,
.xs-up-pr-lg-child-not-last > :not(:last-child),
.xs-up-pr-lg-child > * {
    padding-right: 60px !important
}

.xs-up-px-lg,
.xs-up-px-lg-child-not-last > :not(:last-child),
.xs-up-px-lg-child > * {
    padding-left: 60px !important;
    padding-right: 60px !important
}

.xs-up-m-xl,
.xs-up-m-xl-child-not-last > :not(:last-child),
.xs-up-m-xl-child > * {
    margin: 70px !important
}

.xs-up-mt-xl,
.xs-up-mt-xl-child-not-last > :not(:last-child),
.xs-up-mt-xl-child > * {
    margin-top: 70px !important
}

.xs-up-mb-xl,
.xs-up-mb-xl-child-not-last > :not(:last-child),
.xs-up-mb-xl-child > * {
    margin-bottom: 70px !important
}

.xs-up-my-xl,
.xs-up-my-xl-child-not-last > :not(:last-child),
.xs-up-my-xl-child > * {
    margin-bottom: 70px !important;
    margin-top: 70px !important
}

.xs-up-ml-xl,
.xs-up-ml-xl-child-not-last > :not(:last-child),
.xs-up-ml-xl-child > * {
    margin-left: 70px !important
}

.xs-up-mr-xl,
.xs-up-mr-xl-child-not-last > :not(:last-child),
.xs-up-mr-xl-child > * {
    margin-right: 70px !important
}

.xs-up-mx-xl,
.xs-up-mx-xl-child-not-last > :not(:last-child),
.xs-up-mx-xl-child > * {
    margin-left: 70px !important;
    margin-right: 70px !important
}

.xs-up-p-xl,
.xs-up-p-xl-child-not-last > :not(:last-child),
.xs-up-p-xl-child > * {
    padding: 70px !important
}

.xs-up-pt-xl,
.xs-up-pt-xl-child-not-last > :not(:last-child),
.xs-up-pt-xl-child > * {
    padding-top: 70px !important
}

.xs-up-pb-xl,
.xs-up-pb-xl-child-not-last > :not(:last-child),
.xs-up-pb-xl-child > * {
    padding-bottom: 70px !important
}

.xs-up-py-xl,
.xs-up-py-xl-child-not-last > :not(:last-child),
.xs-up-py-xl-child > * {
    padding-bottom: 70px !important;
    padding-top: 70px !important
}

.xs-up-pl-xl,
.xs-up-pl-xl-child-not-last > :not(:last-child),
.xs-up-pl-xl-child > * {
    padding-left: 70px !important
}

.xs-up-pr-xl,
.xs-up-pr-xl-child-not-last > :not(:last-child),
.xs-up-pr-xl-child > * {
    padding-right: 70px !important
}

.xs-up-px-xl,
.xs-up-px-xl-child-not-last > :not(:last-child),
.xs-up-px-xl-child > * {
    padding-left: 70px !important;
    padding-right: 70px !important
}

.xs-up-m-xxl,
.xs-up-m-xxl-child-not-last > :not(:last-child),
.xs-up-m-xxl-child > * {
    margin: 140px !important
}

.xs-up-mt-xxl,
.xs-up-mt-xxl-child-not-last > :not(:last-child),
.xs-up-mt-xxl-child > * {
    margin-top: 140px !important
}

.xs-up-mb-xxl,
.xs-up-mb-xxl-child-not-last > :not(:last-child),
.xs-up-mb-xxl-child > * {
    margin-bottom: 140px !important
}

.xs-up-my-xxl,
.xs-up-my-xxl-child-not-last > :not(:last-child),
.xs-up-my-xxl-child > * {
    margin-bottom: 140px !important;
    margin-top: 140px !important
}

.xs-up-ml-xxl,
.xs-up-ml-xxl-child-not-last > :not(:last-child),
.xs-up-ml-xxl-child > * {
    margin-left: 140px !important
}

.xs-up-mr-xxl,
.xs-up-mr-xxl-child-not-last > :not(:last-child),
.xs-up-mr-xxl-child > * {
    margin-right: 140px !important
}

.xs-up-mx-xxl,
.xs-up-mx-xxl-child-not-last > :not(:last-child),
.xs-up-mx-xxl-child > * {
    margin-left: 140px !important;
    margin-right: 140px !important
}

.xs-up-p-xxl,
.xs-up-p-xxl-child-not-last > :not(:last-child),
.xs-up-p-xxl-child > * {
    padding: 140px !important
}

.xs-up-pt-xxl,
.xs-up-pt-xxl-child-not-last > :not(:last-child),
.xs-up-pt-xxl-child > * {
    padding-top: 140px !important
}

.xs-up-pb-xxl,
.xs-up-pb-xxl-child-not-last > :not(:last-child),
.xs-up-pb-xxl-child > * {
    padding-bottom: 140px !important
}

.xs-up-py-xxl,
.xs-up-py-xxl-child-not-last > :not(:last-child),
.xs-up-py-xxl-child > * {
    padding-bottom: 140px !important;
    padding-top: 140px !important
}

.xs-up-pl-xxl,
.xs-up-pl-xxl-child-not-last > :not(:last-child),
.xs-up-pl-xxl-child > * {
    padding-left: 140px !important
}

.xs-up-pr-xxl,
.xs-up-pr-xxl-child-not-last > :not(:last-child),
.xs-up-pr-xxl-child > * {
    padding-right: 140px !important
}

.xs-up-px-xxl,
.xs-up-px-xxl-child-not-last > :not(:last-child),
.xs-up-px-xxl-child > * {
    padding-left: 140px !important;
    padding-right: 140px !important
}

@media (min-width:576px) {

    .sm-up-m-0,
    .sm-up-m-0-child-not-last > :not(:last-child),
    .sm-up-m-0-child > * {
        margin: 0 !important
    }

    .sm-up-mt-0,
    .sm-up-mt-0-child-not-last > :not(:last-child),
    .sm-up-mt-0-child > * {
        margin-top: 0 !important
    }

    .sm-up-mb-0,
    .sm-up-mb-0-child-not-last > :not(:last-child),
    .sm-up-mb-0-child > *,
    .sm-up-my-0 {
        margin-bottom: 0 !important
    }

    .sm-up-my-0,
    .sm-up-my-0-child > * {
        margin-top: 0 !important
    }

    .sm-up-my-0-child > * {
        margin-bottom: 0 !important
    }

    .sm-up-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .sm-up-ml-0,
    .sm-up-ml-0-child-not-last > :not(:last-child),
    .sm-up-ml-0-child > * {
        margin-left: 0 !important
    }

    .sm-up-mr-0,
    .sm-up-mr-0-child-not-last > :not(:last-child),
    .sm-up-mr-0-child > *,
    .sm-up-mx-0 {
        margin-right: 0 !important
    }

    .sm-up-mx-0,
    .sm-up-mx-0-child > * {
        margin-left: 0 !important
    }

    .sm-up-mx-0-child > * {
        margin-right: 0 !important
    }

    .sm-up-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .sm-up-p-0,
    .sm-up-p-0-child-not-last > :not(:last-child),
    .sm-up-p-0-child > * {
        padding: 0 !important
    }

    .sm-up-pt-0,
    .sm-up-pt-0-child-not-last > :not(:last-child),
    .sm-up-pt-0-child > * {
        padding-top: 0 !important
    }

    .sm-up-pb-0,
    .sm-up-pb-0-child-not-last > :not(:last-child),
    .sm-up-pb-0-child > *,
    .sm-up-py-0 {
        padding-bottom: 0 !important
    }

    .sm-up-py-0,
    .sm-up-py-0-child > * {
        padding-top: 0 !important
    }

    .sm-up-py-0-child > * {
        padding-bottom: 0 !important
    }

    .sm-up-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .sm-up-pl-0,
    .sm-up-pl-0-child-not-last > :not(:last-child),
    .sm-up-pl-0-child > * {
        padding-left: 0 !important
    }

    .sm-up-pr-0,
    .sm-up-pr-0-child-not-last > :not(:last-child),
    .sm-up-pr-0-child > *,
    .sm-up-px-0 {
        padding-right: 0 !important
    }

    .sm-up-px-0,
    .sm-up-px-0-child > * {
        padding-left: 0 !important
    }

    .sm-up-px-0-child > * {
        padding-right: 0 !important
    }

    .sm-up-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .sm-up-m-xs,
    .sm-up-m-xs-child-not-last > :not(:last-child),
    .sm-up-m-xs-child > * {
        margin: 5px !important
    }

    .sm-up-mt-xs,
    .sm-up-mt-xs-child-not-last > :not(:last-child),
    .sm-up-mt-xs-child > * {
        margin-top: 5px !important
    }

    .sm-up-mb-xs,
    .sm-up-mb-xs-child-not-last > :not(:last-child),
    .sm-up-mb-xs-child > *,
    .sm-up-my-xs {
        margin-bottom: 5px !important
    }

    .sm-up-my-xs,
    .sm-up-my-xs-child > * {
        margin-top: 5px !important
    }

    .sm-up-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .sm-up-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .sm-up-ml-xs,
    .sm-up-ml-xs-child-not-last > :not(:last-child),
    .sm-up-ml-xs-child > * {
        margin-left: 5px !important
    }

    .sm-up-mr-xs,
    .sm-up-mr-xs-child-not-last > :not(:last-child),
    .sm-up-mr-xs-child > *,
    .sm-up-mx-xs {
        margin-right: 5px !important
    }

    .sm-up-mx-xs,
    .sm-up-mx-xs-child > * {
        margin-left: 5px !important
    }

    .sm-up-mx-xs-child > * {
        margin-right: 5px !important
    }

    .sm-up-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .sm-up-p-xs,
    .sm-up-p-xs-child-not-last > :not(:last-child),
    .sm-up-p-xs-child > * {
        padding: 5px !important
    }

    .sm-up-pt-xs,
    .sm-up-pt-xs-child-not-last > :not(:last-child),
    .sm-up-pt-xs-child > * {
        padding-top: 5px !important
    }

    .sm-up-pb-xs,
    .sm-up-pb-xs-child-not-last > :not(:last-child),
    .sm-up-pb-xs-child > *,
    .sm-up-py-xs {
        padding-bottom: 5px !important
    }

    .sm-up-py-xs,
    .sm-up-py-xs-child > * {
        padding-top: 5px !important
    }

    .sm-up-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .sm-up-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .sm-up-pl-xs,
    .sm-up-pl-xs-child-not-last > :not(:last-child),
    .sm-up-pl-xs-child > * {
        padding-left: 5px !important
    }

    .sm-up-pr-xs,
    .sm-up-pr-xs-child-not-last > :not(:last-child),
    .sm-up-pr-xs-child > *,
    .sm-up-px-xs {
        padding-right: 5px !important
    }

    .sm-up-px-xs,
    .sm-up-px-xs-child > * {
        padding-left: 5px !important
    }

    .sm-up-px-xs-child > * {
        padding-right: 5px !important
    }

    .sm-up-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .sm-up-m-sm,
    .sm-up-m-sm-child-not-last > :not(:last-child),
    .sm-up-m-sm-child > * {
        margin: 15px !important
    }

    .sm-up-mt-sm,
    .sm-up-mt-sm-child-not-last > :not(:last-child),
    .sm-up-mt-sm-child > * {
        margin-top: 15px !important
    }

    .sm-up-mb-sm,
    .sm-up-mb-sm-child-not-last > :not(:last-child),
    .sm-up-mb-sm-child > *,
    .sm-up-my-sm {
        margin-bottom: 15px !important
    }

    .sm-up-my-sm,
    .sm-up-my-sm-child > * {
        margin-top: 15px !important
    }

    .sm-up-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .sm-up-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .sm-up-ml-sm,
    .sm-up-ml-sm-child-not-last > :not(:last-child),
    .sm-up-ml-sm-child > * {
        margin-left: 15px !important
    }

    .sm-up-mr-sm,
    .sm-up-mr-sm-child-not-last > :not(:last-child),
    .sm-up-mr-sm-child > *,
    .sm-up-mx-sm {
        margin-right: 15px !important
    }

    .sm-up-mx-sm,
    .sm-up-mx-sm-child > * {
        margin-left: 15px !important
    }

    .sm-up-mx-sm-child > * {
        margin-right: 15px !important
    }

    .sm-up-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .sm-up-p-sm,
    .sm-up-p-sm-child-not-last > :not(:last-child),
    .sm-up-p-sm-child > * {
        padding: 15px !important
    }

    .sm-up-pt-sm,
    .sm-up-pt-sm-child-not-last > :not(:last-child),
    .sm-up-pt-sm-child > * {
        padding-top: 15px !important
    }

    .sm-up-pb-sm,
    .sm-up-pb-sm-child-not-last > :not(:last-child),
    .sm-up-pb-sm-child > *,
    .sm-up-py-sm {
        padding-bottom: 15px !important
    }

    .sm-up-py-sm,
    .sm-up-py-sm-child > * {
        padding-top: 15px !important
    }

    .sm-up-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .sm-up-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .sm-up-pl-sm,
    .sm-up-pl-sm-child-not-last > :not(:last-child),
    .sm-up-pl-sm-child > * {
        padding-left: 15px !important
    }

    .sm-up-pr-sm,
    .sm-up-pr-sm-child-not-last > :not(:last-child),
    .sm-up-pr-sm-child > *,
    .sm-up-px-sm {
        padding-right: 15px !important
    }

    .sm-up-px-sm,
    .sm-up-px-sm-child > * {
        padding-left: 15px !important
    }

    .sm-up-px-sm-child > * {
        padding-right: 15px !important
    }

    .sm-up-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .sm-up-m-md,
    .sm-up-m-md-child-not-last > :not(:last-child),
    .sm-up-m-md-child > * {
        margin: 40px !important
    }

    .sm-up-mt-md,
    .sm-up-mt-md-child-not-last > :not(:last-child),
    .sm-up-mt-md-child > * {
        margin-top: 40px !important
    }

    .sm-up-mb-md,
    .sm-up-mb-md-child-not-last > :not(:last-child),
    .sm-up-mb-md-child > *,
    .sm-up-my-md {
        margin-bottom: 40px !important
    }

    .sm-up-my-md,
    .sm-up-my-md-child > * {
        margin-top: 40px !important
    }

    .sm-up-my-md-child > * {
        margin-bottom: 40px !important
    }

    .sm-up-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .sm-up-ml-md,
    .sm-up-ml-md-child-not-last > :not(:last-child),
    .sm-up-ml-md-child > * {
        margin-left: 40px !important
    }

    .sm-up-mr-md,
    .sm-up-mr-md-child-not-last > :not(:last-child),
    .sm-up-mr-md-child > *,
    .sm-up-mx-md {
        margin-right: 40px !important
    }

    .sm-up-mx-md,
    .sm-up-mx-md-child > * {
        margin-left: 40px !important
    }

    .sm-up-mx-md-child > * {
        margin-right: 40px !important
    }

    .sm-up-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .sm-up-p-md,
    .sm-up-p-md-child-not-last > :not(:last-child),
    .sm-up-p-md-child > * {
        padding: 40px !important
    }

    .sm-up-pt-md,
    .sm-up-pt-md-child-not-last > :not(:last-child),
    .sm-up-pt-md-child > * {
        padding-top: 40px !important
    }

    .sm-up-pb-md,
    .sm-up-pb-md-child-not-last > :not(:last-child),
    .sm-up-pb-md-child > *,
    .sm-up-py-md {
        padding-bottom: 40px !important
    }

    .sm-up-py-md,
    .sm-up-py-md-child > * {
        padding-top: 40px !important
    }

    .sm-up-py-md-child > * {
        padding-bottom: 40px !important
    }

    .sm-up-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .sm-up-pl-md,
    .sm-up-pl-md-child-not-last > :not(:last-child),
    .sm-up-pl-md-child > * {
        padding-left: 40px !important
    }

    .sm-up-pr-md,
    .sm-up-pr-md-child-not-last > :not(:last-child),
    .sm-up-pr-md-child > *,
    .sm-up-px-md {
        padding-right: 40px !important
    }

    .sm-up-px-md,
    .sm-up-px-md-child > * {
        padding-left: 40px !important
    }

    .sm-up-px-md-child > * {
        padding-right: 40px !important
    }

    .sm-up-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .sm-up-m-lg,
    .sm-up-m-lg-child-not-last > :not(:last-child),
    .sm-up-m-lg-child > * {
        margin: 60px !important
    }

    .sm-up-mt-lg,
    .sm-up-mt-lg-child-not-last > :not(:last-child),
    .sm-up-mt-lg-child > * {
        margin-top: 60px !important
    }

    .sm-up-mb-lg,
    .sm-up-mb-lg-child-not-last > :not(:last-child),
    .sm-up-mb-lg-child > *,
    .sm-up-my-lg {
        margin-bottom: 60px !important
    }

    .sm-up-my-lg,
    .sm-up-my-lg-child > * {
        margin-top: 60px !important
    }

    .sm-up-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .sm-up-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .sm-up-ml-lg,
    .sm-up-ml-lg-child-not-last > :not(:last-child),
    .sm-up-ml-lg-child > * {
        margin-left: 60px !important
    }

    .sm-up-mr-lg,
    .sm-up-mr-lg-child-not-last > :not(:last-child),
    .sm-up-mr-lg-child > *,
    .sm-up-mx-lg {
        margin-right: 60px !important
    }

    .sm-up-mx-lg,
    .sm-up-mx-lg-child > * {
        margin-left: 60px !important
    }

    .sm-up-mx-lg-child > * {
        margin-right: 60px !important
    }

    .sm-up-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .sm-up-p-lg,
    .sm-up-p-lg-child-not-last > :not(:last-child),
    .sm-up-p-lg-child > * {
        padding: 60px !important
    }

    .sm-up-pt-lg,
    .sm-up-pt-lg-child-not-last > :not(:last-child),
    .sm-up-pt-lg-child > * {
        padding-top: 60px !important
    }

    .sm-up-pb-lg,
    .sm-up-pb-lg-child-not-last > :not(:last-child),
    .sm-up-pb-lg-child > *,
    .sm-up-py-lg {
        padding-bottom: 60px !important
    }

    .sm-up-py-lg,
    .sm-up-py-lg-child > * {
        padding-top: 60px !important
    }

    .sm-up-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .sm-up-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .sm-up-pl-lg,
    .sm-up-pl-lg-child-not-last > :not(:last-child),
    .sm-up-pl-lg-child > * {
        padding-left: 60px !important
    }

    .sm-up-pr-lg,
    .sm-up-pr-lg-child-not-last > :not(:last-child),
    .sm-up-pr-lg-child > *,
    .sm-up-px-lg {
        padding-right: 60px !important
    }

    .sm-up-px-lg,
    .sm-up-px-lg-child > * {
        padding-left: 60px !important
    }

    .sm-up-px-lg-child > * {
        padding-right: 60px !important
    }

    .sm-up-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .sm-up-m-xl,
    .sm-up-m-xl-child-not-last > :not(:last-child),
    .sm-up-m-xl-child > * {
        margin: 70px !important
    }

    .sm-up-mt-xl,
    .sm-up-mt-xl-child-not-last > :not(:last-child),
    .sm-up-mt-xl-child > * {
        margin-top: 70px !important
    }

    .sm-up-mb-xl,
    .sm-up-mb-xl-child-not-last > :not(:last-child),
    .sm-up-mb-xl-child > *,
    .sm-up-my-xl {
        margin-bottom: 70px !important
    }

    .sm-up-my-xl,
    .sm-up-my-xl-child > * {
        margin-top: 70px !important
    }

    .sm-up-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .sm-up-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .sm-up-ml-xl,
    .sm-up-ml-xl-child-not-last > :not(:last-child),
    .sm-up-ml-xl-child > * {
        margin-left: 70px !important
    }

    .sm-up-mr-xl,
    .sm-up-mr-xl-child-not-last > :not(:last-child),
    .sm-up-mr-xl-child > *,
    .sm-up-mx-xl {
        margin-right: 70px !important
    }

    .sm-up-mx-xl,
    .sm-up-mx-xl-child > * {
        margin-left: 70px !important
    }

    .sm-up-mx-xl-child > * {
        margin-right: 70px !important
    }

    .sm-up-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .sm-up-p-xl,
    .sm-up-p-xl-child-not-last > :not(:last-child),
    .sm-up-p-xl-child > * {
        padding: 70px !important
    }

    .sm-up-pt-xl,
    .sm-up-pt-xl-child-not-last > :not(:last-child),
    .sm-up-pt-xl-child > * {
        padding-top: 70px !important
    }

    .sm-up-pb-xl,
    .sm-up-pb-xl-child-not-last > :not(:last-child),
    .sm-up-pb-xl-child > *,
    .sm-up-py-xl {
        padding-bottom: 70px !important
    }

    .sm-up-py-xl,
    .sm-up-py-xl-child > * {
        padding-top: 70px !important
    }

    .sm-up-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .sm-up-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .sm-up-pl-xl,
    .sm-up-pl-xl-child-not-last > :not(:last-child),
    .sm-up-pl-xl-child > * {
        padding-left: 70px !important
    }

    .sm-up-pr-xl,
    .sm-up-pr-xl-child-not-last > :not(:last-child),
    .sm-up-pr-xl-child > *,
    .sm-up-px-xl {
        padding-right: 70px !important
    }

    .sm-up-px-xl,
    .sm-up-px-xl-child > * {
        padding-left: 70px !important
    }

    .sm-up-px-xl-child > * {
        padding-right: 70px !important
    }

    .sm-up-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .sm-up-m-xxl,
    .sm-up-m-xxl-child-not-last > :not(:last-child),
    .sm-up-m-xxl-child > * {
        margin: 140px !important
    }

    .sm-up-mt-xxl,
    .sm-up-mt-xxl-child-not-last > :not(:last-child),
    .sm-up-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .sm-up-mb-xxl,
    .sm-up-mb-xxl-child-not-last > :not(:last-child),
    .sm-up-mb-xxl-child > *,
    .sm-up-my-xxl {
        margin-bottom: 140px !important
    }

    .sm-up-my-xxl,
    .sm-up-my-xxl-child > * {
        margin-top: 140px !important
    }

    .sm-up-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .sm-up-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .sm-up-ml-xxl,
    .sm-up-ml-xxl-child-not-last > :not(:last-child),
    .sm-up-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .sm-up-mr-xxl,
    .sm-up-mr-xxl-child-not-last > :not(:last-child),
    .sm-up-mr-xxl-child > *,
    .sm-up-mx-xxl {
        margin-right: 140px !important
    }

    .sm-up-mx-xxl,
    .sm-up-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .sm-up-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .sm-up-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .sm-up-p-xxl,
    .sm-up-p-xxl-child-not-last > :not(:last-child),
    .sm-up-p-xxl-child > * {
        padding: 140px !important
    }

    .sm-up-pt-xxl,
    .sm-up-pt-xxl-child-not-last > :not(:last-child),
    .sm-up-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .sm-up-pb-xxl,
    .sm-up-pb-xxl-child-not-last > :not(:last-child),
    .sm-up-pb-xxl-child > *,
    .sm-up-py-xxl {
        padding-bottom: 140px !important
    }

    .sm-up-py-xxl,
    .sm-up-py-xxl-child > * {
        padding-top: 140px !important
    }

    .sm-up-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .sm-up-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .sm-up-pl-xxl,
    .sm-up-pl-xxl-child-not-last > :not(:last-child),
    .sm-up-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .sm-up-pr-xxl,
    .sm-up-pr-xxl-child-not-last > :not(:last-child),
    .sm-up-pr-xxl-child > *,
    .sm-up-px-xxl {
        padding-right: 140px !important
    }

    .sm-up-px-xxl,
    .sm-up-px-xxl-child > * {
        padding-left: 140px !important
    }

    .sm-up-px-xxl-child > * {
        padding-right: 140px !important
    }

    .sm-up-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

@media (min-width:768px) {

    .md-up-m-0,
    .md-up-m-0-child-not-last > :not(:last-child),
    .md-up-m-0-child > * {
        margin: 0 !important
    }

    .md-up-mt-0,
    .md-up-mt-0-child-not-last > :not(:last-child),
    .md-up-mt-0-child > * {
        margin-top: 0 !important
    }

    .md-up-mb-0,
    .md-up-mb-0-child-not-last > :not(:last-child),
    .md-up-mb-0-child > *,
    .md-up-my-0 {
        margin-bottom: 0 !important
    }

    .md-up-my-0,
    .md-up-my-0-child > * {
        margin-top: 0 !important
    }

    .md-up-my-0-child > * {
        margin-bottom: 0 !important
    }

    .md-up-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .md-up-ml-0,
    .md-up-ml-0-child-not-last > :not(:last-child),
    .md-up-ml-0-child > * {
        margin-left: 0 !important
    }

    .md-up-mr-0,
    .md-up-mr-0-child-not-last > :not(:last-child),
    .md-up-mr-0-child > *,
    .md-up-mx-0 {
        margin-right: 0 !important
    }

    .md-up-mx-0,
    .md-up-mx-0-child > * {
        margin-left: 0 !important
    }

    .md-up-mx-0-child > * {
        margin-right: 0 !important
    }

    .md-up-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .md-up-p-0,
    .md-up-p-0-child-not-last > :not(:last-child),
    .md-up-p-0-child > * {
        padding: 0 !important
    }

    .md-up-pt-0,
    .md-up-pt-0-child-not-last > :not(:last-child),
    .md-up-pt-0-child > * {
        padding-top: 0 !important
    }

    .md-up-pb-0,
    .md-up-pb-0-child-not-last > :not(:last-child),
    .md-up-pb-0-child > *,
    .md-up-py-0 {
        padding-bottom: 0 !important
    }

    .md-up-py-0,
    .md-up-py-0-child > * {
        padding-top: 0 !important
    }

    .md-up-py-0-child > * {
        padding-bottom: 0 !important
    }

    .md-up-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .md-up-pl-0,
    .md-up-pl-0-child-not-last > :not(:last-child),
    .md-up-pl-0-child > * {
        padding-left: 0 !important
    }

    .md-up-pr-0,
    .md-up-pr-0-child-not-last > :not(:last-child),
    .md-up-pr-0-child > *,
    .md-up-px-0 {
        padding-right: 0 !important
    }

    .md-up-px-0,
    .md-up-px-0-child > * {
        padding-left: 0 !important
    }

    .md-up-px-0-child > * {
        padding-right: 0 !important
    }

    .md-up-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .md-up-m-xs,
    .md-up-m-xs-child-not-last > :not(:last-child),
    .md-up-m-xs-child > * {
        margin: 5px !important
    }

    .md-up-mt-xs,
    .md-up-mt-xs-child-not-last > :not(:last-child),
    .md-up-mt-xs-child > * {
        margin-top: 5px !important
    }

    .md-up-mb-xs,
    .md-up-mb-xs-child-not-last > :not(:last-child),
    .md-up-mb-xs-child > *,
    .md-up-my-xs {
        margin-bottom: 5px !important
    }

    .md-up-my-xs,
    .md-up-my-xs-child > * {
        margin-top: 5px !important
    }

    .md-up-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .md-up-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .md-up-ml-xs,
    .md-up-ml-xs-child-not-last > :not(:last-child),
    .md-up-ml-xs-child > * {
        margin-left: 5px !important
    }

    .md-up-mr-xs,
    .md-up-mr-xs-child-not-last > :not(:last-child),
    .md-up-mr-xs-child > *,
    .md-up-mx-xs {
        margin-right: 5px !important
    }

    .md-up-mx-xs,
    .md-up-mx-xs-child > * {
        margin-left: 5px !important
    }

    .md-up-mx-xs-child > * {
        margin-right: 5px !important
    }

    .md-up-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .md-up-p-xs,
    .md-up-p-xs-child-not-last > :not(:last-child),
    .md-up-p-xs-child > * {
        padding: 5px !important
    }

    .md-up-pt-xs,
    .md-up-pt-xs-child-not-last > :not(:last-child),
    .md-up-pt-xs-child > * {
        padding-top: 5px !important
    }

    .md-up-pb-xs,
    .md-up-pb-xs-child-not-last > :not(:last-child),
    .md-up-pb-xs-child > *,
    .md-up-py-xs {
        padding-bottom: 5px !important
    }

    .md-up-py-xs,
    .md-up-py-xs-child > * {
        padding-top: 5px !important
    }

    .md-up-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .md-up-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .md-up-pl-xs,
    .md-up-pl-xs-child-not-last > :not(:last-child),
    .md-up-pl-xs-child > * {
        padding-left: 5px !important
    }

    .md-up-pr-xs,
    .md-up-pr-xs-child-not-last > :not(:last-child),
    .md-up-pr-xs-child > *,
    .md-up-px-xs {
        padding-right: 5px !important
    }

    .md-up-px-xs,
    .md-up-px-xs-child > * {
        padding-left: 5px !important
    }

    .md-up-px-xs-child > * {
        padding-right: 5px !important
    }

    .md-up-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .md-up-m-sm,
    .md-up-m-sm-child-not-last > :not(:last-child),
    .md-up-m-sm-child > * {
        margin: 15px !important
    }

    .md-up-mt-sm,
    .md-up-mt-sm-child-not-last > :not(:last-child),
    .md-up-mt-sm-child > * {
        margin-top: 15px !important
    }

    .md-up-mb-sm,
    .md-up-mb-sm-child-not-last > :not(:last-child),
    .md-up-mb-sm-child > *,
    .md-up-my-sm {
        margin-bottom: 15px !important
    }

    .md-up-my-sm,
    .md-up-my-sm-child > * {
        margin-top: 15px !important
    }

    .md-up-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .md-up-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .md-up-ml-sm,
    .md-up-ml-sm-child-not-last > :not(:last-child),
    .md-up-ml-sm-child > * {
        margin-left: 15px !important
    }

    .md-up-mr-sm,
    .md-up-mr-sm-child-not-last > :not(:last-child),
    .md-up-mr-sm-child > *,
    .md-up-mx-sm {
        margin-right: 15px !important
    }

    .md-up-mx-sm,
    .md-up-mx-sm-child > * {
        margin-left: 15px !important
    }

    .md-up-mx-sm-child > * {
        margin-right: 15px !important
    }

    .md-up-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .md-up-p-sm,
    .md-up-p-sm-child-not-last > :not(:last-child),
    .md-up-p-sm-child > * {
        padding: 15px !important
    }

    .md-up-pt-sm,
    .md-up-pt-sm-child-not-last > :not(:last-child),
    .md-up-pt-sm-child > * {
        padding-top: 15px !important
    }

    .md-up-pb-sm,
    .md-up-pb-sm-child-not-last > :not(:last-child),
    .md-up-pb-sm-child > *,
    .md-up-py-sm {
        padding-bottom: 15px !important
    }

    .md-up-py-sm,
    .md-up-py-sm-child > * {
        padding-top: 15px !important
    }

    .md-up-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .md-up-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .md-up-pl-sm,
    .md-up-pl-sm-child-not-last > :not(:last-child),
    .md-up-pl-sm-child > * {
        padding-left: 15px !important
    }

    .md-up-pr-sm,
    .md-up-pr-sm-child-not-last > :not(:last-child),
    .md-up-pr-sm-child > *,
    .md-up-px-sm {
        padding-right: 15px !important
    }

    .md-up-px-sm,
    .md-up-px-sm-child > * {
        padding-left: 15px !important
    }

    .md-up-px-sm-child > * {
        padding-right: 15px !important
    }

    .md-up-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .md-up-m-md,
    .md-up-m-md-child-not-last > :not(:last-child),
    .md-up-m-md-child > * {
        margin: 40px !important
    }

    .md-up-mt-md,
    .md-up-mt-md-child-not-last > :not(:last-child),
    .md-up-mt-md-child > * {
        margin-top: 40px !important
    }

    .md-up-mb-md,
    .md-up-mb-md-child-not-last > :not(:last-child),
    .md-up-mb-md-child > *,
    .md-up-my-md {
        margin-bottom: 40px !important
    }

    .md-up-my-md,
    .md-up-my-md-child > * {
        margin-top: 40px !important
    }

    .md-up-my-md-child > * {
        margin-bottom: 40px !important
    }

    .md-up-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .md-up-ml-md,
    .md-up-ml-md-child-not-last > :not(:last-child),
    .md-up-ml-md-child > * {
        margin-left: 40px !important
    }

    .md-up-mr-md,
    .md-up-mr-md-child-not-last > :not(:last-child),
    .md-up-mr-md-child > *,
    .md-up-mx-md {
        margin-right: 40px !important
    }

    .md-up-mx-md,
    .md-up-mx-md-child > * {
        margin-left: 40px !important
    }

    .md-up-mx-md-child > * {
        margin-right: 40px !important
    }

    .md-up-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .md-up-p-md,
    .md-up-p-md-child-not-last > :not(:last-child),
    .md-up-p-md-child > * {
        padding: 40px !important
    }

    .md-up-pt-md,
    .md-up-pt-md-child-not-last > :not(:last-child),
    .md-up-pt-md-child > * {
        padding-top: 40px !important
    }

    .md-up-pb-md,
    .md-up-pb-md-child-not-last > :not(:last-child),
    .md-up-pb-md-child > *,
    .md-up-py-md {
        padding-bottom: 40px !important
    }

    .md-up-py-md,
    .md-up-py-md-child > * {
        padding-top: 40px !important
    }

    .md-up-py-md-child > * {
        padding-bottom: 40px !important
    }

    .md-up-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .md-up-pl-md,
    .md-up-pl-md-child-not-last > :not(:last-child),
    .md-up-pl-md-child > * {
        padding-left: 40px !important
    }

    .md-up-pr-md,
    .md-up-pr-md-child-not-last > :not(:last-child),
    .md-up-pr-md-child > *,
    .md-up-px-md {
        padding-right: 40px !important
    }

    .md-up-px-md,
    .md-up-px-md-child > * {
        padding-left: 40px !important
    }

    .md-up-px-md-child > * {
        padding-right: 40px !important
    }

    .md-up-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .md-up-m-lg,
    .md-up-m-lg-child-not-last > :not(:last-child),
    .md-up-m-lg-child > * {
        margin: 60px !important
    }

    .md-up-mt-lg,
    .md-up-mt-lg-child-not-last > :not(:last-child),
    .md-up-mt-lg-child > * {
        margin-top: 60px !important
    }

    .md-up-mb-lg,
    .md-up-mb-lg-child-not-last > :not(:last-child),
    .md-up-mb-lg-child > *,
    .md-up-my-lg {
        margin-bottom: 60px !important
    }

    .md-up-my-lg,
    .md-up-my-lg-child > * {
        margin-top: 60px !important
    }

    .md-up-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .md-up-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .md-up-ml-lg,
    .md-up-ml-lg-child-not-last > :not(:last-child),
    .md-up-ml-lg-child > * {
        margin-left: 60px !important
    }

    .md-up-mr-lg,
    .md-up-mr-lg-child-not-last > :not(:last-child),
    .md-up-mr-lg-child > *,
    .md-up-mx-lg {
        margin-right: 60px !important
    }

    .md-up-mx-lg,
    .md-up-mx-lg-child > * {
        margin-left: 60px !important
    }

    .md-up-mx-lg-child > * {
        margin-right: 60px !important
    }

    .md-up-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .md-up-p-lg,
    .md-up-p-lg-child-not-last > :not(:last-child),
    .md-up-p-lg-child > * {
        padding: 60px !important
    }

    .md-up-pt-lg,
    .md-up-pt-lg-child-not-last > :not(:last-child),
    .md-up-pt-lg-child > * {
        padding-top: 60px !important
    }

    .md-up-pb-lg,
    .md-up-pb-lg-child-not-last > :not(:last-child),
    .md-up-pb-lg-child > *,
    .md-up-py-lg {
        padding-bottom: 60px !important
    }

    .md-up-py-lg,
    .md-up-py-lg-child > * {
        padding-top: 60px !important
    }

    .md-up-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .md-up-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .md-up-pl-lg,
    .md-up-pl-lg-child-not-last > :not(:last-child),
    .md-up-pl-lg-child > * {
        padding-left: 60px !important
    }

    .md-up-pr-lg,
    .md-up-pr-lg-child-not-last > :not(:last-child),
    .md-up-pr-lg-child > *,
    .md-up-px-lg {
        padding-right: 60px !important
    }

    .md-up-px-lg,
    .md-up-px-lg-child > * {
        padding-left: 60px !important
    }

    .md-up-px-lg-child > * {
        padding-right: 60px !important
    }

    .md-up-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .md-up-m-xl,
    .md-up-m-xl-child-not-last > :not(:last-child),
    .md-up-m-xl-child > * {
        margin: 70px !important
    }

    .md-up-mt-xl,
    .md-up-mt-xl-child-not-last > :not(:last-child),
    .md-up-mt-xl-child > * {
        margin-top: 70px !important
    }

    .md-up-mb-xl,
    .md-up-mb-xl-child-not-last > :not(:last-child),
    .md-up-mb-xl-child > *,
    .md-up-my-xl {
        margin-bottom: 70px !important
    }

    .md-up-my-xl,
    .md-up-my-xl-child > * {
        margin-top: 70px !important
    }

    .md-up-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .md-up-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .md-up-ml-xl,
    .md-up-ml-xl-child-not-last > :not(:last-child),
    .md-up-ml-xl-child > * {
        margin-left: 70px !important
    }

    .md-up-mr-xl,
    .md-up-mr-xl-child-not-last > :not(:last-child),
    .md-up-mr-xl-child > *,
    .md-up-mx-xl {
        margin-right: 70px !important
    }

    .md-up-mx-xl,
    .md-up-mx-xl-child > * {
        margin-left: 70px !important
    }

    .md-up-mx-xl-child > * {
        margin-right: 70px !important
    }

    .md-up-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .md-up-p-xl,
    .md-up-p-xl-child-not-last > :not(:last-child),
    .md-up-p-xl-child > * {
        padding: 70px !important
    }

    .md-up-pt-xl,
    .md-up-pt-xl-child-not-last > :not(:last-child),
    .md-up-pt-xl-child > * {
        padding-top: 70px !important
    }

    .md-up-pb-xl,
    .md-up-pb-xl-child-not-last > :not(:last-child),
    .md-up-pb-xl-child > *,
    .md-up-py-xl {
        padding-bottom: 70px !important
    }

    .md-up-py-xl,
    .md-up-py-xl-child > * {
        padding-top: 70px !important
    }

    .md-up-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .md-up-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .md-up-pl-xl,
    .md-up-pl-xl-child-not-last > :not(:last-child),
    .md-up-pl-xl-child > * {
        padding-left: 70px !important
    }

    .md-up-pr-xl,
    .md-up-pr-xl-child-not-last > :not(:last-child),
    .md-up-pr-xl-child > *,
    .md-up-px-xl {
        padding-right: 70px !important
    }

    .md-up-px-xl,
    .md-up-px-xl-child > * {
        padding-left: 70px !important
    }

    .md-up-px-xl-child > * {
        padding-right: 70px !important
    }

    .md-up-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .md-up-m-xxl,
    .md-up-m-xxl-child-not-last > :not(:last-child),
    .md-up-m-xxl-child > * {
        margin: 140px !important
    }

    .md-up-mt-xxl,
    .md-up-mt-xxl-child-not-last > :not(:last-child),
    .md-up-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .md-up-mb-xxl,
    .md-up-mb-xxl-child-not-last > :not(:last-child),
    .md-up-mb-xxl-child > *,
    .md-up-my-xxl {
        margin-bottom: 140px !important
    }

    .md-up-my-xxl,
    .md-up-my-xxl-child > * {
        margin-top: 140px !important
    }

    .md-up-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .md-up-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .md-up-ml-xxl,
    .md-up-ml-xxl-child-not-last > :not(:last-child),
    .md-up-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .md-up-mr-xxl,
    .md-up-mr-xxl-child-not-last > :not(:last-child),
    .md-up-mr-xxl-child > *,
    .md-up-mx-xxl {
        margin-right: 140px !important
    }

    .md-up-mx-xxl,
    .md-up-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .md-up-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .md-up-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .md-up-p-xxl,
    .md-up-p-xxl-child-not-last > :not(:last-child),
    .md-up-p-xxl-child > * {
        padding: 140px !important
    }

    .md-up-pt-xxl,
    .md-up-pt-xxl-child-not-last > :not(:last-child),
    .md-up-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .md-up-pb-xxl,
    .md-up-pb-xxl-child-not-last > :not(:last-child),
    .md-up-pb-xxl-child > *,
    .md-up-py-xxl {
        padding-bottom: 140px !important
    }

    .md-up-py-xxl,
    .md-up-py-xxl-child > * {
        padding-top: 140px !important
    }

    .md-up-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .md-up-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .md-up-pl-xxl,
    .md-up-pl-xxl-child-not-last > :not(:last-child),
    .md-up-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .md-up-pr-xxl,
    .md-up-pr-xxl-child-not-last > :not(:last-child),
    .md-up-pr-xxl-child > *,
    .md-up-px-xxl {
        padding-right: 140px !important
    }

    .md-up-px-xxl,
    .md-up-px-xxl-child > * {
        padding-left: 140px !important
    }

    .md-up-px-xxl-child > * {
        padding-right: 140px !important
    }

    .md-up-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

@media (min-width:992px) {

    .lg-up-m-0,
    .lg-up-m-0-child-not-last > :not(:last-child),
    .lg-up-m-0-child > * {
        margin: 0 !important
    }

    .lg-up-mt-0,
    .lg-up-mt-0-child-not-last > :not(:last-child),
    .lg-up-mt-0-child > * {
        margin-top: 0 !important
    }

    .lg-up-mb-0,
    .lg-up-mb-0-child-not-last > :not(:last-child),
    .lg-up-mb-0-child > *,
    .lg-up-my-0 {
        margin-bottom: 0 !important
    }

    .lg-up-my-0,
    .lg-up-my-0-child > * {
        margin-top: 0 !important
    }

    .lg-up-my-0-child > * {
        margin-bottom: 0 !important
    }

    .lg-up-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .lg-up-ml-0,
    .lg-up-ml-0-child-not-last > :not(:last-child),
    .lg-up-ml-0-child > * {
        margin-left: 0 !important
    }

    .lg-up-mr-0,
    .lg-up-mr-0-child-not-last > :not(:last-child),
    .lg-up-mr-0-child > *,
    .lg-up-mx-0 {
        margin-right: 0 !important
    }

    .lg-up-mx-0,
    .lg-up-mx-0-child > * {
        margin-left: 0 !important
    }

    .lg-up-mx-0-child > * {
        margin-right: 0 !important
    }

    .lg-up-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .lg-up-p-0,
    .lg-up-p-0-child-not-last > :not(:last-child),
    .lg-up-p-0-child > * {
        padding: 0 !important
    }

    .lg-up-pt-0,
    .lg-up-pt-0-child-not-last > :not(:last-child),
    .lg-up-pt-0-child > * {
        padding-top: 0 !important
    }

    .lg-up-pb-0,
    .lg-up-pb-0-child-not-last > :not(:last-child),
    .lg-up-pb-0-child > *,
    .lg-up-py-0 {
        padding-bottom: 0 !important
    }

    .lg-up-py-0,
    .lg-up-py-0-child > * {
        padding-top: 0 !important
    }

    .lg-up-py-0-child > * {
        padding-bottom: 0 !important
    }

    .lg-up-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .lg-up-pl-0,
    .lg-up-pl-0-child-not-last > :not(:last-child),
    .lg-up-pl-0-child > * {
        padding-left: 0 !important
    }

    .lg-up-pr-0,
    .lg-up-pr-0-child-not-last > :not(:last-child),
    .lg-up-pr-0-child > *,
    .lg-up-px-0 {
        padding-right: 0 !important
    }

    .lg-up-px-0,
    .lg-up-px-0-child > * {
        padding-left: 0 !important
    }

    .lg-up-px-0-child > * {
        padding-right: 0 !important
    }

    .lg-up-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .lg-up-m-xs,
    .lg-up-m-xs-child-not-last > :not(:last-child),
    .lg-up-m-xs-child > * {
        margin: 5px !important
    }

    .lg-up-mt-xs,
    .lg-up-mt-xs-child-not-last > :not(:last-child),
    .lg-up-mt-xs-child > * {
        margin-top: 5px !important
    }

    .lg-up-mb-xs,
    .lg-up-mb-xs-child-not-last > :not(:last-child),
    .lg-up-mb-xs-child > *,
    .lg-up-my-xs {
        margin-bottom: 5px !important
    }

    .lg-up-my-xs,
    .lg-up-my-xs-child > * {
        margin-top: 5px !important
    }

    .lg-up-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .lg-up-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .lg-up-ml-xs,
    .lg-up-ml-xs-child-not-last > :not(:last-child),
    .lg-up-ml-xs-child > * {
        margin-left: 5px !important
    }

    .lg-up-mr-xs,
    .lg-up-mr-xs-child-not-last > :not(:last-child),
    .lg-up-mr-xs-child > *,
    .lg-up-mx-xs {
        margin-right: 5px !important
    }

    .lg-up-mx-xs,
    .lg-up-mx-xs-child > * {
        margin-left: 5px !important
    }

    .lg-up-mx-xs-child > * {
        margin-right: 5px !important
    }

    .lg-up-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .lg-up-p-xs,
    .lg-up-p-xs-child-not-last > :not(:last-child),
    .lg-up-p-xs-child > * {
        padding: 5px !important
    }

    .lg-up-pt-xs,
    .lg-up-pt-xs-child-not-last > :not(:last-child),
    .lg-up-pt-xs-child > * {
        padding-top: 5px !important
    }

    .lg-up-pb-xs,
    .lg-up-pb-xs-child-not-last > :not(:last-child),
    .lg-up-pb-xs-child > *,
    .lg-up-py-xs {
        padding-bottom: 5px !important
    }

    .lg-up-py-xs,
    .lg-up-py-xs-child > * {
        padding-top: 5px !important
    }

    .lg-up-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .lg-up-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .lg-up-pl-xs,
    .lg-up-pl-xs-child-not-last > :not(:last-child),
    .lg-up-pl-xs-child > * {
        padding-left: 5px !important
    }

    .lg-up-pr-xs,
    .lg-up-pr-xs-child-not-last > :not(:last-child),
    .lg-up-pr-xs-child > *,
    .lg-up-px-xs {
        padding-right: 5px !important
    }

    .lg-up-px-xs,
    .lg-up-px-xs-child > * {
        padding-left: 5px !important
    }

    .lg-up-px-xs-child > * {
        padding-right: 5px !important
    }

    .lg-up-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .lg-up-m-sm,
    .lg-up-m-sm-child-not-last > :not(:last-child),
    .lg-up-m-sm-child > * {
        margin: 15px !important
    }

    .lg-up-mt-sm,
    .lg-up-mt-sm-child-not-last > :not(:last-child),
    .lg-up-mt-sm-child > * {
        margin-top: 15px !important
    }

    .lg-up-mb-sm,
    .lg-up-mb-sm-child-not-last > :not(:last-child),
    .lg-up-mb-sm-child > *,
    .lg-up-my-sm {
        margin-bottom: 15px !important
    }

    .lg-up-my-sm,
    .lg-up-my-sm-child > * {
        margin-top: 15px !important
    }

    .lg-up-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .lg-up-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .lg-up-ml-sm,
    .lg-up-ml-sm-child-not-last > :not(:last-child),
    .lg-up-ml-sm-child > * {
        margin-left: 15px !important
    }

    .lg-up-mr-sm,
    .lg-up-mr-sm-child-not-last > :not(:last-child),
    .lg-up-mr-sm-child > *,
    .lg-up-mx-sm {
        margin-right: 15px !important
    }

    .lg-up-mx-sm,
    .lg-up-mx-sm-child > * {
        margin-left: 15px !important
    }

    .lg-up-mx-sm-child > * {
        margin-right: 15px !important
    }

    .lg-up-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .lg-up-p-sm,
    .lg-up-p-sm-child-not-last > :not(:last-child),
    .lg-up-p-sm-child > * {
        padding: 15px !important
    }

    .lg-up-pt-sm,
    .lg-up-pt-sm-child-not-last > :not(:last-child),
    .lg-up-pt-sm-child > * {
        padding-top: 15px !important
    }

    .lg-up-pb-sm,
    .lg-up-pb-sm-child-not-last > :not(:last-child),
    .lg-up-pb-sm-child > *,
    .lg-up-py-sm {
        padding-bottom: 15px !important
    }

    .lg-up-py-sm,
    .lg-up-py-sm-child > * {
        padding-top: 15px !important
    }

    .lg-up-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .lg-up-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .lg-up-pl-sm,
    .lg-up-pl-sm-child-not-last > :not(:last-child),
    .lg-up-pl-sm-child > * {
        padding-left: 15px !important
    }

    .lg-up-pr-sm,
    .lg-up-pr-sm-child-not-last > :not(:last-child),
    .lg-up-pr-sm-child > *,
    .lg-up-px-sm {
        padding-right: 15px !important
    }

    .lg-up-px-sm,
    .lg-up-px-sm-child > * {
        padding-left: 15px !important
    }

    .lg-up-px-sm-child > * {
        padding-right: 15px !important
    }

    .lg-up-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .lg-up-m-md,
    .lg-up-m-md-child-not-last > :not(:last-child),
    .lg-up-m-md-child > * {
        margin: 40px !important
    }

    .lg-up-mt-md,
    .lg-up-mt-md-child-not-last > :not(:last-child),
    .lg-up-mt-md-child > * {
        margin-top: 40px !important
    }

    .lg-up-mb-md,
    .lg-up-mb-md-child-not-last > :not(:last-child),
    .lg-up-mb-md-child > *,
    .lg-up-my-md {
        margin-bottom: 40px !important
    }

    .lg-up-my-md,
    .lg-up-my-md-child > * {
        margin-top: 40px !important
    }

    .lg-up-my-md-child > * {
        margin-bottom: 40px !important
    }

    .lg-up-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .lg-up-ml-md,
    .lg-up-ml-md-child-not-last > :not(:last-child),
    .lg-up-ml-md-child > * {
        margin-left: 40px !important
    }

    .lg-up-mr-md,
    .lg-up-mr-md-child-not-last > :not(:last-child),
    .lg-up-mr-md-child > *,
    .lg-up-mx-md {
        margin-right: 40px !important
    }

    .lg-up-mx-md,
    .lg-up-mx-md-child > * {
        margin-left: 40px !important
    }

    .lg-up-mx-md-child > * {
        margin-right: 40px !important
    }

    .lg-up-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .lg-up-p-md,
    .lg-up-p-md-child-not-last > :not(:last-child),
    .lg-up-p-md-child > * {
        padding: 40px !important
    }

    .lg-up-pt-md,
    .lg-up-pt-md-child-not-last > :not(:last-child),
    .lg-up-pt-md-child > * {
        padding-top: 40px !important
    }

    .lg-up-pb-md,
    .lg-up-pb-md-child-not-last > :not(:last-child),
    .lg-up-pb-md-child > *,
    .lg-up-py-md {
        padding-bottom: 40px !important
    }

    .lg-up-py-md,
    .lg-up-py-md-child > * {
        padding-top: 40px !important
    }

    .lg-up-py-md-child > * {
        padding-bottom: 40px !important
    }

    .lg-up-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .lg-up-pl-md,
    .lg-up-pl-md-child-not-last > :not(:last-child),
    .lg-up-pl-md-child > * {
        padding-left: 40px !important
    }

    .lg-up-pr-md,
    .lg-up-pr-md-child-not-last > :not(:last-child),
    .lg-up-pr-md-child > *,
    .lg-up-px-md {
        padding-right: 40px !important
    }

    .lg-up-px-md,
    .lg-up-px-md-child > * {
        padding-left: 40px !important
    }

    .lg-up-px-md-child > * {
        padding-right: 40px !important
    }

    .lg-up-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .lg-up-m-lg,
    .lg-up-m-lg-child-not-last > :not(:last-child),
    .lg-up-m-lg-child > * {
        margin: 60px !important
    }

    .lg-up-mt-lg,
    .lg-up-mt-lg-child-not-last > :not(:last-child),
    .lg-up-mt-lg-child > * {
        margin-top: 60px !important
    }

    .lg-up-mb-lg,
    .lg-up-mb-lg-child-not-last > :not(:last-child),
    .lg-up-mb-lg-child > *,
    .lg-up-my-lg {
        margin-bottom: 60px !important
    }

    .lg-up-my-lg,
    .lg-up-my-lg-child > * {
        margin-top: 60px !important
    }

    .lg-up-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .lg-up-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .lg-up-ml-lg,
    .lg-up-ml-lg-child-not-last > :not(:last-child),
    .lg-up-ml-lg-child > * {
        margin-left: 60px !important
    }

    .lg-up-mr-lg,
    .lg-up-mr-lg-child-not-last > :not(:last-child),
    .lg-up-mr-lg-child > *,
    .lg-up-mx-lg {
        margin-right: 60px !important
    }

    .lg-up-mx-lg,
    .lg-up-mx-lg-child > * {
        margin-left: 60px !important
    }

    .lg-up-mx-lg-child > * {
        margin-right: 60px !important
    }

    .lg-up-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .lg-up-p-lg,
    .lg-up-p-lg-child-not-last > :not(:last-child),
    .lg-up-p-lg-child > * {
        padding: 60px !important
    }

    .lg-up-pt-lg,
    .lg-up-pt-lg-child-not-last > :not(:last-child),
    .lg-up-pt-lg-child > * {
        padding-top: 60px !important
    }

    .lg-up-pb-lg,
    .lg-up-pb-lg-child-not-last > :not(:last-child),
    .lg-up-pb-lg-child > *,
    .lg-up-py-lg {
        padding-bottom: 60px !important
    }

    .lg-up-py-lg,
    .lg-up-py-lg-child > * {
        padding-top: 60px !important
    }

    .lg-up-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .lg-up-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .lg-up-pl-lg,
    .lg-up-pl-lg-child-not-last > :not(:last-child),
    .lg-up-pl-lg-child > * {
        padding-left: 60px !important
    }

    .lg-up-pr-lg,
    .lg-up-pr-lg-child-not-last > :not(:last-child),
    .lg-up-pr-lg-child > *,
    .lg-up-px-lg {
        padding-right: 60px !important
    }

    .lg-up-px-lg,
    .lg-up-px-lg-child > * {
        padding-left: 60px !important
    }

    .lg-up-px-lg-child > * {
        padding-right: 60px !important
    }

    .lg-up-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .lg-up-m-xl,
    .lg-up-m-xl-child-not-last > :not(:last-child),
    .lg-up-m-xl-child > * {
        margin: 70px !important
    }

    .lg-up-mt-xl,
    .lg-up-mt-xl-child-not-last > :not(:last-child),
    .lg-up-mt-xl-child > * {
        margin-top: 70px !important
    }

    .lg-up-mb-xl,
    .lg-up-mb-xl-child-not-last > :not(:last-child),
    .lg-up-mb-xl-child > *,
    .lg-up-my-xl {
        margin-bottom: 70px !important
    }

    .lg-up-my-xl,
    .lg-up-my-xl-child > * {
        margin-top: 70px !important
    }

    .lg-up-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .lg-up-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .lg-up-ml-xl,
    .lg-up-ml-xl-child-not-last > :not(:last-child),
    .lg-up-ml-xl-child > * {
        margin-left: 70px !important
    }

    .lg-up-mr-xl,
    .lg-up-mr-xl-child-not-last > :not(:last-child),
    .lg-up-mr-xl-child > *,
    .lg-up-mx-xl {
        margin-right: 70px !important
    }

    .lg-up-mx-xl,
    .lg-up-mx-xl-child > * {
        margin-left: 70px !important
    }

    .lg-up-mx-xl-child > * {
        margin-right: 70px !important
    }

    .lg-up-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .lg-up-p-xl,
    .lg-up-p-xl-child-not-last > :not(:last-child),
    .lg-up-p-xl-child > * {
        padding: 70px !important
    }

    .lg-up-pt-xl,
    .lg-up-pt-xl-child-not-last > :not(:last-child),
    .lg-up-pt-xl-child > * {
        padding-top: 70px !important
    }

    .lg-up-pb-xl,
    .lg-up-pb-xl-child-not-last > :not(:last-child),
    .lg-up-pb-xl-child > *,
    .lg-up-py-xl {
        padding-bottom: 70px !important
    }

    .lg-up-py-xl,
    .lg-up-py-xl-child > * {
        padding-top: 70px !important
    }

    .lg-up-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .lg-up-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .lg-up-pl-xl,
    .lg-up-pl-xl-child-not-last > :not(:last-child),
    .lg-up-pl-xl-child > * {
        padding-left: 70px !important
    }

    .lg-up-pr-xl,
    .lg-up-pr-xl-child-not-last > :not(:last-child),
    .lg-up-pr-xl-child > *,
    .lg-up-px-xl {
        padding-right: 70px !important
    }

    .lg-up-px-xl,
    .lg-up-px-xl-child > * {
        padding-left: 70px !important
    }

    .lg-up-px-xl-child > * {
        padding-right: 70px !important
    }

    .lg-up-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .lg-up-m-xxl,
    .lg-up-m-xxl-child-not-last > :not(:last-child),
    .lg-up-m-xxl-child > * {
        margin: 140px !important
    }

    .lg-up-mt-xxl,
    .lg-up-mt-xxl-child-not-last > :not(:last-child),
    .lg-up-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .lg-up-mb-xxl,
    .lg-up-mb-xxl-child-not-last > :not(:last-child),
    .lg-up-mb-xxl-child > *,
    .lg-up-my-xxl {
        margin-bottom: 140px !important
    }

    .lg-up-my-xxl,
    .lg-up-my-xxl-child > * {
        margin-top: 140px !important
    }

    .lg-up-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .lg-up-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .lg-up-ml-xxl,
    .lg-up-ml-xxl-child-not-last > :not(:last-child),
    .lg-up-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .lg-up-mr-xxl,
    .lg-up-mr-xxl-child-not-last > :not(:last-child),
    .lg-up-mr-xxl-child > *,
    .lg-up-mx-xxl {
        margin-right: 140px !important
    }

    .lg-up-mx-xxl,
    .lg-up-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .lg-up-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .lg-up-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .lg-up-p-xxl,
    .lg-up-p-xxl-child-not-last > :not(:last-child),
    .lg-up-p-xxl-child > * {
        padding: 140px !important
    }

    .lg-up-pt-xxl,
    .lg-up-pt-xxl-child-not-last > :not(:last-child),
    .lg-up-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .lg-up-pb-xxl,
    .lg-up-pb-xxl-child-not-last > :not(:last-child),
    .lg-up-pb-xxl-child > *,
    .lg-up-py-xxl {
        padding-bottom: 140px !important
    }

    .lg-up-py-xxl,
    .lg-up-py-xxl-child > * {
        padding-top: 140px !important
    }

    .lg-up-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .lg-up-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .lg-up-pl-xxl,
    .lg-up-pl-xxl-child-not-last > :not(:last-child),
    .lg-up-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .lg-up-pr-xxl,
    .lg-up-pr-xxl-child-not-last > :not(:last-child),
    .lg-up-pr-xxl-child > *,
    .lg-up-px-xxl {
        padding-right: 140px !important
    }

    .lg-up-px-xxl,
    .lg-up-px-xxl-child > * {
        padding-left: 140px !important
    }

    .lg-up-px-xxl-child > * {
        padding-right: 140px !important
    }

    .lg-up-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

@media (min-width:1380px) {

    .xl-up-m-0,
    .xl-up-m-0-child-not-last > :not(:last-child),
    .xl-up-m-0-child > * {
        margin: 0 !important
    }

    .xl-up-mt-0,
    .xl-up-mt-0-child-not-last > :not(:last-child),
    .xl-up-mt-0-child > * {
        margin-top: 0 !important
    }

    .xl-up-mb-0,
    .xl-up-mb-0-child-not-last > :not(:last-child),
    .xl-up-mb-0-child > *,
    .xl-up-my-0 {
        margin-bottom: 0 !important
    }

    .xl-up-my-0,
    .xl-up-my-0-child > * {
        margin-top: 0 !important
    }

    .xl-up-my-0-child > * {
        margin-bottom: 0 !important
    }

    .xl-up-my-0-child-not-last > :not(:last-child) {
        margin-bottom: 0 !important;
        margin-top: 0 !important
    }

    .xl-up-ml-0,
    .xl-up-ml-0-child-not-last > :not(:last-child),
    .xl-up-ml-0-child > * {
        margin-left: 0 !important
    }

    .xl-up-mr-0,
    .xl-up-mr-0-child-not-last > :not(:last-child),
    .xl-up-mr-0-child > *,
    .xl-up-mx-0 {
        margin-right: 0 !important
    }

    .xl-up-mx-0,
    .xl-up-mx-0-child > * {
        margin-left: 0 !important
    }

    .xl-up-mx-0-child > * {
        margin-right: 0 !important
    }

    .xl-up-mx-0-child-not-last > :not(:last-child) {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .xl-up-p-0,
    .xl-up-p-0-child-not-last > :not(:last-child),
    .xl-up-p-0-child > * {
        padding: 0 !important
    }

    .xl-up-pt-0,
    .xl-up-pt-0-child-not-last > :not(:last-child),
    .xl-up-pt-0-child > * {
        padding-top: 0 !important
    }

    .xl-up-pb-0,
    .xl-up-pb-0-child-not-last > :not(:last-child),
    .xl-up-pb-0-child > *,
    .xl-up-py-0 {
        padding-bottom: 0 !important
    }

    .xl-up-py-0,
    .xl-up-py-0-child > * {
        padding-top: 0 !important
    }

    .xl-up-py-0-child > * {
        padding-bottom: 0 !important
    }

    .xl-up-py-0-child-not-last > :not(:last-child) {
        padding-bottom: 0 !important;
        padding-top: 0 !important
    }

    .xl-up-pl-0,
    .xl-up-pl-0-child-not-last > :not(:last-child),
    .xl-up-pl-0-child > * {
        padding-left: 0 !important
    }

    .xl-up-pr-0,
    .xl-up-pr-0-child-not-last > :not(:last-child),
    .xl-up-pr-0-child > *,
    .xl-up-px-0 {
        padding-right: 0 !important
    }

    .xl-up-px-0,
    .xl-up-px-0-child > * {
        padding-left: 0 !important
    }

    .xl-up-px-0-child > * {
        padding-right: 0 !important
    }

    .xl-up-px-0-child-not-last > :not(:last-child) {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .xl-up-m-xs,
    .xl-up-m-xs-child-not-last > :not(:last-child),
    .xl-up-m-xs-child > * {
        margin: 5px !important
    }

    .xl-up-mt-xs,
    .xl-up-mt-xs-child-not-last > :not(:last-child),
    .xl-up-mt-xs-child > * {
        margin-top: 5px !important
    }

    .xl-up-mb-xs,
    .xl-up-mb-xs-child-not-last > :not(:last-child),
    .xl-up-mb-xs-child > *,
    .xl-up-my-xs {
        margin-bottom: 5px !important
    }

    .xl-up-my-xs,
    .xl-up-my-xs-child > * {
        margin-top: 5px !important
    }

    .xl-up-my-xs-child > * {
        margin-bottom: 5px !important
    }

    .xl-up-my-xs-child-not-last > :not(:last-child) {
        margin-bottom: 5px !important;
        margin-top: 5px !important
    }

    .xl-up-ml-xs,
    .xl-up-ml-xs-child-not-last > :not(:last-child),
    .xl-up-ml-xs-child > * {
        margin-left: 5px !important
    }

    .xl-up-mr-xs,
    .xl-up-mr-xs-child-not-last > :not(:last-child),
    .xl-up-mr-xs-child > *,
    .xl-up-mx-xs {
        margin-right: 5px !important
    }

    .xl-up-mx-xs,
    .xl-up-mx-xs-child > * {
        margin-left: 5px !important
    }

    .xl-up-mx-xs-child > * {
        margin-right: 5px !important
    }

    .xl-up-mx-xs-child-not-last > :not(:last-child) {
        margin-left: 5px !important;
        margin-right: 5px !important
    }

    .xl-up-p-xs,
    .xl-up-p-xs-child-not-last > :not(:last-child),
    .xl-up-p-xs-child > * {
        padding: 5px !important
    }

    .xl-up-pt-xs,
    .xl-up-pt-xs-child-not-last > :not(:last-child),
    .xl-up-pt-xs-child > * {
        padding-top: 5px !important
    }

    .xl-up-pb-xs,
    .xl-up-pb-xs-child-not-last > :not(:last-child),
    .xl-up-pb-xs-child > *,
    .xl-up-py-xs {
        padding-bottom: 5px !important
    }

    .xl-up-py-xs,
    .xl-up-py-xs-child > * {
        padding-top: 5px !important
    }

    .xl-up-py-xs-child > * {
        padding-bottom: 5px !important
    }

    .xl-up-py-xs-child-not-last > :not(:last-child) {
        padding-bottom: 5px !important;
        padding-top: 5px !important
    }

    .xl-up-pl-xs,
    .xl-up-pl-xs-child-not-last > :not(:last-child),
    .xl-up-pl-xs-child > * {
        padding-left: 5px !important
    }

    .xl-up-pr-xs,
    .xl-up-pr-xs-child-not-last > :not(:last-child),
    .xl-up-pr-xs-child > *,
    .xl-up-px-xs {
        padding-right: 5px !important
    }

    .xl-up-px-xs,
    .xl-up-px-xs-child > * {
        padding-left: 5px !important
    }

    .xl-up-px-xs-child > * {
        padding-right: 5px !important
    }

    .xl-up-px-xs-child-not-last > :not(:last-child) {
        padding-left: 5px !important;
        padding-right: 5px !important
    }

    .xl-up-m-sm,
    .xl-up-m-sm-child-not-last > :not(:last-child),
    .xl-up-m-sm-child > * {
        margin: 15px !important
    }

    .xl-up-mt-sm,
    .xl-up-mt-sm-child-not-last > :not(:last-child),
    .xl-up-mt-sm-child > * {
        margin-top: 15px !important
    }

    .xl-up-mb-sm,
    .xl-up-mb-sm-child-not-last > :not(:last-child),
    .xl-up-mb-sm-child > *,
    .xl-up-my-sm {
        margin-bottom: 15px !important
    }

    .xl-up-my-sm,
    .xl-up-my-sm-child > * {
        margin-top: 15px !important
    }

    .xl-up-my-sm-child > * {
        margin-bottom: 15px !important
    }

    .xl-up-my-sm-child-not-last > :not(:last-child) {
        margin-bottom: 15px !important;
        margin-top: 15px !important
    }

    .xl-up-ml-sm,
    .xl-up-ml-sm-child-not-last > :not(:last-child),
    .xl-up-ml-sm-child > * {
        margin-left: 15px !important
    }

    .xl-up-mr-sm,
    .xl-up-mr-sm-child-not-last > :not(:last-child),
    .xl-up-mr-sm-child > *,
    .xl-up-mx-sm {
        margin-right: 15px !important
    }

    .xl-up-mx-sm,
    .xl-up-mx-sm-child > * {
        margin-left: 15px !important
    }

    .xl-up-mx-sm-child > * {
        margin-right: 15px !important
    }

    .xl-up-mx-sm-child-not-last > :not(:last-child) {
        margin-left: 15px !important;
        margin-right: 15px !important
    }

    .xl-up-p-sm,
    .xl-up-p-sm-child-not-last > :not(:last-child),
    .xl-up-p-sm-child > * {
        padding: 15px !important
    }

    .xl-up-pt-sm,
    .xl-up-pt-sm-child-not-last > :not(:last-child),
    .xl-up-pt-sm-child > * {
        padding-top: 15px !important
    }

    .xl-up-pb-sm,
    .xl-up-pb-sm-child-not-last > :not(:last-child),
    .xl-up-pb-sm-child > *,
    .xl-up-py-sm {
        padding-bottom: 15px !important
    }

    .xl-up-py-sm,
    .xl-up-py-sm-child > * {
        padding-top: 15px !important
    }

    .xl-up-py-sm-child > * {
        padding-bottom: 15px !important
    }

    .xl-up-py-sm-child-not-last > :not(:last-child) {
        padding-bottom: 15px !important;
        padding-top: 15px !important
    }

    .xl-up-pl-sm,
    .xl-up-pl-sm-child-not-last > :not(:last-child),
    .xl-up-pl-sm-child > * {
        padding-left: 15px !important
    }

    .xl-up-pr-sm,
    .xl-up-pr-sm-child-not-last > :not(:last-child),
    .xl-up-pr-sm-child > *,
    .xl-up-px-sm {
        padding-right: 15px !important
    }

    .xl-up-px-sm,
    .xl-up-px-sm-child > * {
        padding-left: 15px !important
    }

    .xl-up-px-sm-child > * {
        padding-right: 15px !important
    }

    .xl-up-px-sm-child-not-last > :not(:last-child) {
        padding-left: 15px !important;
        padding-right: 15px !important
    }

    .xl-up-m-md,
    .xl-up-m-md-child-not-last > :not(:last-child),
    .xl-up-m-md-child > * {
        margin: 40px !important
    }

    .xl-up-mt-md,
    .xl-up-mt-md-child-not-last > :not(:last-child),
    .xl-up-mt-md-child > * {
        margin-top: 40px !important
    }

    .xl-up-mb-md,
    .xl-up-mb-md-child-not-last > :not(:last-child),
    .xl-up-mb-md-child > *,
    .xl-up-my-md {
        margin-bottom: 40px !important
    }

    .xl-up-my-md,
    .xl-up-my-md-child > * {
        margin-top: 40px !important
    }

    .xl-up-my-md-child > * {
        margin-bottom: 40px !important
    }

    .xl-up-my-md-child-not-last > :not(:last-child) {
        margin-bottom: 40px !important;
        margin-top: 40px !important
    }

    .xl-up-ml-md,
    .xl-up-ml-md-child-not-last > :not(:last-child),
    .xl-up-ml-md-child > * {
        margin-left: 40px !important
    }

    .xl-up-mr-md,
    .xl-up-mr-md-child-not-last > :not(:last-child),
    .xl-up-mr-md-child > *,
    .xl-up-mx-md {
        margin-right: 40px !important
    }

    .xl-up-mx-md,
    .xl-up-mx-md-child > * {
        margin-left: 40px !important
    }

    .xl-up-mx-md-child > * {
        margin-right: 40px !important
    }

    .xl-up-mx-md-child-not-last > :not(:last-child) {
        margin-left: 40px !important;
        margin-right: 40px !important
    }

    .xl-up-p-md,
    .xl-up-p-md-child-not-last > :not(:last-child),
    .xl-up-p-md-child > * {
        padding: 40px !important
    }

    .xl-up-pt-md,
    .xl-up-pt-md-child-not-last > :not(:last-child),
    .xl-up-pt-md-child > * {
        padding-top: 40px !important
    }

    .xl-up-pb-md,
    .xl-up-pb-md-child-not-last > :not(:last-child),
    .xl-up-pb-md-child > *,
    .xl-up-py-md {
        padding-bottom: 40px !important
    }

    .xl-up-py-md,
    .xl-up-py-md-child > * {
        padding-top: 40px !important
    }

    .xl-up-py-md-child > * {
        padding-bottom: 40px !important
    }

    .xl-up-py-md-child-not-last > :not(:last-child) {
        padding-bottom: 40px !important;
        padding-top: 40px !important
    }

    .xl-up-pl-md,
    .xl-up-pl-md-child-not-last > :not(:last-child),
    .xl-up-pl-md-child > * {
        padding-left: 40px !important
    }

    .xl-up-pr-md,
    .xl-up-pr-md-child-not-last > :not(:last-child),
    .xl-up-pr-md-child > *,
    .xl-up-px-md {
        padding-right: 40px !important
    }

    .xl-up-px-md,
    .xl-up-px-md-child > * {
        padding-left: 40px !important
    }

    .xl-up-px-md-child > * {
        padding-right: 40px !important
    }

    .xl-up-px-md-child-not-last > :not(:last-child) {
        padding-left: 40px !important;
        padding-right: 40px !important
    }

    .xl-up-m-lg,
    .xl-up-m-lg-child-not-last > :not(:last-child),
    .xl-up-m-lg-child > * {
        margin: 60px !important
    }

    .xl-up-mt-lg,
    .xl-up-mt-lg-child-not-last > :not(:last-child),
    .xl-up-mt-lg-child > * {
        margin-top: 60px !important
    }

    .xl-up-mb-lg,
    .xl-up-mb-lg-child-not-last > :not(:last-child),
    .xl-up-mb-lg-child > *,
    .xl-up-my-lg {
        margin-bottom: 60px !important
    }

    .xl-up-my-lg,
    .xl-up-my-lg-child > * {
        margin-top: 60px !important
    }

    .xl-up-my-lg-child > * {
        margin-bottom: 60px !important
    }

    .xl-up-my-lg-child-not-last > :not(:last-child) {
        margin-bottom: 60px !important;
        margin-top: 60px !important
    }

    .xl-up-ml-lg,
    .xl-up-ml-lg-child-not-last > :not(:last-child),
    .xl-up-ml-lg-child > * {
        margin-left: 60px !important
    }

    .xl-up-mr-lg,
    .xl-up-mr-lg-child-not-last > :not(:last-child),
    .xl-up-mr-lg-child > *,
    .xl-up-mx-lg {
        margin-right: 60px !important
    }

    .xl-up-mx-lg,
    .xl-up-mx-lg-child > * {
        margin-left: 60px !important
    }

    .xl-up-mx-lg-child > * {
        margin-right: 60px !important
    }

    .xl-up-mx-lg-child-not-last > :not(:last-child) {
        margin-left: 60px !important;
        margin-right: 60px !important
    }

    .xl-up-p-lg,
    .xl-up-p-lg-child-not-last > :not(:last-child),
    .xl-up-p-lg-child > * {
        padding: 60px !important
    }

    .xl-up-pt-lg,
    .xl-up-pt-lg-child-not-last > :not(:last-child),
    .xl-up-pt-lg-child > * {
        padding-top: 60px !important
    }

    .xl-up-pb-lg,
    .xl-up-pb-lg-child-not-last > :not(:last-child),
    .xl-up-pb-lg-child > *,
    .xl-up-py-lg {
        padding-bottom: 60px !important
    }

    .xl-up-py-lg,
    .xl-up-py-lg-child > * {
        padding-top: 60px !important
    }

    .xl-up-py-lg-child > * {
        padding-bottom: 60px !important
    }

    .xl-up-py-lg-child-not-last > :not(:last-child) {
        padding-bottom: 60px !important;
        padding-top: 60px !important
    }

    .xl-up-pl-lg,
    .xl-up-pl-lg-child-not-last > :not(:last-child),
    .xl-up-pl-lg-child > * {
        padding-left: 60px !important
    }

    .xl-up-pr-lg,
    .xl-up-pr-lg-child-not-last > :not(:last-child),
    .xl-up-pr-lg-child > *,
    .xl-up-px-lg {
        padding-right: 60px !important
    }

    .xl-up-px-lg,
    .xl-up-px-lg-child > * {
        padding-left: 60px !important
    }

    .xl-up-px-lg-child > * {
        padding-right: 60px !important
    }

    .xl-up-px-lg-child-not-last > :not(:last-child) {
        padding-left: 60px !important;
        padding-right: 60px !important
    }

    .xl-up-m-xl,
    .xl-up-m-xl-child-not-last > :not(:last-child),
    .xl-up-m-xl-child > * {
        margin: 70px !important
    }

    .xl-up-mt-xl,
    .xl-up-mt-xl-child-not-last > :not(:last-child),
    .xl-up-mt-xl-child > * {
        margin-top: 70px !important
    }

    .xl-up-mb-xl,
    .xl-up-mb-xl-child-not-last > :not(:last-child),
    .xl-up-mb-xl-child > *,
    .xl-up-my-xl {
        margin-bottom: 70px !important
    }

    .xl-up-my-xl,
    .xl-up-my-xl-child > * {
        margin-top: 70px !important
    }

    .xl-up-my-xl-child > * {
        margin-bottom: 70px !important
    }

    .xl-up-my-xl-child-not-last > :not(:last-child) {
        margin-bottom: 70px !important;
        margin-top: 70px !important
    }

    .xl-up-ml-xl,
    .xl-up-ml-xl-child-not-last > :not(:last-child),
    .xl-up-ml-xl-child > * {
        margin-left: 70px !important
    }

    .xl-up-mr-xl,
    .xl-up-mr-xl-child-not-last > :not(:last-child),
    .xl-up-mr-xl-child > *,
    .xl-up-mx-xl {
        margin-right: 70px !important
    }

    .xl-up-mx-xl,
    .xl-up-mx-xl-child > * {
        margin-left: 70px !important
    }

    .xl-up-mx-xl-child > * {
        margin-right: 70px !important
    }

    .xl-up-mx-xl-child-not-last > :not(:last-child) {
        margin-left: 70px !important;
        margin-right: 70px !important
    }

    .xl-up-p-xl,
    .xl-up-p-xl-child-not-last > :not(:last-child),
    .xl-up-p-xl-child > * {
        padding: 70px !important
    }

    .xl-up-pt-xl,
    .xl-up-pt-xl-child-not-last > :not(:last-child),
    .xl-up-pt-xl-child > * {
        padding-top: 70px !important
    }

    .xl-up-pb-xl,
    .xl-up-pb-xl-child-not-last > :not(:last-child),
    .xl-up-pb-xl-child > *,
    .xl-up-py-xl {
        padding-bottom: 70px !important
    }

    .xl-up-py-xl,
    .xl-up-py-xl-child > * {
        padding-top: 70px !important
    }

    .xl-up-py-xl-child > * {
        padding-bottom: 70px !important
    }

    .xl-up-py-xl-child-not-last > :not(:last-child) {
        padding-bottom: 70px !important;
        padding-top: 70px !important
    }

    .xl-up-pl-xl,
    .xl-up-pl-xl-child-not-last > :not(:last-child),
    .xl-up-pl-xl-child > * {
        padding-left: 70px !important
    }

    .xl-up-pr-xl,
    .xl-up-pr-xl-child-not-last > :not(:last-child),
    .xl-up-pr-xl-child > *,
    .xl-up-px-xl {
        padding-right: 70px !important
    }

    .xl-up-px-xl,
    .xl-up-px-xl-child > * {
        padding-left: 70px !important
    }

    .xl-up-px-xl-child > * {
        padding-right: 70px !important
    }

    .xl-up-px-xl-child-not-last > :not(:last-child) {
        padding-left: 70px !important;
        padding-right: 70px !important
    }

    .xl-up-m-xxl,
    .xl-up-m-xxl-child-not-last > :not(:last-child),
    .xl-up-m-xxl-child > * {
        margin: 140px !important
    }

    .xl-up-mt-xxl,
    .xl-up-mt-xxl-child-not-last > :not(:last-child),
    .xl-up-mt-xxl-child > * {
        margin-top: 140px !important
    }

    .xl-up-mb-xxl,
    .xl-up-mb-xxl-child-not-last > :not(:last-child),
    .xl-up-mb-xxl-child > *,
    .xl-up-my-xxl {
        margin-bottom: 140px !important
    }

    .xl-up-my-xxl,
    .xl-up-my-xxl-child > * {
        margin-top: 140px !important
    }

    .xl-up-my-xxl-child > * {
        margin-bottom: 140px !important
    }

    .xl-up-my-xxl-child-not-last > :not(:last-child) {
        margin-bottom: 140px !important;
        margin-top: 140px !important
    }

    .xl-up-ml-xxl,
    .xl-up-ml-xxl-child-not-last > :not(:last-child),
    .xl-up-ml-xxl-child > * {
        margin-left: 140px !important
    }

    .xl-up-mr-xxl,
    .xl-up-mr-xxl-child-not-last > :not(:last-child),
    .xl-up-mr-xxl-child > *,
    .xl-up-mx-xxl {
        margin-right: 140px !important
    }

    .xl-up-mx-xxl,
    .xl-up-mx-xxl-child > * {
        margin-left: 140px !important
    }

    .xl-up-mx-xxl-child > * {
        margin-right: 140px !important
    }

    .xl-up-mx-xxl-child-not-last > :not(:last-child) {
        margin-left: 140px !important;
        margin-right: 140px !important
    }

    .xl-up-p-xxl,
    .xl-up-p-xxl-child-not-last > :not(:last-child),
    .xl-up-p-xxl-child > * {
        padding: 140px !important
    }

    .xl-up-pt-xxl,
    .xl-up-pt-xxl-child-not-last > :not(:last-child),
    .xl-up-pt-xxl-child > * {
        padding-top: 140px !important
    }

    .xl-up-pb-xxl,
    .xl-up-pb-xxl-child-not-last > :not(:last-child),
    .xl-up-pb-xxl-child > *,
    .xl-up-py-xxl {
        padding-bottom: 140px !important
    }

    .xl-up-py-xxl,
    .xl-up-py-xxl-child > * {
        padding-top: 140px !important
    }

    .xl-up-py-xxl-child > * {
        padding-bottom: 140px !important
    }

    .xl-up-py-xxl-child-not-last > :not(:last-child) {
        padding-bottom: 140px !important;
        padding-top: 140px !important
    }

    .xl-up-pl-xxl,
    .xl-up-pl-xxl-child-not-last > :not(:last-child),
    .xl-up-pl-xxl-child > * {
        padding-left: 140px !important
    }

    .xl-up-pr-xxl,
    .xl-up-pr-xxl-child-not-last > :not(:last-child),
    .xl-up-pr-xxl-child > *,
    .xl-up-px-xxl {
        padding-right: 140px !important
    }

    .xl-up-px-xxl,
    .xl-up-px-xxl-child > * {
        padding-left: 140px !important
    }

    .xl-up-px-xxl-child > * {
        padding-right: 140px !important
    }

    .xl-up-px-xxl-child-not-last > :not(:last-child) {
        padding-left: 140px !important;
        padding-right: 140px !important
    }
}

:root {
    --header-height: 100px;
    --viewport-height: 100vh;
    --container-width: 81rem;
    --section-margin: clamp(45px, 12vw, 100px);
    --wrapper-gutter: clamp(15px, 4vw, 70px);
    --wrapper-inner-gutter: calc(var(--wrapper-gutter) + 5vw);
    --title-size-xs: 1.125rem;
    --title-size-sm: clamp(1.25rem, 2.5vw, 1.75rem);
    --title-size-md: clamp(1.25rem, 3vw, 2rem);
    --title-size-lg: clamp(1.25rem, 4vw, 2.1875rem);
    --title-size-xl: clamp(1.5rem, 5vw, 3.0625rem);
    --title-size-xxl: clamp(1.75rem, 6vw, 4rem)
}

@media (max-width:47.96875rem) {
    :root {
        --header-height: 70px
    }
}

.theme-real-estate {
    --primary-color: #333f48;
    --primary-accent: #fff;
    --secondary-color: #bfccd6;
    --secondary-accent: #fff;
    --tertiary-color: #a5644b;
    --tertiary-accent: #fff;
    --quaternary-color: #a5644b;
    --quaternary-accent: #fff;
    --icon-filter: invert(20%) sepia(9%) saturate(1290%) hue-rotate(163deg) brightness(97%) contrast(86%)
}

.theme-fine-properties {
    --primary-color: #9f8170;
    --primary-accent: #fff;
    --secondary-color: #dabfb6;
    --secondary-accent: #000;
    --tertiary-color: #e5dcd6;
    --tertiary-accent: #000;
    --quaternary-color: #9db0ac;
    --quaternary-accent: #fff
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 300;
    src: url(fonts/300.1f45c30d.woff2) format("woff2"), url(fonts/300.dc112f67.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 400;
    src: url(fonts/400.403af3bc.woff2) format("woff2"), url(fonts/400.1a2ff0af.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    src: url(fonts/600.e2426461.woff2) format("woff2"), url(fonts/600.7a0e9873.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 700;
    src: url(fonts/700.b87be75f.woff2) format("woff2"), url(fonts/700.d8c999d2.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 800;
    src: url(fonts/800.12f96a8c.woff2) format("woff2"), url(fonts/800.145b24ce.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: "Noto Serif Display";
    font-style: normal;
    font-weight: 300;
    src: url(fonts/300.7fe9510e.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: "Noto Serif Display";
    font-style: italic;
    font-weight: 300;
    src: url(fonts/300-italic.268f6b31.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: "Noto Serif Display";
    font-style: normal;
    font-weight: 400;
    src: url(fonts/400.5101870f.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: "Noto Serif Display";
    font-style: normal;
    font-weight: 600;
    src: url(fonts/600.25b1324f.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: "Noto Serif Display";
    font-style: normal;
    font-weight: 700;
    src: url(fonts/700.1e36cd9f.ttf) format("truetype")
}

* {
    margin: 0;
    padding: 0
}

*,
:after,
:before,
html {
    box-sizing: border-box
}

html {
    -ms-overflow-style: scrollbar
}

body,
html {
    background-color: #f2edeb
}

body {
    backface-visibility: hidden;
    color: #1e1e1e;
    font-family: Open Sans, sans-serif;
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.6;
    overflow-x: hidden
}

body.--hidden {
    height: 100%;
    overflow: hidden;
    position: relative
}

a,
button,
input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    border-radius: 0;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    min-width: 0
}

a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
input:focus,
input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible {
    outline: none;
    outline-offset: 0
}

a,
button {
    color: inherit;
    cursor: pointer
}

button {
    text-align: inherit;
    text-transform: inherit
}

a {
    text-decoration: none
}

ol li,
ul li {
    list-style-type: none
}

@keyframes spin {
    to {
        transform: rotate(1turn)
    }
}

@keyframes fade-in {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes pulse-2 {
    0% {
        transform: scale(1)
    }

    5% {
        transform: scale(1.3)
    }

    25%,
    to {
        transform: scale(1)
    }
}

@keyframes alert-in {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes alert-out {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    to {
        opacity: 0;
        transform: translateY(100%)
    }
}

@keyframes logo {

    0%,
    50% {
        z-index: 0
    }

    50.0001%,
    to {
        z-index: 1
    }
}

.header {
    background-color: #f2edeb;
    color: #424242;
    font-size: .75rem;
    left: 0;
    letter-spacing: .02em;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9
}

.header-grid {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    height: 100px;
    transition: height .4s ease
}

.header-burger-btn {
    align-items: center;
    color: inherit;
    display: flex;
    font-size: .625rem;
    font-weight: 600;
    margin: -1rem -.5rem;
    padding: 1rem .5rem;
    text-transform: uppercase
}

.header-burger-btn.active .header-burger-icon span {
    background-color: #000;
    height: 1px;
    left: 0;
    position: absolute;
    transform-origin: center center;
    width: 100%
}

.header-burger-btn.active .header-burger-icon span:first-child {
    top: 5px;
    transform: rotate(45deg)
}

.header-burger-btn.active .header-burger-icon span:nth-child(2) {
    opacity: 0
}

.header-burger-btn.active .header-burger-icon span:nth-child(3) {
    bottom: 5px;
    transform: rotate(-45deg)
}

.header-burger-btn:not(.active):hover .header-burger-icon span:first-child {
    transform: translateY(-2px)
}

.header-burger-btn:not(.active):hover .header-burger-icon span:nth-child(3) {
    transform: translateY(2px)
}

.header-burger-btn:not(.active):hover .header-burger-text span {
    transform: translateY(-100%)
}

.header-burger-icon {
    height: 11px;
    position: relative;
    width: 35px
}

.header-burger-icon span {
    background-color: #000;
    height: 1px;
    left: 0;
    position: absolute;
    transform-origin: top right;
    transition: transform .5s ease, opacity .1s ease;
    width: 100%;
    will-change: transform
}

.header-burger-icon span:first-child {
    top: 0
}

.header-burger-icon span:nth-child(2) {
    top: 5.5px
}

.header-burger-icon span:nth-child(3) {
    bottom: -1px
}

.header-burger-text {
    line-height: 1;
    margin-left: 12px;
    overflow: hidden;
    position: relative
}

.header-burger-text span {
    display: block;
    transition: transform .5s cubic-bezier(.76, 0, .24, 1);
    will-change: transform
}

.header-burger-text .text__alt {
    left: 0;
    position: absolute;
    top: 100%
}

.header-logo {
    overflow: hidden;
    position: relative;
    transition: transform .4s ease
}

@media (hover:hover) {
    /*.header-logo:hover img:not(:last-child) {
        opacity: 0;
        visibility: hidden
    }
*/
    .header-logo:hover .header-logo-inner {
        opacity: 1;
        visibility: visible
    }
}

.header-logo a {
    display: block
}

.header-logo img {
    display: block;
    height: 68px;
    width: auto
}

.theme-fine-properties .header-logo img {
    height: 52px
}

.header-logo img:not(:last-child),
.header-logo-inner {
    transition: opacity .3s ease
}

.header-logo-inner {
    bottom: 0;
    left: 0;
    margin: auto;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    visibility: hidden;
    width: 65px
}

.header-actions {
    font-size: .625rem;
    font-weight: 600;
    justify-self: flex-end;
    text-transform: uppercase
}

.header-actions ul {
    align-items: flex-start;
    display: flex
}

.header-actions ul li {
    text-align: center
}

.header-actions ul li + li {
    margin-left: 30px
}

@media (max-width:767px) {
    .header-actions ul li + li {
        margin-left: 15px
    }
}

.header-actions-icon {
    font-size: 1.5rem;
    transition: margin-bottom .4s ease
}

.header-navigation {
    background-color: #f2edeb;
    border-top: 1px solid hsla(0, 0%, 59%, .3);
    color: #000;
    display: none;
    left: 0;
    position: absolute;
    top: 100%;
    transform-origin: top left;
    width: 100%;
    will-change: transform;
    z-index: 9
}

.header-navigation-grid {
    display: grid;
    gap: min(4rem, var(--wrapper-gutter));
    grid-template-columns: 55fr 45fr;
    overflow: hidden
}

.header-navigation-title {
    font-family: "Noto Serif Display", serif;
    font-size: 2rem;
    line-height: 1.1;
    margin-bottom: 1em
}

.header-navigation-links {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    padding-block: min(2rem, var(--section-margin))
}

.header-navigation-item ul {
    margin-top: 15px
}

.header-navigation-item ul li:not(:first-child) {
    margin-top: 1rem
}

.header-navigation-item ul li a {
    text-transform: uppercase
}

.header-navigation-footer {
    align-items: center;
    border-top: 1px solid hsla(0, 0%, 59%, .3);
    display: flex;
    justify-content: space-between;
    padding-block: 1.5rem
}

.header-navigation-networks ul {
    align-items: center;
    display: flex;
    gap: clamp(20px, var(--wrapper-gutter), 60px);
    justify-content: center
}

.header-navigation-networks a {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    margin: -.5rem;
    width: 1.75rem
}

.header-navigation-lang {
    color: rgba(0, 0, 0, .3);
    text-transform: uppercase
}

.header-navigation-lang ul {
    align-items: center;
    display: flex
}

.header-navigation-lang li:not(:first-child) {
    display: flex
}

.header-navigation-lang li:not(:first-child):before {
    content: "-";
    margin-inline: 1ex
}

.header-navigation-lang a.active {
    color: #000;
    font-weight: 700
}

.header-navigation-image {
    position: relative
}

.header-navigation-image img {
    bottom: 0;
    display: block;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    right: 0
}

@media (min-width:62.719rem) {
    .header-navigation-grid {
        padding-left: var(--wrapper-gutter)
    }
}

@media (max-width:62.719rem) {
    .header-navigation-grid {
        grid-template-columns: 100%
    }

    .header-navigation-footer,
    .header-navigation-links {
        padding-inline: var(--wrapper-gutter)
    }

    .header-navigation-links {
        display: grid;
        grid-template-columns: 100%
    }

    .header-navigation-item {
        grid-column: 1/-1;
        grid-row: 1/-1;
        text-align: center
    }

    .header-navigation-item ul {
        width: 33%
    }

    .header-navigation-item ul:before,
    .header-navigation-item:nth-child(2) .header-navigation-title,
    .header-navigation-item:nth-child(2) ul {
        margin-inline: auto
    }

    .header-navigation-item:last-child .header-navigation-title,
    .header-navigation-item:last-child ul {
        margin-left: auto
    }

    .header-navigation-item ul {
        --line: 1
    }

    .header-navigation-item ul:before {
        background-color: currentColor;
        content: "";
        display: block;
        height: 1.125rem;
        margin-bottom: 1.25rem;
        transform: scaleY(var(--line));
        transform-origin: bottom;
        width: 1px
    }

    .header-navigation-title {
        cursor: pointer;
        font-size: 1.75rem;
        min-height: 3.5rem;
        text-align: center;
        width: 33.3333333333%
    }

    .header-navigation-title[aria-expanded=true] {
        font-size: 200%
    }

    .header-navigation-title:not([aria-expanded=true]) + ul {
        opacity: .5;
        pointer-events: none;
        transform: scale(.6) translateY(-35%)
    }

    .header-navigation-title:not([aria-expanded=true]):after {
        content: "";
        display: block;
        height: 400px;
        position: absolute;
        width: 100%
    }

    .header-navigation-image {
        display: none
    }
}

@media (min-width:47.96875rem) {
    .header-actions-icon {
        margin-bottom: 10px
    }

    .header.--scrolled .header-grid {
        height: 70px
    }

    .header.--scrolled .header-logo {
        transform: scale(.625)
    }

    .header.--scrolled .header-actions ul,
    .header.--scrolled .header-actions-icon {
        margin-bottom: 2px
    }

    .theme-fine-properties .header.--scrolled .header-logo {
        transform: scale(.8)
    }
}

@media (max-width:47.96875rem) {
    .header-grid {
        height: 70px
    }

    .header-logo img:last-child {
        width: 150px
    }

    .header-logo img:not(:last-child) {
        width: auto
    }

    .header-actions-text {
        display: none
    }

    .header-navigation-title:not([aria-expanded=true]) {
        font-size: 1.25rem
    }
}

.footer {
    align-items: center;
    background-color: #e5dcd6;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    overflow: hidden;
    padding: 80px;
    position: relative;
    text-align: center;
    width: 100%
}

@media (max-width:47.96875rem) {
    .footer {
        padding: 150px min(2.5rem, 40px) min(2.5rem, 40px)
    }
}

.footer__inner {
    align-items: center;
    background-color: #f2edeb;
    display: flex;
    flex-direction: column;
    padding: 3rem 3.5rem
}

@media (max-width:47.96875rem) {
    .footer__inner {
        padding: 2.5rem var(--wrapper-gutter)
    }
}

.footer__separator {
    border-top: 1px solid rgba(118, 103, 97, .4);
    margin-block: 2.5rem;
    width: 100%
}

@media (max-width:47.96875rem) {
    .footer__separator {
        margin-block: 2rem;
        margin-inline: calc(var(--wrapper-gutter)*-1);
        width: calc(100% + var(--wrapper-gutter)*2)
    }
}

.footer__logo {
    display: block;
    margin-bottom: 2.5rem
}

.footer__logo img {
    display: block;
    height: auto;
    width: 1.625rem
}

.footer__navigation {
    display: grid;
    gap: 2.25rem 1rem;
    width: 100%
}

@media (min-width:47.96875rem) {
    .footer__navigation {
        grid-template-columns: repeat(3, 1fr)
    }
}

.footer__navigation-item {
    justify-self: center
}

.footer__navigation-item .title {
    margin-bottom: 1rem
}

.footer__navigation-item ul li a {
    font-size: .75rem;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase
}

.footer__networks {
    width: 100%
}

.footer__networks ul {
    align-items: center;
    display: flex;
    font-size: .75rem;
    gap: 4rem;
    justify-content: center
}

@media (max-width:31.21875rem) {
    .footer__networks ul {
        gap: 0;
        justify-content: space-around
    }
}

.footer__networks a {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    margin: -.5rem;
    width: 1.75rem
}

.footer__partners {
    margin-top: 2rem;
    position: relative;
    width: 100%
}

.footer__partners-title {
    align-items: center;
    display: flex;
    font-size: .75rem;
    font-weight: 400;
    gap: 2rem;
    justify-content: center;
    letter-spacing: 1px;
    margin-bottom: 2rem;
    text-transform: uppercase
}

.footer__partners-title:after,
.footer__partners-title:before {
    background-color: rgba(118, 103, 97, .4);
    content: "";
    display: block;
    flex: 1 1 auto;
    height: 1px
}

@media (max-width:47.96875rem) {
    .footer__partners-title {
        margin-inline: calc(var(--wrapper-gutter)*-1);
        margin-bottom: 1.875rem;
        width: calc(100% + var(--wrapper-gutter)*2)
    }
}

.footer__partners-list {
    align-items: center;
    display: flex;
    gap: 2rem;
    justify-content: center
}

/*@media (max-width:47.96875rem) {
    .footer__partners-list {
        flex-direction: column
    }
}*/

.footer__partners-list img {
    display: block;
    height: auto;
    max-height: 60px;
    max-width: 120px;
    width: auto
}

.footer__mentions {
    font-size: .75rem;
    gap: 1.5rem;
    text-transform: uppercase;
    width: 100%
}

@media (min-width:62.719rem) {
    .footer__mentions {
        display: grid;
        grid-template-columns: 1fr 5fr 1fr;
        justify-content: center
    }
}

@media (max-width:62.719rem) {
    .footer__mentions {
        align-items: center;
        display: flex;
        flex-direction: column
    }
}

.footer__mentions-lang ul,
.footer__mentions-links ul {
    align-items: center;
    display: flex;
    gap: .5rem 3ch
}

.footer__mentions-lang ul li:not(:first-child),
.footer__mentions-links ul li:not(:first-child) {
    position: relative
}

.footer__mentions-lang ul li:not(:first-child):before,
.footer__mentions-links ul li:not(:first-child):before {
    content: "-";
    display: block;
    position: absolute;
    right: 100%;
    text-align: center;
    top: 0;
    width: 3ch
}

.footer__mentions-lang {
    color: rgba(0, 0, 0, .3);
    text-transform: uppercase
}

.footer__mentions-lang ul li a.active {
    color: #000;
    font-weight: 700
}

.footer__mentions-links {
    justify-self: center
}

@media (max-width:47.96875rem) {
    .footer__mentions-links ul {
        flex-direction: column
    }

    .footer__mentions-links ul li:not(:first-child):before {
        content: none
    }
}

.footer__mentions-top {
    align-items: center;
    display: flex;
    gap: .5em
}

.footer__mentions-top .icon {
    font-size: .6em;
    margin-top: .2em
}

@media (min-width:62.719rem) {
    .footer__mentions-top {
        justify-self: flex-end
    }
}

#main {
    z-index: 1
}

#main,
.wrapper {
    position: relative
}

.wrapper {
    padding: 0 var(--wrapper-gutter)
}

.wrapper__inner {
    padding: 0 var(--wrapper-inner-gutter);
    position: relative
}

.wrapper__inner-left {
    padding-left: var(--wrapper-inner-gutter);
    position: relative
}

.section {
    --padding-top: var(--section-margin);
    --padding-bottom: var(--section-margin);
    background-color: var(--background);
    color: var(--color);
    padding-block: var(--padding-top) var(--padding-bottom)
}

.section--light-grey,
.section--light-grey + .split {
    --background: #f2edeb;
    --color: #000
}

.section--light-grey + .split,
.section--light-grey:not(.values) + .section--light-grey {
    --padding-top: 0
}

.section--blue,
.section--blue + .split {
    --background: #333f48;
    --color: #fff
}

.section--blue + .split,
.section--blue:not(.values) + .section--blue {
    --padding-top: 0
}

.section--white,
.section--white + .split {
    --background: #fff;
    --color: #000
}

.section--white + .split,
.section--white:not(.values) + .section--white {
    --padding-top: 0
}

.section-nopadding-bottom {
    padding-block: var(--padding-top) 0
}

.section-header {
    text-align: center
}

.section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    justify-content: center
}

#main > .section:first-child {
    margin-top: var(--header-height);
    padding-top: 1.5rem
}

.container {
    margin-inline: auto;
    max-width: var(--container-width);
    width: 100%
}

.container--md {
    --container-width: 74rem
}

.container--sm {
    --container-width: 68rem
}

.container--xs {
    --container-width: 52rem
}

.container--xxs {
    --container-width: 42rem
}

.container--xxxs {
    --container-width: 34.375rem
}

.cms span {
    display: inline
}

.cms h1:not(:first-child),
.cms h2:not(:first-child),
.cms h3:not(:first-child),
.cms h4:not(:first-child),
.cms h5:not(:first-child),
.cms h6:not(:first-child) {
    margin-top: min(1.5em, 3rem)
}

.cms img {
    display: block;
    height: auto;
    width: 100%
}

.cms strong {
    font-weight: 600
}

.cms h1:not(:last-child),
.cms h2:not(:last-child),
.cms h3:not(:last-child),
.cms h4:not(:last-child),
.cms h5:not(:last-child),
.cms h6:not(:last-child),
.cms p:not(:last-child) {
    margin-bottom: 1.5rem
}

.cms ul {
    margin-bottom: 20px;
    padding-left: 20px
}

.cms ul li {
    list-style: disc
}

.cms ul li:not(:last-child) {
    margin-bottom: 5px
}

.cms ul li ul li {
    list-style: circle
}

.cms ol {
    margin-bottom: 20px;
    padding-left: 20px
}

.cms.cms-no-break p {
    margin-bottom: 0
}

.cms blockquote {
    font-size: 30px;
    font-weight: 300;
    line-height: 1.5em;
    margin-left: auto;
    margin-right: 0;
    padding: 130px 0;
    position: relative;
    width: 80%
}

@media (max-width:991.98px) {
    .cms blockquote {
        margin: auto
    }
}

.cms blockquote:before {
    transform: translateX(-60px) translateY(-30px)
}

.cms blockquote:after,
.cms blockquote:before {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 50px;
    position: absolute;
    width: 50px
}

.cms blockquote:after {
    right: 0;
    transform: translateX(0) translateY(-50px)
}

@media (max-width:991.98px) {
    .cms blockquote:after {
        transform: translateX(60px) translateY(-50px)
    }
}

.cms a:not([class]) {
    text-decoration: underline
}

.cms .video-wrapper {
    margin: 3.5rem 0
}

.custom-loader {
    display: inline-block;
    width: 100px
}

.custom-loader.cl-center {
    margin-left: auto;
    margin-right: auto
}

.custom-loader svg {
    fill: #000;
    display: inline-block;
    height: auto;
    width: 100%
}

.custom-loader svg circle {
    stroke: #000
}

.custom-loader.ajax-loader {
    display: none
}

.image {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

.image .image__overlay,
.image.--absolute {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.image .image__overlay {
    background-color: rgba(0, 0, 0, .4)
}

.image img {
    bottom: 0;
    height: 110%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    will-change: transform
}

.section__header {
    text-align: center
}

.section__header .section__header-inner {
    margin: auto;
    width: 40%
}

@media (min-width:768px) and (max-width:1379.98px) {
    .section__header .section__header-inner {
        width: 65%
    }
}

@media (max-width:767.98px) {
    .section__header .section__header-inner {
        width: 100%
    }
}

.section__header .section__header-inner .text {
    margin-top: 20px
}

.clippath__svg {
    height: 0;
    position: absolute;
    width: 0
}

#page {
    overflow: hidden
}

.page__backdrop {
    background-color: rgba(0, 0, 0, .6);
    display: none;
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 8
}

.icon {
    display: block;
    height: 1em;
    min-height: 1em;
    min-width: 1em;
    width: 1em
}

.icon,
.icon [fill] {
    fill: currentColor
}

.icon [stroke] {
    stroke: currentColor
}

.icon-fullwidth {
    width: unset
}

img {
    transition: opacity .2s ease
}

img[data-src] {
    opacity: 0
}

.media-contain,
.media-cover {
    overflow: hidden;
    position: relative
}

.media-contain img,
.media-contain video,
.media-cover img,
.media-cover video {
    display: block;
    inset: 0;
    position: absolute
}

@media (max-width:62.719rem) {

    .media-contain img,
    .media-contain video,
    .media-cover img,
    .media-cover video {
        position: unset
    }
}

.media-contain .video-wrapper,
.media-cover .video-wrapper {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.media-contain img,
.media-contain video {
    height: auto;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    width: auto
}

.media-cover img,
.media-cover video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.media-cover .video-wrapper {
    aspect-ratio: auto
}

.media-cover .video-wrapper iframe {
    aspect-ratio: 16/9;
    height: auto;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto
}

.load-more[data-loading] {
    position: relative
}

.load-more[data-loading]:after {
    animation: spin 1s linear infinite;
    aspect-ratio: 1/1;
    border: 3px solid;
    border-radius: 100%;
    border-top: 3px solid transparent;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 9
}

.alert,
.load-more[data-loading] * {
    opacity: 0
}

.alert {
    animation: alert-in .5s ease forwards;
    background-color: var(--bg-clr);
    bottom: 1rem;
    color: var(--txt-clr);
    left: 0;
    margin-inline: auto;
    max-width: min(100% - 2 * var(--wrapper-gutter), 52rem);
    padding: 1rem;
    position: fixed;
    right: 0;
    transform: translateY(100%);
    width: -moz-fit-content;
    width: fit-content;
    z-index: 999
}

.alert--error {
    --bg-clr: red;
    --txt-clr: #fff
}

.alert--dismissed {
    animation: alert-out .5s ease forwards
}

.tag {
    background-color: #e5dcd6;
    color: #000;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1;
    padding: .625rem;
    text-align: center;
    text-transform: uppercase
}

.tag sup {
    text-transform: lowercase
}

.pin-spacer--hidden {
    height: 0 !important
}

@media (min-width:62.719rem) {
    .mobile-only {
        display: none !important
    }
}

@media (max-width:62.719rem) {
    .desktop-only {
        display: none !important
    }
}

.audio-player {
    text-align: center
}

.audio-player-controls {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    font-size: 2rem;
    isolation: isolate;
    justify-content: center;
    margin: 3rem auto 2.5rem;
    position: relative;
    width: 220px
}

.audio-player-controls.play .audio-player-waves,
.audio-player-controls.play .audio-player-waves path {
    animation-play-state: paused
}

.audio-player-controls.play .audio-player-play {
    display: block
}

.audio-player-controls.play .audio-player-pause {
    display: none
}

.audio-player-controls.pause .audio-player-waves,
.audio-player-controls.pause .audio-player-waves path {
    animation-play-state: running
}

.audio-player-controls.pause .audio-player-play {
    display: none
}

.audio-player-controls.pause .audio-player-pause {
    display: block
}

@media (max-width:47.96875rem) {
    .audio-player-controls {
        font-size: 1.5rem;
        width: 150px
    }
}

.audio-player-waves {
    animation: pulse .3s ease-in-out infinite alternate;
    animation-play-state: paused;
    inset: 0;
    overflow: visible;
    pointer-events: none;
    position: absolute;
    z-index: -1
}

.audio-player-waves path {
    animation: rotate 3s linear infinite forwards;
    animation-play-state: paused;
    transform-origin: center
}

.audio-player-subtitle {
    color: #000;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1rem;
    margin-bottom: 1.313rem
}

.audio-player-form {
    margin-inline: auto;
    width: calc(100% - 4ch)
}

.audio-player-timeline {
    align-items: center;
    color: #000;
    display: flex;
    font-size: .75rem;
    font-weight: 400;
    justify-content: space-between;
    line-height: 1.438rem;
    margin-top: .25rem
}

.audio-player-content {
    margin-top: 3rem
}

.audio-player-content p {
    color: #000;
    font-size: .9rem;
    font-weight: 300;
    line-height: 1.375rem
}

.button {
    align-items: center;
    background-color: var(--background);
    color: var(--color);
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 600;
    gap: 1rem;
    isolation: isolate;
    justify-content: center;
    letter-spacing: .125em;
    overflow: hidden;
    padding: 1.25rem 1.5rem;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    transition: color .5s ease
}

.button:after {
    background-color: var(--hover-background);
    content: "";
    inset: -1px;
    position: absolute;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .65s cubic-bezier(.785, .135, .15, .86);
    will-change: transform;
    z-index: -1
}

.button--primary {
    --background: var(--primary-color);
    --color: var(--primary-accent);
    --hover-background: #e5dcd6;
    --hover-color: #000
}

.button--light-brown {
    --background: #e5dcd6;
    --color: #000;
    --hover-background: var(--primary-color);
    --hover-color: var(--primary-accent)
}

.button--black {
    --background: #000;
    --color: #fff;
    --hover-background: #e5dcd6;
    --hover-color: #000
}

.button--white {
    --background: #fff;
    --color: #000;
    --hover-background: #000;
    --hover-color: #fff
}

.button--blue {
    --background: #333f48;
    --color: #fff;
    --hover-background: #e5dcd6;
    --hover-color: #000
}

.button .icon {
    font-size: 1.5rem
}

.button:hover {
    color: var(--hover-color)
}

.button:hover:after {
    transform: scaleY(1)
}

.secondary-button {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 600;
    gap: .5rem;
    letter-spacing: .125em;
    text-transform: uppercase
}

.secondary-button--black {
    --background: #000;
    --color: #fff;
    --hover-background: #e5dcd6;
    --hover-color: #000
}

.secondary-button--beige {
    --background: #e5dcd6;
    --color: #000;
    --hover-background: #000;
    --hover-color: #e5dcd6
}

.secondary-button--white {
    --background: #fff;
    --color: #000;
    --hover-background: #000;
    --hover-color: #fff
}

.secondary-button-icon {
    align-items: center;
    color: var(--color);
    display: flex;
    font-size: 1rem;
    height: 2.5rem;
    justify-content: center;
    min-width: 2.5rem;
    padding-left: .1em;
    padding-top: .1em;
    position: relative;
    transition: color .35s ease;
    width: 2.5rem;
    z-index: 1
}

.secondary-button-icon-background {
    display: block;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: -1
}

.secondary-button-icon-background-inner:first-child {
    fill: var(--background);
    transition: opacity .35s ease
}

.secondary-button-icon-background-inner:last-child {
    fill: var(--hover-background);
    -webkit-clip-path: circle(0 at 50% 50%);
    clip-path: circle(0 at 50% 50%);
    transition: -webkit-clip-path .35s ease;
    transition: clip-path .35s ease;
    transition: clip-path .35s ease, -webkit-clip-path .35s ease
}

.secondary-button:hover .secondary-button-icon {
    color: var(--hover-color)
}

.secondary-button:hover .secondary-button-icon-background-inner:first-child {
    opacity: 0
}

.secondary-button:hover .secondary-button-icon-background-inner:last-child {
    -webkit-clip-path: circle(60% at 50% 50%);
    clip-path: circle(60% at 50% 50%)
}

.tertiary-button {
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .125em;
    position: relative;
    text-transform: uppercase
}

.tertiary-button:before {
    background-color: currentColor;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform-origin: center;
    transition: transform .5s ease, opacity .1s ease;
    width: 100%;
    will-change: transform
}

@media (hover:hover) {
    .tertiary-button:hover:before {
        transform: scaleX(0)
    }
}

@media (max-width:47.96875rem) {
    .tertiary-button {
        text-decoration: underline;
        text-underline-offset: .2rem
    }

    .tertiary-button:before {
        display: none
    }
}

.quaternary-button {
    --arrow-rotation: -45deg;
    --arrow-translation: 0;
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    font-size: .875rem;
    font-weight: 500;
    gap: .5em;
    letter-spacing: .125em;
    text-transform: uppercase
}

.quaternary-button:after {
    border-color: transparent currentcolor currentcolor transparent;
    border-style: solid;
    border-width: 1px;
    content: "";
    display: block;
    height: .625em;
    transform: rotate(var(--arrow-rotation)) translate(var(--arrow-translation), var(--arrow-translation));
    transition: transform .25s ease;
    width: .625em
}

.quaternary-button:hover {
    --arrow-translation: .25em
}

.quaternary-button[aria-expanded]:after {
    position: relative;
    top: -.2em;
    transform: rotate(45deg);
    transition: top .25s ease, transform .25s ease
}

.quaternary-button[aria-expanded][aria-expanded=true]:after {
    top: .2em;
    transform: rotate(-135deg)
}

@media (max-width:69.031rem) {
    .quaternary-button {
        font-size: .62rem
    }
}

.icon-button {
    --background: #000;
    --color: #fff;
    --hover-background: #e5dcd6;
    --hover-color: #000;
    align-items: center;
    color: var(--color);
    display: flex;
    font-size: 1rem;
    height: 2.5rem;
    justify-content: center;
    padding-left: .1em;
    padding-top: .1em;
    position: relative;
    transition: color .35s ease;
    width: 2.5rem;
    z-index: 1
}

.icon-button--lg {
    font-size: 1.25rem;
    height: 3.5rem;
    width: 3.5rem
}

.icon-button--black {
    --background: #000;
    --color: #fff;
    --hover-background: #e5dcd6;
    --hover-color: #000
}

.icon-button--beige {
    --background: #e5dcd6;
    --color: #000;
    --hover-background: #000;
    --hover-color: #e5dcd6
}

.icon-button--white {
    --background: #fff;
    --color: #000;
    --hover-background: #000;
    --hover-color: #fff
}

.icon-button-background {
    display: block;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: -1
}

.icon-button-background-inner:first-child {
    fill: var(--background);
    transition: opacity .35s ease
}

.icon-button-background-inner:last-child {
    fill: var(--hover-background);
    -webkit-clip-path: circle(0 at 50% 50%);
    clip-path: circle(0 at 50% 50%);
    transition: -webkit-clip-path .35s ease;
    transition: clip-path .35s ease;
    transition: clip-path .35s ease, -webkit-clip-path .35s ease
}

.icon-button:hover {
    color: var(--hover-color)
}

.icon-button:hover .icon-button-background-inner:first-child {
    opacity: 0
}

.icon-button:hover .icon-button-background-inner:last-child {
    -webkit-clip-path: circle(60% at 50% 50%);
    clip-path: circle(60% at 50% 50%)
}

.favorite-button-inner {
    cursor: pointer;
    position: relative
}

.favorite-button-input {
    display: block;
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0
}

.favorite-button-icon {
    fill: none;
    stroke: currentColor;
    transition: opacity .35s ease, transform .35s ease
}

.favorite-button-icon--alt {
    fill: currentColor;
    bottom: calc(50% - .55em);
    opacity: 0;
    position: absolute;
    right: calc(50% - .55em);
    transform: scale(0)
}

.favorite-button-input:checked + .favorite-button-icon {
    opacity: 0;
    transform: scale(1.2)
}

.favorite-button-input:checked ~ .favorite-button-icon--alt {
    opacity: 1;
    transform: scale(1)
}

.ctas {
    --gap: 1.5rem;
    --per-row: 3;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    justify-content: center
}

.ctas-item {
    display: flex;
    width: calc((100% - max(var(--per-row) - 1, 0)*var(--gap))/var(--per-row))
}

@media (min-width:62.719rem) {
    .ctas--only-on-mobile {
        display: none
    }
}

@media (max-width:62.719rem) {
    .ctas {
        --per-row: 1
    }
}

input[type=number] {
    -moz-appearance: textfield
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.input {
    display: block;
    font-size: .75rem;
    padding-block: .25rem;
    width: 100%
}

textarea.input {
    height: calc(1.6em + .5rem);
    min-height: calc(1.6em + .5rem);
    resize: vertical
}

textarea.input--textarea {
    height: 13.3rem
}

.select {
    background-color: #fff;
    display: block;
    font-size: .75rem;
    position: relative;
    width: 100%
}

.select:after {
    border-color: currentcolor;
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: block;
    height: .5em;
    pointer-events: none;
    position: absolute;
    right: .5em;
    top: calc(50% - .4em);
    transform: rotate(45deg);
    width: .5em
}

.select-inner {
    cursor: default;
    display: block;
    padding: .25rem 1.5rem .25rem .5rem;
    width: 100%
}

.select-inner:not(:last-child) {
    padding-right: 2.25rem
}

.select-clear {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    font-size: .625rem;
    justify-content: center;
    position: absolute;
    right: 1rem;
    top: calc(50% - .625rem);
    width: 1.25rem
}

:where(:not([value]), [value=""]) + .select-clear {
    display: none
}

.select-list {
    background-color: #fff;
    color: #000;
    font-size: .75rem;
    position: fixed;
    z-index: 10000
}

.select-list:empty {
    display: none
}

.select-item {
    cursor: default;
    display: block;
    padding: .25rem .5rem
}

.select-item:first-child {
    padding-top: .5rem
}

.select-item:last-child {
    padding-bottom: .5rem
}

.select-item:hover,
.select-item[data-checked=true] {
    background-color: rgba(0, 0, 0, .05)
}

.section--white .select:after {
    right: .25rem
}

.section--white .select .select-inner {
    padding-left: 0;
    padding-right: 1.25rem
}

.checkbox,
.radio {
    align-items: flex-start;
    display: inline-flex;
    gap: .5rem;
    margin: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.checkbox-input,
.radio-input {
    --size: 1em;
    border: 1px solid rgba(0, 0, 0, .2);
    color: transparent;
    cursor: pointer;
    display: flex;
    height: var(--size);
    margin-top: calc((1.6em - var(--size))/2);
    min-width: var(--size);
    transition: border-color color .25s ease ease .25s;
    width: var(--size)
}

.checkbox-input:checked,
.radio-input:checked {
    color: inherit
}

.searchbar-list .searchbar-list .checkbox-input,
.searchbar-list .searchbar-list .radio-input {
    --size: .75em
}

.checkbox-label,
.radio-label {
    font-weight: 400;
    text-transform: uppercase
}

.checkbox-label a,
.radio-label a {
    text-decoration: underline
}

.checkbox-remove,
.radio-remove {
    align-items: center;
    border-radius: 100%;
    display: flex;
    font-size: .625rem;
    height: 2em;
    justify-content: center;
    margin-left: -.5em;
    transition: background-color .2s ease;
    width: 2em
}

.checkbox-remove:hover,
.radio-remove:hover {
    background-color: rgba(0, 0, 0, .05)
}

.radio-input {
    border-radius: 100%
}

.radio-input:before {
    background-color: currentColor;
    border-radius: inherit;
    content: "";
    display: block;
    height: 50%;
    margin: auto;
    width: 50%
}

.checkbox-input {
    position: relative
}

.checkbox-input:after,
.checkbox-input:before {
    background-color: currentColor;
    content: "";
    display: block;
    position: absolute;
    transform: rotate(45deg)
}

.checkbox-input:before {
    height: 1px;
    left: 12.5%;
    top: calc(50% - .5px);
    width: 75%
}

.checkbox-input:after {
    height: 75%;
    left: calc(50% - .5px);
    top: 12.5%;
    width: 1px
}

.range-input {
    -webkit-appearance: none;
    background-color: #eaeaea;
    border-radius: 100vmax;
    box-shadow: -.625rem 0 0 0 #eaeaea, .625rem 0 0 0 #eaeaea;
    display: block;
    height: .5rem;
    margin: .5rem auto;
    width: calc(80% + 1.25rem)
}

.range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    background-color: #e5dcd6;
    border-radius: 100%;
    height: 1.25rem;
    width: 1.25rem
}

.range-scale {
    display: flex;
    font-size: .625rem;
    font-weight: 300;
    text-align: center
}

.range-mark {
    display: block;
    flex: 1
}

.range-mark:before {
    background-color: #eaeaea;
    content: "";
    display: block;
    height: .5rem;
    margin: 0 auto .125rem;
    width: 1px
}

.incrementable {
    display: flex;
    justify-content: center
}

.incrementable:not(:first-child) {
    margin-top: .5rem
}

.incrementable-button {
    align-items: center;
    aspect-ratio: 1/1;
    color: #fff;
    display: flex;
    font-size: .5rem;
    justify-content: center;
    min-width: 2rem;
    width: 2rem
}

.incrementable-button:first-child {
    background-color: var(--secondary-color)
}

.incrementable-button:last-child {
    background-color: var(--primary-color)
}

.incrementable-input {
    border-bottom: 1px solid #e5dcd6;
    border-top: 1px solid #e5dcd6;
    flex: 1 1 auto;
    font-size: .75rem;
    padding: 0 1rem;
    text-align: center
}

.repeatable-field {
    position: relative
}

.repeatable-field-model:not(:first-child) {
    margin-top: .625rem
}

.repeatable-field-model:last-child {
    padding-right: 2rem
}

.repeatable-field-model:only-child .repeatable-field-remove {
    display: none
}

.repeatable-field-add,
.repeatable-field-remove {
    align-items: center;
    display: flex;
    font-size: .625rem;
    height: 1.875rem;
    justify-content: center;
    width: 1.875rem
}

.repeatable-field-add {
    bottom: 0;
    position: absolute;
    right: 0
}

.repeatable-field-remove {
    align-self: flex-end
}

.form {
    --col-gap: 1.5rem;
    --row-gap: 2rem
}

.form[data-loading=true] .form-submit {
    position: relative
}

.form[data-loading=true] .form-submit > * {
    visibility: hidden
}

.form[data-loading=true] .form-submit:after {
    animation: spin 1s linear infinite;
    aspect-ratio: 1/1;
    border: 3px solid;
    border-radius: 100%;
    border-top: 3px solid transparent;
    content: "";
    display: block;
    inset: 0;
    margin: auto;
    position: absolute;
    width: 2.5rem
}

.form-description {
    margin-bottom: var(--row-gap)
}

.form-progress {
    align-items: center;
    display: flex;
    gap: .25rem;
    justify-content: space-between;
    margin-bottom: 3.5rem
}

.form-progress-item {
    align-items: center;
    border: 1px solid #000;
    border-radius: 100%;
    color: #000;
    display: flex;
    font-size: .625rem;
    font-weight: 400;
    height: 2rem;
    isolation: isolate;
    justify-content: center;
    position: relative;
    transition: background-color .25s ease, color .25s ease;
    width: 2rem
}

.form-progress-item:before {
    background-color: #000;
    border-radius: inherit;
    content: "";
    display: block;
    inset: -1px;
    opacity: 0;
    position: absolute;
    transform: scale(0);
    z-index: -1
}

.form-progress-item-checkmark,
.form-progress-item-number,
.form-progress-item:before {
    transition: opacity .25s ease, transform .25s ease
}

.form-progress-item-checkmark {
    left: calc(50% - .5em);
    opacity: 0;
    position: absolute;
    top: calc(50% - .5em);
    transform: scale(0)
}

.form-progress-item--active,
.form-progress-item--complete {
    color: #fff
}

.form-progress-item--active:before,
.form-progress-item--complete:before {
    opacity: 1;
    transform: scale(1)
}

.form-progress-item--complete .form-progress-item-number {
    opacity: 0;
    transform: scale(0)
}

.form-progress-item--complete .form-progress-item-checkmark {
    opacity: 1;
    transform: scale(1)
}

.form-progress-item--bg-light-grey {
    background-color: #f2edeb
}

.form-progress-line {
    border: 0;
    display: block;
    flex: 1 1 auto;
    height: 1px;
    position: relative
}

.form-progress-line:after,
.form-progress-line:before {
    border-top: 1px #000;
    content: "";
    display: block;
    inset: 0;
    position: absolute
}

.form-progress-line:before {
    border-top-style: dashed;
    opacity: .25
}

.form-progress-line:after {
    border-top-style: solid;
    transform: scaleX(0);
    transform-origin: left;
    transition: opacity .35s ease, transform .35s ease
}

.form-progress-item--complete + .form-progress-line:after {
    opacity: 1;
    transform: scaleX(1)
}

.form-steps {
    margin-inline: calc(var(--wrapper-gutter)*-1);
    margin-bottom: calc(var(--row-gap)*-1);
    overflow: hidden;
    padding-bottom: var(--row-gap);
    width: calc(100% + var(--wrapper-gutter)*2)
}

.form-steps-wrapper {
    align-items: flex-start;
    display: flex
}

.form-step {
    min-width: 100%;
    padding-inline: var(--wrapper-gutter);
    width: 100%
}

.form-step:not(.form-step--active) {
    visibility: hidden
}

.form-section:not(:first-child) {
    margin-top: 3.5rem
}

.form-title {
    margin-bottom: var(--row-gap)
}

.form-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--row-gap) var(--col-gap)
}

.form-group + .form-group {
    margin-top: var(--row-gap)
}

.form-group--narrow-spacing {
    --row-gap: 2rem;
    --col-gap: 1.5rem
}

.form-group--wide-spacing {
    --row-gap: 3rem;
    --col-gap: 3rem
}

.form-item {
    --per-row: 1;
    position: relative
}

.form-item:not(.form-item--auto) {
    width: calc((100% - max(var(--per-row, 1) - 1, 0)*var(--col-gap))/var(--per-row))
}

@media (min-width:47.96875rem) {
    .form-item--half {
        --per-row: 2
    }

    .form-item--third {
        --per-row: 3
    }

    .form-item--quarter {
        --per-row: 4
    }

    .form-item--eighth {
        --per-row: 8
    }
}

@media (max-width:47.96875rem) {
    .form-item--eighth {
        --per-row: 2
    }
}

.form-label {
    display: block;
    font-weight: 400;
    margin-bottom: 1.5rem;
    text-transform: uppercase
}

.form-field {
    --border-color: currentColor;
    align-items: flex-start;
    display: flex;
    padding-bottom: 1px;
    position: relative
}

.has-error > .form-field {
    --border-color: red
}

.form-field:after,
.form-field:before {
    background-color: var(--border-color);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%
}

.form-field:before {
    opacity: .25
}

.form-field:after {
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: opacity .25s ease, transform .25s ease
}

.form-field:focus-within:after {
    opacity: 1;
    transform: scaleX(1)
}

.form-label + .form-field,
.form-label + .repeatable-field,
.form-label + .select {
    margin-top: -1rem;
    min-height: 2rem;
    width: 100%
}

.form-label + .form-group,
.form-label + .incrementable {
    margin-top: -1rem
}

.form-error {
    color: red;
    font-size: .625rem;
    left: 0;
    overflow: hidden;
    position: absolute;
    text-overflow: ellipsis;
    top: 100%;
    width: 100%
}

.form-error,
.form-unit {
    display: block;
    white-space: nowrap
}

.form-unit {
    padding-block: .25rem
}

.form-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--col-gap)
}

.form-indication {
    font-size: .625rem;
    font-weight: 300
}

@media (max-width:62.719rem) {
    .form-indication {
        margin-bottom: 1.5rem
    }

    .form-indication--center-on-mobile {
        text-align: center
    }
}

.form-footer {
    align-items: center;
    display: flex;
    gap: 3rem;
    margin-top: 3.5rem
}

.form-footer--centered {
    justify-content: center
}

@media (min-width:62.719rem) {
    .form-ctas {
        --per-row: 3
    }

    .form-ctas .ctas-item {
        flex: 1;
        max-width: 26.25rem
    }
}

@media (max-width:62.719rem) {
    .form-ctas {
        --per-row: 1
    }
}

.form--has-steps .form-progress {
    margin-bottom: 0
}

.form--has-steps .form-footer {
    margin-top: 0
}

.form--has-steps .form-step:not(:empty) {
    padding-block: 3.5rem
}

@media (max-width:47.96875rem) {

    .form--has-steps .form-body,
    .form--has-steps .form-footer {
        margin-bottom: 3rem
    }
}

.energy-efficiency {
    border: 1px solid #e5dcd6;
    display: inline-flex;
    gap: 1px
}

.energy-efficiency li {
    box-shadow: 0 0 0 1px #e5dcd6
}

.energy-efficiency label {
    cursor: pointer;
    position: relative
}

.energy-efficiency label input {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0
}

.energy-efficiency label span {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    isolation: isolate;
    justify-content: center;
    min-width: 2rem;
    position: relative;
    transition: color .2s ease;
    width: 2rem
}

.energy-efficiency label span:before {
    content: "";
    display: block;
    inset: 0;
    position: absolute;
    transition: background-color .2s ease, transform .2s ease;
    z-index: -1
}

.energy-efficiency label input:not(:checked) + span:hover:before {
    background-color: var(--secondary-color)
}

.energy-efficiency label input:checked + span {
    color: #fff;
    z-index: 1
}

.energy-efficiency label input:checked + span:before {
    background-color: var(--primary-color);
    transform: scale(1.25)
}

.loader {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000
}

.loader:not(.active) {
    display: none
}

.loader .loader__inner {
    align-items: center;
    background-color: #f2edeb;
    display: flex;
    height: 100%;
    justify-content: center;
    transform-origin: top left;
    width: 100%;
    will-change: transform
}

.loader .loader__layer {
    background-color: #2f4c41;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scaleY(0);
    transform-origin: bottom left;
    width: 100%;
    will-change: transform
}

.loader .loader__logo {
    width: 110px
}

@font-face {
    font-family: swiper-icons;
    font-style: normal;
    font-weight: 400;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%;
    z-index: 1
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-css-mode > .swiper-wrapper {
    -ms-overflow-style: none;
    overflow: auto;
    scrollbar-width: none
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical > .swiper-wrapper:before {
    height: var(--swiper-centered-offset-after);
    min-width: 1px;
    width: 100%
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center
}

.line-separator {
    background-color: rgba(0, 0, 0, .3);
    height: 60px;
    margin: auto;
    max-width: 1px;
    position: relative
}

.line-separator-top {
    background-color: #000;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleY(0);
    transform-origin: top left
}

.split-wrapper {
    background-color: #e5dcd6;
    margin-bottom: calc(var(--section-margin)*-1);
    padding-block: min(var(--section-margin), 3.5rem)
}

.split-wrapper:not(:first-child) {
    margin-top: min(var(--section-margin), 3.5rem)
}

.split-wrapper .wrapper {
    padding-inline: 1.875rem
}

.split-inner {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    overflow: hidden
}

.split-item {
    grid-column: 1/-1;
    grid-row: 1/-1
}

.split-item-content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: min(var(--section-margin)/1.5, 2.5rem)
}

.split-item-link,
.split-item-picture,
.split-item-text {
    opacity: 0;
    transition: opacity .75s ease .15s
}

.split-item-link {
    pointer-events: none
}

.split-item-title {
    overflow: hidden
}

.split-item-title-inner {
    opacity: 0;
    transform: translateY(100%);
    transition: opacity .75s ease, transform .75s cubic-bezier(.165, .84, .44, 1)
}

.split-item-link {
    margin-top: auto
}

.split-item-image {
    z-index: 1
}

.split-item > .media-contain {
    display: none
}

.split-item[data-active=true] > .media-contain {
    display: unset
}

.split-item[data-active=true] .split-item-title-inner {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1s
}

.split-item[data-active=true] .split-item-link,
.split-item[data-active=true] .split-item-picture,
.split-item[data-active=true] .split-item-text {
    opacity: 1;
    transition-delay: 1s
}

.split-item[data-active=true] .split-item-link {
    pointer-events: auto
}

.split-controls {
    gap: min(var(--wrapper-gutter), 5rem)
}

.split-arrow,
.split-controls {
    display: flex;
    justify-content: center
}

.split-arrow {
    align-items: center;
    font-size: 2rem;
    position: relative;
    z-index: 1
}

.split-menu {
    background-color: #fff;
    margin-top: 2rem
}

.split-menu-list {
    display: flex
}

.split-menu-item {
    display: flex;
    flex: 1
}

.split-menu-button {
    align-items: center;
    display: flex;
    font-size: .75rem;
    justify-content: center;
    opacity: .4;
    padding: 1.25rem min(var(--wrapper-gutter), 2rem);
    text-align: center;
    text-transform: uppercase;
    transition: opacity .2s ease, font-weight .2s ease;
    width: 100%
}

.split-menu-button:hover,
.split-menu-button[aria-current=true] {
    opacity: 1
}

.split-menu-button[aria-current=true] {
    font-weight: 600
}

@media (min-width:62.719rem) {
    .split-inner {
        background-color: #fff
    }

    .split-item {
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .split-item-content {
        padding: min(var(--section-margin), 3.5rem) min(var(--wrapper-gutter), 3.5rem)
    }

    .split-item-video .video-wrapper iframe {
        height: 103%
    }

    .split-item-picture {
        aspect-ratio: 1/.53;
        width: 100%
    }

    .split-item-picture img {
        border-radius: 50% 50% 0 0;
        height: 100%;
        margin-right: 0;
        max-width: 22rem
    }

    .split-item-image {
        opacity: 0;
        transform: translateX(75%);
        transition: opacity .75s ease, transform .1ms linear .75s
    }

    .split-item[data-active=true] .split-item-image {
        opacity: 1;
        transform: translateX(0);
        transition: opacity .75s ease .5s, transform .75s cubic-bezier(.165, .84, .44, 1) .5s
    }

    .split-controls {
        margin-block: -3.5rem 3.5rem;
        margin-inline: auto;
        width: -moz-fit-content;
        width: fit-content
    }

    .split-arrow--next {
        color: #fff
    }
}

@media (max-width:62.719rem) {
    .split .container {
        position: relative
    }

    .split-controls {
        margin-top: calc(100% + 1.5rem);
        position: absolute;
        top: 0;
        width: 100%
    }

    .split-item {
        align-items: center;
        display: flex;
        flex-direction: column;
        text-align: center
    }

    .split-item-picture {
        display: none
    }

    .split-item-image {
        aspect-ratio: 1/1;
        margin-bottom: 5rem;
        opacity: 0;
        order: -1;
        transition: opacity .75s ease;
        width: 100%
    }

    .split-item-content {
        align-items: center
    }

    .split-item > .media-contain {
        height: 100%;
        margin-bottom: 5rem;
        max-height: 710px;
        order: -1;
        width: 100%
    }

    .split-item[data-active=true] .split-item-image {
        opacity: 1;
        transition: opacity .75s ease .5s
    }

    .split-menu {
        overflow: auto;
        white-space: nowrap
    }

    .split-menu .wrapper {
        padding: 0
    }

    .split-menu-list:after,
    .split-menu-list:before {
        content: "";
        display: block;
        min-width: var(--wrapper-gutter)
    }
}

.animated-list a {
    transition: opacity .3s ease
}

.animated-list--hover a:not(:hover) {
    opacity: .1
}

.a__icon {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 1em;
    justify-content: flex-start;
    overflow: hidden;
    position: relative
}

.a__icon > .icon {
    flex: 0 0 auto;
    transition: transform .5s
}

.a__icon-link:hover .a__icon > .icon:first-child {
    transform: translateY(-150%)
}

.a__icon-link:hover .a__icon > .icon:last-child {
    transform: translateY(-100%)
}

[data-kira-item=splitline] .item-line {
    overflow: hidden
}

[data-kira-item=splitchars] .split__char,
[data-kira-item=splitchars]:not(.split-ready) {
    opacity: 1
}

[data-kira-item^=fadeIn],
[data-kira-item^=staggerFadeIn] [data-stagger] {
    opacity: 0
}

@keyframes pulse {
    0% {
        transform: scale(.92)
    }

    to {
        transform: scale(1)
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.breadcrumbs {
    font-size: .75rem;
    line-height: 1.2;
    text-transform: uppercase
}

.breadcrumbs:not(:last-child) {
    margin-bottom: 1.5rem
}

.breadcrumbs-list {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 0;
    overflow: hidden
}

.breadcrumbs-item {
    align-items: center;
    display: flex
}

.breadcrumbs-item:not(:last-child):after {
    content: "›";
    display: block;
    min-width: .875rem;
    text-align: center
}

.breadcrumbs-item > sup {
    text-transform: lowercase
}

.breadcrumbs-link,
.breadcrumbs-link:hover {
    text-decoration: underline
}

.searchbar:not(:last-child) {
    margin-bottom: 3rem
}

.searchbar-form {
    font-size: .75rem
}

.searchbar-wrapper {
    background-color: #fff;
    display: flex;
    flex: 1 1 auto
}

.searchbar-wrapper[data-action]:not(.searchbar-wrapper--active) {
    display: none
}

.searchbar-tabs {
    align-items: center;
    display: flex;
    position: relative
}

.searchbar-tabs-item {
    background-color: #fff;
    padding: 1.25rem 2rem
}

.searchbar-tabs-responsive .searchbar-tabs-item {
    background-color: unset;
    padding: 1.25rem 1.8rem
}

.searchbar-tabs-button {
    cursor: pointer;
    position: relative
}

.searchbar-tabs-input {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0
}

.searchbar-tabs-label {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .1em;
    opacity: .4;
    text-transform: uppercase;
    transition: opacity .2s ease
}

.searchbar-tabs-input:checked + .searchbar-tabs-label {
    opacity: 1
}

.searchbar-item {
    display: flex;
    position: relative
}

.searchbar-item[data-type=action],
.searchbar-item[data-type=price],
.searchbar-item[data-type=product-type],
.searchbar-item[data-type=rooms] {
    flex: 0 0 auto
}

.searchbar > .searchbar-wrapper > .searchbar-item {
    max-width: 15%;
    min-width: 15%;
    width: 15%
}

.searchbar-filters {
    align-items: center;
    display: flex;
    min-height: 4rem;
    padding: 0 1.5rem 0 2rem
}

@media (max-width:62.719rem) {
    .searchbar-filters {
        padding: 0 0 0 1.5rem
    }
}

.searchbar-filters-list {
    align-items: center;
    display: flex;
    gap: 1.875rem
}

@media (max-width:62.719rem) {
    .searchbar-filters-list {
        overflow: auto;
        padding: .75rem 0;
        white-space: nowrap
    }
}

@media (min-width:62.719rem) {
    .searchbar-filters + .searchbar-item:before {
        align-self: center;
        background-color: currentColor;
        content: "";
        display: block;
        height: 1.875rem;
        opacity: .2;
        width: 1px
    }
}

.searchbar-filter {
    cursor: pointer;
    position: relative
}

.searchbar-filter-input {
    position: absolute
}

.searchbar-filter-input:checked + .searchbar-filter-label {
    font-weight: 600
}

.searchbar-button {
    align-items: center;
    display: flex;
    gap: .625rem;
    padding: 1.125rem 1.5rem;
    text-align: left;
    width: 100%
}

.searchbar-button:where(label) {
    cursor: text
}

.searchbar-button-icon {
    font-size: 1.5rem
}

.searchbar-button-label {
    width: 100%
}

.searchbar-button-label--big {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.2;
    text-transform: uppercase
}

.searchbar-button-badge {
    align-items: center;
    background-color: #000;
    border-radius: 100%;
    color: #fff;
    display: inline-flex;
    font-size: .5rem;
    font-weight: 700;
    height: 1rem;
    justify-content: center;
    margin-left: -.25rem;
    margin-top: .55rem;
    min-width: 1rem;
    text-align: center;
    width: 1rem
}

.searchbar-button-badge:empty {
    display: none
}

.searchbar-button-arrow {
    border-color: transparent currentcolor currentcolor transparent;
    border-style: solid;
    border-width: 1px;
    display: block;
    height: .5em;
    margin-left: auto;
    min-width: .5em;
    transform: rotate(45deg);
    width: .5em
}

.searchbar-dropdown {
    background-color: #fff;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    transition: -webkit-clip-path .65s cubic-bezier(.785, .135, .15, .86);
    transition: clip-path .65s cubic-bezier(.785, .135, .15, .86);
    transition: clip-path .65s cubic-bezier(.785, .135, .15, .86), -webkit-clip-path .65s cubic-bezier(.785, .135, .15, .86);
    width: 100%;
    z-index: 10
}

.searchbar-dropdown--opened {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    pointer-events: all
}

.searchbar-dropdown-inner,
.searchbar-recap {
    padding: 1rem 1.5rem
}

.searchbar-recap {
    border-bottom: 1px solid #e5dcd6;
    display: none
}

.searchbar-recap--active {
    display: block
}

.searchbar-recap-header {
    display: flex;
    gap: 1em;
    justify-content: space-between;
    margin-bottom: 1rem
}

.searchbar-recap-title {
    font-weight: 700
}

.searchbar-recap-close {
    align-items: center;
    border-radius: 100%;
    display: flex;
    height: 2em;
    justify-content: center;
    transition: background-color .2s ease;
    width: 2em
}

.searchbar-recap-close:hover {
    background-color: rgba(0, 0, 0, .05)
}

.searchbar-list {
    max-height: calc(24em + 3.5rem);
    overflow: auto
}

.searchbar-list::-webkit-scrollbar {
    background-color: #e5dcd6;
    width: 2px
}

.searchbar-list::-webkit-scrollbar-thumb {
    background-color: #000
}

.searchbar-list .searchbar-list {
    margin-top: .5rem;
    max-height: none;
    padding-left: .5rem
}

.checkbox-label .searchbar-list {
    margin-left: .25rem
}

.searchbar-list .checkbox-label.second {
    font-weight: 600
}

.searchbar-list .checkbox-label.main {
    font-weight: 700
}

.searchbar-list .checkbox-label > sup {
    text-transform: lowercase
}

.searchbar-list-has-childrens > span:after {
    border-color: transparent currentcolor currentcolor transparent;
    border-style: solid;
    border-width: 1px;
    content: "";
    display: block;
    height: .5em;
    margin-left: auto;
    margin-top: 6px;
    transform: rotate(-45deg);
    width: .5em
}

.searchbar-list-has-childrens.active > span:after {
    transform: rotate(45deg)
}

.searchbar-list-has-childrens > ul {
    display: none
}

.searchbar-list-has-childrens.active > ul {
    display: block
}

.searchbar-list-has-childrens > input {
    display: none
}

.searchbar-list-has-childrens.active > input {
    display: flex;
    float: left;
    margin-right: .625rem
}

.searchbar-list-has-childrens > span {
    display: flex;
    width: 95%
}

.searchbar-list-has-childrens.active > span {
    width: calc(100% - 2rem)
}

.searchbar-list-item > label {
    width: 100%
}

.searchbar-list-item:not(:last-child) {
    margin-bottom: .5rem
}

.searchbar-list-item > a {
    color: #a5644b
}

.searchbar-field {
    align-items: center;
    border: 1px solid #f2edeb;
    cursor: text;
    display: flex;
    padding: .5rem
}

.searchbar-field-inner {
    border: 0;
    flex: 1 1 auto;
    font-size: inherit
}

.searchbar-actions {
    display: flex;
    gap: 1px
}

.searchbar-action-inner {
    align-items: center;
    background-color: #fff;
    display: flex;
    gap: 1rem;
    padding: 1.25rem
}

.searchbar-action-icon {
    font-size: 1rem
}

.searchbar-action:hover .searchbar-action-inner {
    background-color: var(--primary-color);
    color: var(--primary-accent)
}

.searchbar-action-disabled {
    opacity: .5;
    pointer-events: none
}

@media (min-width:62.719rem) {

    .searchbar--responsive,
    .searchbar-buttons,
    .searchbar-dock,
    .searchbar-trigger {
        display: none
    }

    .searchbar-item {
        flex: 1
    }

    .searchbar-item:not(:last-child):after {
        align-self: center;
        background-color: currentColor;
        content: "";
        display: block;
        height: 1.875rem;
        opacity: .2;
        width: 1px
    }

    .searchbar-submit {
        margin-left: -1px
    }

    .searchbar-tabs + .searchbar-wrapper .searchbar-submit {
        margin-top: -2px
    }

    .searchbar-action {
        --size: 3.5rem;
        min-width: var(--size);
        position: relative;
        width: var(--size);
        z-index: 1
    }

    .searchbar-action:not(:last-child) {
        box-shadow: 1px 0 0 0 #e5dcd6
    }

    .searchbar-action:last-child {
        --position: 2
    }

    .searchbar-action-inner {
        -webkit-clip-path: polygon(0 0, var(--size) 0, var(--size) 100%, 0 100%);
        clip-path: polygon(0 0, var(--size) 0, var(--size) 100%, 0 100%);
        height: 100%;
        left: 0;
        min-width: calc(var(--button-width, 0px) + var(--position, 1)*var(--size));
        position: absolute;
        top: 0;
        transition: transform .65s cubic-bezier(.785, .135, .15, .86), background-color .65s ease, color .65s ease, -webkit-clip-path .65s cubic-bezier(.785, .135, .15, .86);
        transition: transform .65s cubic-bezier(.785, .135, .15, .86), clip-path .65s cubic-bezier(.785, .135, .15, .86), background-color .65s ease, color .65s ease;
        transition: transform .65s cubic-bezier(.785, .135, .15, .86), clip-path .65s cubic-bezier(.785, .135, .15, .86), background-color .65s ease, color .65s ease, -webkit-clip-path .65s cubic-bezier(.785, .135, .15, .86);
        white-space: nowrap
    }

    .searchbar-action-label {
        font-weight: 600;
        letter-spacing: .1em;
        margin: auto;
        opacity: 0;
        text-transform: uppercase;
        transition: opacity .35s ease
    }

    .searchbar-action:hover .searchbar-action-inner {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        transform: translateX(calc(-100% + var(--size)))
    }

    .searchbar-action:hover .searchbar-action-label {
        opacity: 1
    }
}

@media (max-width:62.719rem) {
    .searchbar-dock {
        background-color: #fff;
        bottom: 0;
        left: 0;
        padding: .75rem var(--wrapper-gutter);
        position: fixed;
        width: 100%;
        z-index: 999
    }

    .searchbar-buttons {
        display: grid;
        gap: .5rem;
        grid-template-columns: repeat(3, 1fr);
        justify-items: center;
        width: 100%
    }

    .searchbar-buttons > a {
        font-size: 100%;
        max-width: 10rem;
        padding: 1rem;
        width: 100%
    }

    .searchbar-trigger {
        position: relative;
        text-align: center;
        width: 100%;
        z-index: 100
    }

    .searchbar-trigger:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .searchbar--hide-on-mobile {
        display: none
    }

    .searchbar--responsive {
        background-color: #f2edeb;
        display: flex;
        flex-direction: column;
        height: 100vh;
        left: 0;
        overflow: auto;
        padding: 2.5rem var(--wrapper-gutter) 1.5rem var(--wrapper-gutter);
        position: fixed;
        top: 0;
        transform: translateY(100%);
        transition: transform 1s cubic-bezier(.785, .135, .15, .86);
        width: 100%;
        z-index: 10000
    }

    .searchbar--opened {
        transform: translateY(0)
    }

    .searchbar-header {
        align-items: center;
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        margin-bottom: 2.5rem
    }

    .searchbar-form {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column
    }

    .searchbar-wrapper {
        flex-direction: column;
        gap: 1.5rem 1rem;
        width: 100%
    }

    .searchbar-item,
    .searchbar-submit {
        flex: 0 0 auto;
        width: 100%
    }

    .searchbar-button {
        background-color: #fff
    }

    .searchbar-actions {
        gap: 1rem
    }

    .searchbar-action {
        display: flex;
        width: calc(50% - .5rem)
    }

    .searchbar-action-inner {
        flex-direction: column;
        justify-content: center;
        line-height: 1.4;
        text-align: center;
        transition: background-color .65s ease, color .65s ease;
        width: 100%
    }
}

.searchbar.has-search-history-back:not(:last-child) {
    margin-bottom: 1.5rem
}

.sort {
    position: relative
}

.sort-button {
    align-items: center;
    display: flex;
    gap: .5em
}

.sort-options {
    background-color: #fff;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    display: block;
    min-width: 200px;
    padding: .5rem 1rem;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: calc(100% + .5rem);
    transform: translateY(.5rem);
    transition: transform .45s ease, -webkit-clip-path .45s cubic-bezier(.25, 1, .5, 1);
    transition: transform .45s ease, clip-path .45s cubic-bezier(.25, 1, .5, 1);
    transition: transform .45s ease, clip-path .45s cubic-bezier(.25, 1, .5, 1), -webkit-clip-path .45s cubic-bezier(.25, 1, .5, 1);
    z-index: 10
}

.sort-options--opened {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    pointer-events: all;
    transform: translateY(0)
}

.sort-radio {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: .75rem;
    gap: .5rem;
    margin: 0 -.5rem;
    padding: .25rem .5rem;
    position: relative;
    transition: background-color .2s ease;
    white-space: nowrap;
    width: calc(100% + 1rem)
}

.sort-radio:hover {
    background-color: rgba(0, 0, 0, .05)
}

.sort-radio-input {
    left: 0;
    opacity: 0;
    position: absolute;
    width: 0
}

:checked + .sort-radio-label {
    font-weight: 700
}

.slider {
    width: 100%
}

.slider-track {
    display: flex;
    width: calc(100% + var(--gap, 0px))
}

.slider-item {
    --width: calc(100%/var(--per-view, 1) - var(--gap, 0px));
    display: flex;
    margin-right: var(--gap, 0);
    min-width: var(--width);
    width: var(--width)
}

.slider-item:last-child {
    margin-right: 1px
}

.slider-controls {
    gap: 2rem;
    margin-top: 3.75rem
}

.slider-arrow,
.slider-controls {
    align-items: center;
    display: flex;
    justify-content: center
}

.slider-arrow {
    font-size: 2rem
}

@media (max-width:79.96875rem) {
    .blog-slider .slider-track {
        width: calc(125% + var(--gap, 0px))
    }
}

@media (max-width:47.96875rem) {
    .blog-slider .slider-track {
        width: calc(100% + var(--gap, 0px))
    }
}

.collapsible {
    border-bottom: 1px solid var(--purple);
    width: 100%
}

.collapsible-header {
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    cursor: pointer;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-block: 1.75rem;
    transition: border-color .25s ease
}

.collapsible-title {
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase
}

.collapsible-switch {
    border-radius: 100%;
    display: block;
    height: 2rem;
    min-width: 2rem;
    position: relative;
    transition: background-color .2s ease, box-shadow .2s ease
}

.collapsible-switch:after,
.collapsible-switch:before {
    background-color: currentColor;
    border-radius: 2px;
    content: "";
    display: block;
    position: absolute;
    transition: transform .2s ease
}

.collapsible-switch:before {
    height: 1px;
    left: calc(50% - .5em);
    top: calc(50% - .5px);
    width: 1em
}

.collapsible-switch:after {
    height: 1em;
    left: calc(50% - .5px);
    top: calc(50% - .5em);
    width: 1px
}

.collapsible-switch:hover {
    background-color: rgba(0, 0, 0, .05);
    box-shadow: 0 0 0 5px rgba(0, 0, 0, .05)
}

.collapsible--opened .collapsible-switch:before {
    transform: rotate(180deg)
}

.collapsible--opened .collapsible-switch:after {
    transform: rotate(90deg)
}

.collapsible-wrapper {
    display: none;
    height: 0;
    overflow: hidden;
    width: 100%
}

.collapsible--opened .collapsible-header {
    border-color: transparent
}

.dialog,
.lightbox,
.modal {
    display: none;
    flex-direction: column;
    height: var(--viewport-height, 100vh);
    inset: 0;
    overflow: auto;
    position: fixed;
    width: 100%;
    z-index: 10000
}

.modal {
    overflow: auto
}

.modal-inner {
    background-color: #f2edeb;
    max-width: 100%;
    min-width: min(25rem, 100%);
    padding: var(--wrapper-gutter);
    width: 100%
}

.modal--auto .modal-inner {
    width: -moz-fit-content;
    width: fit-content
}

.modal-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: min(2.5rem, var(--wrapper-gutter))
}

.modal-title {
    max-width: 85%
}

.modal-box {
    --mask-color: #fff;
    background-color: #fff;
    margin-top: var(--section-margin);
    padding: var(--section-margin) var(--wrapper-gutter)
}

.modal--fullpage .modal-inner {
    flex: 1 1 auto;
    transition: opacity .65s ease
}

@media (min-width:62.719rem) {
    .modal {
        transition: background-color .5s ease
    }

    .modal-inner {
        opacity: 0
    }

    .modal.--opened {
        background-color: rgba(0, 0, 0, .6)
    }

    .modal.--opened .modal-inner {
        opacity: 1
    }

    .modal:not(.modal--fullpage) {
        padding: var(--wrapper-gutter)
    }

    .modal:not(.modal--fullpage) .modal-inner {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
        margin: auto;
        max-width: var(--container-width);
        transform: translateY(var(--wrapper-gutter));
        transition: opacity .65s ease, transform .65s cubic-bezier(.25, 1, .5, 1), -webkit-clip-path .65s cubic-bezier(.25, 1, .5, 1);
        transition: opacity .65s ease, transform .65s cubic-bezier(.25, 1, .5, 1), clip-path .65s cubic-bezier(.25, 1, .5, 1);
        transition: opacity .65s ease, transform .65s cubic-bezier(.25, 1, .5, 1), clip-path .65s cubic-bezier(.25, 1, .5, 1), -webkit-clip-path .65s cubic-bezier(.25, 1, .5, 1)
    }

    .modal:not(.modal--fullpage).modal.--opened .modal-inner {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        transform: translateY(0);
        transition-delay: .3s
    }

    .modal-inner {
        --wrapper-gutter: 3.5rem
    }
}

@media (max-width:62.719rem) {
    .modal {
        transform: translateY(100%);
        transition: transform 1s cubic-bezier(.785, .135, .15, .86)
    }

    .modal-inner {
        flex: 1 1 auto
    }

    .modal-close {
        position: relative
    }

    .modal.--opened {
        transform: translateY(0)
    }
}

@media (max-width:47.96875rem) {
    .modal-header {
        flex-direction: column-reverse
    }

    .modal-close {
        align-self: flex-end
    }
}

@media screen and (min-width:1200px) and (max-height:750px) {
    .modal .video-wrapper {
        padding-bottom: 46.25%
    }
}

.dialog {
    overflow: auto;
    transition: background-color .5s ease
}

.dialog,
.dialog-inner {
    padding: var(--wrapper-gutter)
}

.dialog-inner {
    background-color: #f2edeb;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    margin: auto;
    max-width: 100%;
    opacity: 0;
    text-align: center;
    transform: translateY(var(--wrapper-gutter));
    transition: opacity .65s ease, transform .65s cubic-bezier(.25, 1, .5, 1), -webkit-clip-path .65s cubic-bezier(.25, 1, .5, 1);
    transition: opacity .65s ease, transform .65s cubic-bezier(.25, 1, .5, 1), clip-path .65s cubic-bezier(.25, 1, .5, 1);
    transition: opacity .65s ease, transform .65s cubic-bezier(.25, 1, .5, 1), clip-path .65s cubic-bezier(.25, 1, .5, 1), -webkit-clip-path .65s cubic-bezier(.25, 1, .5, 1);
    width: -moz-fit-content;
    width: fit-content
}

.dialog-footer {
    align-items: center;
    display: flex;
    gap: 1rem 1.5rem;
    justify-content: center
}

.dialog-footer:not(:first-child) {
    margin-top: 2.5rem
}

.dialog.--opened {
    background-color: rgba(0, 0, 0, .6)
}

.dialog.--opened .dialog-inner {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
    transform: translateY(0);
    transition-delay: .3s
}

.lightbox {
    background-color: #000;
    color: #fff;
    opacity: 0;
    transition: opacity .65s ease
}

.lightbox.--opened {
    opacity: 1
}

.lightbox-close {
    --color: #e5dcd6;
    color: #e5dcd6;
    position: absolute;
    right: var(--wrapper-gutter);
    top: 1.5rem;
    z-index: 10
}

.lightbox-media {
    inset: 1.5rem var(--wrapper-gutter);
    position: absolute
}

.lightbox-media:after {
    background: url() 50%;
    background-size: cover;
    bottom: 6%;
    content: "";
    left: 8%;
    position: absolute;
    right: 8%;
    top: 6%
}

.lightbox .video-wrapper {
    bottom: 1.5rem;
    left: 0;
    margin: auto;
    max-height: calc(56.25vw - var(--wrapper-gutter)*2*.5625);
    max-width: calc(178vh - 10.68rem);
    position: absolute;
    right: 0;
    top: 4.5rem
}

@media (max-width:62.719rem) {
    .lightbox-media:after {
        bottom: 30%;
        top: 30%
    }
}

@media (max-width:47.96875rem) {
    .lightbox-media > img {
        position: absolute
    }

    .lightbox-media:after {
        bottom: 40%;
        top: 40%
    }
}

.tabs {
    display: flex
}

.tabs-list {
    gap: 1rem 0;
    margin-inline: auto
}

.tabs-item,
.tabs-list {
    display: flex;
    justify-content: center
}

.tabs-item {
    align-items: center;
    padding-inline: 1.875rem
}

.tabs-item:not(:first-child) {
    position: relative
}

.tabs-item:not(:first-child):before {
    background-color: currentColor;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: .2;
    position: absolute;
    top: 0;
    width: 1px
}

@media (max-width:62.719rem) {
    .tabs {
        margin-left: calc(var(--wrapper-gutter)*-1);
        overflow: auto;
        white-space: nowrap;
        width: calc(100% + var(--wrapper-gutter)*2)
    }
}

.tab {
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase
}

.tab[data-active] {
    font-weight: 700
}

.views {
    display: grid;
    grid-template-columns: 100%
}

.view {
    grid-column: 1/-1;
    grid-row: 1/-1;
    opacity: 0;
    pointer-events: none;
    position: relative;
    transform: translateX(-100%);
    transition: opacity .65s ease, transform .65s ease
}

.view[data-active] {
    opacity: 1;
    pointer-events: all;
    transform: translateX(0);
    z-index: 1
}

.view[data-active] ~ .view {
    transform: translateX(100%)
}

.blob-image {
    aspect-ratio: var(--aspect-ratio, 1/1.06);
    margin-left: 5%;
    position: relative
}

.blob-image-inner {
    inset: 0;
    overflow: hidden;
    position: absolute
}

.blob-image-inner img {
    display: block;
    height: 100%;
    inset: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    width: 100%
}

.blob-image-mask {
    fill: var(--mask-color, #f2edeb);
    display: block;
    height: calc(100% + 2px);
    inset: -1px;
    position: absolute;
    width: calc(100% + 2px)
}

.blob-image-outline {
    fill: none;
    stroke: var(--outline-color, #b7a745);
    display: block;
    height: 90%;
    position: absolute;
    right: 0;
    top: 2%;
    width: 105%
}

.gallery-inner-wrapper {
    overflow: hidden;
    position: relative
}

@media (min-width:47.96875rem) {
    .gallery-close {
        position: absolute;
        right: var(--wrapper-gutter);
        top: 1.5rem;
        z-index: 10
    }
}

.gallery-slider {
    position: relative
}

.gallery-slider .swiper-slide {
    height: calc(100vh - 180px);
    position: relative
}

@media (max-width:79.96875rem) {
    .gallery-slider .swiper-slide {
        aspect-ratio: 16/9;
        height: auto
    }
}

.gallery-slider .gallery-item {
    inset: 0;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    position: absolute
}

.gallery-slider .gallery-item:after {
    background: url() 50%;
    background-size: cover;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.gallery-slider .gallery-expand {
    position: absolute;
    right: 1.75rem;
    top: 1.75rem;
    z-index: 1
}

.gallery-slider .swiper-progress {
    align-items: center;
    background: #fff;
    bottom: 0;
    display: flex;
    height: 30px;
    justify-content: center;
    left: 50%;
    pointer-events: none;
    position: absolute;
    transform: translateY(50%) translateX(-50%);
    width: 64px;
    z-index: 10
}

.gallery-slider .swiper-progress .separator {
    display: block;
    margin: 0 3px
}

.gallery-slider .swiper-navigation .swiper-button {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10
}

.gallery-slider .swiper-navigation .swiper-button.swiper-button-next {
    right: 72px
}

@media (max-width:79.96875rem) {
    .gallery-slider .swiper-navigation .swiper-button.swiper-button-next {
        right: 32px
    }
}

@media (max-width:31.21875rem) {
    .gallery-slider .swiper-navigation .swiper-button.swiper-button-next {
        right: 16px
    }
}

.gallery-slider .swiper-navigation .swiper-button.swiper-button-prev {
    left: 72px
}

@media (max-width:79.96875rem) {
    .gallery-slider .swiper-navigation .swiper-button.swiper-button-prev {
        left: 32px
    }
}

@media (max-width:31.21875rem) {
    .gallery-slider .swiper-navigation .swiper-button.swiper-button-prev {
        left: 16px
    }
}

.gallery-slider .swiper-navigation .swiper-button:hover .button__prepend .button__prepend-path path {
    fill: #000;
    stroke: #000
}

.gallery-slider .swiper-navigation .swiper-button:hover .button__prepend-icon path {
    fill: #fff
}

.gallery-slider .swiper-navigation .swiper-button .button__prepend {
    align-items: center;
    -webkit-clip-path: url(#my-clip-path);
    clip-path: url(#my-clip-path);
    display: flex;
    height: 42px;
    justify-content: center;
    position: relative;
    width: 42px
}

.gallery-slider .swiper-navigation .swiper-button .button__prepend .button__prepend-path {
    left: 0;
    overflow: visible;
    position: absolute;
    top: 0
}

.gallery-slider .swiper-navigation .swiper-button .button__prepend .button__prepend-path path {
    stroke: #fff;
    transition: all .5s ease
}

.gallery-slider .swiper-navigation .swiper-button .button__prepend .button__prepend-border {
    bottom: 0;
    left: -1px;
    position: absolute;
    right: 0;
    top: 2px
}

.gallery-slider .swiper-navigation .swiper-button .button__prepend .button__prepend-icon {
    align-items: center;
    display: flex;
    font-size: 20px;
    justify-content: center;
    z-index: 10
}

.gallery-thumbs-slider {
    margin-top: 50px
}

@media (min-width:47.96875rem) {
    .gallery-thumbs-slider .swiper-wrapper {
        justify-content: center;
        transform: unset !important
    }
}

.gallery-thumbs-slider .swiper-slide {
    cursor: pointer;
    height: 78px;
    overflow: hidden;
    position: relative;
    width: 78px
}

.gallery-thumbs-slider .swiper-slide:not(:last-child) {
    margin-right: 8px
}

.gallery-thumbs-slider .swiper-slide:after {
    background: rgba(0, 0, 0, .5);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 1;
    position: absolute;
    top: 0;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 1
}

.gallery-thumbs-slider .swiper-slide.swiper-slide-active:after {
    opacity: 0
}

.gallery-thumbs-slider .swiper-slide img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.agency-finder {
    display: grid;
    gap: 1.875rem 1rem;
    position: relative
}

.agency-finder-header {
    grid-column: 1/-1
}

.agency-finder-label {
    font-size: 1rem;
    margin-bottom: .5rem
}

.agency-finder-search {
    max-width: 39rem;
    position: relative;
    width: calc(100% - 3.5rem)
}

.agency-finder--loading .agency-finder-search:after {
    animation: spin 1s linear infinite;
    aspect-ratio: 1/1;
    border: 3px solid;
    border-radius: 100%;
    border-top: 3px solid transparent;
    content: "";
    display: block;
    position: absolute;
    right: -3.5rem;
    top: calc(50% - 1.25rem);
    width: 2.5rem
}

.agency-finder-field {
    align-items: center;
    background-color: #fff;
    cursor: text;
    display: flex;
    font-size: 1rem;
    gap: 1.5rem;
    padding: 1.25rem 1.5rem
}

.agency-finder-icon {
    font-size: 1.25rem
}

.agency-finder-input {
    flex: 1 1 auto
}

.agency-finder--loading .agency-finder-list,
.agency-finder--loading .agency-finder-map {
    opacity: .5;
    pointer-events: none
}

.agency-finder-placeholder {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    grid-column: 1/-1;
    justify-content: center;
    padding: 2rem;
    text-align: center
}

.agency-finder-placeholder-title {
    margin-bottom: .75rem
}

.agency-finder-placeholder-subtitle {
    font-weight: 600;
    margin-bottom: 2rem;
    text-transform: uppercase
}

.agency-finder-placeholder img {
    margin: 0 auto;
    max-width: 18.75rem
}

.agency-finder-list {
    overflow: auto
}

.agency-finder-list::-webkit-scrollbar {
    background-color: #e5dcd6;
    height: 2px;
    width: 2px
}

.agency-finder-list::-webkit-scrollbar-thumb {
    background-color: #000
}

.agency-finder-item {
    display: flex;
    position: relative
}

.agency-finder-radio {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0
}

.agency-finder-card {
    align-items: center;
    background-color: var(--primary-color);
    color: var(--primary-accent);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 1rem 0;
    text-align: center;
    transition: opacity .35s ease;
    width: 100%
}

.agency-finder-card-distance {
    margin-bottom: .5rem
}

.agency-finder-card-title {
    font-family: "Noto Serif Display", serif;
    font-size: 1.15rem;
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 1.2;
    margin-bottom: .5rem;
    min-height: 4rem;
    padding: 0 1rem
}

.agency-finder-card-description {
    margin: 0 1rem 1rem;
    min-height: 4.2rem
}

.agency-finder-card-link {
    letter-spacing: .1em;
    margin-top: auto
}

.agency-finder-list--has-selection .agency-finder-radio:not(:checked) + .agency-finder-card {
    opacity: .2
}

.agency-finder-map {
    background-color: #fff
}

html body .agency-finder-map .gm-style-iw {
    background: none !important;
    padding: 0 !important
}

html body .agency-finder-map .gm-style-iw button span {
    background-color: #fff
}

.agency-finder-tooltip {
    background-color: var(--primary-color);
    color: var(--primary-accent);
    padding: .75rem 1.5rem;
    text-align: center;
    width: 100%
}

.agency-finder-tooltip-wrapper {
    align-items: center;
    display: flex;
    gap: 1rem;
    text-align: left
}

.agency-finder-tooltip-logo {
    display: block;
    height: auto;
    max-width: 100px;
    width: auto
}

.agency-finder-tooltip-entity {
    font-family: "Noto Serif Display", serif;
    font-weight: 400
}

.agency-finder-tooltip-entity,
.agency-finder-tooltip-name {
    font-size: 1rem;
    margin-bottom: .25rem
}

.agency-finder-tooltip-address {
    font-size: .825rem
}

.agency-finder-tooltip-link {
    font-size: .75rem;
    margin-top: .625rem
}

@media (min-width:62.719rem) {
    .agency-finder {
        grid-template-columns: 55fr 45fr
    }
}

@media (max-width:62.719rem) {
    .agency-finder {
        grid-template-columns: 100fr
    }

    .agency-finder-map {
        aspect-ratio: 1/1.12
    }
}

@media (min-width:47.96875rem) {
    .agency-finder-list {
        aspect-ratio: 1/.73;
        display: grid;
        gap: 1.5rem;
        grid-template-columns: 1fr 1fr;
        padding-right: 1rem
    }

    .agency-finder .gmap-wrapper-expanded {
        width: calc(222% + 1rem)
    }
}

@media (max-width:47.96875rem) {
    .agency-finder-list {
        display: flex;
        gap: 1rem;
        padding-bottom: 1.5rem
    }

    .agency-finder-item {
        --width: min(20rem, 100% - 2.5rem);
        min-width: var(--width);
        width: var(--width)
    }
}

.gmap {
    position: relative
}

.gmap-wrapper {
    height: 100%;
    isolation: isolate;
    position: absolute;
    right: 0;
    top: 0;
    transition: width .5s ease;
    width: 100%
}

.gmap-wrapper-expanded {
    width: calc(250% + 1.875rem)
}

.gmap-controls {
    flex-direction: column;
    inset: 0;
    padding: 1rem;
    pointer-events: none;
    position: absolute
}

.gmap-controls,
.gmap-controls-line {
    display: flex;
    justify-content: space-between
}

.gmap-controls-line {
    align-items: center
}

.gmap-controls button,
.gmap-controls label {
    pointer-events: all
}

.gmap-zoom {
    display: flex;
    gap: .5rem
}

.gmap-zoom-button {
    align-items: center;
    aspect-ratio: 1/1;
    background-color: #000;
    border-radius: 100%;
    color: #fff;
    display: flex;
    font-size: .625rem;
    justify-content: center;
    pointer-events: all;
    width: 2.5rem
}

.gmap-wrapper-expanded [data-expand],
.gmap-wrapper:not(.gmap-wrapper-expanded) [data-shrink] {
    display: none
}

.gmap-layers {
    display: flex;
    flex-direction: column;
    gap: 1px
}

.gmap-layers-toggle {
    background-color: #fff;
    padding: .5rem
}

.gmap-view {
    height: 100%;
    inset: 0;
    pointer-events: all;
    position: absolute;
    width: 100%;
    z-index: -1
}

@media (max-width:62.719rem) {
    .gmap-controls [data-expand] {
        display: none
    }
}

.gm-style {
    font: 400 11px Open Sans, sans-serif
}

.gm-style .gm-style-iw-tc {
    display: none
}

.gm-style .gm-style-iw-d {
    overflow: auto !important
}

.gm-style .gm-style-iw-c {
    border-radius: unset;
    box-shadow: unset;
    max-width: 360px !important;
    padding: 0 !important
}

.gm-style .gmap-notice {
    display: flex;
    gap: 1rem
}

.gm-style .gmap-notice .gmap-content-wrapper {
    display: flex;
    flex-direction: column;
    font-family: Open Sans, sans-serif;
    justify-content: center;
    max-width: 300px;
    text-align: center
}

.gm-style .gmap-notice .gmap-content-wrapper img {
    max-height: 350px;
    max-width: 300px
}

.gm-style .gmap-notice .gmap-content-wrapper .title {
    color: #000;
    font-family: Open Sans, sans-serif;
    font-weight: 300;
    margin: 1rem .5rem
}

.gm-style .gmap-notice .gmap-content-wrapper .title:not(:last-child) {
    margin-bottom: .5rem
}

.gm-style .gmap-notice .gmap-content-wrapper .price {
    color: #000;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px
}

.gm-style .gmap-notice .gmap-content-wrapper .infos {
    align-items: center;
    color: #000;
    display: flex;
    font-size: 10px;
    font-weight: 400;
    justify-content: space-between;
    line-height: 16px;
    margin: 5px 15px 15px
}

.mobile-tabs {
    display: flex;
    gap: .25rem
}

.mobile-tabs-item {
    display: flex;
    flex: 1
}

.mobile-tab {
    align-items: center;
    background-color: var(--primary-color);
    color: var(--primary-accent);
    display: flex;
    font-weight: 600;
    gap: 1rem;
    justify-content: center;
    letter-spacing: .1em;
    overflow: hidden;
    padding: 1rem;
    position: relative;
    text-transform: uppercase;
    transition: color .65s ease;
    width: 100%;
    z-index: 1
}

.mobile-tab:before {
    background-color: #e5dcd6;
    content: "";
    display: block;
    inset: 0;
    position: absolute;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .65s cubic-bezier(.785, .135, .15, .86);
    z-index: -1
}

.mobile-tab-icon {
    font-size: 1.125rem
}

.mobile-tab:hover,
.mobile-tab[data-active] {
    color: #000
}

.mobile-tab:hover:before,
.mobile-tab[data-active]:before {
    transform: scaleY(1)
}

@media (min-width:62.719rem) {
    .mobile-tabs {
        display: none
    }
}

@media (max-width:62.719rem) {
    .mobile-view:not([data-active]) {
        display: none
    }
}

.autocomplete {
    position: relative
}

.autocomplete-suggestions {
    background-color: #fff;
    color: #000;
    left: 0;
    max-height: 14.375rem;
    overflow: auto;
    padding-block: 0 .625rem;
    padding-inline: calc(var(--autocomplete-gutter, 1.5rem)/2);
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 100
}

.autocomplete-suggestions::-webkit-scrollbar {
    background-color: #e5dcd6;
    height: 2px;
    width: 2px
}

.autocomplete-suggestions::-webkit-scrollbar-thumb {
    background-color: #000
}

.autocomplete-suggestions:not(.autocomplete-suggestions--opened) {
    display: none
}

.autocomplete-suggestions-empty,
.autocomplete-suggestions-item {
    padding: .625rem calc(var(--autocomplete-gutter, 1.5rem)/2)
}

.autocomplete-suggestions-item {
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color .2s ease;
    white-space: nowrap
}

.autocomplete-suggestions-item--active,
.autocomplete-suggestions-item:hover {
    background-color: rgba(0, 0, 0, .05)
}

.video-wrapper {
    aspect-ratio: 16/9;
    isolation: isolate;
    overflow: hidden;
    position: relative
}

.video-wrapper .video-controls {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    height: 100%;
    inset: 0;
    justify-content: flex-end;
    opacity: 0;
    padding: min(2rem, var(--wrapper-gutter));
    pointer-events: none;
    position: absolute;
    transition: opacity .5s ease;
    width: 100%;
    z-index: 10
}

.video-wrapper .video-controls.is-visible {
    opacity: 1;
    pointer-events: all
}

.video-wrapper .video-controls .video-pause,
.video-wrapper .video-controls .video-play {
    height: 3.5rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 3.5rem;
    z-index: 10
}

@media (max-width:62.719rem) {

    .video-wrapper .video-controls .video-pause,
    .video-wrapper .video-controls .video-play {
        height: 2.5rem;
        width: 2.5rem
    }

    .video-wrapper .video-controls .video-pause svg,
    .video-wrapper .video-controls .video-play svg {
        font-size: .75rem
    }
}

.video-wrapper .video-controls .video-close,
.video-wrapper .video-controls .video-mute,
.video-wrapper .video-controls .video-pause {
    display: none
}

.video-wrapper .video-controls .video-mute,
.video-wrapper .video-controls .video-unmute {
    font-size: 1.5rem
}

.video-wrapper iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

body.theme-fine-properties section.introduction .media-cover .video-wrapper iframe {
    top: 38%
}

.anchors {
    background-color: #fff;
    padding-inline: var(--wrapper-gutter);
    z-index: 100
}

.anchors,
.anchors-wrapper {
    position: relative
}

.anchors-item,
.anchors-list {
    display: flex
}

.anchors-link {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 1.875rem .75rem;
    position: relative;
    text-align: center;
    white-space: nowrap;
    width: 100%
}

.anchors-link:after {
    background-color: var(--primary-color);
    bottom: 0;
    content: "";
    display: block;
    height: .25rem;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transition: transform .35s ease;
    width: 100%
}

.anchors-link.active:after {
    transform: scaleX(1)
}

@media (hover:hover) {
    .anchors-link:not(.active):hover:after {
        transform: scaleX(.5)
    }
}

@media (min-width:62.719rem) {
    .anchors-wrapper {
        display: flex;
        justify-content: space-between
    }

    .anchors-list {
        flex: 1 1 auto
    }

    .anchors-item {
        flex: 1
    }
}

@media (max-width:62.719rem) {
    .anchors--bottom {
        bottom: 0 !important;
        top: auto !important
    }

    .anchors-list {
        margin-inline: calc(var(--wrapper-gutter)*-1);
        overflow: auto;
        white-space: nowrap;
        width: calc(100% + var(--wrapper-gutter)*2)
    }

    .anchors-link {
        padding-block: 1rem
    }

    .anchors .button {
        margin-bottom: .5rem;
        width: 100%
    }
}

.scroller {
    overflow: hidden;
    position: relative
}

.scroller--fade-edges:after,
.scroller--fade-edges:before {
    background-image: linear-gradient(var(--gradient-angle), var(--background), transparent);
    content: "";
    display: block;
    height: 20%;
    left: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity .2s ease;
    width: calc(100% - var(--wrapper-gutter));
    z-index: 1
}

.scroller--fade-edges:before {
    --gradient-angle: 180deg;
    top: 0
}

.scroller--fade-edges:after {
    --gradient-angle: 0deg;
    bottom: 0
}

.scroller--fade-edges[data-end]:after,
.scroller--fade-edges[data-start]:before {
    opacity: 0
}

.scroller-wrapper {
    max-height: 100%;
    overflow: auto;
    width: 100%
}

.scroller-wrapper::-webkit-scrollbar {
    background-color: rgba(0, 0, 0, .2);
    height: 1.5px;
    width: 1.5px
}

.scroller-wrapper::-webkit-scrollbar-thumb {
    background-color: #000
}

.share--xl {
    font-size: 1.5rem
}

.share-list {
    width: 100%
}

.share-link,
.share-list {
    align-items: center;
    display: flex;
    justify-content: center
}

.share-link {
    font-size: var(--size, 1em);
    height: 2em;
    min-width: 2em;
    width: 2em
}

#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy a,
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy a:hover {
    background: unset !important
}

#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy #cookie-policy-description,
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-sdk-cookie-policy-group-desc,
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-table-header,
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy a,
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy span,
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy td {
    color: #000 !important;
    font-size: .875rem !important;
    font-weight: 300 !important;
    line-height: 1.6 !important
}

#ot-sdk-cookie-policy h3 {
    font-size: clamp(1.25rem, 4vw, 2.1875rem) !important;
    margin-bottom: .6em !important
}

#ot-sdk-cookie-policy h3,
#ot-sdk-cookie-policy h4 {
    color: #000 !important;
    font-family: "Noto Serif Display", serif !important;
    letter-spacing: .5px !important
}

#ot-sdk-cookie-policy h4 {
    font-size: clamp(1.25rem, 3vw, 2rem) !important
}

#onetrust-pc-sdk .ot-always-active {
    color: unset !important
}

#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-table-header {
    color: #fff !important
}

.cta-card {
    align-items: center;
    background-color: var(--background-color);
    color: var(--color);
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    padding: 2rem min(1.5rem, var(--wrapper-gutter));
    text-align: center
}

.cta-card--light-green {
    --background-color: #72976d;
    --color: #fff
}

.cta-card--green {
    --background-color: #2f4c41;
    --color: #fff
}

.cta-card--blue {
    --background-color: #333f48;
    --color: #fff
}

.cta-card--sepia {
    --background-color: #9f8170;
    --color: #fff
}

.cta-card--primary {
    --background-color: var(--primary-color);
    --color: var(--primary-accent)
}

.cta-card--secondary {
    --background-color: var(--secondary-color);
    --color: var(--secondary-accent)
}

.cta-card--tertiary {
    --background-color: var(--tertiary-color);
    --color: var(--tertiary-accent)
}

.cta-card--align-left {
    align-items: flex-start;
    text-align: left
}

.cta-card--lg {
    padding: 3.5rem
}

.cta-card-icon {
    font-size: 3.5rem;
    margin-bottom: 1.25rem
}

.cta-card-title {
    min-height: 70px
}

.cta-card-label {
    font-size: .875rem;
    font-weight: 400;
    text-transform: uppercase
}

.cta-card-description {
    margin-top: .75rem;
    min-height: 90px
}

.cta-card-description:not(:last-child) {
    margin-bottom: 2.5rem
}

.cms h4.cta-card-description,
.cta-card-description.title-md {
    margin-top: 1.25rem
}

.cms h4.cta-card-description:not(:last-child),
.cta-card-description.title-md:not(:last-child) {
    margin-bottom: 2.5rem
}

.cta-card-link {
    margin-top: auto
}

@media (max-width:79.96875rem) {
    .cta-card-content .tertiary-button {
        text-decoration: underline;
        text-underline-offset: .2rem
    }

    .cta-card-content .tertiary-button:before {
        display: none
    }
}

.product-card {
    --favorite-button-background: #fff;
    --favorite-button-color: #000;
    align-items: center;
    background-color: #fff;
    color: #000;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: .75rem .75rem .5rem;
    position: relative;
    text-align: center;
    width: 100%
}

.product-card-link {
    display: block;
    inset: 0;
    opacity: 0;
    position: absolute
}

.product-card-actions {
    align-items: center;
    display: flex;
    gap: .625rem;
    justify-content: flex-end;
    position: absolute;
    right: 1.5rem;
    top: 1.5rem
}

.product-card-actions li {
    position: relative;
    z-index: 1
}

.product-card-gallery,
.product-card-image {
    aspect-ratio: 1/1.13;
    background-color: #fff;
    width: 100%
}

.product-card-gallery img,
.product-card-image img {
    transition: .8s
}

.product-card-gallery {
    display: flex;
    overflow: hidden;
    position: relative
}

.product-card-gallery-wrapper {
    display: flex;
    width: 100%
}

.product-card-gallery-item {
    margin-left: -1px;
    min-width: calc(100% + 2px)
}

.product-card-gallery-item.swiper-slide-active {
    position: relative;
    z-index: 1
}

.product-card-gallery-arrow {
    bottom: 0;
    margin: auto;
    position: absolute;
    top: 0;
    z-index: 1
}

.product-card-gallery-arrow--prev {
    left: 1.25rem
}

.product-card-gallery-arrow--next {
    right: 1.25rem
}

.product-card:first-child .product-card-image {
    max-height: 400px
}

.product-card-tags {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    justify-content: center;
    margin: -1rem auto auto;
    min-height: 32px;
    position: relative;
    width: calc(100% - 30px);
    z-index: 1
}

.product-card-tags .tag {
    min-width: min(143px, 100%)
}

.product-card-title {
    font-family: Open Sans, sans-serif;
    font-size: 1.125rem;
    letter-spacing: .02em;
    line-height: 1.2;
    margin-top: 1rem;
    min-height: 45px
}

.cms .product-card h2,
.product-card .cms h2,
.product-card h2.title-xl {
    font-family: Open Sans, sans-serif;
    font-weight: unset
}

.product-card-contact {
    margin-top: 1rem
}

.product-card-alert {
    font-size: .75rem;
    margin-bottom: .3rem
}

.product-card-price {
    font-size: 1.25rem;
    line-height: 1.15;
    margin-top: .25rem
}

.product-card .conditions {
    color: rgba(0, 0, 0, .6);
    font-size: .625rem;
    margin-bottom: 10px;
    margin-top: 5px
}

.product-card-features {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: .625rem;
    font-weight: 400;
    gap: 1em 3.5ch;
    justify-content: center;
    margin-top: auto;
    min-height: 32px;
    padding-top: 1rem;
    text-transform: uppercase
}

.product-card-button {
    margin-top: 2rem
}

.product-card--featured {
    padding: 1rem 2.5rem 2.5rem
}

.product-card--featured .product-card-gallery,
.product-card--featured .product-card-image {
    aspect-ratio: 1/.5;
    margin-inline: -1.5rem;
    width: calc(100% + 3rem)
}

.product-card--featured .product-card-tags {
    margin-bottom: 1.5rem
}

.product-card--featured .product-card-price {
    font-size: clamp(1.25rem, 2.5vw, 2.375rem);
    margin-top: .5rem
}

@media (min-width:47.96875rem) {
    .product-card--featured {
        align-items: flex-start;
        text-align: left
    }

    .product-card--featured .product-card-features {
        font-size: .875rem
    }
}

@media (hover:hover) {

    .product-card-actions li,
    .product-card-gallery-arrow {
        opacity: 0;
        transition: opacity .2s ease
    }

    .product-card:hover .product-card-actions li,
    .product-card:hover .product-card-gallery-arrow {
        opacity: 1
    }
}

.district-card {
    align-items: center;
    aspect-ratio: 1/.68;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 1
}

.district-card--fullscreen {
    aspect-ratio: auto;
    min-height: calc(var(--viewport-height) - var(--header-height))
}

.district-card-image {
    display: block;
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1
}

.district-card-image-wtext:after {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .75) 0, transparent 75%, transparent);
    content: "";
    display: block;
    height: 100%;
    inset: 0;
    opacity: .6;
    position: absolute;
    width: 100%;
    z-index: 1
}

.district-card-title {
    font-size: clamp(1.25rem, 2.5vw, 2.1875rem)
}

.district-card-description {
    font-size: .875rem;
    margin-top: 1rem
}

.district-card-link {
    margin-top: 1rem
}

@media (max-width:47.96875rem) {
    .district-card {
        aspect-ratio: 1/1.45
    }
}

.news-card {
    margin-bottom: var(--gap);
    margin-right: var(--gap);
    overflow: hidden;
    position: relative
}

.news-card-image {
    aspect-ratio: 1/1.16
}

.news-card-image img {
    transition: transform .5s ease
}

.news-card:hover .news-card-image img {
    transform: scale(1.1);
    transition-duration: .7s
}

@media (min-width:47.96875rem) {

    .news-card:nth-child(2),
    .news-card:nth-child(4),
    .news-card:nth-child(5),
    .news-card:nth-child(7),
    .news-card:nth-child(8n+10),
    .news-card:nth-child(8n+12),
    .news-card:nth-child(8n+13),
    .news-card:nth-child(8n+15) {
        width: calc(50% - var(--gap))
    }

    .news-card:nth-child(2) .news-card-image,
    .news-card:nth-child(4) .news-card-image,
    .news-card:nth-child(5) .news-card-image,
    .news-card:nth-child(7) .news-card-image,
    .news-card:nth-child(8n+10) .news-card-image,
    .news-card:nth-child(8n+12) .news-card-image,
    .news-card:nth-child(8n+13) .news-card-image,
    .news-card:nth-child(8n+15) .news-card-image {
        aspect-ratio: 1/1.24
    }

    .news-card:first-child,
    .news-card:nth-child(3),
    .news-card:nth-child(6),
    .news-card:nth-child(8),
    .news-card:nth-child(8n+11),
    .news-card:nth-child(8n+14),
    .news-card:nth-child(8n+16),
    .news-card:nth-child(8n+9) {
        width: calc(50% - var(--gap))
    }

    .news-card:first-child .news-card-image,
    .news-card:nth-child(3) .news-card-image,
    .news-card:nth-child(6) .news-card-image,
    .news-card:nth-child(8) .news-card-image,
    .news-card:nth-child(8n+11) .news-card-image,
    .news-card:nth-child(8n+14) .news-card-image,
    .news-card:nth-child(8n+16) .news-card-image,
    .news-card:nth-child(8n+9) .news-card-image {
        aspect-ratio: 1/1.05
    }
}

@media (min-width:62.719rem) {

    .news-card:nth-child(2),
    .news-card:nth-child(4),
    .news-card:nth-child(5),
    .news-card:nth-child(7),
    .news-card:nth-child(8n+10),
    .news-card:nth-child(8n+12),
    .news-card:nth-child(8n+13),
    .news-card:nth-child(8n+15) {
        width: calc(27% - var(--gap))
    }

    .news-card:nth-child(2) .news-card-image,
    .news-card:nth-child(4) .news-card-image,
    .news-card:nth-child(5) .news-card-image,
    .news-card:nth-child(7) .news-card-image,
    .news-card:nth-child(8n+10) .news-card-image,
    .news-card:nth-child(8n+12) .news-card-image,
    .news-card:nth-child(8n+13) .news-card-image,
    .news-card:nth-child(8n+15) .news-card-image {
        aspect-ratio: 1/1.24
    }

    .news-card:first-child,
    .news-card:nth-child(3),
    .news-card:nth-child(6),
    .news-card:nth-child(8),
    .news-card:nth-child(8n+11),
    .news-card:nth-child(8n+14),
    .news-card:nth-child(8n+16),
    .news-card:nth-child(8n+9) {
        width: calc(23% - var(--gap))
    }

    .news-card:first-child .news-card-image,
    .news-card:nth-child(3) .news-card-image,
    .news-card:nth-child(6) .news-card-image,
    .news-card:nth-child(8) .news-card-image,
    .news-card:nth-child(8n+11) .news-card-image,
    .news-card:nth-child(8n+14) .news-card-image,
    .news-card:nth-child(8n+16) .news-card-image,
    .news-card:nth-child(8n+9) .news-card-image {
        aspect-ratio: 1/1.05
    }
}

.news-card-content {
    padding-top: 1.5rem;
    position: relative
}

.news-card-category {
    margin: -2.5rem auto .75rem;
    max-width: calc(100% - 3rem);
    width: -moz-max-content;
    width: max-content
}

.news-card-date {
    font-size: .625rem;
    font-weight: 300;
    line-height: 1rem;
    margin-bottom: .688rem
}

.news-card-title {
    color: #000;
    font-family: "Noto Serif Display", serif;
    font-weight: 500;
    letter-spacing: -.222222px
}

.news-card-url:after {
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

@media (max-width:47.96875rem) {
    .news-card {
        width: 100%
    }

    .news-card-content {
        padding-right: 1.5rem
    }
}

.news-card-slider {
    display: grid;
    gap: 0 1.5rem;
    justify-items: center
}

.news-card-slider-image {
    max-width: 16rem;
    width: 100%
}

.news-card-slider-image img {
    transition: transform .45s ease
}

.news-card-slider-image:hover img {
    transform: scale(1.1)
}

.news-card-slider-content {
    position: relative;
    z-index: 1
}

.news-card-slider-header {
    margin-bottom: 1.25rem
}

.news-card-slider-number {
    color: #bb8a6c;
    font-family: "Noto Serif Display", serif;
    font-size: 1.25rem
}

.news-card-slider-number:before {
    background-color: #bb8a6c;
    content: "";
    display: inline-block;
    height: 1px;
    margin-right: 10px;
    vertical-align: middle;
    width: 50px
}

@media (min-width:62.719rem) {
    .news-card-slider-description {
        font-size: .9rem
    }
}

.news-card-slider-link {
    margin-top: 1rem
}

@media (min-width:47.96875rem) {
    .news-card-slider {
        grid-template-columns: 52fr 48fr
    }

    .news-card-slider-image {
        justify-self: flex-end;
        margin-top: 1rem
    }

    .news-card-slider-header {
        margin-left: -50px
    }
}

.news-card-highlight {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    position: relative
}

@media (max-width:47.96875rem) {
    .news-card-highlight > a:first-child {
        height: 100%;
        position: absolute;
        width: 100%;
        z-index: 10
    }

    .news-card-highlight .button {
        position: relative;
        z-index: 20
    }
}

.news-card-highlight-image {
    aspect-ratio: 1/.5;
    display: block;
    margin: 1rem 1rem 0;
    width: calc(100% - 2rem)
}

.news-card-highlight-content {
    align-items: flex-start;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 2rem 2.5rem;
    position: relative;
    width: 100%
}

@media (max-width:47.96875rem) {
    .news-card-highlight-content {
        padding-inline: 1rem;
        text-align: center
    }
}

.news-card-highlight-category {
    margin: -3rem auto 1rem;
    min-width: min(143px, 100%)
}

.news-card-highlight-date {
    font-size: .625rem;
    font-weight: 300;
    line-height: 1rem;
    margin-bottom: .688rem;
    text-align: left
}

.news-card-highlight-title {
    color: #000;
    font-family: "Noto Serif Display", serif;
    font-weight: 500;
    letter-spacing: -.222222px;
    margin-bottom: 1rem;
    min-height: 5.65rem;
    text-align: left
}

@media (max-width:47.96875rem) {
    .news-card-highlight-title {
        min-height: 3.25rem
    }
}

.news-card-highlight-subtitle {
    color: #000;
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.25rem;
    margin-bottom: 2rem;
    text-align: left
}

.news-card-highlight .button {
    margin-top: auto
}

.agency-card {
    animation: fade-in .5s ease forwards;
    background-color: #fff;
    display: grid;
    gap: 1.5rem;
    max-width: 40rem;
    opacity: 0;
    padding: 1.5rem min(2rem, var(--wrapper-gutter));
    position: relative;
    transform: translateY(var(--wrapper-gutter))
}

.agency-card-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between
}

.agency-card-header:not(:last-child) {
    margin-bottom: .5rem
}

.agency-card-description:not(:last-child) {
    margin-bottom: 1.5rem
}

.agency-card-info:not(:last-child) {
    margin-bottom: 1rem
}

.agency-card-info-item {
    align-items: center;
    display: flex;
    gap: .625rem
}

.agency-card-info-item:not(:last-child) {
    margin-bottom: .875rem
}

.agency-card-info-icon {
    font-size: 1.5rem
}

.agency-card-hours {
    font-size: .625rem
}

.agency-card-hours:not(:last-child) {
    margin-bottom: 1.5rem
}

.agency-card-reviews {
    display: block;
    max-width: 100%
}

.agency-card-link {
    display: flex;
    margin-top: 2.5rem
}

.agency-card-gallery {
    display: grid;
    gap: 1rem
}

@media (min-width:47.96875rem) {
    .agency-card {
        grid-template-columns: 1fr 1fr;
        margin: 4rem 3rem 4rem auto
    }

    .agency-card-close {
        left: -1rem;
        position: absolute;
        top: -1rem
    }

    .agency-card-gallery {
        grid-template-rows: 1.75fr 1fr;
        margin-top: -5.5rem;
        width: calc(100% + 5rem)
    }
}

@media (max-width:47.96875rem) {
    .agency-card-close {
        margin-top: -.5rem
    }

    .agency-card-image:first-child {
        aspect-ratio: 1/1
    }

    .agency-card-image:last-child {
        aspect-ratio: 1/.6
    }
}

#myc-container {
    width: inherit
}

#myc-nav-container {
    margin-bottom: 15px;
    width: inherit
}

#myc-current-month-year-container {
    display: inline-block;
    font-size: 1.5em;
    font-weight: lighter;
    text-align: center;
    text-transform: capitalize;
    vertical-align: top;
    width: 68%
}

#myc-next-week-container,
#myc-prev-week-container {
    display: inline-block;
    width: 15%
}

#myc-prev-week {
    float: left
}

#myc-next-week,
#myc-prev-week {
    border: 1px solid #000;
    border-radius: 80px;
    color: #000;
    cursor: pointer;
    font-size: 1.6em;
    font-weight: lighter;
    height: 40px;
    text-align: center;
    width: 40px
}

#myc-next-week {
    float: right
}

#myc-next-week:hover,
#myc-prev-week:hover {
    border: 1px solid #bdbdbd;
    color: #bdbdbd
}

#myc-available-time-container {
    min-height: 150px
}

.myc-date-header {
    display: inline-block;
    min-height: 50px;
    padding: 3px;
    vertical-align: top;
    width: 16.2%
}

.myc-date-header:first-of-type {
    padding-left: 3px
}

.myc-date-header:last-of-type {
    border-right: none
}

.myc-day-time-container {
    display: inline-block;
    height: 100%;
    padding: 5px;
    vertical-align: top;
    width: 16.2%
}

.myc-day-time-container:first-of-type {
    padding-left: 15px
}

.myc-day-time-container:last-of-type {
    border-right: none
}

.myc-date-number {
    font-size: 1.4rem;
    font-weight: lighter;
    text-align: center
}

.myc-available-time {
    background-color: transparent;
    border: 1px solid #303030;
    color: #000;
    display: block;
    font-size: 13px;
    margin-bottom: 5px;
    padding: 2px 0;
    text-align: center
}

.myc-available-time.selected,
.myc-available-time:hover {
    background-color: #bfccd6
}

.myc-date-display {
    font-weight: lighter;
    text-align: center
}

@media only screen and (max-width:768px) {

    .myc-date-header,
    .myc-day-time-container {
        width: 13.5%
    }
}

#myc-date-header-6,
#myc-day-time-container-6 {
    display: none
}

.team-card {
    display: grid;
    gap: 1.5rem;
    position: relative
}

.team-card-image {
    margin: auto;
    max-width: 15.625rem;
    width: 100%
}

.team-card-tabs {
    display: grid
}

.team-card-tab {
    grid-column: 1/-1;
    grid-row: 1/-1;
    transition: opacity .5s ease
}

.team-card--alt .team-card-tab--main,
.team-card-tab--alt {
    opacity: 0;
    pointer-events: none
}

.team-card--alt .team-card-tab--alt {
    opacity: 1;
    pointer-events: all
}

.team-card-name,
.team-card-role {
    text-align: left
}

.team-card-name:not(:last-child),
.team-card-role:not(:last-child) {
    margin-bottom: .5rem
}

.team-card-description:not(:last-child) {
    margin-bottom: 1rem
}

.team-card-text {
    font-size: .75rem;
    text-align: left
}

.team-card-info-item {
    align-items: center;
    display: flex;
    font-size: .75rem;
    gap: 1rem
}

.team-card-info-item:not(:last-child) {
    margin-bottom: 1em
}

.team-card-info-icon {
    font-size: 1.5rem
}

.team-card-cta {
    padding-left: 2.5rem
}

.team-card-agency {
    background-color: var(--primary-color);
    color: #fff;
    font-weight: 300;
    margin-top: 1.5rem;
    padding: 1rem 1.5rem;
    text-align: left
}

.team-card-agency-logo {
    display: block;
    height: 2.5rem;
    margin-bottom: 1rem;
    width: auto
}

.team-card-agency-name {
    font-size: .875rem
}

.team-card-agency-address {
    font-size: .625rem
}

.team-card-agency-link {
    margin-top: 1rem
}

.team-card-toggle {
    justify-self: center
}

@media (min-width:47.96875rem) {
    .team-card {
        grid-template-columns: 45fr 55fr
    }

    .team-card-image {
        align-self: center;
        margin-block: 0 2.5rem
    }

    .team-card-toggle {
        bottom: 0;
        grid-column: 1/2;
        position: absolute
    }
}

@media (max-width:62.719rem) {

    .team-card--has-agency .team-card-info,
    .team-card--has-agency .team-card-name,
    .team-card--has-agency .team-card-role,
    .team-card--has-agency .team-card-text {
        margin-inline: 2.5rem
    }

    .team-card-agency {
        padding-inline: 2.5rem
    }

    .team-card-cta {
        text-align: left;
        width: 100%
    }
}

.offer-card {
    align-items: flex-start;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 1.5rem min(3.5rem, var(--wrapper-gutter))
}

.offer-card-tag {
    background-color: #000;
    color: #fff;
    font-family: "Noto Serif Display", serif;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    margin-block: -2.375rem 1rem;
    padding: .5rem .875rem;
    text-align: center
}

.offer-card-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: .5rem;
    text-transform: uppercase
}

.offer-card-address {
    margin-bottom: 1rem
}

.testimonial-card {
    gap: 1.5rem var(--wrapper-gutter)
}

.testimonial-card-author {
    text-align: center
}

.testimonial-card-author-image {
    margin-inline: auto;
    max-width: 15rem
}

.testimonial-card-author-name {
    margin-bottom: .5rem
}

.testimonial-card-author-role {
    font-size: .75rem;
    font-weight: 300;
    text-transform: uppercase
}

.testimonial-card-author-role sup {
    text-transform: lowercase
}

.testimonial-card-content {
    padding-left: 3rem;
    padding-right: 3rem;
    position: relative
}

.testimonial-card-text:before,
.testimonial-card-text > :last-child:after {
    aspect-ratio: 1/1;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    width: 2rem
}

.testimonial-card-text:before {
    background-image: url(images/quote-open.d139b383.svg);
    left: 0;
    position: absolute;
    top: 0
}

.testimonial-card-text > :last-child:after {
    background-image: url(images/quote-close.240da0c2.svg);
    margin-left: 1rem;
    vertical-align: top
}

.testimonial-card-info {
    border-top: 1px solid #e5dcd6;
    display: flex;
    margin-top: 1.5rem;
    padding-top: 2.5rem
}

.testimonial-card-info-item {
    border-left: 1px solid #e5dcd6;
    flex: 1;
    padding-inline: 1.5rem
}

.testimonial-card-info-label {
    font-size: .625rem;
    font-weight: 300;
    letter-spacing: .2em;
    text-transform: uppercase
}

.testimonial-card-info-value {
    font-family: "Noto Serif Display", serif;
    font-size: 1.25rem;
    font-weight: 400
}

@media (min-width:62.719rem) {
    .testimonial-card {
        align-items: flex-start;
        display: grid;
        grid-template-columns: 1fr 3fr
    }

    .testimonial-card-author-image {
        margin-bottom: 2.5rem
    }
}

@media (max-width:62.719rem) {
    .testimonial-card {
        align-items: center;
        display: flex;
        flex-direction: column;
        justify-content: start
    }

    .testimonial-card-author {
        width: 50%
    }

    .testimonial-card-author-image {
        margin-bottom: 1.5rem
    }

    .testimonial-card-content {
        padding-right: 3rem
    }

    .testimonial-card-text > :last-child:after {
        bottom: 0;
        position: absolute;
        right: 0
    }

    .testimonial-card-info {
        display: none
    }
}

.place-card {
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 1
}

.place-card-image {
    display: block;
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1
}

.place-card-image:after {
    background-image: linear-gradient(0deg, #000 0, transparent 75%, transparent);
    content: "";
    display: block;
    height: 100%;
    inset: 0;
    opacity: .6;
    position: absolute;
    width: 100%;
    z-index: 1
}

.place-card-description {
    margin-top: .75rem
}

.place-card-link {
    margin-top: 1rem
}

@media (min-width:47.96875rem) {
    .place-card--portrait {
        aspect-ratio: 1/1.2
    }

    .place-card--landscape {
        aspect-ratio: 1/.76
    }
}

@media (max-width:47.96875rem) {
    .place-card--mobile-portrait {
        aspect-ratio: 1/1.2
    }

    .place-card--mobile-landscape {
        aspect-ratio: 1/.76
    }
}

.introduction {
    --wrapper-gutter: Clamp(15px, 5vw, 40px)
}

.introduction-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-top: -1.5rem;
    min-height: calc(100vh - var(--header-height));
    padding: 1.5rem var(--wrapper-gutter) 5.5rem var(--wrapper-gutter);
    position: relative
}

@media (max-width:47.96875rem) {
    .introduction-wrapper {
        min-height: calc(100vh - var(--header-height) - 3.375rem);
        padding-bottom: 3.375rem
    }
}

.introduction .video-mute:not(.stop-animation) {
    animation: pulse-2 3s ease infinite
}

.introduction-background {
    inset: 0;
    position: absolute
}

.introduction-message {
    background-color: #2f4c41;
    color: #fff;
    max-width: 39rem;
    padding: 1.875rem var(--wrapper-gutter);
    position: relative;
    transition: transform .5s cubic-bezier(.76, 0, .24, 1) 0s, opacity .5s ease 0s;
    width: 100%;
    z-index: 1
}

.introduction-message.hidden {
    opacity: 0;
    transform: translateY(-20px)
}

.introduction-message .title {
    font-family: "Noto Serif Display", serif;
    font-size: 1.25rem
}

.introduction-message .text {
    font-size: .75rem;
    font-weight: 100;
    margin-bottom: 10px;
    width: 90%
}

.introduction-message .link {
    font-family: "Noto Serif Display", serif;
    letter-spacing: 2px;
    text-decoration: underline
}

.introduction-message .close {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 2rem
}

.search {
    margin-top: -8.02rem;
    position: relative;
    z-index: 1
}

@media (max-width:62.719rem) {
    .search {
        margin-top: -1.875rem
    }
}

.news-logo {
    margin-bottom: 1.5rem
}

.news-title {
    margin-bottom: 1rem
}

.news-subtitle {
    margin-inline: auto;
    margin-bottom: 3rem;
    max-width: 53.438rem
}

.news-logo,
.news-subtitle,
.news-title {
    text-align: center
}

.news-wrapper {
    margin-top: 2.25rem;
    overflow: hidden
}

.news-highlight-list {
    grid-gap: 1.5rem;
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 3.5rem
}

@media (min-width:47.96875rem) {
    .news-highlight-list {
        grid-template-columns: 1fr 1fr
    }
}

@media (min-width:79.96875rem) {
    .news-highlight-list {
        grid-template-columns: repeat(auto-fill, minmax(532px, 1fr))
    }
}

.news-list {
    --gap: 3.5rem;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: calc(var(--gap)*-1);
    margin-right: calc(var(--gap)*-1);
    margin-top: 3.25rem;
    width: calc(100% + var(--gap))
}

.news .load-more {
    margin-top: 3.5rem;
    padding: 2.5rem 0;
    text-align: center
}

.news .searchbar-filters {
    width: 100%
}

.news .searchbar-filters-list {
    gap: unset;
    width: 100%
}

.news .searchbar-filters-item {
    text-align: center;
    width: 16.66%
}

@media (max-width:62.719rem) {
    .searchbar--responsive {
        margin-bottom: 0
    }

    .searchbar--responsive .searchbar-filters {
        justify-content: center;
        padding: 0
    }

    .searchbar--responsive .searchbar-filters .searchbar-filters-list {
        flex-direction: column;
        padding: 0;
        width: 100%
    }

    .searchbar--responsive .searchbar-filters .searchbar-filters-item {
        margin: 0;
        width: 100%
    }

    .searchbar--responsive .searchbar-filters .searchbar-filters-link {
        display: block;
        padding: 1rem 0;
        text-align: center
    }
}

.article h2 {
    margin-bottom: 1rem;
    margin-top: 2rem
}

.article img {
    max-width: 100%
}

.article-wrapper {
    grid-gap: 24px;
    align-items: flex-start;
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    margin-top: 2.5rem
}

@media (max-width:62.719rem) {
    .article-wrapper {
        grid-gap: 0;
        grid-template-columns: repeat(16, 1fr)
    }
}

.article-quarter-head-content .location {
    font-size: 1.25rem;
    line-height: 1.688rem
}

.article-quarter-head-content .secondary-button + p {
    margin-top: 2.5rem
}

.article-quarter-head-content h2 {
    font-size: clamp(1.75rem, 6vw, 3.0625rem)
}

.article-content {
    color: #000;
    grid-column: 1/span 16
}

.article-sidebar {
    grid-column: -8/-1
}

@media (max-width:62.719rem) {
    .article-sidebar {
        grid-column: 1/-1;
        margin-top: 2rem
    }
}

.article-title {
    margin-bottom: 1rem
}

.article-audio-player {
    margin: 5rem 0;
    padding: 3.5rem;
    text-align: center
}

@media (max-width:47.96875rem) {
    .article-audio-player {
        margin: 2rem 0;
        padding: 3.5rem 1.5rem
    }
}

.article-image .icon-button,
.article-mosaic .icon-button {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 10
}

.article-image {
    aspect-ratio: 1/.58;
    margin-block: 3rem 2rem
}

@media (max-width:31.21875rem) {
    .article-image {
        margin-block: 1rem 2rem
    }
}

.article-mosaic {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 3rem;
    margin-top: 2rem
}

.article-mosaic-item {
    aspect-ratio: 1/1.05
}

.article-mosaic-item:first-child {
    grid-column: span 2
}

.article-mosaic-item-empty {
    display: none
}

.article-mosaic-item-no-images {
    aspect-ratio: unset
}

@media (max-width:31.21875rem) {
    .article-mosaic {
        gap: 1rem
    }
}

.article-details {
    align-items: center;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
    padding: 1rem .5rem
}

.article-details-reading_time {
    margin-bottom: .5rem;
    position: relative
}

.article-details-reading_time svg {
    height: 80px;
    overflow: visible !important;
    transform: translate(.5px, .5px) rotate(-90deg);
    width: 80px
}

.article-details-reading_time-background {
    fill: none;
    stroke: #f2edeb;
    stroke-width: 2
}

.article-details-reading_time-progress {
    fill: none;
    stroke: #000;
    stroke-width: 2;
    visibility: hidden
}

.article-details-reading_time-title {
    display: block;
    font-family: Open Sans, sans-serif;
    font-size: .75rem;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase
}

.article-details-reading_time-label {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

@media (max-width:62.719rem) {
    .article-details-reading_time {
        bottom: 5rem;
        position: fixed;
        right: 1rem;
        z-index: 999
    }

    .article-details-reading_time-background {
        fill: #fff;
        stroke: #fff;
        stroke-width: 2
    }
}

.article-details-label {
    margin-bottom: .5rem;
    min-width: 8.938rem
}

.article-details-author {
    font-family: "Noto Serif Display", serif;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: -.111111px;
    line-height: 1.525rem;
    margin-top: .5rem
}

.article-details-author span {
    display: block;
    font-family: Open Sans, sans-serif;
    font-size: .75rem;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase
}

.article-details-author:after {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    margin: .75rem auto 1rem;
    width: 2rem
}

.article-details-date {
    font-size: .625rem;
    line-height: 1rem;
    margin-bottom: 1.25rem
}

.article-agency-title {
    margin-bottom: .5rem;
    text-align: center
}

.article-agency-content {
    background-color: var(--primary-color);
    color: var(--primary-accent);
    padding: 1rem 2rem;
    text-align: center
}

.article-agency-content-name {
    margin-bottom: .5rem
}

.article-agency-content-address {
    font-size: .875rem;
    line-height: 1.25rem;
    margin-bottom: .688rem
}

@media (max-width:31.21875rem) {
    .article-agency-content > a {
        justify-content: center;
        padding-top: .5rem;
        width: 100%
    }
}

@media (max-width:47.96875rem) {
    .article-agency {
        margin-top: 3.5rem
    }
}

.article .section-cta {
    margin: 2.5rem 0;
    padding: 2rem 3rem 2.5rem
}

@media (max-width:47.96875rem) {
    .article .section-cta {
        margin: 2rem 0;
        padding: 2rem
    }
}

.article .section-cta-label {
    font-size: .75rem;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.5rem;
    margin-bottom: .5rem;
    text-transform: uppercase
}

@media (max-width:47.96875rem) {
    .article .section-cta-title {
        font-size: 1.875rem;
        line-height: 2.125rem
    }
}

.article .section-cta-buttons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin-top: .5rem
}

.article .similar-articles {
    margin-top: 5rem;
    overflow: hidden;
    padding-block: 0
}

@media (max-width:47.96875rem) {
    .article .similar-articles {
        margin-top: 3.5rem
    }
}

.article .similar-articles-title {
    margin-bottom: 2rem
}

@media (min-width:47.96875rem) {
    .article .similar-articles-title {
        margin-bottom: 3.5rem;
        text-align: center
    }
}

.post-date {
    color: hsla(0, 0%, 60%, .6);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase
}

.post-excerpt {
    color: rgba(30, 30, 30, .6);
    font-size: 22px;
    font-weight: 400
}

#page-contact .section-map #map {
    background-color: #000;
    height: 50vh;
    position: relative;
    width: 100%
}

#account .btn-menu {
    align-items: center;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: none;
    justify-content: center;
    margin-right: 10px;
    margin-top: 5px;
    padding: 0;
    position: relative;
    z-index: 3
}

@media (max-width:991.98px) {
    #account .btn-menu {
        display: block
    }
}

#account .btn-menu > .item-burger {
    display: block;
    width: 25px
}

#account .btn-menu > .item-burger > span {
    background-color: #fff;
    border-radius: 2px;
    display: block;
    height: 2px;
    transition: all .3s;
    width: 100%
}

#account .btn-menu > .item-burger > span:nth-child(2) {
    margin: 6px 0
}

#account .btn-menu.open span:first-child {
    opacity: 0
}

#account .btn-menu.open span:nth-child(2) {
    transform: rotate(-45deg)
}

#account .btn-menu.open span:nth-child(3) {
    transform: rotate(45deg) translateY(-6px) translateX(-5px)
}

@media (max-width:991.98px) {
    #account .account-container {
        flex-direction: column
    }
}

#account .informations {
    color: #000;
    font-size: 12px;
    position: fixed;
    right: 150px;
    text-transform: uppercase;
    top: 50px
}

#account .informations .name {
    font-size: 16px;
    font-weight: 700
}

#account .informations a {
    position: relative;
    text-align: right
}

#account .informations a:after {
    background-color: #000;
    bottom: 3px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    transition: width .3s ease-out;
    width: 100%
}

#account .informations a:hover:after {
    width: 0
}

@media (max-width:991.98px) {
    #account .informations {
        color: #fff;
        position: relative;
        right: auto;
        top: auto
    }
}

#account #navigation {
    background: #000;
    color: #fff;
    height: 100vh;
    left: 0;
    position: fixed;
    text-align: center;
    top: 0
}

@media (min-width:576px) {
    #account #navigation {
        width: calc(50vw - 270px)
    }
}

@media (min-width:768px) {
    #account #navigation {
        width: calc(50vw - 360px)
    }
}

@media (min-width:992px) {
    #account #navigation {
        width: calc(50vw - 480px)
    }
}

@media (min-width:1380px) {
    #account #navigation {
        width: calc(50vw - 660px)
    }
}

#account #navigation .logo {
    margin-top: 50px;
    position: absolute;
    text-align: center;
    width: 100%
}

@media (max-width:991.98px) {
    #account #navigation .logo {
        margin-top: 0;
        position: relative;
        width: auto
    }
}

#account #navigation .navigation-content {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

@media (max-width:991.98px) {
    #account #navigation .navigation-content {
        background: #000;
        height: 100vh;
        left: -100%;
        position: fixed;
        top: 0;
        transition: all .3s;
        width: 70vw;
        z-index: 2
    }
}

#account #navigation .navigation-content.active {
    left: 0
}

#account #navigation li:not(last-child) {
    margin-bottom: 20px
}

#account #navigation li:not(last-child) a {
    position: relative
}

#account #navigation li:not(last-child) a:after {
    background-color: #fff;
    bottom: 3px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    transition: width .3s ease-out;
    width: 0
}

#account #navigation li:not(last-child) a:hover:after {
    width: 100%
}

@media (max-width:991.98px) {
    #account #navigation {
        align-items: center;
        display: flex;
        height: auto;
        justify-content: space-between;
        padding: 10px 15px;
        width: 100%
    }
}

#account #content-account {
    width: 100%
}

@media (min-width:576px) {
    #account #content-account {
        padding-left: calc(50vw - 220px)
    }
}

@media (min-width:768px) {
    #account #content-account {
        padding-left: calc(50vw - 310px)
    }
}

@media (min-width:992px) {
    #account #content-account {
        padding-left: calc(50vw - 430px)
    }
}

@media (min-width:1380px) {
    #account #content-account {
        padding-left: calc(50vw - 610px)
    }
}

.products-header {
    align-items: center;
    display: flex;
    gap: 1rem 2rem;
    justify-content: end;
    margin-bottom: 1rem;
    width: calc(60% - .75rem)
}

.products-header:not(:nth-child(2)) {
    margin-top: clamp(2rem, 3vw, 3.5rem)
}

.products-title {
    text-align: center
}

.products-count {
    margin-right: auto
}

.products-toggle {
    font-size: .75rem
}

.products-tabs {
    margin-top: 2rem
}

.products-wrapper {
    align-items: flex-start;
    display: flex;
    gap: 1.5rem
}

.products-content {
    opacity: 1;
    transition: opacity .6s ease
}

.products-content.fade {
    opacity: 0
}

.products-similar-title {
    font-size: 1rem
}

.products-similar-title-icon {
    float: left;
    font-size: 1.5rem;
    margin-right: 1rem
}

.products-list {
    --per-row: 2;
    --gap: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap)
}

.products-list-item {
    --max: Max(0, calc(var(--per-row) - 1));
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    min-height: 547.88px;
    width: calc((100% - var(--max)*var(--gap))/var(--per-row))
}

.products-list-item--full {
    width: 100%
}

.products-ctas,
.products-hide-map .products-list {
    --per-row: 3
}

@media (min-width:62.719rem) {
    .products-content {
        width: calc(60% - .75rem)
    }

    .products-hide-map .products-content {
        width: 100%
    }

    .products-map {
        width: calc(40% - .75rem)
    }

    .products-map-inner {
        background-color: #fff;
        height: calc(100vh - 80px)
    }
}

@media (max-width:62.719rem) {
    .products-header {
        margin-top: clamp(2rem, 3vw, 3.5rem)
    }

    .products-wrapper {
        margin-top: 2rem
    }

    .products-map {
        width: 100%
    }

    .products-map-inner {
        margin-inline: calc(var(--wrapper-gutter)*-1);
        min-height: calc(100vh - 100px);
        width: calc(100% + var(--wrapper-gutter)*2)
    }

    .products-ctas {
        --per-row: 1
    }
}

@media (max-width:47.96875rem) {
    .products-list {
        --per-row: 1
    }
}

.products__mentions {
    bottom: 1rem;
    position: fixed;
    right: 1rem
}

.product-hero {
    margin-top: 2.5rem;
    position: relative;
    z-index: 1
}

.product-hero-thumbnail {
    display: block;
    overflow: hidden;
    z-index: -1
}

.product-hero-actions {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(5, 1fr);
    width: -moz-fit-content;
    width: fit-content
}

.product-hero-actions-item {
    display: flex
}

.product-hero-action {
    align-items: center;
    background-color: #fff;
    color: #000;
    display: flex;
    flex-direction: column;
    font-size: .625rem;
    gap: .25rem;
    justify-content: center;
    line-height: 1.1;
    padding: .625rem;
    text-align: center;
    text-transform: uppercase;
    transition: background-color .35s ease, color .35s ease;
    width: 100%
}

.product-hero-action-icon {
    font-size: 1.5rem
}

.product-hero-action:hover {
    background-color: var(--primary-color);
    color: var(--primary-accent)
}

.product-wrapper {
    display: flex;
    position: relative;
    z-index: 1
}

.product-sidebar {
    background-color: #fff;
    padding-top: 1px;
    position: relative;
    z-index: 1
}

.product-sidebar-header,
.product-sidebar-section {
    padding-inline: 1.25rem
}

.product-sidebar-header {
    align-items: center;
    display: flex;
    gap: .625rem;
    justify-content: space-between;
    margin-top: -1.5rem
}

.product-sidebar-title small {
    font-family: Open Sans, sans-serif;
    font-size: 45%;
    letter-spacing: .125em;
    text-transform: uppercase
}

.product-sidebar-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    justify-content: center
}

.product-sidebar-actions-item {
    display: flex
}

.product-sidebar-section {
    padding-block: 0 1rem
}

.product-sidebar-section + .product-sidebar-section {
    border-top: 1px solid #e5dcd6
}

.product-sidebar-highlight {
    background-color: var(--primary-color);
    color: #fff;
    margin-inline: calc(min(2rem, var(--wrapper-gutter))*-1);
    padding: 1.5rem min(3.5rem, var(--wrapper-gutter) + 1rem);
    width: calc(100% + min(2rem, var(--wrapper-gutter))*2)
}

.product-sidebar-price {
    align-items: center;
    display: flex;
    font-size: .5rem;
    font-weight: 300;
    gap: 0 1rem
}

.product-sidebar-price-inner {
    font-size: clamp(1.75rem, 2.5vw, 2rem);
    font-weight: 600
}

.product-sidebar-price-asterisk {
    font-size: .75rem;
    vertical-align: super
}

.product-tags {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: .625rem;
    justify-content: center;
    position: relative;
    z-index: 1
}

.product-tags .tag {
    min-width: min(143px, 100%)
}

.product-actions {
    display: flex;
    flex-direction: column
}

.product-actions-list {
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    justify-content: center;
    margin: auto
}

.product-actions-item {
    display: flex
}

.product-actions .button {
    width: 100%
}

.product-features {
    --per-row: 5;
    display: grid;
    gap: 1.5rem 1rem;
    grid-template-columns: repeat(var(--per-row), 1fr)
}

.product-features:not(:first-child) {
    margin-top: 1.5rem
}

.product-features:not(:last-child) {
    margin-bottom: 1.5rem
}

.product-features-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    font-size: .875rem;
    gap: 1rem;
    text-align: center
}

.product-features-icon {
    fill: transparent;
    display: block;
    height: 3.5rem;
    -o-object-fit: contain;
    object-fit: contain;
    width: 3.5rem
}

.product-section--has-border {
    border-bottom: 1px solid;
    padding-bottom: 2rem
}

.product-section:not(:last-child) {
    margin-bottom: 3rem
}

.product-section-header {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.5rem
}

.product-reference {
    font-size: .625rem;
    font-weight: 300;
    text-transform: uppercase
}

.product-price {
    margin-bottom: .5rem;
    margin-top: -.5rem
}

.product-price-info {
    font-size: .5rem;
    font-weight: 300;
    text-transform: uppercase
}

.product-price-inner {
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 600
}

.product-price-details {
    display: flex;
    flex: 1;
    font-size: .625rem;
    gap: 1ch
}

.product-price-asterisk {
    font-size: 1rem
}

.product-table {
    width: 100%
}

.product-table tr {
    border-bottom: 1px solid rgba(0, 0, 0, .2)
}

.product-table td,
.product-table th {
    padding-block: .5rem
}

.product-table td:not(:last-child),
.product-table th:not(:last-child) {
    padding-right: .625rem
}

.product-table th {
    font-family: "Noto Serif Display", serif;
    font-weight: 800;
    letter-spacing: .1em
}

.product-map {
    aspect-ratio: 1/.64;
    background-color: #fff
}

.product-surroundings {
    --per-row: 4;
    align-items: flex-start;
    border-block: 1px solid rgba(0, 0, 0, .2);
    display: grid;
    gap: 1rem .5rem;
    grid-template-columns: repeat(var(--per-row), 1fr);
    padding-block: 2rem
}

.product-surroundings:not(:first-child) {
    margin-top: 2rem
}

.product-surroundings:not(:last-child) {
    margin-bottom: 2rem
}

.product-surroundings-title {
    align-items: center;
    display: flex;
    font-size: .875rem;
    font-weight: 300;
    gap: .625rem;
    min-height: 3.2em;
    text-transform: uppercase
}

.product-surroundings-icon {
    display: block;
    height: 1.625rem;
    -o-object-fit: contain;
    object-fit: contain;
    width: 1.625rem
}

.product-surroundings-sub {
    margin-top: 1.5rem
}

.product-surroundings-sub-item:not(:last-child) {
    margin-bottom: 1rem
}

.product-ctas {
    --per-row: 2
}

@media (min-width:62.719rem) {
    .product-hero {
        align-items: flex-end;
        aspect-ratio: 1/.5;
        display: flex;
        padding: 2.5rem var(--wrapper-gutter) 5rem
    }

    .product-hero-thumbnail {
        inset: 0;
        position: absolute;
        z-index: -1
    }

    .product-wrapper {
        align-items: flex-start;
        flex-direction: row-reverse;
        justify-content: space-between
    }

    .product-content {
        margin-top: 40px;
        width: calc(60% - 1.75rem)
    }

    .product-sidebar {
        margin-top: -210px;
        width: calc(40% - 1.75rem)
    }

    .product-price {
        display: flex
    }

    .product-price-info {
        border-right: 1px solid;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-right: 2rem
    }

    .product-price-details {
        padding-left: 2rem
    }
}

@media (max-width:62.719rem) {
    .product-hero-thumbnail {
        aspect-ratio: 16/9;
        position: relative;
        width: 100%
    }

    .product-hero-actions {
        gap: 1px;
        overflow: auto;
        white-space: nowrap;
        width: 100%
    }

    .product-hero-actions-item {
        min-width: 100px
    }

    .product-wrapper {
        flex-direction: column;
        margin-top: 80px
    }

    .product-sidebar-header {
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-top: -1rem
    }

    .product-section--centered,
    .product-sidebar-title {
        text-align: center
    }

    .product-section--centered .product-section-header {
        justify-content: center
    }

    .product-content {
        margin-top: 60px
    }

    .product-features {
        --per-row: 3
    }

    .product-price-info {
        margin-bottom: 1rem
    }

    .product-ctas {
        --per-row: 1
    }

    .product-surroundings {
        --per-row: 2
    }
}

@media (max-width:47.96875rem) {
    .product-actions-list {
        flex-direction: column
    }
}

.product-go-back {
    align-items: center;
    display: flex;
    font-weight: 300;
    gap: .5em
}

.product-go-back .icon {
    font-size: .6em;
    margin-top: .2em
}

@media (min-width:62.719rem) {
    .product-go-back {
        justify-self: flex-end
    }
}

.simulator {
    background-color: #fff;
    padding-inline: 1.5rem;
    text-align: center
}

.simulator-content {
    margin-inline: auto;
    max-width: 35rem;
    padding-block: 1.5rem 1.5rem
}

.simulator-title {
    margin-bottom: .5rem
}

.simulator-wrapper {
    display: grid;
    gap: 2rem var(--wrapper-gutter);
    margin-top: 5rem
}

.simulator-col {
    --per-row: 2;
    --gap: 2rem;
    display: grid;
    gap: var(--gap);
    overflow: hidden;
    text-align: left
}

.simulator-label {
    font-size: .625rem;
    letter-spacing: .2em;
    text-transform: uppercase
}

.simulator-field {
    position: relative
}

.simulator-results {
    align-items: center;
    aspect-ratio: 1/.95;
    display: flex;
    flex-direction: column;
    isolation: isolate;
    justify-content: center;
    position: relative;
    text-align: center;
    width: 100%
}

.simulator-results-background {
    fill: #e5dcd6;
    display: block;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: -1
}

.simulator-results-label {
    font-size: .75rem;
    font-weight: 300
}

.simulator-price {
    margin-top: .5rem;
    white-space: nowrap
}

.simulator-info {
    font-size: .75rem;
    font-weight: 300
}

.simulator-footer {
    align-items: center;
    border-top: 1px solid #e5dcd6;
    display: flex;
    flex-direction: column;
    font-size: 1.25rem;
    gap: 2rem;
    justify-content: center;
    margin-inline: -1.5rem;
    padding: 2.5rem 1.5rem;
    width: calc(100% + 3rem)
}

@media (min-width:47.96875rem) {
    .simulator-wrapper {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:47.96875rem) {
    .simulator-wrapper {
        grid-template-columns: 100%
    }

    .simulator-results {
        margin-inline: auto;
        max-width: 200px
    }
}

.virtual-tour {
    aspect-ratio: 1/.55
}

.plans {
    aspect-ratio: 1/.46;
    background-color: #fff;
    width: 100%
}

.product-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

.product-tabs-nav-item {
    display: contents
}

.product-tabs-nav-button--active {
    color: var(--hover-color)
}

.product-tabs-nav-button--active:after {
    transform: scaleY(1)
}

.product-tabs-content {
    --active-index: 0;
    margin-inline: calc(var(--wrapper-gutter)*-1);
    overflow: hidden;
    width: calc(100% + var(--wrapper-gutter)*2)
}

.product-tabs-content-wrapper {
    align-items: flex-start;
    display: flex;
    transform: translateX(calc(var(--active-index)*-1*100%));
    transition: transform .65s cubic-bezier(.25, 1, .5, 1)
}

.product-tabs-content-item {
    min-width: 100%;
    width: 100%
}

.product-tabs-content-inner {
    display: none;
    padding-inline: var(--wrapper-gutter)
}

.product-hero.has-search-history-back {
    margin-top: 1.5rem
}

.agencies {
    --padding-bottom: calc(var(--section-margin)/2)
}

.agencies-map {
    height: calc(100vh - var(--header-height));
    position: relative;
    width: 100%
}

.agencies-map-container {
    background-color: #fff;
    inset: 0;
    position: absolute
}

.agencies-map-controls {
    align-items: flex-start;
    display: flex;
    gap: .5rem;
    padding: 1rem;
    pointer-events: none;
    position: relative;
    z-index: 1
}

.agencies-map-button {
    align-items: center;
    aspect-ratio: 1/1;
    background-color: #000;
    border-radius: 100%;
    color: #fff;
    display: flex;
    font-size: .625rem;
    justify-content: center;
    pointer-events: all;
    width: 2.5rem
}

.agencies-details {
    background-color: rgba(0, 0, 0, .65);
    display: flex;
    inset: 0;
    opacity: 0;
    overflow: auto;
    padding: var(--wrapper-gutter);
    position: fixed;
    transition: opacity .5s ease;
    z-index: 999
}

.agencies-details.opened {
    opacity: 1
}

.agencies-details.loading:after {
    animation: spin 1s linear infinite;
    aspect-ratio: 1/1;
    border: 3px solid #fff;
    border-radius: 100%;
    border-top-color: transparent;
    content: "";
    display: block;
    position: absolute;
    right: calc(50% - 1.25rem);
    top: calc(50% - 1.25rem);
    width: 2.5rem
}

.agencies-details-inner {
    margin: auto
}

.agency-hero {
    margin-top: 1.5rem
}

.agency-hero-video {
    background-color: #e5dcd6
}

.agency-hero-card {
    max-width: 46rem
}

.agency-hero-content {
    background-color: var(--primary-color);
    color: var(--primary-accent);
    padding: 2.5rem min(var(--wrapper-gutter), 3.5rem)
}

.agency-hero-access {
    margin-top: 1.5rem
}

.agency-hero-access-item {
    position: relative
}

@media (max-width:31.21875rem) {
    .agency-hero-access-item > a {
        padding-top: .5rem;
        width: 100%
    }
}

.agency-hero-address,
.agency-hero-opened {
    margin-bottom: 1em
}

.agency-hero-opened {
    align-items: center;
    display: flex;
    gap: .5rem
}

.agency-hero-opened:before {
    background-color: currentColor;
    border-radius: 100%;
    content: "";
    display: block;
    height: .4em;
    width: .4em
}

.agency-hero-hours {
    background-color: var(--primary-color);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    left: calc(min(var(--wrapper-gutter), 3.5rem)*-1);
    padding: 2rem min(var(--wrapper-gutter), 3.5rem);
    position: absolute;
    top: 100%;
    transition: -webkit-clip-path .45s cubic-bezier(.785, .135, .15, .86);
    transition: clip-path .45s cubic-bezier(.785, .135, .15, .86);
    transition: clip-path .45s cubic-bezier(.785, .135, .15, .86), -webkit-clip-path .45s cubic-bezier(.785, .135, .15, .86);
    width: calc(100% + min(var(--wrapper-gutter), 3.5rem)*2)
}

[aria-expanded=true] + .agency-hero-hours {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.agency-hero-hours table {
    table-layout: fixed;
    width: 100%
}

.agency-hero-hours table th {
    font-weight: inherit;
    padding-right: .5rem
}

.agency-hero-info {
    background-color: #fff;
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(var(--per-row, 4), 1fr);
    overflow: hidden
}

.agency-hero-info-item {
    box-shadow: 0 0 0 1px #e5dcd6;
    display: flex
}

.agency-hero-info-link {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 1rem;
    width: 100%
}

.agency-hero-info-icon {
    font-size: 1.5rem
}

.agency-hero-reviews {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 1rem;
    width: 100%
}

.agency-hero-reviews-source {
    display: block;
    height: auto;
    max-height: 1.875rem;
    max-width: 100%;
    width: auto
}

.agency-hero-reviews-link {
    font-size: 1rem;
    text-decoration: underline
}

@media (min-width:62.719rem) {
    .agency-hero {
        align-items: flex-end;
        aspect-ratio: 1/.5;
        display: flex;
        padding: 2.5rem var(--wrapper-gutter);
        position: relative;
        z-index: 101
    }

    .agency-hero-video {
        inset: 0;
        position: absolute;
        z-index: -1
    }

    .agency-hero-access {
        display: flex;
        gap: calc(min(var(--wrapper-gutter), 3.5rem)*2)
    }

    .agency-hero-access-item {
        flex: 1
    }

    .agency-hero-access-item:not(:last-child) {
        position: relative
    }

    .agency-hero-access-item:not(:last-child):after {
        background-color: currentColor;
        content: "";
        display: block;
        height: 100%;
        left: calc(100% + min(var(--wrapper-gutter), 3.5rem));
        position: absolute;
        top: 0;
        width: 1px
    }
}

@media (max-width:62.719rem) {
    .agency-hero-video {
        aspect-ratio: 16/9
    }

    .agency-hero-card {
        margin-top: -1px;
        max-width: unset;
        position: relative
    }

    .agency-hero-access-item:not(:last-child) {
        border-bottom: 1px solid;
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem
    }

    .agency-hero-info {
        --per-row: 2;
        border-bottom: 1px solid #e5dcd6
    }
}

.recruitment {
    overflow: hidden
}

.recruitment .breadcrumbs {
    opacity: 0
}

.recruitment-hero {
    display: flex;
    flex-direction: column-reverse
}

.cms .recruitment h1,
.recruitment .cms,
.recruitment .cms h1,
.recruitment .title-xxl {
    opacity: 0
}

.cms .recruitment h1,
.recruitment .cms h1,
.recruitment .title-xxl {
    transform: translateY(100%)
}

.recruitment-networks {
    align-items: center;
    align-self: flex-end;
    background-color: var(--primary-color);
    color: var(--primary-accent);
    display: inline-flex;
    gap: .75rem;
    padding: 1rem
}

.recruitment-networks:not(.recruitment-networks--small) {
    opacity: 0
}

.recruitment-networks--small {
    position: absolute;
    right: 0;
    top: 100%
}

.recruitment-networks--small a {
    display: block;
    padding: .25rem
}

.recruitment-networks-label {
    font-size: .625rem;
    text-transform: uppercase
}

.recruitment-networks-list {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-inline: auto
}

.recruitment-networks-logo {
    display: block;
    height: auto;
    max-height: 40px;
    max-width: 72px;
    width: auto
}

.recruitment-gallery {
    display: grid;
    gap: 1.5rem;
    grid-template-rows: repeat(10, 1fr)
}

.recruitment-gallery-item {
    align-items: center;
    background-color: #fff;
    display: flex;
    isolation: isolate;
    justify-content: center;
    opacity: 0;
    position: relative
}

.recruitment-gallery-item:nth-child(4) {
    aspect-ratio: 1/.9;
    -webkit-clip-path: polygon(calc(0% - var(--deltaX, 0px)) calc(0% - var(--deltaY, 0px)), calc(100% + var(--deltaX, 0px)) calc(0% - var(--deltaY, 0px)), calc(100% + var(--deltaX, 0px)) calc(100% + var(--deltaY, 0px)), calc(0% - var(--deltaX, 0px)) calc(100% + var(--deltaY, 0px)));
    clip-path: polygon(calc(0% - var(--deltaX, 0px)) calc(0% - var(--deltaY, 0px)), calc(100% + var(--deltaX, 0px)) calc(0% - var(--deltaY, 0px)), calc(100% + var(--deltaX, 0px)) calc(100% + var(--deltaY, 0px)), calc(0% - var(--deltaX, 0px)) calc(100% + var(--deltaY, 0px)))
}

.recruitment-gallery-video {
    align-items: center;
    display: flex;
    justify-content: center;
    pointer-events: none;
    position: absolute;
    z-index: -1
}

.recruitment-gallery-video .video-wrapper {
    min-height: 100%
}

.recruitment-gallery-button {
    opacity: 0;
    pointer-events: none
}

@media (min-width:62.719rem) {
    .recruitment {
        min-height: 100vh
    }

    .recruitment .section-header {
        margin-top: 1vw;
        margin-inline: auto;
        max-width: 50vw
    }

    .recruitment .section-header > .cms {
        margin-bottom: 1vw
    }

    .recruitment-networks:not(.recruitment-networks--small) {
        margin-block: -1.5rem -1rem
    }

    .recruitment-gallery {
        grid-template-columns: 17fr 19fr 28fr 19fr 17fr
    }

    .recruitment-gallery-item:first-child,
    .recruitment-gallery-item:last-child {
        grid-row: 3/9;
        z-index: 1
    }

    .recruitment-gallery-item:first-child {
        grid-column: 1
    }

    .recruitment-gallery-item:last-child {
        grid-column: 5
    }

    .recruitment-gallery-item:nth-child(2),
    .recruitment-gallery-item:nth-child(3),
    .recruitment-gallery-item:nth-child(5),
    .recruitment-gallery-item:nth-child(6) {
        z-index: 2
    }

    .recruitment-gallery-item:nth-child(2),
    .recruitment-gallery-item:nth-child(3) {
        grid-column: 2
    }

    .recruitment-gallery-item:nth-child(5),
    .recruitment-gallery-item:nth-child(6) {
        grid-column: 4
    }

    .recruitment-gallery-item:nth-child(2),
    .recruitment-gallery-item:nth-child(5) {
        grid-row: 1/6
    }

    .recruitment-gallery-item:nth-child(3),
    .recruitment-gallery-item:nth-child(6) {
        grid-row: 6/10
    }

    .recruitment-gallery-item:nth-child(4) {
        grid-column: 3;
        grid-row: 1/-1;
        margin-top: 1.5rem;
        z-index: 3
    }

    .recruitment-gallery-video {
        height: 100vh;
        left: calc(50% - 50vw);
        top: calc(50% - 50vh);
        width: 100vw
    }

    .recruitment-gallery-video .video-wrapper {
        min-width: 100%
    }
}

@media (max-width:62.719rem) {
    .recruitment-hero {
        flex-direction: column
    }

    .recruitment-networks:not(.recruitment-networks--small) {
        margin-top: 1.5rem;
        width: 100%
    }

    .recruitment-networks--small {
        display: none
    }

    .recruitment-gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        margin-top: 2rem
    }

    .recruitment-gallery-item:not(:nth-child(4)) {
        display: none
    }

    .recruitment-gallery-item:nth-child(4) {
        aspect-ratio: 16/9;
        grid-column: 1/-1;
        grid-row: 1/6;
        margin-inline: var(--wrapper-gutter)
    }

    .recruitment-gallery-video {
        height: 100%;
        left: 0;
        top: 0;
        width: 100%
    }

    .recruitment-gallery-video .video-wrapper {
        overflow: visible
    }
}

.join {
    display: grid;
    gap: var(--section-margin) var(--wrapper-gutter)
}

.join-title {
    margin-bottom: 1rem
}

.join-steps {
    display: grid
}

.join-steps-item {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    padding-block: min(40px, var(--section-margin)/2)
}

.join-steps-number {
    align-items: center;
    color: #cacaca;
    display: flex;
    font-family: "Noto Serif Display", serif;
    font-size: 1.875rem;
    height: 4rem;
    isolation: isolate;
    justify-content: center;
    min-width: 4rem;
    position: relative;
    transition: color .2s ease;
    width: 4rem
}

.join-steps-number-background {
    stroke: #cacaca;
    fill: var(--background);
    inset: 0;
    position: absolute;
    transition: stroke .2s ease, fill .2s ease;
    z-index: -1
}

.join-steps-item--highlighted .join-steps-number {
    color: #000
}

.join-steps-item--highlighted .join-steps-number-background {
    stroke: #e3ddd7;
    fill: #e3ddd7
}

.join-offers {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.join-offers[data-loading] {
    position: relative
}

.join-offers[data-loading]:before {
    background-color: var(--background);
    content: "";
    display: block;
    inset: -1.5rem 0 0 0;
    opacity: .9;
    position: absolute;
    z-index: 9
}

.join-offers[data-loading]:after {
    animation: spin 1s linear infinite;
    aspect-ratio: 1/1;
    border: 3px solid;
    border-radius: 100%;
    border-top: 3px solid transparent;
    content: "";
    display: block;
    position: absolute;
    right: calc(50% - 1.25rem);
    top: calc(50% - 1.25rem);
    width: 2.5rem;
    z-index: 9
}

.join-offers-list {
    display: grid;
    gap: 1.5rem;
    width: 100%
}

@media (min-width:62.719rem) {
    .join {
        grid-template-columns: 1fr 1fr
    }

    .join-col-wrapper {
        padding-right: var(--wrapper-gutter);
        width: 100%
    }

    .join-col-body {
        display: flex;
        max-height: calc(var(--viewport-height, 100vh) - 250px);
        width: calc(100% + var(--wrapper-gutter))
    }

    .join-col-body .scroller-wrapper {
        padding-right: var(--wrapper-gutter)
    }

    .join-steps {
        isolation: isolate;
        margin-top: calc(min(40px, var(--section-margin) / 2) - 1rem);
        position: relative
    }

    .join-steps:before {
        background-color: #cacaca;
        bottom: min(40px, var(--section-margin)/2);
        content: "";
        display: block;
        left: 2rem;
        position: absolute;
        top: min(40px, var(--section-margin)/2);
        width: 1px;
        z-index: -1
    }
}

@media (max-width:62.719rem) {
    .join {
        grid-template-columns: 100%
    }

    .join-title {
        text-align: center
    }

    .join-steps {
        margin-top: min(80px, var(--section-margin))
    }

    .join-steps-item {
        flex-direction: column;
        text-align: center
    }
}

.estimate-form-section .autocomplete-suggestions {
    border: 1px solid;
    border-top: 0;
    max-height: 15rem;
    padding-top: .625rem
}

@media (max-width:62.719rem) {
    .estimate-form-section {
        padding: 0 2.125rem
    }

    .estimate-form-group {
        gap: 1rem
    }
}

.estimate-form-legal {
    font-size: .75rem
}

.estimate-choice-icon,
.estimate-icon {
    aspect-ratio: 1/1;
    display: block;
    margin-inline: auto;
    max-width: 120px;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.estimate-choice-icon:not(:last-child),
.estimate-icon:not(:last-child) {
    margin-bottom: 2rem
}

.estimate-label {
    font-weight: 400;
    text-align: center;
    text-transform: uppercase
}

.estimate-label:not(:last-child) {
    margin-bottom: 1rem
}

.estimate-choice-icon + .estimate-label,
.estimate-icon + .estimate-label {
    margin-top: -1rem
}

.estimate-choice {
    cursor: pointer;
    display: block;
    position: relative;
    width: 100%
}

@media (max-width:62.719rem) {

    .estimate-choice-appartment img,
    .estimate-choice-house img {
        height: auto;
        max-width: 120px
    }

    .estimate-choice-appartment .estimate-choice-wrapper,
    .estimate-choice-house .estimate-choice-wrapper {
        padding: 3.75rem 1.5rem
    }
}

.estimate-choice ~ [data-if] {
    margin-top: 1rem
}

.estimate-choice ~ [data-if] input[type=text] {
    font-size: .75rem;
    padding-block: .4rem
}

.estimate-choice ~ [data-if] input[type=text]::-moz-placeholder {
    font-size: .75rem;
    opacity: .4;
    padding-block: .4rem
}

.estimate-choice ~ [data-if] .form-unit,
.estimate-choice ~ [data-if] input[type=text]::placeholder {
    font-size: .75rem;
    opacity: .4;
    padding-block: .4rem
}

@media (max-width:62.719rem) {
    .estimate-choice--small {
        flex: 1
    }
}

.estimate-choice--small .estimate-choice-wrapper {
    font-weight: 600;
    letter-spacing: .1em;
    padding: .5rem min(var(--wrapper-gutter), 3rem);
    text-transform: uppercase
}

.estimate-choice-input {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0
}

.estimate-choice-wrapper {
    align-items: center;
    border: 1px solid;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    padding: 1.5rem;
    transition: background-color .2s ease
}

.estimate-choice-wrapper--lg {
    padding: 2.563rem 1.5rem
}

.estimate-choice-icon {
    transition: filter .2s ease
}

.estimate-choice-icon:not(:last-child) {
    margin-bottom: 0
}

.estimate-choice-label {
    font-size: .75rem
}

.estimate-choice--selected .estimate-choice-wrapper,
.estimate-choice-input:checked + .estimate-choice-wrapper {
    background-color: var(--secondary-color)
}

.estimate-choice--selected .estimate-choice-wrapper .estimate-choice-icon,
.estimate-choice-input:checked + .estimate-choice-wrapper .estimate-choice-icon {
    filter: var(--icon-filter)
}

.estimate-cta {
    margin-top: 3rem
}

.estimate-cta-wrapper {
    display: flex
}

.estimate-cta-item {
    display: grid;
    gap: 2rem 1rem;
    padding: 2rem min(2rem, var(--wrapper-gutter));
    position: relative
}

.estimate-cta-item:first-child {
    background-color: var(--primary-color);
    color: var(--secondary-color)
}

.estimate-cta-item:last-child {
    background-color: var(--secondary-color);
    color: var(--primary-color)
}

.estimate-cta-item:last-child .estimate-cta-image {
    margin-bottom: -2rem
}

.estimate-cta-item:last-child .estimate-cta-image img {
    margin-bottom: 0
}

.estimate-cta-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center
}

.estimate-cta-title {
    margin-bottom: 1rem;
    margin-top: auto
}

.estimate-cta-text {
    font-size: .9rem;
    margin-bottom: 1.5rem
}

.estimate-cta-link {
    margin-top: auto
}

.estimate-cta-background {
    fill: currentColor;
    width: 100%
}

@media (min-width:62.719rem) {
    .estimate-cta-item {
        aspect-ratio: 1/.75;
        flex: 1;
        grid-template-columns: 1.2fr 1fr
    }

    .estimate-cta-item:last-child .estimate-cta-image {
        margin-right: max(-1rem, -.5 * var(--wrapper-gutter));
        margin-top: -1rem
    }

    .estimate-cta-content {
        margin-block: 2.5rem
    }
}

@media (max-width:62.719rem) {
    .estimate-cta-wrapper {
        flex-direction: column
    }

    .estimate-cta-item {
        grid-template-columns: 100%;
        width: 100%
    }

    .estimate-cta-image {
        aspect-ratio: 1/1.8;
        margin-inline: auto;
        max-width: 240px;
        width: 100%
    }
}

@media (max-width:79.96875rem) {

    .estimate-cta-image.media-contain img,
    .estimate-cta-image.media-contain video {
        position: absolute
    }
}

.estimation-results {
    background-color: #fff;
    padding-block: 3rem;
    text-align: center
}

.estimation-results-tags ul {
    align-items: center;
    display: flex;
    gap: 1rem
}

.estimation-results-notice {
    font-size: .75rem
}

.estimation-results-prices {
    align-items: flex-start;
    display: flex;
    justify-content: center
}

.estimation-results-price {
    align-items: center;
    aspect-ratio: 1/.95;
    display: flex;
    flex-direction: column;
    isolation: isolate;
    justify-content: center;
    padding-inline: 3rem;
    position: relative;
    text-align: center
}

.estimation-results-price--high {
    color: var(--secondary-color)
}

.estimation-results-price--high .estimation-results-price-background {
    fill: var(--primary-color)
}

.estimation-results-price--average {
    color: var(--primary-color);
    margin-right: -2rem;
    margin-top: 3rem;
    z-index: 1
}

.estimation-results-price--average .estimation-results-price-background {
    fill: var(--secondary-color)
}

.estimation-results-price-background {
    display: block;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: -1
}

.estimation-results-price-inner {
    font-family: "Noto Serif Display", serif;
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.2;
    transition: transform .45s ease;
    white-space: nowrap
}

.estimation-results-price-inner:after {
    content: "*";
    font-size: 40%;
    padding: 0 .3rem;
    position: absolute
}

.estimation-results-price:hover .estimation-results-price-inner {
    transform: scale(1.1)
}

.estimation-results-quality {
    font-size: 1rem
}

.estimation-results-quality span {
    color: #a5644b;
    display: block;
    font-weight: 400;
    padding-top: .5rem
}

.estimation-results-actions {
    align-items: center;
    display: flex;
    gap: .625rem;
    justify-content: center
}

@media (min-width:47.96875rem) {
    .estimation-results-tags {
        margin-inline: auto;
        max-width: 32rem
    }

    .estimation-results-tags ul {
        flex-wrap: wrap;
        justify-content: center
    }
}

@media (max-width:47.96875rem) {

    .estimation-results,
    .estimation-results-tags {
        margin-left: calc(var(--wrapper-gutter)*-1);
        width: calc(100% + var(--wrapper-gutter)*2)
    }

    .estimation-results-tags {
        display: flex;
        margin-bottom: -1rem;
        overflow: auto;
        padding-bottom: 1rem;
        white-space: nowrap
    }

    .estimation-results-tags ul:after,
    .estimation-results-tags ul:before {
        content: ""
    }

    .estimation-results-prices {
        margin-left: calc(var(--wrapper-gutter)*-1);
        width: calc(100% + var(--wrapper-gutter)*2)
    }

    .estimation-results-price-inner {
        font-size: 1.75rem
    }
}

.error-404 {
    align-items: center;
    color: var(--primary-color);
    display: flex;
    font-family: "Noto Serif Display", serif;
    font-size: min(50vw, 300px);
    justify-content: center;
    line-height: 1;
    margin-block: 1rem 2rem
}

.error-404-logo {
    aspect-ratio: 1/1;
    display: block;
    width: .65em
}

.error-404-logo svg {
    display: block
}

.error-404-logo svg path {
    fill: currentColor
}

.newsletter {
    background-image: url(images/app-newsletter-logo.8bf18ef2.svg);
    background-position: 100% 0;
    background-repeat: no-repeat;
    font-size: .625rem;
    position: relative
}

@media (max-width:540px) {
    .newsletter {
        background-position: 100% 150px;
        background-size: 50%
    }
}

.newsletter header {
    text-align: center
}

.newsletter-title {
    font-size: .625rem;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 1.25rem;
    text-transform: uppercase
}

.newsletter-email input {
    background-color: transparent;
    border: none;
    color: rgba(0, 0, 0, .5);
    font-family: "Noto Serif Display", serif;
    font-size: clamp(2rem, 12vw, 3.25rem);
    font-weight: 400;
    text-align: center;
    width: 50%
}

.newsletter-email input::-moz-placeholder {
    color: rgba(0, 0, 0, .5)
}

.newsletter-email input::placeholder {
    color: rgba(0, 0, 0, .5)
}

@media (max-width:47.96875rem) {
    .newsletter-email input {
        width: 100%
    }
}

.newsletter-checkboxes {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1em;
    justify-content: center;
    margin-block: 1.25rem
}

.newsletter-text {
    margin-top: 3.5rem
}

@media (min-width:47.96875rem) {
    .newsletter-text {
        display: flex;
        gap: var(--wrapper-gutter)
    }

    .newsletter-text-col {
        flex: 1
    }

    .newsletter-text-col:not(:first-child) {
        position: relative
    }

    .newsletter-text-col:not(:first-child):before {
        content: "";
        display: block;
        height: 100%;
        position: absolute;
        right: calc(100% + var(--wrapper-gutter)/2);
        top: 0;
        width: 1px
    }
}

@media (max-width:47.96875rem) {
    .newsletter-text {
        text-align: center
    }

    .newsletter-text-col:not(:first-child) {
        margin-top: 2rem
    }
}

.bicolor__text {
    font-size: 80px;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1
}

.bicolor__text .split__word {
    white-space: nowrap
}

@media (max-width:79.96875rem) {
    .bicolor__text {
        display: none
    }
}

.a__grid {
    display: grid;
    gap: 45px;
    grid-template-columns: minmax(0, 360px) minmax(0, 360px) minmax(0, 360px);
    justify-content: center
}

@media (max-width:79.96875rem) {
    .a__grid {
        display: none
    }
}

@media (min-width:47.96875rem) and (max-width:62.719rem) {
    .a__grid {
        gap: 20px
    }
}

@media (max-width:79.96875rem) {
    .a__grid .line__separator {
        display: none
    }
}

.a__grid-column:first-child .bicolor__text {
    left: -40px;
    right: auto
}

.a__grid-column:first-child .image {
    z-index: 2
}

.a__grid-column:nth-child(2) {
    z-index: 1
}

.a__grid-column:nth-child(2) .image {
    z-index: 2
}

.a__grid-column:nth-child(3) .bicolor__text {
    left: auto;
    right: -40px
}

.a__grid-column:nth-child(3) .image {
    z-index: 2
}

.a__grid-item {
    aspect-ratio: 1/1.25;
    position: relative;
    transition-delay: .2;
    transition: opacity .5s ease
}

.a__grid-item + .a__grid-item {
    margin-top: 45px
}

@media (max-width:47.96875rem) {
    .a__grid-item + .a__grid-item {
        margin-top: 10px
    }
}

@media (min-width:47.96875rem) and (max-width:62.719rem) {
    .a__grid-item + .a__grid-item {
        margin-top: 20px
    }
}

.a__grid-img,
.a__grid-img:after {
    inset: 0;
    position: absolute
}

.a__grid-img:after {
    background-color: rgba(0, 0, 0, .3);
    content: "";
    opacity: 0;
    transition: opacity .3s ease
}

.a__grid-img .bicolor__text {
    z-index: 1
}

.a__grid-item:hover .a__grid-img:after {
    opacity: 1
}

.a__grid.hover .a__grid-item:not(:hover) {
    opacity: .1;
    transition-delay: 0
}

.a__grid .bicolor__text {
    opacity: 0
}

.a__grid-item:hover .bicolor__text {
    opacity: 1
}

.grid__slider {
    --per-view: 3.1;
    --gap: 1.5rem
}

@media (max-width:62.719rem) {
    .grid__slider {
        --per-view: 2.1
    }
}

@media (max-width:47.96875rem) {
    .grid__slider {
        --per-view: 1.1
    }
}

@media (min-width:79.96875rem) {
    .grid__slider {
        display: none
    }
}

.slide__grid {
    width: 100%
}

.slide__grid-img {
    aspect-ratio: 1/1;
    position: relative
}

.slide__grid-text {
    margin-top: 30px;
    text-align: center
}

.slideshow .slider {
    position: relative
}

.slideshow .slider-item {
    background-color: #e5dcd6
}

.slideshow-arrow {
    position: absolute;
    top: calc(50% - 1.25rem);
    z-index: 9
}

.slideshow-arrow.slider-arrow--prev {
    left: min(1.5rem, var(--wrapper-gutter))
}

.slideshow-arrow.slider-arrow--next {
    right: min(1.5rem, var(--wrapper-gutter))
}

@media (min-width:62.719rem) {
    .slideshow {
        --gap: 1.5rem
    }

    .slideshow .slider {
        position: relative
    }

    .slideshow .slider-item {
        aspect-ratio: 1/.52
    }
}

@media (max-width:62.719rem) {
    .slideshow {
        --gap: var(--wrapper-gutter)
    }

    .slideshow .slider-item {
        aspect-ratio: 1/.58
    }
}

.products-slider {
    --per-view: 3.25;
    --gap: 1.5rem;
    overflow: hidden
}

.products-slider[style] {
    background-size: cover;
    color: #fff;
    isolation: isolate;
    position: relative
}

.products-slider[style]:before {
    background-color: rgba(0, 0, 0, .4);
    content: "";
    display: block;
    inset: 0;
    position: absolute;
    z-index: -1
}

.products-slider .tabs {
    margin-top: 1rem
}

.products-slider .views {
    margin-top: 2rem
}

.products-slider-nav {
    display: flex;
    gap: 1rem 3.75rem;
    justify-content: center;
    margin-block: 2rem
}

.products-slider-nav-item {
    align-items: center;
    display: flex;
    justify-content: center
}

.products-slider-nav-item:not(:first-child) {
    position: relative
}

.products-slider-nav-item:not(:first-child):before {
    background-color: rgba(0, 0, 0, .2);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: calc(100% + 1.875rem);
    top: 0;
    width: 1px
}

.products-slider-nav-link {
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase
}

.products-slider-nav-link--active {
    font-weight: 700
}

.products-slider-tabs {
    display: flex;
    margin-inline: calc(var(--wrapper-gutter)*-1);
    transform: translateX(calc(var(--active-tab, 0)*-1*100%));
    transition: transform 1s ease;
    width: calc(100% + var(--wrapper-gutter)*2)
}

.products-slider-tabs-item {
    min-width: 100%;
    opacity: 0;
    padding-inline: var(--wrapper-gutter);
    transition: opacity 1s ease;
    width: 100%
}

.products-slider-tabs-item--active {
    opacity: 1
}

@media (max-width:62.719rem) {
    .products-slider {
        --per-view: 2
    }
}

@media (max-width:47.96875rem) {
    .products-slider {
        --per-view: 1
    }
}

.testimonials-slider {
    --per-view: 1.1;
    --gap: var(--wrapper-gutter);
    overflow: hidden
}

.testimonials-slider .tabs {
    margin-top: 1rem
}

.testimonials-slider .views {
    margin-top: 2rem
}

@media (max-width:62.719rem) {
    .testimonials-slider {
        --per-view: 1
    }
}

.blog-slider {
    --per-view: 2.35;
    --gap: calc(var(--wrapper-gutter)*2);
    overflow: hidden
}

@media (max-width:62.719rem) {
    .blog-slider {
        --per-view: 2
    }
}

@media (max-width:47.96875rem) {
    .blog-slider {
        --per-view: 1
    }
}

.reviews-slider {
    --per-view: 3;
    --gap: var(--wrapper-gutter)
}

.reviews-slider .section {
    overflow: hidden;
    padding-block: min(4rem, var(--section-margin));
    position: relative;
    z-index: 1
}

.reviews-slider-wrapper {
    margin-top: 70px;
    position: relative
}

.reviews-slider-item {
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease
}

.reviews-slider-item.swiper-slide-active {
    opacity: 1;
    pointer-events: all
}

@media (min-width:62.719rem) {
    .reviews-slider-item.swiper-slide-active + .reviews-slider-item + .reviews-slider-item {
        opacity: 1;
        pointer-events: all
    }
}

@media (max-width:62.719rem) {
    .reviews-slider {
        --per-view: 2
    }
}

@media (min-width:31.21875rem) {
    .reviews-slider-item.swiper-slide-active + .reviews-slider-item {
        opacity: 1;
        pointer-events: all
    }
}

@media (max-width:31.21875rem) {
    .reviews-slider {
        --per-view: 1
    }
}

.review-card {
    align-items: flex-start;
    display: flex;
    flex-direction: column
}

.review-card-header {
    display: flex;
    font-family: "Noto Serif Display", serif;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    width: 100%
}

.review-card-rating {
    align-items: center;
    display: flex
}

.review-card-body,
.review-card-logo {
    margin-bottom: 1.875rem
}

.review-card-link {
    margin-top: auto
}

.places-slider {
    --gap: 1.5rem;
    overflow: hidden
}

.places-slider .slider-item {
    opacity: 0;
    transition: opacity 1s ease
}

.places-slider .slider-item.swiper-slide-active,
.places-slider .slider-item.swiper-slide-active + .slider-item {
    opacity: 1
}

.places-slider .slider-controls {
    margin-top: 2.5rem
}

@media (min-width:79.96875rem) {
    .places-slider[data-per-view="2"] {
        --per-view: 2
    }

    .places-slider[data-per-view="2"][data-total-over="1"] .slider-controls {
        display: none
    }

    .places-slider[data-per-view="3"] {
        --per-view: 3
    }

    .places-slider[data-per-view="3"][data-total-over="2"] .slider-controls {
        display: none
    }

    .places-slider[data-per-view="3"] .slider-item.swiper-slide-active + .slider-item + .slider-item {
        opacity: 1
    }
}

@media (max-width:79.96875rem) {
    .places-slider {
        --per-view: 2
    }
}

@media (min-width:31.21875rem) and (max-width:79.96875rem) {
    .places-slider[data-total-over="1"] .slider-controls {
        display: none
    }
}

@media (max-width:31.21875rem) {
    .places-slider {
        --per-view: 1
    }

    .places-slider[data-total-over="0"] .slider-controls {
        display: none
    }

    .places-slider .slider-item.swiper-slide-active + .slider-item,
    .places-slider .slider-item.swiper-slide-active + .slider-item + .slider-item {
        opacity: 0
    }

    .places-slider .slider-controls {
        margin-top: 1.5rem
    }
}

.team {
    --per-row: 2;
    --gap: var(--wrapper-gutter)
}

@media (min-width:62.719rem) {
    .team-list {
        display: grid;
        gap: var(--gap);
        grid-template-columns: repeat(var(--per-row), 1fr);
        transform: none !important
    }

    .team-item--overflow {
        display: none
    }

    .team-show-more {
        display: block;
        margin-top: 3rem;
        margin-inline: auto;
        width: -moz-fit-content;
        width: fit-content
    }

    .team .slider-controls {
        display: none
    }
}

@media (max-width:62.719rem) {
    .team {
        --per-view: 2;
        --gap: 1.5rem
    }

    .team-list {
        display: flex;
        width: calc(100% + var(--gap))
    }

    .team-item {
        margin-right: var(--gap);
        min-width: calc(150%/var(--per-view) - var(--gap))
    }

    .team-item:last-child {
        margin-right: 1px
    }

    .team-show-more {
        display: none
    }

    .team .team-card {
        margin-inline: auto;
        max-width: 28rem
    }
}

@media (max-width:47.96875rem) {
    .team {
        --per-view: 1;
        --gap: 1.5rem
    }

    .team-list {
        display: flex;
        width: calc(100% + var(--gap))
    }

    .team-item {
        margin-right: var(--gap);
        min-width: calc(100%/var(--per-view) - var(--gap))
    }

    .team-item:last-child {
        margin-right: 1px
    }

    .team-show-more {
        display: none
    }

    .team .team-card {
        margin-inline: auto;
        max-width: 18rem
    }
}

.magazine {
    overflow: hidden;
    padding: 230px var(--wrapper-gutter);
    position: relative
}

.reviews-slider + .magazine {
    margin-top: -230px
}

.magazine__img {
    height: 120%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

.magazine__box {
    background-color: #72976d;
    color: #fff;
    margin: auto;
    max-width: 26.25rem;
    padding: clamp(30px, 5vw, 40px);
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 2
}

.magazine__box-time {
    font-size: .625rem;
    letter-spacing: .2em;
    text-transform: uppercase
}

.magazine__box-title {
    font-family: "Noto Serif Display", serif;
    font-size: 1.25rem;
    line-height: 1.4;
    margin-block: 1rem 1.5rem
}

.magazine__box-cover {
    display: block;
    margin-top: 1.25rem;
    width: 100%
}

.about-wrapper {
    flex-direction: column;
    gap: 2rem;
    text-align: center
}

.about-actions,
.about-wrapper {
    align-items: center;
    display: flex
}

.about-actions {
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    justify-content: center
}

.about-perks {
    --per-row: 4;
    --gap: 1.5rem 1rem
}

.about-perks:not(:first-child) {
    border-top: .5px solid;
    margin-top: min(var(--section-margin), 3.5rem);
    padding-top: min(var(--section-margin), 3.5rem)
}

.about-perks-item {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center
}

.about-perks-icon {
    display: block;
    height: 3.5rem;
    -o-object-fit: contain;
    object-fit: contain;
    width: 3.5rem
}

@media (min-width:62.719rem) {
    .about-perks-list {
        display: grid;
        gap: var(--gap);
        grid-template-columns: repeat(var(--per-row), 1fr);
        transform: none !important
    }

    .about-perks .slider-controls {
        display: none
    }
}

@media (max-width:62.719rem) {
    .about-perks {
        --per-view: 1;
        --gap: 1.5rem;
        padding-inline: 15%
    }

    .about-perks-list {
        display: flex;
        width: calc(100% + var(--gap))
    }

    .about-perks-item {
        margin-right: var(--gap);
        min-width: calc(100%/var(--per-view) - var(--gap))
    }

    .about-perks-item:last-child {
        margin-right: 1px
    }
}

.quote-text {
    font-style: italic;
    font-weight: 300;
    padding-inline: max(1.25em, 3rem);
    position: relative;
    text-align: center
}

@media (max-width:47.96875rem) {
    .quote-text {
        font-size: 1.75rem
    }
}

.quote-text:after,
.quote-text:before {
    aspect-ratio: 1/1;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: absolute;
    width: max(1em, 2rem)
}

.quote-text:before {
    background-image: url(images/quote-open.d139b383.svg);
    left: 0;
    top: 0
}

.quote-text:after {
    background-image: url(images/quote-close.240da0c2.svg);
    bottom: 0;
    right: 0
}

.quote-text[data-kira-item] .split__char {
    opacity: 0
}

.quote-text[data-kira-item]:after,
.quote-text[data-kira-item]:before {
    opacity: 0;
    transition: opacity .5s ease
}

.quote-text[data-kira-item].animation-complete:after,
.quote-text[data-kira-item].animation-complete:before {
    opacity: 1
}

@media (max-width:47.96875rem) {

    .quote-text[data-kira-item] .split__char,
    .quote-text[data-kira-item]:after,
    .quote-text[data-kira-item]:before {
        opacity: 1
    }
}

.quote-author {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    font-style: normal;
    margin-top: 2.5rem;
    text-align: right
}

.quote-author-location {
    text-transform: uppercase
}

@media (max-width:47.96875rem) {
    .quote-author-location {
        font-size: 1rem
    }
}

.mixed {
    align-items: center;
    display: grid;
    gap: 2rem var(--wrapper-gutter)
}

.mixed + .mixed {
    margin-top: var(--section-margin)
}

.mixed-gallery {
    display: flex;
    overflow: hidden;
    position: relative
}

.mixed-gallery-arrow {
    position: absolute;
    top: calc(50% - 1.25rem);
    z-index: 9
}

.mixed-gallery-arrow.slider-arrow--prev {
    left: 1.5rem
}

.mixed-gallery-arrow.slider-arrow--next {
    right: 1.5rem
}

@media (min-width:62.719rem) {
    .mixed {
        grid-template-columns: 1fr 1fr
    }

    .mixed--reverse .mixed-content {
        order: -1
    }

    .mixed-gallery,
    .mixed-image {
        aspect-ratio: 16/9
    }
}

@media (max-width:62.719rem) {
    .mixed-media {
        margin-left: calc(var(--wrapper-gutter)*-1);
        width: calc(100% + var(--wrapper-gutter)*2)
    }
}

.events {
    --col-size: 1.875rem;
    --gap: 1.5rem;
    overflow: hidden
}

.events-group,
.events-track {
    display: flex
}

.events-track:not(:first-child) {
    margin-top: var(--gap)
}

.events-track:first-child {
    --col-count: 15
}

.events-track:first-child .events-grid {
    grid-template-areas: "item-1 item-1 item-1 item-1 item-1 item-1 item-1 item-2 item-2 item-2 item-4 item-4 item-4 item-4 item-4""item-1 item-1 item-1 item-1 item-1 item-1 item-1 item-3 item-3 item-3 item-5 item-5 item-5 item-5 item-5"
}

.events-track:first-child .events-grid-item:first-child {
    aspect-ratio: 1/1.18
}

.events-track:nth-child(2) {
    --col-count: 20
}

.events-track:nth-child(2) .events-grid {
    grid-template-areas: "item-1 item-1 item-1 item-1 item-1 item-2 item-2 item-2 item-3 item-3 item-3 item-3 item-3 item-4 item-4 item-4 item-5 item-5 item-5 item-5 item-5"
}

.events-track:nth-child(2) .events-grid-item:nth-child(2) {
    aspect-ratio: 1/1.18
}

.events-group {
    transform: translateZ(0) translate(calc(var(--translation)*1%))
}

.events-grid {
    display: grid;
    gap: 1.5rem;
    min-width: calc(var(--col-count)*var(--col-size) + max(var(--col-count) - 1, 0)*var(--gap));
    overflow: hidden;
    padding-right: var(--gap)
}

.events-grid-item {
    align-items: center;
    display: flex;
    justify-content: center
}

.events-grid-item:first-child {
    grid-area: item-1
}

.events-grid-item:nth-child(2) {
    grid-area: item-2
}

.events-grid-item:nth-child(3) {
    grid-area: item-3
}

.events-grid-item:nth-child(4) {
    grid-area: item-4
}

.events-grid-item:nth-child(5) {
    grid-area: item-5
}

@media (max-width:79.96875rem) {
    .events-grid-item .icon-button--white {
        position: absolute;
        width: 100%
    }
}

.perks {
    --per-view: 4;
    --gap: min(2rem, var(--wrapper-gutter))
}

.perks-item {
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    text-align: center
}

.perks-icon {
    display: block;
    height: 6.5rem;
    -o-object-fit: contain;
    object-fit: contain;
    width: 3.5rem
}

.perks-item-fullwidth > .perks-icon {
    width: 100%
}

.perks-title {
    font-size: 1.75rem
}

@media (max-width:62.719rem) {
    .perks {
        --per-view: 2
    }
}

@media (min-width:31.21875rem) {
    .perks-list {
        flex-wrap: wrap;
        padding-right: var(--gap);
        row-gap: min(var(--section-margin), 80px);
        transform: none !important
    }

    .perks-item {
        margin-inline: auto
    }

    .perks-item:last-child {
        margin-right: auto
    }

    .perks .slider-controls {
        display: none
    }
}

@media (max-width:31.21875rem) {
    .perks {
        --per-view: 1
    }
}

.key-figures {
    --per-view: 4;
    --gap: min(2rem, var(--wrapper-gutter))
}

.key-figures-item {
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    text-align: center
}

.cms .key-figures-item h3,
.key-figures-item .cms h3,
.key-figures-item .title-lg {
    font-weight: 700
}

.cms .key-figures-item h3:not(:first-child),
.key-figures-item .cms h3:not(:first-child),
.key-figures-item .title-lg:not(:first-child) {
    margin-top: -.75rem
}

.cms .key-figures-item h3:not(:last-child),
.key-figures-item .cms h3:not(:last-child),
.key-figures-item .title-lg:not(:last-child) {
    margin-bottom: -.75rem
}

.key-figures-title {
    font-size: 3.0625rem
}

@media (max-width:62.719rem) {
    .key-figures {
        --per-view: 2
    }
}

@media (min-width:31.21875rem) {
    .key-figures-list {
        flex-wrap: wrap;
        row-gap: min(var(--section-margin), 80px);
        transform: none !important
    }

    .key-figures .slider-controls {
        display: none
    }
}

@media (max-width:31.21875rem) {
    .key-figures {
        --per-view: 1
    }
}

.hero {
    align-items: center;
    color: #fff;
    display: flex;
    min-height: calc(var(--viewport-height) - var(--header-height) - 160px);
    position: relative
}

#main > .hero:first-child {
    padding-top: var(--section-margin)
}

.hero .wrapper {
    position: static;
    width: 100%
}

.hero-content {
    align-items: flex-start;
    display: flex;
    flex-direction: column
}

.hero-title:not(:last-child) {
    margin-bottom: 2rem
}

.hero-text:not(:last-child) {
    margin-bottom: clamp(2.5rem, 3.5vw, 3.5rem)
}

.hero-links {
    align-items: center;
    display: flex;
    gap: 0 1.5rem
}

.hero-image {
    border-radius: 100vmax 100vmax 0 0
}

@media (min-width:62.719rem) {
    .hero {
        background-image: linear-gradient(90deg, #a5644b, #a5644b 65%, transparent 0, transparent)
    }

    .hero-content {
        min-height: 450px;
        width: 50%
    }

    .hero-links {
        align-items: flex-start;
        flex-direction: column
    }

    .hero-link:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .hero-image {
        border-radius: 100vmax 100vmax 0 0;
        bottom: 0;
        left: calc(50% + min(var(--wrapper-gutter), 2rem));
        position: absolute;
        right: max(var(--wrapper-gutter), (100vw - (var(--container-width) + 1rem))/2);
        top: min(var(--section-margin)/2, 2.5rem)
    }

    .hero-video {
        bottom: -4rem
    }
}

@media (max-width:62.719rem) {
    .hero {
        background-color: #a5644b
    }

    .hero-content {
        align-items: center;
        text-align: center
    }

    .hero-links {
        flex-wrap: wrap;
        justify-content: center
    }

    .hero-image {
        /*aspect-ratio: 1/1;*/
        margin-block: 2.5rem calc(var(--section-margin)*-3.1);
        margin-inline: calc(var(--wrapper-gutter)*-1);
        width: calc(100% + var(--wrapper-gutter)*2)
    }
}

@media (max-width:47.96875rem) {
    .hero-link {
        margin-bottom: 1rem
    }
}

#main > .hero-alt:first-child {
    padding-top: var(--section-margin)
}

.hero-alt .wrapper {
    width: 100%
}

.hero-alt-actions,
.hero-alt-content {
    max-width: 45rem;
    width: 100%
}

.hero-alt-content {
    background-color: var(--primary-color);
    color: var(--primary-accent);
    padding: min(var(--section-margin), 2.5rem) min(var(--wrapper-gutter), 2.5rem)
}

.hero-alt-title {
    font-size: clamp(1.75rem, 6vw, 2.2rem)
}

.hero-alt-title:not(:last-child) {
    margin-bottom: 1rem
}

.hero-alt-actions {
    background-color: #fff;
    gap: 1px;
    overflow: hidden
}

.hero-alt-link {
    align-items: center;
    box-shadow: 0 0 0 1px #e5dcd6;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 1rem
}

.hero-alt-link-icon {
    font-size: 1.5rem
}

@media (min-width:62.719rem) {
    .hero-alt {
        align-items: flex-end;
        aspect-ratio: 1/.5;
        display: flex;
        isolation: isolate;
        overflow: hidden;
        padding-block: 2.5rem;
        position: relative
    }

    .hero-alt-background {
        inset: 0;
        position: absolute;
        z-index: -1
    }

    .hero-alt-actions {
        display: flex
    }

    .hero-alt-link {
        flex: 1
    }
}

@media (max-width:62.719rem) {
    .hero-alt {
        padding-block: 0
    }

    .hero-alt-background {
        aspect-ratio: 16/9
    }

    .hero-alt .wrapper {
        padding: 0
    }

    .hero-alt-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.logos {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(var(--columns, 4), minmax(0, 1fr));
    grid-template-rows: repeat(var(--rows, 2), minmax(0, auto));
    margin-top: min(3.5rem, var(--section-margin))
}

.logos-item {
    animation: logo 4s steps(2, jump-none) infinite;
    background-color: #e5dcd6;
    display: flex;
    position: relative
}

.logos-link {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    padding: 1rem;
    width: 100%
}

.logos-image {
    aspect-ratio: 1/.4;
    display: block;
    max-width: 220px;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

@media (min-width:62.719rem) {
    .logos-item:nth-child(8n+1) {
        grid-column: 1;
        grid-row: 1
    }

    .logos-item:nth-child(8n+2) {
        grid-column: 2;
        grid-row: 2
    }

    .logos-item:nth-child(8n+3) {
        grid-column: 3;
        grid-row: 1
    }

    .logos-item:nth-child(8n+4) {
        grid-column: 4;
        grid-row: 2
    }

    .logos-item:nth-child(8n+5) {
        grid-column: 4;
        grid-row: 1
    }

    .logos-item:nth-child(8n+6) {
        grid-column: 3;
        grid-row: 2
    }

    .logos-item:nth-child(8n+7) {
        grid-column: 2;
        grid-row: 1
    }

    .logos-item:nth-child(8n+8) {
        grid-column: 1;
        grid-row: 2
    }
}

@media (max-width:62.719rem) {
    .logos {
        --columns: 2
    }

    .logos-item:nth-child(4n+1) {
        grid-column: 1;
        grid-row: 1
    }

    .logos-item:nth-child(4n+2) {
        grid-column: 2;
        grid-row: 2
    }

    .logos-item:nth-child(4n+3) {
        grid-column: 2;
        grid-row: 1
    }

    .logos-item:nth-child(4n+4) {
        grid-column: 1;
        grid-row: 2
    }
}

.steps {
    display: grid;
    gap: var(--section-margin) var(--wrapper-gutter);
    margin-top: min(3rem, var(--section-margin))
}

.steps-title {
    margin-bottom: 1rem
}

.steps-list {
    display: grid
}

.steps-item {
    gap: 1.5rem;
    padding-block: min(40px, var(--section-margin)/2)
}

.steps-item,
.steps-number {
    align-items: center;
    display: flex
}

.steps-number {
    color: #cacaca;
    font-family: "Noto Serif Display", serif;
    font-size: 1.875rem;
    height: 4rem;
    isolation: isolate;
    justify-content: center;
    min-width: 4rem;
    position: relative;
    transition: color .2s ease;
    width: 4rem
}

.steps-number-background {
    stroke: #cacaca;
    fill: var(--background);
    inset: 0;
    position: absolute;
    transition: stroke .2s ease, fill .2s ease;
    z-index: -1
}

.steps-subtitle {
    font-size: 1.25rem;
    font-weight: 600
}

.steps-text {
    opacity: .25;
    transition: opacity .2s ease
}

.steps-item--highlighted .steps-number {
    color: #000
}

.steps-item--highlighted .steps-number-background {
    stroke: #e5dcd6;
    fill: #e5dcd6
}

.steps-item--highlighted .steps-text {
    opacity: 1
}

@media (min-width:62.719rem) {
    .steps {
        grid-template-columns: 1fr 1fr
    }

    .steps-image {
        margin-left: calc(-1 * max((100vw - var(--container-width)) / 2, var(--wrapper-gutter)));
        width: calc(100% + max((100vw - var(--container-width)) / 2, var(--wrapper-gutter)))
    }

    .steps-body {
        display: flex;
        max-height: calc(var(--viewport-height, 100vh) - 250px);
        width: calc(100% + var(--wrapper-gutter))
    }

    .steps-body .scroller-wrapper {
        padding-right: var(--wrapper-gutter)
    }

    .steps-list {
        isolation: isolate;
        margin-top: calc(min(40px, var(--section-margin) / 2) - 1rem);
        position: relative
    }

    .steps-list:before {
        background-color: #cacaca;
        bottom: min(40px, var(--section-margin)/2);
        content: "";
        display: block;
        left: 2rem;
        position: absolute;
        top: min(40px, var(--section-margin)/2);
        width: 1px;
        z-index: -1
    }
}

@media (max-width:62.719rem) {
    .steps {
        grid-template-columns: 100%
    }

    .steps-title {
        text-align: center
    }

    .steps-list {
        margin-top: min(80px, var(--section-margin))
    }

    .steps-item {
        flex-direction: column;
        text-align: center
    }
}

.advantages {
    display: grid;
    font-size: 1rem;
    gap: var(--section-margin) var(--wrapper-gutter);
    padding-top: min(3rem, var(--section-margin))
}

.advantages-link {
    margin-top: min(3rem, var(--section-margin))
}

@media (min-width:62.719rem) {

    .advantages-content,
    .advantages-image {
        grid-row: 1
    }

    .advantages-image {
        aspect-ratio: 488/744
    }

    .advantages-content {
        padding-block: var(--section-margin) 0
    }

    .advantages--normal {
        grid-template-columns: 1fr 2fr
    }

    .advantages--normal .advantages-image {
        grid-column: 1;
        margin-left: calc(var(--wrapper-gutter)*-1)
    }

    .advantages--normal .advantages-content {
        grid-column: 2
    }

    .advantages--reverse {
        grid-template-columns: 2fr 1fr
    }

    .advantages--reverse .advantages-image {
        grid-column: 2;
        margin-right: calc(var(--wrapper-gutter)*-1)
    }

    .advantages--reverse .advantages-content {
        grid-column: 1
    }
}

@media (max-width:62.719rem) {
    .advantages {
        grid-template-columns: 100%
    }

    .advantages-image {
        aspect-ratio: 3/4
    }
}

.illustrated-key-figures {
    margin-top: min(3rem, var(--section-margin))
}

.illustrated-key-figures-item {
    display: flex;
    flex-direction: column;
    gap: .25rem
}

.illustrated-key-figures-image {
    aspect-ratio: var(--image-ratio, 1/1);
    width: 100%
}

.illustrated-key-figures-content {
    font-weight: 300
}

.illustrated-key-figures-subtitle,
.illustrated-key-figures-title {
    display: block
}

.illustrated-key-figures-title {
    font-family: "Noto Serif Display", serif;
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: .5px;
    line-height: 1.2
}

.illustrated-key-figures-subtitle {
    font-weight: 600;
    text-transform: uppercase
}

@media (min-width:62.719rem) {
    .illustrated-key-figures-list {
        align-items: flex-start;
        display: grid;
        gap: 24px;
        grid-template-columns: repeat(24, minmax(0, 1fr));
        transform: none !important
    }

    .illustrated-key-figures-item:first-child,
    .illustrated-key-figures-item:nth-child(4) {
        margin-left: calc(var(--wrapper-gutter)*-1);
        width: calc(100% + var(--wrapper-gutter))
    }

    .illustrated-key-figures-item:first-child,
    .illustrated-key-figures-item:nth-child(3),
    .illustrated-key-figures-item:nth-child(4),
    .illustrated-key-figures-item:nth-child(5) {
        text-align: right
    }

    .illustrated-key-figures-item:first-child,
    .illustrated-key-figures-item:nth-child(5),
    .illustrated-key-figures-item:nth-child(6) {
        --image-ratio: 4/3
    }

    .illustrated-key-figures-item:nth-child(3),
    .illustrated-key-figures-item:nth-child(4) {
        --image-ratio: 3/4
    }

    .illustrated-key-figures-item:nth-child(3),
    .illustrated-key-figures-item:nth-child(6) {
        flex-direction: column-reverse
    }

    .illustrated-key-figures-item:nth-child(4),
    .illustrated-key-figures-item:nth-child(6) {
        margin-top: -300px
    }

    .illustrated-key-figures-item:first-child {
        grid-column: 1/7;
        margin-top: 120px
    }

    .illustrated-key-figures-item:nth-child(2) {
        --image-ratio: 4/5;
        grid-column: 7/19
    }

    .illustrated-key-figures-item:nth-child(3) {
        grid-column: 20/-1;
        margin-top: 40px
    }

    .illustrated-key-figures-item:nth-child(4) {
        grid-column: 1/6
    }

    .illustrated-key-figures-item:nth-child(5) {
        grid-column: 10/16;
        margin-top: 16px
    }

    .illustrated-key-figures-item:nth-child(6) {
        grid-column: 19/-1;
        margin-right: calc(var(--wrapper-gutter)*-1);
        width: calc(100% + var(--wrapper-gutter))
    }

    .illustrated-key-figures-controls {
        display: none
    }
}

@media (max-width:62.719rem) {
    .illustrated-key-figures {
        --item-width: calc(80% - 0.5rem);
        position: relative
    }

    .illustrated-key-figures-list {
        display: flex;
        width: calc(100% + .5rem)
    }

    .illustrated-key-figures-item {
        margin-right: .5rem;
        min-width: var(--item-width)
    }

    .illustrated-key-figures-item:last-child {
        margin-right: 1px
    }

    .illustrated-key-figures-arrow {
        margin-top: calc(var(--item-width)/2);
        position: absolute;
        top: -1.25rem;
        z-index: 1
    }

    .illustrated-key-figures-arrow.slider-arrow--prev {
        left: calc(var(--wrapper-gutter)*-.5)
    }

    .illustrated-key-figures-arrow.slider-arrow--next {
        right: calc(var(--wrapper-gutter)*-.5)
    }
}

.values-wrapper {
    background-color: #e5dcd6;
    margin-bottom: calc(var(--section-margin)*-1);
    margin-top: min(3rem, var(--section-margin));
    padding: min(3rem, var(--section-margin)) var(--wrapper-gutter)
}

.values-list {
    align-items: center;
    display: flex;
    gap: min(3rem, var(--section-margin)) var(--wrapper-gutter);
    justify-content: space-evenly
}

.values-item {
    align-items: flex-start;
    display: flex;
    flex-direction: column
}

.values-item:nth-child(2) {
    --image-ratio: 1/1
}

.values-image {
    aspect-ratio: var(--image-ratio, 3/4);
    border-radius: 100vmax 100vmax 0 0;
    min-width: 100%
}

.values-image:not(:last-child) {
    margin-bottom: 2.5rem
}

.values-title:not(:last-child) {
    margin-bottom: 1.5rem
}

.values-text:not(:last-child) {
    margin-bottom: 2.5rem
}

.values-link:not(:last-child) {
    margin-bottom: 1.5rem
}

@media (min-width:62.719rem) {
    .values-item {
        flex: 1;
        max-width: calc(33.33333% - var(--wrapper-gutter)*2/3 + var(--wrapper-gutter))
    }

    .values-item:nth-child(2) .values-image {
        order: 1
    }

    .values-item:nth-child(2) .values-image:not(:last-child) {
        margin-bottom: 0;
        margin-top: 2.5rem
    }

    .values-item:first-child:nth-last-child(3) .values-image {
        margin-left: calc(var(--wrapper-gutter)*-1.5);
        width: calc(100% + var(--wrapper-gutter)*1.5)
    }

    .values-item:last-child:nth-child(3) .values-image {
        margin-right: calc(var(--wrapper-gutter)*-1.5);
        width: calc(100% + var(--wrapper-gutter)*1.5)
    }
}

@media (max-width:62.719rem) {
    .values-list {
        flex-wrap: wrap
    }

    .values-item {
        width: 100%
    }

    .values-item:first-child .values-image {
        margin-left: calc(var(--wrapper-gutter)*-2)
    }

    .values-item:last-child .values-image {
        margin-left: auto;
        margin-right: calc(var(--wrapper-gutter)*-2)
    }
}

.history {
    --container-width: 45rem;
    overflow: hidden
}

.history-wrapper {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    margin-top: min(3rem, var(--section-margin))
}

.history-item {
    display: grid;
    grid-column: 1/-1;
    grid-row: 1/-1;
    position: relative
}

.history-item-image {
    aspect-ratio: 1/1.43
}

.history-item-image,
.history-item-image img {
    transition: transform 1s cubic-bezier(.165, .84, .44, 1)
}

.history-item-image img {
    transform-origin: left
}

.history-item-year {
    align-self: flex-end;
    display: flex;
    font-family: "Noto Serif Display", serif;
    font-size: min(35vw, 200px);
    font-weight: 400;
    line-height: 1;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.history-item-year span {
    display: block;
    opacity: 0;
    text-align: center;
    transform: translateY(100%);
    transition: opacity .75s ease, transform .75s cubic-bezier(.165, .84, .44, 1)
}

.history-item-year span:first-child,
.history-item-year span:nth-child(2) {
    color: #fff
}

.history-item-text {
    opacity: 0;
    transition: opacity .5s ease
}

.history-item[data-active=true] {
    z-index: 1
}

.history-item[data-active=true] .history-item-image {
    transform: translateX(0)
}

.history-item[data-active=true] .history-item-image img {
    transform: scale(1)
}

.history-item[data-active=true] .history-item-year span {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .1s
}

.history-item[data-active=true] .history-item-text {
    opacity: 1;
    transition-delay: .25s
}

.history-item[data-active=true] ~ .history-item .history-item-year span {
    transform: translateY(-100%)
}

.history-arrow {
    align-items: center;
    display: flex;
    font-size: 2rem;
    justify-content: center;
    transition: opacity .2s ease;
    z-index: 2
}

.history-arrow:disabled {
    opacity: 0;
    pointer-events: none
}

@media (min-width:47.96875rem) {
    .history-item {
        align-items: center;
        grid-template-columns: 58fr 42fr
    }

    .history-item-image {
        grid-row: 1/3;
        transform: translateX(var(--img-pos, 0))
    }

    .history-item-image img {
        transform: scale(var(--img-scale, 1))
    }

    .history-item-year {
        margin-left: -2ch
    }

    .history-item-year span {
        width: 1ch
    }

    .history-item-text {
        align-self: flex-start;
        grid-column: 2;
        padding-left: 1.5rem
    }

    .history-controls {
        display: flex;
        gap: min(var(--wrapper-gutter), 2rem);
        margin-top: -2rem;
        padding-left: calc(58% + 1.5rem)
    }

    .history-arrow {
        position: relative
    }
}

@media (max-width:47.96875rem) {
    .history .container:last-child {
        position: relative
    }

    .history-item {
        grid-template-columns: 100%
    }

    .history-item-image {
        margin-inline: auto;
        transform: translateX(calc(-80% - .25rem));
        width: 80%
    }

    .history-item-image img {
        transform: scale(.4)
    }

    .history-item-year {
        justify-content: center;
        margin-top: -.35em
    }

    .history-item[data-prev=true] .history-item-image {
        transform: translateX(calc(-40% - .25rem))
    }

    .history-item[data-next=true] .history-item-image {
        transform: translateX(calc(100% + .25rem))
    }

    .history-item[data-active=true] + .history-item ~ .history-item .history-item-image {
        transform: translateX(calc(140% + .5rem))
    }

    .history-arrow {
        color: #fff;
        margin-top: 57.2%;
        position: absolute;
        top: -1rem
    }

    .history-arrow--prev {
        left: calc(10% + 1rem)
    }

    .history-arrow--next {
        right: calc(10% + 1rem)
    }
}

.guide {
    display: grid;
    grid-template-columns: 100%;
    text-align: center
}

.guide-col {
    align-items: center;
    aspect-ratio: 1/1;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    isolation: isolate;
    justify-content: flex-end;
    min-height: 100%;
    padding: 2.5rem min(var(--wrapper-gutter), 2.5rem);
    padding-top: 0;
    position: relative
}

.guide-col:last-child {
    --padding: 50px
}

.guide-image {
    aspect-ratio: 1/.6;
    flex: 1 1 auto;
    margin-bottom: 2.5rem;
    width: 100%
}

.guide-background {
    inset: 0;
    position: absolute;
    z-index: -1
}

.guide-background:after {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .75) 0, transparent 75%, transparent);
    content: "";
    display: block;
    height: 100%;
    inset: 0;
    opacity: .6;
    position: absolute;
    width: 100%;
    z-index: 1
}

.guide-background ~ * {
    color: #fff
}

.guide-title {
    margin-bottom: 1rem
}

.guide-description {
    margin-bottom: 1.5rem
}

@media (min-width:47.96875rem) {
    .guide {
        grid-template-columns: 1fr 1fr
    }
}

@media print {

    #onetrust-consent-sdk,
    .breadcrumbs,
    .dialog,
    .footer,
    .grecaptcha-badge,
    .header,
    .hide-on-print,
    .lightbox,
    .modal,
    .newsletter,
    .product-hero-actions,
    .product-sidebar-actions,
    .products-slider,
    .reviews-slider,
    .searchbar,
    .tabs,
    :not(:is(path, img)):empty,
    button {
        display: none !important
    }

    body,
    html {
        background: none
    }

    #page,
    body {
        height: auto !important
    }

    #page {
        position: static !important
    }

    #page__inner {
        transform: none !important
    }

    #main > .section {
        padding-top: 0
    }

    .pin-spacer {
        height: auto !important;
        margin: 0 !important;
        width: auto !important
    }

    .section--light-grey {
        background: none !important
    }

    .collapsible-wrapper {
        display: block !important;
        height: auto !important
    }

    .blob-image-mask {
        fill: #fff
    }

    [data-kira-item=splitchars] .split__char {
        opacity: 1
    }

    .estimation-results {
        padding-block: 0;
        text-align: center
    }

    .estimation-results-tags {
        margin-inline: auto;
        max-width: 32rem
    }

    .estimation-results-tags ul {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: center
    }

    .estimation-results-prices {
        align-items: flex-start;
        display: flex;
        justify-content: center
    }

    .estimation-results-price {
        align-items: center;
        aspect-ratio: 1/.95;
        display: flex;
        flex-direction: column;
        isolation: isolate;
        justify-content: center;
        padding-inline: 3rem;
        position: relative;
        text-align: center
    }

    .estimation-results-price--high {
        color: var(--secondary-color)
    }

    .estimation-results-price--high .estimation-results-price-background {
        fill: var(--primary-color)
    }

    .estimation-results-price--average {
        color: var(--primary-color);
        margin-right: -2rem;
        margin-top: 3rem;
        z-index: 1
    }

    .estimation-results-price--average .estimation-results-price-background {
        fill: var(--secondary-color)
    }

    .estimation-results-price-background {
        display: block !important;
        height: 100%;
        inset: 0;
        position: absolute;
        width: 100%;
        z-index: -1
    }

    .estimation-results-price-inner {
        font-family: "Noto Serif Display", serif;
        font-size: 2.5rem;
        font-weight: 800;
        line-height: 1.2;
        white-space: nowrap
    }

    .estimation-results-quality {
        font-size: 1rem
    }

    .estimation-results-actions {
        display: none
    }

    .product-hero {
        margin: 0
    }

    .product-sidebar {
        height: auto !important;
        max-height: none !important;
        max-width: none !important;
        transform: none !important;
        width: auto !important
    }

    .product-sidebar-highlight .quaternary-button,
    .product-sidebar-highlight ~ .product-sidebar-section {
        display: none !important
    }

    .product-section--district,
    .product ~ .section,
    .simulator,
    .team-card-agency-link {
        display: none
    }
}
