
:root {
    --frame-color: inherit;
    --frame-link-color: #7CD8FF;
    --frame-link-hover-color: #5DC9F4;
    --frame-background: transparent;
    --frame-embedded-border-radius: 0.5rem;
    --frame-width-large: 1600px;
    --frame-width-medium: 870px;
    --frame-width-small: 600px;
    --frame-spacing: 1.75rem;
    --frame-spacing-small: 0.75rem;
    --frame-spacing-xs: 1.75rem;
    --frame-spacing-small-xs: 0.75rem;
    --frame-spacing-sm: 2.1rem;
    --frame-spacing-small-sm: 0.9rem;
    --frame-spacing-md: 2.275rem;
    --frame-spacing-small-md: 0.975rem;
    --frame-spacing-lg: 2.45rem;
    --frame-spacing-small-lg: 1.05rem;
    --frame-spacing-xl: 2.625rem;
    --frame-spacing-small-xl: 1.125rem;
    --frame-outer-spacing-before: 0;
    --frame-outer-spacing-after: 0;
    --frame-outer-spacing-variant-none: 0rem;
    --frame-outer-spacing-variant-extra-small: 1rem;
    --frame-outer-spacing-variant-small: 1.5rem;
    --frame-outer-spacing-variant-medium: 2rem;
    --frame-outer-spacing-variant-large: 2.5rem;
    --frame-outer-spacing-variant-extra-large: 3rem;
}

.frame {
    position: relative;
    margin-top: var(--frame-outer-spacing-before);
    margin-bottom: var(--frame-outer-spacing-after);
    padding-top: 0; /*var(--frame-spacing);*/
    padding-bottom: 0; /*var(--frame-spacing)*/;
    color: var(--frame-color);
    background: var(--frame-background);
    --frame-spacing: var(--frame-spacing-xs);
}
.frame a[class=""],
.frame a:not([class]) {
    color: var(--frame-link-color);
}
.frame a[class=""]:hover,
.frame a:not([class]):hover {
    color: var(--frame-link-hover-color);
}
@media (min-width: 576px) {
    .frame {
        --frame-spacing: var(--frame-spacing-sm);
    }
}
@media (min-width: 768px) {
    .frame {
        --frame-spacing: var(--frame-spacing-md);
    }
}
@media (min-width: 992px) {
    .frame {
        --frame-spacing: var(--frame-spacing-lg);
    }
}
@media (min-width: 1200px) {
    .frame {
        --frame-spacing: var(--frame-spacing-xl);
    }
}

.frame-inner > *:last-child {
    margin-bottom: 0;
}

