/*
 * TeileLocator – öffentliche Seiten (Bootstrap 5)
 *
 * Das Layout entspricht der bisherigen Bootstrap-3-Version (web/).
 * Der erste Abschnitt stellt dafür die Bootstrap-3-Grundwerte wieder her
 * (14px Schrift, 1170px Container, 30px Spaltenabstand, Überschriften, Buttons, Tabs).
 */

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../../fonts/open-sans-v20-latin-regular.woff2') format('woff2'),
       url('../../fonts/open-sans-v20-latin-regular.woff') format('woff');
}

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../../fonts/open-sans-v20-latin-700.woff2') format('woff2'),
       url('../../fonts/open-sans-v20-latin-700.woff') format('woff');
}

/* ------------------------------------------------------------------ */
/* Bootstrap-3-Grundwerte                                               */
/* ------------------------------------------------------------------ */

html {
  font-size: 14px;
}

:root {
  --bs-body-font-family: 'Open Sans', sans-serif;
  --bs-body-font-size: 14px;
  --bs-body-line-height: 1.428571;
  --bs-body-color: #333;
  --bs-link-color-rgb: 51, 122, 183;
  --bs-link-hover-color-rgb: 35, 82, 124;
  --bs-border-radius: 4px;
}

a {
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: underline;
}

p {
  margin-bottom: 10px;
}
ol, ul, dl {
  margin-bottom: 10px;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.1;
}
h1, h2, h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
h4, h5, h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}
h1 { font-size: 36px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }

hr {
  margin: 20px 0;
  border-top: 1px solid #eee;
  opacity: 1;
}

/* Container und Raster wie Bootstrap 3 */
.container, .container-fluid, .row {
  --bs-gutter-x: 30px;
}
.container {
  max-width: none;
}
@media (min-width: 768px) {
  .container { max-width: 750px; }
}
@media (min-width: 992px) {
  .container { max-width: 970px; }
}
@media (min-width: 1200px) {
  .container { max-width: 1170px; }
}

/* Zeile ohne Spalten (Bootstrap 3 .row als Block) */
.row-block {
  margin-left: -15px;
  margin-right: -15px;
}
.row-block::after {
  content: "";
  display: table;
  clear: both;
}

/* Formularfelder */
.form-control, .form-select {
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.428571;
  color: #555;
  border-color: #ccc;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
input.form-control, .form-select {
  height: 34px;
}
.form-select {
  padding-right: 36px;
}

/* Buttons */
.btn {
  --bs-btn-padding-x: 12px;
  --bs-btn-padding-y: 6px;
  --bs-btn-font-size: 14px;
  --bs-btn-line-height: 1.428571;
  --bs-btn-border-radius: 4px;
}
.btn-sm {
  --bs-btn-padding-x: 10px;
  --bs-btn-padding-y: 5px;
  --bs-btn-font-size: 12px;
  --bs-btn-line-height: 1.5;
  --bs-btn-border-radius: 3px;
}
.btn-primary {
  --bs-btn-bg: #337ab7;
  --bs-btn-border-color: #2e6da4;
  --bs-btn-hover-bg: #286090;
  --bs-btn-hover-border-color: #204d74;
  --bs-btn-active-bg: #204d74;
  --bs-btn-active-border-color: #122b40;
}
.btn-default {
  --bs-btn-color: #333;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #ccc;
  --bs-btn-hover-color: #333;
  --bs-btn-hover-bg: #e6e6e6;
  --bs-btn-hover-border-color: #adadad;
  --bs-btn-active-color: #333;
  --bs-btn-active-bg: #d4d4d4;
  --bs-btn-active-border-color: #8c8c8c;
}

/* Tabs */
.nav-tabs {
  --bs-nav-link-padding-x: 15px;
  --bs-nav-link-padding-y: .3em;
  --bs-nav-link-color: #337ab7;
  --bs-nav-link-hover-color: #23527c;
  --bs-nav-tabs-border-radius: 4px;
  --bs-nav-tabs-link-active-color: #555;
  --bs-nav-tabs-link-active-bg: #fff;
  --bs-nav-tabs-link-active-border-color: #ddd #ddd transparent;
  --bs-nav-tabs-link-hover-border-color: #eee #eee #ddd;
  border-bottom: none;
}
.nav-tabs .nav-link {
  line-height: 1.428571;
  margin-right: 2px;
  background-color: #ddd;
}
.nav-tabs .nav-link:hover {
  background-color: #eee;
  text-decoration: none;
}
.nav-tabs .nav-link.active {
  background-color: #fff;
}

/* Well */
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
}

