html {
    -ms-text-size-adjust: 100%;
    -webkit-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: transparent
}

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
}

figure {
    margin: 1em 40px
}

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
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

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 {
    min-height: 100%;
    color: #333;
    background-color: #fff;
    margin: 0;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 20px
}

img {
    max-width: 100%;
    vertical-align: middle;
    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: transparent !important
}

.w-code-block {
    margin: unset
}

.w-webflow-badge,
.w-webflow-badge * {
    z-index: auto;
    visibility: visible;
    box-sizing: border-box;
    width: auto;
    height: auto;
    max-height: none;
    max-width: none;
    min-height: 0;
    min-width: 0;
    float: none;
    clear: none;
    box-shadow: none;
    opacity: 1;
    direction: ltr;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    font-style: inherit;
    font-variant: inherit;
    text-align: inherit;
    letter-spacing: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
    text-indent: 0;
    text-transform: inherit;
    text-shadow: none;
    font-smoothing: auto;
    vertical-align: baseline;
    cursor: inherit;
    white-space: inherit;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    background: 0 0;
    border: 0 transparent;
    border-radius: 0;
    margin: 0;
    padding: 0;
    list-style-type: disc;
    transition: none;
    display: block;
    position: static;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    overflow: visible;
    transform: none
}

.w-webflow-badge {
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .1);
    visibility: visible !important;
    z-index: 2147483647 !important;
    color: #aaadb0 !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    background-color: #fff !important;
    border-radius: 3px !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;
    top: auto !important;
    bottom: 12px !important;
    left: auto !important;
    right: 12px !important;
    overflow: visible !important;
    transform: none !important
}

.w-webflow-badge>img {
    visibility: visible !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 {
    width: 100%;
    height: 100%;
    border: none;
    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 {
    width: 100%;
    height: 38px;
    color: #333;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #ccc;
    margin-bottom: 10px;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1.42857;
    display: block
}

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

.w-input::-moz-placeholder,
.w-select::-moz-placeholder {
    color: #999;
    opacity: 1
}

.w-input::-webkit-input-placeholder,
.w-select::-webkit-input-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 {
    width: .1px;
    height: .1px;
    opacity: 0;
    z-index: -100;
    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 {
    width: auto;
    height: auto;
    cursor: pointer;
    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;
    width: 28px;
    height: 20px;
    text-align: center;
    background: #fff;
    border: 1px solid #758696;
    border-radius: 3px;
    display: inline-block;
    position: relative
}

.w-widget-twitter-count-shim * {
    pointer-events: none;
    -webkit-user-select: none;
    -ms-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: " ";
    height: 0;
    width: 0;
    pointer-events: none;
    border: solid transparent;
    position: absolute;
    top: 50%;
    left: 0
}

.w-widget-twitter-count-shim:not(.w--vertical):before {
    border-width: 4px;
    border-color: rgba(117, 134, 150, 0) #5d6c7b rgba(117, 134, 150, 0) rgba(117, 134, 150, 0);
    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: rgba(255, 255, 255, 0) #fff rgba(255, 255, 255, 0) rgba(255, 255, 255, 0);
    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: " ";
    height: 0;
    width: 0;
    pointer-events: none;
    border: solid transparent;
    position: absolute;
    top: 100%;
    left: 50%
}

.w-widget-twitter-count-shim.w--vertical:before {
    border-width: 5px;
    border-color: #5d6c7b rgba(117, 134, 150, 0) rgba(117, 134, 150, 0);
    margin-left: -5px
}

.w-widget-twitter-count-shim.w--vertical:after {
    border-width: 4px;
    border-color: #fff rgba(255, 255, 255, 0) rgba(255, 255, 255, 0);
    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 {
    height: 500px;
    color: #fff;
    position: relative;
    overflow: hidden
}

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

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

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

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

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

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

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

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

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

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

.w-slider-nav.w-shadow>div {
    box-shadow: 0 0 3px rgba(51, 51, 51, .4)
}

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

.w-slider-nav-invert>div {
    background-color: rgba(34, 34, 34, .4)
}

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

.w-slider-dot {
    width: 1em;
    height: 1em;
    cursor: pointer;
    background-color: rgba(255, 255, 255, .4);
    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 {
    width: 80px;
    cursor: pointer;
    color: #fff;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin: auto;
    font-size: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 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;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.w-slider-aria-label {
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    border: 0;
    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;
    -ms-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 {
    min-width: 100%;
    background: #ddd;
    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: rgba(0, 0, 0, .9);
    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;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    -webkit-transform: translate(0)
}

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

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

.w-lightbox-view {
    width: 100vw;
    height: 100vh;
    opacity: 0;
    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;
    height: auto;
    max-width: none
}

.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: rgba(0, 0, 0, .4);
    padding: .5em 1em;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden
}

.w-lightbox-embed {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.w-lightbox-control {
    width: 4em;
    cursor: pointer;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 24px;
    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 {
    height: 2.6em;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=);
    background-size: 18px;
    right: 0
}

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

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

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

.w-lightbox-thumbnail {
    height: 10vh;
    background: #222;
    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;
    width: 40px;
    height: 40px;
    border: 5px solid rgba(0, 0, 0, .4);
    border-radius: 50%;
    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 transparent;
    border-bottom-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: -4px;
    bottom: -4px;
    left: -4px;
    right: -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;
    top: 0;
    bottom: 0;
    left: 0;
    right: 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: transparent;
    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 {
    width: 100%;
    max-width: 100%;
    text-align: center;
    clear: both;
    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;
    min-width: 200px;
    background: #c8c8c8;
    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: transparent;
    tap-highlight-color: transparent;
    -webkit-user-select: none;
    -ms-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
}

:root {
    --border: rgba(255, 255, 255, .1);
    --dark-grey: #9ba1a7;
    --text-color--grey-placeholder: #666
}

.w-layout-vflex {
    flex-direction: column;
    align-items: flex-start;
    display: flex
}

.w-layout-grid {
    grid-row-gap: 16px;
    grid-column-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

body {
    color: #fff;
    background-color: #161616;
    font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
    font-size: 1.05vw;
    line-height: 1.5
}

h1 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.1
}

h2 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2
}

h3 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2
}

h4 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4
}

h5 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5
}

h6 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5
}

p {
    color: #9ba1a6;
    margin-bottom: 0
}

a {
    color: #fff
}

ul {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 1.5em
}

ol {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 1.5rem
}

li {
    margin-bottom: .25rem
}

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

label {
    margin-bottom: .25em;
    font-size: 1em;
    font-weight: 500
}

blockquote {
    border-left: .25rem solid #e2e2e2;
    margin-bottom: 0;
    padding: 0 1.25rem;
    font-size: 1.25rem;
    line-height: 1.5
}

figure {
    margin-top: 2rem;
    margin-bottom: 2rem
}

figcaption {
    text-align: center;
    margin-top: .25rem
}

.utility-page_component {
    width: 100vw;
    height: 100vh;
    max-height: 100%;
    max-width: 100%;
    justify-content: center;
    align-items: center;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    display: flex
}

.utility-page_form-block {
    max-width: 20rem;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    text-align: center;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    display: flex
}

.utility-page_form {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    display: flex
}

.utility-page_image {
    margin-left: auto;
    margin-right: auto
}

.global-styles {
    display: block;
    position: fixed;
    top: 0%;
    bottom: auto;
    left: 0%;
    right: auto
}

.margin-custom2 {
    margin: 2.5rem
}

.padding-xlarge {
    padding: 4rem
}

.margin-xlarge {
    margin: 4rem
}

.margin-xsmall {
    margin: .5rem
}

.padding-xhuge {
    padding: 8rem
}

.margin-custom1 {
    margin: 1.5rem
}

.padding-0 {
    padding: 0
}

.padding-xxhuge {
    padding: 12rem
}

.padding-huge {
    padding: 6rem
}

.margin-large {
    margin: 3rem
}

.padding-xxlarge {
    padding: 5rem
}

.margin-xxsmall {
    margin: .25rem
}

.padding-custom3 {
    padding: 3.5rem
}

.padding-large {
    padding: 3rem
}

.margin-tiny {
    margin: .125rem
}

.padding-small {
    padding: 1rem
}

.padding-custom2 {
    padding: 2.5rem
}

.margin-custom3 {
    margin: 3.5rem
}

.padding-custom1 {
    padding: 1.5rem
}

.margin-huge {
    margin: 6rem
}

.padding-medium {
    padding: 2rem
}

.padding-xsmall {
    padding: .5rem
}

.margin-xxlarge {
    margin: 5rem
}

.padding-xxsmall {
    padding: .25rem
}

.margin-xhuge {
    margin: 8rem
}

.padding-tiny {
    padding: .125rem
}

.margin-small {
    margin: 1rem
}

.margin-medium {
    margin: 2rem
}

.margin-xxhuge {
    margin: 12rem
}

.margin-0 {
    margin: 0
}

.margin-horizontal {
    margin-top: 0;
    margin-bottom: 0
}

.padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0
}

.margin-vertical {
    margin-left: 0;
    margin-right: 0
}

.margin-bottom,
.margin-bottom.margin-medium,
.margin-bottom.margin-xxlarge {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0
}

.padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0
}

.padding-vertical {
    padding-left: 0;
    padding-right: 0
}

.padding-horizontal {
    padding-top: 0;
    padding-bottom: 0
}

.margin-right {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0
}

.margin-top {
    margin: 2rem 0 0
}

.margin-top.margin-medium {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0
}

.margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0
}

.padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0
}

.padding-bottom,
.padding-bottom.padding-small {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0
}

.form_checkbox {
    flex-direction: row;
    align-items: center;
    margin-bottom: .5rem;
    padding-left: 0;
    display: flex
}

.form_checkbox-icon {
    width: .875rem;
    height: .875rem;
    border-radius: .125rem;
    margin: 0 .5rem 0 0
}

.form_checkbox-icon.w--redirected-checked {
    width: .875rem;
    height: .875rem;
    background-size: 90%;
    border-radius: .125rem;
    margin: 0 .5rem 0 0
}

.form_checkbox-icon.w--redirected-focus {
    width: .875rem;
    height: .875rem;
    border-radius: .125rem;
    margin: 0 .5rem 0 0;
    box-shadow: 0 0 .25rem 0 #3898ec
}

.fs-styleguide_background {
    width: 100%;
    border: .0625rem solid rgba(0, 0, 0, .1);
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    display: flex
}

.fs-styleguide_spacing {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 115, 230, .1));
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    align-content: start;
    justify-content: start;
    align-items: start;
    justify-items: stretch;
    display: grid;
    position: relative
}

.icon-1x1-small {
    width: 1rem;
    height: 1rem;
    flex: none
}

.overflow-auto {
    overflow: auto
}

.spacing-clean {
    margin: 0;
    padding: 0
}

.icon-1x1-large {
    width: 2.5rem;
    height: 2.5rem
}

.z-index-2 {
    z-index: 2;
    position: relative
}

.fs-styleguide_background-space {
    width: .0625rem;
    height: .0625rem;
    margin: 5rem
}

.text-weight-semibold {
    font-weight: 600
}

.text-style-strikethrough {
    text-decoration: line-through
}

.fs-styleguide_item {
    grid-column-gap: 1.125rem;
    grid-row-gap: 1.125rem;
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    align-content: start;
    justify-content: start;
    align-items: start;
    justify-items: start;
    padding-bottom: 3rem;
    display: grid;
    position: relative
}

.fs-styleguide_item.is-stretch {
    justify-items: stretch
}

.max-width-full {
    width: 100%;
    max-width: none
}

.fs-styleguide_item-header {
    width: 100%;
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
    padding-bottom: 2rem
}

.background-color-black {
    color: #f5f5f5;
    background-color: #000
}

.z-index-1 {
    z-index: 1;
    position: relative
}

.text-color-black {
    color: #000
}

.text-color-grey {
    color: gray
}

.fs-styleguide_2-col {
    width: 100%;
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.fs-styleguide_2-col.is-align-start {
    align-items: start
}

.form_message-success {
    padding: 1.25rem
}

.fs-styleguide_row {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    flex-direction: row;
    grid-template-rows: auto;
    grid-template-columns: auto;
    grid-auto-columns: auto;
    grid-auto-flow: column;
    justify-content: flex-start;
    align-items: center;
    display: flex
}

.heading-style-h3 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2
}

.text-rich-text h1,
.text-rich-text h2,
.text-rich-text h3,
.text-rich-text h4 {
    margin-top: 1.5rem;
    margin-bottom: 1rem
}

.text-rich-text h5,
.text-rich-text h6 {
    margin-top: 1.25rem;
    margin-bottom: 1rem
}

.text-rich-text p {
    margin-bottom: 1rem
}

.text-rich-text ul,
.text-rich-text ol {
    margin-bottom: 1.5rem
}

.container-small {
    width: 100%;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto
}

.icon-height-small {
    height: 1rem
}

.icon-1x1-medium {
    width: 2rem;
    height: 2rem
}

.heading-style-h1 {
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.1
}

.padding-global {
    width: 100%;
    flex: 1;
    padding-top: 0;
    padding-left: 2.5em;
    padding-right: 2.5em
}

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

.padding-section-small {
    padding-top: 3rem;
    padding-bottom: 3rem
}

.max-width-small {
    width: 100%;
    max-width: 20rem
}

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

.text-style-italic {
    font-style: italic
}

.text-weight-medium {
    font-weight: 500
}

.overflow-hidden {
    overflow: hidden
}

