:root {
    --globlocks-min-container-margin: 0.5em;
    --globlocks-container-margin: 15%;
    --globlocks-text-color: #333333;
    --globlocks-primary-hue: 254.3;
    --globlocks-primary-saturation: 50.4%;
    --globlocks-primary-lightness: 44.5%;
    --globlocks-primary-color: hsl(var(--globlocks-primary-hue), var(--globlocks-primary-saturation), var(--globlocks-primary-lightness));
    --globlocks-primary-color-hover: hsl(var(--globlocks-primary-hue), var(--globlocks-primary-saturation), calc(var(--globlocks-primary-lightness) + 10%));
    --globlocks-primary-color-active: hsl(var(--globlocks-primary-hue), var(--globlocks-primary-saturation), calc(var(--globlocks-primary-lightness) - 10%));
    --globlocks-danger-hue: 0;
    --globlocks-danger-saturation: 100%;
    --globlocks-danger-lightness: 50%;
    --globlocks-danger-button: #ffffff;
    --globlocks-danger-button-bg: hsl(var(--globlocks-danger-hue), calc(var(--globlocks-danger-saturation) - 10%), calc(var(--globlocks-danger-lightness) + 10%));
    
}

.globlocks-edit-icon {
    margin-right: 0.25em;
    display: inline-block;
}


.globlocks-styles {
    color: var(--globlocks-text-color);
    font-family: 'Arial', sans-serif;
    font-size: 1em;
    line-height: 1.3;
    background-color: #f5f5f5;

    & a, a > * {
        transition: color 0.3s ease;
        text-decoration: none;
        color: var(--globlocks-primary-color);
    }
    & a:hover, a:hover > * {
        color: var(--globlocks-primary-color-hover);
    }
    & a:active, a.active, a:active > *, a.active > * {
        color: var(--globlocks-primary-color-active);
    }
    & h1, h2, h3, h4, h5, h6 {
        margin-top: 0.5em;
        margin-bottom: 0.5em;
    }
    & h1 {
        font-size: 2.5em;
    }
    & h2 {
        font-size: 2em;
    }
    & h3 {
        font-size: 1.75em;
    }
    & h4 {
        font-size: 1.5em;
    }
    & h5 {
        font-size: 1.25em;
    }
    & h6 {
        font-size: 1em;
    }

    & .globlocks-container-margin {
        margin-left: var(--globlocks-container-margin);
        margin-right: var(--globlocks-container-margin);
    }
    & .globlocks-container-padding {
        padding-left: var(--globlocks-container-margin);
        padding-right: var(--globlocks-container-margin);
    }

    & .globlocks-img-full {
        max-width: 100%;
        height: auto;
    }
    & .globlocks-img-large {
        width: 100%;
        max-width: 800px;
        height: auto;
    }
    & .globlocks-img-medium {
        width: 100%;
        max-width: 500px;
        height: auto;
    }
    & .globlocks-img-small {
        width: 100%;
        max-width: 250px;
        height: auto;
    }

    & img.left {
        float: left;
        margin: 0 1em 1em 0;
    }
    & img.right {
        float: right;
        margin: 0 0 1em 1em;
    }
    & img.center {
        display: block;
        margin: 0 auto;
    }
    & img.full-width {
        width: 100%;
        height: auto;
    
    }
}

