/* Style for all PrimeFaces output cell editors */
:root {
	--ivy-primary-color: #1E235F;

	/* Example value, e.g., Hypo Tirol’s blue */
}

.ui-cell-editor-output {
	color: #2c2c2c;
	background: #FaFaFa;
	padding: 0.5rem 0.5rem;
	border: 1px solid #D4D6D9 !important;
	outline: 0 none;
	font-size: 1rem;
	border-radius: 0.5em !important;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s,
		box-shadow 0.2s;
	height: 34px;
}

.ui-autocomplete-dropdown {
	background: none !important;
}

/* Minimum height for rows for all PrimeFaces tables */
.ui-datatable tbody td {
	/*min-height: 34px !important; */
	padding: 0.5rem !important;
}

.ht-data-grid-four-columns {
	width: 100% !important;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0 0.5rem;
}

.ht-data-grid-four-columns tr>td:nth-child(2) {
	padding-right: 5%;
}

.ht-data-grid-four-columns tr>td:nth-child(3) {
	padding-left: 5%;
}

.ht-data-grid-two-columns {
	width: 100% !important;
	table-layout: fixed;
	border-collapse: separate;
}

.ht-data-grid-two-columns tr>td:nth-child(1) {
	width: 10%;
	padding-right: 0.5rem;
}

.ht-data-grid-two-columns tr>td:nth-child(2) {
	width: 30%;
	padding-left: 0.5rem;
}

.text-align-right {
	text-align: right !important;
}

.vertical-align-top {
	vertical-align: top;
}

.ui-growl {
	max-height: 100%;
	overflow-y: auto;
	aria-live: polite;
	top: -10px;
}

body {
	font-family: 'National2Regular', Arial, sans-serif;
}

body .ui-growl {
	top: 0px;
}

/* Phone styles (e.g., up to 767px) */
@media ( max-width : 767px) {
	body .bank-header1 {
		font-size: 35px !important;
		text-transform: uppercase !important;
		color: #1E235F !important;
		line-height: 1.2 !important;
		font-weight: 900 !important;
	}
	body .bank-header2 {
		font-size: 40px !important;
		text-transform: uppercase !important;
		color: #1E235F !important;
		line-height: 0 !important;
		font-weight: 250 !important;
	}
	body .responsiveDialog {
		width: 90% !important;
	}
}

/* Tablet styles (e.g., up to 991px) */
@media ( min-width : 768px) and (max-width: 991px) {
	body .bank-header1 {
		font-size: 60px !important;
		text-transform: uppercase !important;
		color: #1E235F !important;
		line-height: 1.2 !important;
		font-weight: 900 !important;
	}
	body .bank-header2 {
		font-size: 60px !important;
		text-transform: uppercase !important;
		color: #1E235F !important;
		line-height: 0 !important;
		font-weight: 250 !important;
	}
	body .responsiveDialog {
		width: 70% !important;
	}
}

@media ( min-width : 992px) {
	body .bank-header1 {
		font-size: 70px !important;
		text-transform: uppercase !important;
		color: #1E235F !important;
		line-height: 1.2 !important;
		font-weight: 900 !important;
	}
	body .bank-header2 {
		font-size: 70px !important;
		text-transform: uppercase !important;
		color: #1E235F !important;
		line-height: 0 !important;
		font-weight: 250 !important;
	}
	.validationContentWidth {
		width: calc(100vw - 360px);
	}
	body .responsiveDialog {
		width: 40% !important;
	}
}

body .ui-accordion .ui-accordion-header {
	color: #FaFaFa;
	background: #1E235F;
	font-size: 1em;
}

body .ui-accordion .ui-accordion-header.ui-state-active {
	color: #FaFaFa;
	background: #1E235F;
}

body .ui-button .ui-button-text {
	font-size: 1.1em;
	background: #F59D00;
	color: black;
	border-radius: 6px !important;
}

body .button-padding .ui-button-text {
	padding-top: 0.65em !important;
	padding-bottom: 0.65em !important;
}

body .ui-datepicker-trigger {
	border-radius: 0px !important;
	background-color: unset !important;
}

body .ui-button {
	border: 0;
}

