/* Bootstrap-3-Darstellung für das bestehende Portal beibehalten. */

body {
   color:#333;
   background-color:#fff;
}
a {
   color:#337ab7;
   text-decoration:none;
}
a:hover,
a:focus {
   color:#23527c;
   text-decoration:underline;
}
img {
   vertical-align:middle;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
   font-family:inherit;
   font-weight:500;
   line-height:1.1;
   color:inherit;
}
h1, .h1, h2, .h2, h3, .h3 {
   margin-top:20px;
   margin-bottom:10px;
}
h4, .h4, h5, .h5, h6, .h6 {
   margin-top:10px;
   margin-bottom:10px;
}
h1, .h1 { font-size:36px; }
h2, .h2 { font-size:30px; }
h3, .h3 { font-size:24px; }
h4, .h4 { font-size:18px; }
h5, .h5 { font-size:14px; }
h6, .h6 { font-size:12px; }
p {
   margin:0 0 10px;
}
ul,
ol {
   margin-top:0;
   margin-bottom:10px;
   padding-left:40px;
}
label {
   display:inline-block;
   max-width:100%;
   margin-bottom:5px;
   font-weight:700;
}
fieldset {
   min-width:0;
   padding:0;
   margin:0;
   border:0;
}
input[type="radio"],
input[type="checkbox"] {
   margin:4px 0 0;
   line-height:normal;
}
.hidden {
   display:none !important;
}
.sr-only {
   position:absolute;
   width:1px;
   height:1px;
   padding:0;
   margin:-1px;
   overflow:hidden;
   clip:rect(0, 0, 0, 0);
   border:0;
}
.pull-right {
   float:right !important;
}
.pull-left {
   float:left !important;
}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
   display:table;
   content:" ";
}
.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
   clear:both;
}

