html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-family: sans-serif
}

body {
    margin: 0
}

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

audio, canvas, progress, video {
    vertical-align: baseline;
    display: inline-block
}

audio:not([controls]) {
    height: 0;
    display: none
}

[hidden], template {
    display: none
}

a {
    background-color: #0000
}

a:active, a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b, strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

h1 {
    margin: .67em 0;
    font-size: 2em
}

mark {
    color: #000;
    background: #ff0
}

small {
    font-size: 80%
}

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

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

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

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

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

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button, select {
    text-transform: none
}

button, html input[type=button], input[type=reset] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled], html input[disabled] {
    cursor: default
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

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

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

input[type=search] {
    -webkit-appearance: none
}

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

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

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

td, th {
    padding: 0
}

@font-face {
    font-family: webflow-icons;
    src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("truetype");
    font-weight: 400;
    font-style: normal
}

[class^=w-icon-], [class*=\ w-icon-] {
    speak: none;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    font-family: webflow-icons !important
}

.w-icon-slider-right:before {
    content: ""
}

.w-icon-slider-left:before {
    content: ""
}

.w-icon-nav-menu:before {
    content: ""
}

.w-icon-arrow-down:before, .w-icon-dropdown-toggle:before {
    content: ""
}

.w-icon-file-upload-remove:before {
    content: ""
}

.w-icon-file-upload-icon:before {
    content: ""
}

* {
    box-sizing: border-box
}

html {
    height: 100%
}

body {
    color: #333;
    background-color: #fff;
    min-height: 100%;
    margin: 0;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 20px
}

img {
    vertical-align: middle;
    max-width: 100%;
    display: inline-block
}

html.w-mod-touch * {
    background-attachment: scroll !important
}

.w-block {
    display: block
}

.w-inline-block {
    max-width: 100%;
    display: inline-block
}

.w-clearfix:before, .w-clearfix:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-clearfix:after {
    clear: both
}

.w-hidden {
    display: none
}

.w-button {
    color: #fff;
    line-height: inherit;
    cursor: pointer;
    background-color: #3898ec;
    border: 0;
    border-radius: 0;
    padding: 9px 15px;
    text-decoration: none;
    display: inline-block
}

input.w-button {
    -webkit-appearance: button
}

html[data-w-dynpage] [data-w-cloak] {
    color: #0000 !important
}

.w-code-block {
    margin: unset
}

pre.w-code-block code {
    all: inherit
}

.w-optimization {
    display: contents
}

.w-webflow-badge, .w-webflow-badge > img {
    box-sizing: unset;
    width: unset;
    height: unset;
    max-height: unset;
    max-width: unset;
    min-height: unset;
    min-width: unset;
    margin: unset;
    padding: unset;
    float: unset;
    clear: unset;
    border: unset;
    border-radius: unset;
    background: unset;
    background-image: unset;
    background-position: unset;
    background-size: unset;
    background-repeat: unset;
    background-origin: unset;
    background-clip: unset;
    background-attachment: unset;
    background-color: unset;
    box-shadow: unset;
    transform: unset;
    direction: unset;
    font-family: unset;
    font-weight: unset;
    color: unset;
    font-size: unset;
    line-height: unset;
    font-style: unset;
    font-variant: unset;
    text-align: unset;
    letter-spacing: unset;
    -webkit-text-decoration: unset;
    text-decoration: unset;
    text-indent: unset;
    text-transform: unset;
    list-style-type: unset;
    text-shadow: unset;
    vertical-align: unset;
    cursor: unset;
    white-space: unset;
    word-break: unset;
    word-spacing: unset;
    word-wrap: unset;
    transition: unset
}

.w-webflow-badge {
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 0 0 1px #0000001a, 0 1px 3px #0000001a;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 2147483647 !important;
    color: #aaadb0 !important;
    overflow: unset !important;
    background-color: #fff !important;
    border-radius: 3px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 6px !important;
    font-size: 12px !important;
    line-height: 14px !important;
    text-decoration: none !important;
    display: inline-block !important;
    position: fixed !important;
    inset: auto 12px 12px auto !important;
    transform: none !important
}

.w-webflow-badge > img {
    position: unset;
    visibility: unset !important;
    opacity: 1 !important;
    vertical-align: middle !important;
    display: inline-block !important
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 10px;
    font-weight: 700
}

h1 {
    margin-top: 20px;
    font-size: 38px;
    line-height: 44px
}

h2 {
    margin-top: 20px;
    font-size: 32px;
    line-height: 36px
}

h3 {
    margin-top: 20px;
    font-size: 24px;
    line-height: 30px
}

h4 {
    margin-top: 10px;
    font-size: 18px;
    line-height: 24px
}

h5 {
    margin-top: 10px;
    font-size: 14px;
    line-height: 20px
}

h6 {
    margin-top: 10px;
    font-size: 12px;
    line-height: 18px
}

p {
    margin-top: 0;
    margin-bottom: 10px
}

blockquote {
    border-left: 5px solid #e2e2e2;
    margin: 0 0 10px;
    padding: 10px 20px;
    font-size: 18px;
    line-height: 22px
}

figure {
    margin: 0 0 10px
}

figcaption {
    text-align: center;
    margin-top: 5px
}

ul, ol {
    margin-top: 0;
    margin-bottom: 10px;
    padding-left: 40px
}

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

.w-embed:before, .w-embed:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-embed:after {
    clear: both
}

.w-video {
    width: 100%;
    padding: 0;
    position: relative
}

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

fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

button, [type=button], [type=reset] {
    cursor: pointer;
    -webkit-appearance: button;
    border: 0
}

.w-form {
    margin: 0 0 15px
}

.w-form-done {
    text-align: center;
    background-color: #ddd;
    padding: 20px;
    display: none
}

.w-form-fail {
    background-color: #ffdede;
    margin-top: 10px;
    padding: 10px;
    display: none
}

label {
    margin-bottom: 5px;
    font-weight: 700;
    display: block
}

.w-input, .w-select {
    color: #333;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #ccc;
    width: 100%;
    height: 38px;
    margin-bottom: 10px;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1.42857;
    display: block
}

.w-input::placeholder, .w-select::placeholder {
    color: #999
}

.w-input:focus, .w-select:focus {
    border-color: #3898ec;
    outline: 0
}

.w-input[disabled], .w-select[disabled], .w-input[readonly], .w-select[readonly], fieldset[disabled] .w-input, fieldset[disabled] .w-select {
    cursor: not-allowed
}

.w-input[disabled]:not(.w-input-disabled), .w-select[disabled]:not(.w-input-disabled), .w-input[readonly], .w-select[readonly], fieldset[disabled]:not(.w-input-disabled) .w-input, fieldset[disabled]:not(.w-input-disabled) .w-select {
    background-color: #eee
}

textarea.w-input, textarea.w-select {
    height: auto
}

.w-select {
    background-color: #f3f3f3
}

.w-select[multiple] {
    height: auto
}

.w-form-label {
    cursor: pointer;
    margin-bottom: 0;
    font-weight: 400;
    display: inline-block
}

.w-radio {
    margin-bottom: 5px;
    padding-left: 20px;
    display: block
}

.w-radio:before, .w-radio:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-radio:after {
    clear: both
}

.w-radio-input {
    float: left;
    margin: 3px 0 0 -20px;
    line-height: normal
}

.w-file-upload {
    margin-bottom: 10px;
    display: block
}

.w-file-upload-input {
    opacity: 0;
    z-index: -100;
    width: .1px;
    height: .1px;
    position: absolute;
    overflow: hidden
}

.w-file-upload-default, .w-file-upload-uploading, .w-file-upload-success {
    color: #333;
    display: inline-block
}

.w-file-upload-error {
    margin-top: 10px;
    display: block
}

.w-file-upload-default.w-hidden, .w-file-upload-uploading.w-hidden, .w-file-upload-error.w-hidden, .w-file-upload-success.w-hidden {
    display: none
}

.w-file-upload-uploading-btn {
    cursor: pointer;
    background-color: #fafafa;
    border: 1px solid #ccc;
    margin: 0;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 400;
    display: flex
}

.w-file-upload-file {
    background-color: #fafafa;
    border: 1px solid #ccc;
    flex-grow: 1;
    justify-content: space-between;
    margin: 0;
    padding: 8px 9px 8px 11px;
    display: flex
}

.w-file-upload-file-name {
    font-size: 14px;
    font-weight: 400;
    display: block
}

.w-file-remove-link {
    cursor: pointer;
    width: auto;
    height: auto;
    margin-top: 3px;
    margin-left: 10px;
    padding: 3px;
    display: block
}

.w-icon-file-upload-remove {
    margin: auto;
    font-size: 10px
}

.w-file-upload-error-msg {
    color: #ea384c;
    padding: 2px 0;
    display: inline-block
}

.w-file-upload-info {
    padding: 0 12px;
    line-height: 38px;
    display: inline-block
}

.w-file-upload-label {
    cursor: pointer;
    background-color: #fafafa;
    border: 1px solid #ccc;
    margin: 0;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 400;
    display: inline-block
}

.w-icon-file-upload-icon, .w-icon-file-upload-uploading {
    width: 20px;
    margin-right: 8px;
    display: inline-block
}

.w-icon-file-upload-uploading {
    height: 20px
}

.w-container {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto
}

.w-container:before, .w-container:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-container:after {
    clear: both
}

.w-container .w-row {
    margin-left: -10px;
    margin-right: -10px
}

.w-row:before, .w-row:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-row:after {
    clear: both
}

.w-row .w-row {
    margin-left: 0;
    margin-right: 0
}

.w-col {
    float: left;
    width: 100%;
    min-height: 1px;
    padding-left: 10px;
    padding-right: 10px;
    position: relative
}

.w-col .w-col {
    padding-left: 0;
    padding-right: 0
}

.w-col-1 {
    width: 8.33333%
}

.w-col-2 {
    width: 16.6667%
}

.w-col-3 {
    width: 25%
}

.w-col-4 {
    width: 33.3333%
}

.w-col-5 {
    width: 41.6667%
}

.w-col-6 {
    width: 50%
}

.w-col-7 {
    width: 58.3333%
}

.w-col-8 {
    width: 66.6667%
}

.w-col-9 {
    width: 75%
}

.w-col-10 {
    width: 83.3333%
}

.w-col-11 {
    width: 91.6667%
}

.w-col-12 {
    width: 100%
}

.w-hidden-main {
    display: none !important
}

@media screen and (max-width: 991px) {
    .w-container {
        max-width: 728px
    }

    .w-hidden-main {
        display: inherit !important
    }

    .w-hidden-medium {
        display: none !important
    }

    .w-col-medium-1 {
        width: 8.33333%
    }

    .w-col-medium-2 {
        width: 16.6667%
    }

    .w-col-medium-3 {
        width: 25%
    }

    .w-col-medium-4 {
        width: 33.3333%
    }

    .w-col-medium-5 {
        width: 41.6667%
    }

    .w-col-medium-6 {
        width: 50%
    }

    .w-col-medium-7 {
        width: 58.3333%
    }

    .w-col-medium-8 {
        width: 66.6667%
    }

    .w-col-medium-9 {
        width: 75%
    }

    .w-col-medium-10 {
        width: 83.3333%
    }

    .w-col-medium-11 {
        width: 91.6667%
    }

    .w-col-medium-12 {
        width: 100%
    }

    .w-col-stack {
        width: 100%;
        left: auto;
        right: auto
    }
}

@media screen and (max-width: 767px) {
    .w-hidden-main, .w-hidden-medium {
        display: inherit !important
    }

    .w-hidden-small {
        display: none !important
    }

    .w-row, .w-container .w-row {
        margin-left: 0;
        margin-right: 0
    }

    .w-col {
        width: 100%;
        left: auto;
        right: auto
    }

    .w-col-small-1 {
        width: 8.33333%
    }

    .w-col-small-2 {
        width: 16.6667%
    }

    .w-col-small-3 {
        width: 25%
    }

    .w-col-small-4 {
        width: 33.3333%
    }

    .w-col-small-5 {
        width: 41.6667%
    }

    .w-col-small-6 {
        width: 50%
    }

    .w-col-small-7 {
        width: 58.3333%
    }

    .w-col-small-8 {
        width: 66.6667%
    }

    .w-col-small-9 {
        width: 75%
    }

    .w-col-small-10 {
        width: 83.3333%
    }

    .w-col-small-11 {
        width: 91.6667%
    }

    .w-col-small-12 {
        width: 100%
    }
}

@media screen and (max-width: 479px) {
    .w-container {
        max-width: none
    }

    .w-hidden-main, .w-hidden-medium, .w-hidden-small {
        display: inherit !important
    }

    .w-hidden-tiny {
        display: none !important
    }

    .w-col {
        width: 100%
    }

    .w-col-tiny-1 {
        width: 8.33333%
    }

    .w-col-tiny-2 {
        width: 16.6667%
    }

    .w-col-tiny-3 {
        width: 25%
    }

    .w-col-tiny-4 {
        width: 33.3333%
    }

    .w-col-tiny-5 {
        width: 41.6667%
    }

    .w-col-tiny-6 {
        width: 50%
    }

    .w-col-tiny-7 {
        width: 58.3333%
    }

    .w-col-tiny-8 {
        width: 66.6667%
    }

    .w-col-tiny-9 {
        width: 75%
    }

    .w-col-tiny-10 {
        width: 83.3333%
    }

    .w-col-tiny-11 {
        width: 91.6667%
    }

    .w-col-tiny-12 {
        width: 100%
    }
}

.w-widget {
    position: relative
}

.w-widget-map {
    width: 100%;
    height: 400px
}

.w-widget-map label {
    width: auto;
    display: inline
}

.w-widget-map img {
    max-width: inherit
}

.w-widget-map .gm-style-iw {
    text-align: center
}

.w-widget-map .gm-style-iw > button {
    display: none !important
}

.w-widget-twitter {
    overflow: hidden
}

.w-widget-twitter-count-shim {
    vertical-align: top;
    text-align: center;
    background: #fff;
    border: 1px solid #758696;
    border-radius: 3px;
    width: 28px;
    height: 20px;
    display: inline-block;
    position: relative
}

.w-widget-twitter-count-shim * {
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none
}

.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
    text-align: center;
    color: #999;
    font-family: serif;
    font-size: 15px;
    line-height: 12px;
    position: relative
}