.fs-styleguide_section-header {
    width: 100%;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    border-bottom: .0625rem solid #000;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    padding-bottom: 3rem;
    line-height: 1.4;
    display: grid
}

.text-size-tiny {
    font-size: .75rem
}

.max-width-xxlarge {
    width: 100%;
    max-width: 80rem
}

.fs-styleguide_1-col {
    width: 100%;
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.overflow-visible {
    overflow: visible
}

.fs-styleguide_empty-box {
    z-index: -1;
    height: 3rem;
    min-width: 3rem;
    background-color: rgba(0, 115, 230, .1);
    border: .0625rem dashed #0073e6;
    position: relative
}

.text-weight-light {
    font-weight: 300
}

.fs-styleguide_heading-medium {
    font-size: 4rem
}

.max-width-xsmall {
    width: 100%;
    max-width: 16rem
}

.fs-styleguide_4-col {
    width: 100%;
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.text-size-regular {
    font-size: 1rem
}

.text-weight-xbold {
    font-weight: 800
}

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

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

.max-width-medium {
    width: 100%;
    max-width: 32em
}

.fs-styleguide_item-wrapper {
    width: 100%;
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex
}

.max-width-large {
    width: 100%;
    max-width: 48rem
}

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

.text-style-muted {
    opacity: .6
}

.text-size-small {
    font-size: .8em
}

.text-size-small.span {
    font-size: .3em
}

.heading-style-h4 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4
}

.max-width-xlarge {
    width: 100%;
    max-width: 64rem
}

.form_radio-icon {
    width: .875rem;
    height: .875rem;
    margin-top: 0;
    margin-left: 0;
    margin-right: .5rem
}

.form_radio-icon.w--redirected-checked {
    width: .875rem;
    height: .875rem;
    border-width: .25rem
}

.form_radio-icon.w--redirected-focus {
    width: .875rem;
    height: .875rem;
    box-shadow: 0 0 .25rem 0 #3898ec
}

.text-style-nowrap {
    white-space: nowrap
}

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

.background-color-grey {
    background-color: rgba(0, 0, 0, .05)
}

.form_input {
    min-height: 3rem;
    background-color: transparent;
    margin-bottom: .75rem;
    padding: .5rem 1rem
}

.form_input.is-text-area {
    min-height: 8rem;
    padding-top: .75rem
}

.heading-style-h6 {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5
}

.padding-section-large {
    padding-top: 8rem;
    padding-bottom: 8rem
}

.fs-styleguide_3-col {
    width: 100%;
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    align-items: stretch;
    display: grid
}

.fs-styleguide_3-col.is-align-start {
    align-items: start
}

.text-style-link {
    color: #000;
    text-decoration: underline
}

.text-size-large {
    font-size: 1.5rem
}

.heading-style-h2 {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2
}

.fs-styleguide_label {
    color: #fff;
    background-color: #0073e6;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: .25rem .75rem;
    font-weight: 600;
    line-height: 1.4;
    display: flex
}

.fs-styleguide_label.is-tag {
    background-color: #be4aa5
}

.heading-style-h5 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5
}

.container-main {
    width: 100%;
    height: 100%;
    max-width: 70em;
    margin-left: auto;
    margin-right: auto
}

.icon-height-medium {
    height: 2rem
}

.text-style-allcaps {
    text-transform: uppercase
}

.overflow-scroll {
    overflow: scroll
}

.form_message-error {
    margin-top: .75rem;
    padding: .75rem
}

.icon-height-large {
    height: 3rem
}

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

.form_component {
    margin-bottom: 0
}

.main-wrapper {
    height: 100%;
    flex: 1;
    align-self: stretch;
    /* padding-top: 1px */
}

.max-width-xxsmall {
    width: 100%;
    max-width: 12rem
}

