/* =====================================================================
   Web casing — based on iDocs, One Page Documentation HTML Template,
   with modifications for ABUS HELP.
   https://harnishdesign.net/

   Modifications: Copyright (c) 2026 ABUS Kransysteme GmbH
   Original template (MIT License):

   Copyright (c) 2020 Harnish Design

   Permission is hereby granted, free of charge, to any person obtaining a copy
   of this software and associated documentation files (the "Software"), to deal
   in the Software without restriction, including without limitation the rights
   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
   copies of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be included in all
   copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   SOFTWARE.
   ===================================================================== */

/* ABUS: header-button tooltips (Bootstrap, appended to <body>) sit at the right
   edge of the window; when one opens on hover it can push a phantom HORIZONTAL
   scrollbar. `overflow-x: clip` on the root drops that overflow WITHOUT creating
   a scroll container, so the sticky header + fixed sidebar keep working (which
   `overflow-x: hidden` would break). Vertical scrolling is untouched.
   (Servicedoku fix, ported 2026-09-14.) */
html { overflow-x: clip; }

/*===========================================================

   Template Name: iDocs - One Page Documentation HTML Template
   Author: Harnish Design
   Template URL: http://demo.harnishdesign.net/html/idocs
   Author URL: https://themeforest.net/user/harnishdesign
   File Description : Main css file of the template
	
=================================================
  Table of Contents
=================================================

	1. Basic
	2. Helpers Classes
	3. Layouts
		3.1 Side Navigation
		3.2 Docs Content
		3.3 Section Divider
	4. Header
		4.1 Main Navigation
	5 Elements
		5.1 List Style
		5.2 Changelog
		5.3 Accordion & Toggle
		5.4 Nav
		5.5 Tabs
		5.6 Popup Img
		5.7 Featured Box
	6 Footer
		6.1 Social Icons
		6.2 Back to Top
	7 Extra

=======================================================*/
/* =================================== */
/*  1. Basic Style 
/* =================================== */
body, html {
  height: 100%;
}

body {
  background: #dddddd;
  color: #4c4d4d;
}