body .ui-spinner .ui-spinner-button.ui-button.ui-spinner-up {
	background: #F59D00;
}

body .ui-spinner .ui-spinner-button.ui-button.ui-spinner-down {
	background: #F59D00;
}

body .ui-fluid .ui-trigger-calendar .ui-button-text {
	padding: 0.2rem;
}

body .ui-button .ui-button-text:hover {
	font-size: 1.1 em;
	background: #F5AE01;
	color: black;
}

body .ui-icon {
	color: black;
}

body .ui-button.ui-button-text-icon-left .ui-icon {
	padding-left: 0.2em !important
}

body .ui-icon.ui-icon-triangle-1-e {
	color: unset !important;
}

body .ui-icon ui-icon-triangle-1-s {
	color: unset !important;
}

body .ui-chkbox-icon.ui-icon-check {
	color: unset !important;
}

body .ui-fieldset {
	border: 1px solid #1E235F;
	font-size: 1em;
}

body .ui-fieldset .ui-fieldset-legend {
	border: 1px solid #1E235F;
	color: #1E235F;
}

body .ui-fieldset-legend .ui-corner-all .ui-state-default {
	color: #1E235F !important;
}

body .ui-outputlabel .ui-outputlabel-label {
	font-size: 1em;
}

body .ui-datatable thead th .ui-column-title {
	font-size: 1em;
}

body .ui-datatable .ui-datatable-data>tr {
	font-size: 1em;
}

body .ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-state-active a {
	font-size: 1em;
}

.floatRight {
	float: right;
}

body a {
	color: #FFF;
	text-decoration: underline;
}

.pf-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(240px, 1fr));
	/* mind. 240px, max 1fr */
	grid-gap: 1em;
	margin-bottom: 16px;
}

/* Mittlere Bildschirme */
@media ( max-width : 1199px) and (min-width: 768px) {
	.pf-card-grid {
		grid-template-columns: repeat(2, minmax(180px, 1fr));
		grid-gap: 16px;
	}
}

/* Kleine Bildschirme */
@media ( max-width : 767px) {
	.pf-card-grid {
		grid-template-columns: 1fr; /* 1 Spalte mobil */
		grid-gap: 1em;
	}
}

/* Karten Basis */
.project-pf-card.ui-card {
	width: 100%;
	border: 2px solid #e0e7ef;
	border-radius: 10px;
	background: #fff;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	box-sizing: border-box;
	/* sorgt für Padding/Borders innerhalb der Breite */
}

/* Große Bildschirme */
@media ( min-width : 1200px) {
	.project-pf-card.ui-card {
		min-width: 240px;
		max-width: 300px;
	}
}

/* Mittlere Bildschirme */
@media ( min-width : 768px) and (max-width: 1199px) {
	.project-pf-card.ui-card {
		min-width: 180px;
		max-width: 220px;
	}
}

/* Kleine Bildschirme / Mobil */
@media ( max-width : 767px) {
	.project-pf-card.ui-card {
		min-width: 100%; /* Karte füllt die Spaltenbreite */
		max-width: 100%;
	}
}
/* Card-Wrapper: relative Position, damit der Button absolut im Card-Bereich liegt */
.card-clickable {
	position: relative;
	/* Card-Styles bleiben davon unberührt */
}

.card-content-no-padding .ui-card-content {
	padding: 0 !important;
}

/* Unsichtbarer Button nimmt die ganze Card ein */
.card-ghost-btn {
	position: absolute !important;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0 !important;
	background: none !important;
	border: none !important;
	cursor: pointer;
	z-index: 10;
	box-shadow: none !important;
}

.card-ghost-btn:focus {
	outline: 2px solid var(--ivy-primary-color);
}

/* Card hover effect: applies to all cards, except selected card (which has its own style) */
.project-pf-card.card-clickable:hover:not(.selected-card),
	.project-pf-card.card-clickable:focus-within:not(.selected-card) {
	border: 0px solid var(--ivy-primary-color);
	background: #f4f8ff;
	box-shadow: 0 1.25em 1em 0 #1E235F33;
	transition: border 0.15s, background 0.15s, box-shadow 0.15s;
	cursor: pointer;
}