.layer {
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.text-style-quote {
    border-left: .25rem solid #e2e2e2;
    margin-bottom: 0;
    padding: 0 1.25rem;
    font-size: 1.25rem;
    line-height: 1.5
}

.align-center {
    align-items: center;
    margin-left: auto;
    margin-right: auto
}

.button {
    color: #fff;
    text-align: center;
    background-color: #000;
    padding: .75rem 1.5rem;
    font-weight: 600
}

.button.is-text {
    color: #000;
    background-color: transparent;
    border: .125rem solid transparent
}

.button.is-small {
    padding: .5rem 1.25rem
}

.button.is-large {
    padding: 1rem 2rem
}

.button.is-secondary {
    color: #000;
    background-color: transparent;
    border: .125rem solid #000
}

.button.is-secondary.is-small {
    padding: .5rem 1.25rem
}

.button.is-secondary.is-small.is-icon,
.button.is-icon {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: flex
}

.fs-styleguide_classes {
    grid-column-gap: .0625rem;
    grid-row-gap: .0625rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.text-size-medium {
    font-size: 1.25em
}

.fs-styleguide_section {
    grid-column-gap: 6rem;
    grid-row-gap: 6rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    align-items: start;
    justify-items: start;
    display: grid
}

.fs-styleguide_section.is-vertical {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-columns: 1fr
}

.button-group {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: center;
    display: flex
}

.hide {
    display: none
}

.padding-section-medium {
    width: 100%;
    height: 100%;
    padding-top: 5em;
    padding-bottom: 0em
}

.container-medium {
    width: 100%;
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto
}

.form_radio {
    flex-direction: row;
    align-items: center;
    margin-bottom: .5rem;
    padding-left: 0;
    display: flex
}

.fs-styleguide_spacing-all {
    display: none
}

.page_layout {
    display: flex;
    position: relative
}

.sidenav {
    z-index: 99;
    height: 100vh;
    max-width: 21em;
    background-color: #111;
    flex-direction: column;
    padding-left: 2.5em;
    padding-right: 2.5em;
    display: flex;
    position: -webkit-sticky;
    position: sticky;
    top: 0
}

.sidenav_content {
    flex-direction: column;
    justify-content: flex-start;
    display: flex
}
.sidenav_header_indent{
    width: 100%;
    height: 3em;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: 1.5em;
    padding-right: 1.5em;
    display: flex;
    position: relative;
    overflow: hidden
}
.sidenav_header {
    width: 100%;
    height: 14em;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: 1.5em;
    padding-right: 1.5em;
    display: flex;
    position: relative;
    overflow: hidden
}


.sidenav-avatar.w--current {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    color: #fff
}

.sidenav_menu {
    flex-direction: column;
    flex: 1;
    display: flex
}

.sidenav_list {
    flex-direction: column;
    align-items: flex-start;
    display: flex;
    position: relative
}

.sidenav_link {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    opacity: .5;
    color: #fff;
    align-items: center;
    margin-left: 0;
    margin-right: 0;
    padding: .75em 1.5em;
    font-size: 1em;
    text-decoration: none;
    transition: all .35s;
    display: flex
}

.sidenav_link:hover {
    opacity: 1;
}

.sidenav_link.w--current {
    opacity: 1
}

.sidenav_link.lang-drop {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    opacity: .5;
    color: #fff;
    align-items: center;
    margin-left: 0;
    margin-right: 0;
    padding: .75em 1.5em;
    font-size: 1em;
    text-decoration: none;
    transition: all .35s;
    display: flex
}
.sidenav_link.lang-drop:hover {
    opacity: 1;
}
.section_main {
    width: 100%;
    height: 100%;
    min-height: 100svh;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    display: flex
}

.main_header {
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 5em;
    display: flex
}

.main_header.is-about {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 3rem
}

.button-primary {
    z-index: 1;
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    color: #2997ff;
    white-space: nowrap;
    background-color: rgba(56, 152, 236, 0);
    align-items: center;
    font-size: 1.15em;
    text-decoration: none;
    transition: all .35s;
    display: flex;
    position: relative
}

.main_grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.main_grid.padding-top {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    margin-top: 2.5em;
    position: relative
}

.main_grid.is-projects {
    grid-column-gap: 1.25rem;
    grid-row-gap: 2rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    margin-top: 2.5rem;
    position: relative
}

.main_grid.is-projects .collection-item {
    min-width: 0
}

.project-page-header {
    max-width: 52rem
}

.project-page-intro {
    color: #a8a8a8;
    max-width: 46rem;
    margin-top: 1rem;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.55
}

.main_grid.is-resources {
    grid-column-gap: 1.25rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    position: relative
}

.main_grid-fours {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.card_main {
    width: 100%;
    height: 100%;
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    background-color: #111;
    border: .0625rem solid rgba(255, 255, 255, .1);
    border-radius: .625em;
    flex-direction: column;
    flex: none;
    justify-content: center;
    align-items: center;
    padding: 2em;
    display: flex;
    position: relative
}

.card_main.small {
    min-height: 11.5em;
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    white-space: nowrap
}

.card_main.is-about {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    border-color: var(--border);
    align-items: flex-start
}

.card_main.is-projects {
    flex-direction: column;
    justify-content: flex-start;
    overflow: hidden
}

.card_main.is-clients {
    justify-content: space-between;
    align-items: flex-start
}

.card_main.is-pricing {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
    background-color: #1c1c1c;
    align-items: flex-start;
    padding-top: 3em;
    padding-bottom: 3em
}

.card_heading-large {
    font-size: 3.5em;
    line-height: 1
}

.heading_main {
    font-size: 2.5em;
    font-weight: 400
}

.card_heading-small {
    z-index: 10;
    font-size: 2em;
    line-height: 1.25;
    position: relative
}

.paragraph_is-about {
    color: #9ba1a7;
    font-size: 1em
}

.card_img-wrapper {
    width: 100%;
    border-radius: .6em;
    align-items: flex-start;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    display: flex;
    overflow: visible
}

.logo_grid {
    width: 100%;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-wrap: wrap;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: stretch;
    justify-items: start;
    display: grid
}

.logo_wrap {
    width: 100%;
    height: 7em;
    background-color: #f9f9f9;
    border-radius: .6em;
    justify-content: center;
    align-items: center;
    display: flex
}

.btn-line {
    width: 100%;
    height: .05em;
    background-color: #2997ff
}

.btn-line.white {
    background-color: #fff
}

.btn-text {
    line-height: 1.25
}

.btn-text_line-wrapper {
    overflow: hidden
}

.portrait {
    border-radius: 50%;
    opacity: 0.9;
    width: 11em
}
.portrait:hover{
    opacity: 1;
}
.blur-bg{
    z-index: -1;
    opacity: 1;
    justify-content: center;
    align-items: center;
    transition: all 1s ease-in-out;
    display: flex;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
}
.blur-bg-color-red {
    width: 70%;
    height: 70%;
    border-radius: 50%;
    filter: blur(3.25em);
    background-color: #8a0303
}
.blur-bg-color-gold {
    width: 70%;
    height: 70%;
    border-radius: 50%;
    filter: blur(3.25em);
    background-color: gold
}

.blur-bg img {
    width: 60%;
    max-width: none;
    height: auto;
}

.avatar-img {
    width: 6.25em;
    height: 6.25em;
    border-radius: 100%
}

footer{
    text-align: center;
    width: 100%;
    margin-top: auto;
    padding: 2em
}

.button-secondary {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    color: #fff;
    white-space: nowrap;
    align-items: center;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    font-size: 1em;
    text-decoration: none;
    transition: all .35s;
    display: flex
}

.d-grid {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: center;
    justify-items: start;
    display: flex
}

.under-construction {
    max-width: 60rem;
    margin: auto
}

.under-contrsuction-title {
    text-align: center;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(#ffb6ff, #b344ff);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 5rem
}

.section-flex {
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    display: flex
}

.trusted-logo {
    height: 7em;
    width: auto;
    opacity: .7;
    object-fit: contain
}

.heading_icon-flex {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    display: flex;
    overflow: hidden
}

.card_project {
    height: 100%;
    background-color: #1c1c1c;
    border: .0625rem solid rgba(255, 255, 255, .1);
    border-radius: .625rem;
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none;
    display: flex;
    overflow: hidden;
    position: relative;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease
}

.card_project.is-clickable {
    cursor: pointer
}

.card_project.is-clickable:hover {
    border-color: rgba(255, 255, 255, .24);
    box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .22);
    transform: translateY(-.2rem)
}

.card_project.is-clickable:focus-within {
    outline: .125rem solid #fff;
    outline-offset: .25rem
}

.card_project-content-wrapper {
    width: 100%;
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    border-radius: .625rem;
    flex-flow: wrap;
    flex: 1;
    justify-content: space-between;
    align-items: flex-start;
    padding: 2rem 1.5rem;
    display: flex
}

.card_image-section {
    width: 100%;
    height: 21.875rem;
    object-fit: cover
}

.card_image-section.contain {
    height: 100%;
    object-fit: contain;
    object-position: 50% 0%
}

.card_project-title,
.card_project-title.is-blog {
    font-size: 1.5rem;
    text-decoration: none;
    opacity: 0.8;
    transition: all .35s;
}
.card_project-title:hover{
    opacity: 1;
}

.card_project.is-clickable .card_project-title[href]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2
}

.projects-page .card_project-content::after,
.experience-page .card_project-content::after {
    content: "Project Details Coming Soon";
    color: #a8a8a8;
    border: .0625rem solid rgba(255, 255, 255, .12);
    border-radius: .375rem;
    margin-top: .75rem;
    padding: .55rem .8rem;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1;
    display: inline-flex
}

.projects-page .card_project.is-clickable .card_project-content::after,
.experience-page .card_project.is-clickable .card_project-content::after {
    content: "View Project Details \2192";
    color: #fff;
    border-color: rgba(255, 255, 255, .3);
    transition: background-color .25s ease, border-color .25s ease
}

.projects-page .card_project.is-clickable:hover .card_project-content::after,
.experience-page .card_project.is-clickable:hover .card_project-content::after {
    background-color: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .5)
}

.experience-page .card_project-content::after {
    content: "Experience Details Coming Soon"
}

.experience-page .card_project.is-clickable .card_project-content::after {
    content: "View Experience Details \2192"
}

.image-wrap {
    width: 100%;
    position: relative
}

.fade-image-bottom {
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(28, 28, 28, .6));
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.subtitle-projects {
    color: #a8a8a8;
    font-size: .8rem
}

.tag-item_wrapper {
    border: .0625rem solid rgba(255, 255, 255, .1);
    border-radius: .375rem;
    padding: .375rem .625rem
}

.card_project-content {
    width: 100%;
    height: 100%;
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex
}

.tag-flex {
    width: 100%;
    grid-column-gap: .75rem;
    grid-row-gap: .5rem;
    flex-wrap: wrap;
    display: flex
}

.project_card-title-wrap {
    width: 100%;
    grid-column-gap: 1rem;
    justify-content: space-between;
    align-items: center;
    display: flex
}

.project_card-title-wrap.margin-top {
    margin-top: 1rem
}

.icon-link {
    width: 1rem;
    margin-top: .5rem
}

.link-block {
    color: #fff
}

.collection-list-wrapper {
    width: 100%
}

.collection-item {
    min-width: 23em
}

.nav-link-icon {
    display: inline-block;
    text-align: center;
    width: 2em;
    opacity: .8
}

.about-img-wrapper {
    margin-top: 3rem;
    margin-bottom: 3rem
}

.logo-footer {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.app-icon {
    font-size: 4.25em;
    display: flex
}

.shine {
    width: 40rem;
    height: 40rem;
    background-image: radial-gradient(circle, rgba(255, 255, 255, .4), rgba(255, 255, 255, 0) 40%);
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    transform: translate(-50%, -50%)
}

.shine.is-opacity-50 {
    opacity: .5
}

.newsletter-image {
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle at 300% 300%, rgba(63, 60, 255, .63), rgba(255, 255, 255, 0) 86%), radial-gradient(circle farthest-side at 50% 200%, rgba(85, 64, 167, .45) 39%, rgba(255, 255, 255, 0) 82%), radial-gradient(circle at -300% 300%, #9b259e, rgba(255, 255, 255, 0) 88%);
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.contact-card-instagram {
    width: 100%;
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr
}

.map-links {
    flex-direction: column;
    align-items: flex-start;
    display: flex
}

.app-outline {
    z-index: 1;
    opacity: .2;
    background-image: linear-gradient(135deg, transparent 50%, rgba(255, 255, 255, .5));
    border-radius: 30%;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    box-shadow: inset 0 0 0 .0625rem #fff
}

.card-heading {
    color: #ededed;
    font-variation-settings: "wght" 450;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.25em;
    font-weight: 400;
    line-height: 1.4;
    display: inline
}

.map-info {
    z-index: 10;
    -webkit-backdrop-filter: blur(.625rem);
    backdrop-filter: blur(.625rem);
    background-color: rgba(0, 0, 0, .2);
    border: .0625rem solid rgba(255, 255, 255, .08);
    border-radius: .625rem;
    margin-top: auto;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px .1875rem -.09375rem rgba(0, 0, 0, .2)
}

.contact-card-grid {
    height: 100%;
    grid-column-gap: .5em;
    grid-row-gap: .5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: space-between;
    align-items: stretch;
    display: grid
}

.container-copied {
    width: 100%;
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
    padding-top: 5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.newsletter-image-wrap {
    width: 9.5rem;
    background-color: #1c1c1c;
    padding-top: 9.5rem;
    position: relative
}

.tab-content-wrapper {
    margin-top: 3em;
    margin-bottom: 3em
}

.map-info-item {
    border-bottom: .03125rem solid rgba(255, 255, 255, .1);
    padding: 1rem
}

.map-info-item.is-last {
    border-bottom-style: none
}

.newsletter-image-icon-size {
    color: #ededed;
    font-size: 2rem
}

.icon-heading {
    width: 1em;
    height: 1em;
    font-size: 1em;
    display: flex
}

.text-field-main {
    width: 100%;
    height: 2.75em;
    color: #ededed;
    background-color: #1c1c1c;
    border: .0625em solid rgba(255, 255, 255, .1);
    border-radius: .5em;
    margin-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em;
    font-size: 1em
}

.text-field-main::-ms-input-placeholder {
    color: #666
}

.text-field-main::placeholder {
    color: #666
}

.text-field-main.is-area {
    height: auto;
    min-height: 12rem
}

._4x-column {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr
}

.text-lead {
    max-width: 64ch;
    color: #ededed;
    font-size: 1em
}

.map-buttons {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    display: flex
}

.app-wrap {
    z-index: 1;
    width: 2em;
    height: 2em;
    object-fit: cover;
    border-radius: 30%;
    flex: none;
    margin-bottom: .375em;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px .1875rem -.09375rem rgba(0, 0, 0, .2)
}

.app-wrap.web {
    background-color: #2d81fd;
    justify-content: center;
    align-items: center;
    padding-left: .2em;
    display: flex
}

.card-cta {
    width: 1.5rem;
    height: 1.5rem;
    color: #ededed;
    border: .09375rem rgba(255, 255, 255, .08);
    border-radius: 6.1875rem;
    justify-content: center;
    align-items: center;
    font-size: .6875rem;
    line-height: 1.5;
    transition: background-color .2s, border-color .2s;
    display: flex
}

.card-cta:hover {
    background-color: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .16)
}

.map-links-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    align-items: center
}

.newsletter-wrap {
    width: 100%;
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: .75em;
    grid-template-rows: auto;
    grid-template-columns: auto 1fr;
    grid-auto-columns: 1fr;
    display: block;
    overflow: hidden
}

.form-label {
    color: #ededed;
    font-variation-settings: "wght" 450;
    letter-spacing: 0;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.5;
    display: inline
}

.newsletter-content {
    grid-row-gap: 1rem;
    border-top-right-radius: .75rem;
    border-bottom-right-radius: .75rem;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.25em;
    display: flex
}

.contact-card-list {
    grid-row-gap: .5rem;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    display: flex
}

.text-link {
    color: #ededed;
    border-bottom: .0625rem solid rgba(255, 255, 255, .08);
    transition: border-color .2s
}

.text-link:hover {
    color: #ededed;
    border-bottom-color: transparent
}

.newsletter-grid {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    justify-content: start;
    justify-items: start
}

.map-outline {
    z-index: 1;
    border-radius: .625rem;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    box-shadow: 0 0 0 .0625rem rgba(255, 255, 255, .1)
}

.block-divider {
    height: .03125rem;
    background-color: rgba(255, 255, 255, .08)
}

.thumb-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.form-block {
    margin-bottom: 0
}

.hero-heading-wrap {
    z-index: 1;
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    grid-template-rows: auto;
    grid-template-columns: auto;
    grid-auto-columns: auto;
    grid-auto-flow: column;
    align-items: center;
    display: block;
    position: relative
}

.hero-heading {
    color: #ededed;
    font-variation-settings: "wght" 625;
    letter-spacing: -.025em;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 3em;
    font-weight: 400;
    line-height: 1.1;
    display: inline
}

.outline-10px {
    z-index: 1;
    opacity: .15;
    background-image: none;
    border-radius: .625rem;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    box-shadow: inset 0 0 0 .0625rem #fff
}

.card-resources {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .75rem;
    flex: 1;
    padding: .05rem;
    text-decoration: none;
    transition: background-color .2s, color .2s, border-color .2s;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px .125rem -.09375rem rgba(0, 0, 0, .2)
}

.app-list {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-direction: column;
    align-items: flex-start;
    display: flex
}

.content-title-wrap {
    margin-bottom: 1rem
}

.card-content-vertical {
    z-index: 1;
    width: 100%;
    height: 100%;
    grid-row-gap: 1rem;
    color: #666;
    background-color: #1c1c1c;
    border-radius: .6875rem;
    flex-direction: column;
    justify-content: space-between;
    padding: .93em;
    display: flex;
    position: relative
}

.shine-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    bottom: auto;
    left: 0%;
    right: auto
}

.hero-block {
    grid-row-gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 3em;
    display: flex
}

.button-small {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    color: #ededed;
    background-color: #2e2e2e;
    border: .0625rem solid #3e3e3e;
    border-radius: 6.1875rem;
    justify-content: center;
    align-items: center;
    padding: .375rem .75rem;
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1;
    transition: background-color .2s, color .2s;
    display: flex;
    box-shadow: 2px 0 .125rem -.09375rem rgba(0, 0, 0, .2)
}

.button-small:hover {
    color: #eee;
    background-color: rgba(255, 255, 255, .16);
    border-color: #505050
}

.button-small.is-circle {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.button-small.is-map {
    color: #fff;
    background-color: #30a46c;
    border-color: rgba(255, 255, 255, .08)
}

.button-small.is-map:hover {
    background-color: #268859
}

.newsletter-image-outline {
    width: 100%;
    height: 100%;
    border: .0625rem solid rgba(255, 255, 255, .08);
    border-top-left-radius: .75rem;
    border-bottom-left-radius: .75rem;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.map-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .75rem;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.app-list-wrap {
    height: 100%;
    grid-row-gap: 0px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    display: flex
}

.text-muted {
    color: #666
}

.map-info-heading {
    color: #ededed;
    font-variation-settings: "wght" 550;
    letter-spacing: -.02em;
    font-size: 1.125rem
}

.contact-card-square {
    width: 100%;
    border-radius: .625rem;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px .1875rem -.09375rem rgba(0, 0, 0, .2)
}

.button-is-subscribe {
    height: 2.25em;
    grid-column-gap: .25em;
    grid-row-gap: .25em;
    color: #ededed;
    background-color: #1c1c1c;
    border: .0625em solid rgba(255, 255, 255, .08);
    border-radius: .375em;
    justify-content: center;
    align-items: center;
    padding: .25em 1em;
    font-size: 1.1em;
    font-weight: 400;
    line-height: 1;
    transition: background-color .2s, border-color .2s;
    display: flex;
    box-shadow: 2px 0 .125rem -.09375rem rgba(0, 0, 0, .2)
}

.button-is-subscribe:hover {
    color: #eee;
    background-color: #232323;
    border-color: rgba(255, 255, 255, .16)
}

.button-is-subscribe.is-submit {
    height: 2.75rem
}

._2x-column {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.card-cta-wrap {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    align-items: center;
    display: flex
}

.tools-head-long {
    grid-column-gap: 1rem;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2rem;
    display: flex
}

.card-badge {
    color: #ededed;
    font-variation-settings: "wght" 450;
    letter-spacing: 0;
    background-color: #30a46c;
    border: .0625rem solid rgba(255, 255, 255, .1);
    border-radius: .1875rem;
    justify-content: center;
    align-items: center;
    padding-left: .28125rem;
    padding-right: .28125rem;
    font-size: .75rem;
    line-height: 1rem;
    display: flex
}

.card-badge.is-orange {
    color: #161616;
    background-color: orange
}

.sidebar-header-avatar {
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.card-info {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    color: #666;
    flex-wrap: wrap;
    align-items: center;
    display: flex
}

.card-meta {
    perspective: 50rem;
    justify-content: space-between;
    align-items: flex-end;
    font-size: .75rem;
    display: flex
}

.empty-state-link {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    color: #ededed;
    background-color: rgba(255, 255, 255, .08);
    border-radius: 62.4375rem;
    align-items: center;
    padding-bottom: .125rem;
    padding-left: .5rem;
    padding-right: .375rem;
    transition: background-color .2s;
    display: flex
}

.empty-state-link:hover {
    background-color: rgba(255, 255, 255, .16)
}

.empty-state-wrap {
    background-color: transparent;
    padding: 0
}

.empty-state-link-adjustment {
    margin-top: .125rem;
    margin-left: -.125rem;
    font-size: .625rem
}

.empty-state {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    background-color: #1c1c1c;
    border: .09375rem solid rgba(255, 255, 255, .08);
    border-radius: .75rem;
    flex-wrap: wrap;
    padding: 2rem;
    display: flex
}

.cms-item {
    perspective: 100vw;
    display: flex
}

.card-thumb-wrap {
    width: 100%;
    background-color: rgba(255, 255, 255, .08);
    border-radius: .625rem;
    flex: 1;
    padding: .0625rem;
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px .125rem -.09375rem rgba(0, 0, 0, .2)
}

.card-thumb-perspective {
    perspective: 100vw
}

.card-description {
    grid-row-gap: .125rem;
    flex-direction: column;
    display: flex
}

.card-thumb {
    z-index: 1;
    width: 100%;
    border-radius: .5625rem;
    padding-top: 62.5%;
    position: relative;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    overflow: hidden
}

.post-introduction {
    color: #ededed;
    font-variation-settings: "wght" 450;
    margin-bottom: .5rem;
    font-size: 1.125rem;
    line-height: 1.333
}

.post-image-outline {
    z-index: 1;
    opacity: .15;
    background-image: linear-gradient(135deg, transparent 50%, rgba(255, 255, 255, .85));
    border-radius: .625rem;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    box-shadow: inset 0 0 0 .0625rem #fff
}

.team-avatar {
    width: 1rem;
    height: 1rem;
    object-fit: cover;
    border-radius: 62.4375rem
}

.team-icon {
    margin-left: -.125rem;
    font-size: .625rem
}

.post-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.post-body {
    width: 100%;
    background-color: #1c1c1c;
    border: .09375rem solid rgba(255, 255, 255, .08);
    border-radius: .75rem;
    padding: 2rem;
    line-height: 1.5rem;
    box-shadow: 0 2px .125rem -.09375rem rgba(0, 0, 0, .2)
}

.content-block {
    z-index: 1;
    margin-top: 2.5rem;
    position: relative
}

.team-name {
    color: #ededed;
    font-variation-settings: "wght" 450
}

.team-link {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    color: #666;
    background-color: #1c1c1c;
    border: .0625rem solid rgba(255, 255, 255, .08);
    border-radius: 62.4375rem;
    justify-content: center;
    align-items: center;
    padding: .25rem;
    font-size: .75rem;
    text-decoration: none;
    transition: border-color .2s, background-color .2s;
    display: flex
}

.team-link:hover {
    background-color: #232323;
    border-color: rgba(255, 255, 255, .16)
}

.team-wrap {
    margin-top: .5rem
}

.post-image-wrap {
    width: 100%;
    border-radius: .625rem;
    flex: 1;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    padding-top: 62.5%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px .125rem -.09375rem rgba(0, 0, 0, .2)
}

.card-cta-2 {
    width: 1.5rem;
    height: 1.5rem;
    color: #ededed;
    border: .09375rem solid rgba(255, 255, 255, .08);
    border-radius: 6.1875rem;
    justify-content: center;
    align-items: center;
    font-size: .6875rem;
    line-height: 1.5;
    transition: background-color .2s, border-color .2s;
    display: flex
}

.card-cta-2:hover {
    background-color: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .16)
}

.card-2 {
    width: 100%;
    color: #666;
    background-color: #2e2e2e;
    border-radius: .75rem;
    flex: 1;
    padding: .0625rem;
    transition: background-color .2s, color .2s, border-color .2s;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px .125rem -.09375rem rgba(0, 0, 0, .2)
}

.card-2:hover {
    color: #ededed
}

.tabs-menu-spaced_resources {
    border-bottom: .0625rem solid rgba(255, 255, 255, .08);
    justify-content: space-between;
    margin-bottom: 4em;
    padding-bottom: 1em;
    display: flex
}

.tab-content_resources {
    min-height: 30em
}

.tab-menu-item_resources {
    min-width: 12.5rem;
    color: #fff;
    background-color: transparent;
    justify-content: center;
    align-items: center;
    transition: opacity .4s;
    display: flex
}

.tab-menu-item_resources:hover,
.tab-menu-item_resources.w--current {
    background-color: #1c1c1c;
    border: .0625rem solid rgba(255, 255, 255, .08);
    border-radius: .3rem
}

.tab-pane-wrapper.grid {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.name-wrapper {
    max-width: 12em;
    grid-column-gap: .256em;
    grid-row-gap: .256em;
    opacity: .5;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: auto;
    padding-bottom: 2em;
    padding-left: 1.5em;
    padding-right: 1.5em;
    transition: all .35s;
    display: flex
}

.name-wrapper:hover {
    opacity: 1
}

.margin-top-auto {
    margin-top: auto
}

.link-in-paragpra {
    color: #9ba1a7;
    transition: all .35s
}

.link-in-paragpra:hover {
    color: #fff
}

.btn-icon {
    width: .3em;
    margin-bottom: .2em
}

.swiper {
    width: 100%;
    border: .15em rgba(255, 255, 255, .1);
    border-radius: .6em;
    overflow: hidden
}

.swiper-wrapper {
    height: 15em
}

.swiper-slide {
    height: 15em;
    overflow: visible
}

.card-border-radius {
    height: 100%;
    min-height: 15rem;
    border-radius: .6em;
    padding: 1px;
    position: relative
}

.image-2 {
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative
}

.cards-overlay {
    z-index: 2;
    background-image: linear-gradient(rgba(255, 255, 255, 0) 57%, rgba(0, 0, 0, .5));
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%
}

.tab_pricing {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-direction: column;
    justify-content: flex-start
}

.tabs-menu_pricing {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: space-between;
    display: grid
}

.tab-menu-item_pricing {
    width: 100%;
    color: #fff;
    background-color: #1c1c1c;
    border-radius: .3em;
    justify-content: center;
    align-items: center;
    transition: opacity .4s;
    display: flex
}

.tab-menu-item_pricing:hover,
.tab-menu-item_pricing.w--current {
    color: #000;
    background-color: #fff;
    border-radius: .3rem
}

.tab-content_pricing {
    margin-top: 3em
}

.blod-underlione {
    font-weight: 700;
    text-decoration: none
}

.top-margin-auto {
    margin-top: auto
}

.permonth-span {
    color: var(--dark-grey);
    font-size: .7em
}

.custom-request-tab {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.form-row {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.space-20 {
    padding-top: 1.25em
}

.contact-grid-pricing {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    flex: 1
}

.success-message-main {
    background-color: #1c1c1c;
    border-radius: .3em
}

.app-out-line-bg {
    z-index: 1;
    opacity: .2;
    background-image: linear-gradient(135deg, transparent 50%, rgba(255, 255, 255, .5));
    border-radius: 30%;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    box-shadow: inset 0 0 0 .0625rem #fff
}

.webflow-logo {
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    display: flex
}

.card-btn-flex {
    grid-column-gap: .5em;
    justify-content: space-between;
    align-self: stretch;
    align-items: center;
    display: flex
}

.pricing-form-block {
    margin-bottom: 0
}

.pricing-social {
    flex-direction: column;
    padding-bottom: 3.25em;
    display: flex
}

.space-10 {
    padding-top: .625em
}

.dropdown-field-form-2 {
    height: 2.75em;
    color: #666;
    background-color: #1c1c1c;
    border: .0625em solid rgba(255, 255, 255, .1);
    border-radius: .5em;
    margin-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em;
    font-size: 1em
}

.dropdown-field-form-2::-ms-input-placeholder {
    color: #666
}

.dropdown-field-form-2::placeholder {
    color: #666
}

.text-field-main-2 {
    width: 100%;
    height: 2.75em;
    color: #ededed;
    background-color: #1c1c1c;
    border: .0625em solid rgba(255, 255, 255, .1);
    border-radius: .5em;
    margin-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em;
    font-size: 1em
}

.text-field-main-2::-ms-input-placeholder {
    color: #666;
    font-size: .9em
}

.text-field-main-2::placeholder {
    color: #666;
    font-size: .9em
}

.text-field-main-2.is-area {
    height: auto;
    min-height: 12rem
}

.form-row-2 {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    display: flex
}

.global-styles-wrapper,
.global-rtl-element,
.do-not-delete {
    display: none
}

.dir-ltr {
    direction: ltr
}

.dir-rtl {
    direction: rtl
}

.rtl_order-first {
    order: -1
}

.rtl_order-last,
.rtl_order-2,
.rtl_order-3,
.rtl_order-4,
.rtl_order-5 {
    order: 999
}

.container-large {
    width: 100%;
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto
}

.rf-styleguide_header {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 5rem;
    padding-bottom: 3rem;
    display: flex
}

.rf-styleguide_header.border-top {
    border-top: 1px dashed #000;
    flex-direction: column
}

.rf-styleguide_button-row {
    grid-column-gap: 1rem;
    display: flex
}

.icon-embed-xsmall {
    width: 1.5rem;
    height: 1.5rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex
}

.rf-styleguide_topic {
    background-color: #f4f4f4;
    border: 2px solid #000;
    margin-bottom: 3rem;
    padding: .25rem .5rem
}

.rf-styleguide_heading {
    z-index: 4;
    color: #fff;
    background-color: #000;
    padding: .25rem .5rem;
    position: -webkit-sticky;
    position: sticky;
    top: 0
}

.rf-styleguide_list {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column wrap;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
    display: flex
}

.rf-styleguide_list.is-custom1 {
    margin-bottom: 2rem
}

.rf-styleguide_subheading {
    z-index: 3;
    color: #000;
    background-color: #d3d3d3;
    padding: .25rem .5rem;
    position: -webkit-sticky;
    position: sticky;
    top: 2rem
}

.rf-styleguide_label {
    color: #fff;
    white-space: nowrap;
    cursor: context-menu;
    background-color: #0073e6;
    padding: .25rem .5rem;
    font-size: .75rem;
    display: inline-block
}

.rf-styleguide_label.is-component {
    background-color: #089754
}

.rf-styleguide_label.is-attribute {
    background-color: #383838
}

.rf-styleguide_label.is-html-tag {
    background-color: #be4aa5
}

.rf-flexandgridexamples {
    height: 80vh;
    grid-row-gap: 1rem;
    flex-direction: column;
    align-items: stretch;
    padding: 5%;
    display: flex
}

.vflex {
    flex-direction: column;
    display: flex
}

.flex-child {
    width: 3rem;
    height: 3rem;
    color: #fff;
    background-color: red;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    display: flex
}

.hflex {
    flex-direction: row;
    align-items: flex-end;
    display: flex
}

.grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-items: start;
    display: grid
}

.grid-child {
    width: 3rem;
    height: 3rem;
    color: #fff;
    background-color: red;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    display: flex
}

.rf-styleguide_label-2 {
    color: #fff;
    white-space: nowrap;
    cursor: context-menu;
    background-color: #0073e6;
    padding: .25rem .5rem;
    font-size: .75rem;
    display: inline-block
}

.rf_css-rtl {
    display: none
}

.rf_custom-styles {
    direction: rtl
}

.rf-styleguide_item-row {
    grid-column-gap: 1.5rem;
    grid-row-gap: 0rem;
    grid-template-rows: auto;
    grid-template-columns: 15rem 1fr;
    align-items: center
}

.body-light {
    color: #000;
    background-color: #fff
}

.global-ltr-element {
    display: none
}

.section-header2_component {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr
}

.section-header2_content-wrapper {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr max-content;
    grid-auto-columns: 1fr;
    align-items: end;
    display: grid
}

.spacer-xxsmall {
    width: 100%;
    padding-top: .5rem
}

.section-header2_content-right {
    align-items: center;
    display: flex
}

.section-header2_form-block {
    margin-bottom: 0;
    margin-right: 1rem
}

.section-header2_search {
    align-items: center;
    display: flex;
    position: relative
}

.form-input {
    height: auto;
    min-height: 2.75rem;
    color: transparent;
    background-color: transparent;
    border: 1px solid transparent;
    margin-bottom: 0;
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.6
}

.form-input:focus {
    border-color: #000
}

.form-input::-ms-input-placeholder {
    color: rgba(0, 0, 0, .6)
}

.form-input::placeholder {
    color: rgba(0, 0, 0, .6)
}

.form-input.is-icon-left {
    padding-left: 2.75rem
}

.form-icon-wrapper {
    position: absolute;
    top: auto;
    bottom: auto;
    left: 12px;
    right: auto
}

.dropdownlang_component {
    margin-left: 0;
    margin-right: 0
}
.dropdown:hover .lang_dropdown-list {
    display: block;
}
.dropdown2_toggle {
    grid-column-gap: .5rem;
    border: 1px solid transparent;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 1rem;
    display: flex
}
.dropdown-chevron {
    width: 1rem;
    height: 1rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex
}

.lang_dropdown-list {
    background-color: transparent;
}

.lang_dropdown-list.w--open {
    position: relative
}

.lang_dropdown-list.is-right {
    color: #fff;
    background-color: #111;
    right: -3em
}

.dropdown2_dropdown-link {
    padding: .5rem
}

.dropdown2_dropdown-link.w--current {
    color: transparent
}

.dropdown-lang-toggle {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    color: #fff;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    display: flex
}

.no-underline {
    text-decoration: none
}

.locales-list {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: .25em;
    display: flex
}

.lang-local-item {
    padding: 0.5rem;    
}

.lang-text {
    opacity: .5;
    text-transform: capitalize;
    padding: 0;
    font-size: 1em;
    text-decoration: none;
    transition: all .3s;
    display: inline-block
    
}

.lang-text:hover {
    opacity: 1;
    text-decoration: none
}

.html-embed {
    margin-bottom: .2em
}

.sidebar1_accordion {
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch
}

.sidebar1_link {
    grid-column-gap: .5rem;
    text-align: center;
    align-items: center;
    padding: .5rem;
    text-decoration: none;
    display: flex
}

.sidebar1_link.w--current {
    color: transparent;
    background-color: transparent
}

.sidebar1_link.is-indent {
    padding-left: 2.75rem
}

.sidebar1_link-wrapper {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    align-items: center;
    display: flex
}

.sidebar1_accordion-icon {
    width: .75em;
    height: .75em;
    margin-bottom: .2em;
    display: flex
}

.sidebar1_accordion-list {
    flex-direction: column;
    display: flex;
    overflow: hidden
}

.locales-wrapper {
    padding-left: 3.5em;
    padding-right: 3.5em;
    position: relative
}

.dropdown-toggle {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    align-items: center;
    padding: 0;
    display: flex
}
.dropdown {
    margin-left: 0;
    margin-right: 0
}

@media screen and (max-width:991px) {
    body {
        font-size: 1rem
    }

    .padding-xlarge {
        padding: 3rem
    }

    .margin-xlarge {
        margin: 3rem
    }

    .padding-xhuge {
        padding: 6rem
    }

    .padding-xxhuge {
        padding: 8rem
    }

    .padding-huge {
        padding: 5rem
    }

    .margin-large {
        margin: 2.5rem
    }

    .padding-xxlarge {
        padding: 4rem
    }

    .padding-large {
        padding: 2.5rem
    }

    .margin-huge {
        margin: 5rem
    }

    .padding-medium {
        padding: 1.5rem
    }

    .margin-xxlarge {
        margin: 4rem
    }

    .margin-xhuge {
        margin: 6rem
    }

    .margin-medium {
        margin: 1.5rem
    }

    .margin-xxhuge {
        margin: 8rem
    }

    .margin-horizontal {
        margin-top: 0;
        margin-bottom: 0
    }

    .padding-top {
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0
    }

    .margin-vertical {
        margin-left: 0;
        margin-right: 0
    }

    .margin-bottom {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0
    }

    .padding-left {
        padding-top: 0;
        padding-bottom: 0;
        padding-right: 0
    }

    .padding-vertical {
        padding-left: 0;
        padding-right: 0
    }

    .padding-horizontal {
        padding-top: 0;
        padding-bottom: 0
    }

    .margin-right {
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 0
    }

    .margin-top {
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0
    }

    .margin-left {
        margin-top: 0;
        margin-bottom: 0;
        margin-right: 0
    }

    .padding-right {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0
    }

    .padding-bottom {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0
    }

    .hide-tablet {
        display: none
    }

    .fs-styleguide_2-col {
        grid-column-gap: 2rem;
        grid-row-gap: 2rem;
        grid-template-columns: 1fr
    }

    .max-width-full-tablet {
        width: 100%;
        max-width: none
    }

    .fs-styleguide_1-col {
        grid-column-gap: 2rem;
        grid-row-gap: 2rem
    }

    .fs-styleguide_heading-medium {
        font-size: 3rem
    }

    .fs-styleguide_4-col {
        grid-template-columns: 1fr
    }

    .padding-section-large {
        padding-top: 6rem;
        padding-bottom: 6rem
    }

    .fs-styleguide_3-col {
        grid-template-columns: 1fr
    }

    .fs-styleguide_section {
        grid-column-gap: 2.5rem;
        grid-template-columns: 1fr
    }

    .padding-section-medium {
        padding-top: 5em;   
        padding-bottom: 0em
    }

    .page_layout {
        display: block
    }

    .sidenav {
        width: auto;
        height: auto;
        max-width: none;
        grid-column-gap: 1rem;
        grid-row-gap: 1rem;
        flex-direction: row;
        grid-template-rows: auto auto;
        grid-template-columns: 1fr 1fr;
        grid-auto-columns: 1fr;
        justify-content: flex-start;
        align-items: center;
        padding-top: 1rem;
        padding-bottom: 1rem;
        display: flex;
        position: relative
    }

    .sidenav_header {
        height: auto
    }

    .sidenav-avatar {
        align-items: flex-start
    }

    .sidenav_btn {
        order: 1;
        margin-left: auto
    }

    .sidenav_btn.w--open {
        background-color: rgba(200, 200, 200, 0)
    }

    .sidenav_menu {
        background-color: #111
    }

    .sidenav_list {
        padding-bottom: 1.5rem
    }

    .main_header {
        grid-column-gap: 1rem;
        grid-row-gap: 1rem;
        flex-direction: column;
        align-items: flex-start
    }

    .main_grid.padding-top,
    .main_grid.is-projects,
    .main_grid.is-resources {
        flex-direction: column;
        display: flex
    }

    .card_main.is-pricing {
        grid-template-rows: auto auto;
        grid-template-columns: 1fr 1fr;
        grid-auto-columns: 1fr
    }

    .paragraph_is-about {
        min-width: 0;
        word-break: normal
    }

    .text-field-main {
        font-size: 1em
    }

    .hero-heading {
        font-size: 2rem
    }

    .card-resources {
        background-color: #232323
    }

    .card-content-vertical {
        background-color: #1c1c1c
    }

    .shine-wrap {
        display: none
    }

    .card-2 {
        background-color: #232323
    }

    .tabs-menu-spaced_resources {
        flex-wrap: wrap
    }

    .tab-pane-wrapper.grid {
        display: flex
    }

    .name-wrapper {
        margin-top: auto;
        margin-bottom: 0;
        padding-bottom: 0;
        display: none
    }

    .custom-request-tab {
        grid-template-columns: 1fr
    }

    .webflow-logo {
        width: 70%;
        height: 70%
    }

    .dropdown-field-form-2,
    .text-field-main-2 {
        font-size: 1em
    }

    .section-header2_form-block {
        z-index: 999
    }

    .dropdown-chevron {
        top: auto;
        bottom: auto;
        left: auto;
        right: 0%
    }

    .sidebar1_accordion-icon {
        margin-top: 0;
        margin-bottom: 0;
        margin-right: 0;
        top: auto;
        bottom: auto;
        left: auto;
        right: 0%
    }
}

@media screen and (max-width:767px) {
    h1 {
        font-size: 2.5rem
    }

    h2 {
        font-size: 2rem
    }

    h3 {
        font-size: 1.5rem
    }

    h4 {
        font-size: 1rem
    }

    .padding-xlarge {
        padding: 2rem
    }

    .margin-xlarge {
        margin: 2rem
    }

    .padding-xhuge {
        padding: 4rem
    }

    .padding-xxhuge {
        padding: 4.5rem
    }

    .padding-huge {
        padding: 3.5rem
    }

    .margin-large {
        margin: 1.5rem
    }

    .padding-xxlarge {
        padding: 3rem
    }

    .padding-large {
        padding: 1.5rem
    }

    .margin-huge {
        margin: 3.5rem
    }

    .padding-medium {
        padding: 1.25rem
    }

    .margin-xxlarge {
        margin: 3rem
    }

    .margin-xhuge {
        margin: 4rem
    }

    .margin-medium {
        margin: 1.25rem
    }

    .margin-xxhuge {
        margin: 4.5rem
    }

    .margin-horizontal {
        margin-top: 0;
        margin-bottom: 0
    }

    .padding-top {
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0
    }

    .margin-vertical {
        margin-left: 0;
        margin-right: 0
    }

    .margin-bottom {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0
    }

    .padding-left {
        padding-top: 0;
        padding-bottom: 0;
        padding-right: 0
    }

    .padding-vertical {
        padding-left: 0;
        padding-right: 0
    }

    .padding-horizontal {
        padding-top: 0;
        padding-bottom: 0
    }

    .margin-right {
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 0
    }

    .margin-top {
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0
    }

    .margin-left {
        margin-top: 0;
        margin-bottom: 0;
        margin-right: 0
    }

    .padding-right {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0
    }

    .padding-bottom {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0
    }

    .hide-mobile-landscape {
        display: none
    }

    .heading-style-h3 {
        font-size: 1.5rem
    }

    .heading-style-h1 {
        font-size: 2.5rem
    }

    .padding-global {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }

    .padding-section-small {
        padding-top: 2rem;
        padding-bottom: 2rem
    }

    .fs-styleguide_section-header {
        font-size: .875rem
    }

    .fs-styleguide_heading-medium {
        font-size: 2rem
    }

    .max-width-full-mobile-landscape {
        width: 100%;
        max-width: none
    }

    .heading-style-h4 {
        font-size: 1rem
    }

    .text-style-nowrap {
        white-space: normal
    }

    .heading-style-h6 {
        font-size: .75rem
    }

    .padding-section-large {
        padding-top: 4rem;
        padding-bottom: 4rem
    }

    .text-size-large {
        font-size: 1.25rem
    }

    .heading-style-h2 {
        font-size: 2rem
    }

    .heading-style-h5 {
        font-size: .875rem
    }

    .text-size-medium {
        font-size: 1em
    }

    .padding-section-medium {
        padding-top: 0rem;
        padding-bottom: 0rem
    }

    .sidenav {
        justify-items: start;
        padding-left: .35rem;
        padding-right: .35rem
    }

    .sidenav_header,
    .sidenav-avatar {
        padding-left: 0
    }

    .card_main.is-pricing {
        width: 100%
    }

    .levelflow-logo {
        height: auto
    }

    .avatar-img {
        width: 4rem;
        height: 4rem;
        display: block
    }

    .contact-card-grid {
        grid-row-gap: 1rem
    }

    .container-copied {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .tab-content-wrapper {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem
    }

    ._4x-column {
        grid-template-columns: 1fr
    }

    .contact-card-list {
        grid-column-gap: 1rem;
        grid-row-gap: .5rem;
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr;
        grid-auto-columns: 1fr;
        display: grid
    }

    .newsletter-grid {
        grid-template-columns: 1fr
    }

    .block-divider {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem
    }

    .hero-heading {
        font-size: 2rem
    }

    .hero-block {
        grid-row-gap: .5rem;
        margin-top: 5rem;
        margin-bottom: 2.5rem
    }

    .app-list-wrap {
        grid-column-gap: 1rem;
        grid-row-gap: 1rem;
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr;
        grid-auto-columns: 1fr;
        display: grid
    }

    ._2x-column {
        grid-template-columns: 1fr
    }

    .empty-state {
        border-radius: .375rem;
        padding: 1rem
    }

    .post-introduction {
        font-variation-settings: "wght" 425;
        text-align: left;
        font-size: 1rem
    }

    .post-body {
        border-radius: .375rem;
        padding: 1.5rem 1rem
    }

    .tabs-menu-spaced_resources {
        grid-column-gap: 1rem;
        grid-row-gap: 1rem
    }

    .tab-pane-wrapper.grid {
        display: flex
    }

    .name-wrapper {
        margin-top: 0;
        padding-left: 0
    }

    .section-header2_component,
    .section-header2_content-wrapper {
        grid-column-gap: 1rem;
        grid-row-gap: 1rem;
        grid-template-columns: 1fr
    }

    .section-header2_content-right {
        justify-content: space-between
    }
}

@media screen and (max-width:479px) {
    .margin-horizontal {
        margin-top: 0;
        margin-bottom: 0
    }

    .padding-top {
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0
    }

    .margin-vertical {
        margin-left: 0;
        margin-right: 0
    }

    .margin-bottom {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0
    }

    .padding-left {
        padding-top: 0;
        padding-bottom: 0;
        padding-right: 0
    }

    .padding-vertical {
        padding-left: 0;
        padding-right: 0
    }

    .padding-horizontal {
        padding-top: 0;
        padding-bottom: 0
    }

    .margin-right {
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 0
    }

    .margin-top {
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0
    }

    .margin-left {
        margin-top: 0;
        margin-bottom: 0;
        margin-right: 0
    }

    .padding-right {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0
    }

    .padding-bottom {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0
    }

    .max-width-full-mobile-portrait {
        width: 100%;
        max-width: none
    }

    .hide-mobile-portrait {
        display: none
    }

    .sidenav {
        grid-column-gap: 0rem;
        grid-row-gap: 0rem;
        padding-left: 1.15rem;
        padding-right: 1.15rem
    }

    .sidenav_content {
        align-items: flex-start
    }

    .sidenav_header {
        padding-left: 0
    }

    .sidenav-avatar {
        object-fit: contain;
        object-position: 100% 50%;
        flex-direction: row;
        align-items: center;
        padding-left: 0
    }

    .sidenav-avatar.w--current {
        align-items: center
    }

    .button-primary {
        font-size: 4vw
    }

    .main_grid-fours {
        flex-direction: column;
        display: flex
    }

    .card_main.is-pricing {
        padding-top: 2em;
        padding-bottom: 2em
    }

    .heading_main {
        font-size: 8vw
    }

    .card_heading-small {
        font-size: 1.5em
    }

    .paragraph_is-about {
        min-width: 0
    }

    .levelflow-logo {
        width: 8rem
    }

    .avatar-img {
        width: 3rem;
        height: 3rem
    }

    .button-secondary {
        font-size: 4vw
    }

    .footer_menu-grid {
        grid-column-gap: 2.5rem;
        grid-row-gap: 2.5rem;
        flex-wrap: wrap;
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr;
        grid-auto-columns: 1fr;
        justify-content: space-between;
        justify-items: center;
        display: grid
    }

    .card_project {
        min-height: 0
    }

    .card_project-title {
        font-size: 7.5vw
    }

    .card_project-title.is-blog {
        font-size: 1rem
    }

    .collection-item {
        min-width: 0
    }

    .newsletter-image-wrap {
        width: 100%
    }

    .map-links-grid,
    .newsletter-wrap {
        grid-template-columns: 1fr
    }

    .newsletter-content {
        border-top-style: none;
        border-left-style: solid;
        border-top-right-radius: 0;
        border-bottom-left-radius: .75rem
    }

    .card-resources.spaceunder {
        margin-bottom: 0
    }

    .newsletter-image-outline {
        border-top-right-radius: .75rem;
        border-bottom-left-radius: 0
    }

    .tab-menu-item_resources {
        min-width: 45%
    }

    .name-wrapper {
        order: 1;
        padding-left: 0
    }

    .tab-menu-item_pricing {
        min-width: 45%;
        text-align: center;
        padding: 9px
    }

    .contact-grid-pricing {
        grid-row-gap: 1em;
        grid-template-columns: 1fr
    }
}

#w-node-_784c5b04-ad6f-9903-2590-7081142c0b68-2a26ebaa,
#w-node-_2662d558-fcdb-5d8a-fe44-01fd9ff1bfbc-2a26ebaa,
#w-node-fac8b0c5-6e49-893c-9f9c-33dd3a65df9a-2a26ebaa,
#w-node-_378a15bf-4246-4de8-a7c4-d1bc5d08d01a-2a26ebaa,
#w-node-c01e0795-51c5-78ac-7882-8b71c08ff8d0-2a26ebaa,
#w-node-_03cfe61f-ba17-6400-b4a2-653eae471793-2a26ebaa,
#w-node-c743eaaa-03e5-b893-ef85-9350f782e9fc-2a26ebaa,
#w-node-ff8a19c5-efe1-d857-4fad-54ca2412d0e2-2a26ebaa,
#w-node-_3f9e2a14-9b63-1c86-1041-bad79e1bd05f-2a26ebaa,
#w-node-_357f22f9-4f6a-5e4c-f1cd-61904281a434-2a26ebaa,
#w-node-f0301105-1be0-d7a7-6de9-2df1ab9e3f22-2a26ebaa,
#w-node-_2689afbc-de53-ba69-4214-1486cd4eae1b-2a26ebaa,
#w-node-_2b69de96-deaa-b00c-6c6b-1e10b3dc27db-2a26ebaa {
    grid-area: span 1/span 1/span 1/span 1
}

#name.w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd09-2a26ebb5,
#email.w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0a-2a26ebb5 {
    grid-area: span 1/span 2/span 1/span 2
}

#Message-Field.w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0b-2a26ebb5 {
    grid-area: span 1/span 4/span 1/span 4
}

#w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0c-2a26ebb5 {
    grid-area: 3/4/4/5;
    justify-self: end
}

#w-node-_142b660e-95cd-62b5-ac2c-debcc2b834a0-2a26ebb6,
#w-node-_3d3eaf9f-fa22-9e3a-9722-e749453a3f00-2a26ebb7 {
    grid-area: span 1/span 3/span 1/span 3
}

#w-node-_3d3eaf9f-fa22-9e3a-9722-e749453a3f0e-2a26ebb7 {
    justify-self: end
}

#w-node-d394b6b7-6149-8767-711b-cef8b8a77fb8-2a26ebb8 {
    grid-area: span 1/span 3/span 1/span 3
}

