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

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

body, h1, h2, h3, h4, h5, h6, p,
figure, blockquote, dl, dd {
    margin-block-end: 0;
}

ul[role='list'],
ol[role='list'] {
    margin: 0;
    padding: 0;
    list-style: none;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6,
button, input, label {
    line-height: 1.1;
}

img, picture {
    display: block;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    object-fit: cover;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: cover;
}

p > img {
    display: inline-block;
    height: revert-layer;
}

input, button, textarea, select {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

    textarea:not([rows]) {
        min-height: 10em;
    }

:target {
    scroll-margin-block: 5ex;
}

label {
    display: inline-block;
}

button {
    align-items: center;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    margin: 0;
    outline: 0;
    padding: 0;
    position: relative;
    text-decoration: none;
    user-select: none;
    vertical-align: middle;
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

    button:focus {
        outline: none;
    }

select {
    word-wrap: normal;
}

/* Base Styles */
:root {
    --cms-palette-primary: #446e9b;
    --cms-palette-primary-text: #FFFFFF;
    --cms-palette-primary-hover: #28517C;
    --cms-palette-secondary: #999999;
    --cms-palette-secondary-text: #000000;
    --cms-palette-secondary-hover: #7B7B7B;
    --cms-palette-default: #78909C;
    --cms-palette-default-text: #FFFFFF;
    --cms-palette-default-hover: #405661;
    --cms-palette-background-hover: rgba(189, 189, 189, 0.5);
    --cms-palette-appbar-background: #0A365F;
    --cms-palette-appbar-text: #FFFFFF;
    --cms-palette-appbar-active: #7B5C8F;
    --cms-palette-footer-background: #0A365F;
    --cms-palette-footer-text: #FFFFFF;
    --cms-palette-drawer-background: linear-gradient(to bottom, #FFFFFF, #ECE9E6);
    --cms-palette-drawer-text: rgba(66,66,66,1);
    --cms-palette-drawer-icon: rgba(97,97,97,1);
    --cms-palette-app-background: linear-gradient(0deg, #f9f9f9 0%, rgba(245,245,245,1) 50%);
    --cms-palette-primary-10: #EEEEEE;
    --cms-palette-primary-20: #C4D3E4;
    --cms-palette-primary-30: #9CB8D8;
    --cms-palette-primary-40: #779DC6;
    --cms-palette-primary-50: #5882AF;
    --cms-palette-primary-60: #3F6893;
    --cms-palette-primary-70: #2C4E73;
    --cms-palette-primary-80: #1E3650;
    --cms-palette-primary-90: #14202D;
    --cms-palette-primary-100: #0B0B0B;
    --cms-palette-text-primary: rgba(66,66,66,1);
    --cms-palette-text-secondary: rgba(0,0,0,0.54);
    --cms-palette-text-disabled: rgba(0,0,0,0.38);
    --cms-palette-background: rgba(255,255,255,1);
    --cms-palette-background-gray: rgba(238,238,238,1);
    --cms-palette-surface: rgba(255,255,255,1);
    --cms-palette-lines-default: rgba(0,0,0,0.12);
    --cms-palette-lines-inputs: rgba(189,189,189,1);
    --cms-palette-divider: rgba(224,224,224,1);
    --cms-palette-hover-opacity: 0.8;
    --cms-palette-ripple-opacity: 0.1;
    --cms-palette-code: #f4f5f6;
    --cms-palette-gray-default: #78909C;
    --cms-palette-gray-lighter: #546E7A;
    --cms-palette-gray-light: #455A64;
    --cms-palette-gray-dark: #37474F;
    --cms-palette-gray-darker: #263238;
    --cms-palette-table-lines: rgba(224,224,224,1);
    --cms-palette-table-striped: rgba(0,0,0,0.02);
    --cms-palette-table-hover: rgba(0,0,0,0.04);
    --cms-default-borderradius: 4px;
    --cms-default-box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.1), 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
    --cms-palette-bs-white-rgb: 255, 255, 255;
    --cms-palette-bs-black-rgb: 0, 0, 0;
    --cms-palette-bs-light-rgb: 248, 249, 250;
    --cms-palette-bs-dark-rgb: 33, 37, 41;
    --cms-palette-bs-body-color-rgb: 33, 37, 41;
    --cms-palette-bs-body-bg-rgb: 255, 255, 255;
    --cms-palette-bs-primary-rgb: 68, 110, 155;
    --cms-palette-bs-secondary-rgb: 153, 153, 153;
    --cms-palette-bs-primary-bg-subtle: #F2F8FF;
    --cms-palette-bs-secondary-bg-subtle: #FFFFFF;
    --cms-palette-bs-light-bg-subtle: #fcfcfd;
    --cms-palette-bs-dark-bg-subtle: #ced4da;
    --cms-palette-bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --swiper-pagination-color: #9DCBFD;
    --swiper-navigation-color: #9DCBFD;
    --swiper-pagination-bullet-inactive-color: rgba(189,189,189,1);
    --cms-typography-default-family: "Roboto", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --cms-typography-default-letterspacing: 0.01071em;
    --cms-typography-default-lineheight: 1.43;
    --cms-typography-default-size: 0.875rem;
    --cms-typography-default-text-transform: none;
    --cms-typography-default-weight: 400;
    --cms-typography-heading-weight: 500;
    --cms-typography-heading-lineheight: 1.1;
    --cms-typography-heading-text-transform: none;
    --cms-typography-h1-size: clamp(2rem, 0.951rem + 2.913vw, 3.5rem);
    --cms-typography-h1-weight: var(--cms-typography-heading-weight);
    --cms-typography-h1-lineheight: var(--cms-typography-heading-lineheight);
    --cms-typography-h1-letterspacing: -0.015em;
    --cms-typography-h1-text-transform: var(--cms-typography-heading-text-transform);
    --cms-typography-h2-size: clamp(1.75rem, 0.876rem + 2.427vw, 3rem);
    --cms-typography-h2-weight: var(--cms-typography-heading-weight);
    --cms-typography-h2-lineheight: var(--cms-typography-heading-lineheight);
    --cms-typography-h2-letterspacing: -0.010em;
    --cms-typography-h2-text-transform: var(--cms-typography-heading-text-transform);
    --cms-typography-h3-size: clamp(1.5rem, 0.801rem + 1.942vw, 2.5rem);
    --cms-typography-h3-weight: var(--cms-typography-heading-weight);
    --cms-typography-h3-lineheight: var(--cms-typography-heading-lineheight);
    --cms-typography-h3-letterspacing: -0.005em;
    --cms-typography-h3-text-transform: var(--cms-typography-heading-text-transform);
    --cms-typography-h4-size: clamp(1.45rem, 1.066rem + 1.068vw, 2rem);
    --cms-typography-h4-weight: var(--cms-typography-heading-weight);
    --cms-typography-h4-lineheight: var(--cms-typography-heading-lineheight);
    --cms-typography-h4-letterspacing: normal;
    --cms-typography-h4-text-transform: var(--cms-typography-heading-text-transform);
    --cms-typography-h5-size: clamp(1.35rem, 1.07rem + 0.777vw, 1.75rem);
    --cms-typography-h5-weight: var(--cms-typography-heading-weight);
    --cms-typography-h5-lineheight: var(--cms-typography-heading-lineheight);
    --cms-typography-h5-letterspacing: 0.01em;
    --cms-typography-h5-text-transform: var(--cms-typography-heading-text-transform);
    --cms-typography-h6-size: clamp(1.25rem, 1.075rem + 0.485vw, 1.5rem);
    --cms-typography-h6-weight: var(--cms-typography-heading-weight);
    --cms-typography-h6-lineheight: var(--cms-typography-heading-lineheight);
    --cms-typography-h6-letterspacing: 0.02em;
    --cms-typography-h6-text-transform: var(--cms-typography-heading-text-transform);
    --cms-typography-button-size: 0.875rem;
    --cms-typography-button-weight: 500;
    --cms-typography-button-lineheight: 1.75;
    --cms-typography-button-letterspacing: 0.02857em;
    --cms-typography-button-text-transform: uppercase;
    --cms-typography-body-size: 1rem;
    --cms-typography-body-weight: 400;
    --cms-typography-body-lineheight: 1.4;
    --cms-typography-body-letterspacing: normal;
    --cms-typography-body-text-transform: none;
    --cms-typography-body2-size: 0.875rem;
    --cms-typography-body2-weight: 400;
    --cms-typography-body2-lineheight: 1.4;
    --cms-typography-body2-letterspacing: 0.01em;
    --cms-typography-body2-text-transform: none;
    --cms-typography-caption-size: 0.75rem;
    --cms-typography-caption-weight: 400;
    --cms-typography-caption-lineheight: 1.66;
    --cms-typography-caption-letterspacing: 0.03em;
    --cms-typography-caption-text-transform: none;
    --cms-typography-lead-size: 1.25rem;
    --cms-typography-lead-weight: 300;
    --cms-typography-lead-lineheight: 1.6;
    --cms-typography-lead-letterspacing: normal;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-width: 0;
    border-style: solid;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
}

body {
    color: var(--cms-palette-text-primary);
    font-family: var(--cms-typography-default-family);
    font-size: var(--cms-typography-default-size);
    font-weight: var(--cms-typography-default-weight);
    line-height: var(--cms-typography-default-lineheight);
    letter-spacing: var(--cms-typography-default-letterspacing);
    text-transform: var(--cms-typography-default-text-transform);
    background-color: var(--cms-palette-background);
}

p, article p {
    margin-block: .5em;
}

section p {
    margin-block: 0 !important;
}

a {
    cursor: pointer;
    color: var(--cms-palette-primary);
    text-decoration: none;
}

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

strong, b {
    font-weight: 700;
}

blockquote {
    border-left: 0.3rem solid var(--cms-palette-background-gray);
    margin-left: 0;
    margin-right: 0;
    padding: 1rem 1.5rem;
}

    blockquote *:last-child {
        margin-bottom: 0;
    }

code {
    background: var(--cms-palette-code);
    border-radius: var(--cms-default-borderradius);
    font-size: 86%;
    margin: 0 .2rem;
    padding: .2rem .5rem;
    white-space: nowrap;
}

pre {
    background: var(--cms-palette-code);
    border-left: 0.3rem solid var(--cms-palette-primary);
    overflow-y: hidden;
}

    pre > code {
        border-radius: 0;
        display: block;
        padding: 1rem 1.5rem;
        white-space: pre;
    }

hr {
    border: 0;
    border-top: 0.2rem solid var(--cms-palette-divider);
    margin: 1rem 0;
}

h1, h2, h3, h4, h5, h6 {
    margin-block-start: 1rem;
    word-break: break-word;
    overflow-wrap: break-word;
}

h1 {
    font-size: var(--cms-typography-h1-size);
    font-weight: var(--cms-typography-h1-weight);
    letter-spacing: var(--cms-typography-h1-letterspacing);
    line-height: var(--cms-typography-h1-lineheight);
    text-transform: var(--cms-typography-h1-text-transform);
    outline: none;
}

h2 {
    font-size: var(--cms-typography-h2-size);
    font-weight: var(--cms-typography-h2-weight);
    letter-spacing: var(--cms-typography-h2-letterspacing);
    line-height: var(--cms-typography-h2-lineheight);
    text-transform: var(--cms-typography-h2-text-transform);
}

h3 {
    font-size: var(--cms-typography-h3-size);
    font-weight: var(--cms-typography-h3-weight);
    letter-spacing: var(--cms-typography-h3-letterspacing);
    line-height: var(--cms-typography-h3-lineheight);
    text-transform: var(--cms-typography-h3-text-transform);
}

h4 {
    font-size: var(--cms-typography-h4-size);
    font-weight: var(--cms-typography-h4-weight);
    letter-spacing: var(--cms-typography-h4-letterspacing);
    line-height: var(--cms-typography-h4-lineheight);
    text-transform: var(--cms-typography-h4-text-transform);
}

h5 {
    font-size: var(--cms-typography-h5-size);
    font-weight: var(--cms-typography-h5-weight);
    letter-spacing: var(--cms-typography-h5-letterspacing);
    line-height: var(--cms-typography-h5-lineheight);
    text-transform: var(--cms-typography-h5-text-transform);
}

h6 {
    font-size: var(--cms-typography-h6-size);
    font-weight: var(--cms-typography-h6-weight);
    letter-spacing: var(--cms-typography-h6-letterspacing);
    line-height: var(--cms-typography-h6-lineheight);
    text-transform: var(--cms-typography-h6-text-transform);
}

table {
    border-spacing: 0;
    display: table;
    caption-side: bottom;
    overflow-x: auto;
    text-align: left;
    width: 100%;
}

td, th {
    border-bottom: 0.1rem solid var(--cms-palette-table-lines);
    padding: .5rem;
}

dl, ol, ul {
    list-style: none;
    margin-top: 0;
    padding-left: 18px;
}

    dl dl, dl ol, dl ul,
    ol dl, ol ol, ol ul,
    ul dl, ul ol, ul ul {
        margin-block: 0;
        padding-inline-start: 3rem;
    }

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

input,
legend,
fieldset,
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: 0;
    box-shadow: none;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

input,
select,
textarea {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
    color: var(--cms-palette-text-primary);
    background-color: var(--cms-palette-background);
    border: 1px solid var(--cms-palette-lines-inputs);
    border-radius: var(--cms-default-borderradius);
    transition: border-width, border-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

    input:focus,
    select:focus,
    textarea:focus {
        border-color: var(--cms-palette-primary);
        border-width: 1px;
        outline: 0;
    }

    input::placeholder,
    textarea::placeholder {
        opacity: 1;
        color: var(--cms-palette-text-disabled);
    }

select {
    cursor: pointer;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" fill="%23424242" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"></path><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"></path></svg>');
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    padding-right: calc(0.5rem + 24px);
}

    select[multiple] {
        background: none;
        height: auto;
    }

textarea {
    min-height: 6.5rem;
}

label, legend {
    display: block;
    margin-bottom: -.5rem;
    font-weight: 600;
}

.label-inline {
    display: inline-flex;
    font-weight: normal;
    margin-right: .5rem;
    vertical-align: middle;
}

small, caption {
    font-size: var(--cms-typography-caption-size);
    font-weight: var(--cms-typography-caption-weight);
    letter-spacing: var(--cms-typography-caption-letterspacing);
    line-height: var(--cms-typography-caption-lineheight);
    text-transform: var(--cms-typography-caption-text-transform);
}

@media (min-width: 768px) {
    label, legend {
        margin-bottom: 0;
    }
}

fieldset {
    display: flex;
    align-items: center;
    border: none;
    margin: 0;
    margin-block: 0;
    margin-inline: 0;
    padding: 0;
    padding-inline: 0;
    padding-block: 0;
}

input[type="file"] {
    height: 6rem;
}

    input[type="file"]::file-selector-button {
        color: var(--cms-palette-text-primary);
        background-color: var(--cms-palette-background);
        border: 1px solid var(--cms-palette-lines-inputs);
        padding: 0.5rem 0.75rem;
        border-radius: var(--cms-default-borderradius);
        transition: 1s;
    }

        input[type="file"]::file-selector-button:hover {
            opacity: var(--cms-palette-hover-opacity);
        }

input[type="radio"] {
    display: inline;
    border-radius: 50%;
    cursor: pointer;
    height: 21px;
    width: 21px;
    border-width: 2px;
    margin: 0 6px 0 2px;
    padding: 0;
    vertical-align: middle;
}

    input[type="radio"]:checked {
        background-image: radial-gradient(var(--cms-palette-primary) 40%, transparent calc(40% + 1px) );
        background-position: center;
        background-repeat: no-repeat;
    }

input[type="checkbox"] {
    height: 24px;
    cursor: pointer;
    width: 24px;
    vertical-align: middle;
    margin-inline-end: 4px;
    border: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"></path><path fill="rgba(189,189,189,1)" d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"></path></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

    input[type="checkbox"]:checked {
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"></path><path fill="%23446e9b" d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"></path></svg>');
    }

.input-inline {
    display: inline-block;
}

.button, .btn, button, input[type="submit"], input[type="reset"], input[type="button"] {
    --button-bg-color: var(--cms-palette-primary);
    --button-bg-hover: var(--cms-palette-primary-hover);
    color: var(--cms-palette-primary-text);
    background-color: var(--button-bg-color);
    border: 0;
    border-radius: var(--cms-default-borderradius);
    box-shadow: 0px 3px 1px -2px rgba(0,0,0,.2), 0px 2px 2px 0px rgba(0,0,0,.14), 0px 1px 5px 0px rgba(0,0,0,.12);
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-size: var(--cms-typography-button-size);
    font-weight: var(--cms-typography-button-weight);
    justify-content: center;
    letter-spacing: var(--cms-typography-button-letterspacing);
    line-height: var(--cms-typography-button-lineheight);
    margin: 0;
    outline: 0;
    padding: 6px 16px;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-transform: var(--cms-typography-button-text-transform);
    transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    user-select: none;
    white-space: nowrap;
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

    .button:hover, .btn:hover, button:hover,
    input[type='button']:hover,
    input[type='reset']:hover,
    input[type='submit']:hover {
        background-color: var(--button-bg-hover);
        text-decoration: none;
    }

    .button[disabled], .btn[disabled], button[disabled],
    input[type='button'][disabled],
    input[type='reset'][disabled],
    input[type='submit'][disabled] {
        cursor: default;
        opacity: 0.5;
    }

    .button:not(disabled):before, .btn:not(disabled):before, button:not(disabled):before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0;
        background-position: center;
        background: radial-gradient(circle, currentColor 1%, transparent 1%) center/15000%;
        transition: background-size .8s,opacity .8s;
        pointer-events: none
    }

    .button:not(disabled):active:before, .btn:not(disabled):active:before, button:not(disabled):active:before {
        transition: background-size 0s,opacity 0s;
        opacity: .32;
        background-size: 100%
    }

.cms-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    padding: 0;
}

    .cms-icon-button::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        pointer-events: none;
        background-image: radial-gradient(circle, white 10%, transparent 10.01%);
        background-repeat: no-repeat;
        background-position: 50%;
        transform: scale(20,20);
        opacity: 0;
        transition: transform .6s, opacity 1s;
    }

    .cms-icon-button:active::after {
        transform: scale(0,0);
        opacity: 0.1;
        transition: 0s;
    }

    .cms-icon-button:disabled {
        background: transparent;
        color: rgba(0, 0, 0, 0.38);
        cursor: default;
        pointer-events: none;
    }

    .cms-icon-button svg {
        width: 24px;
        height: 24px;
        fill: currentColor;
    }

    .cms-icon-button.small {
        width: 36px;
        height: 36px;
    }

        .cms-icon-button.small svg {
            width: 20px;
            height: 20px;
        }

.cms-button-default, .btn-default {
    --button-bg-color: var(--cms-palette-default);
    --button-bg-hover: var(--cms-palette-default-hover);
    color: var(--cms-palette-default-text);
}

.cms-button-primary, .btn-primary {
    --button-bg-color: var(--cms-palette-primary);
    --button-bg-hover: var(--cms-palette-primary-hover);
    color: var(--cms-palette-primary-text);
}

.cms-button-secondary, .btn-secondary {
    --button-bg-color: var(--cms-palette-secondary);
    --button-bg-hover: var(--cms-palette-secondary-hover);
    color: var(--cms-palette-secondary-text);
}

.cms-button-outline, .btn-outline {
    --button-bg-color: var(--cms-palette-default);
    color: var(--cms-palette-default-text);
    background-color: transparent;
    border: 1px solid var(--button-bg-color);
}

.lead {
    font-size: var(--cms-typography-lead-size);
    font-weight: var(--cms-typography-lead-weight);
    line-height: var(--cms-typography-lead-lineheight);
    letter-spacing: var(--cms-typography-lead-letterspacing);
}

.display-1 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.625rem + 4.5vw);
}

.display-2 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.575rem + 3.9vw);
}

