/* ============================== CUSTOM CSS ============================== */

/* JU Logo */
.logo a::before {
	content: "";
	display: inline-block;
	width: 55px; 
	height: 55px; 
	background-image: url("../../../images/banners/ju.png");
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 20px;
   margin-top: 10px;
	vertical-align: middle;
}

/* Mobile Anpassungen */
@media (max-width: 767px) {
    .logo a::before {
        width: 20px; /* Breite des Bildes */
        margin-right: 6px;
        transform: translateY(20%);
    }
}

/* Megamenü Breite des Mitglieder Menüs */
#sp-menu .Mitglieder_menu > div {
    min-width: 280px;
}

/* Rechte Spalte */
#sp-right,
#sp-position1 {
	/*background: #E5E5E5 url(../../../images/backgrounds/bg-rightside.png) left top repeat-y;*/
	/*background: linear-gradient(to right, #d8d8d8, #b0b0b0);*/
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
	padding-right: 20px;
}

/* Component Bereich */
#sp-component {
	padding-bottom: 30px;
	padding-right: 30px;
}

/* Breadcrumb */
#sp-breadcrumb > div > div > div > nav {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

/* Zitat Modul mit Anführungszeichen */
#zitat-service {
  font-family: "Georgia", serif;
  background: #f8f8f8;
  border-left: 4px solid #555;
  padding: 20px 20px 20px 50px; /* mehr links für das Zitatzeichen */
  margin: 10px 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  border-radius: 4px;
  position: relative;
  color: #222;
}

#zitat-service div.quote::before {
  content: "“";
  font-size: 4em;
  color: #bbb;
  position: absolute;
  left: 10px;
  top: 5px;
  font-family: Georgia, serif;
  line-height: 1;
  user-select: none;
  pointer-events: none;
}

#zitat-service div.quote {
  font-style: italic;
  font-size: 1.1em;
  line-height: 1.5em;
  margin: 0; /* remove default margin */
}

#zitat-service div.quote a {
  text-decoration: none;
  color: #222;
  transition: color 0.2s ease-in-out;
}

#zitat-service div.quote a:hover {
  color: #006699;
}

#zitat-service div.quote div.source,
#zitat-service div.quote div.source a {
  display: block;
  margin-top: 8px;
  font-size: 0.9em;
  color: #666;
  text-align: right;
}

#zitat-service div.quote div.source a:hover {
  color: #444;
}

/* Newsfeed */
/* Gesamt-Container */
.newsfeed {
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: "Courier New", Courier, monospace; /* technischer Look */
    background-color: #2b2b2b; /* dunkler Hintergrund */
    border: 2px solid #556b2f; /* olivgrün */
    border-radius: 6px;
}

/* Einzelne News-Einträge */
.newsfeed li {
    border-bottom: 1px solid #556b2f;
    padding: 12px 16px;
    color: #e0e0c0; /* leicht gelblicher Text, wie Feldschriften */
}

/* Letztes Element ohne Trennlinie */
.newsfeed li:last-child {
    border-bottom: none;
}

/* Link-Stil */
.newsfeed .feed-link a {
    color: #b4d455; /* helles Militärgrün */
    text-decoration: none;
    font-weight: bold;
    text-transform: uppercase; /* wirkt wie ein Befehl */
}

.newsfeed .feed-link a:hover {
    color: #d4ff80;
    text-decoration: underline;
}

/* Datum im Stempel-Look */
.newsfeed .feed-item-date {
    font-size: 0.85em;
    color: #999966;
    margin-top: 4px;
    font-style: italic;
    border-left: 3px solid #556b2f;
    padding-left: 6px;
}

/* Beschreibung */
.newsfeed .feed-item-description {
    margin-top: 8px;
    line-height: 1.4;
}

/* Optional: militärische Symbolik vor jedem Eintrag */
.newsfeed li::before {
    content: "★";
    color: #b4d455;
    margin-right: 8px;
}



/* =============== Wicked Team Liste =============== */
#memberList > tbody > tr > td > span.list-published {
	display: none;
}

/* Privacy Settings Tab im Frontend bei Mitgliederbearbeitung */
#myTab > div > button:nth-child(4){
	display: none;
}