.project-pf-card.card-clickable:hover .project-card-title,
	.project-pf-card.card-clickable:focus-within .project-card-title {
	color: var(--ivy-primary-color);
	text-decoration: underline;
}

.project-pf-card.card-clickable:hover .project-card-icon,
	.project-pf-card.card-clickable:focus-within .project-card-icon {
	color: var(--ivy-primary-color);
	opacity: 0.8;
}

body {
	background: #f5f5f5; /* oder ein anderes Hellgrau */
}

.centered-content {
	max-width: 1200px; /* Passe nach Wunsch an (z.B. 1100px) */
	margin: 40px auto 40px auto;
	/* Oben & unten etwas Abstand, zentriert */
	background: #fff;
	border-radius: 0.5em; /* Optional: abgerundete Ecken */
	box-shadow: 0 2px 1em rgba(0, 0, 0, 0.08);
	/* Optional: leichter Schatten */
	padding: 32px 40px; /* Innenabstand nach Wunsch */
}

.p-button-primary {
	position: relative;
	background-color: var(--ht-color-primary-700) !important;
	box-shadow: 0 0 8px var(--ht-color-primary-700);
	border: none;
	color: white; /* ensure contrast */
	border-radius: 6px;
	transition: background-color 0.3s ease;
	overflow: visible; /* required for :after */
}

/* Create the surrounding border effect like .btn:after */
.p-button-primary:after {
	display: block;
	content: "";
	position: absolute;
	top: -4px;
	bottom: -4px;
	left: -4px;
	right: -4px;
	border: 1px solid var(--ht-color-secondary-400);
	opacity: 0;
	border-radius: 0.5em;
	transition: opacity 0.3s cubic-bezier(.15, .3, .2, .9);
	pointer-events: none;
}

/* Show border on hover or focus */
.p-button-primary:hover:after, .p-button-primary:focus:after {
	opacity: 1;
}

@font-face {
	font-family: 'National2';
	src: url("/HypoTirol/Wohnraum/faces/javax.faces.resource/layouts/styles/national-2-light.woff2?ln=xpertivy-5321-webContent&xv=308963209613")
		format('woff2');
	font-weight: 300; /* Light */
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'National2';
	src: url("/HypoTirol/Wohnraum/faces/javax.faces.resource/layouts/styles/national-2-regular.woff2?ln=xpertivy-5321-webContent&xv=308963209613")
		format('woff2');
	font-weight: 400; /* Regular */
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'National2';
	src: url("/HypoTirol/Wohnraum/faces/javax.faces.resource/layouts/styles/national-2-bold.woff2?ln=xpertivy-5321-webContent&xv=308963209613")
		format('woff2');
	font-weight: 700; /* Bold */
	font-style: normal;
	font-display: swap;
}

body {
	font-family: 'National2', Arial, sans-serif;
}

.bold-text {
	font-family: 'National2', Arial, sans-serif;
	font-weight: 700;
}

.light-text {
	font-family: 'National2', Arial, sans-serif;
	font-weight: 300;
}

.normal-text {
	font-family: 'National2', Arial, sans-serif;
	font-weight: 400;
}

.grey {
	color: #808080;
}

.fontSize200Percent {
	font-size: 200%;
}

/* Desktop-Standard: rechts, in einer Zeile */
.captcha-block {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
}

.captcha-block .captcha-inner {
	transform: scale(1);
	-webkit-transform: scale(1);
	transform-origin: 50% 0;
	-webkit-transform-origin: 50% 0;
}

/* NEU: Button-Text auf Desktop in einer Zeile halten */
.captcha-block .proceed-btn {
	white-space: nowrap;
	min-width: 190px; /* bei Bedarf anpassen */
}

/* Mobile: untereinander, zentriert und kleiner */
@media ( max-width : 768px) {
	.captcha-block {
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	.captcha-block .captcha-inner {
		transform: scale(0.85);
		-webkit-transform: scale(0.85);
		transform-origin: 50% 0;
		-webkit-transform-origin: 50% 0;
		max-width: 100%;
		overflow: hidden;
		display: inline-block;
	}

	/* NEU: auf Mobile darf der Text wieder umbrechen */
	.captcha-block .proceed-btn {
		min-width: auto;
		white-space: normal;
	}
}