.px-cvb-gema{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    flex-direction:column;
    font-size:initial;
    background:none;
    padding:0;
    gap:1px;
}
px-cvb-gema-box{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
    border-bottom:1px solid #999;
    padding:0 0 15px 0;
    margin:0 0 15px 0;
}
px-cvb-gema-line{
    display:flex;
    gap:1px;
    padding:0;
    position:relative;
    width:100%;
    flex-direction:column;
}
px-cvb-gema-line div{
    display:flex;
    gap:10px;
    position:relative;
    width:100%;
    flex-direction:row;
    justify-content:space-between!important;
}
px-cvb-gema-line div label{
    justify-content:flex-start;
}
px-cvb-gema-row,
px-cvb-gema-line{
    justify-content:space-between;
}
px-cvb-gema-row,
.px-cvb-gema label{
    display:flex;
    align-items:center;
    transition:0.5s;
    font-size:initial;
    gap:10px;
    flex-direction:row;
    min-height:auto;
    font-weight:400;
}
px-cvb-gema-line div{
    display:grid;
    grid-template-columns:170px repeat(4, 1fr) 100px;
    grid-template-rows:repeat(2, 1fr);
    grid-column-gap:0;
    grid-row-gap:1px;
}
.div1 { grid-area: 1 / 1 / 2 / 2}
.div2 { grid-area: 1 / 2 / 2 / 3}
.div3 { grid-area: 1 / 3 / 2 / 4;padding:0 10px; }
.div4 { grid-area: 1 / 4 / 2 / 5}
.div5 { grid-area: 1 / 5 / 2 / 6;padding:0 10px; }
.div6 { grid-area: 1 / 6 / 2 / 7}
.div7 { grid-area: 2 / 1 / 3 / 2}
.div8 { grid-area: 2 / 2 / 3 / 5}
.div9 { grid-area: 2 / 5 / 3 / 6;padding:0 10px; }
.div10 { grid-area: 2 / 6 / 3 / 7}
px-cvb-gema-line div p{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    margin:0!important;
    gap:5px;
}

.px-cvb-gema label b,
dialog.px-dialog .px-cvb-gema label > p,
.px-cvb-gema label p{
    white-space:nowrap;
    height:100%;
    margin:0!important;
    padding:0;
    font-weight:400!important;
    display:flex;
    align-items:center;
    position:relative!important;
    width:auto;
    top:auto;
    left:auto;
    gap:0;
    justify-content:flex-start;
}
.px-cvb-gema px-cvb-gema-line b,
.px-cvb-gema px-cvb-gema-line p{
    color:#444;
}
.px-cvb-gema i,
.px-cvb-gema i{
    color:#F00;
    font-style:normal;
    margin-left:5px;
}
.px-cvb-gema label p{
    min-width:160px;
}
.px-cvb-gema input[type="file"]{
    width:100%;
}
.px-cvb-gema section{
    display:flex;
    flex-direction:column;
    gap:1px;
    width:100%;
}
.gema-solo label,
.px-cvb-gema section label{
    display:flex;
    flex-direction:row;
    gap:10px;
    width:100%;
    justify-content:space-between;
    align-items:center;
    font-size:16px;
    font-weight:400;
    color:#444;
}
.px-cvb-gema section label span{
    display:flex;
    width:calc(100% - 170px);
    align-items:center;
    background:rgba(255,255,255,0.4);
    padding:0 10px;
    color:#444;
    min-height:40px;
}
.gema-solo select{
    width:calc(100% - 170px);
}
.px-cvb-gema.data_checked .beleg-ok{
    background:#090!important;
    color:#FFF!important;
}
.px-cvb-gema.data_checked .beleg-fail{
    background:#C00!important;
    color:#FFF!important;
}
.px-cvb-gema button-row button{
    width:250px;
    align-self:flex-start;
}
.px-cvb-gema hr{
    height:15px;
    width:100%;
    overflow:hidden;
    display:block;
    clear:both;
    float:none;
    border:none;
}
v-line{
    color:#FFF;
    font-weight:500;
    font-size:16px;
    display:flex;
    background:#000;
    padding:0 10px;
    z-index:1;
    position:relative;
    margin:0 0 10px 0;
    height:30px;
    align-items:center;
}
v-line div{
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    width:30px!important;
    height:30px!important;
    background:var(--e-global-color-primary)  url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23FFF" d="M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"/></svg>') no-repeat center;
    background-size:16px;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer;
    font-size:30px!important;
    font-weight:500!important;
}
v-line div:hover{
    background-color:var(--e-global-color-secondary)!important;
}
px-cvb-gema-line:first-of-type v-line div{
    background:var(--e-global-color-primary);
}
.px-cvb-gema aside{
    display:block;
    clear:both;
    margin:10px 0 0 0;
    color:#F00;
    width:100%;
}
.px-cvb-gema b{
    display:flex;
    margin:0 5px;
    color:#FFF!important;
    background:#090;
    border-radius:50%;
    width:20px;
    height:20px;
    align-items:center;
    justify-content:center;
    position:relative;
    font-weight:700;
    cursor:pointer;
}
.px-cvb-gema b::after{
    content:'Wenn zu diesem Konzert bereits eine beim CVB beantragte Förderung existiert – z.B. Konzertförderung, Projektförderung, Konzertreise, Chorfreizeit – tragen Sie bitte hier die entsprechende Fördernummer ein.';
    color:#FFF;
    background:#090;
    width:290px;
    white-space:wrap;
    height:fit-content;
    padding:10px;
    position:absolute;
    right:0;
    bottom:22px;
    z-index:9;
    display:none;
    font-weight:400;
    line-height:22px;
    font-size:16px;
}
.px-cvb-gema b:hover::after{
    display:flex;
}
gema-message-box{
    width:100%;
    margin:0 0 10px 0;
}
gema-message-box:empty{
    margin:0;
}
.px-cvb-gema.checked input:invalid, .px-cvb-gema.checked select:invalid{
    background-color:#FBB!important;
}
@media only screen and (max-width:1080px)
{
    section label, px-cvb-gema-line{gap:0!important;flex-direction:column!important}
    label, px-cvb-gema-line > div{flex-direction:column!important;gap:5px!important;align-items:flex-start!important;justify-content:flex-start!important}
    label p, label b, label span, label input, label select{width:100%!important}
    label p, label b, label span{align-items:flex-start}
    px-cvb-gema-line div{display:flex}
    px-cvb-gema-line div p{padding:0!important}
}