/* Definitionsliste (Impressum) */
dd {
  margin-bottom: 0;
}

/* ------------------------------------------------------------------ */
/* TeileLocator                                                         */
/* ------------------------------------------------------------------ */

body {
  min-height: 100vh;
  background: rgb(65,101,175);
  background: linear-gradient(180deg, rgba(65,101,175,1) 0%, rgba(56,86,145,1) 20%, rgba(255,255,255,0) 20%);
  background-repeat: no-repeat;
}

h1, h2 {
  letter-spacing: -.04em;
}
@media (max-width: 767.98px) {
  h2 {
    font-size: 24px;
  }
}
.marke-logo h2 {
  color: #fff;
  font-size: 300%;
}
.sub-header {
  padding-bottom: 10px;
  padding-left: 30px;
  border-bottom: 1px solid #eee;
}
.logo {
  margin-left: -.6em;
}

/* Suchfelder */
#marke-box {
  padding: 1em;
}

/* COLORS */
.white {
  background-color: #fff;
  vertical-align: middle;
  padding: 1em;
}
.grey {
  background-color: #efefef;
  vertical-align: middle;
}
.yellow {
  background-color: #f7d728;
}
.black {
  background-color: #444;
  color: #bbb;
  padding: 1em;
}
.red {
  color: #d17676;
}

/* RESULTS BOX */
.result, .no-result {
  margin-left: 0;
  margin-right: 0;
  border-radius: 0;
  background-color: rgba(245, 244, 240, 0);
  padding: 10px 10px 10px 10px;
  border-bottom: 1px dotted #666;
  transition: .15s ease-in-out all;
}
/* schmale Bildschirme: Spalten fließen wie in Bootstrap 3 (float) */
@media (max-width: 767.98px) {
  .result {
    display: block;
  }
  .result > div {
    float: left;
  }
  .result::after {
    content: "";
    display: table;
    clear: both;
  }
}
.result:hover {
  box-shadow: 2px 0 20px rgba(0,0,0,.15);
}
.no-result {
  background-color: rgb(235, 166, 166);
}
.result > div:last-child {
  margin-left: 0;
}
@media (min-width: 768px) {
  .result > div:last-child {
    margin-left: -20px;
  }
  .result, .no-result {
    padding-left: 28px;
  }
}
.result span, .no-result span {
  color: #bcd68c;
  margin-left: -2em;
  float: left;
}
.no-result span,
.result span.red {
  color: #d17676 !important;
}
.result span.no-margin-left {
  margin-left: 0 !important;
}
.result .bi, .no-result .bi {
  padding: .1em .3em 0 0;
}
.result h3,
.no-result h3 {
  display: inline;
  margin-left: 0;
  margin-top: .2em;
  color: #646464;
}
.no-result .dialog {
  margin-top: .9em;
}
.item-photo {
  padding: 0 10px 0 0;
  min-height: 84px;
}
.row > .item-photo {
  padding: 0 10px 0 0;
}
/* Platzhalter nur, wenn das Teil keine Bilder hat */
.item-photo.no-photo {
  background: url('../../img/no-photo-1000x1000.svg');
  background-size: contain;
  background-repeat: no-repeat;
}
.item-stock {
  padding-left: 40px;
}
.row > .address {
  padding-left: 0;
}
.padding-top {
  padding-top: 1em;
}
.margin-bottom {
  margin-bottom: 1em;
}