#w-node-d394b6b7-6149-8767-711b-cef8b8a77fc8-2a26ebb8 {
    justify-self: end
}

#w-node-_76829ce8-721c-c24c-c3a0-4c064f020ae3-2a26ebba {
    grid-area: span 1/span 3/span 1/span 3
}

#w-node-_76829ce8-721c-c24c-c3a0-4c064f020af1-2a26ebba {
    justify-self: end
}

#w-node-b7abf6be-0bed-9123-86ed-f468f9b9c50c-2a26ebbb {
    grid-area: span 1/span 3/span 1/span 3
}

#w-node-b7abf6be-0bed-9123-86ed-f468f9b9c51a-2a26ebbb {
    justify-self: end
}

#w-node-_1e67637b-97af-978e-553f-15d31b8778ef-2a26ebbc,
#w-node-_125857a6-fe96-49e6-18a3-9da5b36b4ae0-2a26ebbc,
#w-node-_3142b9ad-6952-2cc4-df86-e666e03cab7c-2a26ebbd,
#w-node-_8493d7d4-d968-0635-7c76-8ffd9a557648-2a26ebbd,
#w-node-_8493d7d4-d968-0635-7c76-8ffd9a557649-2a26ebbd,
#w-node-a24694df-d705-99a6-d5fc-86452c064d14-2a26ebbd,
#w-node-_743b36dc-1c6a-326f-10b8-4df2b5a3506e-2a26ebbd,
#w-node-_743b36dc-1c6a-326f-10b8-4df2b5a3506f-2a26ebbd {
    grid-area: span 1/span 1/span 1/span 1
}