.container {
   width:auto;
   padding-right:15px;
   padding-left:15px;
   margin-right:auto;
   margin-left:auto;
}
.container-fluid {
   width:auto;
   padding-right:15px;
   padding-left:15px;
   margin-right:auto;
   margin-left:auto;
}
@media (min-width:768px) {
   .container {
      width:750px;
   }
}
@media (min-width:992px) {
   .container {
      width:970px;
   }
}
@media (min-width:1200px) {
   .container {
      width:1170px;
   }
}
.row {
   display:block;
   margin-right:-15px;
   margin-left:-15px;
   --bs-gutter-x:0;
   --bs-gutter-y:0;
}
.row > * {
   margin-top:0;
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12 {
   position:relative;
   min-height:1px;
   width:100%;
   padding-right:15px;
   padding-left:15px;
   flex:0 0 auto;
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
   float:left;
}
.col-xs-12 { width:100%; }
.col-xs-11 { width:91.66666667%; }
.col-xs-10 { width:83.33333333%; }
.col-xs-9 { width:75%; }
.col-xs-8 { width:66.66666667%; }
.col-xs-7 { width:58.33333333%; }
.col-xs-6 { width:50%; }
.col-xs-5 { width:41.66666667%; }
.col-xs-4 { width:33.33333333%; }
.col-xs-3 { width:25%; }
.col-xs-2 { width:16.66666667%; }
.col-xs-1 { width:8.33333333%; }
.col-xs-offset-12 { margin-left:100%; }
.col-xs-offset-11 { margin-left:91.66666667%; }
.col-xs-offset-10 { margin-left:83.33333333%; }
.col-xs-offset-9 { margin-left:75%; }
.col-xs-offset-8 { margin-left:66.66666667%; }
.col-xs-offset-7 { margin-left:58.33333333%; }
.col-xs-offset-6 { margin-left:50%; }
.col-xs-offset-5 { margin-left:41.66666667%; }
.col-xs-offset-4 { margin-left:33.33333333%; }
.col-xs-offset-3 { margin-left:25%; }
.col-xs-offset-2 { margin-left:16.66666667%; }
.col-xs-offset-1 { margin-left:8.33333333%; }
.col-xs-offset-0 { margin-left:0; }

@media (min-width:768px) {
   .col-sm-1,
   .col-sm-2,
   .col-sm-3,
   .col-sm-4,
   .col-sm-5,
   .col-sm-6,
   .col-sm-7,
   .col-sm-8,
   .col-sm-9,
   .col-sm-10,
   .col-sm-11,
   .col-sm-12 {
      float:left;
   }
   .col-sm-12 { width:100%; }
   .col-sm-11 { width:91.66666667%; }
   .col-sm-10 { width:83.33333333%; }
   .col-sm-9 { width:75%; }
   .col-sm-8 { width:66.66666667%; }
   .col-sm-7 { width:58.33333333%; }
   .col-sm-6 { width:50%; }
   .col-sm-5 { width:41.66666667%; }
   .col-sm-4 { width:33.33333333%; }
   .col-sm-3 { width:25%; }
   .col-sm-2 { width:16.66666667%; }
   .col-sm-1 { width:8.33333333%; }
   .col-sm-offset-12 { margin-left:100%; }
   .col-sm-offset-11 { margin-left:91.66666667%; }
   .col-sm-offset-10 { margin-left:83.33333333%; }
   .col-sm-offset-9 { margin-left:75%; }
   .col-sm-offset-8 { margin-left:66.66666667%; }
   .col-sm-offset-7 { margin-left:58.33333333%; }
   .col-sm-offset-6 { margin-left:50%; }
   .col-sm-offset-5 { margin-left:41.66666667%; }
   .col-sm-offset-4 { margin-left:33.33333333%; }
   .col-sm-offset-3 { margin-left:25%; }
   .col-sm-offset-2 { margin-left:16.66666667%; }
   .col-sm-offset-1 { margin-left:8.33333333%; }
   .col-sm-offset-0 { margin-left:0; }
}

@media (min-width:992px) {
   .col-md-1,
   .col-md-2,
   .col-md-3,
   .col-md-4,
   .col-md-5,
   .col-md-6,
   .col-md-7,
   .col-md-8,
   .col-md-9,
   .col-md-10,
   .col-md-11,
   .col-md-12 {
      float:left;
   }
   .col-md-12 { width:100%; }
   .col-md-11 { width:91.66666667%; }
   .col-md-10 { width:83.33333333%; }
   .col-md-9 { width:75%; }
   .col-md-8 { width:66.66666667%; }
   .col-md-7 { width:58.33333333%; }
   .col-md-6 { width:50%; }
   .col-md-5 { width:41.66666667%; }
   .col-md-4 { width:33.33333333%; }
   .col-md-3 { width:25%; }
   .col-md-2 { width:16.66666667%; }
   .col-md-1 { width:8.33333333%; }
   .col-md-offset-12 { margin-left:100%; }
   .col-md-offset-11 { margin-left:91.66666667%; }
   .col-md-offset-10 { margin-left:83.33333333%; }
   .col-md-offset-9 { margin-left:75%; }
   .col-md-offset-8 { margin-left:66.66666667%; }
   .col-md-offset-7 { margin-left:58.33333333%; }
   .col-md-offset-6 { margin-left:50%; }
   .col-md-offset-5 { margin-left:41.66666667%; }
   .col-md-offset-4 { margin-left:33.33333333%; }
   .col-md-offset-3 { margin-left:25%; }
   .col-md-offset-2 { margin-left:16.66666667%; }
   .col-md-offset-1 { margin-left:8.33333333%; }
   .col-md-offset-0 { margin-left:0; }
}

@media (min-width:1200px) {
   .col-lg-1,
   .col-lg-2,
   .col-lg-3,
   .col-lg-4,
   .col-lg-5,
   .col-lg-6,
   .col-lg-7,
   .col-lg-8,
   .col-lg-9,
   .col-lg-10,
   .col-lg-11,
   .col-lg-12 {
      float:left;
   }
   .col-lg-12 { width:100%; }
   .col-lg-11 { width:91.66666667%; }
   .col-lg-10 { width:83.33333333%; }
   .col-lg-9 { width:75%; }
   .col-lg-8 { width:66.66666667%; }
   .col-lg-7 { width:58.33333333%; }
   .col-lg-6 { width:50%; }
   .col-lg-5 { width:41.66666667%; }
   .col-lg-4 { width:33.33333333%; }
   .col-lg-3 { width:25%; }
   .col-lg-2 { width:16.66666667%; }
   .col-lg-1 { width:8.33333333%; }
   .col-lg-offset-12 { margin-left:100%; }
   .col-lg-offset-11 { margin-left:91.66666667%; }
   .col-lg-offset-10 { margin-left:83.33333333%; }
   .col-lg-offset-9 { margin-left:75%; }
   .col-lg-offset-8 { margin-left:66.66666667%; }
   .col-lg-offset-7 { margin-left:58.33333333%; }
   .col-lg-offset-6 { margin-left:50%; }
   .col-lg-offset-5 { margin-left:41.66666667%; }
   .col-lg-offset-4 { margin-left:33.33333333%; }
   .col-lg-offset-3 { margin-left:25%; }
   .col-lg-offset-2 { margin-left:16.66666667%; }
   .col-lg-offset-1 { margin-left:8.33333333%; }
   .col-lg-offset-0 { margin-left:0; }
}

.form-control {
   display:block;
   width:100%;
   height:34px;
   font-weight:inherit;
   padding:6px 12px;
   font-family:inherit;
   font-size:14px;
   line-height:1.42857143;
   color:#555;
   background-color:#fff;
   background-image:none;
   border:1px solid #ccc;
   border-radius:4px;
   -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
   box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
   -webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;
   transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
   border-color:#66afe9;
   outline:0;
   -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
   box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
   color:#999;
   opacity:1;
}
.form-control::placeholder {
   color:#999;
   opacity:1;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
   background-color:#eee;
   opacity:1;
}
textarea.form-control,
select[multiple].form-control {
   height:auto;
}
.form-group {
   margin-bottom:15px;
}
.radio,
.checkbox {
   position:relative;
   display:block;
   margin-top:10px;
   margin-bottom:10px;
}
.radio label,
.checkbox label {
   min-height:20px;
   padding-left:20px;
   margin-bottom:0;
   font-weight:400;
   cursor:pointer;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
   position:absolute;
   margin-left:-20px;
}
.radio-inline,
.checkbox-inline {
   position:relative;
   display:inline-block;
   padding-left:20px;
   margin-bottom:0;
   font-weight:400;
   vertical-align:middle;
   cursor:pointer;
}

.btn {
   display:inline-block;
   margin-bottom:0;
   font-weight:400;
   text-align:center;
   white-space:nowrap;
   vertical-align:middle;
   touch-action:manipulation;
   cursor:pointer;
   background-image:none;
   border:1px solid transparent;
   padding:6px 12px;
   font-size:14px;
   line-height:1.42857143;
   border-radius:4px;
   user-select:none;
}
.btn:hover,
.btn:focus {
   color:#333;
   text-decoration:none;
}
.btn:focus-visible {
   outline:5px auto -webkit-focus-ring-color;
   outline-offset:-2px;
   box-shadow:none;
}
.btn-default {
   color:#333;
   background-color:#fff;
   border-color:#ccc;
}
.btn-default:focus,
.btn-default:hover {
   color:#333;
   background-color:#e6e6e6;
   border-color:#adadad;
}

.dropdown {
   position:relative;
}
.dropdown-toggle::after {
   display:none !important;
}
.dropdown-menu {
   position:absolute;
   top:100%;
   left:0;
   z-index:1000;
   display:none;
   float:left;
   min-width:160px;
   padding:5px 0;
   margin:2px 0 0;
   font-size:14px;
   text-align:left;
   list-style:none;
   background-color:#fff;
   background-clip:padding-box;
   border:1px solid #ccc;
   border:1px solid rgba(0, 0, 0, 0.15);
   border-radius:4px;
   -webkit-box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);
   box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);
}
.dropdown-menu.show {
   display:block;
}
.dropdown-menu > li > a {
   display:block;
   padding:3px 20px;
   clear:both;
   font-weight:400;
   line-height:1.42857143;
   color:#333;
   white-space:nowrap;
   text-decoration:none;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
   color:#262626;
   text-decoration:none;
   background-color:#f5f5f5;
}

