/*--------------------------------------*/
/*	CSS-Stylesheed - Meldeportal hjjv	*/
/*--------------------------------------*/

/* Scripte
------------------------------------*/
	@import url("../fonts/font-awesome/5.15.3/css/all.min.css");
	@import url("../fonts/open-sans.css");


/* Entwicklungstools
------------------------------------*/
/* hidden elements */
	.hidden {
		display: none;
	}

/* Struktur Elemente
------------------------------------*/
	body,
	html {
	  /*font-family: Arial, Helvetica, sans-serif;*/
	  font-family: "Open Sans", Arial, Helvetica, sans-serif;
	  font-size: 16px;
	  line-height: 1.5;
	  color: #444444;
	}
	body {
	  background-color: #fff;
	  overflow-y: scroll;
	  margin: 0px;
	}
	html {
	  scroll-behavior: smooth;
	  -webkit-scroll-behavior: smooth;
	  -ms-overflow-style: smooth;
	}

	/* Header-Icons */
	.header-icons-container {
	  height: auto;
	  padding-bottom: 0.25%;
	  background-color: #025797;
	}
	.header-icons-wrap {
	  max-width: 1140px;
	  margin-left: auto;
	  margin-right: auto;
	}
	.header-icons {
	  width: 100%;
	}

	/* Headline */
	.header-colorline {
	  display: block;
	  height: 55px;
	  background-color: #336398;
	  color: #fff;
	  padding: 5px 5px 5px 20px;
	  font-weight: bold;
	}
	.headline-container {
	  position: relative;
	  width: 100%;
	  height: 85px;
	  z-index: 99;
	  background-color: #fff;
	  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
	  -webkit-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
	  -moz-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
	}
	.headline-wrap {
	  background-color: #fff;
	  position: relative;
	  max-width: 1140px;
	  margin-left: auto;
	  margin-right: auto;
	}
	.headline-logo-wrap {
	  background-color: #fff;
	}
	.headline-logo {
	  padding: 5px;
	  height: 80px;
	  max-height: 100%;
	}
	.headline-slogan {
	  position: absolute;
	  top: 15px;
	  left: 235px;
	  font-size: 35px;
	  color: #14394b;
	  text-transform: uppercase;
	  font-weight: bold;
	  letter-spacing: 3px;
	  word-spacing: 2px;
	}
	.break-slogan {
	  display: none;
	}
	.no-padding {
	  padding: 0;
	}

/* Content */
	.container-xl {
	  padding: 0;
	}
	.content {
	  /*background-color: white;*/
	}
	section {
	  padding: 10px 10px 20px 10px;
	}
	.row {
	  margin: 0;
	}
	section:first-child {
	  border-top: none;
	  /*padding-top: 0;*/
	}


/* Footer */

/* Allgemeine Container-Styles */
	.footer-1-container,
	.footer-3-container {
	    width: 100%;
	    background-color: #222;
	    color: white;
	}

	.footer-1-container {
	    min-height: 150px;
	    padding: 10px;
	    font-size: 16px;
	}

	.footer-2-container {
	    position: relative;
	    background-color: #fff;
	}

	.footer-3-container {
	    position: relative;
	}

	/* Wrap-Styles für zentrierte Inhalte */
	.footer-1-wrap,
	.footer-2-wrap,
	.footer-3-wrap {
	    max-width: 1140px;
	    margin: 0 auto;
	}

	.footer-1-wrap {
	    padding-top: 15px;
	}

	.footer-3-wrap {
	    display: flex;
	    justify-content: space-between;
	    align-items: center;
	    height: 60px;
	}

	/* Footer 3 Text */
	.footer-3-txt {
	    padding: 22px;
	    font-size: 14px;
	    height: 60px;
	}

	/* Footer Links */
	.footer-3-links a {
	    color: white;
	    text-decoration: none;
	    transition: opacity 0.3s ease, text-decoration 0.3s ease;
	}

	.footer-3-links a:hover {
	    text-decoration: underline;
	    color: ;
	}

	/* Zusätzlicher Kommentar: Deaktivierte Stile (zur späteren Nutzung) */
	/*
	.footer-2-container {
	    border-top: 1px solid rgba(255, 255, 255, 0.25);
	}
	*/