#w-node-d0dff0bc-c1d0-5997-951e-34bfdcb4d492-2a26ebbd {
    grid-area: span 1/span 3/span 1/span 3
}

#w-node-a057201c-fb30-901c-8f83-bb7a6f6d7891-8b92f9fe,
#w-node-_2c81b0c5-24dc-6f74-bb73-d98a027efdf8-8b92f9fe {
    grid-area: span 1/span 1/span 1/span 1
}

#w-node-_81630699-d854-837c-a500-2d45a8a47435-8b92f9fe {
    grid-area: span 1/span 2/span 1/span 2
}

#w-node-_81630699-d854-837c-a500-2d45a8a4743f-8b92f9fe {
    grid-area: span 1/span 1/span 1/span 1;
    justify-self: end
}

#w-node-_81630699-d854-837c-a500-2d45a8a47445-8b92f9fe {
    grid-area: span 1/span 2/span 1/span 2;
    align-self: end
}

#w-node-cadec3ee-e755-1fda-9703-b8cf106e43a2-8b92f9fe {
    grid-area: span 1/span 1/span 1/span 1;
    justify-self: end
}

#w-node-_330c22da-cfde-eb4e-7384-38c0e457ec97-15c4f6f0 {
    grid-area: span 1/span 2/span 1/span 2
}