/*-------- Preloader --------*/
.preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999999999 !important;
  background-color: #fff;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.preloader .lds-ellipsis {
  display: inline-block;
  position: absolute;
  width: 80px;
  height: 80px;
  margin-top: -40px;
  margin-left: -40px;
  top: 50%;
  left: 50%;
}
.preloader .lds-ellipsis div {
  position: absolute;
  top: 33px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #000;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.preloader .lds-ellipsis div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.preloader .lds-ellipsis div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.preloader .lds-ellipsis div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.preloader .lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}
/*--- Preloader Magnific Popup ----*/
.mfp-container .preloader {
  background: transparent;
}
.mfp-container .preloader .lds-ellipsis div {
  background: #fff;
}

/* Zoomed popup image is pannable by dragging (class set by theme.js while
   zoom > 1). touch-action: none keeps touch drags from scrolling the page. */
.mfp-img.mfp-pannable {
  cursor: grab;
  touch-action: none;
}
.mfp-img.mfp-pannable:active {
  cursor: grabbing;
}

/*--- Image popup toolbar (rotate / zoom) ----*/
.mfp-img-toolbar {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  padding: 6px 8px;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 6px;
  z-index: 1046;
}
/* Magnific Popup's default .mfp-figure:after paints a #444 panel + shadow
   behind the image. When the image is rotated or zoomed out the panel keeps
   the image's original dimensions and shows as a visible grey rectangle —
   hide it so only the image itself is rendered against the backdrop. */
.mfp-figure:after {
  display: none !important;
}
/* Close button: pin to the top-right of the viewport (we set
   closeBtnInside: false in JS so the X is appended to .mfp-wrap rather
   than the image content) and style it to match the bottom toolbar pill —
   same background, radius and button height. */
.mfp-wrap .mfp-close {
  position: fixed;
  top: 16px;
  right: 16px;
  width: 50px;
  height: 50px;
  padding: 0;
  line-height: 50px;
  text-align: center;
  font-size: 28px;
  color: #fff;
  opacity: 1;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 6px;
  transition: background-color 0.15s ease;
}
.mfp-wrap .mfp-close:hover,
.mfp-wrap .mfp-close:focus {
  background: rgba(0, 0, 0, 0.75);
  opacity: 1;
}

/* Magnific Popup adds .mfp-zoom-out-cur to <body> while a popup is open and
   paints a zoom-out cursor on the close button and the backdrop to signal
   "click anywhere to dismiss". closeOnContentClick is now off, so that cursor
   is misleading — use a normal pointer/default everywhere inside the popup. */
.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close,
.mfp-container,
.mfp-container img.mfp-img,
.mfp-figure {
  cursor: default;
}
.mfp-wrap .mfp-close,
.mfp-img-toolbar .mfp-tool-btn {
  cursor: pointer;
}
.mfp-img-toolbar .mfp-tool-btn {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.15s ease;
}
.mfp-img-toolbar .mfp-tool-btn:hover,
.mfp-img-toolbar .mfp-tool-btn:focus {
  background: rgba(255, 255, 255, 0.18);
  outline: none;
}
.mfp-img-toolbar .mfp-tool-btn:active {
  background: rgba(255, 255, 255, 0.28);
}
.mfp-container img.mfp-img {
  transition: transform 0.2s ease;
  transform-origin: center center;
}

/*--- Image popup: figure view (2026-09-15) ----
   theme.js opens content images as INLINE content: a clone of the clicked
   <figure> (top labels, column-split captions, side numbers) so the labels stay
   visible and keep their position relative to the picture. The fitted pixel
   width is set inline on .mfp-figview__fig by theme.js (fitFigureView); the
   image and every label row follow at 100%, so the converter's percentage
   caption grids resolve against the same width as in the page. The wrapper
   carries .abus-doc so abus-styles.css' caption rules apply. Zoom/pan/rotate
   transform the whole figure. The white frame keeps dark label text readable
   on the dark backdrop (same for light and dark theme). */
.mfp-wrap.mfp-figview .mfp-content {
  text-align: center;
}
.mfp-figview__view {
  display: inline-block;
  vertical-align: middle;
  text-align: left;
  max-width: 100%;
}
.mfp-figview__view .mfp-figview__fig {
  display: block;
  box-sizing: content-box;
  margin: 0;
  border: 1px solid #c0c0c0;
  padding: 10px;
  background: #fff;
  color: #000;
  width: auto;
  max-width: none;
  transition: transform 0.2s ease;
  transform-origin: center center;
}
.mfp-figview__view .mfp-figview__fig--bare {
  border: 0;
  padding: 0;
  background: transparent;
}
.mfp-figview__view .mfp-figview__fig > img,
.mfp-figview__view .mfp-figview__fig .abus-figure__mid > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  background: #fff;          /* transparent line-art stays readable */
}
.mfp-figview__view .mfp-figview__fig .abus-figure__top,
.mfp-figview__view .mfp-figview__fig .abus-figure__cap-split,
.mfp-figview__view .mfp-figview__fig > figcaption {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.mfp-figview__view .mfp-figview__fig.mfp-pannable {
  cursor: grab;
  touch-action: none;
}
.mfp-figview__view .mfp-figview__fig.mfp-pannable:active {
  cursor: grabbing;
}

::selection {
  background: #005aaa;
  color: #fff;
  text-shadow: none;
}

code {
  padding: 2px 5px;
  background-color: #f9f2f4;
  border-radius: 4px;
}

form {
  padding: 0;
  margin: 0;
  display: inline;
}

img {
  vertical-align: inherit;
}

a, a:focus {
  color: #005aaa;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

a:hover, a:active {
  color: #00467b;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

a:focus, a:active,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus,
button:focus,
button:active {
  outline: none;
}

p {
  line-height: 1.8;
}

blockquote {
  border-left: 5px solid #eee;
  padding: 10px 20px;
}

iframe {
  border: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
  color: #252b33;
  line-height: 1.5;
  margin: 0 0 1.5rem 0;
  font-family: Roboto, sans-serif;
}

h1 {
  font-size: 3rem;
}

h2 {
  font-size: 2.2rem;
}

dl, ol, ul, pre, blockquote, .table {
  margin-bottom: 1.8rem;
}

/*=== Highlight Js ===*/
.hljs {
  padding: 1.5rem;
}

/* =================================== */
/*  2. Helpers Classes
/* =================================== */
/* Box Shadow */
.shadow-md {
  -webkit-box-shadow: 0px 0px 50px -35px rgba(0, 0, 0, 0.4) !important;
  box-shadow: 0px 0px 50px -35px rgba(0, 0, 0, 0.4) !important;
}

/* Border Radius */
.rounded-lg {
  border-radius: 0.6rem !important;
}

.rounded-top-0 {
  border-top-left-radius: 0px !important;
  border-top-right-radius: 0px !important;
}

.rounded-bottom-0 {
  border-bottom-left-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}

.rounded-left-0 {
  border-top-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
}

.rounded-right-0 {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}

/* Border Size */
.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

/* Text Size */
.text-0 {
  font-size: 11px !important;
  font-size: 0.6875rem !important;
}

.text-1 {
  font-size: 12px !important;
  font-size: 0.75rem !important;
}

.text-2 {
  font-size: 14px !important;
  font-size: 0.875rem !important;
}

.text-3 {
  font-size: 16px !important;
  font-size: 1rem !important;
}

.text-4 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
}

.text-5 {
  font-size: 21px !important;
  font-size: 1.3125rem !important;
}

.text-6 {
  font-size: 24px !important;
  font-size: 1.50rem !important;
}

.text-7 {
  font-size: 28px !important;
  font-size: 1.75rem !important;
}

.text-8 {
  font-size: 32px !important;
  font-size: 2rem !important;
}

.text-9 {
  font-size: 36px !important;
  font-size: 2.25rem !important;
}

.text-10 {
  font-size: 40px !important;
  font-size: 2.50rem !important;
}

.text-11 {
  font-size: 2.75rem !important;
}
@media (max-width: 992px) {
  .text-11 {
    font-size: calc(1.4rem + 2.1774193548vw)  !important;
  }
}

.text-12 {
  font-size: 3rem !important;
}
@media (max-width: 992px) {
  .text-12 {
    font-size: calc(1.425rem + 2.5403225806vw)  !important;
  }
}

.text-13 {
  font-size: 3.25rem !important;
}
@media (max-width: 992px) {
  .text-13 {
    font-size: calc(1.45rem + 2.9032258065vw)  !important;
  }
}

.text-14 {
  font-size: 3.5rem !important;
}
@media (max-width: 992px) {
  .text-14 {
    font-size: calc(1.475rem + 3.2661290323vw)  !important;
  }
}

.text-15 {
  font-size: 3.75rem !important;
}
@media (max-width: 992px) {
  .text-15 {
    font-size: calc(1.5rem + 3.6290322581vw)  !important;
  }
}

.text-16 {
  font-size: 4rem !important;
}
@media (max-width: 992px) {
  .text-16 {
    font-size: calc(1.525rem + 3.9919354839vw)  !important;
  }
}

.text-17 {
  font-size: 4.5rem !important;
}
@media (max-width: 992px) {
  .text-17 {
    font-size: calc(1.575rem + 4.7177419355vw)  !important;
  }
}

.text-18 {
  font-size: 5rem !important;
}
@media (max-width: 992px) {
  .text-18 {
    font-size: calc(1.625rem + 5.4435483871vw)  !important;
  }
}

.text-19 {
  font-size: 5.25rem !important;
}
@media (max-width: 992px) {
  .text-19 {
    font-size: calc(1.65rem + 5.8064516129vw)  !important;
  }
}

.text-20 {
  font-size: 5.75rem !important;
}
@media (max-width: 992px) {
  .text-20 {
    font-size: calc(1.7rem + 6.5322580645vw)  !important;
  }
}

.text-21 {
  font-size: 6.5rem !important;
}
@media (max-width: 992px) {
  .text-21 {
    font-size: calc(1.775rem + 7.6209677419vw)  !important;
  }
}

.text-22 {
  font-size: 7rem !important;
}
@media (max-width: 992px) {
  .text-22 {
    font-size: calc(1.825rem + 8.3467741935vw)  !important;
  }
}

.text-23 {
  font-size: 7.75rem !important;
}
@media (max-width: 992px) {
  .text-23 {
    font-size: calc(1.9rem + 9.435483871vw)  !important;
  }
}

.text-24 {
  font-size: 8.25rem !important;
}
@media (max-width: 992px) {
  .text-24 {
    font-size: calc(1.95rem + 10.1612903226vw)  !important;
  }
}

.text-25 {
  font-size: 9rem !important;
}
@media (max-width: 992px) {
  .text-25 {
    font-size: calc(2.025rem + 11.25vw)  !important;
  }
}

.text-11, .text-12, .text-13, .text-14, .text-15, .text-16, .text-17, .text-18, .text-19, .text-20, .text-21, .text-22, .text-23, .text-24, .text-25 {
  line-height: 1.3;
}

/* Line height */
.line-height-07 {
  line-height: 0.7 !important;
}

.line-height-1 {
  line-height: 1 !important;
}

.line-height-2 {
  line-height: 1.2 !important;
}

.line-height-3 {
  line-height: 1.4 !important;
}

.line-height-4 {
  line-height: 1.6 !important;
}

.line-height-5 {
  line-height: 1.8 !important;
}

/* Font Weight */
.font-weight-100 {
  font-weight: 100 !important;
}

.font-weight-200 {
  font-weight: 200 !important;
}

.font-weight-300 {
  font-weight: 300 !important;
}

.font-weight-400 {
  font-weight: 400 !important;
}

.font-weight-500 {
  font-weight: 500 !important;
}

.font-weight-600 {
  font-weight: 600 !important;
}

.font-weight-700 {
  font-weight: 700 !important;
}

.font-weight-800 {
  font-weight: 800 !important;
}

.font-weight-900 {
  font-weight: 900 !important;
}

/* Opacity */
.opacity-0 {
  opacity: 0;
}

.opacity-1 {
  opacity: 0.1;
}

.opacity-2 {
  opacity: 0.2;
}

.opacity-3 {
  opacity: 0.3;
}

.opacity-4 {
  opacity: 0.4;
}

.opacity-5 {
  opacity: 0.5;
}

.opacity-6 {
  opacity: 0.6;
}

.opacity-7 {
  opacity: 0.7;
}

.opacity-8 {
  opacity: 0.8;
}

.opacity-9 {
  opacity: 0.9;
}

.opacity-10 {
  opacity: 1;
}

/* Background light */
.bg-light-1 {
  background-color: #e9ecef !important;
}

.bg-light-2 {
  background-color: #dee2e6 !important;
}

.bg-light-3 {
  background-color: #ced4da !important;
}

.bg-light-4 {
  background-color: #adb5bd !important;
}

/* Background Dark */
.bg-dark {
  background-color: #111418 !important;
}

.bg-dark-1 {
  background-color: #212529 !important;
}

.bg-dark-2 {
  background-color: #343a40 !important;
}

.bg-dark-3 {
  background-color: #495057 !important;
}

.bg-dark-4 {
  background-color: #6c757d !important;
}

/* Progress Bar */
.progress-sm {
  height: 0.5rem !important;
}

.progress-lg {
  height: 1.5rem !important;
}

hr {
  border-top: 1px solid rgba(16, 85, 96, 0.1);
}

/* =================================== */
/*  3. Layouts
/* =================================== */
#main-wrapper {
  background: #fff;
  min-height: 100vh;
}

.box #main-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}
.box .abus-navigation {
  left: auto;
}

@media (min-width: 1200px) {
  .container {
    max-width: 1170px !important;
  }
}
/*=== 3.1 Side Navigation ===*/
.abus-navigation {
  position: fixed;
  top: 70px;
  left: 0;
  overflow: hidden;
  width: 300px;   /* sidebar width (286px + 5%) — keep the logo box + content margin in sync */
  height: calc(100% - 70px);
  z-index: 1;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
  /* Explicit shade matches the .bg-light class on the element. Defending in
     case the bootstrap class is missing or overridden — the inner nav lists
     are transparent (below) so they inherit this color. */
  background-color: #f8f9fa;
}
.abus-navigation > .nav,
.abus-navigation .nav .nav {
  background-color: transparent;
}
/* Bootstrap's .nav defaults to `flex-wrap: wrap`, which causes overflowing
   items in the long chapter sub-navs to wrap into a second column outside
   the 260px-wide sidebar (they end up clipped and invisible). Force vertical
   stacking so the outer .nav scrolls normally when content overflows. */
.abus-navigation .nav {
  flex-wrap: nowrap;
}
.abus-navigation > .nav {
  padding: 30px 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
}
/* Long nav titles wrap instead of forcing a horizontal scrollbar */
.abus-navigation .nav-link {
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
/* Sticky sidebar regions — never shrink, never scroll */
.abus-navigation > .ui-input-container,
.abus-navigation > .search-no-results,
.abus-navigation > .search-didyoumean,
.abus-navigation > .search-results-count,
.abus-navigation > .sidebar-logo,
.abus-navigation > .sidebar-copyright {
  flex-shrink: 0;
}
.abus-navigation .nav .nav-item {
  position: relative;
}
.abus-navigation .nav .nav {
  margin: 0 0 5px;
}
.abus-navigation .nav .nav-link {
  position: relative;
  padding: 12px 12px;   /* Servicedoku spacing (July 2026), ported 2026-09-14 — was 6px 30px / 25px */
  line-height: 1.3;
  font-weight: 600;
}
.abus-navigation .nav .nav-item:hover > .nav-link,
.abus-navigation .nav .nav-item .nav-link.active,
.abus-navigation .nav .nav-item .docs-page-link.is-current-page {
  /* Emphasise via faux-bold (text-shadow), NOT a font-weight bump: a real 600->700
     change widens the glyphs, so a long chapter title fits fewer words per line and
     re-wraps the moment it is hovered/active. text-shadow leaves the glyph
     advance-width untouched, so the line breaks stay put. */
  font-weight: 600;
  text-shadow: 0.4px 0 0 currentColor, -0.4px 0 0 currentColor;
}
.abus-navigation .nav .nav {
  display: none;
  border-left: 1px solid regba(0, 0, 0, 0.3);
}
.abus-navigation .nav .nav .nav-item .nav-link:after {
  content: "";
  position: absolute;
  left: 30px;
  height: 100%;
  border-left: 1px solid rgba(0, 0, 0, 0.12);
  width: 1px;
  top: 0;
}
.abus-navigation .nav .nav .nav-item .nav-link.active:after,
.abus-navigation .nav .nav .nav-item .nav-link.is-current-page:after,
.abus-navigation .nav .nav .nav-item .nav-link.is-current-parent:after,
.abus-navigation .nav .nav .nav-item .nav-link.is-current-chapter:after {
  /* Also key the blue line off the persistent is-current-* classes — scrollspy
     clears/rewrites .active while scrolling, which otherwise drops the line
     right after a nav click until the next scroll. */
  border-color: #005aaa;
  border-width: 2px;
}
/* Accordion (Servicedoku since 2026-07-20, ported 2026-09-14): only the NEXT
   level opens — a current chapter shows its h2 list (nested h3 lists stay
   closed), a current h2 page shows its own h3 list, and is-current-parent
   (showPage puts it on the h2 while one of its h3 pages is open) keeps that h3
   list expanded. The old `.is-current-page + .nav .nav` rule opened ALL h3
   lists of a chapter at once. */
.abus-navigation .nav .nav-item .nav-link.active + .nav,
.abus-navigation .docs-page-link.is-current-page + .nav,
.abus-navigation .docs-page-link.is-current-parent + .nav {
  display: block;
}
.abus-navigation .nav .nav .nav-link {
  color: #6a6a6a;
  padding: 5px 30px 5px 45px;
  font-size: 15px;
  text-transform: none;
}
.abus-navigation .nav .nav .nav .nav-link {
  padding: 4px 30px 4px 60px;
  font-size: 15px;
}
/* Outline-h3 pages ("Überschrift 3 mit Gliederung" — own page since 2026-07):
   entry in the same chapter list as the h2 pages, one indent step deeper. */
.abus-navigation .nav .nav .nav-link.docs-page-link--h3 {
  padding-left: 60px;
}
.abus-navigation .nav .nav .nav .nav-item .nav-link:after {
  left: 45px;
}
/* Persistent "has sub-chapters" caret (Servicedoku 2026-07-27, ported
   2026-09-14 — replaces the old black ::after chevron that appeared only on the
   ACTIVE top-level entry). Shown on EVERY nav entry that has a nested page
   list — at ANY level (chapter, h2, …) and whether the list is currently open
   or not — so the entry visibly advertises that it can be expanded (theme.js
   tags those links .has-subpages). Points right when collapsed, rotates down
   when its list is expanded (is-current-*). Drawn on ::before so the
   nested-link guide line (::after) is untouched. Scoped to the light/classic
   look; the dark theme keeps its own per-row chevron (dark.css). */
:root:not([data-theme="dark"]) .abus-navigation .nav-link.has-subpages::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 16px;
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  opacity: 0.7;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
}
:root:not([data-theme="dark"]) .abus-navigation .nav-link.has-subpages.is-current-chapter::before,
:root:not([data-theme="dark"]) .abus-navigation .nav-link.has-subpages.is-current-parent::before,
:root:not([data-theme="dark"]) .abus-navigation .nav-link.has-subpages.is-current-page::before {
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  opacity: 1;
}
/* Reserve the caret's zone on every entry that shows one, so long (wrapping)
   titles can't run into it: the caret sits at right:16px and is ~10px wide
   incl. rotation, but top-level links only have 12px right padding. (The dark
   theme reserves its own 40px, see dark.css.) */
:root:not([data-theme="dark"]) .abus-navigation .nav-link.has-subpages {
  padding-right: 34px;
}
.abus-navigation.docs-navigation-dark .nav .nav-link {
  color: rgba(250, 250, 250, 0.85);
}
.abus-navigation.docs-navigation-dark .nav .nav .nav-link {
  color: rgba(250, 250, 250, 0.7);
}
.abus-navigation.docs-navigation-dark .nav .nav .nav-item .nav-link:after {
  border-color: rgba(250, 250, 250, 0.2);
}
.abus-navigation.docs-navigation-dark .nav .nav .nav-item .nav-link.active:after {
  border-color: #005aaa;
}

/*=== 3.1.1 Search-results tree ===*/
/* While a search is active (theme.js puts .c-searching on .abus-navigation),
   the regular nav tree is replaced by the results tree: only the sub-chapters
   that contain matches, grouped under their chapter. An EMPTY results tree
   (no matches) means the sidebar shows no navigation at all — just the
   "Kein Suchergebnis gefunden!" message under the search bar. The results
   <ul> shares the tree's classes and `> .nav` slot, so padding, scrolling and
   link styling above apply unchanged. */
.abus-navigation > .nav.c-search-results {
  display: none;
}
.abus-navigation.c-searching > .nav.c-search-results {
  display: flex;
  flex-direction: column;
}
.abus-navigation.c-searching > .nav:not(.c-search-results) {
  display: none;
}
/* The Favoriten tab (classic casing) wins over an active search: its
   .c-show-fav rule only counters the base `> .nav` display and would lose to
   the higher-specificity flex rule above, so repeat it here (later in the
   cascade, same specificity). */
.abus-navigation.c-show-fav > .nav.c-search-results {
  display: none;
}
/* Group sub-lists are ALWAYS expanded (the base `.nav .nav` rule collapses
   sub-lists until their chapter is current). */
.abus-navigation .nav.c-search-results .nav {
  display: block;
}
/* Non-clickable group label (the chapter itself holds no match). */
.c-search-results .c-sr-chapter-label {
  cursor: default;
}
/* "(X Treffer)" suffix — inherits the entry colour, slightly muted so it reads
   as meta information in the light and dark design alike. */
.c-search-results .c-sr-count {
  font-weight: 400;
  font-size: 0.85em;
  opacity: 0.7;
  white-space: nowrap;
}

/*=== 3.2 Docs Content ===*/
.abus-main {
  position: relative;
  margin-left: 300px;
  padding: 0px 50px 50px;
  min-height: 750px;
  transition: all 0.3s;
}
/* Content images open in a Magnific Popup viewer on click. Cursor hint makes
   the click affordance obvious. user-drag / user-select block the native drag
   ghost and the selection halo; the click that triggers the popup is still
   allowed because we intentionally do NOT set pointer-events: none here. */
.abus-main img,
.mfp-img {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}
.abus-main img {
  cursor: zoom-in;
}
.abus-main section:first-child {
  padding-top: 3rem;
}
.abus-main ol li, .abus-main ul li {
  margin-top: 10px;
}

@media (max-width: 699.98px) {
  .abus-navigation {
    margin-left: -300px;
  }
  .abus-navigation.active {
    margin-left: 0;
  }

  .abus-main {
    margin-left: 0px;
    padding: 0px;
  }
}
/*=== 3.3 Section Divider ===*/
.divider {
  margin: 4rem 0;
}

/* =================================== */
/*  4. Header
/* =================================== */
#header {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#header .navbar {
  padding: 0px;
  min-height: 70px;
}
#header .logo {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

/*=== 4.1 Main Navigation ===*/
.navbar-light .navbar-nav .active > .nav-link {
  color: #0c2f55;
}
.navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show {
  color: #0c2f55;
}
.navbar-light .navbar-nav .show > .nav-link {
  color: #0c2f55;
}

