/******************** Allgemein ********************/
:root{
	--std-gap: 1rem;
	--small-gap: 0.5rem;
	--small-inline-gap: 8px;
	--seperation-line: 1px solid #dddddd;
	--std-blue: #002771;
	--std-blue-hover: #596f99;
	--std-black: #272727;
	--std-beige: #E3E2D8;
	--std-white: #fff;
	--std-white-hover: #b7b7b7;
	--std-pf-bc-striped: #f9f9f9;
	--std-red: #800F00;
	--ext-gruppe-col: var(--std-red);
	--ext-gruppe-col-hover: #A45C53;
	--inaktiv: #ff8080;
}

html, body {
	margin: 0;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	color: var(--std-black);
	line-height: 1.4rem;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

header {
	margin-top: var(--small-gap);
}

main {
    padding: 0 var(--small-gap) 0 var(--small-gap);
}

footer {
    margin-top: auto;
}

label {
	padding-right: 0.75rem;
}

a {
    color: #333;
}

.vor-subtitle {
	font-weight: bold;
	font-size: 1.25rem;
}

.vor-subtitle2 {
    font-weight: bold;
}

.vor-col-no-wrap {
	max-width: 100%;
	white-space: nowrap;
}

.vor-wrap {
	overflow-wrap: anywhere;
}

.vor-img-text {
    vertical-align: middle;
}

.vor-aktion-img {
    display: inline-block;
    vertical-align: middle;
}

.vor-tooltip-img-info {
	border-radius: 11px;
}

.vor-aktion-img:hover,
.vor-tooltip-img-info:hover {
    box-shadow: 0 0 8px 5px var(--std-blue);
}

.vor-aktion-img > img {
	padding: 4px;
    margin-bottom: -5px;
}

.vor-info {
	color: green;
	font-weight: bold;
}

.vor-error {
	color: red;
	font-weight: bold;
}

.vor-hinweis {
	color: gray;
	font-style: italic;
}

.vor-bold {
	font-weight: bold;
}

.vor-underline {
	text-decoration: underline;
}

.vor-break {
	word-break: break-word;
}

a.vor-revert-pf-link {
	color: revert;
}

.vor-datalist ul {
	margin: 5px;
	padding-left: 20px;
}

.vor-datalist > div {
	border: none;
	background: transparent;
}

table.vor-table-no-header thead {
	display: none;
}

table.vor-table-transparent tbody.ui-widget-content, table.vor-table-transparent tr.ui-widget-content
	{
	background-color: transparent;
}

.vor-text-small {
	font-size: 0.75rem;
}

.vor-table-highlight .ui-widget-content.ui-state-highlight {
	background-color: #bbb;
	background-image: revert;
	color: revert;
}

.vor-text-initiator-h {
	font-weight: bold;
}

.vor-inaktiv {
	background-color: var(--inaktiv);
}

.ui-datatable.vor-table-responsive table {
	width: auto;
}

.ui-datatable.vor-table-responsive {
    display: grid;
    justify-content: left;
}

.vor-con-big-flex {
	display: flex;
    flex-wrap: wrap;
    gap: var(--std-gap);
}

.vor-std-item-flex {
	flex-grow: 1;
	max-width: calc(100% - var(--small-gap));
}

.vor-fullsize-item-flex {
    width: calc(100% - var(--small-gap));
}

.vor-std-div-con-gap {
	padding-bottom: var(--std-gap);
}

.vor-std-panel-con-gap {
    margin-bottom: var(--std-gap);
}

.vor-small-div-con-gap {
    padding-bottom: var(--small-gap);
}

.vor-textarea {
    width: min(100%, 750px);
    max-width: calc(100% - 10px);
    height: 100px;
}

.vor-file-upload {
    width: 100%;
    max-width: 760px;
}

.vor-date-input input {
	max-width: 100px;
}

.vor-con-small-flex {
	display: flex;
    flex-wrap: wrap;
    gap: var(--small-inline-gap);
    align-items: center;
}

.vor-con-small-flex-inline {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--small-inline-gap);
    align-items: center;
}

.vor-row-gap {
    row-gap: 0;
}

.vor-con-content-center {
    display: flex;
    justify-content: center;
}

.vor-image-label-container {
    display: flex;
    align-items: center;
}