#w-node-_742716fc-43f9-7094-a760-bb6abe249839-15c4f6f0 {
    grid-area: span 1/span 1/span 1/span 1
}

#w-node-bcd637c1-e110-7fb9-27df-3c35270581b4-15c4f6f0 {
    grid-area: span 1/span 2/span 1/span 2
}

#w-node-a6db3dae-38a4-feeb-40b7-8acdae43e573-15c4f6f0,
#w-node-d215e52c-1b09-6ec5-c71f-772c570fb447-15c4f6f0,
#w-node-_287f6c8b-04aa-288a-a546-2149f6264e1f-15c4f6f0,
#w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0c-15c4f6f0 {
    grid-area: span 1/span 4/span 1/span 4
}

@media screen and (max-width:991px) {

    #w-node-d46a0beb-29d6-e1db-cf5f-7f3aad07f508-ad07f507,
    #w-node-_98180dbc-fea7-ae5e-9049-515c07437cb4-15c4f6f0 {
        grid-area: span 1/span 2/span 1/span 2
    }
}

@media screen and (max-width:767px) {

    #name.w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd09-2a26ebb5,
    #email.w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0a-2a26ebb5,
    #Message-Field.w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0b-2a26ebb5 {
        grid-column: span 1/span 1
    }

    #w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0c-2a26ebb5 {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-_142b660e-95cd-62b5-ac2c-debcc2b834a0-2a26ebb6 {
        grid-column: span 1/span 1
    }

    #w-node-_142b660e-95cd-62b5-ac2c-debcc2b834a9-2a26ebb6 {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-_3d3eaf9f-fa22-9e3a-9722-e749453a3f00-2a26ebb7 {
        grid-column: span 1/span 1
    }

    #w-node-_3d3eaf9f-fa22-9e3a-9722-e749453a3f0e-2a26ebb7 {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-d394b6b7-6149-8767-711b-cef8b8a77fb8-2a26ebb8 {
        grid-column: span 1/span 1
    }

    #w-node-d394b6b7-6149-8767-711b-cef8b8a77fc8-2a26ebb8 {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-_76829ce8-721c-c24c-c3a0-4c064f020ae3-2a26ebba {
        grid-column: span 1/span 1
    }

    #w-node-_76829ce8-721c-c24c-c3a0-4c064f020af1-2a26ebba {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-b7abf6be-0bed-9123-86ed-f468f9b9c50c-2a26ebbb {
        grid-column: span 1/span 1
    }

    #w-node-b7abf6be-0bed-9123-86ed-f468f9b9c51a-2a26ebbb {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-d0dff0bc-c1d0-5997-951e-34bfdcb4d492-2a26ebbd {
        grid-column: span 1/span 1
    }

    #w-node-d0dff0bc-c1d0-5997-951e-34bfdcb4d4a2-2a26ebbd {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-_330c22da-cfde-eb4e-7384-38c0e457ec97-15c4f6f0,
    #w-node-a6db3dae-38a4-feeb-40b7-8acdae43e573-15c4f6f0,
    #w-node-d215e52c-1b09-6ec5-c71f-772c570fb447-15c4f6f0,
    #w-node-_287f6c8b-04aa-288a-a546-2149f6264e1f-15c4f6f0 {
        grid-column: span 1/span 1
    }

    #w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0c-15c4f6f0 {
        grid-area: span 1/span 1/span 1/span 1
    }
}

@media screen and (max-width:479px) {
    #w-node-d46a0beb-29d6-e1db-cf5f-7f3aad07f523-ad07f507 {
        order: 9999
    }

    #w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0c-2a26ebb5,
    #w-node-_142b660e-95cd-62b5-ac2c-debcc2b834a9-2a26ebb6,
    #w-node-_3d3eaf9f-fa22-9e3a-9722-e749453a3f0e-2a26ebb7,
    #w-node-d394b6b7-6149-8767-711b-cef8b8a77fc8-2a26ebb8,
    #w-node-_76829ce8-721c-c24c-c3a0-4c064f020af1-2a26ebba,
    #w-node-b7abf6be-0bed-9123-86ed-f468f9b9c51a-2a26ebbb,
    #w-node-d0dff0bc-c1d0-5997-951e-34bfdcb4d4a2-2a26ebbd {
        justify-self: stretch
    }

    #w-node-_81630699-d854-837c-a500-2d45a8a47435-8b92f9fe {
        grid-area: span 1/span 1/span 1/span 1
    }

    #w-node-_98180dbc-fea7-ae5e-9049-515c07437cd2-15c4f6f0 {
        order: 9999
    }

    #w-node-_97684c09-f9af-9df6-aa35-da5e7c90cd0c-15c4f6f0 {
        justify-self: stretch
    }
}

/* Homepage credential cards */

.card_main.small.stat-card {
    display: grid;
    grid-template-rows: 4.5em 3.5em;
    align-content: center;
    justify-items: center;
    row-gap: 0.5em;
    text-align: center;
}

/* Fixed area for each credential value */
.stat-value-row {
    width: 100%;
    height: 4.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-value {
    margin: 0;
    line-height: 1;
}

/* Fixed area for the text beneath each value */
.stat-caption-row {
    width: 100%;
    height: 3.5em;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

/* Credential links */
.stat-link,
.stat-link:visited,
.stat-link:hover,
.stat-link:active {
    color: #2997ff;
    line-height: 1.4;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

/* Non-linked captions */
.stat-caption {
    margin: 0;
    line-height: 1.4;
    text-align: center;
}

/* Homepage introduction and featured-project collage */
.home-credential-stack {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.home-intro-grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
}

.home-intro-grid .card_main.is-about {
    justify-content: flex-start;
    padding: 2.25rem 2.5rem;
}

.home-intro-eyebrow,
.home-focus-label {
    color: #a8a8a8;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.4;
    text-transform: uppercase;
}

.home-intro-heading {
    max-width: 52rem;
    margin: 0;
    font-size: 2.35rem;
    font-weight: 400;
    line-height: 1.15;
}

.home-intro-copy {
    max-width: 56rem;
    color: #a8a8a8;
    display: grid;
    gap: .65rem;
}

.home-intro-copy p {
    margin: 0;
    line-height: 1.55;
}

.home-focus-group {
    width: 100%;
    margin-top: auto;
    padding-top: .75rem;
}

.home-focus-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .55rem;
}

.home-focus-list span {
    color: #c8c8c8;
    border: .0625rem solid rgba(255, 255, 255, .14);
    border-radius: .375rem;
    padding: .45rem .7rem;
    font-size: .8rem;
    line-height: 1;
}

.home-featured-projects {
    margin-top: 1rem;
}

.home-featured-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
}

.home-featured-header .card_heading-small {
    margin: 0;
    font-weight: 400;
}

.home-featured-grid.main_grid.is-projects {
    margin-top: 1rem;
    grid-template-columns: 1fr;
    grid-row-gap: 1.25rem;
}

.home-featured-project {
    height: 24rem;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(18rem, 36%) minmax(0, 1fr);
    align-items: stretch;
}

.home-featured-project-collage {
    min-height: 0;
    padding: .4rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: .4rem;
    background: rgba(0, 0, 0, .18);
}

.home-featured-project-collage-item {
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    position: relative;
    border-radius: .2rem;
    background: #111;
}

.home-featured-project-collage-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .56);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}

.home-featured-project-collage-item img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    filter: saturate(.9);
    transition: filter .25s ease, transform .25s ease;
}

.home-featured-project-collage-item figcaption {
    position: absolute;
    inset: 0;
    z-index: 1;
    margin: 0;
    padding: .75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8f8f8f;
    text-align: center;
    font-size: .8rem;
    line-height: 1.4;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}

.home-featured-mobile-hint {
    display: none;
}

.home-featured-project-collage-item:hover::after,
.home-featured-project-collage-item:focus-within::after {
    opacity: 1;
}

.home-featured-project-collage-item:hover img,
.home-featured-project-collage-item:focus-within img {
    filter: saturate(.7) brightness(.42);
    transform: scale(1.025);
}

.home-featured-project-collage-item:hover figcaption,
.home-featured-project-collage-item:focus-within figcaption {
    opacity: 1;
}

body.lightbox-open .home-featured-project-collage-item:hover::after,
body.lightbox-open .home-featured-project-collage-item:focus-within::after {
    opacity: 0;
}

body.lightbox-open .home-featured-project-collage-item:hover img,
body.lightbox-open .home-featured-project-collage-item:focus-within img {
    filter: saturate(.9);
    transform: none;
}