/* Button E-Mail-Anfrage (mit Animation) */
.btn-mail {
  --bs-btn-color: #333;
  --bs-btn-bg: #e6e6e6;
  --bs-btn-border-color: #d8d8d8;
  --bs-btn-hover-color: #eee;
  --bs-btn-hover-bg: #e6e6e6;
  --bs-btn-hover-border-color: #d8d8d8;
  --bs-btn-active-color: #eee;
  --bs-btn-active-bg: #337ab7;
  --bs-btn-active-border-color: #d8d8d8;
  --bs-btn-padding-x: 10px;
  --bs-btn-padding-y: 10px;
  position: relative;
  z-index: 1;
  transition: 0.1s ease-in;
}
.btn-mail:hover {
  padding-right: 20px;
  text-decoration: none;
}
.btn-mail:before {
  content: "";
  position: absolute;
  background: #337ab7;
  bottom: 0;
  left: 0;
  right: 0;
  top: 100%;
  z-index: -1;
  transition: top 0.1s ease-in;
}
.btn-mail:hover:before {
  top: 0;
}
.btn-mail:after {
  content: '»';
  position: absolute;
  opacity: 0;
  font-size: 150%;
  top: .2em;
  right: 0;
  transition: 0.5s;
}
.btn-mail:hover:after {
  opacity: 1;
  right: 5px;
}
.table-responsive {
  border: none;
}

/* AUTO SUGGEST BOX */
.loading {
  background: url(../../img/loadingAnimation.gif) no-repeat center 0;
}
.suggestionsBox {
  font-size: 100%;
  position: absolute;
  left: 0;
  top: 20px;
  margin: 10px 0 0 0;
  width: 100%;
  padding: 0;
  background-color: #444;
  color: #fff;
  z-index: 9999;
}
.suggestionList {
  margin: 0;
  padding: 0;
}
.suggestionList ul {
  margin: 0;
  padding: 0;
}
.suggestionList ul li {
  list-style: none;
  margin: 0;
  padding: .3em 1em;
  border-bottom: 1px dotted #666;
  cursor: pointer;
}
.suggestionList ul li:hover {
  background-color: #f7d728;
  color: #000;
}
#suggest {
  position: relative;
}

.footer {
  text-align: center;
  margin-bottom: 3em;
}
.footer-content {
  padding: 0 15px;
  line-height: 2.4em;
}

/* TEXT */
.custom-counter {
  margin: 2em 0 2em 3em;
  padding: 0;
  list-style-type: none;
}
.custom-counter li {
  counter-increment: step-counter;
  margin-bottom: 1em;
  margin-left: 2em;
  font-size: 120%;
  text-indent: -2.4em;
}
.custom-counter li::before {
  content: counter(step-counter);
  margin-right: 10px;
  font-size: 80%;
  background-color: rgb(100,100,100);
  color: white;
  font-weight: bold;
  padding: 7px 12px;
  border-radius: 4px;
}

/* DEFINITIONEN */
dl {
  padding: 20px 0 0 0;
}
dt {
  padding: 8px 0 0 0;
  font-weight: bold;
  color: #666;
}

/* kein Zoom bei Eingabe auf iOS */
input[type='text'],
input[type='number'],
textarea,
select,
select:focus {
  font-size: 16px;
}

/* Thumbnails und Bild-Vorschau */
.tl-thumb {
  cursor: pointer;
  display: inline-block;
  max-width: 75px;
  max-height: 75px;
  padding-right: 0.5em;
}
.tl-modal {
  display: none;
  position: fixed;
  z-index: 1060;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.8);
}
.tl-modal-content {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
}
#mod-caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  height: 150px;
  font-weight: bold;
}