.primary-menu {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  height: auto !important;
  -webkit-box-ordinal-group: 0;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background: #fff;
  border-bottom: 1px solid #efefef;
}
.primary-menu.bg-transparent {
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: none;
  border-bottom: 1px solid rgba(250, 250, 250, 0.3);
}
.primary-menu.sticky-on {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1020;
  left: 0;
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
  -webkit-animation: slide-down 0.7s;
  -moz-animation: slide-down 0.7s;
  animation: slide-down 0.7s;
}
@-webkit-keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-moz-keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.primary-menu.sticky-on .none-on-sticky {
  display: none !important;
}
.primary-menu ul.navbar-nav > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.primary-menu ul.navbar-nav > li + li {
  margin-left: 2px;
}
.primary-menu ul.navbar-nav > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.primary-menu ul.navbar-nav > li > a:not(.btn) {
  height: 70px;
  padding: 0px 0.85em;
  color: #252b33;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  position: relative;
  position: relative;
}
.primary-menu ul.navbar-nav > li:hover > a:not(.btn), .primary-menu ul.navbar-nav > li > a.active:not(.btn) {
  color: #005aaa;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.primary-menu ul.navbar-nav > li a.btn {
  padding: 0.4rem 1.4rem;
}
.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
  padding: 8px 0px;
  background-color: transparent;
  text-transform: none;
  color: #777;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu li:hover > a:not(.btn) {
  color: #005aaa;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.primary-menu ul.navbar-nav > li.dropdown:hover > a:after {
  clear: both;
  content: ' ';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  border-width: 0px 7px 6px 7px;
  bottom: 0px;
  left: 50%;
  margin: 0 0 0 -5px;
  z-index: 1022;
}
.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu {
  -webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.176);
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.176);
  border: 0px none;
  padding: 10px 15px;
  min-width: 220px;
  margin: 0;
  font-size: 14px;
  font-size: 0.875rem;
  z-index: 1021;
}
.primary-menu ul.navbar-nav > li.dropdown > .dropdown-toggle .arrow {
  display: none;
}
.primary-menu .dropdown-menu-right {
  left: auto !important;
  right: 100% !important;
}
.primary-menu ul.navbar-nav > li.dropdown-mega {
  position: static;
}
.primary-menu ul.navbar-nav > li.dropdown-mega > .dropdown-menu {
  width: 100%;
  padding: 20px 20px;
  margin-left: 0px !important;
}
.primary-menu ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
  padding: 5px 5px 5px 20px;
  border-right: 1px solid #eee;
}
.primary-menu ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div:last-child {
  border-right: 0;
}
.primary-menu ul.navbar-nav > li.dropdown-mega .sub-title {
  display: block;
  font-size: 16px;
  margin-top: 1rem;
  padding-bottom: 5px;
}
.primary-menu ul.navbar-nav > li.dropdown-mega .dropdown-mega-submenu {
  list-style-type: none;
  padding-left: 0px;
}
.primary-menu ul.navbar-nav > li a.btn {
  font-size: 14px;
  padding: 0.65rem 2rem;
  text-transform: uppercase;
}
.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
  left: 100%;
  margin-top: -40px;
}
.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-toggle:after {
  border-top: .4em solid transparent;
  border-right: 0;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid;
}
.primary-menu ul.navbar-nav > li.dropdown .dropdown-toggle .arrow {
  position: absolute;
  min-width: 30px;
  height: 100%;
  right: 0px;
  top: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.primary-menu ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  border-color: #000;
  border-top: 1px solid;
  border-right: 1px solid;
  width: 6px;
  height: 6px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.primary-menu .dropdown-toggle:after {
  content: none;
}
.primary-menu.navbar-line-under-text ul.navbar-nav > li > a:not(.btn):after {
  position: absolute;
  content: "";
  height: 2px;
  width: 0;
  left: 50%;
  right: 0;
  bottom: 14px;
  background-color: transparent;
  color: #fff;
  border-bottom: 2px solid #005aaa;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  transform: translate(-50%, 0) translateZ(0);
  -webkit-transform: translate(-50%, 0) translateZ(0);
}
.primary-menu.navbar-line-under-text ul.navbar-nav > li > a:hover:not(.logo):after, .primary-menu.navbar-line-under-text ul.navbar-nav > li > a.active:after {
  width: calc(100% - 0.99em);
}

/*== Color Options ==*/
.primary-menu.navbar-text-light .navbar-toggler span {
  background: #fff;
}

.primary-menu.navbar-text-light .navbar-nav > li > a:not(.btn) {
  color: #fff;
}
.primary-menu.navbar-text-light .navbar-nav > li:hover > a:not(.btn), .primary-menu.navbar-text-light .navbar-nav > li > a.active:not(.btn) {
  color: rgba(250, 250, 250, 0.75);
}

.primary-menu.navbar-text-light.navbar-line-under-text .navbar-nav > li > a:not(.logo):after, .primary-menu.navbar-text-light.navbar-line-under-text .navbar-nav > li > a.active:after {
  border-color: rgba(250, 250, 250, 0.6);
}

.primary-menu.navbar-dropdown-dark ul.navbar-nav > li.dropdown .dropdown-menu {
  background-color: #252A2C;
  color: #fff;
}
.primary-menu.navbar-dropdown-dark ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
  background-color: #272c2e;
}
.primary-menu.navbar-dropdown-dark ul.navbar-nav > li.dropdown:hover > a:after {
  border-color: transparent transparent #252A2C transparent;
}
.primary-menu.navbar-dropdown-dark ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
  color: rgba(250, 250, 250, 0.8);
}
.primary-menu.navbar-dropdown-dark ul.navbar-nav > li.dropdown .dropdown-menu li:hover > a:not(.btn) {
  color: #fafafa;
  font-weight: 600;
}
.primary-menu.navbar-dropdown-dark ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
  border-color: #3a3a3a;
}
.primary-menu.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu {
  background-color: #005aaa;
  color: #fff;
}
.primary-menu.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
  background-color: #005aaa;
}
.primary-menu.navbar-dropdown-primary ul.navbar-nav > li.dropdown:hover > a:after {
  border-color: transparent transparent #005aaa transparent;
}
.primary-menu.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
  color: rgba(250, 250, 250, 0.95);
}
.primary-menu.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu li:hover > a:not(.btn) {
  color: #fafafa;
  font-weight: 600;
}
.primary-menu.navbar-dropdown-primary ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
  border-color: rgba(250, 250, 250, 0.2);
}