.navbar {
   position:relative;
   display:block;
   min-height:50px;
   margin-bottom:20px;
   padding:0;
   border:1px solid transparent;
}
.navbar > .container,
.navbar > .container-fluid {
   display:block;
}
@media (min-width:768px) {
   .navbar {
      border-radius:4px;
   }
   .navbar-header {
      float:left;
   }
}
.navbar-collapse {
   padding-right:15px;
   padding-left:15px;
   overflow-x:visible;
   border-top:1px solid transparent;
   -webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1);
   box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1);
   -webkit-overflow-scrolling:touch;
   flex-basis:auto;
   flex-grow:0;
}
.navbar-collapse.show {
   overflow-y:auto;
}
@media (min-width:768px) {
   .navbar-collapse {
      width:auto;
      border-top:0;
      -webkit-box-shadow:none;
      box-shadow:none;
   }
   .navbar-collapse.collapse {
      display:block !important;
      height:auto !important;
      padding-bottom:0;
      overflow:visible !important;
   }
   .navbar-fixed-top .navbar-collapse {
      padding-right:0;
      padding-left:0;
   }
}
.navbar-fixed-top {
   position:fixed;
   top:0;
   right:0;
   left:0;
   z-index:1030;
   border-width:0 0 1px;
}
.navbar-fixed-top .navbar-collapse {
   max-height:340px;
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
   margin-right:-15px;
   margin-left:-15px;
}
@media (min-width:768px) {
   .container > .navbar-header,
   .container-fluid > .navbar-header,
   .container > .navbar-collapse,
   .container-fluid > .navbar-collapse {
      margin-right:0;
      margin-left:0;
   }
}
.navbar-brand {
   float:left;
   height:50px;
   padding:15px;
   font-size:18px;
   line-height:20px;
}
.navbar-brand:hover,
.navbar-brand:focus {
   text-decoration:none;
}
.navbar-brand > img {
   display:block;
}
@media (min-width:768px) {
   .navbar > .container .navbar-brand,
   .navbar > .container-fluid .navbar-brand {
      margin-left:-15px;
   }
}
.navbar-toggle {
   position:relative;
   float:right;
   padding:9px 10px;
   margin-right:15px;
   margin-top:8px;
   margin-bottom:8px;
   background-color:transparent;
   background-image:none;
   border:1px solid transparent;
   border-radius:4px;
}
.navbar-toggle:focus {
   outline:0;
}
.navbar-toggle .icon-bar {
   display:block;
   width:22px;
   height:2px;
   border-radius:1px;
}
.navbar-toggle .icon-bar + .icon-bar {
   margin-top:4px;
}
@media (min-width:768px) {
   .navbar-toggle {
      display:none;
   }
}
.navbar-nav {
   display:block;
   flex-direction:initial;
   padding-left:0;
   margin:7.5px -15px;
   list-style:none;
}
.navbar-nav > li {
   position:relative;
   display:block;
}
.navbar-nav > li > a {
   position:relative;
   display:block;
   padding:10px 15px;
   line-height:20px;
   text-decoration:none;
}
@media (max-width:767px) {
   #navbar.navbar-collapse {
      width:calc(100% + 30px);
      margin-right:-15px;
      margin-left:-15px;
      padding-right:15px;
      padding-left:15px;
      background-color:#fff;
   }
   .navbar-nav {
      width:auto;
      margin-right:-15px;
      margin-left:-15px;
      background-color:#fff;
   }
   .navbar-nav > li {
      float:none !important;
      display:block;
      width:100%;
      clear:both;
   }
   .navbar-nav > li > a {
      display:block;
      width:100%;
      text-align:center;
   }
   .navbar-nav .dropdown-menu.show {
      position:static !important;
      inset:auto !important;
      transform:none !important;
      float:none !important;
      display:block;
      width:100%;
      min-width:0;
      clear:both;
      margin:0;
      padding:0;
      text-align:center;
      background-color:#fff;
      border:0 !important;
      border-radius:0;
      -webkit-box-shadow:none !important;
      box-shadow:none !important;
   }
   .navbar-nav .dropdown-menu.show > li {
      float:none !important;
      display:block;
      width:100%;
      clear:both;
   }
   .navbar-nav .dropdown-menu.show > li > a {
      display:block;
      width:100%;
      padding:5px 15px;
      line-height:20px;
      text-align:center;
      color:#000;
      background-color:#fff !important;
   }
   .navbar-nav .dropdown-menu.show > li > a:hover,
   .navbar-nav .dropdown-menu.show > li > a:focus {
      color:#5cc0c4;
      text-decoration:none;
      background-color:#fff !important;
   }
}
@media (min-width:768px) {
   .navbar-nav .dropdown-menu {
      position:absolute;
   }
   .navbar-nav {
      float:left;
      margin:0;
   }
   .navbar-nav > li {
      float:left;
   }
   .navbar-nav > li > a {
      padding-top:15px;
      padding-bottom:15px;
   }
   .navbar-left {
      float:left !important;
   }
   .navbar-right {
      float:right !important;
      margin-right:-15px;
   }
}
.navbar-nav > li > .dropdown-menu {
   margin-top:0;
   border-top-left-radius:0;
   border-top-right-radius:0;
}
.navbar-default {
   background-color:#f8f8f8;
   border-color:#e7e7e7;
}
.navbar-default .navbar-toggle {
   border-color:#ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
   background-color:#ddd;
}
.navbar-default .navbar-toggle .icon-bar {
   background-color:#888;
}
.navbar-default .navbar-collapse {
   border-color:#e7e7e7;
}
.navbar-inverse {
   background-color:#222;
   border-color:#080808;
}
.navbar-inverse .navbar-toggle {
   border-color:#333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
   background-color:#333;
}
.navbar-inverse .navbar-toggle .icon-bar {
   background-color:#fff;
}
.navbar-inverse .navbar-collapse {
   border-color:#101010;
}

