Files
Theme.SZUAbsolventenverein/Client/wwwroot/Themes/SZUAbsolventenverein.Theme.Website/Theme.css

433 lines
9.2 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ===========================
Standard Layout
=========================== */
body {}
/* Oqtane Control Panel / Bootstrap Overlays über dem Menü anzeigen */
.offcanvas,
.offcanvas-backdrop,
.modal,
.modal-backdrop {
z-index: 2000 !important;
}
.offcanvas.show {
z-index: 2001 !important;
}
/* Login-Button (Mobile + Desktop) */
.app-menu-footer .btn-login,
.app-menu-footer .login-btn,
.app-menu-footer button,
.app-menu-footer a {
background-color: #ffffff !important;
border: 1px solid #ccc !important;
color: #555 !important;
padding: 6px 14px !important;
border-radius: 6px !important;
font-weight: 500 !important;
}
/* Hover-Effekt */
.app-menu-footer .btn-login:hover,
.app-menu-footer .login-btn:hover,
.app-menu-footer button:hover,
.app-menu-footer a:hover {
background-color: #f2f2f2 !important;
border-color: #bbb !important;
color: #333 !important;
}
.content {
margin-top: 60px;
/* ungefähr Höhe der Navbar */
}
/* App Logo */
.app-logo .img-fluid {
max-height: 90px;
padding: 0 5px 0 5px;
}
.table> :not(caption)>*>* {
box-shadow: none;
}
.table .form-control {
background-color: #ffffff !important;
border-width: 0.5px !important;
border-bottom-color: #ccc !important;
color: #000 !important;
}
.table .form-select {
background-color: #ffffff !important;
border-width: 0.5px !important;
border-bottom-color: #ccc !important;
color: #000 !important;
}
.bg-primary {
background-color: #b1b0b0 !important;
}
.table .btn-primary {
background-color: var(--bs-primary);
}
.table .btn-secondary {
background-color: var(--bs-secondary);
}
.alert-dismissible .btn-close {
z-index: 1;
}
.dropdown-menu {
background-color: grey;
}
.controls {
z-index: 2000;
padding-top: 15px;
padding-bottom: 15px;
margin-right: 10px;
}
.footer {
padding-top: 15px;
min-height: 40px;
text-align: center;
color: #ffffff;
z-index: 1000;
}
/* ===================================================
NAVBAR / BURGER / SIDEBAR
=================================================== */
/* Navbar als durchgehende Flex-Zeile */
.app-navbar {
display: flex;
flex-wrap: nowrap;
/* NICHT umbrechen auf Desktop */
align-items: center;
justify-content: flex-start;
z-index: 1000;
}
.app-navbar-left,
.app-navbar-right {
display: flex;
align-items: center;
}
/* etwas Luft zwischen Logo und Menü */
.app-navbar-left {
margin-right: 1rem;
}
/* Versteckte Checkbox steuert die Sidebar */
.nav-toggle {
display: none;
}
/* Burger-Icon (wird nur auf Mobil eingeblendet) */
.nav-toggle-label {
display: none;
/* nur auf Mobil sichtbar */
cursor: pointer;
padding: 0.25rem 0.5rem;
margin-left: auto;
}
.nav-toggle-label span {
display: block;
width: 22px;
height: 2px;
margin: 4px 0;
background-color: #ffffff;
}
/* Menü-Container */
.app-menu {
display: flex;
background-color: #b1b0b0;
}
/* Bereich für die Seitenlinks Basis: horizontales Flex */
.app-menu-items {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
align-content: center;
}
/* Bereich für Login/Register */
.app-menu-footer {
display: flex;
gap: 0.5rem;
}
/* Dropdown-Wrapper: relative positioniert für absolutes Dropdown */
.nav-item-dropdown {
position: relative;
}
/* Link + Toggle-Button nebeneinander */
.nav-link-row {
display: flex;
align-items: center;
gap: 0;
}
/* Toggle-Button für Mobile */
.dropdown-toggle-btn {
background: none;
border: none;
color: white;
cursor: pointer;
padding: 6px 8px;
font-size: 1rem;
line-height: 1;
}
/* Dropdown-Pfeil */
.dropdown-arrow {
font-size: 0.8em;
opacity: 0.7;
display: inline-block;
transition: transform 0.2s ease;
}
/* Pfeil dreht sich wenn offen */
.dropdown-arrow.open {
transform: rotate(180deg);
}
/* Untermenü: standardmäßig versteckt */
.app-submenu {
display: none;
position: absolute;
top: 100%;
left: 0;
min-width: 180px;
background-color: #9a9999;
border-radius: 6px;
padding: 0.5rem 0;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
z-index: 2000;
flex-direction: column;
}
/* Dropdown bei Hover öffnen */
.nav-item-dropdown:hover > .app-submenu {
display: flex;
}
/* Nav-Items */
.app-menu .nav-item {
padding-bottom: 0.25rem;
}
/* Sub-Items im Dropdown: volle Breite */
.app-submenu .nav-item {
padding: 0;
width: 100%;
}
.app-submenu .nav-link {
padding: 6px 16px;
border-radius: 0;
white-space: nowrap;
display: block;
width: 100%;
}
.app-submenu .nav-link:hover {
background-color: rgba(0, 0, 0, 0.25);
}
/* Hover-/Active-Style für Links */
.app-menu .nav-link {
padding: 6px 12px;
border-radius: 6px;
transition: background-color 0.2s ease, color 0.2s ease, font-weight 0.2s ease;
}
/* Hover: dunkler Hintergrund */
.app-menu .nav-link:hover {
background-color: rgba(0, 0, 0, 0.35);
color: #ffffff !important;
}
/* Aktive Seite: dunkel + fett */
.app-menu .nav-link.active {
background-color: rgba(0, 0, 0, 0.45);
color: #ffffff !important;
font-weight: 700;
}
/* ===========================
DESKTOP (ab 768px)
=========================== */
@media (min-width: 1000px) {
/* Navbar ist Referenz für die absolute Zentrierung */
.app-navbar {
display: flex !important;
flex-wrap: nowrap !important;
align-items: center !important;
justify-content: flex-start !important;
position: relative !important;
min-height: 60px;
/* optional: fixe Höhe */
}
/* Menü nur als Container für den Footer */
.app-menu {
display: flex !important;
flex-direction: row !important;
align-items: center !important;
flex: 1 1 auto !important;
gap: 0.75rem !important;
position: static !important;
width: auto !important;
}
/* NAV-LINKS: exakt in der Mitte der ganzen Navbar / Seite */
.app-menu-items {
position: absolute !important;
left: 50% !important;
top: 50% !important;
transform: translate(-50%, -50%) !important;
display: flex !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
gap: 0.75rem !important;
width: auto !important;
z-index: 1;
}
/* Login/User bleiben im Menü, aber rechts */
.app-menu-footer {
display: flex !important;
gap: 0.75rem !important;
margin-left: auto !important;
/* schiebt Footer nach rechts */
padding: 0 !important;
border: none !important;
background: none !important;
width: auto !important;
}
.app-menu .nav-item {
display: inline-block !important;
}
}
/* ===========================
MOBILE (unter 768px)
=========================== */
@media (max-width: 1000px) {
.navbar {
position: fixed;
top: 0;
width: 100%;
z-index: 1000;
}
/* Platz unter der Navbar */
.content {
position: relative;
top: 150px;
}
/* Burger sichtbar machen */
.nav-toggle-label {
display: flex;
flex-direction: column;
justify-content: center;
}
/* Sidebar-Wrapper rechts */
.app-menu {
position: fixed;
top: 80px;
/* Abstand von oben (über der Navbar + Burger) */
right: 0;
bottom: 0;
width: 70%;
max-width: 280px;
/* Höhe an das neue top anpassen */
background-color: #b1b0b0;
flex-direction: column;
align-items: stretch;
padding: 1rem;
gap: 0.5rem;
transform: translateX(100%);
transition: transform 0.3s ease;
z-index: 1500;
}
/* Seitenlinks vertikal + scrollbar + zentriert */
.app-menu-items {
flex: 1;
overflow-y: auto;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 0.25rem;
}
/* Footer (Login/Register) fixiert unten */
.app-menu-footer {
width: 100%;
padding-top: 0.5rem;
border-top: 1px solid rgba(255, 255, 255, 0.25);
display: flex;
flex-direction: column;
/* untereinander statt nebeneinander */
gap: 0.5rem;
/* Abstand zwischen Host und Logout */
justify-content: right;
}
/* Sidebar öffnen/schließen über Checkbox */
.nav-toggle:checked~.app-menu {
transform: translateX(0);
}
.app-menu .nav-link {
width: 100%;
display: block;
font-size: clamp(12px, 3.5vw, 15px);
}
/* Mobile: Dropdown standardmäßig versteckt */
.app-submenu {
position: static !important;
min-width: unset !important;
box-shadow: none !important;
background-color: transparent !important;
padding: 0 !important;
padding-left: 1rem !important;
border-radius: 0 !important;
display: none !important;
}
/* Mobile: Dropdown nur öffnen wenn angeklickt */
.app-submenu.mobile-open {
display: flex !important;
flex-direction: column;
}
}