:root {
    --colorBrand: #ff3a20;
    --colorAccent: #ff3a20;
    --colorSecondaryBg: #d6d6d6;
    --colorText: #18191f;
    --sizeFrameWidth: 70rem;
    --sizeFramePadding: 1rem;
    --sizeSectionPadding: 3em;
    --textBaseSize: .875rem;
    --animationBase: all .24s ease-in-out;
}
@media (min-width:30rem) {
    :root {
    --sizeFramePadding: 2rem;
}
}@media (min-width:72rem) {
    :root {
    --sizeSectionPadding: 4.8em;
    --sizeFramePadding: 0;
    --sizeFrameMargin: calc((100vw - var(--sizeFrameWidth)) / 2);
}
}@media (min-width:80rem) {
    :root {
    --textBaseSize: 1rem;
}
}@media (min-width:105rem) {
    :root {
    --textBaseSize: .85rem;
}
}html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}
html.is-not-smooth {
    scroll-behavior: unset;
}
*, :after, :before {
    box-sizing: inherit;
}
button, input, select, textarea {
    color: inherit;
    display: inline-block;
}
button[disabled], input[disabled], select[disabled], textarea[disabled] {
    cursor: not-allowed;
}
figure {
    margin: 0;
}
button {
    cursor: pointer;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
table td, table th {
    text-align: left;
}
@media (prefers-reduced-motion:reduce) {
    * {
    animation-duration: .01ms!important;
    animation-iteration-count: 1!important;
    transition-duration: .01ms!important;
    scroll-behavior: auto!important;
}
}body {
    color: var(--colorText);
    font-family: Inter, sans-serif;
    line-height: 1.64;
    text-size-adjust: none;
    font-variant-numeric: tabular-nums;
    font-size: var(--textBaseSize, 1rem);
    margin: 0;
    /*background: #eee;*/
}
body>.wp-site-blocks {
    display: flex;
    flex-flow: column;
    min-height: 100vh;
}
dl, h1, h2, h3, h4, h5, h6, hr, p {
    margin-bottom: 26.24px;
}
dl:last-child:not(.block-editor-block-list__block), h1:last-child:not(.block-editor-block-list__block), h2:last-child:not(.block-editor-block-list__block), h3:last-child:not(.block-editor-block-list__block), h4:last-child:not(.block-editor-block-list__block), h5:last-child:not(.block-editor-block-list__block), h6:last-child:not(.block-editor-block-list__block), hr:last-child:not(.block-editor-block-list__block), p:last-child:not(.block-editor-block-list__block) {
    margin-bottom: 0;
}
a {
    text-decoration: none;
}
a, a:hover {
    color: #000;
}
a:hover {
    text-decoration: underline;
}
a.CookieBar-button:hover {
    color: #fff;
}
p a, span a {
    text-decoration: underline;
}
p a:hover, span a:hover {
    text-decoration: none;
    opacity: .8;
}
a[href^=tel]:not(.ButtonBase) {
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    text-decoration: none;
    font-style: inherit;
}
hr {
    height: 1px;
    background-color: #000;
}
section:not(.u-noPadding) {
    padding-top: var(--sizeSectionPadding);
    padding-bottom: var(--sizeSectionPadding);
    margin: auto;
}
.section-title {
    margin: 0 0 1em;
}
.section-perex {
    font-size: 1.125em;
    max-width: 44em;
    margin: 0 auto 2.5em;
}
.u-clearfix:after {
    clear: both;
    content: "";
    display: table;
}
[class*=u-frame] {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: var(--sizeFrameWidth);
}
@media (max-width:72rem) {
    [class*=u-frame] {
    padding-left: var(--sizeFramePadding);
    padding-right: var(--sizeFramePadding);
}
}.u-frame--narrow {
    max-width: 61.25rem;
}
.u-frame--wide {
    max-width: 82rem;
}
.u-frame--full {
    max-width: none;
}
@media (min-width:90rem) {
    .u-margin--left {
    margin-left: var(--sizeFrameMargin);
}
.u-margin--right {
    margin-right: var(--sizeFrameMargin);
}
}.u-noPadding {
    padding: 0;
}
.u-fullWidth {
    width: 100%}
.u-block {
    display: block;
}
.u-flex {
    display: flex;
}
.u-hidden {
    display: none!important;
}
.u-overflowHidden {
    overflow: hidden;
}
.u-hiddenVisually {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.u-invisibleScrollBar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.u-invisibleScrollBar::-webkit-scrollbar {
    display: none;
}
.u-customScrollBar {
    scrollbar-color: rgba(0, 0, 0, .2) transparent;
    scrollbar-width: thin;
}
.u-customScrollBar::-webkit-scrollbar {
    width: .4rem;
}
.u-customScrollBar::-webkit-scrollbar-track {
    background: transparent;
}
.u-customScrollBar::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .2);
    transition: all .25s ease-in-out;
}
.u-customScrollBar::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, .4);
}
.u-textCenter {
    text-align: center;
}
.u-textRight {
    text-align: right;
}
.u-flexJustifyStart {
    justify-content: flex-start;
}
.u-flexJustifyEnd {
    justify-content: flex-end;
}
.u-flexJustifyCenter {
    justify-content: center;
}
.u-flexJustifyBetween {
    justify-content: space-between;
}
.u-flexJustifyAround {
    justify-content: space-around;
}
.u-flexAlignItemsStart {
    align-items: flex-start;
}
.u-flexAlignItemsEnd {
    align-items: flex-end;
}
.u-flexAlignItemsCenter {
    align-items: center;
}
.u-spanRow {
    grid-column: 1/-1;
}
.u-imageCover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 400;
    font-display: fallback;
    src: url(../fonts/inter-400.woff2) format("woff2");
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 700;
    font-display: fallback;
    src: url(../fonts/inter-700.woff2) format("woff2");
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 800;
    font-display: fallback;
    src: url(../fonts/inter-800.woff2) format("woff2");
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
.is-fluid {
    display: block;
    width: 100%;
    height: auto;
}
ol, ul {
    margin-left: 26.24px;
}
li>ol, li>ul {
    margin-bottom: 0;
}
.list--unstyled {
    margin-left: 0;
    list-style: none;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 800;
    line-height: 1.24;
    color: var(--colorText);
}
h1 {
    font-size: 4em;
}
@media (max-width:560px) {
    h1 {
    font-size: 2.4em;
}
}h2 {
    font-size: 2.64em;
    margin: 0 0 .64em;
}
h3 {
    font-size: 2em;
}
h4 {
    font-size: 1.4em;
}
strong {
    font-weight: 700;
}
em {
    font-style: italic;
}
small {
    font-size: .75em;
}
.ButtonBase, .wp-block-button__link, input[type=submit] {
    background-color: var(--buttonColorBg, var(--colorBrand));
    color: var(--buttonTextColor, #fff);
    display: inline-flex;
    align-items: center;
    font-size: .9em;
    padding: .8em 2em;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    user-select: none;
    width: auto;
    transition: var(--animationBase);
    font-weight: 700;
    box-shadow: .375em .375em .25em rgba(0, 0, 0, .2);
    border-radius: 0;
}
.is-style-outline .ButtonBase, .is-style-outline .wp-block-button__link, .is-style-outline input[type=submit] {
    border: 0;
    padding: 0;
    box-shadow: none;
}
.is-style-outline .ButtonBase:after, .is-style-outline .wp-block-button__link:after, .is-style-outline input[type=submit]:after {
    content: url(../images/link-arrow.svg);
    width: .75em;
    margin-left: .75em;
}
.is-style-outline .ButtonBase:hover, .is-style-outline .wp-block-button__link:hover, .is-style-outline input[type=submit]:hover {
    color: var(--colorBrand);
    box-shadow: none;
}
.ButtonBase svg:not(.icon-button), .wp-block-button__link svg:not(.icon-button), input[type=submit] svg:not(.icon-button) {
    height: 1em;
    margin-right: .625em;
    opacity: .64;
}
.ButtonBase-narrow, .wp-block-button__link-narrow, input[type=submit]-narrow {
    font-size: var(--sizeBtnNarrow, 1em);
    letter-spacing: -.02em;
    padding: .625em .75em;
}
.ButtonBase::-moz-focus-inner, .wp-block-button__link::-moz-focus-inner, input[type=submit]::-moz-focus-inner {
    border: 0;
    padding: 0;
}
.ButtonBase:hover, .wp-block-button__link:hover, input[type=submit]:hover {
    text-decoration: none;
    filter: saturate(.64);
    box-shadow: .25em .25em .25em rgba(0, 0, 0, .4);
}
.ButtonBase.is-disabled, .ButtonBase:disabled, .wp-block-button__link.is-disabled, .wp-block-button__link:disabled, input[type=submit].is-disabled, input[type=submit]:disabled {
    pointer-events: none;
    opacity: .65;
}
.ButtonBase--block, .wp-block-button__link--block, input[type=submit]--block {
    display: block;
    width: 100%;
    max-width: var(--sizeButtonBlockWidth, none);
}
.ButtonBase--block+.ButtonBase--block, .wp-block-button__link--block+.ButtonBase--block, input[type=submit]--block+.ButtonBase--block {
    margin-top: .875em;
}
.btn--inverse {
    background-color: #fff;
    color: #444;
    border: 1px solid #444;
}
.btn--inverse:hover {
    background-color: #444;
    color: #fff;
    border-color: transparent;
}
.btn--link {
    background-color: transparent;
    color: #444;
}
label {
    display: inline-block;
    font-weight: 700;
    font-size: .75em;
    margin-bottom: .75em;
    color: var(--colorPrimary);
    opacity: .8;
}
input[type=email], input[type=tel], input[type=text], select, textarea {
    font-family: Inter, sans-serif;
    background-color: transparent;
    border: .125rem solid hsla(0, 0%, 100%, .2);
    color: var(--colorPrimary);
    font-size: 1em;
    line-height: 3.5em;
    height: 3.5em;
    padding: 0 1.125em;
    width: 100%}
input[type=email]:focus, input[type=tel]:focus, input[type=text]:focus, select:focus, textarea:focus {
    outline: 0;
    background: none;
    border-color: #fff;
}
input[type=email].wpcf7-not-valid, input[type=tel].wpcf7-not-valid, input[type=text].wpcf7-not-valid, select.wpcf7-not-valid, textarea.wpcf7-not-valid {
    border-color: var(--colorSecondary);
}
input[type=checkbox], input[type=radio] {
    background: transparent;
    border: 0;
    line-height: normal;
    height: auto;
    width: auto;
}
input[type=file] {
    line-height: normal;
    height: auto;
    padding: 6.56px 13.12px;
}
input[type=submit] {
    border: 0;
}
input[disabled] {
    background-color: #f5f5f5;
    cursor: not-allowed;
}
select {
    line-height: normal;
    padding: 0 0 0 13.12px;
}
textarea {
    min-height: 104.96px;
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}
textarea[readonly] {
    min-height: auto;
    border: 0;
    padding: 0;
    resize: none;
    height: auto;
    line-height: 1.4;
    font-size: 1.125em;
    font-weight: 800;
    color: var(--colorSecondary);
    margin-bottom: 2em;
}
.wp-block-contact-form-7-contact-form-selector {
    padding: 2em;
    background: var(--colorSecondaryBg);
}
.wp-block-contact-form-7-contact-form-selector>div[role=form] {
    max-width: 48em;
    margin: 0 auto;
}
.wp-block-contact-form-7-contact-form-selector p {
    font-size: 1rem!important;
}
.controlToggle {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: stretch;
    font-size: 0;
    margin: 0 0 1.5rem;
}
.controlToggle input {
    position: absolute;
    left: -9999px;
    width: 0;
    height: 0;
}
.controlToggle input+label {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: .5rem 1rem;
    border: 1px solid #ddd;
    background-color: #fff;
    font-size: .75rem;
    line-height: 1.4;
    text-align: center;
    transition: border-color .15s ease-out, color .25s ease-out, background-color .15s ease-out;
}
.controlToggle input+label:first-of-type {
    border-right: none;
}
.controlToggle input+label:last-of-type {
    border-left: none;
}
.controlToggle input:hover+label {
    cursor: pointer;
    background-color: #f7ffe3;
}
.controlToggle input:checked+label {
    color: #fff;
    border-color: var(--colorPrimary);
    background-color: var(--colorPrimary);
    z-index: 1;
}
.FormBase-main {
    display: grid;
    grid-template-areas: "name email" "text text";
    grid-gap: 1em;
}
@media (max-width:480px) {
    .FormBase-main {
    grid-template-areas: "name" "email" "text"}
}.FormBase-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2em;
}
@media (max-width:480px) {
    .FormBase-layout {
    grid-template-columns: 1fr;
}
}.FormBase-name {
    grid-area: name;
}
.FormBase-email {
    grid-area: email;
}
.FormBase-text {
    grid-area: text;
}
.FormBase-text textarea {
    min-height: 8em;
}
.FormBase-gdpr {
    grid-area: gdpr;
    font-size: .75em;
    margin: 1em 0 2em;
}
@media (max-width:48rem) {
    .FormBase-gdpr {
    width: 100%;
    order: 1;
    margin-bottom: 2rem;
}
}.FormBase-gdpr a {
    text-decoration: underline;
}
.FormBase-gdpr a:hover {
    text-decoration: none;
}
.FormBase-el {
    position: relative;
}
.FormBase-el br {
    display: none;
}
.FormBase-el label {
    position: absolute;
    left: 1.5em;
    top: .75em;
    margin: 0;
    z-index: 1;
}
.FormBase-el input[type=email], .FormBase-el input[type=tel], .FormBase-el input[type=text], .FormBase-el select, .FormBase-el textarea {
    line-height: 2.4em;
    height: 4.2em;
    padding: 1.25em 1.125em 0;
}
.FormBase-el textarea {
    padding-top: 1.5em;
}
.FormBase-button {
    position: relative;
    grid-area: button;
}
@media (max-width:48rem) {
    .FormBase-button {
    order: 2;
}
}.FormBase-button .ajax-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    margin: 0;
}
.FormBase-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 2em;
}
html{
    /*background: #111;*/
    background: #111 url('../images/default-bg-full.jpg') no-repeat;
    background-size: 100% auto;
    background-position: 0 180px;
}
body {
    display: flex;
    flex-flow: column;
    min-height: 100vh;
    max-width: 1440px;
    margin: 0 auto;
}
footer, header {
    background: #111;
    text-align: center;
    animation: fade-late 2s;
}
footer{background: transparent}
header {
    flex-flow: column;
    padding: 2em 1em 3em;
}
header, header>div {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
header>div {
    gap: 2em;
}
header .logo-holder {
    position: relative;
    z-index: 1;
}
header svg.logo {
    height: 6.4em;
    font-size: 1.125rem;
}
header svg.logo .logo-char {
    fill: #c8c8c8;
    animation: fillColor 1.2s linear 2s forwards;
}
@keyframes fillColor {
    0% {
    fill: #c8c8c8;
}
to {
    fill: var(--colorBrand);
}
}@media (max-width:640px) {
    header svg.logo {
    height: 4.8em;
    }
}

header .pulseWave,
header .pulseLine{
     display: flex;
     position: absolute;
     top: -2px;
     right: calc(100% - 1px);
     z-index: -1;
}
header .pulseLine {
    left: calc(100% + 10px);
    right: auto;
}

header .pulseLine .fade-in {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #111;
    top: 0;
    right: 0;
    animation: heartRateInn 2.4s linear 2.6s;
}
header .pulseLine .fade-out {
    position: absolute;
    height: 100%;
    top: 0;
    left: -100%;
    animation: heartRateOutt 2.4s linear 2.6s;
    background: #111;
    background: linear-gradient(90deg, #111, #111 80%, rgba(17, 17, 17, 0));
}


@media (max-width:104.99rem) {
    header .pulseWave {
    top: -11px;
}
}@media (max-width:79.99rem) {
    header .pulseWave {
    top: -15px;
    transform: scale(.8);
    transform-origin: right;
}
}@media (max-width:640px) {
    header .pulseWave {
    top: -27px;
    transform: scale(.64);
}
}header .pulseWave-before {
    width: 12vw;
    height: 6px;
    margin-right: -2px;
    margin-top: 70px;
    background: var(--colorBrand);
}
header .pulseWave .fade-in {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #111;
    top: 0;
    right: 0;
    animation: heartRateIn 2.4s linear .8s;
}
header .pulseWave .fade-out {
    position: absolute;
    width: 120%;
    height: 100%;
    top: 0;
    left: -120%;
    animation: heartRateOut 2.4s linear .8s;
    background: #111;
    background: linear-gradient(90deg, #111, #111 80%, rgba(17, 17, 17, 0));
}
@keyframes heartRateIn {
    0% {
    width: 100%}
    50% {
    width: 0;
    }
    to {
    width: 0;
    }
}

@keyframes heartRateInn {
    0%  {width: 100%;}
    50% {width: 0%;}
    to {width: 0;}
}


@keyframes heartRateOut {
    0% {
    left: -120%}
    30% {
    left: -120%}
    to {
    left: 0;
    }
}
@keyframes heartRateOutt {
    0% {
        left: -100%;
        width: 0;
    }
    30% {
        left: -100%;
        width: 50%;
    }
    to {
        left: 0;
        width: 100%;
    }
}
header h1 {
    color: #fff;
    margin: 0;
    font-size: 1.8em;
}
@media (max-width:640px) {
    header h1 {
    font-size: 1.24em;
    white-space: nowrap;
}
}header h4 {
    color: #ccc;
}
@media (max-width:640px) {
    header h4 {
    font-size: 1.12em;
}
}footer {
    color: gray;
    margin-top: auto;
    padding: 3.2em 1em 2em;
}
footer .u-frame--narrow {
    display: flex;
    justify-content: center;
    font-size: .75em;
}
@media (max-width:480px) {
    footer .u-frame--narrow {
    flex-flow: column;
}
}main {
    margin: auto;
    padding: 4.8em 0;
}
.GroupGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1em;
    padding: 0;
}
@media (max-width:680px) {
    .GroupGrid {
    display: block;
}
}.GroupGrid-item {
    color: #fff;
    background: var(--colorText);
    overflow: hidden;
}
@media (max-width:680px) {
    .GroupGrid-item {
    margin-bottom: 1em;
}
}.GroupGrid-item:first-child {
    animation: fadein-1 1.6s;
}
.GroupGrid-item:nth-child(2) {
    animation: fadein-1 2.4s;
}
.GroupGrid-item:nth-child(3) {
    animation: fadein-1 3.2s;
}
.GroupGrid-item:nth-child(4) {
    animation: fadein-1 4s;


}
.GroupGrid-itemInner {
    position: relative;
    padding: 2em;
}
.GroupGrid-item h2 {
    position: absolute;
    font-size: 3.25em;
    color: inherit;
    left: 2.25rem;
    bottom: 1.75rem;
}
.GroupGrid-item h2 span {
    color: #c8c8c8;
    animation: blendColor 1.2s linear 2s forwards;
}
@keyframes blendColor {
    0% {
    color: #c8c8c8;
}
to {
    color: var(--colorBrand);
}
}.GroupGrid-item figure {
    position: relative;
    aspect-ratio: 2/1;
    overflow: hidden;
}
.GroupGrid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--animationBase);
}
@media (min-width:681px) {
    .GroupGrid-item img {
    opacity: .4;
    filter: grayscale(1);
}
}.GroupGrid-itemIcon {
    position: absolute;
    right: 2em;
    top: 0;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #51525c;
    width: 4em;
    height: 4em;
    display: grid;
    place-items: center;
    transition: var(--animationBase);
    z-index: 2;
}
.GroupGrid-itemIcon svg {
    width: 2em;
    height: 2em;
}
.GroupGrid-item:hover {
    color: #fff;
    text-decoration: none;
}
.GroupGrid-item:hover img {
    transform: scale(1.12);
}
@media (min-width:681px) {
    .GroupGrid-item:hover img {
    filter: grayscale(0);
    opacity: 1;
    }
}

.GroupGrid-item:hover .GroupGrid-itemIcon {
    background: var(--colorBrand);
}
@keyframes fadein {
    0% {
    opacity: 0;
}
to {
    opacity: 1;
}
}@keyframes fadein-1 {
    0%, 40% {
    opacity: 0;
    transform: translateY(3.2em);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}@keyframes fade-late {
    0%, 12% {
    opacity: 0;
    }
    to {
    opacity: 1;
    }
}