/* Webfont-Einbindung */
@font-face {
    font-family: 'Arial Rounded MT Bold';
    src: url('arialroundedmtbold.woff2') format('woff2')/*,
         url('resources/fonts/arial-rounded-mt-bold.woff') format('woff')*/;
    font-weight: normal;
    font-style: normal;
}

/* Grunddesign */

/**, *::before, *::after {
    box-sizing: border-box;
}*/

body {
    margin: 20px;
    padding: 0;
    font-family: Arial, sans-serif;
    background-color: #f2f2f2;
    color: #111;
	overflow-y: scroll; /* Vertikale Scrollbar immer anzeigen */
	-webkit-text-size-adjust: none;
}

@media print {
	.nonprint { display: none !important; }

	body {
		background-color: #ffffff;
		color: #000;
	}
}

@media screen {
	.printonly { display: none; }
}

/* Überschriften */
h1 {
    font-family: 'Arial Rounded MT Bold', Arial, sans-serif;
    font-size: 2rem;
    margin-bottom: -0.4em;
}

h2 {
    font-family: 'Arial Rounded MT Bold', Arial, sans-serif;
    font-size: 1.4rem;
    margin-bottom: 1em;
    color: #333;
}

/* Allgemeine Container */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.infotext {
	padding-top: 30px;
	font-size: 0.9em;
}

.infotext a {
	display: inline-block;
	text-decoration: none;
	color: #777777;
}
.infotext a:hover {
	color: #b81515;
}

.aenderungshistorie {
	/*padding-top: 30px;*/
	font-size: 0.8em;
}

/* Formulare */
form {
    /*background-color: #fff;
    padding: 20px;
    border: 1px solid #999;
    border-radius: 2px;*/
}

form label {
	font-size: 0.85em;
	font-weight: 600;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="date"],
input[type="number"],
textarea,
select {
    width: 100%;
    padding: 8px;
    margin-bottom: 1em;
    border: 1px solid #555;
    border-radius: 2px;
    background-color: #fff;
    font-family: Arial, sans-serif;
	box-sizing: border-box;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="date"],
input[type="number"],
select {
   height: 33px;
}

select,
input[type="date"] { /*Fix für iOS Safari */
    display: block;
    width: 100%;
    padding: 8px;
    margin-bottom: 1em;
    height: 33px;
    font-family: Arial, sans-serif !important;
    color: #111 !important;
    box-sizing: border-box;
    line-height: normal;
    background-color: #fff;
    /*-webkit-appearance: none;
	-moz-appearance: none;
    appearance: none; */
}

input[type="date"] { /*Fix für iOS Safari */
	-webkit-appearance: none;
	-moz-appearance: none;
    appearance: none;
	text-align: left;
    direction: ltr;
}


/*select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
}*/

textarea {
	font-size: 0.9em;
}

input:focus,
textarea:focus,
select:focus {
    border-color: #000;
    outline: none;
}

.container_kontoinfos {
	display: block; border: 1px solid #777; padding: 15px; padding-bottom: 10px; margin-top: 0.6em; margin-bottom: 1.1em;
}

.checkboxremover { 
/* Add if not using autoprefixer */
  -webkit-appearance: none;
  appearance: none;
  /* For iOS < 15 to remove gradient background */
  background-color: #f4f4f4;
  /* Not removed via appearance */
  margin: 0; margin-right: 0.2em;
  outline: none;
	}
.checkboxremover::before { 
  width: 15px;
  height: 15px;
  border-radius: 2px;
  border: 1px solid #555;
  background-color: #ffffff;
  background: #ffffff;
  color: #000000;
  display: block;
  content: "";
  float: left;
  margin-right: 5px;
  position: relative;
  cursor: pointer;
  }
.checkboxremover::after { 
  width: 15px;
  height: 15px;
  border-radius: 0px;
  border: 1px solid #ffffff;
  background-color: #000000;
  background: #000000;
  color: #000000;
  display: block;
  content: "";
  float: left;
  margin-right: 5px;
  position: absolute;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform: scale(0);
  /*transition: 120ms transform ease-in-out;*/
  }
.checkboxremover:checked::after { 
  transform: scale(0.6);
  /*transition: 120ms transform ease-in-out;*/
  }
.checkboxremover.regularsize:checked::after { 
  transform: scale(0.65);
  }
.checkboxremover:focus::before {
	border: 1px solid #000;
}
.checkboxlabel { 
	display: inline-flex; margin-bottom: 0.25em; margin-top: 0.5em; font-weight: normal; font-size: 0.9em; line-height: 1.2em; cursor: pointer;
	}

/* Buttons */
button,
input[type="submit"] {
    background-color: #444;
    color: #fff;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    font-weight: bold;
    border-radius: 2px;
}