.vor-message-size.ui-message {
	max-width: 400px;
}

.vor-panelgrid-label {
    width: 300px;
    align-self: center;
}

.vor-panelgrid-label-small {
    width: 150px;
    align-self: center;
}

.vor-panelgrid-info {
    width: 41px;
    align-self: center;
}

.vor-panelgrid-input {
    width: 300px;
    align-self: center;
}

.vor-panelgrid-input-big {
    width: 800px;
    align-self: center;
}

.vor-panelgrid-input input:not(.hasDatepicker),
.vor-panelgrid-input-big input:not(.hasDatepicker),
.vor-input {
    max-width: calc(100% - var(--small-gap));
    width: min(100%, 300px);
}

.vor-panelgrid-msg {
    flex-grow: 1;
    align-self: center;
}

.vor-panelgrid-msg .ui-message {
    margin: 0;
    width: fit-content;
}

.vor-panelgrid .ui-panelgrid-content > div:nth-child(odd) {
    background-color: var(--std-pf-bc-striped);
}

.ui-datatable tbody td:has(.ui-selectbooleancheckbox) {
	text-align: center;
}

.ui-tabs .ui-tabs-nav.ui-widget-header li.vor-ext-gruppe-tab {
    background: var(--ext-gruppe-col);
}

.ui-tabs .ui-tabs-nav.ui-widget-header li.vor-ext-gruppe-tab.ui-state-hover,
.ui-selectonemenu-trigger.ui-state-default.ui-state-hover {
    background-color: var(--ext-gruppe-col-hover);
}

.ui-tabs .ui-tabs-nav.ui-widget-header li.vor-ext-gruppe-tab.ui-state-active {
    background: linear-gradient(to bottom, var(--ext-gruppe-col) 70%, var(--std-white));
}

/******************** Primefaces Allgemein ********************/
.ui-widget {
	font-size: 1rem;
}

.ui-menu.ui-widget .ui-menuitem-link .ui-menuitem-text, .ui-menu.ui-widget .ui-menubar-options > * {
    margin: 0em 0.4em;
    font-weight: normal;
}

.ui-menu.ui-widget .ui-menubar-options > * {
    display: inline;
}

.ui-panelgrid-content.ui-widget-content.ui-grid.ui-grid-responsive,
	.ui-panelgrid-content.ui-widget-content.p-grid {
	border: none;
}

.ui-selectoneradio.ui-widget label.ui-state-disabled {
    background-color: unset;
}

@media (max-width: 640px){
    .ui-datatable-reflow .ui-datatable-data td[role="gridcell"] .ui-column-title {
        display: block;
    }
}

#status-dialog-redirect_modal.ui-widget-overlay,
#status-dialog_modal.ui-widget-overlay {
	opacity: 0.10;
    animation: 3s ease 0s normal forwards 1 vor-animate-fade-out;
}

@keyframes vor-animate-fade-out{
    0% {
        opacity: 0.10;
    }
    50% {
        opacity: 0.45;
    }
    100% {
        opacity: 0.80;
    }
}

.ui-menu.ui-menubar {
    background-image: none;
    background-color: var(--std-blue);
}

.ui-menu.ui-widget a {
	color: var(--std-white);
}

.ui-menu.ui-widget a:hover, 
a.ui-commandlink:hover,
a:hover {
    color: var(--std-white-hover);
}

.ui-menu.ui-widget li > .ui-menuitem-link.ui-state-hover {
    background-image: none;
    background-color: var(--std-blue-hover);
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    background-image: none;
    background-color: var(--std-blue);
}

.ui-widget-header, .ui-dialog.ui-widget-content .ui-dialog-titlebar {
	background: var(--std-beige);
}

.ui-datatable th.ui-state-default,
.ui-datatable .ui-paginator .ui-state-default,
.ui-selectonemenu .ui-state-default,
.ui-button.ui-state-default {
    background-image: none;
    background-color: var(--std-blue);
    color: var(--std-white);
    text-shadow: none;
    font-weight: normal;
}

.ui-button.ui-state-default.ui-state-hover,
.ui-datatable th.ui-state-default.ui-sortable-column.ui-state-hover,
.ui-datatable .ui-paginator .ui-state-default.ui-state-hover {
    background-color: var(--std-blue-hover);
}