.display-3 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.525rem + 3.3vw);
}

.display-4 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.475rem + 2.7vw);
}

.display-5 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.425rem + 2.1vw);
}

.display-6 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
    .display-1 {
        font-size: 5rem;
    }

    .display-2 {
        font-size: 4.5rem;
    }

    .display-3 {
        font-size: 4rem;
    }

    .display-4 {
        font-size: 3.5rem;
    }

    .display-5 {
        font-size: 3rem;
    }

    .display-6 {
        font-size: 2.5rem;
    }
}

/* CMS Outlined Input */
.cms-outlined-input {
    position: relative;
}

    .cms-outlined-input input {
        transition: .1s ease;
    }

    .cms-outlined-input label {
        position: absolute;
        top: 50%;
        left: .75rem;
        transform: translateY(-50%);
        background-color: var(--cms-palette-background);
        color: var(--cms-palette-text-disabled);
        text-align: center;
        transition: .2s ease;
        pointer-events: none;
        padding: 0 5px;
        font-weight: 400;
    }

    .cms-outlined-input input:not(:placeholder-shown) ~ label,
    .cms-outlined-input input:focus ~ label {
        top: 0px;
        left: 10px;
        font-size: .7rem;
    }

    .cms-outlined-input input:focus ~ label {
        color: var(--cms-palette-primary);
    }

/* CMS Badge Indicator */
.cms-basket-indicator {
    padding: 4px;
    cursor: pointer;
    margin-inline: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--cms-default-borderradius);
    transition: background-color ease 0.6s;
}

    .cms-basket-indicator:hover {
        background-color: var(--cms-palette-background-hover);
    }

    .cms-basket-indicator svg {
        height: 24px;
        fill: var(--cms-palette-appbar-text);
    }

[data-after-text] {
    --badge-offset-x: calc(0px - var(--badge-size) / 3);
    --badge-offset-y: calc(3px - var(--badge-size) / 3);
    --badge-size: 1rem;
    position: relative;
}

    [data-after-text]:not([data-after-text=""])::after {
        content: attr(data-after-text);
        align-items: center;
        background: #c23934;
        border-radius: var(--badge-size);
        bottom: auto;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
        box-sizing: border-box;
        color: hsl(195, 100%, 99%);
        display: inline-flex;
        font-size: 0.625rem;
        font-weight: 700;
        height: var(--badge-size);
        justify-content: center;
        left: auto;
        padding: 0;
        position: absolute;
        right: var(--badge-offset-x);
        text-decoration: none;
        text-transform: uppercase;
        top: var(--badge-offset-y);
        width: var(--badge-size);
    }

/* CMS Page Layouts */
.cms-user-page, .cms-admin-page {
    overflow: hidden;
    background: var(--cms-palette-app-background);
}

.cms-notification {
    box-sizing: border-box;
    position: fixed;
    z-index: 1002;
    inset-block-end: 2rem;
    inset-inline-end: 1rem;
}

.cms-page-layout-01 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        'header header header'
        'nav main aside'
        'nav footer footer';
}

.cms-page-layout-02 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        'header header header'
        'nav main aside'
        'footer footer footer';
}

.cms-page-layout-03 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: 1fr auto auto;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        'header header header'
        'main nav aside'
        'footer footer footer';
}

.cms-page-layout-04 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: 1fr auto auto;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        'header header header'
        'main nav aside'
        'footer nav aside';
}

.cms-page-layout-05 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        'nav header header'
        'nav main aside'
        'nav footer footer';
}

.cms-page-layout-06 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas:
        'header header'
        'nav main'
        'nav aside'
        'footer footer';
}

.cms-page-layout-07 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas:
        'nav header'
        'nav main'
        'nav aside'
        'nav footer';
}

.cms-page-layout-08 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto 1fr auto;
    grid-template-areas:
        'header header'
        'aside main'
        'nav main'
        'nav footer';
}

.cms-page-layout-09 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas:
        'header header'
        'nav main'
        'aside main'
        'aside footer';
}

.cms-page-layout-10 {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        'header header aside'
        'nav main main'
        'nav footer footer';
}

@media (max-width: 768px) {
    .cms-page-layout-01,
    .cms-page-layout-02,
    .cms-page-layout-03,
    .cms-page-layout-04,
    .cms-page-layout-05,
    .cms-page-layout-06,
    .cms-page-layout-07,
    .cms-page-layout-08,
    .cms-page-layout-09,
    .cms-page-layout-10 {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 1fr auto auto;
        grid-template-areas:
            'header'
            'nav'
            'main'
            'aside'
            'footer';
    }
}

.cms-container-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
    align-items: start;
}

.cms-side-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, 300px);
    justify-content: center;
    margin: 0.75rem;
}

