body {
    background: #000;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

img {
    height: auto;
    max-width: 100%;
}

div.carousel-item img {
    object-fit: fill;
    width: 100%;
}

a {
    color: #428BCA;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

label {
    font-weight: normal;
}

figcaption {
    font-style: italic;
    font-size: 12px;
}

h1 {
    font-size: 21px;
    line-height: inherit;
    margin-top: 0;
    margin-bottom: 20px;
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
}

hr {
    /*! border-color: #E4E4E4; */
}

.navbar-gaming {
    margin-bottom: 0;
}

.navbar-gaming .navbar-nav > li > a:hover, .navbar-gaming .navbar-nav > li > a:focus {
    background-color: #32333B;
}

.navbar-gaming .dropdown-menu > li > a:hover,
.navbar-gaming .dropdown-menu > li > a:focus {
    text-decoration: none;
    color: #32333B;
    background-color: #32333B;
}

header .container {
    margin-top: 56px;
}

header .container .gaming {
    margin: 0;
    padding: 0;
    border-top: 0;
    position: relative;
}

@media (min-width: 768px) {
    header .container .gaming {
        margin: 0 10px;
    }
    header .container {
        margin-top: 0px;
    }
}

@media (min-width: 1200px) {
    header .container .gaming {
        margin: 0;
    }
}

@media (min-width: 768px) {
    header .container .gaming .carousel-control {
        width: 10%;
    }
}

header .container .gaming .carousel-indicators {
    bottom: 0;
    margin-bottom: 5px;
}

header .container .gaming .gaming-name {
    top: 0;
    left: 0;
    position: absolute;
    width: 70%;
    margin-left: 15%;
    padding: 10px 0;
    color: #FFF;
    font-size: 27px;
    text-shadow: 0 3px 10px #32333B;
    font-weight: bold;
    text-align: center;
    line-height: 25px;
}

@media (min-width: 768px) {
    header .container .gaming .gaming-name {
        top: 20px;
        padding: 15px 0;
        font-size: 32px;
    }
}

@media (min-width: 992px) {
    header .container .gaming .gaming-name {
        top: 30px;
        font-size: 37px;
    }
}

.container {
    margin-top: 15px;
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
}

@media (min-width: 768px) {
    .container {
        margin-top: 0;
        max-width: 100%;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 80%;
    }
}

.gaming {
    background-color: #F1F1F1;
    overflow: hidden;
}

@media (min-width: 768px) {
    .gaming {
        padding: 20px;
        margin: 10px;
        border: 5px solid #32333B
    }
}

@media (min-width: 992px) {
    .gaming {
        margin: 20px 10px;
    }
}

@media (min-width: 1200px) {
    .gaming {
        margin: 30px 0;
    }
}

/*-- breadcrumb -- */
.breadcrumb {
    background:#f5f5f5;
    padding: 8px 15px;
}

/*-- card-begin --*/
.card {
    margin-bottom:20px;
}

.card-gaming > .card-body li {
    display: block;
    text-align: left;
    margin-left: 0;
    line-height: 35px;
    border-bottom: 1px solid #DDD;
}

.card-gaming > .card-body a {
    color: #4295C9;
    text-decoration: none;
}

.card-gaming,
.card-default {
    border-radius: 0;
}

@media (min-width: 768px) {
    .card-gaming,
    .card-default {
        border-radius: 4px;
    }
}

.card-gaming > .card-header {
    color: #4295C9;
    background-color: #32333B;
    margin-top: 0;
    line-height: 20px;
    margin-bottom: 0;
    padding: 10px;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    text-rendering: optimizelegibility;
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
}

/*-- card Ende --*/
.ilch--new-message a.text-danger {
    color: #a94442;
}

.footer .container {
    margin-top: 15px;
}

@media (min-width: 768px) {
    .footer .container {
        margin-top: 0;
    }
}

.footer .container .gaming {
    margin: 0;
    padding: 15px 0;
    border-bottom: 0;
}

@media (min-width: 768px) {
    .footer .container .gaming {
        margin: 0 10px;
    }
}

@media (min-width: 1200px) {
    .footer .container .gaming {
        margin: 0;
    }
}

.footer .container .gaming ul {
    margin: 0;
    padding: 0;
}

.footer .container .gaming ul li {
    list-style-type: none;
    display: inline;
}

.footer .container .gaming ul li:after {
    content: ' | ';
}

.footer .container .gaming ul li:last-child:after {
    content: '';
}

.footer .container .gaming .row [class*="col-"]  {
    padding: 0 30px;
}

@media (min-width: 768px) {
    .footer .container .gaming .nav {
        text-align: right;
    }
}

@media (min-width: 768px) {
    .footer .container .gaming .nav {
        display:block;
    }
}
.btn {
    text-decoration: none !important;
}
.btn-primary,
.bg-primary{
    background-color:#337ab7 !important;
    color:#ffffff !important;
}
.btn-primary {
    border-color:#2e6da4;
}
.border-primary {
    border-color:#337ab7 !important;
}
/*-- begin carusel -- */

header .carousel-control.left{
    background-image: -webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);
    background-image: -o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);
    background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));
    background-image: linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
    background-repeat: repeat-x;
}