/* Hamburger Menu Button */
.navbar-toggler {
  width: 25px;
  height: 30px;
  padding: 10px;
  margin: 18px 15px;
  position: relative;
  border: none;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  display: block;
}
.navbar-toggler span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #3c3636;
  border-radius: 2px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.navbar-toggler span:nth-child(1) {
  top: 7px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
.navbar-toggler span:nth-child(2) {
  top: 14px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
.navbar-toggler span:nth-child(3) {
  top: 21px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
.navbar-toggler.show span:nth-child(1) {
  top: 4px;
  left: 3px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.navbar-toggler.show span:nth-child(2) {
  width: 0%;
  opacity: 0;
}
.navbar-toggler.show span:nth-child(3) {
  top: 22px;
  left: 3px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.navbar-accordion {
  position: initial;
}

.navbar-expand-none .navbar-collapse {
  position: absolute;
  top: 99%;
  right: 0;
  left: 0;
  background: #fff;
  margin-top: 0px;
  z-index: 1000;
  -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
}
.navbar-expand-none .navbar-collapse .navbar-nav {
  overflow: hidden;
  overflow-y: auto;
  max-height: 65vh;
  padding: 15px;
}
.navbar-expand-none ul.navbar-nav li {
  display: block;
  border-bottom: 1px solid #eee;
  margin: 0;
  padding: 0;
}
.navbar-expand-none ul.navbar-nav li:last-child {
  border: none;
}
.navbar-expand-none ul.navbar-nav li + li {
  margin-left: 0px;
}
.navbar-expand-none ul.navbar-nav li.dropdown > .dropdown-toggle > .arrow.show:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.navbar-expand-none ul.navbar-nav li > a:hover:after, .navbar-expand-none ul.navbar-nav li > a.active:after {
  content: none !important;
  width: 0px !important;
}
.navbar-expand-none ul.navbar-nav li.dropdown > .dropdown-toggle .arrow {
  display: block;
}
.navbar-expand-none ul.navbar-nav > li > a:not(.btn) {
  height: auto;
  padding: 8px 0;
  position: relative;
}
.navbar-expand-none ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
  padding: 8px 0;
  position: relative;
}
.navbar-expand-none ul.navbar-nav > li.dropdown:hover > a:after {
  content: none;
}
.navbar-expand-none ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
  -webkit-transform: translate(-50%, -50%) rotate(134deg);
  transform: translate(-50%, -50%) rotate(134deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.navbar-expand-none ul.navbar-nav > li.dropdown .dropdown-menu {
  margin: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  padding: 0px 0px 0px 15px;
}
.navbar-expand-none ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
  margin: 0;
}
.navbar-expand-none ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
  padding: 0px 15px;
}
.navbar-expand-none.navbar-text-light .navbar-collapse {
  background: rgba(0, 0, 0, 0.95);
}
.navbar-expand-none.navbar-text-light .navbar-collapse ul.navbar-nav li {
  border-color: rgba(250, 250, 250, 0.15);
}
.navbar-expand-none.navbar-dropdown-dark .navbar-collapse {
  background-color: #252A2C;
}
.navbar-expand-none.navbar-dropdown-primary .navbar-collapse {
  background-color: #005aaa;
}
.navbar-expand-none.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
  background-color: #005aaa;
}
.navbar-expand-none.navbar-dropdown-dark ul.navbar-nav li {
  border-color: #444;
}
.navbar-expand-none.navbar-dropdown-dark ul.navbar-nav > li > a {
  color: #a3a2a2;
}
.navbar-expand-none.navbar-dropdown-dark ul.navbar-nav > li:hover > a {
  color: #fff;
}
.navbar-expand-none.navbar-dropdown-primary ul.navbar-nav li {
  border-color: rgba(250, 250, 250, 0.2);
}
.navbar-expand-none.navbar-dropdown-primary ul.navbar-nav > li > a {
  color: rgba(250, 250, 250, 0.8);
}
.navbar-expand-none.navbar-dropdown-primary ul.navbar-nav > li:hover > a {
  color: #fff;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-sm .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }
  .navbar-expand-sm ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }
  .navbar-expand-sm ul.navbar-nav li:last-child {
    border: none;
  }
  .navbar-expand-sm ul.navbar-nav li + li {
    margin-left: 0px;
  }
  .navbar-expand-sm ul.navbar-nav li.dropdown > .dropdown-toggle > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-sm ul.navbar-nav li > a:hover:after, .navbar-expand-sm ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }
  .navbar-expand-sm ul.navbar-nav li.dropdown > .dropdown-toggle .arrow {
    display: block;
  }
  .navbar-expand-sm ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-sm ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-sm ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }
  .navbar-expand-sm ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-sm ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
  }
  .navbar-expand-sm ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }
  .navbar-expand-sm ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
    padding: 0px 15px;
  }
  .navbar-expand-sm.navbar-text-light .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }
  .navbar-expand-sm.navbar-text-light .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
  .navbar-expand-sm.navbar-dropdown-dark .navbar-collapse {
    background-color: #252A2C;
  }
  .navbar-expand-sm.navbar-dropdown-primary .navbar-collapse {
    background-color: #005aaa;
  }
  .navbar-expand-sm.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    background-color: #005aaa;
  }
  .navbar-expand-sm.navbar-dropdown-dark ul.navbar-nav li {
    border-color: #444;
  }
  .navbar-expand-sm.navbar-dropdown-dark ul.navbar-nav > li > a {
    color: #a3a2a2;
  }
  .navbar-expand-sm.navbar-dropdown-dark ul.navbar-nav > li:hover > a {
    color: #fff;
  }
  .navbar-expand-sm.navbar-dropdown-primary ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.2);
  }
  .navbar-expand-sm.navbar-dropdown-primary ul.navbar-nav > li > a {
    color: rgba(250, 250, 250, 0.8);
  }
  .navbar-expand-sm.navbar-dropdown-primary ul.navbar-nav > li:hover > a {
    color: #fff;
  }
}
@media (max-width: 899.98px) {
  .navbar-expand-md .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-md .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }
  .navbar-expand-md ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }
  .navbar-expand-md ul.navbar-nav li:last-child {
    border: none;
  }
  .navbar-expand-md ul.navbar-nav li + li {
    margin-left: 0px;
  }
  .navbar-expand-md ul.navbar-nav li.dropdown > .dropdown-toggle > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-md ul.navbar-nav li > a:hover:after, .navbar-expand-md ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }
  .navbar-expand-md ul.navbar-nav li.dropdown > .dropdown-toggle .arrow {
    display: block;
  }
  .navbar-expand-md ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-md ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-md ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }
  .navbar-expand-md ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-md ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
  }
  .navbar-expand-md ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }
  .navbar-expand-md ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
    padding: 0px 15px;
  }
  .navbar-expand-md.navbar-text-light .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }
  .navbar-expand-md.navbar-text-light .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
  .navbar-expand-md.navbar-dropdown-dark .navbar-collapse {
    background-color: #252A2C;
  }
  .navbar-expand-md.navbar-dropdown-primary .navbar-collapse {
    background-color: #005aaa;
  }
  .navbar-expand-md.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    background-color: #005aaa;
  }
  .navbar-expand-md.navbar-dropdown-dark ul.navbar-nav li {
    border-color: #444;
  }
  .navbar-expand-md.navbar-dropdown-dark ul.navbar-nav > li > a {
    color: #a3a2a2;
  }
  .navbar-expand-md.navbar-dropdown-dark ul.navbar-nav > li:hover > a {
    color: #fff;
  }
  .navbar-expand-md.navbar-dropdown-primary ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.2);
  }
  .navbar-expand-md.navbar-dropdown-primary ul.navbar-nav > li > a {
    color: rgba(250, 250, 250, 0.8);
  }
  .navbar-expand-md.navbar-dropdown-primary ul.navbar-nav > li:hover > a {
    color: #fff;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-lg .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }
  .navbar-expand-lg ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }
  .navbar-expand-lg ul.navbar-nav li:last-child {
    border: none;
  }
  .navbar-expand-lg ul.navbar-nav li + li {
    margin-left: 0px;
  }
  .navbar-expand-lg ul.navbar-nav li.dropdown > .dropdown-toggle > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-lg ul.navbar-nav li > a:hover:after, .navbar-expand-lg ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }
  .navbar-expand-lg ul.navbar-nav li.dropdown > .dropdown-toggle .arrow {
    display: block;
  }
  .navbar-expand-lg ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-lg ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-lg ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }
  .navbar-expand-lg ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-lg ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
  }
  .navbar-expand-lg ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }
  .navbar-expand-lg ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
    padding: 0px 15px;
  }
  .navbar-expand-lg.navbar-text-light .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }
  .navbar-expand-lg.navbar-text-light .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
  .navbar-expand-lg.navbar-dropdown-dark .navbar-collapse {
    background-color: #252A2C;
  }
  .navbar-expand-lg.navbar-dropdown-primary .navbar-collapse {
    background-color: #005aaa;
  }
  .navbar-expand-lg.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    background-color: #005aaa;
  }
  .navbar-expand-lg.navbar-dropdown-dark ul.navbar-nav li {
    border-color: #444;
  }
  .navbar-expand-lg.navbar-dropdown-dark ul.navbar-nav > li > a {
    color: #a3a2a2;
  }
  .navbar-expand-lg.navbar-dropdown-dark ul.navbar-nav > li:hover > a {
    color: #fff;
  }
  .navbar-expand-lg.navbar-dropdown-primary ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.2);
  }
  .navbar-expand-lg.navbar-dropdown-primary ul.navbar-nav > li > a {
    color: rgba(250, 250, 250, 0.8);
  }
  .navbar-expand-lg.navbar-dropdown-primary ul.navbar-nav > li:hover > a {
    color: #fff;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-xl .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }
  .navbar-expand-xl ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }
  .navbar-expand-xl ul.navbar-nav li:last-child {
    border: none;
  }
  .navbar-expand-xl ul.navbar-nav li + li {
    margin-left: 0px;
  }
  .navbar-expand-xl ul.navbar-nav li.dropdown > .dropdown-toggle > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-xl ul.navbar-nav li > a:hover:after, .navbar-expand-xl ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }
  .navbar-expand-xl ul.navbar-nav li.dropdown > .dropdown-toggle .arrow {
    display: block;
  }
  .navbar-expand-xl ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-xl ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }
  .navbar-expand-xl ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }
  .navbar-expand-xl ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .navbar-expand-xl ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
  }
  .navbar-expand-xl ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }
  .navbar-expand-xl ul.navbar-nav > li.dropdown-mega .dropdown-mega-content > .row > div {
    padding: 0px 15px;
  }
  .navbar-expand-xl.navbar-text-light .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }
  .navbar-expand-xl.navbar-text-light .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
  .navbar-expand-xl.navbar-dropdown-dark .navbar-collapse {
    background-color: #252A2C;
  }
  .navbar-expand-xl.navbar-dropdown-primary .navbar-collapse {
    background-color: #005aaa;
  }
  .navbar-expand-xl.navbar-dropdown-primary ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    background-color: #005aaa;
  }
  .navbar-expand-xl.navbar-dropdown-dark ul.navbar-nav li {
    border-color: #444;
  }
  .navbar-expand-xl.navbar-dropdown-dark ul.navbar-nav > li > a {
    color: #a3a2a2;
  }
  .navbar-expand-xl.navbar-dropdown-dark ul.navbar-nav > li:hover > a {
    color: #fff;
  }
  .navbar-expand-xl.navbar-dropdown-primary ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.2);
  }
  .navbar-expand-xl.navbar-dropdown-primary ul.navbar-nav > li > a {
    color: rgba(250, 250, 250, 0.8);
  }
  .navbar-expand-xl.navbar-dropdown-primary ul.navbar-nav > li:hover > a {
    color: #fff;
  }
}
/* =================================== */
/*  5. Elements
/* =================================== */
/*=== 5.1 List Style ===*/
.list-style-1 > li {
  position: relative;
  list-style-type: none;
  line-height: 24px;
}
.list-style-1 > li:after {
  content: " ";
  position: absolute;
  top: 12px;
  left: -15px;
  border-color: #000;
  border-top: 1px solid;
  border-right: 1px solid;
  width: 6px;
  height: 6px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.list-style-2 {
  padding: 0;
}

.list-style-2 > li {
  list-style-type: none;
  border-bottom: 1px solid #eaeaea;
  padding-top: 12px;
  padding-bottom: 12px;
}

.list-style-2.list-style-light > li {
  border-bottom: 1px solid rgba(250, 250, 250, 0.12);
}

/*=== 5.2 Changelog ===*/
.changelog {
  list-style: none;
  padding: 0;
}
.changelog .badge {
  width: 90px;
  margin-right: 10px;
  border-radius: .20rem;
  text-transform: uppercase;
}
.changelog li {
  line-height: 1.8;
}

/*=== 5.3 Accordion & Toggle ===*/
.accordion .card {
  border: none;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  background-color: transparent;
}
.accordion .card-header {
  padding: 0;
  border: none;
  background: none;
}
.accordion .card-header a {
  font-size: 16px;
  font-weight: normal;
  padding: 1rem 1.25rem 1rem 2.25rem;
  display: block;
  border-radius: 4px;
  position: relative;
}
.accordion .card-header a:hover {
  text-decoration: none;
}
.accordion .card-header a:hover.collapsed {
  color: #005aaa !important;
}
.accordion:not(.accordion-alternate) .card-header a {
  background-color: #005aaa;
  color: #fff;
}
.accordion:not(.accordion-alternate) .card-header a.collapsed {
  background-color: #f1f2f4;
  color: #4c4d4d;
}
.accordion .card-header a:before {
  position: absolute;
  content: " ";
  left: 20px;
  top: calc(50% + 2px);
  width: 9px;
  height: 9px;
  border-color: #CCC;
  border-top: 2px solid;
  border-right: 2px solid;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.accordion .card-header a.collapsed:before {
  top: calc(50% - 2px);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  transform: translate(-50%, -50%) rotate(135deg);
}
.accordion .card-body {
  line-height: 26px;
}
.accordion.arrow-right .card-header a {
  padding-left: 1.25rem;
}
.accordion.arrow-right .card-header a:before {
  right: 15px;
  left: auto;
}
.accordion.accordion-alternate .card {
  margin: 0;
}
.accordion.accordion-alternate .card-header a {
  padding-left: 1.40rem;
  border-top: 1px solid #e4e9ec;
  border-radius: 0px;
}
.accordion.accordion-alternate .card:first-of-type .card-header a {
  border-top: 0px;
}
.accordion.accordion-alternate .card-header a:before {
  left: 6px;
}
.accordion.accordion-alternate .card-header a.collapsed {
  color: #4c4d4d;
}
.accordion.accordion-alternate .card-body {
  padding: 0rem 0 1rem 1.25rem;
}
.accordion.accordion-alternate.arrow-right .card-header a {
  padding-left: 0;
}
.accordion.accordion-alternate.arrow-right .card-header a:before {
  right: 0px;
  left: auto;
}
.accordion.toggle .card-header a:before {
  content: "-";
  border: none;
  font-size: 20px;
  height: auto;
  top: calc(50% + 2px);
  width: auto;
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
  transform: translate(-50%, -50%) rotate(180deg);
}
.accordion.toggle .card-header a.collapsed:before {
  content: "+";
  top: calc(50% - 1px);
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  transform: translate(-50%, -50%) rotate(0deg);
}
.accordion.accordion-alternate.style-2 .card-header a {
  padding-left: 0px;
}
.accordion.accordion-alternate.style-2 .card-header a:before {
  right: 2px;
  left: auto;
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  transform: translate(-50%, -50%) rotate(135deg);
  top: 50%;
}
.accordion.accordion-alternate.style-2 .card-header a.collapsed:before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.accordion.accordion-alternate.style-2 .card-body {
  padding-left: 0px;
}
.accordion.accordion-alternate.popularRoutes .card-header .nav {
  margin-top: 3px;
}
.accordion.accordion-alternate.popularRoutes .card-header .nav a {
  font-size: 14px;
}
.accordion.accordion-alternate.popularRoutes .card-header a {
  padding: 0px 8px 0px 0px;
  border: none;
  font-size: inherit;
}
.accordion.accordion-alternate.popularRoutes .card-header a:before {
  content: none;
}
.accordion.accordion-alternate.popularRoutes .card-header h5 {
  cursor: pointer;
}
.accordion.accordion-alternate.popularRoutes .card-header h5:before {
  position: absolute;
  content: " ";
  right: 0px;
  top: 24px;
  width: 10px;
  height: 10px;
  opacity: 0.6;
  border-top: 2px solid;
  border-right: 2px solid;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.accordion.accordion-alternate.popularRoutes .card-header h5.collapsed:before {
  top: 24px;
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  transform: translate(-50%, -50%) rotate(135deg);
}
.accordion.accordion-alternate.popularRoutes .card-body {
  padding: 0;
}
.accordion.accordion-alternate.popularRoutes .card {
  border-bottom: 2px solid #e4e9ec;
  padding: 15px 0px;
}
.accordion.accordion-alternate.popularRoutes .routes-list {
  margin: 1rem 0px 0px 0px;
  padding: 0px;
  list-style: none;
}
.accordion.accordion-alternate.popularRoutes .routes-list a {
  color: inherit;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-align: center !important;
  align-items: center !important;
}
.accordion.accordion-alternate.popularRoutes .routes-list a:hover {
  color: #0071cc;
  text-decoration: underline;
}

/* 5.4 Nav */
.nav .nav-item .nav-link {
  color: #222222;
}

.nav.nav-light .nav-item .nav-link {
  color: #ddd;
}

.nav:not(.nav-pills) .nav-item .nav-link.active, .nav:not(.nav-pills) .nav-item .nav-link:hover {
  color: #005aaa;
}

.nav-pills .nav-link:not(.active):hover {
  color: #005aaa;
}

.nav-pills .nav-link.active, .nav-pills.nav-light .nav-link.active, .nav-pills .show > .nav-link {
  color: #fff;
}

.nav.nav-separator .nav-item .nav-link {
  position: relative;
}

.nav.nav-separator .nav-item + .nav-item .nav-link:after {
  height: 14px;
  width: 1px;
  content: ' ';
  background-color: rgba(0, 0, 0, 0.2);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
}

.nav.nav-separator.nav-separator-light .nav-item + .nav-item .nav-link:after {
  background-color: rgba(250, 250, 250, 0.2);
}

.nav.nav-sm .nav-item .nav-link {
  font-size: 14px;
}

/*=== 5.5 Tabs ===*/
.nav-tabs {
  border-bottom: 1px solid #d7dee3;
}
.nav-tabs .nav-item .nav-link {
  border: 0;
  background: transparent;
  position: relative;
  border-radius: 0;
  padding: 0.6rem 1rem;
  color: #7b8084;
  white-space: nowrap !important;
}
.nav-tabs .nav-item .nav-link.active {
  color: #0c2f55;
}
.nav-tabs .nav-item .nav-link.active:after {
  height: 2px;
  width: 100%;
  content: ' ';
  background-color: #005aaa;
  display: block;
  position: absolute;
  bottom: -3px;
  left: 0;
  -webkit-transform: translateY(-3px);
  transform: translateY(-3px);
}
.nav-tabs .nav-item .nav-link:not(.active):hover {
  color: #005aaa;
}
.nav-tabs.flex-column {
  border-right: 1px solid #d7dee3;
  border-bottom: 0px;
  padding: 1.5rem 0;
}
.nav-tabs.flex-column .nav-item .nav-link {
  border: 1px solid #d7dee3;
  border-right: 0px;
  background-color: #f6f7f8;
  font-size: 14px;
  padding: 0.75rem 1rem;
  color: #535b61;
}
.nav-tabs.flex-column .nav-item:first-of-type .nav-link {
  border-top-left-radius: 4px;
}
.nav-tabs.flex-column .nav-item:last-of-type .nav-link {
  border-bottom-left-radius: 4px;
}
.nav-tabs.flex-column .nav-item .nav-link.active {
  background-color: transparent;
  color: #005aaa;
}
.nav-tabs.flex-column .nav-item .nav-link.active:after {
  height: 100%;
  width: 2px;
  background: #fff;
  right: -1px;
  left: auto;
}

.nav-tabs:not(.flex-column) {
  flex-wrap: nowrap;
  overflow: hidden;
  overflow-x: auto;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-overflow-scrolling: touch;
}
.nav-tabs:not(.flex-column) .nav-item {
  margin-bottom: 0px;
}

@media (max-width: 575.98px) {
  .nav-tabs .nav-item .nav-link {
    padding-left: 0px;
    padding-right: 0px;
    margin-right: 10px;
    font-size: 0.875rem;
  }
}
/*=== 5.6 Popup Img ===*/
.popup-img img {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.popup-img:hover img {
  opacity: 0.8;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

/*=== 5.7 Featured Box ===*/
.featured-box {
  box-sizing: border-box;
  position: relative;
}
.featured-box h3, .featured-box h4 {
  font-size: 1.25rem;
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: 500;
}
.featured-box:not(.style-5) .featured-box-icon {
  display: inline-block;
  font-size: 48px;
  min-width: 55px;
  min-height: 55px;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0.8rem;
  color: #4c4d4d;
  border-radius: 0;
}
.featured-box.style-1, .featured-box.style-2, .featured-box.style-3 {
  padding-left: 50px;
  padding-top: 8px;
}
.featured-box.style-1 .featured-box-icon, .featured-box.style-2 .featured-box-icon, .featured-box.style-3 .featured-box-icon {
  position: absolute;
  top: 0;
  left: 0;
  margin-bottom: 0;
  font-size: 30px;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  text-align: center;
}
.featured-box.style-2 p {
  margin-left: -50px;
}
.featured-box.style-3 {
  padding-left: 90px;
  padding-top: 0px;
}
.featured-box.style-3 .featured-box-icon {
  width: 70px;
  height: 70px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.featured-box.style-4 {
  text-align: center;
}
.featured-box.style-4 .featured-box-icon {
  margin: 0 auto 24px;
  margin: 0 auto 1.5rem;
  width: 120px;
  height: 120px;
  text-align: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.03);
  box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.03);
}
.featured-box.style-5 {
  text-align: center;
  background: #fff;
  border: 1px solid #f0f2f3;
  -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.featured-box.style-5:hover {
  border: 1px solid #ebeded;
  -webkit-box-shadow: 0px 5px 1.5rem rgba(0, 0, 0, 0.15);
  box-shadow: 0px 5px 1.5rem rgba(0, 0, 0, 0.15);
}
.featured-box.style-5 h3 {
  background: #f1f5f6;
  font-size: 16px;
  padding: 8px 0;
  margin-bottom: 0px;
}
.featured-box.style-5 .featured-box-icon {
  font-size: 50px;
  margin: 44px 0px;
}

.featured-box.featured-box-reverse {
  text-align: right;
}
.featured-box.featured-box-reverse.style-1, .featured-box.featured-box-reverse.style-2 {
  padding-right: 50px;
  padding-left: 0px;
}
.featured-box.featured-box-reverse.style-1 .featured-box-icon, .featured-box.featured-box-reverse.style-2 .featured-box-icon {
  left: auto;
  right: 0px;
}
.featured-box.featured-box-reverse.style-2 p {
  margin-right: -50px;
  margin-left: 0;
}
.featured-box.featured-box-reverse.style-3 {
  padding-left: 0;
  padding-right: 90px;
}
.featured-box.featured-box-reverse.style-3 .featured-box-icon {
  left: auto;
  right: 0px;
}

.featured-box.featured-box-reverse-sm {
  text-align: right;
}
.featured-box.featured-box-reverse-sm.style-1, .featured-box.featured-box-reverse-sm.style-2 {
  padding-right: 50px;
  padding-left: 0px;
}
.featured-box.featured-box-reverse-sm.style-1 .featured-box-icon, .featured-box.featured-box-reverse-sm.style-2 .featured-box-icon {
  left: auto;
  right: 0px;
}
.featured-box.featured-box-reverse-sm.style-2 p {
  margin-right: -50px;
  margin-left: 0;
}
.featured-box.featured-box-reverse-sm.style-3 {
  padding-left: 0;
  padding-right: 90px;
}
.featured-box.featured-box-reverse-sm.style-3 .featured-box-icon {
  left: auto;
  right: 0px;
}

@media (min-width: 576px) {
  .featured-box.featured-box-reverse-md {
    text-align: right;
  }
  .featured-box.featured-box-reverse-md.style-1, .featured-box.featured-box-reverse-md.style-2 {
    padding-right: 50px;
    padding-left: 0px;
  }
  .featured-box.featured-box-reverse-md.style-1 .featured-box-icon, .featured-box.featured-box-reverse-md.style-2 .featured-box-icon {
    left: auto;
    right: 0px;
  }
  .featured-box.featured-box-reverse-md.style-2 p {
    margin-right: -50px;
    margin-left: 0;
  }
  .featured-box.featured-box-reverse-md.style-3 {
    padding-left: 0;
    padding-right: 90px;
  }
  .featured-box.featured-box-reverse-md.style-3 .featured-box-icon {
    left: auto;
    right: 0px;
  }
}
@media (min-width: 900px) {
  .featured-box.featured-box-reverse-lg {
    text-align: right;
  }
  .featured-box.featured-box-reverse-lg.style-1, .featured-box.featured-box-reverse-lg.style-2 {
    padding-right: 50px;
    padding-left: 0px;
  }
  .featured-box.featured-box-reverse-lg.style-1 .featured-box-icon, .featured-box.featured-box-reverse-lg.style-2 .featured-box-icon {
    left: auto;
    right: 0px;
  }
  .featured-box.featured-box-reverse-lg.style-2 p {
    margin-right: -50px;
    margin-left: 0;
  }
  .featured-box.featured-box-reverse-lg.style-3 {
    padding-left: 0;
    padding-right: 90px;
  }
  .featured-box.featured-box-reverse-lg.style-3 .featured-box-icon {
    left: auto;
    right: 0px;
  }
}
@media (min-width: 992px) {
  .featured-box.featured-box-reverse-xl {
    text-align: right;
  }
  .featured-box.featured-box-reverse-xl.style-1, .featured-box.featured-box-reverse-xl.style-2 {
    padding-right: 50px;
    padding-left: 0px;
  }
  .featured-box.featured-box-reverse-xl.style-1 .featured-box-icon, .featured-box.featured-box-reverse-xl.style-2 .featured-box-icon {
    left: auto;
    right: 0px;
  }
  .featured-box.featured-box-reverse-xl.style-2 p {
    margin-right: -50px;
    margin-left: 0;
  }
  .featured-box.featured-box-reverse-xl.style-3 {
    padding-left: 0;
    padding-right: 90px;
  }
  .featured-box.featured-box-reverse-xl.style-3 .featured-box-icon {
    left: auto;
    right: 0px;
  }
}
/* =================================== */
/*  6. Footer
/* =================================== */
#footer {
  background: #fff;
  color: #252b33;
  margin-left: 260px;
  padding: 66px 0px;
  padding: 4.125rem 0;
}
#footer .nav .nav-item {
  display: inline-block;
  line-height: 12px;
  margin: 0;
}
#footer .nav .nav-item .nav-link {
  color: #252b33;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#footer .nav .nav-item .nav-link:focus {
  color: #005aaa;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#footer .nav .nav-item:first-child .nav-link {
  padding-left: 0px;
}
#footer .nav .nav-item:last-child .nav-link {
  padding-right: 0px;
}
#footer .nav .nav-link:hover {
  color: #005aaa;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#footer .footer-copyright {
  border-top: 1px solid #e2e8ea;
  padding: 0px 0px;
  color: #67727c;
}
#footer .footer-copyright .nav .nav-item .nav-link {
  color: #67727c;
}
#footer .footer-copyright .nav .nav-link:hover {
  color: #005aaa;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#footer .nav.flex-column .nav-item {
  padding: 0px;
}
#footer .nav.flex-column .nav-item .nav-link {
  margin: 0.7rem 0px;
}
#footer.footer-text-light {
  color: rgba(250, 250, 250, 0.8);
}
#footer.footer-text-light .nav .nav-item .nav-link {
  color: rgba(250, 250, 250, 0.8);
}
#footer.footer-text-light .nav .nav-item .nav-link:hover {
  color: #fafafa;
}
#footer.footer-text-light .footer-copyright {
  border-color: rgba(250, 250, 250, 0.15);
  color: rgba(250, 250, 250, 0.5);
}
#footer.footer-text-light:not(.bg-primary) .social-icons-light.social-icons li a {
  color: rgba(250, 250, 250, 0.8);
}
#footer.footer-text-light:not(.bg-primary) .social-icons-light.social-icons li a:hover {
  color: #fafafa;
}
#footer.footer-text-light.bg-primary {
  color: #fff;
}
#footer.footer-text-light.bg-primary .nav .nav-item .nav-link {
  color: #fff;
}
#footer.footer-text-light.bg-primary .nav .nav-item .nav-link:hover {
  color: rgba(250, 250, 250, 0.7);
}
#footer.footer-text-light.bg-primary .footer-copyright {
  border-color: rgba(250, 250, 250, 0.15);
  color: rgba(250, 250, 250, 0.9);
}
#footer.footer-text-light.bg-primary :not(.social-icons) a {
  color: #fff;
}
#footer.footer-text-light.bg-primary :not(.social-icons) a:hover {
  color: rgba(250, 250, 250, 0.7);
}