.cms-announcement-grid {
    display: grid;
    gap: 10px;
    grid-auto-rows: var(--cms-typography-caption-lineheight) calc(2 * var(--cms-typography-h4-lineheight)) 1fr;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-blogpost-grid {
    display: grid;
    gap: 10px;
    grid-auto-rows: 180px 24px 1fr 110px;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    container: container-grid / inline-size;
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-event-grid {
    display: grid;
    gap: 10px;
    grid-auto-rows: 180px auto 1fr;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-externallink-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, 56px);
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-faq-grid {
    display: grid;
    gap: 10px;
    padding: 0 .75rem;
    margin-block: .75rem;
    interpolate-size: allow-keywords;
}

.cms-feature-grid {
    display: grid;
    gap: 10px;
    grid-auto-rows: 110px auto 1fr;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-jobopportunity-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-portfolio-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(min(680px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-supportticket-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: dense;
    padding: 0 .75rem;
    margin-block: .75rem;
    position: relative;
    background-color: var(--cms-palette-app-background);
    border-radius: var(--cms-default-borderradius);
}

    .cms-supportticket-grid::before {
        content: '';
        position: absolute;
        top: 0;
        left: 33.33%;
        width: 33.33%;
        height: 100%;
        z-index: 0;
        border-left: 1px solid var(--cms-palette-lines-inputs);
        border-right: 1px solid var(--cms-palette-lines-inputs);
    }

.cms-teammember-grid {
    display: grid;
    gap: 10px;
    grid-auto-rows: 130px 160px;
    grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-teammember01-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-testimonial-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(min(450px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-testimonial02-grid {
    --gutter: 20px;
    display: grid;
    grid-gap: calc(var(--gutter) / 2);
    grid-template-columns: 10px;
    grid-template-rows: minmax(150px, 1fr);
    grid-auto-flow: column;
    grid-auto-columns: minmax(min(450px, 100%), 1fr);
    overflow-x: scroll;
    scroll-snap-type: x proximity;
    padding-bottom: calc(.75 * var(--gutter));
    margin-bottom: calc(-.25 * var(--gutter));
    margin-inline: 0.75rem;
}

    .cms-testimonial02-grid:before,
    .cms-testimonial02-grid:after {
        content: '';
        width: 10px;
    }

    .cms-testimonial02-grid::-webkit-scrollbar {
        display: none;
    }

.cms-videocontent-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
    padding: 0 .75rem;
    margin-block: .75rem;
}

.cms-menucard-grid {
    display: grid;
    grid-template-columns: 1fr;
    padding: 1rem 2rem;
    margin-block: .75rem;
    position: relative;
}

.cms-timeline {
    padding: 1rem 2rem;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Markdown Styles */

.markdown p:nth-child(1) {
    margin-block: 0;
}

/* Dialogs */
.cms-dialog-wrapper {
    box-sizing: border-box;
    display: flex;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    z-index: 1001;
    align-items: center;
    justify-content: center;
}

.cms-dialog {
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    display: block;
    min-width: 150px;
    max-height: 100%;
    min-height: 150px;
    z-index: 1001;
    opacity: 1;
    background-color: var(--cms-palette-surface);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px;
    border-radius: var(--cms-default-borderradius);
}

.cms-dialog-titlebar {
    display: flex;
    align-items: normal;
    padding-block: 1.5rem 0;
    padding-inline: 1.5rem;
    background-color: var(--cms-palette-surface);
    border-block-end: none;
}

.cms-dialog-title {
    flex: auto;
    font-size: var(--cms-typography-h5-size);
    font-weight: var(--cms-typography-h5-weight);
    line-height: var(--cms-typography-h5-lineheight);
    letter-spacing: var(--cms-typography-h5-letterspacing);
    color: var(--cms-palette-text-primary);
    user-select: none;
}

.cms-dialog-content {
    flex: 0 1 auto;
    padding: 1.5rem;
    overflow: auto;
}

.cms-dialog-mask {
    position: fixed;
    z-index: 1000;
    width: 100%;
    height: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    background-color: #45494f;
    opacity: .5;
}

/* Tabs */
.cms-tabs-container {
    display: flex;
    flex-direction: column;
    border-radius: var(--cms-default-borderradius);
    overflow: hidden;
    box-shadow: var(--cms-default-box-shadow);
}

.cms-tabs-tabbar {
    position: relative;
    background-color: var(--cms-palette-background);
    border-radius: var(--cms-default-borderradius);
}

.cms-tabs-tabbar-inner {
    display: flex;
    min-height: 48px;
}

.cms-tabs-tabbbar-content {
    width: 100%;
    flex: 1 1 auto;
    display: inline-block;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
}

.cms-tabs-tabbar-wrapper {
    width: max-content;
    position: inherit;
    display: flex;
    transition: .3s cubic-bezier(0.25, 0.8, 0.5, 1);
}

.cms-tab-button {
    cursor: pointer;
    padding: 0 12px;
    min-height: 48px;
    width: 160px;
    flex-shrink: 0;
    font-weight: 500;
    line-height: 48px;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: .02857em;
    text-transform: uppercase;
    text-align: center;
    transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

    .cms-tab-button:hover {
        background-color: var(--cms-palette-background-hover);
    }

    .cms-tab-button.active {
        font-weight: 700;
        border-bottom: 2px solid var(--cms-palette-primary);
    }

.cms-tabs-content {
    padding: .75rem;
    border-top: 1px groove var(--cms-palette-lines-default);
    background-color: var(--cms-palette-background);
}

/* Tooltip */
.cms-tooltip {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

    .cms-tooltip::after {
        content: attr(data-tooltip);
        position: absolute;
        top: 110%;
        left: 40%;
        transform: translateX(-50%);
        background-color: #666;
        color: #fff;
        padding: 4px;
        border-radius: 4px;
        white-space: nowrap;
        font-size: 9px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        pointer-events: none;
        z-index: 10;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

    .cms-tooltip::before {
        content: '';
        position: absolute;
        top: 80%;
        left: 50%;
        transform: translateX(-50%);
        border-width: 6px;
        border-style: solid;
        border-color: transparent transparent #666 transparent;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .cms-tooltip:hover::after,
    .cms-tooltip:hover::before {
        opacity: 1;
        visibility: visible;
    }

header {
    z-index: 997;
    position: relative;
}

/* Grid system */
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    width: 100%;
    padding: .75rem .75rem 0 .75rem;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container-sm, .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container-md, .container-sm, .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container-lg, .container-md, .container-sm, .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1320px;
    }
}

.container.dense {
    padding: 0;
}

.container-article {
    max-width: 100ch;
}

.container-nopadding {
    padding: 0;
}

.row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 0.75rem;
    margin-block-end: .75rem;
    align-items: center;
}

    .row.dense {
        grid-gap: 0;
        margin-block-end: 0;
    }

.row-gap-large {
    column-gap: 1.1875em;
}

.row-no-gap {
    column-gap: 0;
}

[class^=col-] {
    grid-column: auto/span 12;
}

@media (min-width: 576px) {
    .col-sm-12 {
        grid-column: auto/span 12;
    }

    .col-sm-11 {
        grid-column: auto/span 11;
    }

    .col-sm-10 {
        grid-column: auto/span 10;
    }

    .col-sm-9 {
        grid-column: auto/span 9;
    }

    .col-sm-8 {
        grid-column: auto/span 8;
    }

    .col-sm-7 {
        grid-column: auto/span 7;
    }

    .col-sm-6 {
        grid-column: auto/span 6;
    }

    .col-sm-5 {
        grid-column: auto/span 5;
    }

    .col-sm-4 {
        grid-column: auto/span 4;
    }

    .col-sm-3 {
        grid-column: auto/span 3;
    }

    .col-sm-2 {
        grid-column: auto/span 2;
    }

    .col-sm-1 {
        grid-column: auto/span 1;
    }

    .offset-sm-1 {
        grid-column-start: 2;
    }

    .offset-sm-2 {
        grid-column-start: 3;
    }

    .offset-sm-3 {
        grid-column-start: 4;
    }

    .offset-sm-4 {
        grid-column-start: 5;
    }

    .offset-sm-5 {
        grid-column-start: 6;
    }

    .offset-sm-6 {
        grid-column-start: 7;
    }

    .offset-sm-7 {
        grid-column-start: 8;
    }

    .offset-sm-8 {
        grid-column-start: 9;
    }

    .offset-sm-9 {
        grid-column-start: 10;
    }

    .offset-sm-10 {
        grid-column-start: 11;
    }

    .offset-sm-11 {
        grid-column-start: 12;
    }
}

@media (min-width: 768px) {
    .col-md-12 {
        grid-column: auto/span 12;
    }

    .col-md-11 {
        grid-column: auto/span 11;
    }

    .col-md-10 {
        grid-column: auto/span 10;
    }

    .col-md-9 {
        grid-column: auto/span 9;
    }

    .col-md-8 {
        grid-column: auto/span 8;
    }

    .col-md-7 {
        grid-column: auto/span 7;
    }

    .col-md-6 {
        grid-column: auto/span 6;
    }

    .col-md-5 {
        grid-column: auto/span 5;
    }

    .col-md-4 {
        grid-column: auto/span 4;
    }

    .col-md-3 {
        grid-column: auto/span 3;
    }

    .col-md-2 {
        grid-column: auto/span 2;
    }

    .col-md-1 {
        grid-column: auto/span 1;
    }

    .offset-md-1 {
        grid-column-start: 2;
    }

    .offset-md-2 {
        grid-column-start: 3;
    }

    .offset-md-3 {
        grid-column-start: 4;
    }

    .offset-md-4 {
        grid-column-start: 5;
    }

    .offset-md-5 {
        grid-column-start: 6;
    }

    .offset-md-6 {
        grid-column-start: 7;
    }

    .offset-md-7 {
        grid-column-start: 8;
    }

    .offset-md-8 {
        grid-column-start: 9;
    }

    .offset-md-9 {
        grid-column-start: 10;
    }

    .offset-md-10 {
        grid-column-start: 11;
    }

    .offset-md-11 {
        grid-column-start: 12;
    }
}

@media (min-width: 992px) {
    .col-lg-12 {
        grid-column: auto/span 12;
    }

    .col-lg-11 {
        grid-column: auto/span 11;
    }

    .col-lg-10 {
        grid-column: auto/span 10;
    }

    .col-lg-9 {
        grid-column: auto/span 9;
    }

    .col-lg-8 {
        grid-column: auto/span 8;
    }

    .col-lg-7 {
        grid-column: auto/span 7;
    }

    .col-lg-6 {
        grid-column: auto/span 6;
    }

    .col-lg-5 {
        grid-column: auto/span 5;
    }

    .col-lg-4 {
        grid-column: auto/span 4;
    }

    .col-lg-3 {
        grid-column: auto/span 3;
    }

    .col-lg-2 {
        grid-column: auto/span 2;
    }

    .col-lg-1 {
        grid-column: auto/span 1;
    }

    .offset-lg-1 {
        grid-column-start: 2;
    }

    .offset-lg-2 {
        grid-column-start: 3;
    }

    .offset-lg-3 {
        grid-column-start: 4;
    }

    .offset-lg-4 {
        grid-column-start: 5;
    }

    .offset-lg-5 {
        grid-column-start: 6;
    }

    .offset-lg-6 {
        grid-column-start: 7;
    }

    .offset-lg-7 {
        grid-column-start: 8;
    }

    .offset-lg-8 {
        grid-column-start: 9;
    }

    .offset-lg-9 {
        grid-column-start: 10;
    }

    .offset-lg-10 {
        grid-column-start: 11;
    }

    .offset-lg-11 {
        grid-column-start: 12;
    }
}

@media (min-width: 1200px) {
    .col-xl-12 {
        grid-column: auto/span 12;
    }

    .col-xl-11 {
        grid-column: auto/span 11;
    }

    .col-xl-10 {
        grid-column: auto/span 10;
    }

    .col-xl-9 {
        grid-column: auto/span 9;
    }

    .col-xl-8 {
        grid-column: auto/span 8;
    }

    .col-xl-7 {
        grid-column: auto/span 7;
    }

    .col-xl-6 {
        grid-column: auto/span 6;
    }

    .col-xl-5 {
        grid-column: auto/span 5;
    }

    .col-xl-4 {
        grid-column: auto/span 4;
    }

    .col-xl-3 {
        grid-column: auto/span 3;
    }

    .col-xl-2 {
        grid-column: auto/span 2;
    }

    .col-xl-1 {
        grid-column: auto/span 1;
    }

    .offset-xl-1 {
        grid-column-start: 2;
    }

    .offset-xl-2 {
        grid-column-start: 3;
    }

    .offset-xl-3 {
        grid-column-start: 4;
    }

    .offset-xl-4 {
        grid-column-start: 5;
    }

    .offset-xl-5 {
        grid-column-start: 6;
    }

    .offset-xl-6 {
        grid-column-start: 7;
    }

    .offset-xl-7 {
        grid-column-start: 8;
    }

    .offset-xl-8 {
        grid-column-start: 9;
    }

    .offset-xl-9 {
        grid-column-start: 10;
    }

    .offset-xl-10 {
        grid-column-start: 11;
    }

    .offset-xl-11 {
        grid-column-start: 12;
    }
}

@media (min-width: 1400px) {
    .col-xxl-12 {
        grid-column: auto/span 12;
    }

    .col-xxl-11 {
        grid-column: auto/span 11;
    }

    .col-xxl-10 {
        grid-column: auto/span 10;
    }

    .col-xxl-9 {
        grid-column: auto/span 9;
    }

    .col-xxl-8 {
        grid-column: auto/span 8;
    }

    .col-xxl-7 {
        grid-column: auto/span 7;
    }

    .col-xxl-6 {
        grid-column: auto/span 6;
    }

    .col-xxl-5 {
        grid-column: auto/span 5;
    }

    .col-xxl-4 {
        grid-column: auto/span 4;
    }

    .col-xxl-3 {
        grid-column: auto/span 3;
    }

    .col-xxl-2 {
        grid-column: auto/span 2;
    }

    .col-xxl-1 {
        grid-column: auto/span 1;
    }

    .offset-xxl-1 {
        grid-column-start: 2;
    }

    .offset-xxl-2 {
        grid-column-start: 3;
    }

    .offset-xxl-3 {
        grid-column-start: 4;
    }

    .offset-xxl-4 {
        grid-column-start: 5;
    }

    .offset-xxl-5 {
        grid-column-start: 6;
    }

    .offset-xxl-6 {
        grid-column-start: 7;
    }

    .offset-xxl-7 {
        grid-column-start: 8;
    }

    .offset-xxl-8 {
        grid-column-start: 9;
    }

    .offset-xxl-9 {
        grid-column-start: 10;
    }

    .offset-xxl-10 {
        grid-column-start: 11;
    }

    .offset-xxl-11 {
        grid-column-start: 12;
    }
}

.g-0, .g-sm-0, .g-md-0, .g-lg-0, .g-xl-0, .g-xxl-0,
.gx-0, .gx-sm-0, .gx-md-0, .gx-lg-0, .gx-xl-0, .gx-xxl-0,
.gy-0, .gy-sm-0, .gy-md-0, .gy-lg-0, .gy-xl-0, .gy-xxl-0 {
    gap: 0;
}

.g-1, .g-sm-1, .g-md-1, .g-lg-1, .g-xl-1, .g-xxl-1,
.gx-1, .gx-sm-1, .gx-md-1, .gx-lg-1, .gx-xl-1, .gx-xxl-1,
.gy-1, .gy-sm-1, .gy-md-1, .gy-lg-1, .gy-xl-1, .gy-xxl-1 {
    gap: 0.25rem;
}

.g-2, .g-sm-2, .g-md-2, .g-lg-2, .g-xl-2, .g-xxl-2,
.gx-2, .gx-sm-2, .gx-md-2, .gx-lg-2, .gx-xl-2, .gx-xxl-2,
.gy-2, .gy-sm-2, .gy-md-2, .gy-lg-2, .gy-xl-2, .gy-xxl-2 {
    gap: 0.5rem;
}

.g-3, .g-sm-3, .g-md-3, .g-lg-3, .g-xl-3, .g-xxl-3,
.gx-3, .gx-sm-3, .gx-md-3, .gx-lg-3, .gx-xl-3, .gx-xxl-3,
.gy-3, .gy-sm-3, .gy-md-3, .gy-lg-3, .gy-xl-3, .gy-xxl-3 {
    gap: 0.75rem;
}

.g-4, .g-sm-4, .g-md-4, .g-lg-4, .g-xl-4, .g-xxl-4,
.gx-4, .gx-sm-4, .gx-md-4, .gx-lg-4, .gx-xl-4, .gx-xxl-4,
.gy-4, .gy-sm-4, .gy-md-4, .gy-lg-4, .gy-xl-4, .gy-xxl-4 {
    gap: 1rem;
}

.g-5, .g-sm-5, .g-md-5, .g-lg-5, .g-xl-5, .g-xxl-5,
.gx-5, .gx-sm-5, .gx-md-5, .gx-lg-5, .gx-xl-5, .gx-xxl-5,
.gy-5, .gy-sm-5, .gy-md-5, .gy-lg-5, .gy-xl-5, .gy-xxl-5 {
    gap: 2rem;
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--cms-palette-bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(var(--cms-palette-bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
    color: #38a169 !important;
}

.text-danger {
    color: rgba(220, 53, 69, 1) !important;
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(var(--cms-palette-bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(var(--cms-palette-bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
    --bs-text-opacity: 1;
    color: rgba(var(--cms-palette-bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
    --bs-text-opacity: 1;
    color: rgba(var(--cms-palette-bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--cms-palette-bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
    --bs-text-opacity: 1;
    color: var(--cms-palette-default) !important;
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: rgba(255, 255, 255, 0.5) !important;
}

.text-reset {
    --bs-text-opacity: 1;
    color: inherit !important;
}

.text-opacity-25 {
    --bs-text-opacity: 0.25;
}

.text-opacity-50 {
    --bs-text-opacity: 0.5;
}

.text-opacity-75 {
    --bs-text-opacity: 0.75;
}

.text-opacity-100 {
    --bs-text-opacity: 1;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--cms-palette-bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--cms-palette-bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--cms-palette-bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--cms-palette-bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--cms-palette-bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
    --bs-bg-opacity: 1;
    background-color: transparent !important;
}

.bg-opacity-10 {
    --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
    --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
    --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
    --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
    --bs-bg-opacity: 1;
}

.bg-primary-subtle {
    background-color: var(--cms-palette-bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
    background-color: var(--cms-palette-bs-secondary-bg-subtle) !important;
}

.bg-light-subtle {
    background-color: var(--cms-palette-bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
    background-color: var(--cms-palette-bs-dark-bg-subtle) !important;
}

.bg-gradient {
    background-image: var(--cms-palette-bs-gradient) !important;
}

.bg-gray-default {
    background-color: var(--cms-palette-gray-default) !important;
}

.bg-gray-light {
    background-color: var(--cms-palette-gray-light) !important;
}

.bg-gray-lighter {
    background-color: var(--cms-palette-gray-lighter) !important;
}

.bg-gray-dark {
    background-color: var(--cms-palette-gray-dark) !important;
}

.bg-gray-darker {
    background-color: var(--cms-palette-gray-darker) !important;
}

.brightness-20 {
    filter: brightness(0.2);
}

.brightness-40 {
    filter: brightness(0.4);
}

.brightness-60 {
    filter: brightness(0.6);
}

.aspect-ratio-1x1 {
    aspect-ratio: 1 / 1;
}

.aspect-ratio-4x3 {
    aspect-ratio: 4 / 3;
}

.aspect-ratio-16x9 {
    aspect-ratio: 16 / 9;
}

/* Special template styles */

.template {
    width: 100%;
    margin: 0 auto;
}

section svg {
    display: flex;
}

.h-fluid {
    min-height: 40vH;
    max-height: 50vH;
    height: auto;
}

.fluid-icon {
    width: 100%;
    aspect-ratio: 1 / 1;
    max-height: clamp(48px, 100%, 128px);
    max-width: clamp(48px, 100%, 128px);
}

.fixed-icon-48 {
    width: 48px;
    height: 48px;
}

.fixed-icon-64 {
    width: 64px;
    height: 64px;
}

.fixed-icon-96 {
    width: 96px;
    height: 96px;
}

.cms-glass-effect {
    background-color: rgba(255, 255, 255, 0.027);
    backdrop-filter: blur(6px) brightness(0.85);
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: rgba(0, 0, 0, 0.15) 2.4px 2.4px 3.2px;
}

.cms-section-diagonal {
    position: relative;
    isolation: isolate;
    padding: 3.5rem 0;
    overflow: hidden;
}

    .cms-section-diagonal::after {
        content: "";
        background-image: linear-gradient(45deg, #12c2e9, #c471ed, #f64f59);
        position: absolute;
        z-index: -1;
        inset: 0;
        transform: skewY(-5deg);
    }

.cms-section-slant {
    position: relative;
}

    .cms-section-slant:after {
        content: "";
        position: absolute;
        inset: 0;
        background-color: var(--cms-palette-background);
        -webkit-clip-path: polygon(100% 80%, 0 100%, 100% 100%);
        clip-path: polygon(100% 80%, 0 100%, 100% 100%);
    }

.cms-section-slope {
    position: relative;
}

    .cms-section-slope:after {
        content: "";
        position: absolute;
        inset: 0;
        bottom: -1px;
        right: -1px;
        background-color: var(--cms-palette-background);
        -webkit-clip-path: polygon(85% 0%, 100% 0%, 100% 100%, 100% 100%);
        clip-path: polygon(85% 0%, 100% 0%, 100% 100%, 100% 100%);
    }

.cms-section-gradient {
    background: linear-gradient(315deg, rgba(101, 0, 94, 1) 3%, rgba(60, 132, 206, 1) 38%, rgba(48, 238, 226, 1) 68%, rgba(255, 25, 25, 1) 98%);
    animation: gradient 15s ease infinite;
    background-size: 400% 400%;
    background-attachment: fixed;
}

@keyframes gradient {

    0%, 100% {
        background-position: 0% 0%;
    }

    50% {
        background-position: 100% 100%;
    }
}

.cms-section-curve {
    border-radius: 50% 50% 0% 0% / 25% 25% 0% 0%;
}

.cms-section-lines {
    background-image: url('data:image/svg+xml,<svg width="100%" height="100%" viewBox="0 0 1144 366" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_1165_21145)"><g opacity="0.2"><path d="M-42.315 -177.182C-0.718862 -183.639 42.1914 -187.958 86.0261 -190.174C105.486 -191.213 125.707 -191.664 146.742 -186.904C200.403 -174.678 242.306 -132.497 270.687 -93.7132C296.869 -57.8389 317.975 -20.9733 333.605 15.9244C349.111 52.6377 359.341 89.8628 385.275 125.369C411.162 160.986 457.944 195.519 506.246 200.859C535.027 204.057 559.937 196.403 577.293 183.688C594.649 170.974 605.089 153.602 613.55 135.65C623.15 115.028 631.122 92.5294 654.183 80.6692C678.214 68.4335 717.186 70.9801 749.517 86.7335C795.602 109.139 819.355 149.762 844.757 185.566C876.985 230.986 920.479 276.08 978.19 306.333C1035.73 336.513 1108.96 348.402 1151.73 325.885" stroke="%23CBD5E1" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-42.0287 -166.937C-1.25962 -173.353 40.9474 -177.446 84.25 -179.363C103.444 -180.252 123.446 -180.665 143.92 -176.013C185.257 -166.674 219.786 -139.467 246.627 -109.885C253.898 -101.79 260.733 -93.6181 266.788 -85.5159C293.225 -50.7158 314.711 -14.7401 330.72 21.2676C346.653 56.9798 357.386 93.4991 383.215 128.303C397.772 147.785 418.07 167.085 441.312 181.856C461.708 194.757 484.573 204.241 507.678 206.991C511.919 207.484 515.864 207.72 519.857 207.845C544.519 208.366 565.731 200.845 581.206 189.695C586.203 186.041 590.687 182.168 594.875 178.037C605.606 167.1 613.617 154.477 620.725 141.6C632.007 121.302 642.376 99.8244 666.712 88.7706C690.83 77.755 728.337 79.9402 760.031 95.2905C805.183 117.035 828.992 156.104 854.402 190.467C856.477 193.192 858.381 195.844 860.457 198.569C891.853 239.295 932.946 278.633 985.576 305.143C1041.49 333.446 1112.07 343.945 1153.02 321.439" stroke="%23909090" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-41.7421 -156.693C-1.6289 -162.994 39.9222 -166.972 82.5216 -168.664C101.449 -169.403 121.014 -169.739 141.269 -165.049C181.874 -155.891 216.003 -129.643 242.833 -100.985C250.029 -93.1858 256.958 -85.2366 263.108 -77.3569C289.582 -43.5927 311.494 -8.61825 328.225 26.6454C344.709 61.5406 355.993 97.243 381.764 131.233C396.91 151.23 417.752 171.156 441.535 186.552C462.303 200.006 485.758 210.004 509.719 213.119C513.96 213.612 518.248 213.994 522.241 214.119C547.635 214.821 569.55 207.074 585.729 195.697C590.944 192.005 595.646 188.094 600.1 183.814C611.488 172.762 620.326 160.097 628.337 147.474C641.35 127.387 654.192 107.227 679.679 96.7953C703.883 86.9999 740.05 89.008 770.982 103.771C815.155 124.966 839.019 162.482 864.484 195.29C866.436 197.831 868.559 200.445 870.682 203.059C902.057 241.936 942.444 279.133 993.57 303.949C1047.85 330.375 1115.79 339.485 1154.92 316.989" stroke="%23959595" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-41.4558 -146.449C-2.16968 -152.708 38.8494 -156.387 80.7454 -157.852C99.4071 -158.442 118.706 -158.629 138.448 -154.158C178.32 -145.18 212.22 -119.819 238.868 -92.1588C246.159 -84.5817 253.012 -76.928 259.085 -69.3438C285.815 -36.6538 308.107 -2.56921 325.264 31.6933C342.299 65.7715 353.962 100.584 379.799 133.945C395.706 154.529 416.919 175.008 441.416 191.103C462.603 204.998 486.772 215.695 511.37 219.213C515.782 219.779 520.07 220.161 524.405 220.431C550.703 221.387 573.15 213.341 590.032 201.739C595.466 198.008 600.434 193.947 604.889 189.667C616.761 178.427 626.597 165.794 635.73 153.386C650.255 133.549 665.665 114.484 692.427 104.858C716.594 96.0989 751.42 97.93 781.715 112.29C824.956 132.825 848.875 168.786 874.177 200.079C876.176 202.509 878.175 204.938 880.345 207.441C911.653 244.58 951.552 279.597 1001.05 302.537C1053.75 326.975 1119 334.806 1156.3 312.32" stroke="%239B9B9B" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-41.3882 -136.167C-2.75797 -142.31 37.434 -145.948 78.7506 -147.003C96.975 -147.516 116.008 -147.554 135.531 -143.044C174.671 -134.247 208.171 -109.845 234.809 -83.1099C242.023 -75.8282 248.971 -68.397 255.139 -61.0353C282.077 -29.3082 304.624 3.7022 322.332 37.1477C339.793 70.2248 352.131 104.404 377.91 136.952C394.626 158.012 416.163 179.155 441.203 195.876C462.761 210.323 487.69 221.607 512.974 225.418C517.509 226.168 522.016 226.511 526.399 226.671C553.6 227.88 576.579 219.535 594.164 207.707C599.817 203.938 605.004 199.839 609.724 195.409C622.252 184.055 632.868 171.49 642.999 159.114C659.255 139.489 676.795 121.595 704.879 112.664C729.01 104.941 762.667 106.668 792.324 120.624C834.461 140.426 858.559 175.018 883.917 204.757C885.963 207.075 887.962 209.505 890.009 211.823C921.295 247.113 960.489 279.989 1008.53 301.125C1059.61 323.686 1122.26 330.015 1157.86 307.725" stroke="%23A0A0A0" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-40.8153 -115.678C-3.66798 -121.665 35.3361 -124.889 75.246 -125.492C92.9858 -125.818 111.268 -125.518 130.106 -121.3C167.782 -112.865 200.481 -90.3813 227.098 -65.4953C234.33 -58.7315 241.249 -51.7071 247.655 -44.9015C274.885 -15.2845 298.238 15.8347 316.924 47.4621C335.486 78.9052 348.972 111.34 374.541 142.483C392.779 164.718 415.277 186.928 441.184 204.938C463.703 220.453 489.765 232.877 516.418 237.271C521.125 238.094 525.974 238.583 530.699 239.411C574.192 240.533 601.191 262.89 623.917 249.441C631.024 245.109 637.789 240.631 644.211 236.007C661.111 223.887 677.64 211.214 694.941 200.053C722.825 182.099 755.053 171.517 794.086 168.699C816.216 167.091 842.648 169.156 867.472 179.737C902.693 194.882 927.427 218.965 952.764 238.311C954.753 239.815 956.741 241.32 958.901 242.898C989.727 265.503 1024.59 283.387 1062.05 291.861C1102.04 301.023 1145.74 297.697 1170.49 275.628" stroke="%23ACACAC" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-40.5289 -105.434C-4.03743 -111.306 34.0921 -114.377 73.47 -114.681C90.9438 -114.857 108.789 -114.48 127.237 -110.297C164.352 -101.97 196.432 -80.4074 223.086 -56.5573C230.413 -50.0161 237.256 -43.287 243.756 -36.704C271.242 -8.16113 294.803 21.9952 314.04 52.8055C333.028 83.2475 347.189 115.049 372.652 145.49C391.699 168.201 414.521 191.075 441.141 209.784C464.032 225.851 490.855 238.863 518.146 243.66C523.024 244.556 528.044 245.119 532.769 245.424C562.509 247.322 587.209 238.263 607.122 225.719C613.478 221.724 619.197 217.326 624.697 212.966C639.145 201.378 652.242 188.688 665.397 176.812C686.626 157.861 710.778 143.442 743.294 136.927C766.8 132.092 797.072 133.691 824.741 146.142C863.91 163.89 888.298 194.005 913.727 219.304C915.698 221.327 917.715 223.239 919.856 225.335C951.032 255.188 988.28 281.713 1031.78 297.364C1078.07 314.072 1132.69 316.453 1162.86 294.084" stroke="%23BCBCBC" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-40.461 -95.1512C-4.62541 -100.909 32.8483 -103.865 71.5229 -103.943C88.7306 -103.969 106.31 -103.443 124.415 -99.4061C160.798 -91.259 192.478 -70.6563 219.121 -47.7308C226.372 -41.485 233.31 -34.9785 239.686 -28.5797C267.38 -0.999759 291.368 28.1554 311.031 57.9645C330.571 87.5895 345.329 118.463 370.687 148.202C390.495 171.5 413.736 194.815 440.851 214.261C464.285 230.954 491.698 244.48 519.673 249.569C524.722 250.538 529.742 251.101 534.639 251.479C565.282 253.631 590.514 244.273 611.131 231.502C617.706 227.469 623.643 223.033 629.409 218.523C644.342 206.748 658.437 194.089 672.667 182.54C695.578 163.911 721.737 150.48 755.747 144.733C779.045 140.861 808.319 142.428 835.179 154.404C873.415 171.491 897.859 200.052 923.078 223.947C925.095 225.859 927.16 227.659 929.178 229.571C960.286 257.686 996.875 281.959 1038.87 295.917C1083.53 310.748 1135.39 311.555 1165.8 289.38" stroke="%23C7C7C7" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-40.1749 -84.9068C-5.16637 -90.6226 31.7753 -93.2796 69.7466 -93.1314C86.517 -93.0814 103.83 -92.4058 121.593 -88.5147C153.814 -69.6538 184.864 -50.8968 211.316 -29.8937C218.585 -24.1659 225.541 -18.1773 232.107 -12.2234C260.094 13.2464 284.717 40.4374 305.652 68.6856C326.169 96.4924 342.371 125.878 367.347 154.14C388.772 178.39 412.661 203.033 440.856 214.261C464.708 230.954 491.698 244.48 519.673 249.569C526.715 256.778 531.907 257.414 537.022 257.754C568.398 260.086 594.333 250.502 615.653 237.505C622.446 233.434 628.649 228.848 634.587 224.412C650.175 212.521 665.098 199.821 680.278 188.414C704.92 169.997 733.086 157.552 768.714 152.758C791.508 149.591 819.908 151.312 846.131 162.884C883.387 179.423 907.886 206.43 933.16 228.771C935.225 230.572 937.119 232.299 939.231 233.988C970.318 260.254 1006.37 282.458 1046.74 294.54C1089.82 307.382 1138.98 306.91 1165.8 284.819" stroke="%23C7C7C7" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-39.8882 -74.6628C-5.53559 -80.2638 30.7027 -82.6947 67.9708 -82.3205C84.4752 -82.121 101.522 -81.2958 118.896 -77.4395C153.814 -69.6538 184.864 -50.8968 211.316 -29.8937C218.585 -24.1659 225.541 -18.1773 232.107 -12.2234C260.094 13.2464 284.717 40.4374 305.652 68.6856C326.169 96.4924 342.371 125.878 367.347 154.14C388.772 178.39 412.661 203.033 440.856 214.261C464.708 230.954 491.698 244.48 519.673 249.569C524.722 250.538 529.742 251.101 534.639 251.479C565.282 253.631 590.514 244.273 611.131 231.502C617.706 227.469 623.643 223.033 629.409 218.523C644.342 206.748 658.437 194.089 672.667 182.54C695.578 163.911 721.737 150.48 755.747 144.733C779.045 140.861 808.319 142.428 835.179 154.404C873.415 171.491 897.859 200.052 923.078 223.947C925.095 225.859 927.16 227.659 929.178 229.571C960.286 257.686 996.875 281.959 1038.87 295.917C1083.53 310.748 1135.39 311.555 1165.8 289.38" stroke="%23CDCDCD" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-39.7732 -64.4915C-6.24764 -70.0507 29.3348 -72.3669 66.0233 -71.5824C82.2617 -71.2334 98.8715 -70.3317 115.902 -66.6213C150.088 -59.0163 180.738 -41.2187 207.179 -21.1401C214.544 -15.6348 221.423 -9.94171 228.084 -4.21034C256.326 20.1853 281.329 46.4864 305.652 73.7334C330.571 100.723 345.329 118.463 370.687 148.202C390.495 171.5 413.736 194.815 440.851 214.261C464.285 230.954 491.698 244.48 519.673 249.569C524.722 250.538 529.742 251.101 534.639 251.479C565.282 253.631 590.514 244.273 611.131 231.502C617.706 227.469 623.643 223.033 629.409 218.523C644.342 206.748 658.437 194.089 672.667 182.54C695.578 163.911 721.737 150.48 755.747 144.733C779.045 140.861 808.319 142.428 835.179 154.404C873.415 171.491 897.859 200.052 923.078 223.947C925.095 225.859 927.16 227.659 929.178 229.571C960.286 257.686 996.875 281.959 1038.87 295.917C1083.53 310.748 1135.39 311.555 1165.8 289.38" stroke="%23DCDCDC" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-39.5343 -54.136C-6.6646 -59.5804 28.2146 -61.6705 64.1998 -60.66C80.1722 -60.1615 96.5159 -59.1103 113.157 -55.4346C146.611 -48.0102 176.813 -31.0607 203.291 -12.0181C210.531 -6.69703 217.553 -1.33765 224.309 4.17123C252.636 27.4198 278.017 52.8309 299.93 79.2609C321.548 105.434 339.117 133.036 363.445 159.97C386.441 185.284 411.243 211.105 440.481 233.165C465.666 251.919 490.855 267.871 518.146 273.66C523.664 274.739 529.286 275.522 534.878 275.879C577.165 279.86 604.696 269.379 628.126 255.705C635.451 251.334 642.482 246.707 649.122 242.044C666.507 229.736 683.987 217.206 702.41 206.261C732.149 188.702 766.088 178.85 806.738 176.985C828.366 176.082 854.094 178.373 878.11 188.479C912.398 202.963 937.016 225.419 962.533 243.395C964.569 244.789 966.605 246.182 968.641 247.576C999.446 268.332 1033.73 284.259 1069.73 290.929C1108.14 298.102 1149.2 293.387 1170.49 271.439" stroke="%23E3E3E3" stroke-width="0.588251" stroke-miterlimit="10"/><path d="M-39.2479 17.5391C-10.1071 12.5682 20.1625 11.7996 51.3011 14.6878C65.1162 15.9757 79.2552 17.9275 93.3573 20.9153C121.685 27.0749 149.257 37.3818 175.272 49.917C182.491 53.3888 189.616 57.0831 196.693 60.8886C226.277 76.917 254.161 95.5075 279.728 115.739C304.999 135.713 327.687 157.478 350.403 179.65C379.62 208.405 406.394 238.616 439.783 265.24C474.028 302.544 518.119 327.254 561.99 332.547C616.805 339.217 656.424 315.091 693.204 293.83C753.632 258.855 829.838 228.634 921.069 248.593C966.599 258.536 1011.53 280.319 1056.78 287.12C1119.37 296.446 1174.17 271.824 1184.4 229.782" stroke="white" stroke-width="0.588251" stroke-miterlimit="10"/></g></g><defs><clipPath id="clip0_1165_21145"><rect width="1144" height="366" rx="12" fill="white"/></clipPath></defs></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.cms-section-blue {
    background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1345.7 869.8"><linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="1929.1327" y1="-7857.5293" x2="1981.3187" y2="-6828.7168" gradientTransform="matrix(8.000000e-02 1.38 1.2 -7.000000e-02 9334.8105 -2775.6802)"><stop offset="0" style="stop-color:%2374D1FB" /><stop offset="1" style="stop-color:%23329EF7" /></linearGradient><path style="fill:url(%23SVGID_1_);" d="M0,869.8V0h1345.7v873.1L0,869.8z" /><path style="fill:%23FFFFFF;fill-opacity:0.1;" d="M-35.4,428c0,0,75.2-140.7,62.5-330.4S147.7-110.9,197.6-73.7C231-48.7,318.9,137.7,449.1,176.4 s241.2,38.8,270.2,64c28.3,24.6,81.1,54.3-240.4,203.1S55.4,573.8,14.5,561.9C-12.2,554.2-65.9,522.5-35.4,428z" /><path style="fill:%23FFFFFF;fill-opacity:0.1;" d="M1391.1,324.5c72.3,11.7,96,109.2,43.7,176c-15.1,19.2-34.3,41.6-58.6,67c-116.6,121.8-166.3,354.3-190.1,416.1 c-42.6,110.5-213.2,357.3-264.4,141.7c-67-281.9-317.1-281.5-264.3-411.1c45.5-111.7,196.7-228.9,276.5-275.4 c74.2-43.2,278.6-137.6,454.6-114.7C1389.3,324.2,1390.2,324.4,1391.1,324.5z" /></svg>');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cms-gradient-vital-ocean {
    background-image: linear-gradient(90deg, #1CB5E0 0%, #000851 100%);
}

.cms-gradient-kale-salad {
    background-image: linear-gradient(90deg, #00C9FF 0%, #92FE9D 100%);
}

.cms-gradient-shady-lane {
    background-image: linear-gradient(90deg, #3F2B96 0%, #A8C0FF 100%);
}

.cms-gradient-sea-salt {
    background-image: linear-gradient(90deg, #4b6cb7 0%, #182848 100%);
}

.cms-section-bg-10 {
    background-color: var(--cms-palette-primary-10) !important;
}

.cms-section-bg-20 {
    background-color: var(--cms-palette-primary-20) !important;
}

.cms-section-bg-30 {
    background-color: var(--cms-palette-primary-30) !important;
}

.cms-section-bg-40 {
    background-color: var(--cms-palette-primary-40) !important;
}

.cms-section-bg-50 {
    background-color: var(--cms-palette-primary-50) !important;
}

.cms-section-bg-60 {
    background-color: var(--cms-palette-primary-60) !important;
}

.cms-section-bg-70 {
    background-color: var(--cms-palette-primary-70) !important;
}

.cms-section-bg-80 {
    background-color: var(--cms-palette-primary-80) !important;
}

.cms-section-bg-90 {
    background-color: var(--cms-palette-primary-90) !important;
}

.cms-section-bg-100 {
    background-color: var(--cms-palette-primary-100) !important;
}

.cms-gradient-text {
    -webkit-text-fill-color: transparent;
    background: linear-gradient(90deg,#0cee57,#ce04fc);
    -webkit-background-clip: text;
    width: fit-content;
}

.cms-gradient-border {
    border-radius: var(--cms-default-borderradius);
    position: relative;
}

    .cms-gradient-border:before {
        background: linear-gradient(180deg,#c311f3,#14e55e);
        border-radius: var(--cms-default-borderradius);
        content: "";
        inset: 0;
        margin: -1px;
        -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        padding: 2px;
        position: absolute;
    }

/* Template headlines */

.cms-headline {
    position: relative;
    padding: 0;
    margin: 0;
    font-weight: 300;
    font-size: 40px;
    -webkit-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

    .cms-headline span {
        display: block;
        font-size: 0.5em;
        line-height: 1.3;
    }

    .cms-headline em {
        font-style: normal;
        font-weight: 600;
    }

.cms-headline-one .cms-headline {
    text-align: center;
    text-transform: uppercase;
    padding-bottom: 5px;
}

    .cms-headline-one .cms-headline:before {
        width: 28px;
        height: 5px;
        display: block;
        content: "";
        position: absolute;
        bottom: 3px;
        left: 50%;
        margin-left: -14px;
        background-color: var(--cms-palette-primary);
    }

    .cms-headline-one .cms-headline:after {
        width: 100px;
        height: 1px;
        display: block;
        content: "";
        position: relative;
        margin-top: 10px;
        left: 50%;
        margin-left: -50px;
        background-color: var(--cms-palette-primary);
    }

.cms-headline-two {
    margin-inline-start: .75rem;
}

    .cms-headline-two .cms-headline {
        text-transform: capitalize;
    }

        .cms-headline-two .cms-headline:before {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 60px;
            height: 2px;
            content: "";
            background-color: var(--cms-palette-primary);
        }

        .cms-headline-two .cms-headline span {
            font-size: 13px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 4px;
            line-height: 1.5em;
            padding-left: 0.25em;
            color: var(--cms-palette-text-disabled);
            padding-bottom: 10px;
        }

.cms-headline-three {
    margin-inline-start: 0.75rem;
}

    .cms-headline-three .cms-headline {
        font-size: 28px;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.5em;
        padding-bottom: 10px;
        position: relative;
    }

        .cms-headline-three .cms-headline:before {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            height: 5px;
            width: 55px;
            background-color: #111;
        }

        .cms-headline-three .cms-headline:after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 2px;
            height: 1px;
            width: 95%;
            max-width: 255px;
            background-color: #333;
        }

.cms-headline-four .cms-headline {
    text-align: center;
    padding-bottom: 0.75rem;
}

    .cms-headline-four .cms-headline span {
        font-weight: 300;
        word-spacing: 3px;
        line-height: 2em;
        color: var(--cms-palette-text-disabled);
    }

    .cms-headline-four .cms-headline:before {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 60px;
        height: 1px;
        content: "";
        left: 50%;
        margin-left: -30px;
        background-color: var(--cms-palette-primary);
    }

.cms-headline-five {
    margin-block-start: 0.75rem;
}

    .cms-headline-five .cms-headline {
        text-align: center;
        font-size: 22px;
        font-weight: 700;
        text-transform: uppercase;
        word-spacing: 1px;
        letter-spacing: 2px;
    }

        .cms-headline-five .cms-headline span {
            margin-top: 2rem;
            text-transform: none;
            font-size: .75em;
            font-weight: normal;
            font-style: italic;
            color: var(--cms-palette-text-disabled);
            letter-spacing: -0.005em;
            word-spacing: 1px;
        }

        .cms-headline-five .cms-headline:before {
            position: absolute;
            bottom: 50%;
            width: 60px;
            height: 4px;
            content: "";
            left: 50%;
            margin-left: -30px;
            background-color: var(--cms-palette-lines-default);
        }

.cms-headline-six {
    margin-block-start: 0.75rem;
}

    .cms-headline-six .cms-headline {
        text-align: center;
        color: #222;
        font-size: 30px;
        font-weight: 400;
        text-transform: uppercase;
        word-spacing: 1px;
        letter-spacing: 2px;
        color: #c50000;
    }

        .cms-headline-six .cms-headline span {
            line-height: 2em;
            padding-bottom: 15px;
            text-transform: none;
            font-size: .7em;
            font-weight: normal;
            font-style: italic;
            color: #999;
            letter-spacing: -0.005em;
            word-spacing: 1px;
        }

        .cms-headline-six .cms-headline:after, .cms-headline-six .cms-headline:before {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 45px;
            height: 4px;
            content: "";
            right: 45px;
            margin: auto;
            background-color: #ccc;
        }

        .cms-headline-six .cms-headline:before {
            background-color: #d78b8b;
            left: 45px;
            width: 90px;
        }

.cms-headline-seven {
    margin-block-start: 0.75rem;
}

    .cms-headline-seven .cms-headline {
        text-align: center;
        font-size: 30px;
        font-weight: 400;
        letter-spacing: 1px;
        text-transform: uppercase;
        display: grid;
        grid-template-columns: 1fr max-content 1fr;
        grid-template-rows: 27px 0;
        grid-gap: 20px;
        align-items: center;
    }

        .cms-headline-seven .cms-headline:after, .cms-headline-seven .cms-headline:before {
            content: " ";
            display: block;
            border-bottom: 1px solid #c50000;
            border-top: 1px solid #c50000;
            height: 5px;
            background-color: inherit;
        }

.cms-headline-eight {
    margin-block-start: 0.75rem;
}

    .cms-headline-eight .cms-headline {
        text-align: center;
        text-transform: uppercase;
        font-size: 26px;
        letter-spacing: 1px;
        display: grid;
        align-items: center;
        grid-template-columns: 1fr auto 1fr;
        grid-gap: 22px;
    }

        .cms-headline-eight .cms-headline:after, .cms-headline-eight .cms-headline:before {
            content: " ";
            display: block;
            border-bottom: 2px solid var(--cms-palette-lines-default);
        }

.cms-headline-nine .cms-headline {
    text-align: center;
    font-size: 50px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
}

    .cms-headline-nine .cms-headline span {
        margin-top: 5px;
        font-size: 15px;
        color: var(--cms-palette-text-disabled);
        word-spacing: 1px;
        font-weight: normal;
        letter-spacing: 2px;
        text-transform: uppercase;
        font-weight: 500;
        display: grid;
        grid-template-columns: 1fr max-content 1fr;
        grid-template-rows: 27px 0;
        grid-gap: 20px;
        align-items: center;
    }

        .cms-headline-nine .cms-headline span:after, .cms-headline-nine .cms-headline span:before {
            content: " ";
            display: block;
            border-bottom: 1px solid #ccc;
            border-top: 1px solid #ccc;
            height: 5px;
            background-color: inherit;
        }

.cms-headline-ten {
    margin-inline-start: 0.75rem;
    margin-block: 0.75rem;
}

    .cms-headline-ten .cms-headline {
        font-size: 34px;
        font-weight: 500;
        text-transform: uppercase;
    }

        .cms-headline-ten .cms-headline:before {
            background-color: var(--cms-palette-primary);
            border-radius: 0.25rem;
            content: '';
            display: block;
            height: 0.25rem;
            width: 60px;
            margin-bottom: 0.75rem;
        }

.cms-headline-eleven .cms-headline {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    width: fit-content;
    text-align: center;
    margin: auto;
    white-space: nowrap;
    padding-bottom: 13px;
}

    .cms-headline-eleven .cms-headline:before {
        background-color: var(--cms-palette-primary);
        content: '';
        display: block;
        height: 3px;
        width: 75px;
        margin-bottom: 5px;
    }

    .cms-headline-eleven .cms-headline:after {
        background-color: var(--cms-palette-primary);
        content: '';
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        height: 3px;
        width: 75px;
        margin-bottom: 0.25em;
    }

/* Brush effects */
.brushes {
    mask-image: url("/img/brusheffect01.png");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url("/img/brusheffect01.png");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

    .brushes.brush-01 {
        mask-image: url("/img/brusheffect01.png");
        -webkit-mask-image: url("/img/brusheffect01.png");
    }

    .brushes.brush-02 {
        mask-image: url("/img/brusheffect02.png");
        -webkit-mask-image: url("/img/brusheffect02.png");
    }

    .brushes.brush-03 {
        mask-image: url("/img/brusheffect03.png");
        -webkit-mask-image: url("/img/brusheffect03.png");
    }

    .brushes.brush-04 {
        mask-image: url("/img/brusheffect04.png");
        -webkit-mask-image: url("/img/brusheffect04.png");
    }

    .brushes.brush-05 {
        mask-image: url("/img/brusheffect05.png");
        -webkit-mask-image: url("/img/brusheffect05.png");
    }

    .brushes.brush-06 {
        mask-image: url("/img/brusheffect06.png");
        -webkit-mask-image: url("/img/brusheffect06.png");
    }

    .brushes.brush-07 {
        mask-image: url("/img/brusheffect07.png");
        -webkit-mask-image: url("/img/brusheffect07.png");
    }

    .brushes.brush-08 {
        mask-image: url("/img/brusheffect08.png");
        -webkit-mask-image: url("/img/brusheffect08.png");
    }

    .brushes.brush-09 {
        mask-image: url("/img/brusheffect09.png");
        -webkit-mask-image: url("/img/brusheffect09.png");
    }

    .brushes.brush-10 {
        mask-image: url("/img/brusheffect10.png");
        -webkit-mask-image: url("/img/brusheffect10.png");
    }

/* Form styles */

.col-form-label {
    margin-bottom: 0;
}

.cms-actions {
    display: flex;
    justify-content: right;
    gap: .75rem;
    margin-top: .75rem;
}

    .cms-actions button {
        min-width: 90px;
    }

.validation-message,
.cms-error {
    color: red;
}

    .cms-error > div {
        padding: .75rem 0;
    }

.align-right {
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
    margin-right: 0;
}

/* Quickgrid */
table.quickgrid[theme=cms] {
    display: table;
}

.quickgrid[theme=cms] thead {
    background-color: var(--cms-palette-background-gray);
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.quickgrid[theme=cms] button.col-title {
    gap: .4rem;
    box-shadow: none;
    color: inherit;
    text-transform: none;
    font-weight: bold;
    justify-content: inherit;
}

.quickgrid[theme=cms] tr:nth-child(even) {
    background: var(--cms-palette-table-striped);
}

.quickgrid[theme=cms] th .col-options-button {
    box-shadow: none;
    min-width: 1.5rem;
    margin-right: .5rem;
}

.quickgrid[theme=cms].loading > tbody {
    opacity: 0.25;
    transition: opacity linear 100ms;
    transition-delay: 25ms;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><rect width="2.8" height="12" x="1" y="6" fill="%23424242"><animate attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="5.8" y="6" fill="%23616161"><animate attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="10.6" y="6" fill="%239E9E9E"><animate id="svgSpinnersBarsScaleMiddle0" attributeName="y" begin="0;svgSpinnersBarsScaleMiddle1.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="0;svgSpinnersBarsScaleMiddle1.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="15.4" y="6" fill="%23616161"><animate attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="20.2" y="6" fill="%23424242"><animate id="svgSpinnersBarsScaleMiddle1" attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect></svg>');
    background-position: center;
    background-repeat: no-repeat;
}

.quickgrid[theme=cms] button.col-title:hover,
.quickgrid[theme=cms] .col-options-button:hover {
    background-color: rgba(128, 128, 128, 0.2);
}

.quickgrid[theme=cms] button.col-title:active,
.quickgrid[theme=cms] .col-options-button:active {
    background-color: rgba(128, 128, 128, 0.5);
}

.quickgrid[theme=cms] .col-options {
    box-shadow: 0 3px 8px 1px #aaa;
    border-color: var(--cms-palette-lines-default);
    border-radius: var(--cms-default-borderradius);
}

.quickgrid[theme=cms] tbody tr {
    height: 55px;
}

.quickgrid[theme=cms] > tbody > tr > td.grid-cell-placeholder:after {
    content: '\2026';
    opacity: 0.75;
}

.quickgrid[theme=cms] input[type=search] {
    width: 20rem;
    padding: 0.75rem 0.75rem 0.75rem 2.5rem;
    color: rgb(17 24 39);
    background-color: rgb(249 250 251);
    border: 1px solid rgb(209 213 219);
    border-radius: 0.5rem;
    outline-offset: 1px;
}

.quickgrid[theme=cms] tr:last-child td,
.quickgrid[theme=cms] th {
    border-bottom: none;
}

.quickgrid[theme=cms] td.col-justify-center {
    text-align: center;
}

.quickgrid[theme=cms] th.col-justify-center .col-title {
    justify-content: center;
}

.quickgrid[theme=cms] td.col-justify-end,
.quickgrid[theme=cms] td.col-justify-right {
    text-align: right;
}

.quickgrid[theme=cms] th.col-justify-end .col-title,
.quickgrid[theme=cms] th.col-justify-right .col-title {
    justify-content: right;
}

.quickgrid[theme=cms] .search-box {
    position: relative;
}

    .quickgrid[theme=cms] .search-box:before {
        content: ' ';
        width: 1.25rem;
        height: 1.25rem;
        position: absolute;
        left: .75rem;
        top: calc(50% - 1.25rem/2);
        background-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='rgb(107 114 128)' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' b-nrli8fdfc6=''%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z' b-nrli8fdfc6=''%3E%3C/path%3E%3C/svg%3E");
    }

.quickgrid[theme=cms] .col-options-button {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg>');
}

div.paginator {
    border: none !important;
    margin-top: 0 !important;
    padding: 0 .75rem !important;
}

    div.paginator .go-first {
        transform: none;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%231f1f1f"><path d="M440-240 200-480l240-240 56 56-183 184 183 184-56 56Zm264 0L464-480l240-240 56 56-183 184 183 184-56 56Z"/></svg>');
    }

    div.paginator .go-last {
        transform: none;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%231f1f1f"><path d="M383-480 200-664l56-56 240 240-240 240-56-56 183-184Zm264 0L464-664l56-56 240 240-240 240-56-56 183-184Z"/></svg>');
    }

    div.paginator .go-previous {
        transform: none;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%231f1f1f"><path d="M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z"/></svg>');
    }

    div.paginator .go-next {
        transform: none;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%231f1f1f"><path d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"/></svg>');
    }

.col-sort-desc .sort-indicator, .col-sort-asc .sort-indicator {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="%231f1f1f"><path d="M440-800v487L216-537l-56 57 320 320 320-320-56-57-224 224v-487h-80Z"/></svg>') !important;
}

/* Spinner and Loader */
.cms-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 350px;
    margin: .75rem;
    border-radius: var(--cms-default-borderradius);
    background-color: var(--cms-palette-background);
    box-shadow: var(--cms-default-box-shadow);
    animation: pulse 1.5s infinite ease-in-out;
}

@keyframes pulse {
    0% {
        opacity: 0.8;
    }

    50% {
        opacity: 0.4;
    }

    100% {
        opacity: 0.8;
    }
}

.cms-spinner {
    display: block;
    width: 32px;
    height: 32px;
    margin: .75rem;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><rect width="2.8" height="12" x="1" y="6" fill="%23424242"><animate attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="5.8" y="6" fill="%23616161"><animate attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="10.6" y="6" fill="%239E9E9E"><animate id="svgSpinnersBarsScaleMiddle0" attributeName="y" begin="0;svgSpinnersBarsScaleMiddle1.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="0;svgSpinnersBarsScaleMiddle1.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="15.4" y="6" fill="%23616161"><animate attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="20.2" y="6" fill="%23424242"><animate id="svgSpinnersBarsScaleMiddle1" attributeName="y" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="svgSpinnersBarsScaleMiddle0.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Ratings a likes */
.cms-rating {
    --cms-rating-size: 24px;
    --cms-rating-color: #ccc;
    --cms-rating-background: #ffb100; /* #de7921 */
    --percent: calc(2px + var(--rating) / 5 * 100%);
    display: inline-block;
    font-size: var(--cms-rating-size);
    font-family: Times;
    line-height: 1em;
}

    .cms-rating::before {
        content: "★★★★★";
        letter-spacing: -4px;
        background: linear-gradient(90deg, var(--cms-rating-background) var(--percent), var(--cms-rating-color) var(--percent));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.cms-input-rating {
    display: inline-flex;
    align-items: center;
    margin-block: .5rem;
}

    .cms-input-rating span.star {
        display: inline-flex;
        cursor: pointer;
    }

        .cms-input-rating span.star svg {
            display: flex;
        }

.cms-like-counter {
    cursor: pointer;
    display: inline-flex;
    position: relative;
    color: inherit;
    background-color: transparent;
    box-shadow: none;
    margin: 0;
    padding: 0;
}

    .cms-like-counter:hover::before {
        content: "";
        position: absolute;
        width: 40px;
        height: 40px;
        background-color: var(--cms-palette-background-hover);
        border-radius: 50%;
        top: -8px;
        left: -8px;
    }

.cms-input-quantity {
    display: flex;
    align-items: center;
    gap: 4px;
}

    .cms-input-quantity input {
        width: 10ch;
    }

    .cms-input-quantity div {
        width: 38px;
        height: 38px;
        color: var(--cms-palette-text-primary);
        background-color: var(--cms-palette-background);
        border: 1px solid var(--cms-palette-lines-inputs);
        border-radius: var(--cms-default-borderradius);
        display: inline-flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
    }

        .cms-input-quantity div > svg {
            height: 24px;
            fill: var(--cms-palette-text-primary);
        }

.cms-map {
    width: 100%;
    height: auto;
    max-height: 320px;
    border-radius: var(--cms-default-borderradius);
    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
    margin-block: .75rem;
    aspect-ratio: 16 / 9;
}

/* Inline editor */
.cms-inline-editor {
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: rgba(245,245,245,1);
}

    .cms-inline-editor [data-inline-editable]:hover {
        border: 1px dashed var(--cms-palette-gray-default);
    }

/* Cookie Consent Banner */
.cms-cookie-consent {
    padding: .75rem;
    width: 30%;
    bottom: 10px;
    right: 10px;
    position: fixed;
    z-index: 10;
    display: none;
    flex-direction: column;
    gap: .75rem;
    border-radius: var(--cms-default-borderradius);
    background-color: var(--cms-palette-background-gray);
    border: 3px solid var(--cms-palette-lines-default);
}

    .cms-cookie-consent.show {
        display: flex;
    }

.cms-cookie-consent-title {
    font-weight: 500;
}

.cms-cookie-consent-actions {
    display: flex;
    gap: .75rem;
}

@media (max-width: 768px) {
    .cms-cookie-consent {
        width: 90%;
    }
}

/* Overlay */

.cms-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.cms-overlay-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    font-size: 1.5rem;
}

.cms-overlay-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid #ccc;
    border-top: 5px solid #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 10px;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* User menu */
.cms-user-menu {
    position: relative;
    display: inline-flex;
    margin-inline: 4px;
    border-radius: var(--cms-default-borderradius);
    transition: background-color ease 0.6s;
    justify-content: center;
    align-items: center;
}

    .cms-user-menu:hover {
        background-color: var(--cms-palette-background-hover);
    }

.cms-user-menuitem {
    list-style: none;
    cursor: pointer;
    padding: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .cms-user-menuitem svg {
        height: 24px;
        fill: var(--cms-palette-appbar-text);
    }

.cms-user-menuitems {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    padding: 4px;
    min-width: 200px;
    background-color: var(--cms-palette-appbar-background);
    border: 2px solid var(--cms-palette-appbar-text);
    border-radius: var(--cms-default-borderradius);
    box-shadow: var(--cms-default-box-shadow);
    z-index: 100;
}

.cms-user-menu:focus-within .cms-user-menuitems {
    display: block;
}

button.cms-nav-link, a.cms-nav-link, .cms-nav-link {
    display: block;
    text-align: left;
    text-transform: none;
    text-decoration: none !important;
    white-space: nowrap;
    color: var(--cms-palette-appbar-text);
    background-color: var(--cms-palette-appbar-background);
    border: none;
    box-shadow: none;
    font-weight: 400;
    font-size: var(--cms-typography-body2-size);
    line-height: 1.2;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    transition: background-color 150ms ease;
    width: 100%;
}

    button.cms-nav-link:hover, a.cms-nav-link:hover, .cms-nav-link:hover {
        opacity: unset;
        background-color: var(--cms-palette-background-hover);
    }

.cms-nav-divider {
    border-top: 1px solid var(--cms-palette-surface);
    margin: 0.25rem 0;
}

/* Search Results */
.cms-search-result {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    margin-block-end: 1rem;
    margin-inline: auto;
    max-width: min(100ch, 100%);
    border-radius: var(--cms-default-borderradius);
    background-color: var(--cms-palette-surface);
    box-shadow: var(--cms-default-box-shadow);
}

    .cms-search-result:has(a):hover {
        background-color: var(--cms-palette-background-hover);
    }

    .cms-search-result a {
        text-decoration: none !important;
    }

    .cms-search-result span {
        font-size: var(--cms-typography-caption-size);
        color: var(--cms-palette-primary-text);
        background-color: var(--cms-palette-primary);
        padding: .5rem;
        border-radius: var(--cms-default-borderradius);
        width: fit-content;
        margin-block: .75rem;
    }

.cms-search-result-title {
    font-size: 1rem;
    font-weight: 400;
    color: var(--cms-palette-text-primary);
}

.cms-search-result:hover .cms-search-result-title {
    font-weight: 700;
}

/* ProseMirror markdown editor */
.ProseMirror-menubar-wrapper {
    background-color: var(--cms-palette-background);
    border: 1px solid var(--cms-palette-lines-inputs);
    border-radius: var(--cms-default-borderradius);
    transition: border-width, border-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

    .ProseMirror-menubar-wrapper:has(.ProseMirror-focused) {
        border-color: var(--cms-palette-primary);
        border-width: 1px;
        outline: 0;
    }

.ProseMirror {
    position: relative;
    outline: 0;
    padding: 4px;
}

    .ProseMirror * {
        white-space: pre-wrap;
        word-wrap: break-word;
    }

.ProseMirror {
    word-wrap: break-word;
    white-space: pre-wrap;
    white-space: break-spaces;
    -webkit-font-variant-ligatures: none;
    font-variant-ligatures: none;
    font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
}

    .ProseMirror pre {
        white-space: pre-wrap;
    }

    .ProseMirror li {
        position: relative;
    }

    .ProseMirror [draggable][contenteditable=false] {
        user-select: text
    }

    .ProseMirror [contenteditable="false"] {
        white-space: normal;
    }

        .ProseMirror [contenteditable="false"] [contenteditable="true"] {
            white-space: pre-wrap;
        }

.ProseMirror-hideselection *::selection {
    background: transparent;
}

.ProseMirror-hideselection *::-moz-selection {
    background: transparent;
}

.ProseMirror-hideselection {
    caret-color: transparent;
}

.ProseMirror-selectednode {
    outline: 2px solid var(--cms-palette-primary);
}

li.ProseMirror-selectednode {
    outline: none;
}

    li.ProseMirror-selectednode:after {
        content: "";
        position: absolute;
        left: -32px;
        right: -2px;
        top: -2px;
        bottom: -2px;
        border: 2px solid var(--cms-palette-primary);
        pointer-events: none;
    }


img.ProseMirror-separator {
    display: inline !important;
    border: none !important;
    margin: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.ProseMirror-gapcursor {
    display: none;
    pointer-events: none;
    position: absolute;
    margin: 0;
}

    .ProseMirror-gapcursor:after {
        content: "";
        display: block;
        position: absolute;
        top: -2px;
        width: 20px;
        border-top: 1px solid black;
        animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
    }

@keyframes ProseMirror-cursor-blink {
    to {
        visibility: hidden;
    }
}

.ProseMirror-focused .ProseMirror-gapcursor {
    display: block;
}

.ProseMirror hr {
    padding: 2px 10px;
    border: none;
    margin: 1em 0;
}

    .ProseMirror hr:after {
        content: "";
        display: block;
        height: 1px;
        background-color: silver;
        line-height: 2px;
    }

.ProseMirror img {
    cursor: default;
}

.ProseMirror .tableWrapper {
    overflow: auto;
}

.ProseMirror table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    overflow: hidden;
}

.ProseMirror td,
.ProseMirror th {
    vertical-align: top;
    box-sizing: border-box;
    position: relative;
    border: 0.1rem solid var(--cms-palette-table-lines);
}

    .ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),
    .ProseMirror th:not([data-colwidth]):not(.column-resize-dragging) {
        /* if there's no explicit width set and the column is not being resized, set a default width */
        min-width: var(--default-cell-min-width);
    }

.ProseMirror .column-resize-handle {
    position: absolute;
    right: -2px;
    top: 0;
    bottom: 0;
    width: 4px;
    z-index: 20;
    background-color: #adf;
    pointer-events: none;
}

.ProseMirror.resize-cursor {
    cursor: ew-resize;
    cursor: col-resize;
}
/* Give selected cells a blue overlay */
.ProseMirror .selectedCell:after {
    z-index: 2;
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(200, 200, 255, 0.4);
    pointer-events: none;
}

/* Legal texts */
.legal-text {
    margin: 0 auto;
    padding: clamp(1rem, -1.796rem + 7.767vw, 5rem);
    max-width: min(100%, 120ch);
}

    .legal-text h1 {
        font-size: clamp(2rem, 1.65rem + 0.971vw, 2.5rem);
        font-weight: 500;
        line-height: calc(clamp(2rem, 1.65rem + 0.971vw, 2.5rem) + 10px);
    }

    .legal-text h2 {
        font-size: clamp(1.5rem, 1.15rem + 0.971vw, 2rem);
        line-height: calc(clamp(1.5rem, 1.15rem + 0.971vw, 2rem) + 10px);
        margin-block-end: 0.5rem;
        font-weight: 500;
    }

    .legal-text h3 {
        font-size: clamp(1.2rem, 0.781rem + 1.165vw, 1.8rem);
        line-height: calc(clamp(1.2rem, 0.781rem + 1.165vw, 1.8rem) + 10px);
        font-weight: 400;
        margin-block: 0.45rem;
    }

    .legal-text h4 {
        font-size: clamp(1rem, 0.65rem + 0.971vw, 1.5rem);
        line-height: calc(clamp(1rem, 0.65rem + 0.971vw, 1.5rem) + 10px);
        font-weight: 300;
        margin-block: 0.3rem 0;
    }

    .legal-text p {
        margin-block: clamp(0.5rem, 0.011rem + 1.359vw, 1.2rem) !important;
    }

.legal-disclaimer {
    --disclaimer-color: #58151c;
    --disclaimer-bg: #f8d7da;
    --disclaimer-border-color: #f1aeb5;
    --disclaimer-link-color: #58151c;
    --disclaimer-padding-x: 0.5rem;
    --disclaimer-padding-y: 0.5rem;
    --disclaimer-border: 1px solid var(--disclaimer-border-color);
    position: relative;
    padding: var(--disclaimer-padding-y) var(--disclaimer-padding-x);
    color: var(--disclaimer-color);
    background-color: var(--disclaimer-bg);
    border: var(--disclaimer-border);
    border-radius: var(--cms-default-borderradius);
    margin: 1rem clamp(1rem, -1.821rem + 7.795vw, 5rem);
    font-size: 0.9rem;
    max-width: min(100%, 120ch);
}

    .legal-disclaimer h2 {
        font-size: 1rem;
    }

    .legal-disclaimer p {
        font-size: 0.75rem;
        margin-block: 0.5rem !important;
    }

/* Card */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: var(--cms-palette-text-primary);
    word-wrap: break-word;
    background-color: var(--cms-palette-surface);
    background-clip: border-box;
    border: 1px solid var(--cms-palette-lines-inputs);
    border-radius: var(--cms-default-borderradius);
}

    .card > hr {
        margin-right: 0;
        margin-left: 0;
    }

.card-body {
    flex: 1 1 auto;
    padding: 0.75rem;
    color: var(--cms-palette-text-primary);
}

.card-title {
    margin-bottom: 0.5rem;
    color: var(--cms-palette-text-primary);
}

.card-subtitle {
    margin-top: calc(-0.5 * 0.5rem);
    margin-bottom: 0;
    color: var(--cms-palette-text-primary);
}

.card-text:last-child {
    margin-bottom: 0;
}

.card-link + .card-link {
    margin-left: 0.5rem;
}

.card-header {
    padding: 0.5rem 0.75rem;
    margin-bottom: 0;
    color: var(--cms-palette-text-primary);
    background-color: var(--cms-palette-background-gray);
    border-bottom: 1px solid var(--cms-palette-lines-default);
}

    .card-header:first-child {
        border-radius: var(--cms-default-borderradius) var(--cms-default-borderradius) 0 0;
    }

.card-footer {
    padding: 0.5rem 0.75rem;
    color: var(--cms-palette-text-primary);
    background-color: var(--cms-palette-background-gray);
    border-top: 1px solid var(--cms-palette-lines-default);
}

    .card-footer:last-child {
        border-radius: 0 0 var(--cms-default-borderradius) var(--cms-default-borderradius);
    }

.card-img,
.card-img-top,
.card-img-bottom {
    width: 100%;
}

.card-img,
.card-img-top {
    border-top-left-radius: var(--cms-default-borderradius);
    border-top-right-radius: var(--cms-default-borderradius);
}

.card-img,
.card-img-bottom {
    border-bottom-right-radius: var(--cms-default-borderradius);
    border-bottom-left-radius: var(--cms-default-borderradius);
}

.list-group {
    --bs-list-group-item-padding-x: 0.75rem;
    --bs-list-group-item-padding-y: 0.5rem;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: var(--cms-default-borderradius);
}

.list-group-item {
    position: relative;
    display: block;
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
    color: var(--cms-palette-text-primary);
    text-decoration: none;
    background-color: var(--cms-palette-background);
    border: 1px solid var(--cms-palette-lines-default);
}

    .list-group-item:first-child {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
    }

    .list-group-item:last-child {
        border-bottom-right-radius: inherit;
        border-bottom-left-radius: inherit;
    }

    .list-group-item + .list-group-item {
        border-top-width: 0;
    }

.list-group-flush {
    border-radius: 0;
}

    .list-group-flush > .list-group-item {
        border-width: 0 0 1px;
    }

        .list-group-flush > .list-group-item:last-child {
            border-bottom-width: 0;
        }

.card > .list-group {
    border-top: inherit;
    border-bottom: inherit;
}

    .card > .list-group:first-child {
        border-top-width: 0;
        border-top-left-radius: var(--bs-card-inner-border-radius);
        border-top-right-radius: var(--bs-card-inner-border-radius);
    }

    .card > .list-group:last-child {
        border-bottom-width: 0;
        border-bottom-right-radius: var(--bs-card-inner-border-radius);
        border-bottom-left-radius: var(--bs-card-inner-border-radius);
    }

    .card > .card-header + .list-group,
    .card > .list-group + .card-footer {
        border-top: 0;
    }

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

.badge {
    --bs-badge-padding-x: 0.75em;
    --bs-badge-padding-y: 0.55em;
    --bs-badge-font-size: 0.75em;
    --bs-badge-font-weight: 700;
    --bs-badge-color: #fff;
    --bs-badge-border-radius: var(--cms-default-borderradius);
    display: inline-block;
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 1.4;
    color: var(--bs-badge-color);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: var(--bs-badge-border-radius);
}

/* Animations */
:root {
    --anim-duration: 0.8s;
    --anim-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --anim-distance: 30px;
}

@media (max-width: 768px) {
    :root {
        --anim-duration: 0.6s;
    }
}

@media (prefers-reduced-motion: no-preference) {

    html.animations [data-animate] {
        opacity: 0;
        will-change: opacity, transform;
        transition: opacity var(--anim-duration) var(--anim-ease) var(--delay, 0s), transform var(--anim-duration) var(--anim-ease) var(--delay, 0s);
    }

    html.animations [data-animate="fade-up"] {
        transform: translate3d(0, var(--anim-distance), 0);
    }

    html.animations [data-animate="fade-in"] {
        transform: translate3d(0, 0, 0);
    }

    html.animations [data-animate="fade-left"] {
        transform: translate3d(var(--anim-distance), 0, 0);
    }

    html.animations [data-animate].is-visible {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Video Player */
.cms-video-container {
    width: 100%;
    max-width: 100%;
    margin-block: .75rem;
}

.cms-video-player {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--cms-default-borderradius);
    box-shadow: var(--cms-default-box-shadow);
}

/* Chart Component */
.cms-chart-container {
    width: 100%;
    position: relative;
    margin-block: .75rem;
}