header .carousel-control.right{
    right: 0;
    left: auto;
    background-image: -webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);
    background-image: -o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);
    background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));
    background-image: linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
    background-repeat: repeat-x;
}

/*-- ende carusel -- */
.navbar-gaming >.container-fluid>#navbarNav {
    margin-top:8px;
    max-height:550px;
    overflow: scroll;
}

/* =========================================================================
   S.P.A.S 3D DRUCK - Theme-Erweiterung
   Ab hier: eigene Anpassungen auf Basis des Clan3Columns-Layouts.
   Bestehende Bootstrap-/Layout-Klassen werden nur farblich ueberschrieben,
   Struktur und Funktion bleiben unveraendert.
   ========================================================================= */

body {
  background-color: #060a12;
  background-image: url('img/background/nebula.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: scroll;
  color: #c9d6e4;
}

a {
  color: #4fc3f7;
}
a:hover {
  color: #7fd8ff;
}

h1 {
  color: #eef4fb;
  border-bottom: 1px solid rgba(79,195,247,0.3);
}

/* Navbar (mobile) */
.navbar-gaming {
  background: #05070d !important;
  border-bottom: 1px solid rgba(79,195,247,0.25);
}
.navbar-gaming .navbar-brand {
  color: #eef4fb !important;
  font-weight: 700;
}
.navbar-gaming .navbar-nav > li > a:hover,
.navbar-gaming .navbar-nav > li > a:focus {
  background-color: #101a2c;
  color: #4fc3f7;
}
.navbar-gaming .navbar-toggler {
  border-color: rgba(79,195,247,0.5) !important;
  background: #101a2c !important;
}
.navbar-gaming .navbar-toggler-icon {
  filter: invert(1) brightness(2);
}

/* Slider-Bereich / Kopfbereich mit Firmennamen */
header .container .gaming .gaming-name {
  color: #eef4fb;
  text-shadow: 0 0 14px rgba(79,195,247,0.6);
}

/* Haupt-Rahmen ("gaming"-Box um Slider/Content/Footer) */
.gaming {
  background-color: #0b1220;
  border-color: #29b6f6 !important;
}

/* Breadcrumb */
.breadcrumb {
  background: #0b1220;
  color: #8fa0b3;
}

/* Karten (Menue-Boxen links/rechts + Hauptinhalt) */
.card {
  background-color: #0b1220;
  border: 1px solid rgba(79,195,247,0.25);
  color: #c9d6e4;
}
.card-gaming > .card-body li {
  border-bottom: 1px solid rgba(79,195,247,0.15);
  list-style: none;
  margin-bottom: 8px;
}
.card-gaming > .card-body ul {
  padding-left: 0;
}
.card-gaming > .card-body a {
  color: #b9c8d8;
  display: block;
  padding: 10px 14px;
  background: #101a2c;
  border: 1px solid rgba(79,195,247,0.3);
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  transition: box-shadow .2s ease, border-color .2s ease, color .2s ease;
}
.card-gaming > .card-body a:hover {
  color: #ffffff;
  border-color: #4fc3f7;
  box-shadow: 0 0 14px rgba(79,195,247,0.5);
  text-decoration: none;
}
.card-gaming > .card-header {
  color: #eef4fb;
  background: linear-gradient(180deg,#132038 0%, #0a0f1a 100%);
  border-bottom: 1px solid rgba(79,195,247,0.25);
}
.card-default {
  background-color: #0b1220;
  color: #c9d6e4;
}
.card-default .card-body {
  color: #c9d6e4;
}
/* Haerterer Fallback: erzwingt lesbare Schrift auch dann, wenn der
   CKEditor/Artikel-Inhalt eine eigene (dunkle) Textfarbe mitbringt */
.card-default .card-body,
.card-default .card-body p,
.card-default .card-body span,
.card-default .card-body div,
.card-default .card-body li,
.card-default .card-body td,
.card-default .card-body th,
.card-default .card-body strong,
.card-default .card-body em,
.card-default .card-body b,
.card-default .card-body i,
.card-default .card-body u,
.card-default .card-body h1,
.card-default .card-body h2,
.card-default .card-body h3,
.card-default .card-body h4,
.card-default .card-body h5,
.card-default .card-body h6,
.card-default .card-body blockquote,
.card-default .card-body figcaption {
  color: #c9d6e4 !important;
}
.card-default .card-body a {
  color: #4fc3f7 !important;
}
.card-default .card-body p,
.card-default .card-body span,
.card-default .card-body div {
  background-color: transparent !important;
}

/* Buttons */
.btn-primary,
.bg-primary {
  background-color: #29b6f6 !important;
  border-color: #29b6f6 !important;
  color: #ffffff !important;
  box-shadow: 0 0 10px rgba(41,182,246,0.4);
}
.btn-primary:hover {
  box-shadow: 0 0 18px rgba(79,195,247,0.75);
}
.border-primary {
  border-color: #29b6f6 !important;
}

/* Footer */
.footer {
  background: #04060a;
  border-top: 1px solid rgba(79,195,247,0.25);
  color: #5c6b7c;
}
.footer .container .gaming {
  background: transparent;
  border: none !important;
}
.footer a {
  color: #9db2c7;
}
.footer a:hover {
  color: #4fc3f7;
}

/* =========================================================================
   Ideen-Katalog: Kontakt-Buttons zum Einfuegen in jeden Artikel
   (siehe Installationsanleitung - HTML-Baustein fuer den CKEditor)
   ========================================================================= */
.spas-inquiry-box {
  background: #101a2c;
  border: 1px solid rgba(79,195,247,0.3);
  border-radius: 10px;
  padding: 16px;
  margin: 16px 0;
}
.spas-inquiry-lead {
  color: #c9d6e4;
  margin: 0 0 12px 0;
  font-size: 14px;
}
.spas-inquiry-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.spas-inquiry-buttons a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
}
.spas-btn-whatsapp {
  background: #1fae5e;
  color: #ffffff !important;
  border: 1px solid #25d366;
}
.spas-btn-mail {
  background: linear-gradient(180deg,#4fc3f7 0%, #0a3d62 100%);
  color: #ffffff !important;
  border: 1px solid #29b6f6;
}
.spas-btn-form {
  background: #0b1220;
  color: #dce6f0 !important;
  border: 1px solid rgba(79,195,247,0.4);
}
.spas-btn-gallery {
  background: #0d2b28;
  color: #ffffff !important;
  border: 1px solid #38d9c9;
}
.spas-btn-gallery:hover {
  box-shadow: 0 0 16px rgba(56,217,201,0.55);
}

/* Startseite: Firmenpraesentation / Leistungs-Kacheln */
.spas-hero {
  text-align: center;
  padding: 24px 16px 8px;
}
.spas-hero h1 {
  border-bottom: none;
  margin-bottom: 10px;
}
.spas-hero p {
  color: #c9d6e4;
  max-width: 720px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.6;
}
.spas-service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 16px;
  margin: 24px 0;
}
.spas-service-tile {
  background: #0b1220;
  border: 1px solid rgba(79,195,247,0.3);
  border-radius: 10px;
  padding: 22px 14px;
  text-align: center;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display: block;
}
.spas-service-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 20px rgba(79,195,247,0.45);
  border-color: #4fc3f7;
}
.spas-service-tile i {
  font-size: 32px;
  color: #4fc3f7;
  margin-bottom: 10px;
  display: block;
}
.spas-service-tile span {
  color: #eef4fb;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .3px;
}