body.lightbox-open .home-featured-project-collage-item:hover figcaption,
body.lightbox-open .home-featured-project-collage-item:focus-within figcaption {
    opacity: 0;
}

.home-featured-project-panel {
    min-width: 0;
    min-height: 0;
    padding: 1.75rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.home-featured-project-panel .project_card-title-wrap {
    margin-top: 0;
}

.home-featured-project-panel .project-card-subtitle {
    width: 100%;
    max-width: none;
}

.home-featured-project-panel .card_project-title {
    font-size: clamp(1.5rem, 2.1vw, 2.2rem);
}

.home-featured-project-panel h3.card_project-title {
    margin: 0;
}

.home-featured-project-scroll {
    width: 100%;
    min-height: 0;
    flex: 1;
    overflow-y: auto;
    padding: .25rem .75rem .25rem 0;
    color: #d0d0d0;
    font-size: .95rem;
    line-height: 1.55;
    scrollbar-color: rgba(255, 255, 255, .28) transparent;
}

.home-featured-project-scroll p {
    margin: 0 0 1rem;
}

.home-featured-project-scroll strong {
    color: #fff;
    font-size: .8rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-featured-project-scroll ul {
    margin: -.5rem 0 0;
    padding-left: 1.2rem;
}

.home-featured-project-scroll li + li {
    margin-top: .45rem;
}

.home-featured-project-link {
    display: inline-flex;
    margin-top: auto;
    padding: .55rem .8rem;
    color: #fff;
    border: .0625rem solid rgba(255, 255, 255, .3);
    border-radius: .375rem;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color .25s ease, border-color .25s ease;
}

.home-featured-project-link:hover {
    background-color: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .5);
}

@media screen and (max-width: 767px) {
    .home-intro-grid .card_main.is-about {
        padding: 1.5rem 1.25rem;
    }

    .home-intro-heading {
        font-size: 1.8rem;
    }

    .home-focus-group {
        margin-top: .5rem;
    }

    .home-featured-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-featured-project {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
    }

    .home-featured-project-collage {
        min-height: 0;
        aspect-ratio: 1 / 1;
    }

    .home-featured-project-panel {
        padding: 1.5rem 1.25rem;
    }

    .home-featured-project-scroll {
        overflow: visible;
    }
}

@media screen and (max-width: 767px) and (hover: none) {
    .home-featured-mobile-hint {
        display: block;
        margin: .5rem 0 1rem;
        color: #bdbdbd;
        font-size: .85rem;
    }

    .home-featured-project-collage-item:not(.is-caption-visible)::after,
    .home-featured-project-collage-item:not(.is-caption-visible) figcaption {
        opacity: 0;
    }

    .home-featured-project-collage-item:not(.is-caption-visible) img {
        filter: saturate(.9);
        transform: none;
    }

    .home-featured-project-collage-item.is-caption-visible::after,
    .home-featured-project-collage-item.is-caption-visible figcaption {
        opacity: 1;
    }

    .home-featured-project-collage-item.is-caption-visible img {
        filter: saturate(.7) brightness(.42);
        transform: scale(1.025);
    }

    .home-featured-project-collage-item.is-caption-visible figcaption {
        color: #fff;
    }
}

.sidenav {
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
}

.sidenav_menu {
    flex: none;
}

.sidenav_list {
    padding-bottom: 2em;
}

/* Mobile navigation controls are added by js/navigation.js. */
.mobile-nav-title,
.mobile-nav-toggle {
    display: none;
}

@media screen and (max-width: 767px) {
    body.mobile-nav-lock {
        overflow: hidden;
    }

    .sidenav {
        z-index: 999;
        min-height: 3.75rem;
        justify-content: space-between;
        overflow: visible;
        box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.28);
    }

    .sidenav_content {
        min-width: 0;
        flex: 1;
        flex-direction: row;
        align-items: center;
        gap: 0.65rem;
    }

    .mobile-nav-title {
        display: block;
        min-width: 0;
        color: #fff;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-nav-toggle {
        width: 2.75rem;
        height: 2.75rem;
        flex: none;
        color: #fff;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 0.4rem;
        cursor: pointer;
        align-items: center;
        justify-content: center;
        display: flex;
    }

    .mobile-nav-toggle:hover,
    .mobile-nav-toggle:focus-visible {
        background: rgba(255, 255, 255, 0.08);
        border-color: rgba(255, 255, 255, 0.35);
        outline: none;
    }

    .mobile-nav-toggle-icon {
        width: 1.25rem;
        height: 1rem;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .mobile-nav-toggle-icon span {
        width: 100%;
        height: 2px;
        background: currentColor;
        border-radius: 1px;
        transform-origin: center;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .mobile-nav-open .mobile-nav-toggle-icon span:first-child {
        transform: translateY(7px) rotate(45deg);
    }

    .mobile-nav-open .mobile-nav-toggle-icon span:nth-child(2) {
        opacity: 0;
    }

    .mobile-nav-open .mobile-nav-toggle-icon span:last-child {
        transform: translateY(-7px) rotate(-45deg);
    }

    .sidenav_menu {
        width: 100%;
        max-height: 0;
        background: #111;
        border-top: 1px solid transparent;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-0.4rem);
        transition: max-height 0.25s ease, opacity 0.2s ease,
            transform 0.2s ease, visibility 0.2s;
    }

    .mobile-nav-open .sidenav_menu {
        max-height: calc(100vh - 3.75rem);
        max-height: calc(100dvh - 3.75rem);
        border-top-color: rgba(255, 255, 255, 0.1);
        overflow-x: hidden;
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .sidenav_list {
        width: 100%;
        min-width: 0;
        padding: 0.55rem 0.75rem 1rem;
        flex-direction: column;
        align-items: stretch;
    }

    .sidenav_link,
    .sidenav_link.lang-drop {
        width: 100%;
        min-height: 2.75rem;
        padding: 0.65rem 0.75rem;
        border-radius: 0.35rem;
    }

    .sidenav_link:hover,
    .sidenav_link:focus-visible,
    .sidenav_link.lang-drop:hover {
        background: rgba(255, 255, 255, 0.08);
        outline: none;
    }

    .dropdown {
        width: 100%;
        margin-top: 0.35rem;
        padding-top: 0.35rem;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
}

.card_main {
    background-color: rgba(28, 28, 28, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);

    -webkit-backdrop-filter: blur(14px) saturate(115%);
    backdrop-filter: blur(14px) saturate(115%);
}

.section_main {
    position: relative;
    isolation: isolate;
}

.projects-page-bg {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 20vw;
    right: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.projects-page-bg img {
    width: 40%;
    max-width: none;
    height: auto;
}

.section_main .padding-global,
.section_main footer {
    position: relative;
    z-index: 1;
}

.card_project {
    background-color: rgba(28, 28, 28, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);

    -webkit-backdrop-filter: blur(14px) saturate(115%);
    backdrop-filter: blur(14px) saturate(115%);
}

.card_project-content-wrapper,
.card_project-content {
    background-color: transparent;
}

/* Project-card subtitles */
.project_card-title-wrap.has-subtitle {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
}

.project-card-subtitle {
    max-width: 38rem;
    margin: 0;
    line-height: 1.35;
}

/* =========================================
   PROJECT DETAIL PAGE
   ========================================= */

.project-detail-section {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}

.project-detail-panel {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding: 3rem;

    background-color: rgba(28, 28, 28, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0.625rem;

    -webkit-backdrop-filter: blur(16px) saturate(115%);
    backdrop-filter: blur(16px) saturate(115%);
}

.project-detail-back-link {
    display: inline-block;
    margin-bottom: 2rem;

    color: #a8a8a8;
    font-size: 0.9rem;
    text-decoration: none;

    transition:
        color 0.25s,
        transform 0.25s;
}

.project-detail-back-link:hover {
    color: #fff;
    transform: translateX(-0.2rem);
}

.project-detail-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
}

.project-detail-heading-group {
    width: 100%;
}

.project-detail-title {
    max-width: 60rem;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.05;
}

.project-detail-subtitle {
    max-width: 52rem;
    margin-top: 1rem;

    color: #b5b5b5;
    font-size: 1.15rem;
    line-height: 1.55;
}

.project-detail-tags {
    padding: 0;
}

.project-detail-outcome {
    width: 100%;
    max-width: 52rem;
    padding: 1.25rem 1.5rem;

    background-color: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-left: 0.25rem solid rgba(255, 255, 255, 0.5);
    border-radius: 0.375rem;
}

.project-detail-outcome-label {
    margin-bottom: 0.35rem;

    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.project-detail-outcome-text {
    margin: 0;
    color: #c2c2c2;
    line-height: 1.5;
}

.project-detail-section-block {
    width: 100%;
    margin-top: 4rem;
}

.project-detail-text-column {
    width: 100%;
    max-width: 52rem;
}

.project-detail-text-column p {
    margin-top: 1rem;
    color: #b5b5b5;
    font-size: 1rem;
    line-height: 1.75;
}

.project-detail-section-title {
    font-size: 2rem;
    line-height: 1.2;
}

.project-detail-section-heading-row {
    width: 100%;
    max-width: 52rem;
}

.project-detail-section-heading-row .project-detail-section-title {
    width: 100%;
    margin: 0;
}

.project-detail-text-toggle {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .3rem;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: .25rem;
    padding: .2rem 0;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: color .2s ease;
}

.project-detail-text-toggle:hover,
.project-detail-text-toggle:focus-visible {
    color: #fff;
}

.project-detail-text-toggle:focus-visible {
    outline: .125rem solid #2997ff;
    outline-offset: .3rem;
}

.project-detail-text-toggle-title-line {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.project-detail-text-toggle-heading {
    line-height: 1.2;
}

.project-detail-text-toggle-hint {
    width: fit-content;
    padding: .25rem .65rem;
    display: inline-flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    color: #c9edff;
    background-image: linear-gradient(
        105deg,
        rgba(41, 151, 255, .14),
        rgba(121, 84, 255, .22),
        rgba(41, 151, 255, .14)
    );
    border: 1px solid rgba(116, 208, 255, .42);
    border-radius: 999px;
    box-shadow: 0 0 .45rem rgba(41, 151, 255, .18);
    text-shadow: 0 0 .35rem rgba(143, 225, 255, .55);
    font-size: .78rem;
    font-weight: 500;
    line-height: 1.3;
    transition: color .18s ease, border-color .18s ease,
        box-shadow .18s ease;
}

.project-detail-text-toggle-hint::after {
    content: "";
    width: 42%;
    position: absolute;
    top: -.25rem;
    bottom: -.25rem;
    left: -55%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(211, 247, 255, .38),
        transparent
    );
    opacity: 0;
    pointer-events: none;
}

.project-detail-text-toggle:hover .project-detail-text-toggle-hint,
.project-detail-text-toggle:focus .project-detail-text-toggle-hint,
.project-detail-text-toggle:focus-visible .project-detail-text-toggle-hint {
    color: #fff;
    border-color: rgba(176, 234, 255, .8);
    box-shadow: 0 0 .7rem rgba(41, 151, 255, .38);
}

.project-detail-text-toggle:hover .project-detail-text-toggle-hint::after,
.project-detail-text-toggle:focus .project-detail-text-toggle-hint::after {
    animation: project-detail-hint-sheen .85s ease-out 1;
}

@keyframes project-detail-hint-sheen {
    0% {
        opacity: 0;
        transform: translateX(0) skewX(-18deg);
    }

    22% {
        opacity: .7;
    }

    100% {
        opacity: 0;
        transform: translateX(390%) skewX(-18deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .project-detail-text-toggle:hover .project-detail-text-toggle-hint::after,
    .project-detail-text-toggle:focus .project-detail-text-toggle-hint::after {
        animation: none;
    }
}

.project-detail-text-toggle-arrow {
    display: inline-block;
    flex: none;
    color: #8f8f8f;
    font-size: .65rem;
    line-height: 1;
    transition: transform .2s ease;
}

.project-detail-text-expanded .project-detail-text-toggle-arrow {
    transform: rotate(90deg);
}

.project-detail-collapsible-text[hidden] {
    display: none !important;
}

.project-detail-media {
    width: 100%;
    margin-top: 2rem;
    margin-bottom: 0;
}

.project-detail-hero {
    margin-top: 3rem;
}

.project-detail-media-content {
    display: block;
    width: 100%;
    max-height: 75vh;

    object-fit: contain;
    background-color: rgba(0, 0, 0, 0.25);

    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0.5rem;
}

.project-detail-caption {
    margin-top: 0.65rem;

    color: #8f8f8f;
    text-align: left;
    font-size: 0.8rem;
    line-height: 1.4;
}

.project-detail-embed {
    width: 100%;
    aspect-ratio: 16 / 9;

    background-color: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0.5rem;

    overflow: hidden;
}

.project-detail-iframe {
    width: 100%;
    height: 100%;

    border: 0;
    display: block;
}

.project-detail-embed-placeholder {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #8f8f8f;
    font-size: 1rem;
    text-align: center;
}

.project-detail-navigation {
    width: 100%;
    margin-top: 5rem;
    padding-top: 2rem;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;

    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.project-detail-navigation-link {
    min-height: 6rem;
    padding: 1.25rem;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background-color: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0.375rem;

    text-decoration: none;
    transition:
        background-color 0.25s,
        border-color 0.25s,
        transform 0.25s;
}

.project-detail-navigation-link:hover {
    background-color: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.16);
    transform: translateY(-0.15rem);
}

.project-detail-navigation-link.is-next {
    text-align: right;
    align-items: flex-end;
}

.project-detail-navigation-label {
    margin-bottom: 0.4rem;

    color: #858585;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.project-detail-navigation-title {
    color: #fff;
    font-size: 1rem;
}


/* Tablet */
@media screen and (max-width: 991px) {
    .project-detail-panel {
        padding: 2.25rem;
    }

    .project-detail-section-block {
        margin-top: 3.5rem;
    }
}


/* Mobile */
@media screen and (max-width: 767px) {
    .project-detail-section {
        padding-top: 1rem;
        padding-bottom: 2rem;
    }

    .project-detail-panel {
        padding: 1.5rem;
    }

    .project-detail-title {
        font-size: 2.4rem;
    }

    .project-detail-subtitle {
        font-size: 1rem;
    }

    .project-detail-section-block {
        margin-top: 3rem;
    }

    .project-detail-section-title {
        font-size: 1.65rem;
    }

    .project-detail-navigation {
        grid-template-columns: 1fr;
    }

    .project-detail-navigation-link.is-next {
        text-align: left;
        align-items: flex-start;
    }
}


/* Small mobile */
@media screen and (max-width: 479px) {
    .project-detail-panel {
        padding: 1.15rem;
        border-radius: 0.375rem;
    }

    .project-detail-title {
        font-size: 2rem;
    }

    .project-detail-media {
        margin-top: 1.5rem;
    }
}

/* Project and experience card-grid density */
@media screen and (max-width: 991px) {
    .main_grid.is-projects {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        display: grid
    }
}

@media screen and (max-width: 767px) {
    .main_grid.is-projects {
        grid-template-columns: 1fr
    }
}

/* Smooth scrolling for in-page section links */
html {
    scroll-behavior: smooth;
}

/* Give anchored sections a little breathing room at the top */
.project-detail-section-block {
    scroll-margin-top: 2rem;
}

/* "On This Page" navigation inside former Key Outcome block */
.project-detail-section-nav-links {
    margin-top: 0.65rem;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 0.25rem;
}

.project-detail-section-nav-links a {
    padding: 0.35rem 0;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;

    color: #c2c2c2;
    font-size: 0.95rem;
    line-height: 1.4;
    text-decoration: none;

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    transition:
        color 0.2s,
        border-color 0.2s,
        transform 0.2s;
}

.project-detail-section-nav-links a::after {
    content: "↓";
    color: #777;
    font-size: 0.85rem;

    transition:
        color 0.2s,
        transform 0.2s;
}

.project-detail-section-nav-links a:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.25);
    transform: translateX(0.15rem);
}

.project-detail-section-nav-links a:hover::after {
    color: #fff;
    transform: translateY(0.15rem);
}

/* Mobile: stack section links vertically */
@media screen and (max-width: 767px) {
    .project-detail-section-nav-links {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   PROJECT DETAIL MEDIA GRIDS
   ========================================= */

.project-detail-media-grid {
    width: 100%;
    margin-top: 2rem;

    display: grid;
    gap: 1rem;
}

.project-detail-media-grid.is-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-detail-media-grid.is-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Hero image row gets slightly more top spacing */
.project-detail-media-grid.is-hero {
    margin-top: 3rem;
}

.project-detail-media-grid .project-detail-media {
    margin: 0;
}

.project-detail-media-grid .project-detail-media-content {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}


/* =========================================
   SPECIAL PROJECT DETAIL BLOCKS
   Uses the same visual shell as "On This Page"
   ========================================= */

.project-detail-special-block {
    margin-top: 2rem;
}

.project-detail-special-block p {
    margin: 0.75rem 0 0;

    color: #c2c2c2;
    font-size: 1rem;
    line-height: 1.65;
}

.project-detail-special-block .project-detail-media-grid {
    margin-top: 1.25rem;
}


/* =========================================
   CONTRIBUTION LIST
   ========================================= */

.project-detail-contribution-list {
    margin-top: 1rem;
    padding-left: 1.25rem;

    color: #b5b5b5;
    font-size: 1rem;
    line-height: 1.75;
}

.project-detail-contribution-list li {
    margin-bottom: 0.75rem;
}


/* =========================================
   MOBILE
   ========================================= */

@media screen and (max-width: 767px) {

    .project-detail-media-grid.is-two {
        grid-template-columns: 1fr;
    }

    .project-detail-media-grid.is-three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .project-detail-media-grid.is-three .project-detail-caption {
        margin-top: 0.45rem;
        font-size: 0.7rem;
        line-height: 1.3;
    }
}

.project-detail-inline-link {
    display: inline-block;
    margin-top: 0.35rem;

    color: #2d9cff;
    font-size: 1rem;
    line-height: 1.5;
    text-decoration: none;

    border-bottom: 1px solid rgba(45, 156, 255, 0.65);

    transition:
        color 0.2s,
        border-color 0.2s,
        transform 0.2s;
}

.project-detail-inline-link:hover {
    color: #69b8ff;
    border-color: #69b8ff;
    transform: translateX(0.15rem);
}

/* =========================================
   INTERACTIVE 3D CAD VIEWER
   ========================================= */

.project-detail-model-viewer {
    width: 100%;
    height: min(70vh, 700px);
    min-height: 500px;

    background-color: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0.5rem;

    overflow: hidden;
}

.project-detail-model-viewer model-viewer {
    width: 100%;
    height: 100%;

    display: block;
}

.project-detail-model-viewer.cad-load-pending {
    display: grid;
    place-items: center;
}

.project-detail-model-viewer.cad-load-pending model-viewer {
    display: none;
}

.cad-load-gate {
    width: min(100%, 30rem);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
}

.cad-load-status {
    margin: 0;
    color: #b8b8b8;
    font-size: .95rem;
    line-height: 1.55;
}

.cad-load-button {
    min-height: 2.75rem;
    padding: .65rem 1.1rem;
    color: #eaf7ff;
    background: linear-gradient(
        135deg,
        rgba(41, 151, 255, .3),
        rgba(121, 84, 255, .32)
    );
    border: 1px solid rgba(130, 211, 255, .55);
    border-radius: .5rem;
    box-shadow: 0 0 .7rem rgba(41, 151, 255, .2);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease,
        box-shadow .2s ease, transform .2s ease;
}

.cad-load-button:hover,
.cad-load-button:focus-visible {
    border-color: rgba(190, 235, 255, .9);
    box-shadow: 0 0 1rem rgba(41, 151, 255, .38);
    transform: translateY(-.1rem);
    outline: none;
}

.cad-load-button:disabled {
    cursor: wait;
    opacity: .65;
    transform: none;
}

@media screen and (max-width: 767px) {
    .project-detail-model-viewer {
        height: 55vh;
        min-height: 350px;
    }
}

/* =========================================
   GLOBAL IMAGE LIGHTBOX
   ========================================= */

img.lightbox-enabled {
    cursor: zoom-in;
}

img.lightbox-enabled:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.85);
    outline-offset: 4px;
}

body.lightbox-open {
    overflow: hidden;
}

.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 4rem 5rem;

    background: rgba(0, 0, 0, 0.92);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;
}

.image-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.image-lightbox-content {
    display: block;

    width: auto;
    height: auto;

    max-width: 95vw;
    max-height: 90vh;

    object-fit: contain;

    border-radius: 0.35rem;

    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.45);

    transform: scale(0.985);

    transition: transform 0.2s ease;
}

.image-lightbox.is-open .image-lightbox-content {
    transform: scale(1);
}

.image-lightbox-close {
    position: fixed;

    top: 1.25rem;
    right: 1.5rem;

    z-index: 100000;

    width: 3rem;
    height: 3rem;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    color: #fff;

    background: rgba(0, 0, 0, 0.35);

    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;

    font: inherit;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.image-lightbox-close:hover,
.image-lightbox-close:focus-visible {
    background: rgba(255, 255, 255, 0.12);

    border-color: rgba(255, 255, 255, 0.4);

    transform: scale(1.06);

    outline: none;
}

@media screen and (max-width: 767px) {
    .image-lightbox {
        padding: 4rem 1rem 1.5rem;
    }

    .image-lightbox-content {
        max-width: 100%;
        max-height: 82vh;
    }

    .image-lightbox-close {
        top: 0.75rem;
        right: 0.75rem;
    }
}

/* =========================================
   HEATED BUILD PLATE PROJECT ADDITIONS
   ========================================= */

.project-detail-media-grid.is-one {
    grid-template-columns: minmax(0, 1fr);
}

.project-detail-media-grid.is-one .project-detail-media-content-natural {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    display: block;
}

.ded-pressure-grid .project-detail-media-content {
    aspect-ratio: 1;
    object-fit: contain;
    background: #fff;
}

#pressure-gallery .project-detail-media-grid + .project-detail-media-grid {
    margin-top: 1rem;
}

.project-detail-subsection-title {
    margin-top: 2.25rem;
    margin-bottom: 0.85rem;
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.3;
}

.project-detail-equation {
    width: 100%;
    max-width: 52rem;
    margin: 1.25rem 0;
    padding: 1rem 1.25rem;
    background-color: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 0.375rem;
    color: #f2f2f2;
    font-size: 1.05rem;
    line-height: 1.5;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.project-detail-equation mjx-container {
    margin: 0 !important;
    min-width: max-content;
}

.project-detail-equation-group {
    width: 100%;
    max-width: 52rem;
    margin: 1.25rem 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.project-detail-equation-group .project-detail-equation {
    margin: 0;
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

#cold-test-results .project-detail-media-grid+.project-detail-media-grid {
    margin-top: 1rem;
}

@media screen and (max-width: 767px) {
    .project-detail-equation {
        padding: 0.9rem 1rem;
        font-size: 0.95rem;
    }

    .project-detail-equation-group {
        grid-template-columns: 1fr;
    }
}

.project-detail-media-grid.is-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media screen and (max-width: 991px) {
  .project-detail-media-grid.is-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .project-detail-media-grid.is-four {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  #pressure-gallery .project-detail-media-grid.is-three,
  #pressure-gallery .project-detail-media-grid.is-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  #pressure-gallery .project-detail-caption {
    margin-top: 0.45rem;
    font-size: 0.7rem;
    line-height: 1.3;
  }
}

/* =========================================
   RESPONSIVE LAYOUT SAFEGUARDS
   All rules are breakpoint-scoped so the desktop layout is unchanged.
   ========================================= */

@media screen and (max-width: 991px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .page-wrapper,
    .page_layout,
    .main-wrapper,
    .section_main,
    .padding-global,
    .container-main {
        min-width: 0;
    }

    .sidenav {
        width: 100%;
        height: auto;
        max-height: none;
        min-width: 0;
        padding: 0.5rem 1rem;
        position: sticky;
        top: 0;
        overflow: visible;
    }

    .sidenav_content {
        flex: none;
    }

    .sidenav_header_indent {
        display: none;
    }

    .sidenav_header,
    .sidenav-avatar,
    .sidenav-avatar.w--current {
        width: auto;
        height: auto;
        padding: 0;
        align-items: center;
    }

    .portrait {
        width: 3rem;
        flex: none;
    }

    .sidenav_menu {
        min-width: 0;
        flex: 1;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .sidenav_menu::-webkit-scrollbar {
        display: none;
    }

    .sidenav_list {
        width: max-content;
        min-width: 100%;
        padding-bottom: 0;
        flex-direction: row;
        align-items: center;
    }

    .sidenav_link,
    .sidenav_link.lang-drop {
        min-height: 2.75rem;
        padding: 0.6rem 0.75rem;
        white-space: nowrap;
    }

    .locales-wrapper {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .projects-page-bg {
        left: 0;
    }
}

@media screen and (max-width: 767px) {
    .sidenav {
        gap: 0.35rem;
        padding: 0.35rem 0.75rem;
    }

    .portrait {
        width: 2.75rem;
    }

    .sidenav_link,
    .sidenav_link.lang-drop {
        min-height: 2.75rem;
        gap: 0.35rem;
        padding: 0.55rem 0.65rem;
    }

    .nav-link-icon {
        width: 1.5rem;
    }

    .card_main,
    .card_project-content-wrapper {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .card_image-section {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .project-detail-title,
    .project-detail-subtitle,
    .project-detail-section-title,
    .project-detail-text-column,
    .project-detail-navigation-title,
    .project-card-subtitle,
    footer {
        overflow-wrap: anywhere;
    }

    .project-detail-equation-display {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .project-detail-equation-display mjx-container {
        min-width: max-content;
    }
}

@media screen and (max-width: 479px) {
    .sidenav {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .portrait {
        width: 2.5rem;
    }

    .sidenav_link,
    .sidenav_link.lang-drop {
        padding-left: 0.55rem;
        padding-right: 0.55rem;
    }

    .project-detail-panel {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Keep these mobile-menu rules last so they override legacy responsive rules. */
@media screen and (max-width: 767px) {
    .page_layout {
        padding-top: 3.75rem;
    }

    .sidenav {
        width: 100%;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 999;
    }

    .sidenav_content {
        flex: 1;
    }

    .sidenav_menu {
        flex: none;
        overflow: hidden;
    }

    .mobile-nav-open .sidenav_menu {
        overflow-x: hidden;
        overflow-y: auto;
    }

    .sidenav_list {
        width: 100%;
        min-width: 0;
        padding: 0.55rem 0.75rem 1rem;
        flex-direction: column;
        align-items: stretch;
    }

    .sidenav_link,
    .sidenav_link.lang-drop {
        width: 100%;
        padding: 0.65rem 0.75rem;
    }
}