.ui-datatable th.ui-state-default {
	border-radius: 0;
}

.ui-datatable th.ui-state-default,
.ui-datatable tbody td {
	vertical-align: top;
}

.ui-datatable thead th, 
.ui-datatable tbody td, 
.ui-datatable tfoot td, 
.ui-datatable tfoot th {
	padding: 5px 8px;
}

.ui-datatable th.ui-state-default .ui-icon,
.ui-datatable .ui-paginator .ui-state-default .ui-icon,
.ui-selectonemenu .ui-state-default .ui-icon,
.ui-fileupload .ui-state-default .ui-icon {
    filter: brightness(0%) invert(1);
}

.ui-datatable thead .ui-state-default .ui-button.ui-state-default,
.ui-menubar .ui-button.ui-state-default {
    border-color: white;
}

.ui-icon-seek-first, 
.ui-icon-seek-next, 
.ui-icon-seek-prev,
.ui-icon-seek-end {
	background-position-y: -157px;
}

.ui-tabs.ui-tabs-top .ui-tabs-nav.ui-widget-header li.ui-state-active {
	border-bottom-color: var(--std-white);
}

.ui-tabs.ui-tabs-top .ui-tabs-nav.ui-widget-header li {
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-top-width: 0;
    border-right-width: 0;
    border-left-width: 0;
}

.ui-tabs .ui-tabs-nav.ui-widget-header li {
    background: var(--std-blue);
}

.ui-tabs .ui-tabs-nav.ui-widget-header li.ui-state-hover,
.ui-selectonemenu-trigger.ui-state-default.ui-state-hover {
	background-color: var(--std-blue-hover);
}

.ui-tabs .ui-tabs-nav.ui-widget-header li.ui-state-active {
	background: linear-gradient(to bottom, var(--std-blue) 70%, var(--std-white));
}

.ui-tabs .ui-tabs-nav.ui-widget-header li a {
	color: var(--std-white);
}

.ui-tabs::before,
.ui-tabs::after {
    content: '';
    position: absolute;
    top: 35px;
    bottom: 0;
    width: 1px; /* Border width */
    background-color: #ddd; /* Border color */
}

.ui-tabs::before {
    left: 0;
}

.ui-tabs::after {
    right: 0;
}

.ui-tabs {
	padding: 0;
}

li.ui-tabs-header.ui-state-default  {
	text-shadow: none;
}

.ui-datatable .ui-paginator .ui-state-default.ui-state-active {
	text-decoration: underline;
}

.ui-tooltip {
    max-width: 400px;
}

.ui-chkbox {
    line-height: 1em;
}

.ui-button .ui-button-text {
    min-width: 50px;
}

.ui-datepicker th {
    width: 14.28%;
}

.ui-selectoneradio.layout-line-direction > div, 
.ui-selectoneradio.layout-line-direction > div label {
    display: inline-block;
}

/******************** Template ********************/
#id-menu, #id-info, #id-page-header {
	margin-bottom: var(--small-gap);
    border: none;
    border-radius: 0;
}

#id-info-message .ui-message-warn-icon {
	margin-top: 3px;
}

.vor-header-con, #id-info {
	padding-left: var(--std-gap);
	padding-right: var(--std-gap);
	margin-bottom: var(--small-gap);
}

.vor-header-title-img {
	display: flex;
	flex-wrap: wrap-reverse;
	justify-content: space-between;
	gap: var(--std-gap);
    row-gap: var(--small-inline-gap);
    align-items: center;
}

.vor-header-title-img > *:nth-child(2) {
    margin-left: auto;
}

.vor-header-img {
    max-width: 300px;
    min-width: 150px;
    max-height: 66px;
    min-height: 50px;
    object-fit: contain;
}

.vor-footer-img {
    max-height: 45px;
    min-height: 45px;
    object-fit: contain;
}

@media (max-width: 675px) {
    .vor-header-img {
        max-width: 200px;
        min-width: 100px;
        max-height: 50px;
        min-height: 33px;
        object-fit: contain;
    }
    
    .vor-footer-img {
        max-height: 30px;
        min-height: 30px;
        object-fit: contain;
    }
}