.control-group {
    display: flex;
    align-items: center; /* Vertikale Zentrierung, falls nötig */
    margin-bottom: 10px; /* Optionaler Abstand zwischen den Gruppen */
}

.control-label {
    width: 200px; /* Feste Breite für die Labels */
    text-align: left; /* Links ausgerichtet */
    margin-right: 10px; /* Optionaler Abstand zwischen Label und Wert */
}

.controls {
    flex: 1; /* Nimmt den restlichen verfügbaren Platz ein */
    text-align: left; /* Links ausgerichtet */
}

#jform_com_fields_events-lbl {
   display:none;
}

#fieldset-fields-5-ereignisse > div > div > div.control-label {
   display: none;
}

/* =============== LOGIN Form =============== */
#com-users-login__form div.controls input {
	width: 100%;
}

#com-users-login__form>fieldset>div.checkbox {
	padding-bottom: 20px;
	padding-top: 20px;
}


/* =============== Top menu =============== */
#sp-top1>div>ul>li.nav-item,
#sp-top2>div>ul>li.sp-contact-email {
	font-size: 90%;
	padding-left: 5px;
	padding-right: 5px;
	padding-top: 3px;
}

#sp-top1>div>ul>li.nav-item>a>i {
	/*color: #f6887b;*/
}

/* =============== Footer menu =============== */
#sp-footer-info ul {
   text-align: left;
   margin-bottom: 20px;
   padding-bottom: 20px;
}

#sp-footer2 > div > nav > div > ul > li > a {
   color: #b0b0b0;
}

#sp-footer-info h3,
#sp-user1 h3,
#sp-user2 h3,
#sp-user3 h3 {
   color: #f0f0f0;
   margin-left: auto;
    margin-right: auto;
}

#sp-footer-info ul li {
   border-bottom: none;
}

#sp-footer-info div.sp-module {
   padding-bottom: 20px;
}

#sp-footer {
   border-top: 1px solid #e8e8e8;
}


/* =============== Vorstandschafts Seite =============== */
.vs_image {

	width: 150px;

	border-bottom-color: #ddd;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-image-outset: 0 0 0 0;
	border-image-repeat: stretch stretch;
	border-image-slice: 100% 100% 100% 100%;
	border-image-source: none;
	border-image-width: 1 1 1 1;
	border-left-color: #ddd;
	border-left-style: solid;
	border-left-width: 1px;
	border-right-color: #ddd;
	border-right-style: solid;
	border-right-width: 1px;
	border-top-color: #ddd;
	border-top-style: solid;
	border-top-width: 1px;
	line-height: 20px;
	padding-bottom: 4px;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 4px;
	background-color: #EAEAEA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px 1px #bdbdbd;
	margin-bottom: 10px;
	margin-top: 10px;
}


#vs_table2 {
	display: flex;
	flex-direction: column;
}

#vs_table2 .vs_row {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #c5d5e3;
	/* Standard-Bottom-Border */
	padding: 10px 0;
	flex-wrap: wrap;
}

#vs_table2 .vs_row:last-child,
#vs_table2 .vs_row:nth-last-child(2) {
	border-bottom: none;
	/* Kein Bottom-Border für die letzten beiden */
}

.vs_row.vs_beisitzer {
	flex-wrap: wrap;
}

.vs_label {
	width: 150px;
	font-weight: bold;
	flex-shrink: 0;
	/* Verhindert, dass die Label-Spalte schrumpft */
}

.vs_content {
	text-align: center;
	font-weight: bold;
	margin-right: 30px;
	margin-bottom: 10px;
	margin-top: 10px;
}

.vs_content:last-child {
	margin-right: 0;
}

.vs_image {
	display: block;
	margin: 0 auto;
	margin-bottom: 10px;
}


/* =============== Artikel Ansicht =============== */
#sp-component>div>article>div.entry-image>img {
	border-bottom-color: #ddd;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-image-outset: 0 0 0 0;
	border-image-repeat: stretch stretch;
	border-image-slice: 100% 100% 100% 100%;
	border-image-source: none;
	border-image-width: 1 1 1 1;
	border-left-color: #ddd;
	border-left-style: solid;
	border-left-width: 1px;
	border-right-color: #ddd;
	border-right-style: solid;
	border-right-width: 1px;
	border-top-color: #ddd;
	border-top-style: solid;
	border-top-width: 1px;
	line-height: 20px;
	padding-bottom: 4px;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 4px;
	background-color: #EAEAEA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px 1px #bdbdbd;
	margin-bottom: 10px;
	margin-right: 15px;
}