.container.keyingress_faq {
   width:100%;
   max-width:none !important;
}

/* Mobile-Navigation wie im bisherigen Bootstrap-3-Portal ausrichten. */
@media (max-width:767px) {
   .navbar.navbar-default {
      width:100%;
      left:0;
      right:0;
   }

   .navbar.navbar-default > .container.container-fluid {
      display:block;
      width:100% !important;
      max-width:none !important;
      margin-left:0 !important;
      margin-right:0 !important;
      padding-left:15px !important;
      padding-right:15px !important;
   }

   .navbar.navbar-default > .container.container-fluid > .navbar-header.navbar-left {
      float:left !important;
      margin-left:-15px !important;
      margin-right:0 !important;
   }

   .navbar.navbar-default > .container.container-fluid > .navbar-header.pull-right {
      float:right !important;
      margin-left:0 !important;
      margin-right:-15px !important;
   }

   .navbar.navbar-default .navbar-brand {
      margin-right:0;
   }

   #navbar.navbar-collapse {
      position:relative;
      left:0;
      clear:both;
      width:100vw !important;
      max-width:none !important;
      margin-left:-15px !important;
      margin-right:0 !important;
      padding-left:0 !important;
      padding-right:0 !important;
      background-color:#fff;
      box-sizing:border-box;
   }

   #navbar > .navbar-nav {
      display:block;
      width:100% !important;
      max-width:none !important;
      margin:0 !important;
      padding:0 !important;
      background-color:#fff;
   }

   #navbar > .navbar-nav > li,
   #navbar > .navbar-nav > li > a {
      display:block;
      float:none !important;
      width:100% !important;
      max-width:none !important;
      margin-left:0 !important;
      margin-right:0 !important;
      box-sizing:border-box;
      text-align:center;
   }

   #navbar .dropdown-menu.show {
      width:100% !important;
      max-width:none !important;
      margin:0 !important;
      padding:0 !important;
   }

   #navbar .dropdown-menu.show > li,
   #navbar .dropdown-menu.show > li > a {
      display:block;
      width:100% !important;
      max-width:none !important;
      box-sizing:border-box;
      text-align:center;
   }
}