/* Ideen-Kacheln (falls du Bilder/Kacheln im Artikeltext einbaust) */
.spas-idea-price {
  color: #4fc3f7;
  font-weight: 600;
}

/* Mini-Galerie: Beispielbilder bereits gefertigter Projekte */
.spas-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.spas-gallery-grid img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(79,195,247,0.3);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  cursor: pointer;
}
.spas-gallery-grid img:hover {
  transform: scale(1.04);
  border-color: #4fc3f7;
  box-shadow: 0 0 16px rgba(79,195,247,0.5);
}

/* =========================================================================
   Genereller Schutz: unbekannte/unstile Boxen aus einzelnen Modulen
   (z.B. Galerie-Modul), die eigene Bootstrap-Karten ohne unsere Klassen
   mitbringen, werden automatisch mit eingedunkelt.
   ========================================================================= */
.card:not(.card-gaming):not(.card-default) {
  background-color: #0b1220 !important;
  color: #c9d6e4 !important;
  border-color: rgba(79,195,247,0.3) !important;
}
.card:not(.card-gaming):not(.card-default) .card-header {
  background: linear-gradient(180deg,#132038 0%, #0a0f1a 100%) !important;
  color: #eef4fb !important;
  border-color: rgba(79,195,247,0.25) !important;
}
.card:not(.card-gaming):not(.card-default) .card-body,
.card:not(.card-gaming):not(.card-default) a {
  color: #c9d6e4 !important;
}
.list-group-item {
  background-color: #0b1220 !important;
  color: #c9d6e4 !important;
  border-color: rgba(79,195,247,0.2) !important;
}

/* Dropdown-Filter-Menues (z.B. "Navigation"-Filter im Galerie-Modul) */
.dropdown-menu {
  background-color: #0b1220 !important;
  border: 1px solid rgba(79,195,247,0.3) !important;
}
.dropdown-item {
  color: #c9d6e4 !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: #101a2c !important;
  color: #4fc3f7 !important;
}
.dropdown-toggle {
  color: #eef4fb !important;
}
.dropdown-divider {
  border-color: rgba(79,195,247,0.2) !important;
}

/* =========================================================================
   Galerie-Modul: interne Filter-/Sortier-Leiste und Album-Kacheln
   ========================================================================= */
nav.navbar.bg-body-tertiary {
  background-color: #0b1220 !important;
  border-color: rgba(79,195,247,0.3) !important;
}
nav.navbar.bg-body-tertiary .navbar-brand {
  color: #eef4fb !important;
}
nav.navbar.bg-body-tertiary .nav-link {
  color: #b9c8d8 !important;
}
nav.navbar.bg-body-tertiary .nav-link:hover {
  color: #4fc3f7 !important;
}
nav.navbar.bg-body-tertiary .navbar-toggler {
  border-color: rgba(79,195,247,0.5) !important;
  background: #101a2c !important;
}
nav.navbar.bg-body-tertiary .navbar-toggler-icon {
  filter: invert(1) brightness(2);
}
nav.navbar.bg-body-tertiary .dropdown-menu {
  background-color: #0b1220 !important;
  border: 1px solid rgba(79,195,247,0.3) !important;
}
nav.navbar.bg-body-tertiary .dropdown-item {
  color: #b9c8d8 !important;
}
nav.navbar.bg-body-tertiary .dropdown-item:hover {
  background-color: #101a2c !important;
  color: #4fc3f7 !important;
}

.lib-panel {
  background-color: #0b1220 !important;
  border: 1px solid rgba(79,195,247,0.2);
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 10px;
}
.lib-panel a, .lib-header a {
  color: #4fc3f7 !important;
}
.lib-row, .lib-desc, .catinfo {
  color: #c9d6e4 !important;
}
.lib-header-seperator {
  border-color: rgba(79,195,247,0.2) !important;
}