/* Start Seite */
.ruxin_news {
   border-bottom-color: #ddd;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-image-outset: 0 0 0 0;
	border-image-repeat: stretch stretch;
	border-image-slice: 100% 100% 100% 100%;
	border-image-source: none;
	border-image-width: 1 1 1 1;
	border-left-color: #ddd;
	border-left-style: solid;
	border-left-width: 1px;
	border-right-color: #ddd;
	border-right-style: solid;
	border-right-width: 1px;
	border-top-color: #ddd;
	border-top-style: solid;
	border-top-width: 1px;
	line-height: 20px;
	padding-bottom: 4px;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 4px;
	background-color: #EAEAEA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px 1px #bdbdbd;
}


body .ruxin_news.news-block-29 {
	margin-bottom: 40px !important;
}






/* ============================== Kontakt Seite ============================== */

/* ---------- Allgemeine Struktur ---------- */
.com-contact.contact {
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  font-family: "Segoe UI", Roboto, sans-serif;
}

/* ---------- Header ---------- */
.com-contact .page-header h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #333;
}

/* ---------- Kontaktbild ---------- */
.com-contact__thumbnail img {
	border-bottom-color: #ddd;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-image-outset: 0 0 0 0;
	border-image-repeat: stretch stretch;
	border-image-slice: 100% 100% 100% 100%;
	border-image-source: none;
	border-image-width: 1 1 1 1;
	border-left-color: #ddd;
	border-left-style: solid;
	border-left-width: 1px;
	border-right-color: #ddd;
	border-right-style: solid;
	border-right-width: 1px;
	border-top-color: #ddd;
	border-top-style: solid;
	border-top-width: 1px;
	line-height: 20px;
	padding-bottom: 4px;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 4px;
	background-color: #EAEAEA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px 1px #bdbdbd;
	margin-bottom: 10px;
	margin-right: 15px;
}

/* ---------- Kontaktinformationen ---------- */
.com-contact__info dl {
  margin-top: 1rem;
}

.com-contact__info dt {
  font-weight: 600;
  margin-top: 1rem;
  color: #666;
}

.com-contact__info dd {
  margin-left: 0;
  margin-bottom: 0.5rem;
  color: #222;
}

/* ---------- Formular ---------- */
.com-contact__form {
  margin-top: 2rem;
}

.com-contact__form legend {
  font-size: 1.25rem;
  font-weight: 600;
  color: #444;
  margin-bottom: 1rem;
}

.com-contact__form .control-group {
  margin-bottom: 1rem;
}

.com-contact__form .control-label label {
  font-weight: 600;
  color: #333;
}

div.com-contact__container {
  padding-bottom: 40px;
}


.com-contact__form input,
.com-contact__form textarea {
  /*width: 100%;*/
  max-width: 100%;
  padding: 0.5rem;
  border-radius: 6px;
  border: 1px solid #ccc;
  transition: border 0.2s ease;
}

.com-contact__form input:focus,
.com-contact__form textarea:focus {
  border-color: #0d6efd;
  outline: none;
}

/* ---------- Checkbox / DSGVO ---------- */
#jform_consentbox {
  padding: 1rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #f8f9fa;
}

#jform_consentbox .form-check-label {
  font-size: 0.95rem;
}

/* ---------- Submit-Button ---------- */
.com-contact__form button.btn-primary {
  padding: 0.6rem 1.2rem;
  font-size: 1rem;
  border-radius: 6px;
  transition: background 0.2s ease;
}

.com-contact__form button.btn-primary:hover {
  background-color: #0b5ed7;
}

/* ---------- vCard-Link ---------- */
.com-contact__info a[href*="format=vcf"] {
  display: inline-block;
  margin-top: 1rem;
  color: #0d6efd;
  text-decoration: none;
}

.com-contact__info a[href*="format=vcf"]:hover {
  text-decoration: underline;
}