.frame-layout-embedded {
    background: transparent;
}
.frame-layout-embedded > .frame-group-container {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 576px) {
    .frame-layout-embedded > .frame-group-container {
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    .frame-layout-embedded > .frame-group-container {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .frame-layout-embedded > .frame-group-container {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .frame-layout-embedded > .frame-group-container {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .frame-layout-embedded > .frame-group-container {
        max-width: 1320px;
    }
}
.frame-layout-embedded > .frame-group-container-full {
    max-width: 100%;
}
.frame-layout-embedded > .frame-group-container-large {
    max-width: var(--frame-width-large);
}
.frame-layout-embedded > .frame-group-container-medium {
    max-width: var(--frame-width-medium);
}
.frame-layout-embedded > .frame-group-container-small {
    max-width: var(--frame-width-small);
}
.frame-layout-embedded > .frame-group-container > .frame-group-inner {
    position: relative;
    border-radius: var(--frame-embedded-border-radius);
    background: var(--frame-background);
    padding: var(--frame-spacing);
}
.frame-layout-embedded > .frame-group-container > .frame-group-inner > .frame-container {
    padding: 0;
}
.frame-layout-embedded > .frame-group-container > .frame-group-inner .frame-backgroundimage-container {
    border-radius: var(--frame-embedded-border-radius);
}

.frame-container {
    position: relative;
    --bs-gutter-x: 40px;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 576px) {
    .frame-container-default {
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    .frame-container-default {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .frame-container-default {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .frame-container-default {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .frame-container-default {
        max-width: 1320px;
    }
}
.frame-container-full {
    max-width: 100%;
}
.frame-container-large {
    max-width: var(--frame-width-large);
}
.frame-container-medium {
    max-width: var(--frame-width-medium);
}
.frame-container-small {
    max-width: var(--frame-width-small);
}

.container .frame-container,
.container .frame-group-container {
    padding-left: 0;
    padding-right: 0;
}

.frame-option-ruler-before {
    border-top: 1px solid rgba(0, 0, 0, 0.125);
    margin-top: 0;
}

.frame-option-ruler-after {
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.frame-option-indent-left .frame-inner {
    margin-left: 0%;
}
@media (min-width: 576px) {
    .frame-option-indent-left .frame-inner {
        margin-left: 5%;
    }
}
@media (min-width: 768px) {
    .frame-option-indent-left .frame-inner {
        margin-left: 10%;
    }
}
@media (min-width: 992px) {
    .frame-option-indent-left .frame-inner {
        margin-left: 15%;
    }
}
@media (min-width: 1200px) {
    .frame-option-indent-left .frame-inner {
        margin-left: 20%;
    }
}
@media (min-width: 1400px) {
    .frame-option-indent-left .frame-inner {
        margin-left: 25%;
    }
}

.frame-option-indent-right .frame-inner {
    margin-right: 0%;
}
@media (min-width: 576px) {
    .frame-option-indent-right .frame-inner {
        margin-right: 5%;
    }
}
@media (min-width: 768px) {
    .frame-option-indent-right .frame-inner {
        margin-right: 10%;
    }
}
@media (min-width: 992px) {
    .frame-option-indent-right .frame-inner {
        margin-right: 15%;
    }
}
@media (min-width: 1200px) {
    .frame-option-indent-right .frame-inner {
        margin-right: 20%;
    }
}
@media (min-width: 1400px) {
    .frame-option-indent-right .frame-inner {
        margin-right: 25%;
    }
}

.frame-size-small {
    --frame-spacing: var(--frame-spacing-small-xs);
}
@media (min-width: 576px) {
    .frame-size-small {
        --frame-spacing: var(--frame-spacing-small-sm);
    }
}
@media (min-width: 768px) {
    .frame-size-small {
        --frame-spacing: var(--frame-spacing-small-md);
    }
}
@media (min-width: 992px) {
    .frame-size-small {
        --frame-spacing: var(--frame-spacing-small-lg);
    }
}
@media (min-width: 1200px) {
    .frame-size-small {
        --frame-spacing: var(--frame-spacing-small-xl);
    }
}

.frame-height-small,
.frame-height-medium,
.frame-height-max {
    display: flex;
}
.frame-height-small .frame-group-container,
.frame-height-small .frame-group-inner,
.frame-height-medium .frame-group-container,
.frame-height-medium .frame-group-inner,
.frame-height-max .frame-group-container,
.frame-height-max .frame-group-inner {
    display: flex;
    flex-grow: 1;
}
.frame-height-small .frame-container,
.frame-height-medium .frame-container,
.frame-height-max .frame-container {
    display: flex;
    align-items: center;
}
.frame-height-small .frame-inner,
.frame-height-medium .frame-inner,
.frame-height-max .frame-inner {
    flex-grow: 1;
}

.frame-height-small {
    min-height: 300px;
}
@media (min-width: 768px) {
    .frame-height-small {
        min-height: 400px;
    }
}

.frame-height-medium {
    min-height: 400px;
}
@media (min-width: 768px) {
    .frame-height-medium {
        min-height: 500px;
    }
}

.container .frame-has-backgroundimage:not(.frame-layout-embedded),
.container .frame-background-dark:not(.frame-layout-embedded),
.container .frame-background-light:not(.frame-layout-embedded),
.container .frame-background-quaternary:not(.frame-layout-embedded),
.container .frame-background-tertiary:not(.frame-layout-embedded),
.container .frame-background-secondary:not(.frame-layout-embedded),
.container .frame-background-primary:not(.frame-layout-embedded) {
    padding-left: var(--frame-spacing);
    padding-right: var(--frame-spacing);
}

.frame-layout-embedded.frame-space-after-none:not(.frame-option-ruler-after) + .frame-layout-embedded.frame-space-before-none:not(.frame-option-ruler-before),
.frame-layout-embedded.frame-space-after-none:not(.frame-option-ruler-after) + .frame-size-default.frame-background-none.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage),
.frame-size-default.frame-background-none.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage) + .frame-layout-embedded.frame-space-before-none:not(.frame-option-ruler-before), .frame-size-default.frame-background-dark.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-dark.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-light.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-light.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-quaternary.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-quaternary.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-tertiary.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-tertiary.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-secondary.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-secondary.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-primary.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-primary.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-none.frame-space-after-none:not(.frame-option-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-none.frame-space-before-none:not(.frame-option-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded) {
    --frame-outer-spacing-before: calc(-1 * var(--frame-spacing));
}

.frame-background-primary {
    --frame-color: #ffffff;
    --frame-background: #00A0E3; /* $theme-main-blue */
    --frame-link-color: #ffffff;
    --frame-link-hover-color: #ffffff;
}

.frame-background-secondary {
    --frame-color: #ffffff;
    --frame-background: #514553;
    --frame-link-color: #ffffff;
    --frame-link-hover-color: #ffffff;
}

.frame-background-tertiary {
    --frame-color: #000000;
    --frame-background: #758c7f;
    --frame-link-color: #000000;
    --frame-link-hover-color: #000000;
}

.frame-background-quaternary {
    --frame-color: #ffffff;
    --frame-background: #2d1e2f;
    --frame-link-color: #ffffff;
    --frame-link-hover-color: #ffffff;
}

.frame-background-light {
    --frame-color: #212121;
    --frame-background: #e9e9e9;
    --frame-link-color: #577760;
    --frame-link-hover-color: rgb(69.6, 95.2, 76.8);
}

.frame-background-dark {
    --frame-color: #ffffff;
    --frame-background: #313131;
    --frame-link-color: #577760;
    --frame-link-hover-color: rgb(69.6, 95.2, 76.8);
}

.frame-background-none {
    --frame-background: transparent;
}

.frame-backgroundimage-container {
    overflow: hidden;
}

.frame-backgroundimage-container,
.frame-backgroundimage {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-position: center;
    background-size: cover;
}

.frame-backgroundimage-fade {
    opacity: 0.125;
}

.frame-backgroundimage-parallax {
    background-attachment: fixed;
    background-repeat: no-repeat;
}
@media (hover: none) {
    .frame-backgroundimage-parallax {
        background-attachment: initial;
    }
}

.frame-backgroundimage-blur {
    filter: blur(10px);
    width: calc(100% + 40px);
    height: calc(100% + 40px);
    top: -20px;
    left: -20px;
}

.frame-backgroundimage-grayscale {
    filter: grayscale(1);
}

.frame-backgroundimage-sepia {
    filter: sepia(1);
}

.frame-backgroundimage-behaviour-pattern {
    background-repeat: repeat;
    background-size: auto;
}

.frame-space-before {
    margin-top: var(--frame-outer-spacing-before, 0);
}

.frame-space-after {
    margin-bottom: var(--frame-outer-spacing-after, 0);
}

.frame-space-before-none {
    --frame-outer-spacing-before: var(--frame-outer-spacing-variant-none);
}

.frame-space-after-none {
    --frame-outer-spacing-after: var(--frame-outer-spacing-variant-none);
}

.frame-space-before-extra-small {
    --frame-outer-spacing-before: var(--frame-outer-spacing-variant-extra-small);
}

.frame-space-after-extra-small {
    --frame-outer-spacing-after: var(--frame-outer-spacing-variant-extra-small);
}

.frame-space-before-small {
    --frame-outer-spacing-before: var(--frame-outer-spacing-variant-small);
}

.frame-space-after-small {
    --frame-outer-spacing-after: var(--frame-outer-spacing-variant-small);
}

.frame-space-before-medium {
    --frame-outer-spacing-before: var(--frame-outer-spacing-variant-medium);
}

.frame-space-after-medium {
    --frame-outer-spacing-after: var(--frame-outer-spacing-variant-medium);
}

.frame-space-before-large {
    --frame-outer-spacing-before: var(--frame-outer-spacing-variant-large);
}

.frame-space-after-large {
    --frame-outer-spacing-after: var(--frame-outer-spacing-variant-large);
}

.frame-space-before-extra-large {
    --frame-outer-spacing-before: var(--frame-outer-spacing-variant-extra-large);
}

.frame-space-after-extra-large {
    --frame-outer-spacing-after: var(--frame-outer-spacing-variant-extra-large);
}

.frame-header {
    margin-bottom: 1rem;
}
.frame-header > *:last-child {
    margin-bottom: 0;
}

.frame-header-permalink {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
    color: inherit;
    opacity: 0.25;
    transition: opacity ease-in-out 0.3s;
    visibility: hidden;
    top: -0.1em;
}
.frame-header-permalink:hover {
    color: inherit;
    text-decoration: none;
    opacity: 0.75;
}

*:hover > .frame-header-permalink {
    visibility: visible;
}