.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
    display: block;
    position: relative
}

.w-widget-twitter-count-shim.w--large {
    width: 36px;
    height: 28px
}

.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
    font-size: 18px;
    line-height: 18px
}

.w-widget-twitter-count-shim:not(.w--vertical) {
    margin-left: 5px;
    margin-right: 8px
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large {
    margin-left: 6px
}

.w-widget-twitter-count-shim:not(.w--vertical):before, .w-widget-twitter-count-shim:not(.w--vertical):after {
    content: " ";
    pointer-events: none;
    border: solid #0000;
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    left: 0
}

.w-widget-twitter-count-shim:not(.w--vertical):before {
    border-width: 4px;
    border-color: #75869600 #5d6c7b #75869600 #75869600;
    margin-top: -4px;
    margin-left: -9px
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
    border-width: 5px;
    margin-top: -5px;
    margin-left: -10px
}

.w-widget-twitter-count-shim:not(.w--vertical):after {
    border-width: 4px;
    border-color: #fff0 #fff #fff0 #fff0;
    margin-top: -4px;
    margin-left: -8px
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
    border-width: 5px;
    margin-top: -5px;
    margin-left: -9px
}

.w-widget-twitter-count-shim.w--vertical {
    width: 61px;
    height: 33px;
    margin-bottom: 8px
}

.w-widget-twitter-count-shim.w--vertical:before, .w-widget-twitter-count-shim.w--vertical:after {
    content: " ";
    pointer-events: none;
    border: solid #0000;
    width: 0;
    height: 0;
    position: absolute;
    top: 100%;
    left: 50%
}

.w-widget-twitter-count-shim.w--vertical:before {
    border-width: 5px;
    border-color: #5d6c7b #75869600 #75869600;
    margin-left: -5px
}

.w-widget-twitter-count-shim.w--vertical:after {
    border-width: 4px;
    border-color: #fff #fff0 #fff0;
    margin-left: -4px
}

.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
    font-size: 18px;
    line-height: 22px
}

.w-widget-twitter-count-shim.w--vertical.w--large {
    width: 76px
}

.w-background-video {
    color: #fff;
    height: 500px;
    position: relative;
    overflow: hidden
}

.w-background-video > video {
    object-fit: cover;
    z-index: -100;
    background-position: 50%;
    background-size: cover;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: -100%
}

.w-background-video > video::-webkit-media-controls-start-playback-button {
    -webkit-appearance: none;
    display: none !important
}

.w-background-video--control {
    background-color: #0000;
    padding: 0;
    position: absolute;
    bottom: 1em;
    right: 1em
}

.w-background-video--control > [hidden] {
    display: none !important
}

.w-slider {
    text-align: center;
    clear: both;
    -webkit-tap-highlight-color: #0000;
    tap-highlight-color: #0000;
    background: #ddd;
    height: 300px;
    position: relative
}

.w-slider-mask {
    z-index: 1;
    white-space: nowrap;
    height: 100%;
    display: block;
    position: relative;
    left: 0;
    right: 0;
    overflow: hidden
}

.w-slide {
    vertical-align: top;
    white-space: normal;
    text-align: left;
    width: 100%;
    height: 100%;
    display: inline-block;
    position: relative
}

.w-slider-nav {
    z-index: 2;
    text-align: center;
    -webkit-tap-highlight-color: #0000;
    tap-highlight-color: #0000;
    height: 40px;
    margin: auto;
    padding-top: 10px;
    position: absolute;
    inset: auto 0 0
}

.w-slider-nav.w-round > div {
    border-radius: 100%
}

.w-slider-nav.w-num > div {
    font-size: inherit;
    line-height: inherit;
    width: auto;
    height: auto;
    padding: .2em .5em
}

.w-slider-nav.w-shadow > div {
    box-shadow: 0 0 3px #3336
}

.w-slider-nav-invert {
    color: #fff
}

.w-slider-nav-invert > div {
    background-color: #2226
}

.w-slider-nav-invert > div.w-active {
    background-color: #222
}

.w-slider-dot {
    cursor: pointer;
    background-color: #fff6;
    width: 1em;
    height: 1em;
    margin: 0 3px .5em;
    transition: background-color .1s, color .1s;
    display: inline-block;
    position: relative
}

.w-slider-dot.w-active {
    background-color: #fff
}

.w-slider-dot:focus {
    outline: none;
    box-shadow: 0 0 0 2px #fff
}

.w-slider-dot:focus.w-active {
    box-shadow: none
}

.w-slider-arrow-left, .w-slider-arrow-right {
    cursor: pointer;
    color: #fff;
    -webkit-tap-highlight-color: #0000;
    tap-highlight-color: #0000;
    -webkit-user-select: none;
    user-select: none;
    width: 80px;
    margin: auto;
    font-size: 40px;
    position: absolute;
    inset: 0;
    overflow: hidden
}

.w-slider-arrow-left [class^=w-icon-], .w-slider-arrow-right [class^=w-icon-], .w-slider-arrow-left [class*=\ w-icon-], .w-slider-arrow-right [class*=\ w-icon-] {
    position: absolute
}

.w-slider-arrow-left:focus, .w-slider-arrow-right:focus {
    outline: 0
}

.w-slider-arrow-left {
    z-index: 3;
    right: auto
}

.w-slider-arrow-right {
    z-index: 4;
    left: auto
}

.w-icon-slider-left, .w-icon-slider-right {
    width: 1em;
    height: 1em;
    margin: auto;
    inset: 0
}

.w-slider-aria-label {
    clip: rect(0 0 0 0);
    border: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden
}

.w-slider-force-show {
    display: block !important
}

.w-dropdown {
    text-align: left;
    z-index: 900;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    position: relative
}

.w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link {
    vertical-align: top;
    color: #222;
    text-align: left;
    white-space: nowrap;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    text-decoration: none;
    position: relative
}

.w-dropdown-toggle {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    padding-right: 40px;
    display: inline-block
}

.w-dropdown-toggle:focus {
    outline: 0
}

.w-icon-dropdown-toggle {
    width: 1em;
    height: 1em;
    margin: auto 20px auto auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0
}

.w-dropdown-list {
    background: #ddd;
    min-width: 100%;
    display: none;
    position: absolute
}

.w-dropdown-list.w--open {
    display: block
}

.w-dropdown-link {
    color: #222;
    padding: 10px 20px;
    display: block
}

.w-dropdown-link.w--current {
    color: #0082f3
}

.w-dropdown-link:focus {
    outline: 0
}

@media screen and (max-width: 767px) {
    .w-nav-brand {
        padding-left: 10px
    }
}

.w-lightbox-backdrop {
    cursor: auto;
    letter-spacing: normal;
    text-indent: 0;
    text-shadow: none;
    text-transform: none;
    visibility: visible;
    white-space: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    color: #fff;
    text-align: center;
    z-index: 2000;
    opacity: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -webkit-tap-highlight-color: transparent;
    background: #000000e6;
    outline: 0;
    font-family: Helvetica Neue, Helvetica, Ubuntu, Segoe UI, Verdana, sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.2;
    list-style: disc;
    position: fixed;
    inset: 0;
    -webkit-transform: translate(0)
}

.w-lightbox-backdrop, .w-lightbox-container {
    -webkit-overflow-scrolling: touch;
    height: 100%;
    overflow: auto
}

.w-lightbox-content {
    height: 100vh;
    position: relative;
    overflow: hidden
}

.w-lightbox-view {
    opacity: 0;
    width: 100vw;
    height: 100vh;
    position: absolute
}

.w-lightbox-view:before {
    content: "";
    height: 100vh
}

.w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
    height: 86vh
}

.w-lightbox-frame, .w-lightbox-view:before {
    vertical-align: middle;
    display: inline-block
}

.w-lightbox-figure {
    margin: 0;
    position: relative
}

.w-lightbox-group .w-lightbox-figure {
    cursor: pointer
}

.w-lightbox-img {
    width: auto;
    max-width: none;
    height: auto
}

.w-lightbox-image {
    float: none;
    max-width: 100vw;
    max-height: 100vh;
    display: block
}

.w-lightbox-group .w-lightbox-image {
    max-height: 86vh
}

.w-lightbox-caption {
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: #0006;
    padding: .5em 1em;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden
}

.w-lightbox-embed {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
}

.w-lightbox-control {
    cursor: pointer;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 24px;
    width: 4em;
    transition: all .3s;
    position: absolute;
    top: 0
}

.w-lightbox-left {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==);
    display: none;
    bottom: 0;
    left: 0
}

.w-lightbox-right {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+);
    display: none;
    bottom: 0;
    right: 0
}

.w-lightbox-close {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=);
    background-size: 18px;
    height: 2.6em;
    right: 0
}

.w-lightbox-strip {
    white-space: nowrap;
    padding: 0 1vh;
    line-height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: auto hidden
}

.w-lightbox-item {
    box-sizing: content-box;
    cursor: pointer;
    width: 10vh;
    padding: 2vh 1vh;
    display: inline-block;
    -webkit-transform: translate(0, 0)
}

.w-lightbox-active {
    opacity: .3
}

.w-lightbox-thumbnail {
    background: #222;
    height: 10vh;
    position: relative;
    overflow: hidden
}

.w-lightbox-thumbnail-image {
    position: absolute;
    top: 0;
    left: 0
}

.w-lightbox-thumbnail .w-lightbox-tall {
    width: 100%;
    top: 50%;
    transform: translateY(-50%)
}

.w-lightbox-thumbnail .w-lightbox-wide {
    height: 100%;
    left: 50%;
    transform: translate(-50%)
}

.w-lightbox-spinner {
    box-sizing: border-box;
    border: 5px solid #0006;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    animation: .8s linear infinite spin;
    position: absolute;
    top: 50%;
    left: 50%
}

.w-lightbox-spinner:after {
    content: "";
    border: 3px solid #0000;
    border-bottom-color: #fff;
    border-radius: 50%;
    position: absolute;
    inset: -4px
}

.w-lightbox-hide {
    display: none
}

.w-lightbox-noscroll {
    overflow: hidden
}

@media (min-width: 768px) {
    .w-lightbox-content {
        height: 96vh;
        margin-top: 2vh
    }

    .w-lightbox-view, .w-lightbox-view:before {
        height: 96vh
    }

    .w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
        height: 84vh
    }

    .w-lightbox-image {
        max-width: 96vw;
        max-height: 96vh
    }

    .w-lightbox-group .w-lightbox-image {
        max-width: 82.3vw;
        max-height: 84vh
    }

    .w-lightbox-left, .w-lightbox-right {
        opacity: .5;
        display: block
    }

    .w-lightbox-close {
        opacity: .8
    }

    .w-lightbox-control:hover {
        opacity: 1
    }
}

.w-lightbox-inactive, .w-lightbox-inactive:hover {
    opacity: 0
}

.w-richtext:before, .w-richtext:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-richtext:after {
    clear: both
}

.w-richtext[contenteditable=true]:before, .w-richtext[contenteditable=true]:after {
    white-space: initial
}

.w-richtext ol, .w-richtext ul {
    overflow: hidden
}

.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after, .w-richtext .w-richtext-figure-selected[data-rt-type=video] div:after, .w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div, .w-richtext .w-richtext-figure-selected[data-rt-type=image] div {
    outline: 2px solid #2895f7
}

.w-richtext figure.w-richtext-figure-type-video > div:after, .w-richtext figure[data-rt-type=video] > div:after {
    content: "";
    display: none;
    position: absolute;
    inset: 0
}

.w-richtext figure {
    max-width: 60%;
    position: relative
}

.w-richtext figure > div:before {
    cursor: default !important
}

.w-richtext figure img {
    width: 100%
}

.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
    opacity: .6
}

.w-richtext figure div {
    color: #0000;
    font-size: 0
}

.w-richtext figure.w-richtext-figure-type-image, .w-richtext figure[data-rt-type=image] {
    display: table
}

.w-richtext figure.w-richtext-figure-type-image > div, .w-richtext figure[data-rt-type=image] > div {
    display: inline-block
}

.w-richtext figure.w-richtext-figure-type-image > figcaption, .w-richtext figure[data-rt-type=image] > figcaption {
    caption-side: bottom;
    display: table-caption
}

