.stahl-ws-nowrap{
    white-space: nowrap;
}

/* gereric */
.stahl-block{
    display:block;
}
.stahl-inline-block{
    display:inline-block!important;
}
.stahl-absolute{
    position:absolute;
}
.stahl-absolute.--bottomLeft{
    bottom:0;
    left:0;
}
.stahl-background{
    background:var(--vars-background);
}

/* float */
.stahl-float-right{
    float:right;
}
.stahl-float-left{
    float:left;
}

/* filter*/
.stahl-filter-blur{
    filter: var(--vars-filter--blur);
}

/* flex */
.d-flex,
.stahl-flex{
    display:flex;
}
.stahl-inline-flex{
    display:inline-flex;
    flex-direction: row;
}
.stahl-inline-flex.--valign-items-center,
.stahl-flex.--valign-items-center{
    align-items: center;
}
.stahl-inline-flex.--halign-items-right
.stahl-flex.--halign-items-right{
    justify-content: flex-end;
}
.stahl-inline-flex.-gap-extra-small,
.stahl-flex.-gap-extra-small{
    gap: var(--vars-gap-extra-small);
}
.stahl-inline-flex-vertical,
.stahl-flex-vertical{
    flex-direction: column;
}
@media only screen and (max-width: 950px) {
    .stahl-inline-flex-vertical\:\:m-down,
    .stahl-flex-vertical\:\:m-down {
        flex-direction: column;
    }
}
.stahl-childs-block > *{
    display:block;
}

/* grid */
.stahl-grid{
    display:grid;
    grid-gap: var(--vars-gap);
}
.stahl-grid.--grid-gap--small{
    grid-gap: var(--vars-gap-small);
}
.stahl-grid.--grid-gap--medium{
    grid-gap: var(--vars-gap-medium);
}
.stahl-grid.--grid-gap--big{
    grid-gap: var(--vars-gap-big);
}
.stahl-grid.--grid-gap--large{
    grid-gap: var(--vars-gap-large);
}
.stahl-grid.--grid-gap--huge{
    grid-gap: var(--vars-gap-huge);
}
.stahl-grid.-grid-cols-50-50{
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
.stahl-grid.-grid-cols-70-30{
    grid-template-columns: minmax(0,2.35fr) minmax(0,1fr);
}
.stahl-grid.-grid-cols-75-25{
    grid-template-columns: minmax(0,3fr) minmax(0,1fr);
}
.stahl-grid.-grid-cols-66-33{
    grid-template-columns: minmax(0,1.8fr) minmax(0,1fr);
}
.stahl-grid.-grid-cols-33-33-33{
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
}
@media only screen and (max-width: 950px){
    .stahl-grid{
        grid-gap: var(--vars-gap);
    }
    .stahl-grid.-grid-cols-50-50{
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }
    .stahl-grid.-grid-cols-70-30{
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }
    .stahl-grid.-grid-cols-75-25{
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }
    .stahl-grid.-grid-cols-66-33{
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }
    .stahl-grid.-grid-cols-33-33-33{
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }
}
@media only screen and (max-width: 600px){
    .stahl-grid{
        grid-template-columns: 100% !important;
        grid-gap: 0;
    }
}
/* paddings */
.stahl-padding{
    padding: var(--vars-padding,2rem);
}

.stahl-padding-vertical{
    padding-top: var(--vars-padding-vertical,2rem) !important;
    padding-bottom: var(--vars-padding-vertical,2rem) !important;
}
.stahl-padding-vertical-big{
    padding-top: var(--vars-padding-vertical-big,3rem) !important;
    padding-bottom: var(--vars-padding-vertical-big,3rem) !important;
}
.stahl-padding-vertical-bigger{
    padding-top: var(--vars-padding-vertical-bigger,4rem) !important;
    padding-bottom: var(--vars-padding-vertical-bigger,4rem) !important;
}
.stahl-padding-vertical-huge{
    padding-top: var(--vars-padding-vertical-huge,6rem) !important;
    padding-bottom: var(--vars-padding-vertical-huge,6rem) !important;
}

.stahl-padding-horizontal{
    padding-left: var(--vars-padding-horizontal,2rem) !important;
    padding-right: var(--vars-padding-horizontal,2rem) !important;
}


/* text */
.stahl-line-height-1{
    line-height: 1em;
}

/* text-align */
.stahl-text-align-right{
    text-align: right;
}
.stahl-text-align-center{
    text-align: center;
}
.stahl-text-align-justify{
    text-align: justify;
}
.stahl-text-align-left{
    text-align: left;
}

/* margins */
.stahl-margin-bottom-extra-small{
    margin-bottom: var(--vars-margin-extra-small);
}
.stahl-margin-bottom-small{
    margin-bottom: var(--vars-margin-small);
}
.stahl-margin-bottom-medium,
.stahl-margin-bottom{
    margin-bottom: var(--vars-margin-medium);
}
.stahl-margin-bottom-large{
    margin-bottom: var(--vars-margin-large);
}
.stahl-margin-bottom-none{
    margin-bottom: 0 !important;
}
.stahl-margin-bottom-extra-small{
    margin-bottom: var(--vars-margin-extra-small);
}

.stahl-margin-top-small{
    margin-top: var(--vars-margin-small);
}
.stahl-margin-top-medium,
.stahl-margin-top{
    margin-top: var(--vars-margin-medium);
}
.stahl-margin-top-large{
    margin-top: var(--vars-margin-large);
}
.stahl-margin-top-none{
    margin-top: 0 !important;
}
/* width*/
.stahl-width-full{
    width:100%;
}
.stahl-width-75{
    width:75%;
}
.stahl-width-50{
    width:50%;
}
.stahl-width-25{
    width:25%;
}
/* frames width*/
.frame-width-default{
    width: var(--vars-content-width-default,86.875rem);
    max-width:100%;
}
.frame-width-1{
    width: var(--vars-content-width-narrow,60rem);
    max-width:100%;
}
.frame-width-2{
    width: var(--vars-content-width-narrower,40rem);
    max-width:100%;
}

/* correctors */
.stahl-remove-margin--last-element > *:last-child,
.stahl-remove-margin--last-element > *:last-child > *{
    margin-bottom:0 !important;
}
.stahl-reduced-lineheight,
.stahl-reduced-lineheight{
    --vars-text--line-height: 1.1em;
}

/* visibility hide*/
@media only screen and (min-width: 950px) {
    .stahl-hide--large-up {
        display: none !important;
    }
}
@media only screen and (max-width: 1200px) {
    .stahl-hide--large-down {
        display: none !important;
    }
}
@media only screen and (max-width: 950px) {
    .stahl-hide--medium-down {
        display: none !important;
    }
}
@media only screen and (max-width: 600px) {
    .stahl-hide--small {
        display: none !important;
    }
}
/* visibility show*/
.stahl-show--medium-down {
    display: none !important;
}
@media only screen and (max-width: 950px) {
    .stahl-show--medium-down {
        display: block !important;
    }
}



.mb-0\:last-child > *:last-child{
    margin-bottom: 0 !important;
}

.mask-svg {
    background-color: var(--bs-icon-color, #333);
    mask-position: center;
    mark-repeat: no-repeat;
    mask-size: contain;
    width: var(--vars-icon-size, 15px);
    height: var(--vars-icon-size, 15px);
}
.mask-svg:hover{
    background-color: var(--bs-icon-hover-color, var(--bs-icon-color, #333));
}