﻿/* client specific */
.is-style-masked {
    -webkit-clip-path: url(#hex-frame);
    clip-path: url(#hex-frame);
    margin: 0;
}
.is-layout-flow > .is-style-masked {margin-inline: 0; max-width: 65vw}
.is-style-turn-left {transform: rotate(-5deg);}
.is-style-turn-left>* {transform: rotate(5deg);}
.is-style-turn-right {transform: rotate(5deg);}
.is-style-turn-right>* {transform: rotate(-5deg);}

.is-style-turn-smooth {transform: rotate(-5deg); animation: smooth-rotation-left 10s infinite}
.is-style-turn-smooth>* {transform: rotate(5deg); animation: smooth-rotation-right 10s infinite}

.is-style-turn-infinite {transform: rotate(-5deg); animation: infinite-rotation 10s linear infinite backwards;}
.is-style-turn-infinite>* {transform: rotate(5deg); animation: infinite-rotation 10s linear infinite reverse backwards}

@keyframes smooth-rotation-left {
    0% {transform: rotate(-5deg);}
    50% {transform: rotate(5deg);}
    100% {transform: rotate(-5deg);}
}
@keyframes smooth-rotation-right {
    0% {transform: rotate(5deg);}
    50% {transform: rotate(-5deg);}
    100% {transform: rotate(5deg);}
}

@keyframes infinite-rotation {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}

.is-style-offset-top {
    margin-top: calc(-2 * var(--wp--preset--spacing--40)) !important;
}


/* client specific */


/* plugin specific */

/* plugin specific */

:root{
    --root--preset--color--background:var(--wp--preset--color--background);
    --root--preset--color--textcolor:var(--wp--preset--color--textcolor); 
    --root--preset--color--white:var(--wp--preset--color--white);
    --root--preset--color--primary:var(--wp--preset--color--primary);
    --root--preset--color--secondary:var(--wp--preset--color--secondary);
    --root--preset--color--tertiary:var(--wp--preset--color--tertiary);
    --root--custom--input-color--background:var(--wp--custom--input-color--background);
    --root--custom--input-color--color:var(--wp--custom--input-color--color);
}
.is-layout-flow > p {
    margin-block-start: 1rem;
    margin-block-end: 0;
}

img, svg {max-width: 100%; height: auto;}
.wp-block-image img[style*="height:"] {max-height: fit-content; object-fit: contain !important;} /*wp bug: disproportionately scaled if max-width<100%*/


.max-width-50 {max-width: 50%; height: auto;}
.max-width-75 {max-width: 75%; height: auto;}
.max-width-66 {max-width: 66.666%; height: auto;}

#content li { margin-bottom: 0.5em;}
p + p {margin-block-start: 1em }

:where(h1,h2,h3)>.has-small-font-size {line-height: 1.5em; display: block; margin-bottom: 0.5em;}

.wp-block-quote { position:relative; /*border: 2px solid #524f43;*/ padding: 2em; margin-inline-start: 0; margin-inline-end: 0;}
.wp-block-quote::before { content:"„"; font-size:4rem; color: currentColor; position: absolute; left: 0; top: -3rem; } /*var(--wp--preset--color--secondary)*/
.wp-block-quote::after { content:"“"; font-size:4rem; color: currentColor; position: absolute; right: 0; bottom: -3rem; }

/*.has-secondary-background-color .wp-block-quote::before, .has-secondary-background-color .wp-block-quote::after { color: var(--wp--preset--color--white);}*/

.shadow-box{
    background-color: var(--wp--preset--color--background);
    box-shadow: 0 0.25em 0.75em rgba(0,0,0,0.25);
    /*margin-block-end: 2em !important;*/
}
.shadow-box:not(.wp-block-media-text.is-image-fill-element) {padding: 1.5em;}


.clipping-text{
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}


.has-primary-background-color .components-placeholder.components-placeholder, .has-primary-gradient-background .components-placeholder.components-placeholder, .has-primary-gradient-background .components-placeholder.components-placeholder input, .has-primary-gradient-background .components-placeholder.components-placeholder textarea { background-color: inherit; }

.has-primary-background-color > *, .has-primary-gradient-background > *{
    /*--wp--preset--color--white: var(--root--preset--color--primary);
    --wp--preset--color--primary: var(--root--preset--color--white);*/
    --wp--preset--color--textcolor: var(--root--preset--color--white);
    color: var(--wp--preset--color--textcolor);
}

.has-secondary-background-color a:hover .baseicon.bg, .has-secondary-background-color button:hover .baseicon.bg {
    background-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--primary);
}
/*

.has-textcolor-background-color *:not(.has-text-color) {color:var(--wp--preset--color--white);}
.has-textcolor-background-color *.has-primary-color{color: var(--wp--preset--color--secondary) !important}

.has-primary-background-color > *, .has-primary-gradient-background > *{
    --wp--preset--color--white: var(--root--preset--color--primary);
    --wp--preset--color--primary: var(--root--preset--color--white);
    --wp--preset--color--textcolor: var(--root--preset--color--white);
    color: var(--wp--preset--color--textcolor);
}

.has-primary-background-color .wp-element-button:not(:hover):not(:focus):not(.has-text-color) {color:var(--wp--preset--color--black);}
.has-primary-background-color .wp-element-button:not(:hover):not(:focus):not(.has-background) {background-color: var(--wp--preset--color--white); }
.has-primary-background-color .wp-element-button:hover:not(.has-background) {background-color: var(--wp--preset--color--black) !important; }

.has-primary-gradient-background .wp-element-button:not(:hover):not(:focus):not(.has-text-color) {color:var(--wp--preset--color--black);}
.has-primary-gradient-background .wp-element-button:not(:hover):not(:focus):not(.has-background) {background-color: var(--wp--preset--color--white); }



.has-secondary-background-color > * {--wp--preset--color--secondary: var(--wp--preset--color--tertiary);}
.has-secondary-background-color *:not(.has-text-color):not(.wp-element-button) {color: var(--wp--preset--color--white);}

.has-tertiary-background-color > * {--wp--preset--color--tertiary: var(--wp--preset--color--secondary);}
.has-tertiary-background-color *:not(.has-text-color):not(.wp-element-button) {color: var(--wp--preset--color--black);}
.has-tertiary-dark-background-color *:not(.has-text-color):not(.wp-element-button) {color: var(--wp--preset--color--white);}

.has-dark-grey-background-color > * {--wp--preset--color--dark-grey: var(--wp--preset--color--secondary);}
.has-dark-grey-background-color *:not(.has-text-color):not(.wp-element-button) {color: var(--wp--preset--color--white);}

.has-black-background-color *:not(.has-text-color):not(.wp-element-button) {color: var(--wp--preset--color--white);}
*/
/*.has-secondary-background-color .wp-element-button:not(:hover):not(:focus):not(.has-text-color) {color: var(--wp--preset--color--textcolor);}
.has-secondary-background-color .wp-element-button:not(:hover):not(:focus):not(.has-background) {background-color: var(--wp--preset--color--white); }
.has-secondary-background-color .wp-element-button:hover:not(:focus):not(.has-text-color) {color: var(--wp--preset--color--white);}
.has-secondary-background-color .wp-element-button:hover:not(:focus):not(.has-background) {background-color: var(--wp--preset--color--black); }*/

.wFS, .w100 {width: 100%}
.w50 {width: 50%}

.align-right {text-align: right;}
.align-center {text-align: center;}
.align-left {text-align: left;}

.bold {font-weight: bold}
.regular {font-weight: normal}
.uppercase {text-transform: uppercase;}



 /*
 * AddOns
 */

.columns-1{--cols:1}
.columns-2{--cols:2}
.columns-3{--cols:3}
.columns-4{--cols:4}

@media (max-width:960px){.columns-4{--cols:3} }
@media (max-width:768px){.columns-3{--cols:2} .columns-4{--cols:2}}
@media (max-width:600px){.columns-3{--cols:1}}
@media (max-width:480px){.columns-4{--cols:1}}

.is-layout-flex.is-grid, .is-flex-container.is-grid, .is-grid>.is-flex-container {
    display: grid;
    --gap:var(--wp--style--block-gap);
    --gridwidth:100%;
    grid-template-columns: repeat(var(--cols),1fr);
    grid-auto-rows: minmax( min-content,calc( ( var(--gridwidth) - ( ( var(--cols) - 1 ) * var(--gap) ) ) / var(--cols) ) );
    -moz-column-gap: var(--gap);
    -webkit-column-gap: var(--gap);
    column-gap: var(--gap);
    row-gap: var(--gap);
    grid-column-gap: var(--gap);
    grid-row-gap: var(--gap);
    gap: var(--gap);
    justify-items: stretch;
}
.is-layout-flex.is-grid>*, .is-flex-container.is-grid>*, .is-grid>.is-flex-container>* {width: 100% !important; }
.is-layout-flex.is-grid>*>*, .is-flex-container.is-grid>*>*, .is-grid>.is-flex-container>*>* {height: 100%; display: flex; flex-direction: column; justify-content: space-between;}


.has-x-large-font-size {line-height: 1.25em;}
.has-xx-large-font-size {line-height: 1.125em;}
.has-xxx-large-font-size {line-height: 1.125em;}


/*
 * Base Icons
 */
.baseicon, [class^="baseicon-"],[class*=" baseicon-"] {
    display: inline-block;
    vertical-align: middle;
    width: 2em;
    height: 2em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.baseicon.bg{width: 2em; height: 2em; background-color: var(--wp--preset--color--primary); color:var(--wp--preset--color--white);}
a:hover .baseicon.bg, button:hover .baseicon.bg{background-color: var(--wp--preset--color--secondary); color: var(--wp--preset--color--white);}
.baseicon.round{-webkit-border-radius: 50%; -moz-border-radius:50%; border-radius: 50%;}

.iconset{ padding-left: 2.5em; position: relative; display: inline-block; margin: 0.5em 1em 0.51em 0}
.iconset .baseicon { position: absolute; left: -0.15em; top: -0.25em;}

.baseicon.size-s{font-size: 0.8rem}
.baseicon.size-m{font-size: 1rem}
.baseicon.size-l{font-size: 1.5rem}
.baseicon.size-xl{font-size: 2.25rem}
.baseicon.size-xxl{font-size: 3rem}

.baseicon.align-left{text-align:left}
.baseicon.align-center{position: relative; left: 50%; transform: translateX(-50%);}
.baseicon.align-right{position: relative; left: 100%; transform: translateX(-100%);}
/*
 * Gutenberg block changes
 */

p.has-small-font-size {
    margin-block-start: 0.5em;
    margin-block-end: 0.5em;
}
p.has-small-font-size + .wp-block-separator {
    border-top: 1.5px solid;
    margin-block-start: 0.25em;
    margin-block-end: 0.25em;
}

main>.has-global-padding>.has-background{
    padding-right: var(--wp--style--root--padding-right);
    padding-left: var(--wp--style--root--padding-left);
}

.justify-height>.wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.wp-block-file .iconset {padding-left: 2em;}
.wp-block-file:not(.wp-element-button) { font-size:var(--wp--preset--font-size--medium); line-height:1.5em; }
.wp-block-file a { text-decoration:none; color:var(--wp--preset--color--primary)} .wp-block-file a:hover { text-decoration:none; color:var(--wp--preset--color--secondary)}

.wp-block-group>.wp-block-media-text>.wp-block-media-text__content {padding-left: 0; padding-right:var(--wp--preset--spacing--40)}
.wp-block-group>.wp-block-media-text>figure+.wp-block-media-text__content {padding-left: var(--wp--preset--spacing--40); padding-right: 0}

.wp-block-media-text.has-media-on-the-right:not(.has-background) .wp-block-media-text__content { padding-left: 0;}
.wp-block-media-text.has-media-on-the-left:not(.has-background) .wp-block-media-text__content { padding-right: 0;}

@media (min-width: 782px){
    body .is-layout-flex.reverse{-webkit-box-orient: horizontal;-webkit-box-direction: reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;}
}
@media (min-width: 601px){
    body .wp-block-media-text.reverse { direction: rtl; }
}
@media (max-width: 600px){
    body .wp-block-media-text.is-stacked-on-mobile.reverse .wp-block-media-text__media{grid-row: 2;}
    body .wp-block-media-text.is-stacked-on-mobile.reverse .wp-block-media-text__content {grid-row: 1;}
}
/*
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent none;
    background-color: transparent;
    border-radius: 9999px;
    border-color: currentColor;
    border-width: 1.5px;
    border-style: solid;
    color: var(--wp--preset--color--primary);
}*/
.wp-block-button.is-style-outline a:hover { background-color:var(--wp--preset--color--primary); border-color:var(--wp--preset--color--primary); color: var(--root--preset--color--white);border-color:currentColor;}

.wp-block-buttons.is-style-outline { border: 1.5px solid var(--wp--preset--color--grey); padding: 0.2em; display: inline-block; position: relative; left: 50%; transform: translateX(-50%); text-align:center }
.wp-block-buttons.is-style-outline .wp-block-button.is-style-outline { border-color: transparent}
.wp-block-buttons.is-style-outline :where(.wp-element-button, .wp-block-button__link):not(:hover) { border-color: transparent; background-color: transparent; color: var(--wp--preset--color--textcolor)}
.wp-block-buttons.is-style-outline :where(.wp-element-button, .wp-block-button__link):hover { background-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--white)}
/*
body .is-layout-constrained > * + p, body .is-layout-flow > * + p{
    margin-block-start: 1rem;
}


.wp-element-button .baseicon { margin: -0.5rem;}

.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container {
    margin-left: max(0px,calc((100% - var(--wp--style--global--wide-size))/2));
}

.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container {
    margin-right: max(0px,calc((100% - var(--wp--style--global--wide-size))/2));
}

@media (max-width:768px){
    .wp-block-cover.mobile-break{display: block;}
    .wp-block-cover.mobile-break .wp-block-cover__image-background {position: relative; display: block;}
    .wp-block-cover.mobile-break .wp-block-cover__background {display: none}
    .wp-block-cover.mobile-break.has-custom-content-position .wp-block-cover__inner-container {max-width: 100%}
}

.wp-block-columns.is-layout-flex { gap: 3rem;}

.wp-block-media-text .wp-block-media-text__content{padding: 0 15%}
*/

pre.wp-block-verse {
    position:relative; margin-block-start: 1em; padding-left: 1.5em; padding-right: 1.5em; font-style: italic; overflow: initial;}
pre.wp-block-verse::before{ content:"„"; position:absolute; color:var(--wp--preset--color--secondary); left:0; font-size:1.5em; bottom:-0.15em}
pre.wp-block-verse::after{ content:"“"; position:absolute; color:var(--wp--preset--color--secondary); right:0.5em; font-size:1.5em; top:-0.15em}

@media (max-width: 781px) {
    :root :where(.wp-block-columns-is-layout-flex) {gap: 1rem}
}

/*
 * Custom Blocks
 */
.flex-wrap-left{
-webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; 
}
[data-type="cpt-block/baseicon"]{display: inline-block;}
[data-type="cpt-block/baseicon"] .components-checkbox-control {
    margin: 0.25em;
    background-color: lightgrey;
    padding: 0.25em;
}
[data-type="cpt-block/baseicon"] .components-panel__body{display: none}
[data-type="cpt-block/baseicon"].is-selected .components-panel__body{display: inline-block; min-width: 80px}

label.hint{font-size: 11px; line-height: 1.3em; color: #666}

.wp-block-cover.bg-multiply .wp-block-cover__background.has-background-dim {mix-blend-mode: multiply;}
.wp-block-cover.bg-darken .wp-block-cover__background.has-background-dim {mix-blend-mode: darken;}
.wp-block-cover.bg-hard-light .wp-block-cover__background.has-background-dim {mix-blend-mode: hard-light;}
.wp-block-cover.bg-soft-light .wp-block-cover__background.has-background-dim {mix-blend-mode: soft-light;}
.wp-block-cover.bg-color-dodge .wp-block-cover__background.has-background-dim {mix-blend-mode: color-dodge;}
.wp-block-cover.bg-color .wp-block-cover__background.has-background-dim {mix-blend-mode: color;}
.wp-block-cover.bg-overlay .wp-block-cover__background.has-background-dim {mix-blend-mode: overlay;}


/*
 * Block Styles   less variations in theme.json = less inline-styles!
 */



/*@counter-style checkmark {
  system: cyclic;
  symbols: "\2713";
  suffix: " ";
}
.wp-block-list.is-style-checkmark-list {
  list-style: checkmark;
}*/

.wp-block-list.is-style-checkmark-list {padding-left: 0; padding-inline-start:0;}
.wp-block-list.is-style-checkmark-list li {
  list-style: none; position: relative; padding-left: 2em;
}
.wp-block-list.is-style-checkmark-list li::before {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 1em;
  content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iRWJlbmVfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNTAgMTUwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNTAgMTUwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxjaXJjbGUgZmlsbD0iI0YyOEQwMCIgY3g9Ijc1IiBjeT0iNzUiIHI9Ijc1Ii8+DQo8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTM2LjM5LDMxLjk0TDczLjY4LDk1LjI5TDQxLjQ3LDYyLjY1TDMwLjg4LDczLjY4bDQzLjI0LDQzLjY4bDcwLjA4LTcxLjMyDQoJQzE0Mi4xLDQxLjAzLDEzOS40NywzNi4zMiwxMzYuMzksMzEuOTR6Ii8+DQo8L3N2Zz4NCg==');
}

.wp-block-list.is-style-checkmark-list.align-center {text-align: center;}
.wp-block-list.is-style-checkmark-list.align-center li {list-style: none; position: relative; padding:2em 1em 1em 1em; display: inline-block;}
.wp-block-list.is-style-checkmark-list.align-center li::before { left: calc(50% - 0.75em); width: 1.5em; top:0;}

.wp-block-list.is-style-arrow-list {padding-left: 0; padding-inline-start:0;}
.wp-block-list.is-style-arrow-list li {
  list-style: none; position: relative; padding-left: 2em;
}
.wp-block-list.is-style-arrow-list li::before {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  content: '';
}

/*
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent none;
    background-color: transparent;
    border-radius: 9999px;
    border-color: currentColor;
    border-width: 1.5px;
    border-style: solid;
    color: var(--wp--preset--color--primary);
}*/

.wp-block-buttons.is-style-outline { border: 1.5px solid var(--wp--preset--color--grey); padding: 0.2em; display: inline-block; position: relative; left: 50%; transform: translateX(-50%); text-align:center }
.wp-block-buttons.is-style-outline .wp-block-button.is-style-outline { border-color: transparent}
.wp-block-buttons.is-style-outline :where(.wp-element-button, .wp-block-button__link):not(:hover) { border-color: transparent; background-color: transparent; color: var(--wp--preset--color--textcolor)}
.wp-block-buttons.is-style-outline :where(.wp-element-button, .wp-block-button__link):hover { background-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--white)}

.wp-block-button.is-style-outline .wp-block-button__link:hover { 
    background-color:var(--wp--preset--color--primary); 
    border-color:var(--wp--preset--color--primary); 
    color: var(--root--preset--color--white);
}

.wp-block-button.is-style-outline .wp-block-button__link{
    padding:calc(0.5em - 1px) calc(1.2em - 1px);
    border:2px solid var(--wp--preset--color--primary);
    border-radius:1.5em;
    color: var(--wp--preset--color--textcolor);
    background-color:transparent;
}

.wp-block-button.is-style-fill .wp-block-button__link{
    background-color: var(--wp--preset--color--cta);
    color:var(--wp--preset--color--white);
}