.w-richtext figure.w-richtext-figure-type-video, .w-richtext figure[data-rt-type=video] {
    width: 60%;
    height: 0
}

.w-richtext figure.w-richtext-figure-type-video iframe, .w-richtext figure[data-rt-type=video] iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.w-richtext figure.w-richtext-figure-type-video > div, .w-richtext figure[data-rt-type=video] > div {
    width: 100%
}

.w-richtext figure.w-richtext-align-center {
    clear: both;
    margin-left: auto;
    margin-right: auto
}

.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div, .w-richtext figure.w-richtext-align-center[data-rt-type=image] > div {
    max-width: 100%
}

.w-richtext figure.w-richtext-align-normal {
    clear: both
}

.w-richtext figure.w-richtext-align-fullwidth {
    text-align: center;
    clear: both;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block
}

.w-richtext figure.w-richtext-align-fullwidth > div {
    padding-bottom: inherit;
    display: inline-block
}

.w-richtext figure.w-richtext-align-fullwidth > figcaption {
    display: block
}

.w-richtext figure.w-richtext-align-floatleft {
    float: left;
    clear: none;
    margin-right: 15px
}

.w-richtext figure.w-richtext-align-floatright {
    float: right;
    clear: none;
    margin-left: 15px
}

.w-nav {
    z-index: 1000;
    background: #ddd;
    position: relative
}

.w-nav:before, .w-nav:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-nav:after {
    clear: both
}

.w-nav-brand {
    float: left;
    color: #333;
    text-decoration: none;
    position: relative
}

.w-nav-link {
    vertical-align: top;
    color: #222;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    text-decoration: none;
    display: inline-block;
    position: relative
}

.w-nav-link.w--current {
    color: #0082f3
}

.w-nav-menu {
    float: right;
    position: relative
}

[data-nav-menu-open] {
    text-align: center;
    background: #c8c8c8;
    min-width: 200px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    overflow: visible;
    display: block !important
}

.w--nav-link-open {
    display: block;
    position: relative
}

.w-nav-overlay {
    width: 100%;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    overflow: hidden
}

.w-nav-overlay [data-nav-menu-open] {
    top: 0
}

.w-nav[data-animation=over-left] .w-nav-overlay {
    width: auto
}

.w-nav[data-animation=over-left] .w-nav-overlay, .w-nav[data-animation=over-left] [data-nav-menu-open] {
    z-index: 1;
    top: 0;
    right: auto
}

.w-nav[data-animation=over-right] .w-nav-overlay {
    width: auto
}

.w-nav[data-animation=over-right] .w-nav-overlay, .w-nav[data-animation=over-right] [data-nav-menu-open] {
    z-index: 1;
    top: 0;
    left: auto
}

.w-nav-button {
    float: right;
    cursor: pointer;
    -webkit-tap-highlight-color: #0000;
    tap-highlight-color: #0000;
    -webkit-user-select: none;
    user-select: none;
    padding: 18px;
    font-size: 24px;
    display: none;
    position: relative
}

.w-nav-button:focus {
    outline: 0
}

.w-nav-button.w--open {
    color: #fff;
    background-color: #c8c8c8
}

.w-nav[data-collapse=all] .w-nav-menu {
    display: none
}

.w-nav[data-collapse=all] .w-nav-button, .w--nav-dropdown-open, .w--nav-dropdown-toggle-open {
    display: block
}

.w--nav-dropdown-list-open {
    position: static
}

@media screen and (max-width: 991px) {
    .w-nav[data-collapse=medium] .w-nav-menu {
        display: none
    }

    .w-nav[data-collapse=medium] .w-nav-button {
        display: block
    }
}

@media screen and (max-width: 767px) {
    .w-nav[data-collapse=small] .w-nav-menu {
        display: none
    }

    .w-nav[data-collapse=small] .w-nav-button {
        display: block
    }

    .w-nav-brand {
        padding-left: 10px
    }
}

@media screen and (max-width: 479px) {
    .w-nav[data-collapse=tiny] .w-nav-menu {
        display: none
    }

    .w-nav[data-collapse=tiny] .w-nav-button {
        display: block
    }
}

.w-tabs {
    position: relative
}