@media (max-width: 899.98px) {
  #footer {
    margin-left: 0px;
  }
}
/*=== 6.1 Social Icons ===*/
.social-icons {
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
}
.social-icons li {
  margin: 0px 6px;
  padding: 0;
  overflow: visible;
}
.social-icons li a {
  display: block;
  height: 26px;
  line-height: 26px;
  width: 26px;
  font-size: 18px;
  text-align: center;
  color: #4d555a;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.social-icons li i {
  line-height: inherit;
}
.social-icons.social-icons-sm li {
  margin: 0px 4px;
}
.social-icons.social-icons-sm li a {
  font-size: 15px;
  width: 22px;
}
.social-icons.social-icons-lg li a {
  width: 34px;
  height: 34px;
  line-height: 34px;
  font-size: 22px;
}
.social-icons.social-icons-light li a {
  color: #eee;
}
.social-icons.social-icons-muted li a {
  color: #aab1b8;
}
.social-icons li:hover a {
  color: #999;
}

/* Header icon buttons on start-page-style pages (start.html) get the same rounded
   hover accent as the doc-viewer header buttons. The light/dark toggle
   (.design-selector) is excluded. */
body.start-page #header .social-icons > li:not(.design-selector) > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 28px;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
body.start-page #header .social-icons > li:not(.design-selector) > a:hover,
body.start-page #header .social-icons > li:not(.design-selector) > a:focus-visible {
  background-color: rgba(255, 255, 255, 0.16);
  text-decoration: none;
  outline: none;
}

/*=== 6.2 Back to Top ===*/
#back-to-top {
  display: none;
  position: fixed;
  z-index: 1030;
  bottom: 8px;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.22);
  text-align: center;
  color: #fff;
  font-size: 14px;
  width: 36px;
  height: 36px;
  line-height: 34px;
  border-radius: 3px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}
#back-to-top:hover {
  background-color: #005aaa;
  -webkit-box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

@media (max-width: 575.98px) {
  #back-to-top {
    z-index: 1029;
  }
}
/* =================================== */
/*  Extras
/* =================================== */
/* Bootstrap Specific */
.form-control, .custom-select {
  border-color: #dae1e3;
  font-size: 16px;
  color: #656565;
}

.form-control:not(.form-control-sm) {
  padding: .810rem .96rem;
  height: inherit;
}

.form-control-sm {
  font-size: 14px;
}

