*,
*::before,
*::after {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
body {
    line-height: 1;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/** Copyright St.Galler Kantonalbank AG 2024 - Styleguide v1.5.7 */
:root {
    --sgkb-color-primary-stone: #5c5e60;
    --sgkb-color-primary-air: #4e9fd3;
    --sgkb-color-primary-ore: #811f38;
    --sgkb-color-primary-light: #ffd631;
    --sgkb-color-primary-flame: #eb6a31;
    --sgkb-color-secondary-ink: #1e2f79;
    --sgkb-color-secondary-earth: #a7ad87;
    --sgkb-color-secondary-wood: #654f38;
    --sgkb-color-secondary-glacier: #03a29f;
    --sgkb-color-secondary-olive: #628447;
    --sgkb-color-primary-stone-90: rgb(108.3, 110.1, 111.9);
    --sgkb-color-primary-stone-80: rgb(124.6, 126.2, 127.8);
    --sgkb-color-primary-stone-75: rgb(132.75, 134.25, 135.75);
    --sgkb-color-primary-stone-70: rgb(140.9, 142.3, 143.7);
    --sgkb-color-primary-stone-60: rgb(157.2, 158.4, 159.6);
    --sgkb-color-primary-stone-55: rgb(165.35, 166.45, 167.55);
    --sgkb-color-primary-stone-50: rgb(173.5, 174.5, 175.5);
    --sgkb-color-primary-stone-40: rgb(189.8, 190.6, 191.4);
    --sgkb-color-primary-stone-35: rgb(197.95, 198.65, 199.35);
    --sgkb-color-primary-stone-30: rgb(206.1, 206.7, 207.3);
    --sgkb-color-primary-stone-20: rgb(222.4, 222.8, 223.2);
    --sgkb-color-primary-stone-10: rgb(238.7, 238.9, 239.1);
    --sgkb-color-primary-air-90: rgb(95.7, 168.6, 215.4);
    --sgkb-color-primary-air-80: rgb(113.4, 178.2, 219.8);
    --sgkb-color-primary-air-75: rgb(122.25, 183, 222);
    --sgkb-color-primary-air-70: rgb(131.1, 187.8, 224.2);
    --sgkb-color-primary-air-60: rgb(148.8, 197.4, 228.6);
    --sgkb-color-primary-air-55: rgb(157.65, 202.2, 230.8);
    --sgkb-color-primary-air-50: rgb(166.5, 207, 233);
    --sgkb-color-primary-air-40: rgb(184.2, 216.6, 237.4);
    --sgkb-color-primary-air-35: rgb(193.05, 221.4, 239.6);
    --sgkb-color-primary-air-30: rgb(201.9, 226.2, 241.8);
    --sgkb-color-primary-air-20: rgb(219.6, 235.8, 246.2);
    --sgkb-color-primary-air-10: rgb(237.3, 245.4, 250.6);
    --sgkb-color-primary-ore-90: rgb(141.6, 53.4, 75.9);
    --sgkb-color-primary-ore-80: rgb(154.2, 75.8, 95.8);
    --sgkb-color-primary-ore-75: rgb(160.5, 87, 105.75);
    --sgkb-color-primary-ore-70: rgb(166.8, 98.2, 115.7);
    --sgkb-color-primary-ore-60: rgb(179.4, 120.6, 135.6);
    --sgkb-color-primary-ore-55: rgb(185.7, 131.8, 145.55);
    --sgkb-color-primary-ore-50: rgb(192, 143, 155.5);
    --sgkb-color-primary-ore-40: rgb(204.6, 165.4, 175.4);
    --sgkb-color-primary-ore-35: rgb(210.9, 176.6, 185.35);
    --sgkb-color-primary-ore-30: rgb(217.2, 187.8, 195.3);
    --sgkb-color-primary-ore-20: rgb(229.8, 210.2, 215.2);
    --sgkb-color-primary-ore-10: rgb(242.4, 232.6, 235.1);
    --sgkb-color-primary-light-90: rgb(255, 218.1, 69.6);
    --sgkb-color-primary-light-80: rgb(255, 222.2, 90.2);
    --sgkb-color-primary-light-75: rgb(255, 224.25, 100.5);
    --sgkb-color-primary-light-70: rgb(255, 226.3, 110.8);
    --sgkb-color-primary-light-60: rgb(255, 230.4, 131.4);
    --sgkb-color-primary-light-55: rgb(255, 232.45, 141.7);
    --sgkb-color-primary-light-50: rgb(255, 234.5, 152);
    --sgkb-color-primary-light-40: rgb(255, 238.6, 172.6);
    --sgkb-color-primary-light-35: rgb(255, 240.65, 182.9);
    --sgkb-color-primary-light-30: rgb(255, 242.7, 193.2);
    --sgkb-color-primary-light-20: rgb(255, 246.8, 213.8);
    --sgkb-color-primary-light-10: rgb(255, 250.9, 234.4);
    --sgkb-color-primary-flame-90: rgb(237, 120.9, 69.6);
    --sgkb-color-primary-flame-80: rgb(239, 135.8, 90.2);
    --sgkb-color-primary-flame-75: rgb(240, 143.25, 100.5);
    --sgkb-color-primary-flame-70: rgb(241, 150.7, 110.8);
    --sgkb-color-primary-flame-60: rgb(243, 165.6, 131.4);
    --sgkb-color-primary-flame-55: rgb(244, 173.05, 141.7);
    --sgkb-color-primary-flame-50: rgb(245, 180.5, 152);
    --sgkb-color-primary-flame-40: rgb(247, 195.4, 172.6);
    --sgkb-color-primary-flame-35: rgb(248, 202.85, 182.9);
    --sgkb-color-primary-flame-30: rgb(249, 210.3, 193.2);
    --sgkb-color-primary-flame-20: rgb(251, 225.2, 213.8);
    --sgkb-color-primary-flame-10: rgb(253, 240.1, 234.4);
    --sgkb-color-secondary-ink-90: rgb(52.5, 67.8, 134.4);
    --sgkb-color-secondary-ink-80: rgb(75, 88.6, 147.8);
    --sgkb-color-secondary-ink-75: rgb(86.25, 99, 154.5);
    --sgkb-color-secondary-ink-70: rgb(97.5, 109.4, 161.2);
    --sgkb-color-secondary-ink-60: rgb(120, 130.2, 174.6);
    --sgkb-color-secondary-ink-55: rgb(131.25, 140.6, 181.3);
    --sgkb-color-secondary-ink-50: rgb(142.5, 151, 188);
    --sgkb-color-secondary-ink-40: rgb(165, 171.8, 201.4);
    --sgkb-color-secondary-ink-35: rgb(176.25, 182.2, 208.1);
    --sgkb-color-secondary-ink-30: rgb(187.5, 192.6, 214.8);
    --sgkb-color-secondary-ink-20: rgb(210, 213.4, 228.2);
    --sgkb-color-secondary-ink-10: rgb(232.5, 234.2, 241.6);
    --sgkb-color-secondary-earth-90: rgb(175.8, 181.2, 147);
    --sgkb-color-secondary-earth-80: rgb(184.6, 189.4, 159);
    --sgkb-color-secondary-earth-75: rgb(189, 193.5, 165);
    --sgkb-color-secondary-earth-70: rgb(193.4, 197.6, 171);
    --sgkb-color-secondary-earth-60: rgb(202.2, 205.8, 183);
    --sgkb-color-secondary-earth-55: rgb(206.6, 209.9, 189);
    --sgkb-color-secondary-earth-50: #d3d6c3;
    --sgkb-color-secondary-earth-40: rgb(219.8, 222.2, 207);
    --sgkb-color-secondary-earth-35: rgb(224.2, 226.3, 213);
    --sgkb-color-secondary-earth-30: rgb(228.6, 230.4, 219);
    --sgkb-color-secondary-earth-20: rgb(237.4, 238.6, 231);
    --sgkb-color-secondary-earth-10: rgb(246.2, 246.8, 243);
    --sgkb-color-secondary-wood-90: rgb(116.4, 96.6, 75.9);
    --sgkb-color-secondary-wood-80: rgb(131.8, 114.2, 95.8);
    --sgkb-color-secondary-wood-75: rgb(139.5, 123, 105.75);
    --sgkb-color-secondary-wood-70: rgb(147.2, 131.8, 115.7);
    --sgkb-color-secondary-wood-60: rgb(162.6, 149.4, 135.6);
    --sgkb-color-secondary-wood-55: rgb(170.3, 158.2, 145.55);
    --sgkb-color-secondary-wood-50: rgb(178, 167, 155.5);
    --sgkb-color-secondary-wood-40: rgb(193.4, 184.6, 175.4);
    --sgkb-color-secondary-wood-35: rgb(201.1, 193.4, 185.35);
    --sgkb-color-secondary-wood-30: rgb(208.8, 202.2, 195.3);
    --sgkb-color-secondary-wood-20: rgb(224.2, 219.8, 215.2);
    --sgkb-color-secondary-wood-10: rgb(239.6, 237.4, 235.1);
    --sgkb-color-secondary-glacier-90: rgb(28.2, 171.3, 168.6);
    --sgkb-color-secondary-glacier-80: rgb(53.4, 180.6, 178.2);
    --sgkb-color-secondary-glacier-75: rgb(66, 185.25, 183);
    --sgkb-color-secondary-glacier-70: rgb(78.6, 189.9, 187.8);
    --sgkb-color-secondary-glacier-60: rgb(103.8, 199.2, 197.4);
    --sgkb-color-secondary-glacier-55: rgb(116.4, 203.85, 202.2);
    --sgkb-color-secondary-glacier-50: rgb(129, 208.5, 207);
    --sgkb-color-secondary-glacier-40: rgb(154.2, 217.8, 216.6);
    --sgkb-color-secondary-glacier-35: rgb(166.8, 222.45, 221.4);
    --sgkb-color-secondary-glacier-30: rgb(179.4, 227.1, 226.2);
    --sgkb-color-secondary-glacier-20: rgb(204.6, 236.4, 235.8);
    --sgkb-color-secondary-glacier-10: rgb(229.8, 245.7, 245.4);
    --sgkb-color-secondary-olive-90: rgb(113.7, 144.3, 89.4);
    --sgkb-color-secondary-olive-80: rgb(129.4, 156.6, 107.8);
    --sgkb-color-secondary-olive-75: rgb(137.25, 162.75, 117);
    --sgkb-color-secondary-olive-70: rgb(145.1, 168.9, 126.2);
    --sgkb-color-secondary-olive-60: rgb(160.8, 181.2, 144.6);
    --sgkb-color-secondary-olive-55: rgb(168.65, 187.35, 153.8);
    --sgkb-color-secondary-olive-50: rgb(176.5, 193.5, 163);
    --sgkb-color-secondary-olive-40: rgb(192.2, 205.8, 181.4);
    --sgkb-color-secondary-olive-35: rgb(200.05, 211.95, 190.6);
    --sgkb-color-secondary-olive-30: rgb(207.9, 218.1, 199.8);
    --sgkb-color-secondary-olive-20: rgb(223.6, 230.4, 218.2);
    --sgkb-color-secondary-olive-10: rgb(239.3, 242.7, 236.6);
    --sgkb-color-white: #ffffff;
    --sgkb-color-black: #000000;
    --sgkb-color-grey-dark: #5f5f5f;
    --sgkb-color-grey-semi-dark: #aaaaaa;
    --sgkb-color-grey-semi-medium: #cccccc;
    --sgkb-color-grey-medium: #e3e3e3;
    --sgkb-color-grey-light: #f6f6f6;
    --sgkb-color-sgkb-green: #008751;
    --sgkb-color-state-success: #56be8c;
    --sgkb-color-state-warning: #ff9165;
    --sgkb-color-state-error: #e35151;
    --sgkb-space-none: 0;
    --sgkb-space-xs: 5px;
    --sgkb-space-s: 10px;
    --sgkb-space-sm: 10px;
    --sgkb-space-m: 15px;
    --sgkb-space-md: 15px;
    --sgkb-space-l: 25px;
    --sgkb-space-lg: 25px;
    --sgkb-space-xl: 50px;
    --sgkb-space-xxl: 100px;
    --sgkb-radius-small: 3px;
    --sgkb-radius-medium: 7px;
    --sgkb-radius-large: 10px;
    --sgkb-radius-none: 0;
    --sgkb-radius-sm: 3px;
    --sgkb-radius-md: 7px;
    --sgkb-radius-lg: 10px;
    --sgkb-radius-xl: 20px;
    --sgkb-radius-full: 9999px;
}

/* Internal Variables */
:root {
    --component-container-gutter: var(--sgkb-space-md);
    --component-footer-height: 35px;
    --component-logo-height: 48px;
    --component-header-height: 145px;
    --component-footer-color: var(--sgkb-color-primary-stone-90);
    --component-footer-link-gap: var(--sgkb-space-sm);
}

body {
    font-family: "Frutiger Neue", "Helvetica Neue", Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 25px;
    font-weight: 400;
    color: var(--sgkb-color-primary-stone-90);
}

/* Global Consistent Focus */
:is(a, button, input, textarea, summary) {
    --outline-size: max(2px, 0.08em);
    --outline-style: solid;
    --outline-color: var(--sgkb-primary-air-90);
}

:is(a, button, input, textarea, summary):focus {
    outline: var(--outline-size) var(--outline-style) var(--outline-color);
    outline-offset: var(--outline-offset, var(--outline-size));
}

:is(a, button, input, textarea, summary):focus-visible {
    outline: var(--outline-size) var(--outline-style) var(--outline-color);
    outline-offset: var(--outline-offset, var(--outline-size));
}

:is(a, button, input, textarea, summary):focus:not(:focus-visible) {
    outline: none;
}

/* Global Elements */
a {
    cursor: pointer;
    text-decoration: underline;
    transition: color 0.25s ease-in-out;
}

a:focus,
a:hover {
    text-decoration: none;
}

strong {
    font-weight: 700;
}

/* Utility Elements */

.h-container {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 var(--component-container-gutter);
}

.h-container--space,
.h-container--space-y {
    padding: var(--component-container-gutter);
}

.h-container--space,
.h-container--space-x {
    padding: var(--component-container-gutter);
}

.h-brand {
    height: var(--component-logo-height);
}

.a-list {
    list-style-type: none;
    padding: 0;
}

.a-list li {
    background: none;
    display: list-item;
    list-style: none;
    padding: 0 0 0.5em 2em;
    position: relative;
}

.a-list li:before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0;
    top: -1px;
    background-color: var(--sgkb-color-sgkb-green);
    transform: scale(0.675);
    -webkit-mask-image: url(~lucide-static/icons/arrow-right.svg);
    mask-image: url(~lucide-static/icons/arrow-right.svg);
}

.m-header {
    height: var(--component-header-height);
    padding: calc((var(--component-header-height) - var(--component-logo-height)) / 2) 0;
}

.m-header a {
    display: inline-block;
}

.m-footer {
    display: block;
    color: var(--sgkb-color-primary-stone-75);
    text-align: center;
    height: var(--component-footer-height);
    overflow: hidden;
    font-size: 13px;
    padding: var(--sgkb-space-xs) 0;
}

.a-button {
    --component-button-space-y: var(--sgkb-space-sm);
    --component-button-space-x: var(--sgkb-space-md);

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: var(--component-button-background-color);
    color: var(--component-button-foreground-color);
    border: 1px solid var(--component-button-border-color);
    padding: var(--component-button-space-y) var(--component-button-space-x);
    transition: all 0.25s ease-in-out;
    cursor: pointer;
    text-transform: capitalize;
    text-decoration: none;
    display: inline-block;
}

a.a-button,
a.a-button:hover,
a.a-button:focus,
a.a-button:visited {
    color: var(--component-button-foreground-color) !important;
    text-decoration: none !important;
}

.a-button--primary {
    --component-button-background-color: var(--sgkb-color-sgkb-green);
    --component-button-border-color: var(--sgkb-color-sgkb-green);
    --component-button-foreground-color: var(--sgkb-color-white);
}
.a-button--primary:hover {
    --component-button-background-color: rgba(0, 135, 81, 0.2);
    --component-button-foreground-color: var(--sgkb-color-sgkb-green);
}

.a-button--secondary {
    --component-button-background-color: var(--sgkb-color-white);
    --component-button-border-color: var(--sgkb-color-sgkb-green);
    --component-button-foreground-color: var(--sgkb-color-sgkb-green);
}
.a-button--secondary:hover {
    --component-button-background-color: rgba(0, 135, 81, 0.2);
    --component-button-foreground-color: var(--sgkb-color-sgkb-green);
}

.m-button-group {
    display: flex;
    flex-direction: row;
    padding: var(--sgkb-space-lg) 0;
    gap: var(--sgkb-space-lg);
}

.a-link {
    margin-top: 10px;
    display: inline-block;
    padding-left: 40px;
    position: relative;
}

.a-link:hover {
    color: var(--sgkb-color-sgkb-green);
}

.a-link .a-icon {
    display: inline-block;
    font-size: 1.25rem;
    left: 0;
    padding-right: 10px;
    padding-top: 2px;
    position: absolute;
    transition: transform 0.5s ease;
}

.a-link:hover .a-icon {
    opacity: 1;
    top: auto;
    transform: translateX(10px);
    transition: all 0.5s ease;
}

.a-icon-arrow-right:before {
    content: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 48 48"><title>Link</title><g stroke-linecap="square" stroke-width="3" fill="none" stroke="%23008751" stroke-linejoin="miter" class="nc-icon-wrapper" stroke-miterlimit="10"><line data-cap="butt" x1="2" y1="24" x2="45" y2="24" stroke-linecap="butt"></line><polyline points="31,10 45,24 31,38 "></polyline></g></svg>');
}

.m-content {
    min-height: calc(100vh - var(--component-header-height) - var(--component-footer-height) - 30px);
    display: flex;
    flex-direction: column;
    gap: var(--sgkb-space-md);
}

.m-content .a-text {
    max-width: 640px;
}

.m-content__heading-group {
    display: flex;
    flex-direction: column-reverse;
    gap: var(--sgkb-space-lg);
    margin: var(--sgkb-space-lg) 0 var(--sgkb-space-md) 0;
}

@media all and (min-width: 640px) {
    .m-content__heading-group {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
}

.m-content__heading-group .a-heading {
    margin: 0;
    color: var(--sgkb-color-sgkb-green);
}

.m-content__heading-group .a-text {
    margin: 0;
    text-align: right;
    flex-shrink: 0;
}

.m-content__partial a {
    color: var(--sgkb-color-sgkb-green);
}

.m-top-spacing {
    margin-top: var(--sgkb-space-lg);
}

.a-link-navigation {
    --component-link-navigation-arrow-icon-size: 18px;
}

.a-link-navigation--primary {
    color: var(--sgkb-color-sgkb-green);
}

.a-link-navigation__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.a-link-navigation__list-item {
    display: flex;
    will-change: text-decoration;
    color: inherit;
    position: relative;
    gap: var(--sgkb-space-xs);
    white-space: nowrap;
}

.a-link-navigation__list-item a {
    color: inherit;
}

.a-link-navigation__list-item.a-link-navigation__list-item--active {
    font-weight: 800;
}

.a-link-navigation__list--horizontal {
    display: flex;
    flex-direction: row;
    gap: var(--component-footer-link-gap);
}

.a-link-navigation__list--horizontal > .a-link-navigation__list-item:not(:first-of-type)::before {
    content: "|";
    display: inline-block;
    margin-left: calc(var(--component-footer-link-gap) / 2 * -1);
}

.a-link-navigation--uppercase {
    text-transform: uppercase;
}