.w-tabs:before, .w-tabs:after {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-tabs:after {
    clear: both
}

.w-tab-menu {
    position: relative
}

.w-tab-link {
    vertical-align: top;
    text-align: left;
    cursor: pointer;
    color: #222;
    background-color: #ddd;
    padding: 9px 30px;
    text-decoration: none;
    display: inline-block;
    position: relative
}

.w-tab-link.w--current {
    background-color: #c8c8c8
}

.w-tab-link:focus {
    outline: 0
}

.w-tab-content {
    display: block;
    position: relative;
    overflow: hidden
}

.w-tab-pane {
    display: none;
    position: relative
}

.w--tab-active {
    display: block
}

@media screen and (max-width: 479px) {
    .w-tab-link {
        display: block
    }
}

.w-ix-emptyfix:after {
    content: ""
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    to {
        transform: rotate(360deg)
    }
}

.w-dyn-empty {
    background-color: #ddd;
    padding: 10px
}

.w-dyn-hide, .w-dyn-bind-empty, .w-condition-invisible {
    display: none !important
}

.wf-layout-layout {
    display: grid
}

@font-face {
    font-family: Lato Regular;
    src: url(../fonts/64b1ab771f74f51f14dda5a5_Lato-Regular.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Lato Black;
    src: url(../fonts/64b1ab77155380f72863d6e2_Lato-Black.ttf) format("truetype");
    font-weight: 900;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Lato Thin;
    src: url(../fonts/64b1ab77844092761375e7c9_Lato-Thin.ttf) format("truetype");
    font-weight: 100;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Lato Bold;
    src: url(../fonts/64b1ab77e42b5fcb8a7f9e35_Lato-Bold.ttf) format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Lato Light;
    src: url(../fonts/64b1ab77b69dd7c342958964_Lato-Light.ttf) format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

:root {
    --white: white;
    --black: black
}

.w-checkbox {
    margin-bottom: 5px;
    padding-left: 20px;
    display: block
}

.w-checkbox:before {
    content: " ";
    grid-area: 1/1/2/2;
    display: table
}

.w-checkbox:after {
    content: " ";
    clear: both;
    grid-area: 1/1/2/2;
    display: table
}

.w-checkbox-input {
    float: left;
    margin: 4px 0 0 -20px;
    line-height: normal
}

.w-checkbox-input--inputType-custom {
    border: 1px solid #ccc;
    border-radius: 2px;
    width: 12px;
    height: 12px
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
    background-color: #3898ec;
    background-image: url(../images/custom-checkbox-checkmark.589d534424.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    border-color: #3898ec
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
    box-shadow: 0 0 3px 1px #3898ec
}

.w-layout-blockcontainer {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
    display: block
}

@media screen and (max-width: 991px) {
    .w-layout-blockcontainer {
        max-width: 728px
    }
}

@media screen and (max-width: 767px) {
    .w-layout-blockcontainer {
        max-width: none
    }
}

.hero-section {
    background-image: url(../images/64b2764aaf31e414a4291ef0_header-bg-image-min.jpg);
    background-position: 0 0;
    background-size: cover;
    height: auto;
    min-height: 100vh;
    padding: 30vh 10vw 10vh;
    transition: opacity .2s
}

.container {
    object-fit: fill;
    max-width: 1160px;
    min-height: auto;
    margin-left: auto;
    margin-right: auto
}

.container.left-based {
    object-fit: fill;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex
}

.heading {
    color: #030212;
    margin-top: 0;
    margin-bottom: 10vh;
    padding-top: 0;
    padding-bottom: 0;
    font-family: Alice, sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 72px
}

.filled-button {
    color: #d7d3d1;
    text-align: center;
    text-transform: uppercase;
    background-color: #020412;
    border-radius: 10px;
    margin-right: 21px;
    padding: 20px 24px;
    font-family: Lato, sans-serif;
    font-size: 18px;
    text-decoration: none;
    transition: all .2s
}

.filled-button:hover {
    background-color: #020412e6
}

.filled-button:active {
    background-color: #03061acc
}

.ghost-button {
    color: #020412;
    text-align: center;
    text-transform: uppercase;
    background-color: #d7d3d100;
    border: 3px solid #020412;
    border-radius: 10px;
    padding: 17px 47px;
    font-family: Lato, sans-serif;
    font-size: 18px;
    font-weight: 700;
    transition: all .2s
}

.ghost-button:hover {
    background-color: #0204121a
}

.div-block-2 {
    max-width: 780px;
    margin-top: 3vh
}

.about-block {
    object-fit: fill;
    background-color: #0000;
    justify-content: space-between;
    max-width: 1160px;
    min-height: auto;
    margin-left: auto;
    margin-right: auto;
    display: flex
}

.about-heading {
    color: #fff;
    -webkit-text-stroke-color: #020412;
    align-self: center;
    margin-top: 0;
    margin-bottom: 4vh;
    padding-top: 0;
    padding-bottom: 0;
    font-family: Alice, sans-serif;
    font-size: 51px;
    font-weight: 400;
    line-height: 65px;
    display: block
}

.about-heading.max-width {
    max-width: 500px;
    margin-bottom: 3vh;
    line-height: 34px
}

.about-stat-block {
    justify-content: space-between;
    margin-top: 40px;
    display: flex
}

.stat-element {
    flex-flow: column;
    flex: 0 auto;
    grid-template-rows:auto auto;
    grid-template-columns:1fr 1fr;
    grid-auto-columns: 1fr;
    align-items: center;
    max-width: 200px;
    display: flex
}

.h2-sub {
    color: #cfcfcf;
    text-align: center;
    text-transform: uppercase;
    order: 1;
    margin-top: 1vh;
    margin-bottom: 0;
    font-family: Lato Bold, sans-serif;
    font-size: 22px;
    line-height: 27.5px;
    position: static;
    inset: auto 0% 0%
}

.about-heading-copy {
    color: #fff;
    align-self: center;
    margin-top: 1vh;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    font-family: Yeseva One, sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 65px
}

.about-p {
    color: #fffc;
    letter-spacing: 1px;
    -webkit-text-stroke-color: #fffc;
    text-transform: none;
    column-count: auto;
    white-space: normal;
    margin-bottom: 1vh;
    margin-right: 12px;
    font-family: Lato Regular, sans-serif;
    font-size: 18px;
    line-height: 27.5px
}

.services-section {
    background-image: linear-gradient(#d7d3d04d, #d7d3d04d);
    height: auto
}

.service-block-left {
    letter-spacing: 1px;
    justify-content: space-between;
    align-items: center;
    display: flex
}

.image {
    object-fit: cover;
    width: 50vw;
    max-width: 50%;
    height: 50vh;
    overflow: hidden
}

.service-text-block {
    max-width: 40vw;
    margin-left: auto;
    margin-right: auto
}

.services-heading {
    color: #050b30;
    -webkit-text-stroke-color: #020412;
    align-self: center;
    margin-top: 0;
    margin-bottom: 3vh;
    padding-top: 0;
    padding-bottom: 0;
    font-family: Alice, sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 46px
}

.services-paragpaph {
    color: #000000e6;
    letter-spacing: 1px;
    margin-bottom: 4vh;
    font-family: Lato Regular, sans-serif;
    font-size: 16px;
    line-height: 27.5px
}

.service-block-right {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    display: flex
}

.link {
    color: #020412;
    text-transform: uppercase;
    font-family: Lato Regular, sans-serif;
    font-size: 20px;
    text-decoration: underline;
    transition: all .2s
}

.link:hover {
    color: #474e81
}

.navbar {
    background-color: #ddd0;
    position: absolute;
    inset: 0% 0% auto
}

.container-2 {
    flex-flow: row;
    place-content: stretch space-between;
    align-items: flex-start;
    min-width: 100%;
    padding-left: 10vw;
    padding-right: 7vw;
    display: flex;
    position: absolute
}

.left-block-copy.margin {
    margin-bottom: -18px
}

.about-p-second {
    color: #fffc;
    letter-spacing: 1px;
    -webkit-text-stroke-color: #fffc;
    text-transform: none;
    column-count: auto;
    white-space: normal;
    margin-top: 0;
    margin-bottom: 6vh;
    margin-right: 12px;
    font-family: Lato Regular, sans-serif;
    font-size: 18px;
    line-height: 27.5px
}

.ghost-button-white {
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    background-color: #d7d3d100;
    border: 3px solid #fff;
    border-radius: 10px;
    margin-right: 21px;
    padding: 17px 40px;
    font-family: Lato, sans-serif;
    font-size: 18px;
    font-weight: 700;
    transition: all .2s
}

.ghost-button-white:hover {
    background-color: #d7d3d11a
}

.ghost-button-white:active {
    background-color: #d7d3d133
}

.ghost-button-white.sec {
    margin-right: 0
}

.ghost-button-white.widtx {
    margin-bottom: -1px;
    margin-right: 0;
    padding-right: 30px;
    transition: all .2s
}

.ghost-button-white.widtx:hover {
    background-color: #d7d3d11a
}

.ghost-button-white.widtx:active {
    background-color: #d7d3d133
}

.ghost-button-white.widtx.last {
    margin-bottom: 0
}

.contacts-section {
    color: #020412;
    background-image: url(../images/64c500b3dbb7982002dec037_builder_call_red-min.jpg);
    background-position: 0 0;
    background-size: cover;
    background-attachment: scroll;
    height: auto;
    min-height: 430px;
    padding: 4vh 10vw
}

.second-about-section, .about-section {
    color: #020412;
    background-image: linear-gradient(#020412, #020412);
    height: auto;
    padding: 4vh 10vw 6vh
}

.filled-button-copy {
    color: #020412;
    text-align: center;
    text-transform: uppercase;
    background-color: #fff;
    border-radius: 10px;
    min-width: 100%;
    margin-top: 21px;
    margin-right: 0;
    padding: 20px 24px;
    font-family: Lato, sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    display: block
}

.filled-button-copy:hover {
    background-color: #ffffffe6
}

.filled-button-copy:active {
    background-color: #fffc
}

.section {
    background-color: #141414;
    padding: 2vh 10vw 4vh;
    display: block;
    position: static
}

.container-footer {
    object-fit: fill;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1160px;
    min-height: auto;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 0;
    display: flex
}

.footer-main-heading {
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-family: Lato, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 27.5px
}

.footer-paragraph {
    color: #fffc;
    text-align: center;
    max-width: 150px;
    margin-top: 5px;
    margin-bottom: 5px;
    font-family: Lato, sans-serif;
    font-size: 16px;
    font-weight: 300;
    text-decoration: none;
    transition: all .2s
}

.footer-paragraph:hover {
    color: #ffffffe6
}

.footer-secondary-heading {
    color: #ffffffe6;
    text-align: center;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: -2px;
    font-family: Lato, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px
}

.footer-secondary-heading.second-class {
    margin-top: 15px
}

.footer-secondary-heading.copy {
    text-transform: capitalize
}

.navbar-link {
    color: #020412;
    border-radius: 7px;
    margin: 10px 8px;
    padding: 10px 12px;
    font-family: Lato, sans-serif;
    font-size: 16px;
    font-weight: 400;
    transition: all .2s
}

.navbar-link:hover {
    color: #000c;
    background-image: linear-gradient(#d3cfce00, #d3cfce00);
    text-decoration: none;
    box-shadow: 0 2px 5px #0003
}

.navbar-link:active {
    color: #383838e6;
    box-shadow: 0 0 5px #0003
}

.navbar-link.current.w--current {
    color: #70462b
}

.image-2 {
    flex: 1;
    order: -1;
    width: 32vw;
    height: auto
}

.nav-menu {
    order: 1;
    margin-top: 7px
}

.menu-button {
    -webkit-text-fill-color: inherit;
    mix-blend-mode: normal;
    background-color: #fff;
    background-image: url(../images/64b2764aaf31e414a4291ef0_header-bg-image-min.jpg);
    background-position: 0 0;
    background-size: cover;
    background-attachment: fixed;
    background-clip: border-box;
    border-radius: 0
}

.link-block {
    order: -1
}

.flex-kontakt-child {
    flex-direction: column;
    flex: 0 auto;
    align-self: flex-start;
    align-items: center;
    display: flex
}

.div-block-7 {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    text-align: left;
    background-color: #0000;
    border-radius: 20px;
    flex-direction: column;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 30px;
    font-family: Lato Regular, sans-serif;
    display: block
}

.about-p-cont2 {
    color: #fffc;
    letter-spacing: 1px;
    -webkit-text-stroke-color: #fffc;
    text-transform: none;
    column-count: auto;
    white-space: normal;
    max-width: 505px;
    margin-bottom: 3vh;
    margin-right: 12px;
    font-family: Lato Regular, sans-serif;
    font-size: 18px;
    line-height: 27.5px
}

.text-field {
    color: #020412;
    background-color: #ffffff80;
    border: 0 solid #000;
    border-radius: 13px;
    height: 52px;
    padding-left: 22px;
    padding-right: 18px;
    font-family: Lato, sans-serif;
    font-weight: 700;
    transition: all .2s
}

.text-field:hover {
    background-color: #fff9
}

.text-field:focus {
    -webkit-text-stroke-color: #02041200;
    background-color: #fff9;
    border-width: 3px;
    border-color: #ccc
}

.text-field::placeholder {
    color: #02041299;
    font-family: Lato, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 16.5px
}

.text-field.message {
    height: 81px;
    padding-top: 0;
    padding-bottom: 23px
}

.checkbox-label {
    color: #ffffffe6;
    max-width: 435px;
    font-family: Lato, sans-serif;
    display: block
}

.checkbox {
    border: 0 solid #000;
    margin-left: -17px
}

.error-message {
    border-radius: 18px;
    padding-left: 22px;
    font-family: Lato, sans-serif;
    font-weight: 700
}

.success-message {
    background-color: #fff3;
    border-radius: 60px;
    font-family: Lato, sans-serif;
    font-weight: 700
}

.hr {
    background-color: #fff;
    border-radius: 20px;
    flex: 1;
    min-width: 20%;
    height: 2.5px
}

.hr.left-margin {
    margin-left: 10px
}

.hr.right-margin {
    margin-right: 10px
}

.div-block-8 {
    align-items: center;
    display: flex
}

.text-block {
    color: #fff;
    margin-top: 28px;
    margin-bottom: 28px;
    font-family: Lato, sans-serif;
    font-size: 25px
}

.text-block-2 {
    color: #fffc;
    font-size: 19px
}

.image-3 {
    opacity: .8;
    background-color: #fff;
    border-radius: 90px;
    margin-bottom: 30px;
    margin-right: 30px;
    padding: 18px;
    position: fixed;
    inset: auto 0% 0% auto
}

.image-3:hover {
    background-color: #e1e1e1
}

.image-3:active {
    opacity: .7
}

.link-block-2 {
    background-color: #fff;
    position: fixed
}

.link-block-3, .link-block-4, .link-block-5 {
    text-decoration: none
}

.document-buttons-block {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    flex-direction: column;
    grid-template-rows:auto auto;
    grid-template-columns:1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: flex-start;
    align-items: stretch;
    max-width: 700px;
    display: grid
}

.link-block-6 {
    text-decoration: none
}

.utility-page-wrap {
    justify-content: center;
    align-items: center;
    width: 100vw;
    max-width: 100%;
    height: 100vh;
    max-height: 100%;
    display: flex
}

.utility-page-content {
    text-align: center;
    flex-direction: column;
    width: 260px;
    display: flex
}

.utility-page-form {
    flex-direction: column;
    align-items: stretch;
    display: flex
}

.navbar-no-shadow-container {
    z-index: 5;
    background-color: #0000;
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px
}

.container-regular {
    width: 100%;
    max-width: 1260px;
    min-height: 30px;
    margin-left: auto;
    margin-right: auto
}

.navbar-wrapper {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.nav-menu-2 {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-left: 0;
    display: flex
}

.nav-link {
    color: #1a1b1f;
    letter-spacing: .25px;
    margin-left: 5px;
    margin-right: 5px;
    padding: 5px 10px;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none
}

.nav-link:hover {
    color: #1a1b1fbf
}

.nav-link:focus-visible, .nav-link[data-wf-focus-visible] {
    outline-offset: 0px;
    color: #0050bd;
    border-radius: 4px;
    outline: 2px solid #0050bd
}

.nav-dropdown {
    margin-left: 5px;
    margin-right: 5px
}

.nav-dropdown-toggle {
    letter-spacing: .25px;
    padding: 5px 30px 5px 10px;
    font-size: 14px;
    line-height: 20px
}

.nav-dropdown-toggle:hover {
    color: #1a1b1fbf
}

.nav-dropdown-toggle:focus-visible, .nav-dropdown-toggle[data-wf-focus-visible] {
    outline-offset: 0px;
    color: #0050bd;
    border-radius: 5px;
    outline: 2px solid #0050bd
}

.nav-dropdown-icon {
    margin-right: 10px
}

.nav-dropdown-list {
    background-color: #fff;
    border-radius: 12px
}

.nav-dropdown-list.w--open {
    padding-top: 10px;
    padding-bottom: 10px
}

.nav-dropdown-link {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 14px
}

.nav-dropdown-link:focus-visible, .nav-dropdown-link[data-wf-focus-visible] {
    outline-offset: 0px;
    color: #0050bd;
    border-radius: 5px;
    outline: 2px solid #0050bd
}

.nav-button-wrapper {
    margin-left: 120px
}

.button-primary {
    color: #fff;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-color: #1a1b1f;
    padding: 12px 25px;
    font-size: 12px;
    line-height: 20px;
    transition: all .2s
}

.button-primary:hover {
    color: #fff;
    background-color: #32343a
}

.button-primary:active {
    background-color: #43464d
}

.navbar-logo-center-container {
    z-index: 5;
    background-color: #0000;
    width: 1030px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 20px
}

.navbar-logo-center-container.shadow-three {
    width: 100%;
    max-width: 1140px
}

.container-3 {
    width: 100%;
    max-width: 940px;
    margin-left: auto;
    margin-right: auto
}

.navbar-wrapper-three {
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative
}

.navbar-brand-three {
    z-index: 5;
    position: absolute
}

.nav-menu-wrapper-three {
    width: 100%
}

.nav-menu-three {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
    display: flex
}

.nav-menu-block {
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    display: flex
}

.nav-link-accent {
    color: #1a1b1f;
    letter-spacing: .25px;
    margin-left: 5px;
    margin-right: 20px;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none
}

.nav-link-accent:hover {
    color: #1a1b1fbf
}

.hero-subscribe-right {
    background-color: #f5f7fa;
    border-bottom: 1px solid #e4ebf3;
    padding: 80px 30px;
    position: relative
}

.hero-wrapper {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.hero-split {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 46%;
    display: flex
}

.shadow-two {
    box-shadow: 0 4px 24px #96a3b514
}

.margin-bottom-24px {
    margin-bottom: 24px
}

.hero-form {
    margin-bottom: 12px
}

.hero-form-container {
    justify-content: flex-start;
    align-items: stretch;
    display: flex
}

.hero-form-input {
    color: #1a1b1f;
    border: 1px solid #d1d6db;
    width: 240px;
    height: auto;
    margin-bottom: 0;
    margin-right: 9px;
    padding: 5px 16px;
    font-size: 14px;
    line-height: 20px;
    transition: all .2s
}

.hero-form-input:hover, .hero-form-input:focus {
    border-color: #76879d
}

.hero-form-input::placeholder {
    color: #1a1b1fcc
}

.text-link-arrow {
    color: #1a1b1f;
    justify-content: flex-start;
    align-items: center;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
    display: flex
}

.arrow-embed {
    margin-left: 2px;
    display: flex
}

.logos-quote-divider {
    border-bottom: 1px solid #e4ebf3;
    padding: 60px 30px;
    position: relative
}

.clients-wrapper-two {
    justify-content: space-between;
    align-items: center;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    display: flex
}

.clients-info-two {
    flex-direction: column;
    align-items: flex-start;
    max-width: 350px;
    display: flex
}

.clients-quote-two {
    margin-top: 10px;
    font-size: 32px;
    font-weight: 600;
    line-height: 40px
}

.clients-divider {
    background-color: #e4ebf3;
    width: 90%;
    height: 1px;
    margin-top: 20px;
    margin-bottom: 20px
}

.clients-info {
    align-items: center;
    font-size: 14px;
    line-height: 20px;
    display: flex
}

.clients-info-image {
    object-fit: cover;
    width: 50px;
    height: 50px;
    margin-right: 24px
}

.clients-grid {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    grid-template-rows:auto auto;
    grid-template-columns:1fr 1fr;
    grid-auto-columns: 1fr;
    place-items: center;
    display: grid
}

.hero-without-image {
    background-color: #f5f7fa;
    border-bottom: 1px solid #e4ebf3;
    padding: 80px 30px;
    position: relative
}

.container-4 {
    width: 100%;
    max-width: 940px;
    margin-left: auto;
    margin-right: auto
}

.hero-wrapper-two {
    text-align: center;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
    display: flex
}

.margin-bottom-24px-2 {
    margin-bottom: 24px
}

.button-primary-2 {
    color: #fff;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-color: #1a1b1f;
    padding: 12px 25px;
    font-size: 12px;
    line-height: 20px;
    transition: all .2s
}

.button-primary-2:hover {
    color: #fff;
    background-color: #32343a
}

.button-primary-2:active {
    background-color: #43464d
}

.features-list {
    border-bottom: 1px solid #e4ebf3;
    padding: 80px 30px;
    position: relative
}

.features-wrapper-two {
    justify-content: space-between;
    align-items: flex-start;
    display: flex
}

.features-left {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 40%;
    display: flex
}

.features-paragraph {
    margin-bottom: 24px
}

.text-link-arrow-2 {
    color: #1a1b1f;
    justify-content: flex-start;
    align-items: center;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
    display: flex
}

.arrow-embed-2 {
    margin-left: 2px;
    display: flex
}

.features-right {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 46%;
    margin-bottom: -16px;
    display: flex
}

.features-block-two {
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 16px;
    display: flex
}

.features-image {
    object-fit: cover;
    width: 80px;
    height: 80px;
    margin-right: 16px
}

.paragraph {
    color: #000;
    font-family: Lato Regular, sans-serif;
    font-size: 16px;
    line-height: 27.5px
}

.heading-2, .heading-3 {
    font-family: Lato Regular, sans-serif
}

.pricing-items {
    text-align: left;
    -webkit-text-fill-color: inherit;
    background-color: #fff;
    background-image: url(../images/668e9823eb2f5524957de24e_Malerarbeiten-MAZE-Bau-1024x682.jpg);
    background-position: 0 0;
    background-size: cover;
    background-clip: border-box;
    border-bottom: 1px solid #e4ebf3;
    padding: 80px 30px;
    position: relative
}

.pricing-wrapper-two {
    flex-direction: column;
    margin-bottom: -40px;
    display: flex
}

.pricing-card-two {
    background-color: #f5f7fa;
    justify-content: space-between;
    margin-bottom: 40px;
    padding: 40px 32px;
    display: flex
}

.pricing-image-two {
    max-width: 30%;
    margin-right: 40px
}

.pricing-content {
    background-color: #fff;
    flex-direction: column;
    flex: 1;
    padding: 16px;
    display: flex
}

.tagline {
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 16px
}

.pricing-info {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.pricing-divider-two {
    background-color: #e4ebf3;
    height: 1px;
    margin: 9px -16px 16px
}

.pricing-details {
    justify-content: space-between;
    align-items: flex-start;
    display: flex
}

.pricing-block {
    margin-bottom: -10px
}

.pricing-details-text {
    margin-bottom: 8px
}

.features-metrics {
    background-color: #f5f7fa;
    border-bottom: 1px solid #e4ebf3;
    padding: 60px 30px;
    position: relative
}

.features-wrapper {
    justify-content: space-around;
    align-items: center;
    display: flex
}

.features-block {
    text-align: center;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    display: flex
}

.features-title {
    margin-bottom: 8px;
    font-size: 40px;
    font-weight: 600;
    line-height: 48px
}

.features-title-small {
    font-size: 24px;
    line-height: 32px
}

.text-block-3, .text-block-4, .text-block-5 {
    font-family: Lato Regular, sans-serif
}

.hero-heading-left {
    background-color: #f5f7fa;
    border-bottom: 1px solid #e4ebf3;
    padding: 80px 30px;
    position: relative
}

.container-5 {
    width: 100%;
    max-width: 940px;
    margin-left: auto;
    margin-right: auto
}

.hero-wrapper-2 {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.hero-split-2 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 46%;
    display: flex
}

.margin-bottom-24px-3 {
    margin-bottom: 24px
}

.button-primary-3 {
    color: #fff;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-color: #1a1b1f;
    padding: 12px 25px;
    font-size: 12px;
    line-height: 20px;
    transition: all .2s
}

.button-primary-3:hover {
    color: #fff;
    background-color: #32343a
}

.button-primary-3:active {
    background-color: #43464d
}

.shadow-two-2 {
    box-shadow: 0 4px 24px #96a3b514
}

.div-block-9 {
    width: 100%;
    height: 300px
}

.dropdown-toggle {
    width: 1500px
}

.text-block-6 {
    width: 100%;
    min-width: 100%
}

.dropdown-toggle-2 {
    width: 100%;
    display: block
}

.text-block-7 {
    width: 100%
}

.hero-without-image-2 {
    background-color: #f5f7fa;
    border-bottom: 1px solid #e4ebf3;
    padding: 80px 30px;
    position: relative
}

.container-6 {
    width: 100%;
    max-width: 940px;
    margin-left: auto;
    margin-right: auto
}

.hero-wrapper-two-2 {
    text-align: center;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
    display: flex
}

.margin-bottom-24px-4 {
    margin-bottom: 24px
}

.button-primary-4 {
    color: #fff;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-color: #1a1b1f;
    padding: 12px 25px;
    font-size: 12px;
    line-height: 20px;
    transition: all .2s
}

.button-primary-4:hover {
    color: #fff;
    background-color: #32343a
}

.button-primary-4:active {
    background-color: #43464d
}

.accordeon {
    min-height: 100px
}

.accordeon-1 {
    text-align: left;
    background-color: #fff;
    border-bottom: 1px solid #e4ebf3;
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-start;
    min-width: auto;
    height: auto;
    min-height: auto;
    padding: 11px 0 10px;
    display: flex;
    position: relative
}

.container-7 {
    width: 100%;
    max-width: 940px;
    margin-left: auto;
    margin-right: auto
}

.hero-wrapper-two-3 {
    text-align: center;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
    display: flex
}

.margin-bottom-24px-5 {
    margin-bottom: 24px
}

.button-primary-5 {
    color: #fff;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-color: #1a1b1f;
    padding: 12px 25px;
    font-size: 12px;
    line-height: 20px;
    transition: all .2s
}

.button-primary-5:hover {
    color: #fff;
    background-color: #32343a
}

.button-primary-5:active {
    background-color: #43464d
}

.hero-image {
    width: 100%;
    margin-top: 50px
}

.accordeon-item-1 {
    min-height: 100px
}

.accordion-convert {
    border: 1px #000
}

.accordion-title {
    margin-left: auto;
    margin-right: auto
}

.div-block-10 {
    height: 1px
}

.div-block-11 {
    padding-left: 20px;
    display: none
}

.div-block-12 {
    text-align: left;
    flex-flow: column;
    align-items: flex-start;
    max-width: none;
    display: flex
}

.container-8 {
    max-width: 1160px
}

.section-2 {
    display: none
}

.image-4 {
    text-align: right;
    overflow-wrap: normal;
    float: right;
    text-decoration-style: solid
}

.image-5 {
    margin-top: 20px;
    font-size: 34px;
    line-height: 100%
}

.heading-4 {
    float: left;
    width: 90%
}

.bold-text {
    display: block
}

.div-block-13 {
    float: right;
    text-align: left;
    height: 100%;
    padding: 10px
}

.paragraph-2 {
    display: block
}

.section-3 {
    display: block;
    position: static
}

.paragraph-3 {
    display: block
}

@media screen and (max-width: 991px) {
    .hero-section {
        background-image: linear-gradient(#d7d3d1, #d7d3d1);
        min-height: 100vh;
        padding-top: 30vh;
        padding-bottom: 6vh
    }

    .heading {
        max-width: 634px
    }

    .div-block-2 {
        margin-top: -25px
    }

    .about-heading {
        font-size: 59px
    }

    .service-block-left {
        flex-direction: column
    }

    .image {
        width: 100%;
        max-width: 100%;
        height: 50vh
    }

    .service-text-block {
        max-width: 80vw;
        margin-top: 18px;
        margin-bottom: 40px
    }

    .services-heading {
        max-width: 448px
    }

    .service-block-right {
        flex-direction: column
    }

    .container-2 {
        padding-top: 11px;
        padding-right: 6vw;
        display: inline-block
    }

    .contacts-section {
        background-position: -230px -16px
    }

    .navbar-link {
        color: #d7d3d1;
        text-align: center;
        font-size: 29px;
        font-weight: 700
    }

    .navbar-link.current {
        color: #d7d3d1
    }

    .navbar-link.contact-style {
        color: #d7d3d1;
        background-color: #040721;
        border-radius: 10px;
        padding-top: 10px
    }

    .image-2 {
        min-width: 235px;
        max-width: 400px
    }

    .nav-menu {
        background-color: #020412;
        border-radius: 20px;
        margin-left: 50vw;
        margin-right: 5vw;
        padding: 21px 11px
    }

    .menu-button {
        background-image: linear-gradient(#d7d3d1, #d7d3d1);
        min-height: auto;
        padding-bottom: 12vh
    }

    .menu-button.menu-btn-bkg {
        background-image: linear-gradient(#d7d3d100, #d7d3d100);
        border-radius: 10px;
        padding-bottom: 18px;
        padding-left: 18px;
        transition: opacity .2s
    }

    .menu-button.menu-btn-bkg.w--open {
        padding-right: 18px
    }

    .icon {
        color: #020412;
        border: 1px solid #0000;
        margin-top: 5px;
        font-size: 32px
    }

    .flex-kontakt-child {
        margin-left: 17px;
        margin-right: 17px
    }

    .document-buttons-block {
        display: flex
    }

    .nav-menu-wrapper {
        background-color: #0000
    }

    .nav-menu-2 {
        background-color: #fff;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        padding-left: 0;
        display: flex
    }

    .nav-link {
        padding-left: 5px;
        padding-right: 5px
    }

    .nav-dropdown-list.shadow-three.w--open {
        position: absolute
    }

    .nav-button-wrapper {
        width: 100%;
        margin-left: 0
    }

    .menu-button-2 {
        padding: 12px
    }

    .menu-button-2.w--open {
        color: #fff;
        background-color: #a6b1bf
    }

    .container-3 {
        max-width: 728px
    }

    .navbar-wrapper-three {
        justify-content: space-between
    }

    .navbar-brand-three {
        position: relative
    }

    .nav-menu-wrapper-three {
        background-color: #0000;
        top: 70px
    }

    .nav-menu-three {
        background-color: #fff;
        border-radius: 50px;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 10px;
        padding: 20px;
        display: flex;
        box-shadow: 0 8px 50px #0000000d
    }

    .hero-wrapper {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: -40px
    }

    .hero-split {
        max-width: 100%;
        margin-bottom: 40px
    }

    .clients-quote-two {
        font-size: 28px;
        line-height: 36px
    }

    .container-4 {
        max-width: 728px
    }

    .features-wrapper-two {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    .features-left {
        max-width: 100%;
        margin-bottom: 40px
    }

    .features-right {
        max-width: 100%
    }

    .pricing-card-two {
        align-items: center;
        padding: 24px
    }

    .pricing-image-two {
        margin-right: 20px
    }

    .features-wrapper {
        justify-content: space-between
    }

    .container-5 {
        max-width: 728px
    }

    .hero-wrapper-2 {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: -40px
    }

    .hero-split-2 {
        max-width: 100%;
        margin-bottom: 40px
    }

    .container-6, .container-7 {
        max-width: 728px
    }
}

@media screen and (max-width: 767px) {
    .heading {
        margin-top: 20px;
        margin-bottom: 3vh;
        font-size: 27px
    }

    .filled-button, .ghost-button {
        font-size: 15px
    }

    .div-block-2 {
        margin-top: -105px;
        margin-bottom: -15px
    }

    .about-block {
        flex-direction: column
    }

    .about-heading {
        font-size: 46px
    }

    .about-p {
        margin-top: 5px
    }

    .ghost-button-white {
        margin-right: 0;
        display: block
    }

    .ghost-button-white.sec {
        margin-top: 10px
    }

    .ghost-button-white.widtx {
        margin-top: 0;
        margin-right: 0;
        display: block
    }

    .contacts-section {
        background-position: -505px -16px
    }

    .filled-button-copy {
        margin-top: 10px
    }

    .container-footer {
        flex-direction: column;
        align-items: center
    }

    .footer-paragraph {
        max-width: 287px
    }

    .image-2 {
        max-width: 250px
    }

    .menu-button {
        padding-left: 7vw;
        padding-right: 7vw
    }

    .menu-button.menu-btn-bkg {
        padding-right: 18px
    }

    .menu-button.menu-btn-bkg.w--open {
        padding-left: 18px
    }

    .icon {
        font-size: 32px
    }

    .div-block-3 {
        flex-direction: column;
        align-items: flex-start;
        display: block
    }

    .div-block-4, .div-block-5 {
        margin-top: 20px
    }

    .flex-kontakt-child {
        align-self: center;
        margin-top: 20px
    }

    .navbar-brand {
        padding-left: 0
    }

    .nav-menu-2 {
        flex-direction: column;
        padding-bottom: 30px;
        padding-left: 0
    }

    .nav-link {
        padding-top: 10px;
        padding-bottom: 10px;
        display: inline-block
    }

    .nav-dropdown {
        flex-direction: column;
        align-items: center;
        display: flex
    }

    .nav-dropdown-toggle {
        padding-top: 10px;
        padding-bottom: 10px
    }

    .nav-dropdown-list.shadow-three {
        box-shadow: 0 8px 50px #0000000d
    }

    .nav-dropdown-list.shadow-three.w--open {
        position: relative
    }

    .nav-dropdown-list.shadow-three.mobile-shadow-hide {
        box-shadow: none
    }

    .mobile-margin-top-10 {
        margin-top: 10px
    }

    .navbar-brand-three {
        padding-left: 0
    }

    .nav-menu-three {
        border-radius: 20px;
        flex-direction: column;
        padding-bottom: 30px
    }

    .nav-menu-block {
        flex-direction: column
    }

    .nav-link-accent {
        margin-right: 5px;
        padding-top: 10px;
        padding-bottom: 10px;
        display: inline-block
    }

    .hero-subscribe-right, .logos-quote-divider {
        padding: 60px 15px
    }

    .clients-wrapper-two {
        flex-direction: column
    }

    .clients-info-two {
        max-width: none;
        margin-bottom: 40px
    }

    .clients-grid {
        grid-column-gap: 40px;
        grid-template-columns:1fr 1fr 1fr;
        margin-top: 15px
    }

    .hero-without-image, .features-list, .pricing-items {
        padding: 60px 15px
    }

    .pricing-card-two {
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch
    }

    .pricing-image-two {
        max-width: 100%;
        margin-bottom: 30px;
        margin-right: 0
    }

    .features-metrics {
        padding: 60px 15px
    }

    .features-wrapper {
        flex-wrap: wrap;
        margin-bottom: -40px
    }

    .features-block {
        width: 50%;
        margin-bottom: 40px
    }

    .hero-heading-left, .hero-without-image-2, .accordeon-1 {
        padding: 60px 15px
    }
}

@media screen and (max-width: 479px) {
    .container {
        text-align: center
    }

    .container.left-based {
        align-items: center
    }

    .heading {
        text-align: center;
        margin-top: 0;
        font-size: 27px;
        line-height: 62px
    }

    .filled-button {
        margin-right: 0;
        padding-left: 10px;
        padding-right: 10px;
        display: block
    }

    .ghost-button {
        margin-top: 10px;
        padding-left: 10px;
        padding-right: 10px;
        display: block
    }

    .about-block {
        align-items: center;
        margin-top: -20px
    }

    .about-heading {
        text-align: center;
        margin-bottom: 2vh;
        font-size: 32px;
        line-height: 50px
    }

    .about-stat-block {
        flex-direction: column;
        align-items: center;
        margin-top: 15px;
        display: none
    }

    .stat-element {
        max-width: 90vw;
        margin-top: 14px;
        margin-bottom: 14px
    }

    .about-p {
        text-align: left;
        margin-right: 0;
        font-size: 16px
    }

    .about-p.margin-top {
        margin-top: 20px
    }

    .image {
        height: 30vh
    }

    .left-block-copy {
        align-self: center
    }

    .about-p-second {
        text-align: left;
        margin-top: 10px;
        font-size: 16px
    }

    .ghost-button-white {
        font-size: 15px
    }

    .ghost-button-white.widtx {
        margin-top: 0;
        margin-right: 0;
        display: block
    }

    .contacts-section {
        background-position: -682px -16px
    }

    .second-about-section {
        padding-left: 3vw;
        padding-right: 3vw
    }

    .container-footer {
        flex-direction: column;
        align-items: center
    }

    .footer-paragraph {
        max-width: 90vw
    }

    .image-2 {
        width: 56vw;
        min-width: 56vw;
        max-width: 56vw
    }

    .nav-menu {
        margin-left: 20px;
        margin-right: 20px
    }

    .icon {
        font-size: 32px
    }

    .div-block-4, .div-block-5, .flex-kontakt-child {
        margin-top: 20px
    }

    .about-p-cont2 {
        margin-right: 0
    }

    .text-field::placeholder {
        font-size: 17px
    }

    .checkbox-label {
        max-width: 393px
    }

    .nav-menu-2 {
        flex-direction: column
    }

    .nav-button-wrapper {
        width: auto
    }

    .container-3 {
        max-width: none
    }

    .nav-menu-three {
        flex-direction: column
    }

    .hero-form {
        align-self: stretch;
        margin-bottom: 15px
    }

    .hero-form-container {
        flex-direction: column;
        align-items: flex-start
    }

    .hero-form-input {
        width: 100%;
        height: 48px;
        margin-bottom: 10px
    }

    .clients-quote-two {
        font-size: 24px;
        line-height: 32px
    }

    .clients-info-image {
        margin-right: 16px
    }

    .clients-grid {
        grid-column-gap: 20px;
        grid-row-gap: 40px;
        grid-template-columns:1fr 1fr
    }

    .container-4 {
        max-width: none
    }

    .features-right {
        margin-bottom: -30px
    }

    .features-block-two {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: 30px
    }

    .features-image {
        margin-bottom: 10px
    }

    .pricing-card-two {
        padding: 15px
    }

    .pricing-info {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    .pricing-details {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: -10px
    }

    .pricing-block {
        margin-bottom: 10px
    }

    .container-5, .container-6, .container-7 {
        max-width: none
    }
}

/* Modern Design Enhancements */
:root {
    --primary-gradient: linear-gradient(135deg, #000000 0%, #333333 100%);
    --secondary-gradient: linear-gradient(135deg, #ffffff 0%, #f5f5f5 100%);
    --dark-gradient: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);
    --accent-color: #000000;
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.2)
}

* {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)
}

body {
    scroll-behavior: smooth
}

html {
    scroll-behavior: smooth
}

a[href^="#"] {
    scroll-behavior: smooth;
    transition: all 0.3s ease
}

.navbar {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95) !important;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1)
}

.navbar-modern {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    transition: background 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: background, box-shadow
}

.navbar-container-modern {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 1.5rem 5vw;
    position: relative;
    transition: padding 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: padding
}

@media (max-width: 991px) {
    .navbar-container-modern {
        padding: 0.75rem 2vw !important
    }
}

@media (max-width: 767px) {
    .navbar-container-modern {
        padding: 0.5rem 1.5vw !important
    }
}

.navbar-modern.scrolled .navbar-container-modern {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important
}

.navbar-logo-modern {
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
    z-index: 1001
}

.navbar-logo-modern:hover {
    transform: scale(1.05)
}

.navbar-logo-img {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
    max-width: 120px;
    height: auto;
    will-change: transform, max-width
}

.navbar-modern.scrolled .navbar-logo-img {
    transform: scale(0.9)
}

.nav-menu-modern {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

@media (max-width: 991px) {
    .nav-menu-modern {
        flex-direction: column;
        gap: 1rem;
        padding: 2rem 0
    }
}

.navbar-link-modern {
    position: relative;
    overflow: hidden;
    padding: 0.75rem 1.5rem;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: none;
    color: #000;
    text-decoration: none;
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    will-change: transform, padding, font-size
}

.navbar-modern.scrolled .navbar-link-modern {
    padding: 0.6rem 1.25rem;
    font-size: 14px
}

.navbar-link-modern span {
    position: relative;
    z-index: 2
}

.navbar-link-modern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)
}

.navbar-link-modern::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    width: 0;
    height: 2px;
    background: #000;
    border-radius: 2px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(-50%)
}

.navbar-link-modern:hover::before {
    opacity: 1;
    transform: scale(1)
}

.navbar-link-modern:hover::after {
    width: 60%
}

.navbar-link-modern:hover {
    color: #000 !important;
    transform: translateY(-2px)
}

.navbar-link-modern.current {
    color: #000 !important;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.08) !important
}

.navbar-link-modern.current::after {
    width: 60%;
    opacity: 1
}

.navbar-link-modern.current::after {
    width: 60%;
    opacity: 1
}

.navbar-link-cta {
    background: #000 !important;
    color: #fff !important;
    padding: 0.75rem 2rem;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)
}

.navbar-modern.scrolled .navbar-link-cta {
    padding: 0.6rem 1.5rem;
    font-size: 14px
}

.navbar-link-cta::before {
    background: rgba(255, 255, 255, 0.1) !important
}

.navbar-link-cta::after {
    display: none
}

.navbar-link-cta:hover {
    background: #1a1a1a !important;
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25)
}

.menu-button-modern {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1001
}

@media (max-width: 991px) {
    .menu-button-modern {
        display: flex
    }
}

.menu-button-modern:hover {
    background: rgba(0, 0, 0, 0.1);
    transform: scale(1.05)
}

.menu-button-modern.w--open {
    background: #000
}

.menu-icon-modern {
    color: #000;
    font-size: 24px;
    transition: all 0.3s ease
}

.menu-button-modern.w--open .menu-icon-modern {
    color: #fff
}

@media (max-width: 991px) {
    .w-nav[data-collapse=medium] .w-nav-menu.nav-menu-modern, .w-nav-menu.nav-menu-modern {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 320px !important;
        max-width: 85vw !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(20px) !important;
        box-shadow: 10px 0 40px rgba(0, 0, 0, 0.15) !important;
        padding: 6rem 2rem 2rem !important;
        border-radius: 0 24px 24px 0 !important;
        transform: translateX(-100%) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow-y: auto !important;
        z-index: 999 !important;
        height: 100vh !important
    }

    .w-nav[data-collapse=medium] .w-nav-menu.nav-menu-modern[data-nav-menu-open], .w-nav[data-collapse=medium] .w-nav-menu.nav-menu-modern.w--open, .w-nav[data-collapse=medium] [data-nav-menu-open].nav-menu-modern, .w-nav-menu.nav-menu-modern[data-nav-menu-open], .w-nav-menu.nav-menu-modern.w--open, [data-nav-menu-open].nav-menu-modern {
        transform: translateX(0) !important;
        opacity: 1 !important;
        visibility: visible !important
    }

    .w-nav-overlay {
        background: rgba(0, 0, 0, 0.5) !important;
        backdrop-filter: blur(2px) !important;
        transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important
    }

    .w-nav[data-animation=over-left] .w-nav-menu.nav-menu-modern {
        left: 0 !important;
        right: auto !important
    }

    .navbar-link-modern {
        width: 100%;
        justify-content: flex-start;
        padding: 1rem 1.5rem;
        border-radius: 12px;
        margin-bottom: 0.5rem
    }

    .navbar-link-cta {
        justify-content: center;
        margin-top: 1rem
    }
}

.hero-section {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10vh 5vw;
    background: linear-gradient(135deg, #ffffff 0%, #f5f5f5 50%, #ffffff 100%);
    background-size: 200% 200%;
    animation: backgroundShift 15s ease-in-out infinite
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 30%, rgba(0, 0, 0, 0.04) 0%, transparent 40%), radial-gradient(circle at 80% 70%, rgba(0, 0, 0, 0.03) 0%, transparent 45%), radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.02) 0%, transparent 60%), linear-gradient(45deg, transparent 30%, rgba(0, 0, 0, 0.01) 50%, transparent 70%);
    z-index: 0;
    animation: meshAnimation 30s ease-in-out infinite;
    opacity: 0.6
}

.hero-section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.01) 2px, rgba(0, 0, 0, 0.01) 4px), repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(0, 0, 0, 0.01) 2px, rgba(0, 0, 0, 0.01) 4px);
    background-size: 50px 50px;
    z-index: 0;
    opacity: 0.3;
    animation: meshAnimation 40s ease-in-out infinite reverse
}

.hero-decorative-elements {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    background: radial-gradient(circle at 30% 20%, rgba(0, 0, 0, 0.02) 0%, transparent 50%), radial-gradient(circle at 70% 80%, rgba(0, 0, 0, 0.015) 0%, transparent 50%);
    background-size: 200% 200%;
    animation: meshAnimation 25s ease-in-out infinite
}

.hero-circle {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    animation: float 20s ease-in-out infinite;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.02) 0%, transparent 70%)
}

