body {
    margin: 0;
    overflow-x: hidden;
    font-family: 'Inter';
    font-weight: normal;
    color: var(--text-color);
    font-size: 16px;
    line-height: 150%;
    background-color: var(--background-color);
}
body.noscroll {
    overflow-y: hidden;
}

a {
    color: var(--text-color);
    text-decoration: none;
}
a:hover {
    color: var(--gradient-headline-start);
}
p a, small a, li a {
    text-decoration: underline;
}
small {
    line-height: 130%;
}
h1, h2, h3, h4, h5, h6 {
    display: table;
    margin-top: 0;
    line-height: initial;
}
h1 {
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 5px;
}
h2 {
    font-size: 28px;
    margin-bottom: 25px;
}
h3 {
    font-size: 24px;
    margin-bottom: 5px;
}
h4 {
    font-size: 20px;
    margin-bottom: 5px;
}
h5 {
    font-size: 16px;
    margin-bottom: 5px;
}
img {
    display: block;
    max-width: 100%;
}


header {
    position: absolute;
    top: 0;
    z-index: 99;
    width: 100%;
    display: flex;
    height: var(--header-height);
    background-color: #fff;
}
header.fixed {
    position: fixed;
    transform: translateY(-101%);
}
header.animate {
    transition: transform .2s ease-in-out;
}
header.fixed.visible {
    transform: translateY(0);
    border-bottom: 1px solid #e7ebee;
}
#page {
    margin-top: var(--header-height);
    padding: 0 0 var(--page-padding-bottom);
    overflow-x: hidden;
}
#page.offset {
    padding: var(--page-padding-top) 0 var(--page-padding-bottom);
}
footer {
    padding: 0 0 80px;
}


.container {
    position: relative;
    width: 100%;
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 0 var(--page-padding-sides);
    box-sizing: border-box;
}
.container.wide {
    max-width: var(--content-width-wide);
}
.container.thin {
    max-width: var(--content-width-thin);
}
.container > .container {
    padding: 0;
}


.row {
    display: flex;
    gap: 50px;
}
.row.gap-s {
    gap: 20px;
}
.row.auto {
    flex-wrap: nowrap;
}
.row > div { flex: 1; }
.row > div.double { flex: 2; }
.row > div.triple { flex: 3; }
.row.auto > div {
    flex: auto;
}
.row.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.row.form input, .row.form select, .row.form textarea {
    margin-bottom: 10px;
}
.row.text {
    gap: 40px;
}

.vStart { align-items: start; }
.vCenter { align-items: center; }
.vEnd { align-items: end; }
.hStart { justify-content: start; }
.hCenter { justify-content: center; }
.hEnd { justify-content: end; }
.vStartSelf { align-self: start; }
.vCenterSelf { align-self: center; }
.vEndSelf { align-self: end; }
.hStartSelf { justify-self: start; }
.hCenterSelf { justify-self: center; }
.hEndSelf { justify-self: end; }

.noGrow { flex-grow: 0 !important; }
.noShrink { flex-shrink: 0 !important; }

.spacer { height: 100px; }
.spacer.xs { height: 20px; }
.spacer.s { height: 60px; }

.hideOnMobile { display: block; }
.hideOnDesktop { display: none; }

.textGradient {
    background: linear-gradient(90deg, var(--gradient-headline-start) 0%, var(--gradient-headline-middle) 50%, var(--gradient-headline-end) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bgGradientGrey {
    background: var(--gradient-grey-dark);
    background: linear-gradient(90deg, var(--gradient-grey-dark) 0%, var(--gradient-grey-light) 100%);
}