/* Tabellenstruktur in edit.php */
	.info-table {
	    width: 100%;
	    border-collapse: collapse;
	    margin-bottom: 1rem;
	}

	.info-table th,
	.info-table td {
	    border: 1px solid #ddd;
	    padding: 8px;
	    text-align: center;
	}

	.info-table th:first-child,
	.info-table td:first-child {
	    text-align: left;
	}

	.info-table th {
	    background-color: #f4f4f4;
	    font-weight: bold;
	    position: sticky;
	    top: 0;
	    z-index: 1;
	}

	.info-table tr:nth-child(even) {
	    background-color: #f9f9f9;
	}

	.info-table tr:hover {
	    background-color: #f1f1f1;
	}

	.info-table a:hover {
	    text-decoration: underline;
	}

	.info-table i {
	    margin-inline-end: 5px; /* Moderne Eigenschaft für Richtungskompatibilität */
	}


/* Stilelemente
------------------------------*/
/* Nach-Oben-Button */
	.gototop {
		position: fixed;
		bottom: 30px;
		right: 30px;
		z-index: 99;
		width: 50px;
		height: 50px;
		border: 1px solid #fff;
		border-radius: 25px;
		background-color: #336398;
		padding-top: 8px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
	}
	.gototop:hover {
		color: white;
		transform: translateY(-10px);
		transition: transform cubic-bezier(0.5, 3, 0.8, 0.5) 0.5s;
	}
	.fa-chevron-up {
		font-weight: bold;
	}

/* Schriften
------------------------------------*/
	.h_head {
		margin-top: 30px;
		margin-left: 25px;
		color: #025797;
	  	font-size: 36px;
	  	text-transform: uppercase;
	  	font-weight: bold;
	  	letter-spacing: 0.1em;
	}
	.h_bold	{
		margin-top: 15px;
	}
	h1 {
	  font-size: 1.9rem;
/*	  margin-top: 10px;*/
	  margin-bottom: 20px;
	  color: #025797;
	}
	footer h1 {
	  font-size: 1.3em;
	  margin-bottom: 10px;
	  color: white;
	}
	h2 {
	  font-size: 16px;
	  color: #444444;
	  margin-top: 20px;
	  margin-bottom: 3px;
	  font-weight: bold;
	}
	.nonspacing {
		white-space: nowrap;
	}
	.italic {
		font-style: italic;
	}
	.infoframe {
		background-color: #EBEBEB;
		padding: 15px;
	}
	.txt-colered {
		color: #025797;
	}

/* Links
------------------------------------*/
	a {
 		color: #336398;
 		text-decoration: none;
 	}
	a:hover {
		color: #336398;
 		transition: 0.4s;
 		text-decoration: underline;
 	}

/* Absätze
------------------------------------*/
	p.explain {
		font-weight: normal;
		margin: 5px 0 15px 0;
	}
	p.note, span.note {
		font-style: italic;
		margin: 5px 0 5px 0;
	}
	.hinweis {
		font-style: italic;
	}
	.initial {
		font-size: 300%;
		line-height: 1;
		float: left;
		padding-right: .125em;
		color: #14394b;
	}
	hr {
		border-color: #025797;
		border-width: 2px;
		margin-bottom: 35px;
	}
	.break-sm {
		display: none;
	}

/* Header Farben für Cards Hessenseminar
------------------------------------*/
	.header-pa {
	    background-color: grey;
	    color: #fff;
	}
	.header-fr {
	    background-color: #336398;
	    color: #fff;
	}

	.header-sa {
	    background-color: #f39c12; /* statt orange */
	    color: #000;
	}

	.header-so {
	    background-color: #c0392b; /* statt red */
	    color: #fff;
	}