.hero-circle-1 {
    width: 400px;
    height: 400px;
    top: -200px;
    right: -200px;
    animation-delay: 0s;
    box-shadow: 0 0 100px rgba(0, 0, 0, 0.05) inset
}

.hero-circle-2 {
    width: 300px;
    height: 300px;
    bottom: -150px;
    left: -150px;
    animation-delay: 2s;
    border-width: 2px;
    box-shadow: 0 0 80px rgba(0, 0, 0, 0.04) inset
}

.hero-line {
    position: absolute;
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.08), transparent);
    height: 2px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05)
}

.hero-line-1 {
    width: 200px;
    top: 30%;
    right: 10%;
    transform: rotate(45deg);
    animation: slideInRight 1s ease-out
}

.hero-line-2 {
    width: 150px;
    bottom: 25%;
    left: 15%;
    transform: rotate(-30deg);
    animation: slideInLeft 1.2s ease-out
}

.hero-container-modern {
    position: relative;
    z-index: 2;
    max-width: 2000px;
    padding: 0 5vw
}

.hero-content-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    text-align: center
}

.hero-badge {
    display: inline-block;
    margin-bottom: 2rem;
    padding: 8px 24px;
    background: rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #000;
    animation: fadeInUp 0.8s ease-out
}

.hero-badge-text {
    position: relative
}