@media (max-width: 576px) {
    .globlocks-styles.globlocks-container-margin,
    .globlocks-styles .globlocks-container-margin {
        margin-left: var(--globlocks-min-container-margin);
        margin-right: var(--globlocks-min-container-margin);
    }
    .globlocks-styles.globlocks-container-padding,
    .globlocks-styles .globlocks-container-padding {
        padding-left: var(--globlocks-min-container-margin);
        padding-right: var(--globlocks-min-container-margin);
    }
}
@media (min-width: 576px) {
    .globlocks-styles.globlocks-container-margin,
    .globlocks-styles .globlocks-container-margin {
        margin-left: var(--globlocks-min-container-margin);
        margin-right: var(--globlocks-min-container-margin);
    }
    .globlocks-styles.globlocks-container-padding,
    .globlocks-styles .globlocks-container-padding {
        padding-left: var(--globlocks-min-container-margin);
        padding-right: var(--globlocks-min-container-margin);
    }
}
@media (min-width: 768px) {
    .globlocks-styles.globlocks-container-margin,
    .globlocks-styles .globlocks-container-margin.globlocks-container-margin {
        margin-left: calc(var(--globlocks-container-margin) / 2.25);
        margin-right: calc(var(--globlocks-container-margin) / 2.25);
    }
    .globlocks-styles.globlocks-container-padding,
    .globlocks-styles .globlocks-container-padding.globlocks-container-padding {
        padding-left: calc(var(--globlocks-container-margin) / 2.25);
        padding-right: calc(var(--globlocks-container-margin) / 2.25);
    }
}
@media (min-width: 992px) {
    .globlocks-styles.globlocks-container-margin,
    .globlocks-styles .globlocks-container-margin.globlocks-container-margin {
        margin-left: calc(var(--globlocks-container-margin) / 1.75);
        margin-right: calc(var(--globlocks-container-margin) / 1.75);
    }
    .globlocks-styles.globlocks-container-padding,
    .globlocks-styles .globlocks-container-padding.globlocks-container-padding {
        padding-left: calc(var(--globlocks-container-margin) / 1.75);
        padding-right: calc(var(--globlocks-container-margin) / 1.75);
    }
}
@media (min-width: 1200px) {
    .globlocks-styles.globlocks-container-margin,
    .globlocks-styles .globlocks-container-margin.globlocks-container-margin {
        margin-left: calc(var(--globlocks-container-margin) / 1.25);
        margin-right: calc(var(--globlocks-container-margin) / 1.25);
    }
    .globlocks-styles.globlocks-container-padding,
    .globlocks-styles .globlocks-container-padding.globlocks-container-padding {
        padding-left: calc(var(--globlocks-container-margin) / 1.25);
        padding-right: calc(var(--globlocks-container-margin) / 1.25);
    }
}
@media (min-width: 1400px) {
    .globlocks-styles.globlocks-container-margin,
    .globlocks-styles .globlocks-container-margin.globlocks-container-margin {
        margin-left: var(--globlocks-container-margin);
        margin-right: var(--globlocks-container-margin);
    }
    .globlocks-styles.globlocks-container-padding,
    .globlocks-styles .globlocks-container-padding.globlocks-container-padding {
        padding-left: var(--globlocks-container-margin);
        padding-right: var(--globlocks-container-margin);
    }
}


.font-weight-bold {
    font-weight: bold !important;
}
.font-style-italic {
    font-style: italic !important;
}
.text-decoration-underline {
    text-decoration: underline !important;
}
.text-decoration-line-through {
    text-decoration: line-through !important;
}
.text-decoration-underline.text-decoration-line-through {
    text-decoration: underline line-through !important;
}
.left,
.text-left,
.text-align-left {
    text-align: left !important;
}
.center,
.text-center,
.text-align-center {
    text-align: center !important;
}
.right,
.text-right,
.text-align-right {
    text-align: right !important;
}

/* blocks/components/image_text */
.globlocks-block.globlocks-image-text {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    gap: 2em;
}
.globlocks-block.globlocks-image-text > * {
    flex: 1;
}
.globlocks-block.globlocks-image-text .globlocks-image-text-image img {
    flex: 1;
    max-width: 100%;
}

/* blocks/bases/visibility */
.globlocks-toggleable-block {
    position: relative;
    padding-top: 3em;
    padding-bottom: 3em;
    background-color: var(--globlocks-danger-button-bg);
    color: var(--globlocks-danger-button);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5em;

}
.globlocks-toggleable-block > h2 {
    font-size: 1.5em;
}

.globlocks-toggleable-block > h3 {
    font-size: 1.25em;
}

.globlocks-toggleable-block > p {

}

.globlocks-toggleable-block > .globlocks-toggleable-block-btn {
    padding: 0.25em 0.5em;
    font-size: small;
    background-color: var(--globlocks-danger-button);
    color: var(--globlocks-danger-button-bg);
    border-radius: 3px;
    cursor: pointer;
    width: fit-content;
}

/* components/menus/flat */
.globlocks-menu {
    --globlocks-items: var(--globlocks-item-count);
}
.globlocks-menu-horizontal {

}
.globlocks-menu-horizontal .globlocks-menu__items {
    display: flex;
}
.globlocks-menu-vertical {

}
.globlocks-menu-vertical .globlocks-menu__items {
    display: flex;
    flex-direction: column;
    gap: 1em;
}
.globlocks-menu-item__link {

}
.globlocks-menu-item__link__image {

}
.globlocks-menu-item__link__image img {
    width: 100%;
    height: 10rem;
    object-fit: cover;
}
.globlocks-menu-item__link__title {
    text-decoration: none;
}