/* FAQ-Hintergrund unabhängig von Bootstrap-Containerbreiten über den Viewport ziehen. */
.container.keyingress_faq {
   position:relative;
   left:50%;
   width:100vw !important;
   max-width:none !important;
   margin-left:-50vw !important;
   margin-right:-50vw !important;
   box-sizing:border-box;
}

/* Bootstrap-5-Containergrenzen vollständig neutralisieren.
   Die oben definierten Bootstrap-3-Breiten (750/970/1170px) bleiben maßgeblich. */
.container {
   max-width:none !important;
}

/* Im Original ist der Navbar-Container bis 1010px vollständig breit. */
@media (max-width:1010px) {
   .navbar.navbar-default > .container.container-fluid {
      width:100% !important;
      max-width:none !important;
   }
}

/* FAQ wie im Original: normal 100% des #wrap, ohne 100vw-Überstand. */
.container.keyingress_faq {
   position:relative;
   left:auto !important;
   width:100% !important;
   max-width:none !important;
   margin-left:0 !important;
   margin-right:0 !important;
}

/* Letzten 1px-Abstand am mobilen Profil-Untermenü an Bootstrap 3 angleichen. */
@media (max-width:767px) {
   #navbar .dropdown-menu.show {
      margin-top:-1px !important;
      margin-bottom:-1px !important;
   }
}