.hero-main-content {
    max-width: 100%;
    margin: 0 auto
}

.hero-heading-modern {
    font-size: clamp(48px, 8vw, 120px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.04em;
    margin-bottom: 2rem;
    text-align: center;
    color: #000
}

.hero-heading-line {
    display: block;
    opacity: 0;
    transform: translateY(50px);
    animation: fadeInUp 0.8s ease-out forwards
}

.hero-heading-line-1 {
    animation-delay: 0.2s;
    font-size: 0.5em;
    font-weight: 300;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    color: #666
}

.hero-heading-line-2 {
    animation-delay: 0.4s;
    font-size: 1em;
    font-weight: 900;
    background: linear-gradient(180deg, #000 0%, #333 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.3rem
}

.hero-heading-line-3 {
    animation-delay: 0.6s;
    font-size: 0.6em;
    font-weight: 700;
    color: #000;
    margin-top: 0.5rem
}

.hero-subtitle {
    font-size: clamp(16px, 2vw, 22px);
    line-height: 1.6;
    color: #555;
    max-width: 700px;
    margin: 0 auto 3rem;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.8s ease-out 0.8s forwards;
    font-weight: 300;
    letter-spacing: 0.02em
}

.hero-stats-preview {
    display: flex;
    justify-content: center;
    gap: 4rem;
    margin-bottom: 4rem;
    flex-wrap: wrap;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.8s ease-out 1s forwards
}

@media (max-width: 767px) {
    .hero-stats-preview {
        gap: 2rem
    }
}

.hero-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem
}

.hero-stat-number {
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 900;
    color: #000;
    line-height: 1;
    font-family: 'Lato Black', sans-serif
}

.hero-stat-label {
    font-size: clamp(12px, 1.5vw, 14px);
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600
}

.hero-cta-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.8s ease-out 1.2s forwards
}