button:hover,
input[type="submit"]:hover {
    background-color: #666;
}

.formerklaertext {
	/*padding-top: 30px;*/
	font-size: 0.75em;
	margin-top: -0.7em;
	padding-bottom: 0.7em;
}

/* Fehlermeldung */
.error {
    color: #b81515;
    margin-bottom: 1em;
    font-weight: bold;
}

/* Shake-Animation */
@keyframes shake {
    0% { transform: translateX(0); }
    20% { transform: translateX(-5px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-5px); }
    80% { transform: translateX(5px); }
    100% { transform: translateX(0); }
}

.shake {
    animation: shake 0.5s;
}

.info {
    color: #000;
    margin-bottom: 1em;
    font-weight: normal;
}
.info a {
	display: inline-block;
	text-decoration: none;
	color: #777777;
}
.info a:hover {
	color: #b81515;
}

.overtable_message {
	font-size: 0.9em;
	color: #fff;
	background-color: #696969;
	margin-bottom: 1.2em;
	width: auto;
	padding: 0.9em;
	
}

.dissapear_10sek {
    -moz-animation: cssAnimation 1s ease-in 4s forwards;
    /* Firefox */
    -webkit-animation: cssAnimation 1s ease-in 4s forwards;
    /* Safari and Chrome */
    -o-animation: cssAnimation 1s ease-in 4s forwards;
    /* Opera */
    animation: cssAnimation 1s ease-in 4s forwards;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@keyframes cssAnimation {
    to {
        /*width:0;
        height:0;
        overflow:hidden;*/
		opacity: 0;
    }
}
@-webkit-keyframes cssAnimation {
    to {
		opacity: 0;
        /*width:0;
        height:0;
        visibility:hidden;*/
    }
}

.overtable_errors {
	font-size: 0.9em;
	color: #b81515;
	margin-bottom: 1.2em;
	
}

.overtable_errors a {
	display: inline-block;
	text-decoration: none;
	color: #777777;
}
.overtable_errors a:hover {
	color: #000;
}

/* Menü-Links */
.menu {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 2.3em;
	font-size: 0.9em;
}

.menu a {
    color: #333;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #e6e6e6;
}

.menu a:hover {
    color: #b81515;
}

/* Tabelle */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1em;
	max-width: 100%;
}

th, td {
    border: 1px solid #ccc;
    padding: 8px;
    text-align: left;
    vertical-align: top;
	page-break-inside: avoid;
}

th {
    background-color: #ddd;
	font-size: 0.9em;
}

tr {
	page-break-inside:avoid; page-break-after:auto; page-break-before: auto;
}

.mitgliedsnr_head {
	width: 100px;
}

.daten_head {
	
}

.aktionen_head {
	width: 70px;
}

.mitglieddata {
	padding-bottom: 0.1em;
}

.mitglieddata.smaller1 {
	font-size: 0.9em;
}

.mitglieddata.smaller2 {
	font-size: 0.8em;
}

.mitglieddata.notizen {
	border-left: 1.5px solid #000000;
	padding-left: 5px;
}

.mitglieddata.abstand {
	padding-bottom: 0.5em;
}

.red {
	color: #b81515;
}

.spankleiner {
	font-size: 0.9em;
}

.actions {
	line-height: 1.4em;
}

.actions a {
    display: inline-block;
    margin-right: 5px;
    text-decoration: none;
    color: #333;
}

.actions a:hover {
    color: #b81515;
}

.actions a.inactive {
	color: #999999;
}

.actions a.inactive:hover {
	color: #999999;
	cursor: not-allowed;
}

/* Such- & Filterleiste */
.filter-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    margin-bottom: 1em;
}

.filter-bar .search-wrapper {
    display: flex;
    align-items: center;
    gap: 5px;
	max-width: 100%;
}

.filter-bar .search-wrapper input[type="text"] {
    width: 380px;
    margin-bottom: 0;
}

.filter-bar .search-wrapper button {
    padding: 8px 12px;
    font-size: 0.9em;
}

.filter-bar select {
    width: auto;
    margin-bottom: 0;
}

/* Seiten-Navigation */
.pagination-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85em;
    margin-top: 10px;
}

.pagination {
    display: flex;
    align-items: center;
    gap: 5px;
}

.pagination button {
    padding: 5px 10px;
    font-size: 0.8em;
}

.entries-per-page {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.85em;
}

.entries-per-page label {
	padding-bottom: 1em;
}

/* Responsive */
@media (max-width: 768px) {
    .menu {
        flex-direction: column;
    }
    .filter-bar {
        flex-direction: column;
        align-items: flex-start;
    }
    .pagination-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .entries-per-page {
        align-self: flex-end;
    }
}