.icon-inside {
  position: absolute;
  right: 15px;
  top: calc(50% - 11px);
  pointer-events: none;
  font-size: 18px;
  font-size: 1.125rem;
  color: #c4c3c3;
  z-index: 3;
}

.form-control-sm + .icon-inside {
  font-size: 0.875rem !important;
  font-size: 14px;
  top: calc(50% - 13px);
}

select.form-control:not([size]):not([multiple]):not(.form-control-sm) {
  height: auto;
  padding-top: .700rem;
  padding-bottom: .700rem;
}

.custom-select:not(.custom-select-sm) {
  height: calc(3.05rem + 2px);
  padding-top: .700rem;
  padding-bottom: .700rem;
}

.col-form-label-sm {
  font-size: 13px;
}

.custom-select-sm {
  padding-left: 5px !important;
  font-size: 14px;
}

.custom-select:not(.custom-select-sm).border-0 {
  height: 3.00rem;
}

.form-control:focus, .custom-select:focus {
  -webkit-box-shadow: 0 0 5px rgba(128, 189, 255, 0.5);
  box-shadow: 0 0 5px rgba(128, 189, 255, 0.5);
}

.form-control:focus[readonly] {
  box-shadow: none;
}

.input-group-text {
  border-color: #dae1e3;
  background-color: #f1f5f6;
  color: #656565;
}

.form-control::-webkit-input-placeholder {
  color: #b1b4b6;
}
.form-control:-moz-placeholder {
  /* FF 4-18 */
  color: #b1b4b6;
}
.form-control::-moz-placeholder {
  /* FF 19+ */
  color: #b1b4b6;
}
.form-control:-ms-input-placeholder, .form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: #b1b4b6;
}

/* Form Dark */
.form-dark .form-control, .form-dark .custom-select {
  border-color: #232a31;
  background: #232a31;
  color: #fff;
}
.form-dark .form-control:focus {
  border-color: #80bdff !important;
}
.form-dark .form-control::-webkit-input-placeholder {
  color: #777b7f;
}
.form-dark .form-control:-moz-placeholder {
  /* FF 4-18 */
  color: #777b7f;
}
.form-dark .form-control::-moz-placeholder {
  /* FF 19+ */
  color: #777b7f;
}
.form-dark .form-control:-ms-input-placeholder, .form-dark .form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: #777b7f;
}
.form-dark .custom-select {
  color: #777b7f;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='rgba(250,250,250,0.3)' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-size: 13px 15px;
  border-color: #232a31;
  background-color: #232a31;
}
.form-dark .icon-inside {
  color: #777b7f;
}

/*  Input with only bottom border  */
.form-border .form-control {
  background-color: transparent;
  border: none;
  border-bottom: 2px solid rgba(0, 0, 0, 0.12);
  border-radius: 0px;
  padding-left: 0px !important;
  color: black;
}
.form-border .form-control::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}
.form-border .form-control:-moz-placeholder {
  /* FF 4-18 */
  color: rgba(0, 0, 0, 0.4);
}
.form-border .form-control::-moz-placeholder {
  /* FF 19+ */
  color: rgba(0, 0, 0, 0.4);
}
.form-border .form-control:-ms-input-placeholder, .form-border .form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(0, 0, 0, 0.4);
}
.form-border .custom-select {
  background-color: transparent;
  border: none;
  border-bottom: 2px solid rgba(0, 0, 0, 0.12);
  border-radius: 0px;
  padding-left: 0px;
  color: rgba(0, 0, 0, 0.4);
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='rgba(0,0,0,0.3)' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-size: 13px 15px;
}
.form-border .form-control:focus, .form-border .custom-select:focus {
  box-shadow: none;
  -webkit-box-shadow: none;
  border-bottom: 2px solid rgba(0, 0, 0, 0.7);
}
.form-border .form-control:not(output):-moz-ui-invalid:not(:focus), .form-border .form-control:not(output):-moz-ui-invalid:-moz-focusring:not(:focus), .form-border .custom-select:not(output):-moz-ui-invalid:not(:focus), .form-border .custom-select:not(output):-moz-ui-invalid:-moz-focusring:not(:focus) {
  border-bottom: 2px solid #b00708;
  box-shadow: none;
  -webkit-box-shadow: none;
}
.form-border .icon-inside {
  color: rgba(0, 0, 0, 0.25);
}
.form-border select option {
  color: #666;
}

.form-border-light .form-control {
  border-bottom: 2px solid rgba(250, 250, 250, 0.3);
  color: #fafafa;
}
.form-border-light .form-control::-webkit-input-placeholder {
  color: rgba(250, 250, 250, 0.7);
}
.form-border-light .form-control:-moz-placeholder {
  /* FF 4-18 */
  color: rgba(250, 250, 250, 0.7);
}
.form-border-light .form-control::-moz-placeholder {
  /* FF 19+ */
  color: rgba(250, 250, 250, 0.7);
}
.form-border-light .form-control:-ms-input-placeholder, .form-border-light .form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(250, 250, 250, 0.7);
}
.form-border-light .custom-select {
  border-bottom: 2px solid rgba(250, 250, 250, 0.3);
  color: #fafafa;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='rgba(250,250,250,0.6)' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-size: 13px 15px;
}
.form-border-light .form-control:focus, .form-border-light .custom-select:focus {
  border-bottom: 2px solid rgba(250, 250, 250, 0.8);
}
.form-border-light .icon-inside {
  color: #999;
}
.form-border-light select option {
  color: #333;
}

.input-group-append .btn, .input-group-prepend .btn {
  -webkit-box-shadow: none;
  box-shadow: none;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.input-group-append .btn:hover, .input-group-prepend .btn:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
}

@media (max-width: 575.98px) {
  .input-group > .input-group-append > .btn, .input-group > .input-group-prepend > .btn {
    padding: 0 0.75rem;
  }
}
.bg-primary, .badge-primary {
  background-color: #005aaa !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

.text-primary, .btn-light, .btn-outline-light:hover, .btn-link, .btn-outline-light:not(:disabled):not(.disabled).active, .btn-outline-light:not(:disabled):not(.disabled):active {
  color: #005aaa !important;
}

.btn-link:hover {
  color: #00467b !important;
}

.text-secondary {
  color: #6c757d !important;
}

.text-light {
  color: #dee3e4 !important;
}

.text-body {
  color: #4c4d4d !important;
}

a.bg-primary:focus, a.bg-primary:hover, button.bg-primary:focus, button.bg-primary:hover {
  background-color: #00467b !important;
}

.border-primary {
  border-color: #005aaa !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.btn-primary {
  background-color: #005aaa;
  border-color: #005aaa;
}
.btn-primary:hover {
  background-color: #00467b;
  border-color: #00467b;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active {
  background-color: #00467b;
  border-color: #00467b;
}

.btn-primary.focus, .btn-primary:focus {
  background-color: #00467b;
  border-color: #00467b;
}

.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-primary, .btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active {
  color: #005aaa;
  border-color: #005aaa;
}
.btn-outline-primary:hover, .btn-outline-primary:not(:disabled):not(.disabled).active:hover, .btn-outline-primary:not(:disabled):not(.disabled):active:hover {
  background-color: #005aaa;
  border-color: #005aaa;
  color: #fff;
}

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d;
}
.btn-outline-secondary:hover {
  background-color: #6c757d;
  border-color: #6c757d;
  color: #fff;
}

.progress-bar,
.nav-pills .nav-link.active, .nav-pills .show > .nav-link, .dropdown-item.active, .dropdown-item:active {
  background-color: #005aaa;
}

.page-item.active .page-link,
.custom-radio .custom-control-input:checked ~ .custom-control-label:before,
.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label:before,
.custom-control-input:checked ~ .custom-control-label:before {
  background-color: #005aaa;
  border-color: #005aaa;
}

.list-group-item.active {
  background-color: #005aaa;
  border-color: #005aaa;
}

.page-link {
  color: #005aaa;
}
.page-link:hover {
  color: #00467b;
}

/* Pagination */
.page-link {
  border: none;
  border-radius: 0.25rem;
  margin: 0 0.22rem;
  font-size: 16px;
  font-size: 1rem;
}
.page-link:hover {
  background-color: #e9eff0;
}

/* Vertical Multilple input group */
.vertical-input-group .input-group:first-child {
  padding-bottom: 0;
}
.vertical-input-group .input-group:first-child * {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.vertical-input-group .input-group:last-child {
  padding-top: 0;
}
.vertical-input-group .input-group:last-child * {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.vertical-input-group .input-group:not(:last-child):not(:first-child) {
  padding-top: 0;
  padding-bottom: 0;
}
.vertical-input-group .input-group:not(:last-child):not(:first-child) * {
  border-radius: 0;
}
.vertical-input-group .input-group:not(:first-child) * {
  border-top: 0;
}

/* styles-switcher */
#styles-switcher {
  background: #fff;
  width: 202px;
  position: fixed;
  top: 35%;
  z-index: 99;
  padding: 20px;
  left: -202px;
}
#styles-switcher ul {
  padding: 0;
}
#styles-switcher ul li {
  list-style-type: none;
  width: 25px;
  height: 25px;
  margin: 4px 2px;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
  transition: all .2s ease-in-out;
}
#styles-switcher ul li.blue {
  background: #007bff;
}
#styles-switcher ul li.brown {
  background: #795548;
}
#styles-switcher ul li.purple {
  background: #6f42c1;
}
#styles-switcher ul li.indigo {
  background: #6610f2;
}
#styles-switcher ul li.red {
  background: #dc3545;
}
#styles-switcher ul li.orange {
  background: #fd7e14;
}
#styles-switcher ul li.yellow {
  background: #ffc107;
}
#styles-switcher ul li.green {
  background: #28a745;
}
#styles-switcher ul li.teal {
  background: #20c997;
}
#styles-switcher ul li.cyan {
  background: #17a2b8;
}
#styles-switcher ul li.active {
  transform: scale(0.7);
  cursor: default;
}
#styles-switcher .switcher-toggle {
  position: absolute;
  background: #333;
  color: #fff;
  font-size: 1.25rem;
  border-radius: 0px 4px 4px 0;
  right: -40px;
  top: 0;
  width: 40px;
  height: 40px;
  padding: 0;
}
#styles-switcher #reset-color {
  background: #e83e8c;
}

input:-internal-autofill-selected {
  background-color: transparent;
}

#styles-switcher.right {
  left: auto;
  right: -202px;
}

#styles-switcher.right .switcher-toggle {
  right: auto;
  left: -40px;
  border-radius: 4px 0px 0px 4px;
}

/*=== ABUS Mobiles Produkthandbuch Header ===*/
#header .bg-dark {
  background-color: #005aaa !important;
}

/* Sidebar drawer logo — only visible on mobile when the drawer slides in */
.sidebar-logo {
  display: none;
}

#header .navbar {
  padding: 0px;
  min-height: 70px;
  position: relative;
}

.header-title {
  position: absolute;
  left: calc(50% + 130px);
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: Arial, sans-serif;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
  pointer-events: none;
  z-index: 1000;
}

.back-button {
  color: #fff;
  font-size: 1rem;
  margin-left: 15px;
  display: flex !important;
  align-items: center;
  transition: color 0.2s ease;
  opacity: 1 !important;
  visibility: visible !important;
}

.back-button:hover {
  color: #fff;
  text-decoration: underline;
}

.back-button:active, .back-button:focus {
  color: #fff !important;
  outline: none;
}

.back-button i {
  margin-right: 8px;
}

/* Prev/Next page buttons in the header — chapter navigation between h1 pages.
   Sit immediately right of .back-button; styled to blend with the dark navbar. */
.page-nav {
  color: #fff;
  font-size: 1rem;
  margin-left: 12px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  transition: background-color 0.2s ease, opacity 0.2s ease, color 0.2s ease;
  opacity: 1;
}

.page-nav:hover,
.page-nav:focus {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.12);
  text-decoration: none;
  outline: none;
}

.page-nav.is-disabled {
  opacity: 0.35;
  pointer-events: none;
  cursor: default;
}

/* Hide non-active h1 pages. The [hidden] attribute alone is enough in modern
   browsers; this rule guards against stylesheets that override the UA default. */
.docs-page[hidden] {
  display: none !important;
}

/* Expand-all / Collapse-all toolbar — inserted at the top of each page that
   contains <details class="abus-option">. Sits flush with the page's first
   heading; the heading's own top margin keeps the spacing balanced. */