@media (max-width: 767px) {
    .hero-cta-group {
        flex-direction: column;
        width: 100%
    }
}

.hero-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 20px 40px;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 50px;
    position: relative;
    overflow: hidden;
    background: #000;
    color: #fff;
    border: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2)
}

.hero-cta-primary::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s
}

.hero-cta-primary:hover::before {
    width: 400px;
    height: 400px
}

.hero-cta-primary:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.3)
}

.hero-cta-primary:active {
    transform: translateY(-2px)
}

.hero-cta-arrow {
    transition: transform 0.3s ease
}

.hero-cta-primary:hover .hero-cta-arrow {
    transform: translateX(5px)
}

.hero-cta-secondary {
    padding: 18px 38px;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 50px;
    border: 2px solid #000;
    background: transparent;
    color: #000;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1)
}

.hero-cta-secondary:hover {
    background: #000;
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15)
}

.hero-scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    opacity: 0;
    animation: fadeInUp 1s ease-out 1.5s forwards
}

.hero-scroll-line {
    width: 2px;
    height: 40px;
    background: linear-gradient(180deg, #000, transparent);
    border-radius: 2px;
    animation: scrollIndicator 2s ease-in-out infinite
}

.hero-scroll-text {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #666;
    font-weight: 600
}

@keyframes scrollIndicator {
    0%, 100% {
        transform: translateY(0);
        opacity: 1
    }
    50% {
        transform: translateY(10px);
        opacity: 0.5
    }
}

@keyframes backgroundShift {
    0%, 100% {
        background-position: 0% 50%
    }
    50% {
        background-position: 100% 50%
    }
}

@keyframes meshAnimation {
    0% {
        transform: translate(0, 0) scale(1)
    }
    33% {
        transform: translate(30px, -30px) scale(1.1)
    }
    66% {
        transform: translate(-20px, 20px) scale(0.9)
    }
    100% {
        transform: translate(0, 0) scale(1)
    }
}

@media (min-width: 1200px) {
    .hero-section {
        padding: 15vh 5vw 20vh
    }
}

@media (max-width: 991px) {
    .hero-section {
        min-height: 90vh;
        padding-top: 12vh;
        padding-left: 5vw;
        padding-right: 5vw;
        padding-bottom: 10vh
    }

    .hero-heading-modern {
        font-size: clamp(36px, 10vw, 64px)
    }

    .hero-subtitle {
        font-size: clamp(14px, 3vw, 18px)
    }
}

@media (max-width: 767px) {
    .hero-section {
        min-height: 85vh;
        padding-top: 10vh;
        padding-left: 5vw;
        padding-right: 5vw;
        padding-bottom: 8vh
    }

    .hero-circle-1, .hero-circle-2 {
        display: none
    }

    .hero-stats-preview {
        gap: 1.5rem;
        margin-bottom: 2.5rem
    }

    .hero-cta-primary, .hero-cta-secondary {
        width: 100%;
        max-width: 300px;
        justify-content: center
    }

    .hero-scroll-indicator {
        bottom: 20px
    }
}

.heading {
    color: #000000;
    text-shadow: none;
    font-weight: 700;
    letter-spacing: -1px
}

.hero-heading-modern .heading {
    color: inherit
}

.filled-button {
    background: var(--primary-gradient) !important;
    box-shadow: var(--shadow-md);
    border: none !important;
    position: relative;
    overflow: hidden
}

.filled-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s
}

.filled-button:hover::before {
    width: 300px;
    height: 300px
}

.filled-button:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg)
}

.ghost-button {
    border: 2px solid #000000;
    background: transparent;
    position: relative;
    overflow: hidden
}

.ghost-button:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    background: #000000;
    color: white !important
}

.about-section {
    background: linear-gradient(180deg, #000000 0%, #1a1a1a 50%, #000000 100%) !important;
    position: relative;
    overflow: hidden
}

.about-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.08)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>'), radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.03) 0%, transparent 50%), radial-gradient(circle at 70% 80%, rgba(255, 255, 255, 0.02) 0%, transparent 50%);
    opacity: 0.5;
    animation: meshAnimation 35s ease-in-out infinite
}

.stat-element {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease
}

.stat-element:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: var(--shadow-lg)
}

.about-heading-copy {
    color: #ffffff
}

.services-section {
    background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%) !important
}

.service-block-left, .service-block-right {
    margin-bottom: 60px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: all 0.4s ease;
    position: relative
}

.service-block-left:hover, .service-block-right:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg)
}

.service-block-left::after, .service-block-right::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000000;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    border-radius: 24px
}

.service-block-left:hover::after, .service-block-right:hover::after {
    opacity: 0.05
}

.image {
    transition: transform 0.5s ease
}

.service-block-left:hover .image, .service-block-right:hover .image {
    transform: scale(1.05)
}

.service-text-block {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 40px;
    border-radius: 20px;
    margin: 20px
}

.services-heading {
    color: #000000
}

.link {
    position: relative;
    display: inline-block
}

.link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #000000;
    transition: width 0.3s ease
}

.link:hover::after {
    width: 100%
}

.link:hover {
    text-decoration: none;
    transform: translateX(5px)
}

.contacts-section {
    position: relative
}

.contacts-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.9) 100%)
}

.div-block-7 {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: var(--shadow-lg)
}

.text-field {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid transparent !important;
    transition: all 0.3s ease
}

.text-field:focus {
    border-color: #000000 !important;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px)
}

.filled-button-copy {
    background: var(--primary-gradient) !important;
    box-shadow: var(--shadow-md);
    border: none !important
}

.filled-button-copy:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg)
}

.ghost-button-white {
    border: 2px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease
}

.ghost-button-white:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: white;
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2)
}

.section {
    background: linear-gradient(180deg, #0a0e27 0%, #000000 100%) !important
}

.footer-paragraph {
    transition: all 0.3s ease
}

.footer-paragraph:hover {
    transform: translateX(5px);
    color: #ffffff !important
}

.link-block-2 {
    background: #000000 !important;
    box-shadow: var(--shadow-lg);
    border-radius: 50px !important;
    transition: all 0.3s ease
}

.link-block-2:hover {
    transform: translateY(-5px) scale(1.1);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3)
}

.document-buttons-block {
    gap: 15px
}

.ghost-button-white.widtx {
    transition: all 0.3s ease
}

.ghost-button-white.widtx:hover {
    background: rgba(255, 255, 255, 0.15) !important
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.service-text-block, .stat-element, .about-p {
    animation: fadeInUp 0.6s ease-out
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: -0.5px
}

@media (max-width: 767px) {
    .service-text-block {
        margin: 15px;
        padding: 25px
    }

    .stat-element {
        padding: 20px
    }
}

/* Enhanced Animations & Transitions */
section {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1)
}

section.visible {
    opacity: 1;
    transform: translateY(0)
}

.about-section, .services-section, .second-about-section, .contacts-section {
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-block {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.8s ease-out 0.2s, transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s
}

.about-block.animate {
    opacity: 1;
    transform: translateX(0)
}

.left-block, .right-block {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1)
}

.left-block.animate {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s
}

.right-block.animate {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s
}

.about-stat-block {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s ease-out 0.4s, transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s
}

.about-stat-block.animate {
    opacity: 1;
    transform: translateY(0)
}

.stat-element {
    opacity: 0;
    transform: scale(0.8) translateY(30px);
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.stat-element.animate {
    opacity: 1;
    transform: scale(1) translateY(0)
}

.stat-element:nth-child(1) {
    transition-delay: 0.1s
}

.stat-element:nth-child(2) {
    transition-delay: 0.2s
}

.stat-element:nth-child(3) {
    transition-delay: 0.3s
}

.service-block-left, .service-block-right {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1)
}

.service-block-right {
    transform: translateX(50px)
}

.service-block-left.animate, .service-block-right.animate {
    opacity: 1;
    transform: translateX(0)
}

.service-block-left:nth-child(odd) {
    transition-delay: 0.1s
}

.service-block-right:nth-child(even) {
    transition-delay: 0.2s
}

.service-text-block {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.3s
}

.service-text-block.animate {
    opacity: 1;
    transform: translateY(0) scale(1)
}

.image {
    opacity: 0;
    transform: scale(1.1);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s
}

.image.animate {
    opacity: 1;
    transform: scale(1)
}

.about-heading {
    opacity: 0;
    transform: translateY(-30px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-heading.animate {
    opacity: 1;
    transform: translateY(0)
}

.div-block-2 {
    opacity: 0;
    transform: translateY(50px) scale(0.95);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1)
}

.div-block-2.animate {
    opacity: 1;
    transform: translateY(0) scale(1)
}

.hero-main-content.div-block-2 {
    opacity: 1;
    transform: none
}

.heading {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out 0.2s, transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s
}

.heading.animate {
    opacity: 1;
    transform: translateY(0)
}

.filled-button, .ghost-button {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.filled-button.animate, .ghost-button.animate {
    opacity: 1;
    transform: translateY(0) scale(1)
}

.ghost-button {
    transition-delay: 0.3s
}

.div-block-7 {
    opacity: 0;
    transform: translateY(40px) scale(0.95);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1)
}

.div-block-7.animate {
    opacity: 1;
    transform: translateY(0) scale(1)
}

.text-field {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1)
}

.text-field:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1)
}

.document-buttons-block {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s
}

.document-buttons-block.animate {
    opacity: 1;
    transform: translateY(0)
}

.ghost-button-white.widtx {
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1)
}

.ghost-button-white.widtx.animate {
    opacity: 1;
    transform: translateX(0)
}

.ghost-button-white.widtx:nth-child(1) {
    transition-delay: 0.1s
}

.ghost-button-white.widtx:nth-child(2) {
    transition-delay: 0.2s
}

.ghost-button-white.widtx:nth-child(3) {
    transition-delay: 0.3s
}

.ghost-button-white.widtx:nth-child(4) {
    transition-delay: 0.4s
}

.container-footer {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1)
}

.container-footer.animate {
    opacity: 1;
    transform: translateY(0)
}

.flex-kontakt-child {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1)
}

.flex-kontakt-child.animate {
    opacity: 1;
    transform: translateY(0)
}

.flex-kontakt-child:nth-child(1) {
    transition-delay: 0.1s
}

.flex-kontakt-child:nth-child(2) {
    transition-delay: 0.2s
}

.flex-kontakt-child:nth-child(3) {
    transition-delay: 0.3s
}

.flex-kontakt-child:nth-child(4) {
    transition-delay: 0.4s
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-100px)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(100px)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.8)
    }
    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes rotateIn {
    from {
        opacity: 0;
        transform: rotate(-10deg) scale(0.9)
    }
    to {
        opacity: 1;
        transform: rotate(0) scale(1)
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(-10px)
    }
}

.stat-element:hover {
    animation: float 2s ease-in-out infinite
}

.service-block-left:hover, .service-block-right:hover {
    animation: float 3s ease-in-out infinite
}

.link-block-2 {
    animation: float 3s ease-in-out infinite
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(1.05)
    }
}

.filled-button:hover, .filled-button-copy:hover {
    animation: pulse 1s ease-in-out infinite
}

@keyframes shimmer {
    0% {
        background-position: -1000px 0
    }
    100% {
        background-position: 1000px 0
    }
}

.service-text-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s
}

.service-block-left:hover .service-text-block::before, .service-block-right:hover .service-text-block::before {
    left: 100%
}

.about-p, .about-p-second, .about-p-cont2 {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-p.animate, .about-p-second.animate, .about-p-cont2.animate {
    opacity: 1;
    transform: translateY(0)
}

.services-heading {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1)
}

.services-heading.animate {
    opacity: 1;
    transform: translateX(0)
}

.services-paragpaph {
    opacity: 0;
    transform: translateY(15px);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.2s
}

.services-paragpaph.animate {
    opacity: 1;
    transform: translateY(0)
}

.link {
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.4s
}

.link.animate {
    opacity: 1
}

.navbar {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1)
}

.navbar.scrolled {
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(20px)
}

.navbar-modern.scrolled {
    padding-top: 0;
    padding-bottom: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important
}

.navbar-modern.scrolled .navbar-container-modern {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important
}

.image-2 {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1)
}

.image-2:hover {
    transform: scale(1.05) rotate(2deg)
}

.hr {
    opacity: 0;
    transform: scaleX(0);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1)
}

.hr.animate {
    opacity: 1;
    transform: scaleX(1)
}

.text-block {
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.text-block.animate {
    opacity: 1;
    transform: scale(1)
}

.second-about-section {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1)
}

.second-about-section.animate {
    opacity: 1;
    transform: translateY(0)
}

.left-block-copy {
    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1)
}

.left-block-copy.animate {
    opacity: 1;
    transform: translateX(0)
}

.filled-button, .filled-button-copy {
    background: #000000 !important
}

/* About Section Modern Styles */
.about-section-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #000000 0%, #1a1a1a 50%, #000000 100%);
    background-size: 100% 200%;
    z-index: 0;
    animation: backgroundShift 20s ease-in-out infinite
}

.about-container-modern {
    position: relative;
    z-index: 2;
    max-width: 2000px;
    margin: 0 auto;
    padding: 10vh 5vw 8vh
}

.about-header-modern {
    text-align: center;
    margin-bottom: 5rem
}