@media (max-width: 510px) {
    .vor-header-img {
        max-width: 150px;
        min-width: 75px;
        max-height: 33px;
        min-height: 25px;
        object-fit: contain;
    }
    
    .vor-footer-img {
        max-height: 25px;
        min-height: 25px;
        object-fit: contain;
    }
}

.vor-header-user-info {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	gap: var(--std-gap);
    row-gap: 0;
    border-top: var(--seperation-line);
    border-bottom: var(--seperation-line);
    background-color: var(--std-beige);
}

.vor-page-std {
    margin: 0rem var(--small-gap);
}

.vor-page-auto-horizont {
    margin: 0rem auto;
    display: flex;
    flex-direction: column;
    width: max-content;
    max-width: calc(100vw - (100vw - 100%));
}

.vor-header-page-auto-vertical {
	margin-bottom: auto;
}

#id-page-header-title {
	font-weight: bold;
	font-size: 1.75rem;
	line-height: 2.15rem;
}

.vor-footer-con {
    padding: var(--small-gap) calc(var(--std-gap) + 0.5rem) var(--small-gap) calc(var(--std-gap) + 0.5rem);
	margin-top: var(--small-gap);
    display: flex;
    justify-content: space-between;
    gap: var(--std-gap);
    align-items: center;
    border-top: var(--seperation-line);
    background-color: var(--std-beige);
}

@media (max-width: 1500px) {
    .vor-footer-con {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 675px) {
    .vor-footer-con {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/******************** Pages ********************/
.vor-bay-wappen:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: top;
    z-index: -1;
    background-image: url(../img/wappen.png);
    filter: opacity(20%);
}

#id-button-login, #id-button-pw-change {
	margin-top: var(--small-gap);
}

.vor-login-logo-fraktion {
    max-width: 300px;
    min-width: 150px;
    max-height: 100px;
    min-height: 50px;
    object-fit: contain;
}

#id-pw-change-info-box {
	margin-bottom: var(--small-gap);
}

table.vor-datatable-votum tbody td {
	border-bottom: 1px solid #C0C0C0;
	border-top: none;
	border-right: none;
	border-left: none;
}

table.vor-datatable-votum tbody td, .vor-votum-mitantragsstellung {
	padding: 0px 2px 0px 2px;
}

table.vor-datatable-votum tr, .vor-datatable-votum tbody {
	border: none;
}

.vor-antrag-edit-buttons {
	padding-bottom: var(--small-gap);
}

.vor-suche-flex > * {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

@media (max-width: 1000px) {
    .vor-suche-flex > * {
        flex: 1 1 100%;
    }
}

@media (max-width: 450px) {
    .vor-suche-flex > * > * {
        flex: 1 1 100%;
    }
    
    .vor-suche-flex > * > .ui-selectonemenu.ui-widget {
        min-width: unset !important;
    }
}

#id-form-votum\:id-select-votum-abgabe > div > div {
	padding: 2px;
}

#id-form-votum-umformulierung\:id-label-votum-umfor-betreff {
	vertical-align: top;
}

#id-mitantragstellung-text-con {
	flex-wrap: nowrap;
    width: min(100%, 400px);
}

#id-mitantragstellung-text-con label {
    padding-right: 0;
}

#id-form-votum\:mitantragstellungAuswahl {
	margin-right: var(--small-inline-gap);
}

.vor-erfassung-initiatoren-tabs > * {
	max-width: min(900px, 100%);
    flex: 1 1 40%;
}

@media (max-width: 1650px) {
    .vor-erfassung-initiatoren-tabs > * {
        max-width: calc(100% - 0.4em);
        flex: 1 1 100%;
    }
}

.vor-suche-uebersicht-reset {
	display: flex;
    flex-direction: row-reverse;
    margin-bottom: var(--small-gap);
}

#suchbegriff {
	width: min(500px, 100%);
}

#id-fraktionsvotum-radio > span {
	margin-bottom: var(--small-gap);
}

#id-fraktionsvotum-radio > span > label {
	margin-right: 0;
	padding-right: 0;
}

#id-fraktionsvotum-radio-zurueckgestellt-con {
    flex-wrap: wrap;
}

#id-fraktionsvotum-radio-zurueckgestellt-datum-con {
	display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--small-gap);
    margin-left: calc(16px + 0.5rem);
}

#id-fraktionsvotum-radio-zurueckgestellt-datum-con > * {
	margin: 0;
}