.abus-options-toggle {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  padding-top: 1.25rem;
  margin-bottom: -1rem;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
/* The FIRST section (Start page) carries 3rem top padding (rule above, line
   ~980). When it also gets the toolbar (symbol legend = Option box), the buttons
   sat 3rem lower than on every other page (FH, 2026-09-14). theme.js marks such
   a section .has-options-toolbar: the padding moves BELOW the toolbar, so the
   buttons sit flush under the top bar like elsewhere and the first content
   element (tiles / "Auf einen Blick") keeps its 3rem distance
   (4rem here because it collapses with the toolbar's -1rem bottom margin). */
.abus-main section:first-child.has-options-toolbar { padding-top: 0; }
.abus-main section:first-child.has-options-toolbar > .abus-options-toggle + :not(h1):not(h2) { margin-top: 4rem; }
/* The Start page now opens with its own chapter heading (theme.js, 2026-09-14
   FH): like every chapter page the heading's own top margin provides the gap
   under the top bar, so the first-section padding must not add to it. */
.abus-main section:first-child.has-start-heading { padding-top: 0; }

.abus-options-toggle button {
  background: none;
  border: none;
  padding: 0;
  color: #444;
  font-size: 0.95rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.abus-options-toggle button:hover,
.abus-options-toggle button:focus {
  color: #005AAA;
  outline: none;
}

.abus-options-toggle button:hover {
  text-decoration: underline;
}

.abus-options-toggle button i {
  font-size: 0.85em;
  color: #888;
}

.abus-options-toggle button:hover i,
.abus-options-toggle button:focus i {
  color: inherit;
}

#header .logo {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  position: relative;
}

#header .logo img {
  max-width: 240px;
  height: auto;
}

/* The <picture> wrapper around the logo (used on start.html for viewport-based
   src swapping) — collapse it out of the layout so the inner <img> becomes
   the direct flex child of .logo, matching index.html where the
   <img> is used without a picture wrapper. The browser still picks the right
   <source> for the SVG. */
#header .logo picture {
  display: contents;
}

@media (min-width: 900px) {
  #header a.logo {
    background-color: #fff !important;
    width: 300px;   /* = sidebar width */
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 20px;
    padding-right: 20px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Inset bottom border so the header bottom edge is visible across the white logo box */
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12);
  }

  #header .navbar .container-fluid {
    padding-left: 315px; /* 300px logo + 15px gutter */
  }
}

.social-icons {
  margin-right: 30px;
}

.social-icons-print i,
.social-icons-email i {
  color: #fff;
}

.social-icons .language-selector {
  position: relative;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  padding-left: 15px;
  margin-left: 15px;
}

.social-icons .language-selector a {
  width: auto;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 0.9rem;
  padding: 0 5px;
  cursor: pointer;
}

.social-icons .language-selector .dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  min-width: 160px;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 0.9rem;
  color: #fff;
  text-align: left;
  list-style: none;
  background-color: #000;
  background-clip: padding-box;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.25rem;
  z-index: 1000;
  display: none;
}

.social-icons .language-selector .dropdown-menu.show {
  display: block;
}

.social-icons .language-selector .dropdown-item {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #fff;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.social-icons .language-selector .dropdown-item:hover,
.social-icons .language-selector .dropdown-item:focus {
  color: #fff;
  text-decoration: none;
  background-color: #333;
}

.social-icons .language-selector .dropdown-item .flag-icon {
  margin-right: 10px;
  font-size: 1.2rem;
  line-height: 1;
}

.social-icons .language-selector a:hover {
  color: #fff;
  text-decoration: none;
}

.social-icons .language-selector i,
.social-icons .language-selector .flag-icon {
  margin-right: 6px;
  font-size: 1.2rem;
  line-height: 1;
}

.social-icons .language-selector > a .flag-icon {
  margin-right: 0;
}

/* Flag images bundled in assets/images/flags/ (sourced from flagcdn.com /
   flagpedia.net, public domain) — every flag has its own native aspect
   ratio (GB 2:1, DE 5:3, ES/FR 3:2). Forcing the same height made the wide
   GB flag look bigger than the others. Lock all of them into a uniform 3:2
   box with object-fit: cover so the visible footprint matches; GB gets its
   sides cropped very slightly but the central cross stays intact. */
.social-icons .language-selector img.flag-icon {
  width: 1.5em;
  height: 1em;
  object-fit: cover;
  vertical-align: -0.15em;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
  border-radius: 1px;
  /* Defence in depth alongside the draggable=false / oncontextmenu attributes
     on each <img>. user-drag / user-select block native drag and selection;
     pointer-events: none routes clicks straight to the parent <a> so the
     image itself can't be the context-menu target ("Save image" disappears). */
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}

.social-icons .language-selector span {
  font-family: Arial, sans-serif;
}

/* Start-page feedback button — the SVG is black by default, so flip it white
   for the blue header and size it like index.html's (classic.css does this on
   the doc pages; the start page doesn't load classic.css). */
body.start-page .c-feedback-icon {
  width: 17px;
  height: 17px;
  vertical-align: middle;
  filter: brightness(0) invert(1);
}

/* Start page: match index.html's language selector — a globe trigger + a blue,
   square dropdown pinned to the page's right border, flush under the 70px
   header. (index.html gets this from classic.css, which the start page doesn't
   load.) */
body.start-page .social-icons .language-selector > a > img.flag-icon { display: none; }
body.start-page .social-icons .language-selector .c-lang-globe { display: inline-block; margin: 0; font-size: 1.05rem; line-height: 1; }
body.start-page .social-icons .language-selector .dropdown-menu {
  position: fixed;
  top: 52px;                 /* header is 53px tall (matches index.html); overlap its 1px bottom border */
  right: 0;
  left: auto;
  margin: 0;
  min-width: 180px;
  padding: 4px 0;
  background-color: #005aaa;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-top: 0;
  border-radius: 0;
  box-shadow: 0 8px 14px -6px rgba(0, 0, 0, 0.3);
}
body.start-page .social-icons .language-selector .dropdown-item { color: #fff; }
body.start-page .social-icons .language-selector .dropdown-item:hover,
body.start-page .social-icons .language-selector .dropdown-item:focus { background-color: rgba(255, 255, 255, 0.16); color: #fff; }
body.start-page .social-icons .language-selector .dropdown-item.active { background-color: rgba(255, 255, 255, 0.24); color: #fff; }
/* Keep the globe white while the dropdown is open/hovered — the menu is a child
   of the <li>, so the theme's `.social-icons li:hover a { color:#999 }` would
   otherwise grey the toggle icon when hovering a dropdown item. */
body.start-page .social-icons .language-selector:hover > a { color: #fff; }

/* Header logo: index.html's blue logo rendered white for the blue start bar
   (the standalone white SVG was removed; this reuses the one logo file). */
body.start-page #header .logo img { filter: brightness(0) invert(1); }

/* Match index.html's header height (classic.css's --c-header-h = 53px) instead
   of the theme's default 70px. */
body.start-page #header .navbar { min-height: 53px; }

/*=== ABUS Footer (white copyright box + blue breadcrumb trail) ===*/
#footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  min-height: 70px;
  margin: 0;
  padding: 0;
  background-color: #005aaa;
  color: #fff;
  display: flex;
  align-items: stretch;
  z-index: 2;
}

.footer-copyright {
  width: 260px;
  flex-shrink: 0;
  background-color: #fff;
  color: #6c757d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.8rem;
  padding: 0 15px;
  line-height: 1.3;
}

.footer-copyright a {
  color: #000;
  text-decoration: underline;
}

.footer-copyright a:hover {
  color: #005aaa;
}

.breadcrumb-trail {
  flex: 1;
  min-width: 0;
  align-self: center; /* center vertically inside the footer (rather than stretch) */
  padding: 6px 30px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #fff;
  font-family: Arial, sans-serif;
  display: flex;
  align-items: flex-start; /* label sits on the same baseline as the first row of items */
}

.breadcrumb-label {
  margin-right: 0.6rem;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 400;
  flex-shrink: 0;
  align-self: flex-start;
}

/* Wrapper around the path items — when the content wraps, new lines start at
   the left edge of this wrapper (just after "Sie sind hier:"), not at the
   footer's left edge. Capped at 2 rows on desktop / 3 rows on mobile. */
.breadcrumb-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  row-gap: 2px;
  max-height: calc(1.5em * 2 + 2px); /* 2 rows + 1 row-gap */
  overflow: hidden;
}

.breadcrumb-trail .breadcrumb-item {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.breadcrumb-trail a.breadcrumb-item {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease;
}

.breadcrumb-trail a.breadcrumb-item:hover,
.breadcrumb-trail a.breadcrumb-item:focus {
  color: #fff;
  text-decoration: underline;
  outline: none;
}

.breadcrumb-trail .breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  padding: 0 0.6rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
}

.breadcrumb-trail .breadcrumb-item:last-child {
  font-weight: 600;
}

/* Sidebar squeezes between the 70px header and the 70px footer */
.abus-navigation {
  height: calc(100% - 140px) !important;
}

/* Leave room above the fixed footer so content isn't hidden behind it
   (footer can grow up to ~2 rows of breadcrumb on desktop). */
.abus-main {
  padding-bottom: 110px !important;
}

/* Lift the back-to-top button above the 70px footer */
#back-to-top {
  bottom: 80px;
}

/* Sidebar copyright — only visible inside the drawer on mobile */
.sidebar-copyright {
  display: none;
}

@media (max-width: 899.98px) {
  /* Hide the white copyright box on mobile — it lives in the sidebar drawer instead */
  .footer-copyright {
    display: none;
  }
  /* Mobile: smaller font + tighter line-height */
  .breadcrumb-trail {
    padding: 8px 15px;
    font-size: 0.85rem;
    line-height: 1.4;
    /* Flow the trail as inline text on mobile so that when the path wraps,
       the continuation lines return to the left edge (under "Sie sind hier:")
       instead of hanging indented under the path's start. */
    display: block;
  }
  .breadcrumb-label {
    display: inline;
    white-space: nowrap;   /* keep "Sie sind hier:" intact — a long path part must
                              never split the label across lines */
  }
  .breadcrumb-path {
    /* Atomic block: when the path is too wide to sit next to the label it drops
       to the next line AS A WHOLE, at the left edge (no indentation) — so a long
       first part starts below "Sie sind hier:" instead of overflowing beside it.
       max-width caps it to the page width; its own parts wrap inside. */
    display: inline-block;
    max-width: 100%;
    overflow: visible;     /* base sets overflow:hidden + max-height for the
                              desktop row-clamp; both are moot here and
                              overflow:hidden would also shift the baseline */
    max-height: none;
  }
  /* Each path part is an atomic inline-block: if it doesn't fit in the space
     left on the current line it drops to the next line AS A WHOLE (flush at
     the left edge) instead of breaking mid-phrase. A part only breaks
     internally when it alone is wider than a full line. */
  .breadcrumb-trail .breadcrumb-item {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
    /* The base rule sets overflow:hidden (for ellipsis); on an inline-block
       that shifts the baseline to the bottom edge and lifts the item above
       the "Sie sind hier:" label. Restore visible overflow so it sits on the
       same text baseline (we want wrapping here, not ellipsis). */
    overflow: visible;
  }
  /* Leave room for the (potentially 3-row tall) footer */
  .abus-main {
    padding-bottom: 140px !important;
  }
  /* Keep the back-to-top button just above the footer instead of overlapping it */
  #back-to-top {
    bottom: 85px;
  }

  /* Drawer extends to the bottom of the viewport and overlays the footer */
  .abus-navigation {
    height: calc(100% - 70px) !important;
    z-index: 3;
  }

  /* Sidebar copyright pinned to the bottom of the drawer (sidebar is a flex column) */
  .sidebar-copyright {
    display: block;
    margin-top: auto;
    padding: 20px 15px 30px;
    text-align: center;
    font-size: 0.8rem;
    color: #6c757d;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
  }

  .sidebar-copyright a {
    color: #000;
    text-decoration: underline;
  }
}

/* Mobile header overrides — must come AFTER base .header-title / .back-button rules */
@media (max-width: 899.98px) {
  /* Hide the header logo block on mobile — it's now in the sidebar drawer */
  #header .logo {
    display: none !important;
  }

  /* Show the sidebar logo at the top of the drawer — inherits the sidebar's
     bg-light (#f8f9fa) background so the logo, nav and copyright all share
     the same shade. */
  .sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }

  .sidebar-logo img {
    max-width: 180px;
    height: auto;
    display: block;
  }

  /* Icon-only back button */
  .back-button-text {
    display: none;
  }

  .back-button {
    margin-left: 6px;
    font-size: 1.1rem;
  }

  .back-button i {
    margin-right: 0;
    font-size: 1.1rem;
  }

  .page-nav {
    margin-left: 4px;
    width: 28px;
    height: 28px;
    font-size: 1rem;
  }

  /* Smaller, ellipsised, properly centered title */
  .header-title {
    left: 50%;
    font-size: 1rem;
    max-width: 50vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
  }

  /* Tighten the right-side icon cluster */
  .social-icons {
    margin-right: 10px !important;
  }
}

/*=== Sidebar Search Bar ===*/
.ui-input-container {
  position: relative;
  width: auto;
  margin: 20px 30px;
}