.about-label {
    display: inline-block;
    padding: 8px 24px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 1.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2), 0 0 20px rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease
}

.about-label:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3), 0 0 30px rgba(255, 255, 255, 0.15)
}

.about-heading-modern {
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0;
    text-shadow: 0 4px 20px rgba(255, 255, 255, 0.1);
    position: relative
}

.about-content-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 4rem
}

@media (max-width: 1199px) {
    .about-content-grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 767px) {
    .about-content-grid {
        grid-template-columns:1fr;
        gap: 1.5rem
    }
}

.about-card-modern {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 2.5rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3)
}

.about-card-modern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, transparent, rgba(255, 255, 255, 0.08), transparent);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1
}

.about-card-modern:hover::before {
    opacity: 1
}

.about-card-modern:hover {
    transform: translateY(-12px) scale(1.02);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.4), 0 0 40px rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3)
}

.about-card-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 1.5rem;
    color: #fff;
    opacity: 0.9;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    filter: drop-shadow(0 4px 8px rgba(255, 255, 255, 0.2))
}

.about-card-modern:hover .about-card-icon {
    transform: scale(1.15) rotate(5deg);
    opacity: 1;
    filter: drop-shadow(0 8px 16px rgba(255, 255, 255, 0.3))
}

.about-card-title {
    font-size: clamp(20px, 2.5vw, 24px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 1rem;
    letter-spacing: -0.01em;
    position: relative;
    z-index: 2;
    transition: all 0.4s ease
}

.about-card-modern:hover .about-card-title {
    transform: translateX(5px);
    text-shadow: 0 4px 12px rgba(255, 255, 255, 0.2)
}

.about-card-text {
    font-size: clamp(14px, 1.8vw, 16px);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 300;
    position: relative;
    z-index: 2;
    transition: all 0.4s ease
}

.about-card-modern:hover .about-card-text {
    color: rgba(255, 255, 255, 0.95)
}

.about-stats-modern {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-top: 4rem
}

@media (max-width: 767px) {
    .about-stats-modern {
        grid-template-columns:1fr;
        gap: 1.5rem
    }
}

.stat-card-modern {
    text-align: center;
    padding: 2.5rem 2rem;
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2)
}

.stat-card-modern::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: #fff;
    transition: width 0.4s ease
}

.stat-card-modern:hover::after {
    width: 60%
}

.stat-card-modern:hover {
    transform: translateY(-8px) scale(1.05);
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3), 0 0 30px rgba(255, 255, 255, 0.1)
}

.stat-number-modern {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 900;
    color: #fff;
    line-height: 1;
    margin-bottom: 0.5rem;
    font-family: 'Lato Black', sans-serif;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    text-shadow: 0 4px 12px rgba(255, 255, 255, 0.2)
}

.stat-card-modern:hover .stat-number-modern {
    transform: scale(1.1);
    text-shadow: 0 8px 24px rgba(255, 255, 255, 0.3)
}

.stat-label-modern {
    font-size: clamp(12px, 1.5vw, 14px);
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600
}

.stat-line {
    width: 40px;
    height: 2px;
    background: rgba(255, 255, 255, 0.3);
    margin: 1rem auto 0;
    border-radius: 2px;
    transition: all 0.4s ease;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.2)
}

.stat-card-modern:hover .stat-line {
    width: 60px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.4)
}

/* Services Section Modern Styles */
.services-container-modern {
    max-width: 2000px;
    margin: 0 auto;
    padding: 8vh 5vw
}

.services-header-modern {
    text-align: center;
    margin-bottom: 4rem
}

.services-label {
    display: inline-block;
    padding: 8px 24px;
    background: rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 1.5rem
}

.services-heading-modern {
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #000;
    margin: 0 0 1rem
}

.services-intro {
    font-size: clamp(16px, 2vw, 20px);
    color: #666;
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
    line-height: 1.6
}

.services-grid-modern {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem
}

@media (max-width: 1199px) {
    .services-grid-modern {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 767px) {
    .services-grid-modern {
        grid-template-columns:1fr;
        gap: 1.5rem
    }
}

.service-card-modern {
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    display: flex;
    flex-direction: column
}

.service-card-modern:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15)
}

.service-card-image-wrapper {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden
}

.service-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1)
}

.service-card-modern:hover .service-card-image {
    transform: scale(1.1)
}

.service-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
    opacity: 0.6;
    transition: opacity 0.4s ease
}

.service-card-modern:hover .service-card-overlay {
    opacity: 0.8
}

.service-card-content {
    padding: 2rem;
    flex: 1;
    display: flex;
    flex-direction: column
}

.service-card-number {
    font-size: 48px;
    font-weight: 900;
    color: rgba(0, 0, 0, 0.1);
    line-height: 1;
    margin-bottom: 0.5rem;
    font-family: 'Lato Black', sans-serif
}

.service-card-title {
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 700;
    color: #000;
    margin-bottom: 1rem;
    letter-spacing: -0.01em
}

.service-card-description {
    font-size: clamp(14px, 1.8vw, 16px);
    line-height: 1.7;
    color: #666;
    margin-bottom: 1.5rem;
    flex: 1;
    font-weight: 300
}

.service-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
    transition: all 0.3s ease;
    align-self: flex-start
}

.service-card-link:hover {
    gap: 12px;
    color: #333
}

.service-card-link svg {
    transition: transform 0.3s ease
}

.service-card-link:hover svg {
    transform: translateX(5px)
}

/* Learn More Section Modern Styles */
.learn-more-section {
    position: relative;
    background: linear-gradient(180deg, #f8f8f8 0%, #ffffff 100%);
    padding: 8vh 5vw;
    overflow: hidden
}

.learn-more-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.02) 0%, transparent 70%);
    z-index: 0
}

.learn-more-container {
    position: relative;
    z-index: 2;
    max-width: 2000px;
    margin: 0 auto
}

.learn-more-header {
    text-align: center;
    margin-bottom: 4rem
}

.learn-more-label {
    display: inline-block;
    padding: 8px 24px;
    background: rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 1.5rem
}

.learn-more-heading {
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #000;
    margin: 0
}

.learn-more-content-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 4rem
}

@media (max-width: 1199px) {
    .learn-more-content-grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 767px) {
    .learn-more-content-grid {
        grid-template-columns:1fr;
        gap: 1.5rem
    }
}

.learn-more-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 24px;
    padding: 2.5rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04)
}

.learn-more-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    border-color: rgba(0, 0, 0, 0.15)
}

.learn-more-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 1.5rem;
    color: #000;
    opacity: 0.8
}

.learn-more-card-title {
    font-size: clamp(20px, 2.5vw, 24px);
    font-weight: 700;
    color: #000;
    margin-bottom: 1rem;
    letter-spacing: -0.01em
}

.learn-more-card-text {
    font-size: clamp(14px, 1.8vw, 16px);
    line-height: 1.7;
    color: #666;
    font-weight: 300
}

.documents-section {
    margin-top: 4rem
}

.documents-title {
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    color: #000;
    text-align: center;
    margin-bottom: 2rem;
    letter-spacing: -0.01em
}

.documents-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 1.5rem
}

@media (max-width: 1199px) {
    .documents-grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 767px) {
    .documents-grid {
        grid-template-columns:1fr
    }
}

.document-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: #fff;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04)
}

.document-card:hover {
    transform: translateY(-5px);
    border-color: #000;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    background: #fafafa
}

.document-icon {
    font-size: 32px;
    flex-shrink: 0
}

.document-name {
    font-size: 16px;
    font-weight: 600;
    color: #000;
    flex: 1
}

.document-arrow {
    flex-shrink: 0;
    color: #000;
    transition: transform 0.3s ease
}

.document-card:hover .document-arrow {
    transform: translateX(5px)
}

/* Contact Section Modern Styles */
.contact-section-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/64c500b3dbb7982002dec037_builder_call_red-min.jpg) center/cover;
    z-index: 0
}

.contact-section-background::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.contact-container-modern {
    position: relative;
    z-index: 2;
    max-width: 1800px;
    margin: 0 auto;
    padding: 8vh 5vw
}

.contact-header-modern {
    text-align: center;
    margin-bottom: 4rem;
    color: #fff
}

.contact-label {
    display: inline-block;
    padding: 8px 24px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 1.5rem
}

.contact-heading {
    font-size: clamp(36px, 6vw, 64px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0 0 1rem
}

.contact-subtitle {
    font-size: clamp(16px, 2vw, 20px);
    color: rgba(255, 255, 255, 0.9);
    max-width: 700px;
    margin: 0 auto;
    font-weight: 300;
    line-height: 1.6
}

.contact-content-wrapper {
    max-width: 1400px;
    margin: 0 auto
}

.contact-actions-modern {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 3rem;
    flex-wrap: wrap
}

@media (max-width: 767px) {
    .contact-actions-modern {
        flex-direction: column
    }
}

.contact-action-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 50px;
    background: #fff;
    color: #000;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2)
}

.contact-action-button:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
    background: #f8f8f8
}

.contact-action-button.secondary {
    background: transparent;
    border: 2px solid #fff;
    color: #fff
}

.contact-action-button.secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #fff
}

.contact-form-modern {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 24px;
    padding: 3rem
}

@media (max-width: 767px) {
    .contact-form-modern {
        padding: 2rem
    }
}

.form-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem 0;
    position: relative
}

.form-divider::before, .form-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.3)
}

.form-divider-text {
    padding: 0 1rem;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 0.1em
}

.form-field-group {
    position: relative;
    margin-bottom: 1.5rem
}

.form-input-modern {
    width: 100%;
    padding: 18px 24px;
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 16px;
    color: #000;
    transition: all 0.3s ease;
    font-family: Lato, sans-serif;
    font-weight: 400
}

.form-input-modern:focus {
    outline: none;
    border-color: #000;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
    background: #fff
}

.form-input-modern::placeholder {
    color: #999
}

.form-textarea-modern {
    min-height: 120px;
    resize: vertical;
    font-family: Lato, sans-serif
}

.form-label {
    display: none
}

.checkbox-modern {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 2rem;
    cursor: pointer
}

.checkbox-input-modern {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    cursor: pointer;
    flex-shrink: 0
}

.checkbox-label-modern {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer
}

.form-submit-button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px 40px;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 50px;
    background: #000;
    color: #fff;
    border: none;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3)
}

.form-submit-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.4);
    background: #1a1a1a
}

.form-submit-button:active {
    transform: translateY(-1px)
}

.form-submit-button svg {
    transition: transform 0.3s ease
}

.form-submit-button:hover svg {
    transform: translateX(5px)
}

.success-content, .error-content {
    text-align: center;
    padding: 2rem;
    color: #fff
}

.success-content svg, .error-content svg {
    margin: 0 auto 1rem;
    color: #fff
}

.success-content h3, .error-content h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0.5rem
}

.success-content p, .error-content p {
    font-size: 16px;
    opacity: 0.9;
    line-height: 1.6
}

/* Footer Modern Styles */
.footer-modern {
    position: relative;
    background: linear-gradient(180deg, #000000 0%, #1a1a1a 100%);
    overflow: hidden
}

.footer-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
    opacity: 0.5;
    z-index: 0
}

.footer-container-modern {
    position: relative;
    z-index: 2;
    max-width: 2000px;
    margin: 0 auto;
    padding: 0 5vw
}

@media (max-width: 767px) {
    .footer-container-modern {
        padding: 0 3vw
    }
}

.footer-content-grid {
    width: 100%;
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 3rem;
    margin-bottom: 3rem;
    padding: 6vh 5vw 0vh;
    max-width: 2000px;
    margin-left: auto;
    margin-right: auto
}

.footer-four-columns {
    grid-template-columns:repeat(4, 1fr) !important
}

@media (max-width: 991px) {
    .footer-four-columns {
        grid-template-columns:repeat(2, 1fr) !important
    }

    .footer-content-grid {
        grid-template-columns:repeat(2, 1fr) !important
    }
}

@media (max-width: 767px) {
    .footer-content-grid {
        grid-template-columns:1fr !important;
        gap: 2rem;
        padding: 4vh 3vw 2vh
    }

    .footer-four-columns {
        grid-template-columns:1fr !important
    }
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.footer-column-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.1em
}

.footer-link-modern {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 0.5rem 0
}

.footer-link-modern:hover {
    color: #fff;
    transform: translateX(5px)
}

.footer-link-modern svg {
    flex-shrink: 0;
    margin-top: 2px;
    opacity: 0.8
}

.footer-text {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin: 0.25rem 0;
    font-weight: 300
}

.footer-contact-item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem
}

.footer-contact-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 600
}

.footer-contact-name {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem
}

.footer-hours {
    display: flex;
    align-items: flex-start;
    gap: 12px
}

.footer-hours svg {
    flex-shrink: 0;
    margin-top: 2px;
    opacity: 0.8;
    color: rgba(255, 255, 255, 0.8)
}

.footer-hours-time {
    font-size: 18px;
    font-weight: 700;
    color: #fff
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 2rem;
    margin-top: 2rem;
    text-align: center
}

.footer-copyright {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
    font-weight: 300
}

/* Additional compatibility styles */
.second-about-section.learn-more-section {
    background: linear-gradient(180deg, #f8f8f8 0%, #ffffff 100%) !important
}

.learn-more-content-grid .left-block-copy {
    display: none !important
}