/* Toasts
------------------------------------*/
	.toast-custom {
	    min-width: 280px;
	    margin-bottom: 10px;
	    opacity: 0;
	    transform: translateX(100%);
	    transition: all 0.4s ease;
	}

	.toast-custom.show {
	    opacity: 1;
	    transform: translateX(0);
	}

	.toast-success { background-color: #28a745; color: #fff; }
	.toast-error   { background-color: #dc3545; color: #fff; }
	.toast-warning { background-color: #ffc107; color: #212529; }
	.toast-info    { background-color: #17a2b8; color: #fff; }

	.toast-icon {
	    margin-right: 10px;
	}

	.toast-custom {
	    position: relative;
	    overflow: hidden;
	}

/* Fortschrittsbalken */
	.toast-progress {
	    position: absolute;
	    top: 0;
	    left: 0;
	    height: 4px;
	    width: 100%;
	    background: rgba(255,255,255,0.7);
	    transform: scaleX(1);
	    transform-origin: right;
	}

/* Animation */
	.toast-progress.animate {
	    transition: transform linear;
	    transform: scaleX(0);
	}

/*	.toast-body {
    	padding-top: 10px;
	}
*/
/* Modal
------------------------------------*/
	.modal-header {
		background-color: #025797;
		color: white;
		font-size: 18px;
		border-top-right-radius: 0;
		border-top-left-radius: 0;
	}
	.modal-title {
		color: white;
		font-size: 18px;
	}
	.modal-header-kritisch {
		background-color: #ce0009;
	}
	.modal-footer {
		background-color: #fff;
		color: white;
		padding-top: 3px;
		padding-bottom: 8px;
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0
	}
	.modal-content{
		margin-top: 0;
	}
	.close {
		color: #fff;
		opacity: 1;
	}
	.close:hover {
		color: #fff;
		opacity: 0.3;
	}
	.modalsummery p {
	    margin: 10px 0;
	}
/*	.modalsummery strong {
	    display: inline-block;
	    width: 185px;
	    vertical-align: top;
	}*/
	.modalsummery span {
	    display: inline-block;
	/*    vertical-align: top;*/
	/*    margin-top: 6px; /* Optional, um etwas Abstand zu erzeugen */
	}
	.progress {
		height: 22px;
	}
	.progress-bar {
		background-color: #025797;
	}
	.spinner {
		margin-top: 10px;
	}
	.spinner-border {
	  display: inline-block;
	  width: 20px;
	  height: 20px;
	  vertical-align: text-bottom;
	  border: .25em solid currentColor;
	    border-right-color: currentcolor;
	  border-right-color: transparent;
	  border-radius: 50%;
	  -webkit-animation: .75s linear infinite spinner-border;
	  animation: .75s linear infinite spinner-border;
	}


/* Aufzählungslisten
------------------------------------*/
/* Allgemein */
	ul {
		list-style-type: square;
	}
	li {
		padding-bottom: 0.2rem;
	}

/* Footer */
	.fa-ul > li {
		margin-left: -15px;
	}

/* Logos */
/* -------------------------- */
	.logo-kontakt img {
		float: right;
		width: 175px;
		background-color: white;
	}
/* logos-impressum */
	.table {
	   display: table;
	}
	.tr {
		display: table-row;
	}
	.td {
		display: table-cell;
		vertical-align: top;
	}

/* Ausgabeseiten
------------------------------------*/
	.info-row {
	    display: flex;
	    justify-content: space-between;
	    margin-bottom: 3px; /* optional, für den Abstand zwischen den Zeilen */
	}
	.info-row b {
	    width: 135px; /* Die Breite für das Label */
	}
	.info-row span {
	    flex: 1; /* Der Wert nimmt den verbleibenden Platz ein */
	}
	.info-row-hr {
	    border: 1px solid #ccc;
	    margin-top: 10px;
	    margin-bottom: 10px;
	}

/* Eingabeseiten
------------------------------------*/

/* Header */
	p.header {
		font-size: 16px;
		font-weight: bold;
	}

/* Fragen */
	.wrap {
		background-color: white;
		padding: 10px;
		min-height: 675px;
/*		margin-bottom: 50px;*/
	}
	section.question {
		border-top: 1px solid #14394b;
		padding: 0;
	}
	section.button {
		border-top: 1px solid #14394b;
	}

	article.question {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	p.question {
		margin: 5px 0 5px 0;
	}
	fieldset {
		background-color: #E9E9E9;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.show-info {
		cursor: pointer;
		color: #14394b;
	}

/* Label */
	label {
		cursor: pointer;
		margin: 5px 5px 5px 5px;
	}

/* Inputfelder */
	input[type="text"],
	input[type="number"],
	input[type="tel"],
	select {
		border: 2px solid #D5D5D5;
		transition: border 0.3s ease-in-out;
		box-shadow: none;
		margin: 5px 0px 5px 0px;
		padding: 3px;
		border-radius: 5px;
		color: #383737;
		background-color: white;
	}
	input[type="text"]:focus,
	input[type="number"]:focus,
	input[type="tel"]:focus,
	select:focus,
	input[type="text"]:hover,
	input[type="tel"]:hover,
	select:hover {
		outline: none;
		border: 2px solid #336398;
		box-shadow: 0 4px 8px rgba(51, 99, 152, 0.2);
	}
	.ip-txt-max {
		width: 100%;
	}
	.ip-txt-xl {
		width: 80%;
	}
	.ip-txt-lg {
		width: 60%;
	}
	.ip-txt-md {
		width: 40%;
	}
	.ip-txt-sm {
		width: 25%;
	}
	.ip-txt-sm-r {
		text-align: right;
		width: 45px;
	}
	.ip-txt-r {
		text-align: right;
	}
	.img-pulldown {
		height: 20px;
	}
	span.hhb-4 {
		display: inline-block;
		min-width: 135px;
	}
	span.hhb-5 {
		display: inline-block;
		min-width: 145px;
	}
	span.labelafter {
		display: inline-block;
		margin-left: 5px;
		min-width: 115px;
	}
	.break-input-txt {
		display: none;
	}
/* Kommentarfelder */
	textarea {
		border: 2px solid #D5D5D5;
		transition: border 0.3s ease-in-out;
		box-shadow: none;
		border-radius: 5px;
		height: 100px;
		width: 100%;
		padding: 0.5em;
		color: #383737;
	}
	textarea:hover,
	textarea:focus {
		border: 2px solid #336398;
		box-shadow: 0 4px 8px rgba(51, 99, 152, 0.2);
		outline: none;
	}

/* Uploadfelder */
    .custom-file-input + .custom-file-label::after {
        content: "Durchsuchen";
    }
    /* Hand-Cursor */
    .custom-file-input:hover,
    .custom-file-label:hover {
/*        border: 2px solid #336398;*/
        cursor: pointer;
    }

/* Button */
	.btn {
		margin-top: 10px;
		border-radius: 5px;
	}
	.btn-login {
		padding-right: 25px;
		padding-left: 25px;
	}
	section.button {
		text-align: right;
		/*margin: 0 10px 0 10px;*/
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.btn-primary,
	.btn-warning {
		color: #fff;
		background-color: #919190;
		border-color: #919190;
/*		border-radius: 20px;*/
	}
	.btn-primary:hover,
	.btn-primary:focus {
		outline: none;
		color: #fff;
		background-color: #336398;
		border-color: #336398;
	}
	.btn-primary:active {
		color: #fff;
		background-color: #919190;
		border-color: #919190;
	}
	.btn-warning:hover  {
		color: #fff;
		background-color: #990A10;
		border-color: #990A10;
	}
	.btn-warning:focus  {
		color: #ffffff;
		background-color: #990A10;
	}
	.btn-danger {
		color: #fff;
		background-color: #919190;
		border-color: #919190;
/*		border-radius: 20px;*/
	}
	.btn-danger:hover {
		color: #fff;
		background-color: #990A10;
		border-color: #990A10;
	}

/* Formularvalidierung
------------------------------------*/
/* Hauptformular */
	.meldung-invalid {
		color: #CE0009;
		text-align: center;
		border: 1px solid;
		padding: 5px 0 5px 0;

	}
	#meldung-invalid {
		border-top: 1px solid #14394b;
		padding: 10px 0 10px 0;
	}
	.invalid {
		border: 2px solid #CE0009 !important;
	}
	.fs-invalid {
		border-left: 4px solid #CE0009;
		padding: 11px;
	}
	.red {
		color: #c30c0e;
	}

/* jQuery UI-Plugin
------------------------------------*/
/* Drop-Down-Menu Autocomlete-Plugin */
	.ui-menu .ui-menu-item-wrapper {
		padding: 1px 1em 1px .4em;
	}
	.ui-menu .ui-menu-item-wrapper.ui-state-active  {
		border: none !important;
		background-color: #336398;
	}
	.ui-widget  {
		font-size: 16px !important;
	}

/* Custom Checkboxen (browserkompatibel)
------------------------------------*/
	input[type="checkbox"].custom-checkbox {
	    opacity: 0;
	}

	input[type="checkbox"].custom-checkbox + label:before {
	    content: "";
	    width: 18px;
	    height: 18px;
	    border-radius: 0;
	    border: 1px solid #898989;
	    background-color: #ffffff;
	    display: block;
	    float: left;
	    margin: 3px 10px 4px -20px;
	    transition: background-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
	    -webkit-transition: background-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out; /* für ältere WebKit-Browser */
	}

	input[type="checkbox"].custom-checkbox:hover + label:before,
	input[type="checkbox"].custom-checkbox:focus + label:before {
	    background: #CDCDCD;
	    box-shadow: inset 0 0 0 3px white;
	    -webkit-box-shadow: inset 0 0 0 3px white; /* für ältere WebKit-Browser */
	}

	input[type="checkbox"].custom-checkbox:checked + label:before {
	    box-shadow: inset 0 0 0 3px #ffffff;
	    -webkit-box-shadow: inset 0 0 0 3px #ffffff; /* für ältere WebKit-Browser */
	    background: #336398;
	    border-color: #336398;
	}

	input[type="checkbox"].custom-checkbox:checked:hover + label:before,
	input[type="checkbox"].custom-checkbox:checked:focus + label:before {
	    background: #336398;
	    box-shadow: inset 0 0 0 3px #ffffff, 0 0 3px #336398;
	    -webkit-box-shadow: inset 0 0 0 3px #ffffff, 0 0 3px #336398; /* für ältere WebKit-Browser */
	}

/* Custom Radiobuttons (browserkompatibel)
------------------------------------*/
	.labelspacer {
margin-bottom: 15px;
	}

	input[type="radio"].custom-radio {
	    opacity: 0;
	    position: absolute;
	}

	input[type="radio"].custom-radio + label {
	    position: relative;
	    padding-left: 30px;
	    display: block;
	    line-height: 1.4; /* Bessere Lesbarkeit */
	}

	input[type="radio"].custom-radio + label:before {
	    content: "";
	    width: 18px;
	    height: 18px;
	    border-radius: 50%;
	    border: 1px solid #898989;
	    background-color: #ffffff;
	    position: absolute;
	    left: 0;
	    top: 2px; /* Korrekte Position */
	    transition: background-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
	    -webkit-transition: background-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out; /* Webkit */
	}

	input[type="radio"].custom-radio:hover + label:before,
	input[type="radio"].custom-radio:focus + label:before {
	    box-shadow: inset 0px 0px 0px 3px #ffffff;
	    -webkit-box-shadow: inset 0px 0px 0px 3px #ffffff; /* Webkit */
	    background: #CDCDCD;
	}

	input[type="radio"].custom-radio:checked + label:before {
	    background: #336398;
	    border-color: #336398;
	    box-shadow: inset 0 0 0 3px #ffffff;
	    -webkit-box-shadow: inset 0 0 0 3px #ffffff; /* Webkit */
	}

	input[type="radio"].custom-radio:checked:hover + label:before,
	input[type="radio"].custom-radio:checked:focus + label:before {
	    background: #336398;
	    box-shadow: inset 0 0 0 3px #ffffff, 0 0 3px #336398;
	    -webkit-box-shadow: inset 0 0 0 3px #ffffff, 0 0 3px #336398; /* Webkit */
	}


/* Media-Querys
------------------------------------*/
/* Entspricht Bootstrap Extra large .col-xl */
@media only screen and (max-width: 1199px) {
	h1 {
		font-size: 1.5rem;
	}
}

/* Entspricht Bootstrap Large .col-lg */
@media only screen and (max-width: 991px) {
	.footer-back {
	  bottom: 60px;
	}
}

/* Entspricht Bootstrap Medium .col-md
----------------------------------------*/
@media only screen and (max-width: 767px) {
/* Header */
	.headline {
		height: 50px;
		font-size: 1.0rem;
		padding: 2px 0 0 110px;
	}
	.container-xl {
/*		margin-top: 25px;*/
	}
/* Footer */
	.footer-back {
	  display: none;
	}
	.footer-3-wrap {
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
}

	.footer-3-txt {
		padding: 10px;
		font-size: 14px;
		height: 60px;
}

/* Schriften */
	h2 {
		font-size: 1.2em;
	}
	.headline-slogan {
		position: absolute;
		top: 12px;
		left: 235px;
		font-size: 20px;
	}
	.break-slogan {
		display: block;
	}

}

/* Entspricht Bootstrap Small .col-sm
---------------------------------------------*/
@media only screen and (max-width: 575px) {

/* Custom Chekboxen
------------------------------------*/
	input[type="checkbox"].custom-checkbox {
	    display: none;
	}
	input[type="checkbox"].custom-checkbox + label:before {
	    margin: 3px 10px 4px -3px;
	}

/* Custom Radiobutton
------------------------------------*/
	input[type="radio"].custom-radio {
		display: none;
	}
	input[type="radio"].custom-radio + label:before {
		margin: 3px 10px 4px -3px;
	}
/* Schriften */
	h1 {
		font-size: 20px;
	}
	.margin-top-20 {
		margin-top: 20px;
	}

/* Formulare */
	select {
	    width: 100%;
	}
	.btn {
		width: 100%;
	}
	.break-input-txt {
		display: block;
	}
	.ip-txt-lg {
		width: 100%;
	}
	.ip-txt-sm {
		width: 40%;
	}
	.break-sm {
		display: block;
	}

/* Smartphone portrait
---------------------------------------------*/
@media only screen and (max-width: 400px) {
	.header-colorline {
		display: none;
	}
	.headline-slogan {
	    display: none;
	}
	.logo-hjjv-footer {
	    display: none;
	}
	.ip-txt-sm {
		width: 100%;
	}
	.copyright {
		text-align: center;
	}
}