.search-no-results {
  text-align: center;
  color: #000;
  font-size: 0.9em;
  margin-top: -10px;
  margin-bottom: 15px;
}

/* "Meinten Sie: <Begriff>?" row under "Kein Suchergebnis" (theme.js
   suggestCorrection, 2026-09-15 — vocabulary from the page text). The whole
   sentence is the click target; only the corrected term is bold blue.
   Same look as the Servicedoku's row, without the helper card (FH). */
.search-didyoumean { margin: 0 20px 6px; }
.search-didyoumean .c-sr-didyoumean {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 12px;
  border-radius: 8px;
  font-size: 0.86em;
  line-height: 1.35;
  color: #1f2733;
  text-decoration: none;
}
.search-didyoumean .c-sr-didyoumean i { color: #005aaa; flex: 0 0 auto; }
.search-didyoumean .c-sr-didyoumean strong { color: #005aaa; font-weight: 700; }
.search-didyoumean .c-sr-didyoumean:hover {
  background: #e7eff8;
  color: #14344f;
  text-decoration: none;
}
.search-didyoumean .c-sr-didyoumean:focus-visible { outline: 2px solid #005aaa; outline-offset: 1px; }

/* Text-selection search popover (theme.js, ported from the Servicedoku
   2026-09-15 — in-manual button only): "Im Handbuch suchen" under a text
   selection in the article. Stays light in the dark design too — it floats
   over the (light) article. */
.c-selsearch {
  position: absolute;
  z-index: 1210;
  display: flex;
  gap: 4px;
  padding: 4px;
  background: #fff;
  border: 1px solid #d6dde6;
  border-radius: 10px;
  box-shadow: 0 6px 22px rgba(0, 45, 90, 0.22);
}
.c-selsearch__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  border-radius: 7px;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1f2733;
  cursor: pointer;
  white-space: nowrap;
}
.c-selsearch__btn:hover { background: #eef4fa; color: #005aaa; }
.c-selsearch__btn:focus-visible { outline: 2px solid #99c2e6; outline-offset: -2px; }
.c-selsearch__btn i { color: #005aaa; font-size: 0.85em; }

/* Search-results count (e.g. "12 Treffer") — sits just under the search bar. */
.search-results-count {
  text-align: center;
  color: #6c757d;
  font-size: 0.85em;
  margin-top: -6px;
  margin-bottom: 12px;
}

/* Skip-to-content link — visually hidden until it receives keyboard focus, then
   slides in at the top-left. It is the first focusable element on every page, so
   keyboard/screen-reader users can jump past the header + sidebar to #main-content. */
.skip-link {
  position: fixed;
  top: -60px;
  left: 8px;
  z-index: 2000;
  padding: 10px 16px;
  background: #005aaa;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 6px 6px;
  transition: top 0.15s ease;
}
.skip-link:focus {
  top: 0;
  outline: 2px solid #fff;
  outline-offset: -4px;
}
/* #main-content is focused programmatically (tabindex="-1") when the skip link is
   used; it is not in the tab order, so suppressing its focus ring is safe. */
#main-content:focus { outline: none; }

.ui-input {
  width: 100%;
  padding: 10px 85px 10px 40px;
  font-size: 1em;
  border: none;
  border-bottom: 2px solid #ccc;
  outline: none;
  background-color: transparent;
  transition: border-color 0.3s;
}

.search-nav-buttons {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 5px;
  color: #999;
}

.search-nav-buttons i {
  cursor: pointer;
  padding: 5px;
  font-size: 0.9em;
  transition: color 0.2s;
}

.search-nav-buttons i:hover {
  color: #005aaa;
}

.search-highlight.active {
  background-color: #ff9900;
}

.ui-input:focus,
.ui-input-container.focused .ui-input {
  border-color: #005aaa;
}

.ui-input-underline {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: #005aaa;
  transform: scaleX(0);
  transition: transform 0.3s;
  /* Decorative overlay — must never swallow clicks meant for the input.
     While .focused persists (e.g. after clicking a search nav arrow), the
     highlight covers the whole input; without this, clicking back into the
     input would hit the overlay instead of the field and fail to refocus. */
  pointer-events: none;
}

.ui-input:focus + .ui-input-underline,
.ui-input-container.focused .ui-input-underline {
  transform: scaleX(1);
}

.ui-input-highlight {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 0;
  background-color: rgba(0, 90, 170, 0.1);
  transition: width 0.3s;
  pointer-events: none;
}

.ui-input:focus ~ .ui-input-highlight,
.ui-input-container.focused .ui-input-highlight {
  width: 100%;
}

.ui-input-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  transition: color 0.3s;
  pointer-events: none;
}

.ui-input:focus ~ .ui-input-icon,
.ui-input-container.focused .ui-input-icon {
  color: #005aaa;
}

.ui-input-icon svg {
  width: 20px;
  height: 20px;
}

.search-highlight {
  background-color: #ffff00;
  color: #000;
  padding: 0;
}

/* The "AUF EINEN BLICK" summary (.abus-at-a-glance + its adjacent abus-toc nav)
   was previously hidden on desktop because it duplicated the long-scroll TOC.
   With the page-split layout, that pre-h1 content now lives on its own "Start"
   page, so it must remain visible at all viewport sizes. */

/* R7 "Weiterlesen" resume bar (ported from the Servicedoku 2026-09-15): slim
   dismissible bar above the article offering the stored last position when a
   manual opens without a deep link (theme.js reading-comfort / initLoadedContent). */
.c-resume {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 14px 0 4px;
  padding: 6px 8px 6px 12px;
  background: #eef5fc;
  border: 1px solid #cfe0f0;
  border-radius: 10px;
  font-size: 0.9rem;
}
.c-resume__go {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 2px 4px;
  color: #14344f;
  font-family: inherit;
  font-size: inherit;
  text-align: left;
  cursor: pointer;
}
.c-resume__go i { color: #005aaa; flex: 0 0 auto; }
.c-resume__go strong { color: #005aaa; }
.c-resume__go:hover strong { text-decoration: underline; }
.c-resume__x {
  margin-left: auto;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: #8a97a6;
  font-size: 1.05rem;
  line-height: 1;
  padding: 2px 8px;
  cursor: pointer;
  border-radius: 50%;
}
.c-resume__x:hover { color: #14344f; background: rgba(0, 45, 90, 0.08); }

/* T6 landing pulse (ported from the Servicedoku 2026-09-15): a ?hl=1 deep link's
   target heading washes in search-highlight yellow and fades. Applied briefly
   by theme.js (flashHeading); one style serves light + dark, like
   .search-highlight, which dark.css leaves yellow too. */
@keyframes c-anchor-flash {
  from { background-color: rgba(255, 255, 0, 0.55); box-shadow: 0 0 0 6px rgba(255, 255, 0, 0.55); }
  to   { background-color: rgba(255, 255, 0, 0);    box-shadow: 0 0 0 6px rgba(255, 255, 0, 0); }
}
.c-anchor-flash {
  animation: c-anchor-flash 2s ease-out;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  /* No pulse — a brief STATIC mark instead (removed by the same JS timeout). */
  .c-anchor-flash { animation: none; background-color: rgba(255, 255, 0, 0.35); }
}

/*=== Start (Produktauswahl) page ===*/
.start-page {
  background-color: #f6f8fa;
  color: #252b33;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.start-hero {
  background-color: #fff;
  padding: 56px 0 44px;
  border-bottom: 1px solid #e5e9ec;
}

.start-hero__title {
  font-size: 2.1rem;
  font-weight: 700;
  color: #005aaa;
  margin: 0 0 0.5rem;
}

.start-hero__lead {
  font-size: 1.1rem;
  color: #555;
  margin: 0;
}

.start-main {
  padding: 48px 0 96px;
}

.start-section {
  margin-bottom: 48px;
}

.start-section__title {
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6c757d;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid #e5e9ec;
  margin-bottom: 1.5rem;
}

.start-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}

.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 1px solid #e5e9ec;
  border-radius: 12px;
  padding: 28px 24px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  min-height: 180px;
  overflow: hidden;
}

/* Accent only on hover (pointer) and keyboard focus — NOT a plain :focus, so a
   mouse click leaves no lingering blue "already-opened" accent after navigating
   (the focus is restored on Back/bfcache). Keyboard users still get the ring. */
.product-card:hover,
.product-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 90, 170, 0.12);
  border-color: #005aaa;
  text-decoration: none;
  color: inherit;
  outline: none;
}

.product-card__icon {
  font-size: 2rem;
  color: #005aaa;
  margin-bottom: 1rem;
  line-height: 1;
}
/* PNG/SVG tile icon chosen in the editor (vs. a Font Awesome glyph). The source
   icons are white, so they are masked and filled with ABUS blue to be visible
   on the white card. */
.product-card__icon-img {
  display: inline-block;
  width: 2.875rem;   /* 15% larger than the 2.5rem Font Awesome icon size */
  height: 2.875rem;
  background-color: #005aaa;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.product-card__title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1a2330;
  margin-bottom: 0.4rem;
}

.product-card__desc {
  font-size: 0.9rem;
  color: #6c757d;
  margin-top: auto;
  line-height: 1.45;
}

/* Service tiles — yellow/orange accent (matches the legacy yellow tiles) */
.product-card--service .product-card__icon { color: #f5a623; }
/* masked PNG/SVG tile icons are tinted via background-color, not color */
.product-card--service .product-card__icon-img { background-color: #f5a623; }
.product-card--service:hover,
.product-card--service:focus-visible { border-color: #f5a623; box-shadow: 0 6px 20px rgba(245, 166, 35, 0.18); }

/* Featured tile — solid ABUS blue card */
.product-card--feature {
  background: linear-gradient(135deg, #005aaa 0%, #003c70 100%);
  border-color: transparent;
  color: #fff;
}
.product-card--feature .product-card__icon { color: #fff; opacity: 0.9; font-size: 2.4rem; }
.product-card--feature .product-card__title { color: #fff; font-size: 1.25rem; }
.product-card--feature .product-card__desc { color: rgba(255, 255, 255, 0.85); }
.product-card--feature:hover { color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(0, 60, 112, 0.4); }

/* Coming-soon tile — desaturated with a badge */
.product-card--coming-soon { opacity: 0.55; cursor: not-allowed; }
.product-card--coming-soon:hover { transform: none; box-shadow: none; border-color: #e5e9ec; }

.product-card__badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background-color: #6c757d;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 10px;
  border-radius: 999px;
}

.start-footer {
  background-color: #fff;
  border-top: 1px solid #e5e9ec;
  padding: 22px 0;
  text-align: center;
  font-size: 0.85rem;
  color: #6c757d;
}

.start-footer p { margin: 0; }
.start-footer a { color: #005aaa; }
/* Datenschutzeinstellungen — a <button> styled to read like the footer links
   (mirrors index.html's sidebar privacy button). */
body.start-page .start-footer .c-privacy-btn {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  color: #005aaa;
  cursor: pointer;
  text-decoration: none;
}
body.start-page .start-footer .c-privacy-btn:hover { text-decoration: underline; }

/* Start page desktop: no white logo box — the white logo sits directly on the
   blue navbar, vertically centered, no inset border. */
@media (min-width: 900px) {
  body.start-page #header a.logo {
    background-color: transparent !important;
    width: auto;
    height: 100%;
    position: static;
    padding: 0 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-shadow: none;
  }

  body.start-page #header .navbar .container-fluid {
    padding-left: 0 !important;
  }

  /* Centered title no longer needs the +130px offset that compensated for the
     260px logo box on index.html. */
  body.start-page .header-title {
    left: 50%;
  }
}

/* Start page mobile: also no white box; white logo on blue navbar, centered */
@media (max-width: 899.98px) {
  /* Vertically center the white logo in the mobile header. The row itself
     (navbar + container-fluid) centers its items; the logo is an auto-height
     flex item (NOT height:100%, which can collapse to the top in some engines)
     and the image is a block so no inline baseline gap biases it upward. */
  body.start-page #header .navbar,
  body.start-page #header .navbar .container-fluid {
    align-items: center !important;
  }

  body.start-page #header .logo {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background-color: transparent !important;
    padding: 0 14px !important;
    height: auto !important;
    width: auto !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    box-shadow: none;
  }

  body.start-page #header .logo img {
    max-width: 130px;
    display: block;
  }

  body.start-page #header .navbar .container-fluid {
    padding-left: 0 !important;
  }

  body.start-page .header-title {
    display: none;
  }

  .start-hero { padding: 36px 0 28px; }
  .start-hero__title { font-size: 1.6rem; }
  .start-main { padding: 28px 0 60px; }
  .start-grid { grid-template-columns: 1fr; gap: 14px; }
  .product-card { min-height: 140px; padding: 22px 20px; }
  .product-card--feature .product-card__title { font-size: 1.15rem; }
}
