html, body {
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100vh;
	justify-content: center;
}

* {
	font-family: Polo-Leicht, arial, sans-serif;
	box-sizing: border-box
}

:root {
	--gray: #e9e9e9;
	--blue: #00497a;
}

.title {
	font-size: 30px;
	font-weight: bolder;
	color: var(--blue);
}

.content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	justify-content: center;
	width: 100%;
	max-width: 60vw;
	margin: auto;
	margin-bottom: 2rem;
}

button {
	background-color: #27a737;
	color: white; border : none;
	border-radius: 30px;
	font-size: 24px;
	font-weight: 600;
	padding: .5rem;
	cursor: pointer;
	max-width: 450px;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
	border: none;
}

button:hover {
	background-color: rgb(123, 158, 184) !important;
}

.header {
	display: flex;
	align-items: center;
	padding-left: 2rem;
	width: 100%;
	background-color: var(--gray);
	height: 3rem;
}

.footer {
	display: flex;
	align-items: center;
	margin-top: 2rem;
	justify-content: center;
	bottom: 0;
	left: 0;
	gap: 10rem;
	height: 3rem;
	width: 100%;
	background-color: var(--gray);
}

/* Für WebKit-Browser (Chrome, Safari, Edge) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Für Firefox */
input[type=number] {
    -moz-appearance: textfield;
}


  a {
    color: var(--blue)!important; /* Linkfarbe */
    text-decoration: underline; /* Unterstreichung wie bei klassischen Links */
  }

  a:hover {
    color: darkblue; /* Dunkleres Blau beim Überfahren mit der Maus */
  }


.small-spacer {
	height: 20px;
}

.footer label {
	cursor: pointer;
}

.container {
	display: none;
	position: inherit;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
	min-width: 60vw;
}

.active {
	display: flex;
}

.spacer-bottom {
	margin-bottom: 50px;
}

#iban-status {
    color: gray;
}

#iban-status.valid {
    color: green;
}

#iban-status.invalid {
    color: red;
}

input {
	padding: .5rem;
	border-radius: 3px;
	border-width: 1px;
	font-size: 17px;
	max-width: 1080px;
}

input[type="text"] {
    width: 100%; 
}

label {
		max-width: 1080px;
}

select {
	padding: .5rem;
	border-radius: 3px;
	border-width: 1px;
	font-size: 17px;
}

textarea {
	padding: .5rem;
	border-radius: 3px;
	border-width: 1px;
	font-size: 17px;
	max-width: 1080px;
	max-height: 450px;
}

.iban-title {
	font-size: 18px!important;
}

.accordion {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	max-width: 80% px;
}

ul li {
	margin: .5rem;
}

.container button {
	margin-top: 3rem;
	justify-self: center;
	align-items: center;
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.icon-container {
	display: flex;
	align-items: center;
	gap: 1rem;
}

a {
	text-decoration: none;
	color: rgba(0, 0, 0, 1);
}

.accordion-header {
	background-color: var(--blue);
	display: flex;
	cursor: pointer;
	justify-content: space-between;
	padding: 1.8rem;
	color: white;
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
	transition: background-color 0.3s ease, transform 0.3s ease;
}

.image-crop {
	margin: 0!important;
	width: 100%;
	position: absolute;
	left: 0;
	height: 540px;
	box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3);
	z-index: -2;
    object-fit: cover;
}

.accordion-header:hover {
	transform: scale(1.03)
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out, padding 0.3s ease-out;
	background-color: #f1f1f1;
	padding: 0 1.8rem;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.accordion-content.open {
	max-height: 2000px;
	padding-top: 1rem;
	padding-bottom: 3rem !important;
}

.selectGuDiv {
	border-radius: 10px;
	border-width: 2px;
	border-color: #cdcdcd;
	border-style: solid;
	padding: 1.5rem;
	width: 250px;
	cursor: pointer;
}

.selectGuDiv label {
	cursor: pointer;
}

.selectGuDiv.active {
	border-color: #00497a;
}

.flex {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1rem;
}

.flexDown {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.confirmation-container {
	height: 20%;
	width: 40%;
	align-self: center;
	text-align: center;
	background-color: white;
	padding: 2rem;
	margin: 100px;
	border-radius: 10px;
	font-family: Polo-Leicht, arial, sans-serif;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.confirmation-container img {
	width: 70px;
	height: 70px;
}

.confirmation-message {
	font-size: 24px;
	margin-bottom: 1rem;
	margin-top: 20px;
	color: #4CAF50; /* Grün */
}

.dropdown {
	display: inline-block;
}

.postCode-Container {
	width: 100%;
	max-width: 1080px;
}

.postCode-Container input {
	width: 100%;
}

.dropdown-options {
	width: 100%;
	max-height: 200px;
	overflow-y: auto;
	background-color: white;
	border: 1px solid #ccc;
	border-top: none;
	z-index: 1000;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	display: none; 
}

.dropdown-options div {
	padding: 8px;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	max-width: 100%;
}

.dropdown-options div:hover {
	background-color: #f1f1f1;
}

.warning-message {
	background-color: #ffcccb;
	color: #800000; 
	border-left: 5px solid #ff4500;
	align-self: flex-start;
	padding: 15px;
	font-size: 16px;
	border-radius: 5px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	gap: 10px;
}

.warning-message::before {
	content: "⚠️"; /* Warnsymbol */
	font-size: 24px;
}

.warning-message strong {
	font-weight: bold;
}

.warning-message a {
	color: #b22222; /* Dunkles Rot für Links */
	text-decoration: underline;
}

.warning-message a:hover {
	color: #ff4500; /* Aufhellung bei Hover */
}

.tooltip-container {
            position: relative;
            display: inline-block;
            cursor: pointer;
            width: 24px;
            heigth: 24px;
            font-size: 16px;
            color: white;
        }

        .tooltip {
            visibility: hidden;
            width: 400px;
            background-color: var(--blue);
            border-radius: 5px;
            padding: 5px;
            position: absolute;
            z-index: 1;
            top: 125%; /* Position über dem Text */
            margin-left: -24px; /* Zentriert den Tooltip */
            opacity: 0;
            transition: opacity 0.3s;
        }

        .tooltip-container:hover .tooltip {
            visibility: visible;
            opacity: 1; /* Sichtbarkeit bei Hover */
        }

.notSupportedBox {
	background-color: var(--blue);
	padding: 1rem;
	border-radius: 10px;
	display: none;
	color: white;
}

.smallText{
	font-size: 15px;
}

.custom-file-upload {
  display: flex;
  align-items: center;
  gap: 10px;
}

.file-label {
  background-color: #f0f0f0;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
}

input[type="file"] {
  display: none; /* Versteckt das Standard-Datei-Eingabefeld */
}

.file-name {
  background-color: var(--blue);
  color: #fff;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 14px;
}

.title-frame {
	margin-top: 1rem;
	height: 300px;
}

.sub-title-frame {
border-left: 10px solid #27a737;
	height: 50px;
	display: flex;
	font-color: var(--blue);
	font-weight: bolder;
	padding-left: 20px;
	font-size: 45px;
	align-items: center;
	min-width: 30rem;
}

input, textarea, select {
    border: 1px solid #ccc; /* Standard-Rand */
    outline: none; /* Fokus-Stil deaktivieren */
}

input:focus, textarea:focus, select:focus {
    border: 1px solid var(--blue); /* Fokus-Stil */
}

input.error, textarea.error, select.error {
    border: 1px solid red; /* Fehlerzustand */
}

button:hover:not(:disabled) {
    background-color: #0056b3;
}

.captcha-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hidden {
    display: none;
}

.captcha-container {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    width: 400px;
}

.image-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 15px 0;
}

.image-grid img {
    width: 100%;
    border: 2px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    transition: border-color 0.3s;
}

.image-grid img.selected {
    border-color: #007bff;
}

button:disabled {
    background: #ccc;
    cursor: not-allowed;
}

.checkcaptcha-button {
	width: 150px;
}
