/*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/* RMG Corporate Colors */
:root {
  --rmg-dark-night: #021247;
  --rmg-deep-blue: #06428F;
  --rmg-lake-blue: #3466AF;
  --rmg-lemon: #F3DE5D;
  --rmg-white: #FFFFFF;
  --rmg-light-gray: #F8F9FA;
  --rmg-medium-gray: #E9ECEF;
  --rmg-dark-gray: #6C757D;
  --rmg-text-primary: #212529;
  --rmg-text-secondary: #495057;
  --rmg-error: #DC3545;
  --rmg-success: #28A745;
  --rmg-warning: #FFC107;
  --rmg-info: #17A2B8;
}

h1.underline,
h4.underline {
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 21px;
}

@media (max-width: 767px) {
  
  .text_center-mobile {
    text-align: center;
  }
}


.btn-lg-home {
  padding: 20px 40px;
  font-size: 15px;
}


.btn-info-home {
  color: #fff;
  border-color: #fff;
  background: transparent;
}

.btn-info-home:hover {
  color: #000;
  border-color: #000;
  background: #fff;
}

.btn-info-home:active {
  color: #000;
  border-color: #000;
  background: #fff;
}

.btn-info-home:focus {
  color: #000;
  border-color: #000;
  background: #fff;
}


.breadcrumb > li a {
  color: #302ce1;
  padding: 2px 4px;
}
.breadcrumb > li a:hover {
  color: #302ce1;
}


.pagination > li > a,
.pagination > li > span {
  background-color: transparent;
  border: 0px;
  margin-left: 10px;
  width: 40px;
  height: 40px;
  text-align: center;
}


.pagination > li:first-child > a:hover,
.pagination > li:first-child > span:hover {
  background: none;
}


.pagination > li:last-child > a:hover,
.pagination > li:last-child > span:hover {
  background: none;
}


.pagination > li > a:hover,
.pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  background-color: transparent;
  border-color: transparent;
}


.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  border-color: transparent;
  border-radius: 50%;
  border: solid 1px;
}

.logo-container {
  height: 51px;
  width: 187px;
  margin-left: 9px;
}


.fixed-top {
  border-width: 0;
}


.static-top {
  border-width: 0;
  margin-bottom: 0;
}


.navbar-default {
  border-color: transparent;
}


.homelink,
a.homelink:hover,
a.homelink:focus {
  color: #fff;
  text-decoration: none;
}


.register-bar {
  clear: both;
}


.fixed-top.navbar {
  min-height: 67px;
}

.fixed-top.navbar .navbar-collapse {
  max-height: 510px;
  box-shadow: none;
  border-top: none;
  padding-top: 8px;
}

.fixed-top.navbar .form-inline {
  border: none;
  margin-left: 0;
  margin-right: 0;
}

.fixed-top.navbar .form-inline .form-control {
  font-size: 1em;
}


.static-top.navbar .navbar-collapse {
  max-height: 510px;
  box-shadow: none;
  border-top: none;
}


.static-top.navbar .form-inline {
  border: none;
  margin-left: 0;
  margin-right: 0;
}

.static-top.navbar .form-inline .form-control {
  font-size: 1em;
}

@media (min-width: 992px) {
  
  .fix-navbar .register-bar {
    display: none;
  }
}


.fixed-top.navbar > .container > .row > div {
  float: none !important;
  display: inline-block;
  vertical-align: bottom;
}


.static-top.navbar > .container > .row > div {
  float: none !important;
  display: inline-block;
  vertical-align: bottom;
}


.fixed-top.navbar .menu-bar > .navbar-nav > li > a {
  font-family: 'Segoe UI Semibold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1em;
  font-weight: bold;
}


.fixed-top.navbar .menu-bar > .navbar-nav > .divider-vertical {
  height: 21px;
  margin: 0 4px;
  margin-top: 14.5px;
  border-right: 1px solid #fff;
  border-left: 1px solid #666;
}


.static-top.navbar .menu-bar > .navbar-nav > li > a {
  font-family: 'Segoe UI Semibold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1em;
  font-weight: bold;
}


.static-top.navbar .menu-bar > .navbar-nav > .divider-vertical {
  height: 21px;
  margin: 0 4px;
  margin-top: 14.5px;
  border-right: 1px solid #fff;
  border-left: 1px solid #666;
}


.fixed-top .navbar-brand {
  font-size: 2.11em;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #232222;
  position: relative;
}

@media (max-width: 1200px) {
  
  .fixed-top .navbar-brand {
    position: initial;
  }
}


.fixed-top .navbar-header {
  padding-top: 8px;
}


.static-top .navbar-brand {
  font-size: 2.11em;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #232222;
  position: relative;
}

@media (max-width: 1200px) {
  
  .static-top .navbar-brand {
    position: initial;
  }
}


.fixed-top.navbar-dark {
  background-color: #232222;
  border-color: transparent;
}

.fixed-top.navbar-dark .navbar-brand {
  color: #fff;
}

.fixed-top.navbar-dark .divider-vertical {
  border-right-color: #fff;
  border-left-color: #111;
}


.static-top.navbar-dark {
  background-color: #ffffff;
  border-color: transparent;
  -webkit-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
  -moz-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
  box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
}

.static-top.navbar-dark .navbar-brand {
  color: #fff;
}

.static-top.navbar-dark .divider-vertical {
  border-right-color: #fff;
  border-left-color: #111;
}


.navbar-dark .navbar-nav > li > a {
  color: #000;
}

.navbar-dark .navbar-nav > li > a:hover {
  color: #fff;
  background-color: #302ce1;
  /*border-bottom: 4px solid #2F5FEF;
    padding-bottom: 10px;*/
}

.navbar-dark .navbar-nav > li > a:focus {
  color: #fff;
  background-color: #302ce1;
  border: 1px dashed black !important;
  outline: 1px dashed #ffffff;
}

@media (max-width: 1199px) {
  
  .navbar-dark .navbar-nav > li > a:hover {
    color: #fff;
    background-color: #302ce1;
    /*border-bottom: 4px solid #2F5FEF;
    padding-bottom: 6px;*/
  }
}


.menu-bar .shopping_link {
  position: relative;
}

.menu-bar .shopping_link .cart_amount {
  border-radius: 100%;
  height: 17px;
  width: 17px;
  position: absolute;
  bottom: 6px;
  right: -6px;
  background-color: #2f5fef;
  text-align: -webkit-center;
  line-height: 17px;
  font-size: 9px;
  padding-left: 1.9px;
  color: #fff;
}

.menu-bar .shopping_link .cart_amount:hover {
  color: #fff;
}

@media (max-width: 1199px) {
  
  .fixed-top .navbar-collapse .nav > .divider-vertical {
    display: none;
  }
}

@media (max-width: 1199px) {
  
  .static-top .navbar-collapse .nav > .divider-vertical {
    display: none;
  }
}

@media (max-width: 767px) {
  
  .fixed-top.navbar > .container > .row > div {
    display: block;
  }
  
  .navbar-header {
    position: relative;
  }
}

@media (max-width: 767px) {
  
  .static-top.navbar > .container > .row > div {
    display: block;
  }
  
  .navbar-header {
    position: relative;
  }
}


.card {
  -webkit-box-shadow: 0 0px 0px transparent;
  box-shadow: 0 0px 0px transparent;
}




body {
  padding-top: 0px;
  
  margin: 0;
  height: 100%;
}

@media (max-width: 767px) {
  
  body {
    padding-top: 0px;
  }
}


.layer_down {
  height: 50px;
  background: url('layer_down.png') no-repeat bottom center;
  position: absolute;
  bottom: 0;
  z-index: 900;
  width: 100%;
}


.layer_up {
  height: 40px;
  background: url('layer_up.png') no-repeat bottom center;
  position: relative;
  z-index: 20;
}


.section-margin {
  margin: 21px 0;
}


.section-inline-search {
  background-size: cover;
}

.section-inline-search .row > div {
  margin-top: 100px;
}

.section-inline-search .row > div h1 {
  color: #fff;
}

@media screen and (max-width: 600px) {
  
  .section-inline-search .row > div h1 {
    font-size: 16vw;
  }
}

.section-inline-search .row > div .form-inline .row .input-group {
  margin-right: 21px;
}

.section-inline-search .row > div .form-inline .row .input-group .input-group-text {
  background-color: #fff;
  border-right: none;
}

.section-inline-search .row > div .form-inline .row .input-group .form-control {
  height: 60px;
  border-left: none;
  box-shadow: none;
}

.section-inline-search .row > div .form-inline .row .input-group .form-control:focus {
  box-shadow: none;
  border-right: none;
  border-color: #ccc;
}


.wrapper {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  -moz-transition: width 0.3s ease-out;
  -o-transition: width 0.3s ease-out;
  -webkit-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out;
}


.wrapper .contained {
  position: relative;
  height: 400px;
  padding-bottom: 56.25%;
}


.wrapper .contained > svg {
  margin-top: -100px;
  position: absolute;
  display: block;
}


.contained .row {
  margin-top: 80px;
}


footer {
  position: relative;
  color: #22221e;
}

footer .footer-top {
  width: 100%;
  min-height: 130px;
  background-color: #232222;
  display: flex;
  align-items: center;
}

footer .footer-top h3,
footer .footer-top h4 {
  color: #fff;
}

footer .footer-top .list-social-links {
  margin-top: 25px;
  margin-bottom: 12.5px;
}

@media screen and (max-width: 991px) {
  
  footer .footer-top h3,
  footer .footer-top .list-social-links {
    text-align: center;
  }
}

footer .footer-bottom {
  width: 100%;
  min-height: 68px;
  background-color: #d2d2ce;
  font-size: 14px;
  display: flex;
  align-items: center;
}

footer .footer-bottom p {
  margin: 0;
  color: #fff;
}

footer .footer-bottom h4 {
  margin-top: 0;
  color: #fff;
}

footer .footer-bottom ul {
  list-style-type: none;
  margin: 0;
}

footer .footer-bottom ul li a,
footer .footer-bottom ul li a:hover,
footer .footer-bottom ul li a:focus,
footer .footer-bottom ul li a:active,
footer .footer-bottom ul li a.active {
  font-size: 15px;
  color: #fff;
}


.list-social-links {
  list-style-type: none;
  padding-left: 0;
}

.list-social-links li {
  display: inline-block;
  margin: 0 10px;
}

.list-social-links li a,
.list-social-links li a:hover,
.list-social-links li a:focus,
.list-social-links li a:active,
.list-social-links li a.active {
  color: #fff;
}

@media screen and (max-width: 993px) {
  
  .section-landing h1 {
    font-size: 65px;
  }
  
  .section-landing h2 {
    letter-spacing: normal;
    margin-left: -3px;
  }
}


.user-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 7px;
}


.article-title-container {
  border-top: solid 1px #bcbcbc;
  border-bottom: solid 1px #bcbcbc;
  padding-left: 15px;
  padding-top: 28px;
  padding-bottom: 28px;
}


.article-title {
  margin-left: -35px;
}

.article-title > span {
  margin-left: 3px;
}

.article-title > span .article-author {
  font-weight: bold;
  color: #2f5fef;
}


.article-content {
  margin-top: 15px;
}

.article-content > p {
  text-align: justify;
}

@media screen and (max-width: 993px) {
  
  .article-title {
    margin-left: 0;
    text-align: center;
  }
  
  .article-author {
    text-align: center;
  }
}


.section-search .header-search {
  padding-top: 40px;
  padding-bottom: 40px;
  margin-bottom: 40px;
  background-color: #eeeeee;
}

.section-search .header-search img {
  max-width: 350px;
}

@media screen and (max-width: 600px) {
  
  .section-search .header-search h1 {
    font-size: 13vw;
  }
}


.section-search .title-search {
  font-size: 26px;
  font-weight: bold;
}


.section-search input {
  border-style: none;
  padding-left: 10px;
  height: 60px;
}


.section-search .media .media-left > img {
  max-width: 240px;
}


.section-search .media .media-body {
  padding-left: 20px;
}

.section-search .media .media-body > a {
  text-decoration: none;
  font-weight: bold;
}

.section-search .media .media-body .media-heading {
  margin-top: 5px;
  margin-bottom: 20px;
}


.cards-container {
  margin-top: 84px;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 991px) {
  
  .cards-container {
    flex-direction: column;
  }
}


.carousel-custom .carousel-inner > .carousel-item {
  margin-right: auto;
  margin-left: auto;
}

.carousel-custom .carousel-inner > .carousel-item .carousel-caption {
  display: flex;
  align-items: center;
  top: 5%;
  left: 5%;
  right: 5%;
}

@media screen and (min-width: 768px) {
  
  .carousel-custom .carousel-inner > .carousel-item .carousel-caption {
    left: 5%;
    right: 5%;
  }
}


.carousel-custom .carousel-indicators li {
  border-color: #232222;
}


.table.table-forms td {
  padding: 15px 8px;
}


.table.table-forms tbody tr:first-child td {
  border-top: none;
}


.poll {
  background-color: #eeeeee;
  border-top: 7px solid #0b80d0;
  position: relative;
  padding-left: 15px;
  padding-right: 15px;
}

.poll .poll-header {
  display: flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 5px;
}

.poll .poll-header h4 {
  font-weight: bold;
  display: inline-block;
}

.poll .poll-content {
  padding-top: 25px;
}

.poll .poll-content p {
  font-size: 14px;
}

.poll .poll-content form {
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 10px;
}

.poll .poll-content .poll-buttons {
  padding-top: 20px;
  padding-left: 11px;
}

.poll .poll-content .poll-buttons .btn {
  padding: 4px 14px;
  font-size: 14px;
}

.poll .poll-content .poll-buttons .btn-default, 
.poll .poll-content .poll-buttons .btn-secondary {
  color: #000;
  border-color: #000;
}

.poll .poll-content .poll-buttons .btn-default:hover, 
.poll .poll-content .poll-buttons .btn-secondary:hover {
  color: #000;
  border-color: #000;
}

.poll .poll-tags {
  padding-top: 10px;
}

.poll .poll-tags h4 {
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 10px;
}

.poll .poll-tags .tag {
  display: inline-block;
  background-color: #e1e1e1;
  color: #232222;
  padding: 5px 14px;
  margin: 5px 0px;
  text-transform: uppercase;
  font-size: 13px;
}


.nav-sidebar {
  padding-left: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.nav-sidebar .nav > li > a {
  padding: 4px 20px;
  color: #2f5fef;
  border-right: 2px solid #eeeeee;
}

.nav-sidebar .nav > li > a:hover,
.nav-sidebar .nav > li > a:focus {
  color: #232222;
  text-decoration: none;
  background-color: transparent;
  border-right: 2px solid #555555;
}

.nav-sidebar .nav > li > a:before {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\e250';
  margin-right: 7px;
}

.nav-sidebar .nav > .active > a {
  color: #232222;
  text-decoration: none;
  background-color: transparent;
  border-right: 2px solid #555555;
  font-weight: bold;
}

.nav-sidebar .nav > .active > a:before {
  content: '\e252';
}

.nav-sidebar .nav > .active:hover > a,
.nav-sidebar .nav > .activefocus > a {
  font-weight: bold;
}

.nav-sidebar .nav > .active > ul.nav {
  display: block;
}

.nav-sidebar .nav ul.nav {
  display: none;
}

.nav-sidebar .nav .nav > li > a {
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 30px;
}

.nav-sidebar .nav .nav > .active,
.nav-sidebar .nav .nav > .active:hover,
.nav-sidebar .nav .nav > .active:focus {
  font-weight: bold;
}

.nav-sidebar .nav .nav .nav > li > a {
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 60px;
}

.nav-sidebar .nav .nav .nav > li > a:before {
  content: '';
}

.nav-sidebar .nav .nav .nav > .active,
.nav-sidebar .nav .nav .nav > .active:hover,
.nav-sidebar .nav .nav .nav > .active:focus {
  font-weight: bold;
}


#navbar .dropdown-menu {
  margin-top: 8px;
}


#navbar .dropdown-search {
  padding-top: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 9px;
}

#navbar .dropdown-search #q {
  min-width: 200px;
}

@media (max-width: 1199px) {
  
  #navbar .dropdown-search .input-group-btn {
    vertical-align: top;
  }
  
  #navbar .dropdown-search #search-filter {
    width: 100%;
    text-align: left;
    padding-left: 25px;
  }
  
  #navbar .dropdown-search.dropdown-menu > li:hover,
  #navbar .dropdown-search .dropdown-menu > li:hover {
    color: white;
    background-color: transparent;
  }
}


.tabs-header {
  padding-bottom: 9.5px;
  margin: 42px 0 21px;
}


.help-block.error,
label.col-form-label.required:before,
.crmEntityFormView .cell div.info.required label:after,
.crmEntityFormView .cell div.info div.validators,
.crmEntityFormView .validator-text,
.crmEntityFormView .rank-order-cell .validator-text,
.crmEntityFormView .constant-sum-cell .validator-text,
.crmEntityFormView .stack-rank-cell .validator-text {
  color: #a94442;
}

@media screen and (-ms-high-contrast: active) {
  
  .navbar-default .navbar-toggler .navbar-toggler-icon {
    background-color: #888;
  }
  
  .navbar-dark .navbar-toggler .navbar-toggler-icon {
    background-color: #fff;
  }
}


.pr-color {
  color: #2f5fef;
}


.blue_border {
  padding-bottom: 10px;
  border-bottom: 7px solid #0b80d0;
}


.page_section {
  position: relative;
  background-size: cover;
  color: #000;
}

.page_section .row {
  padding-top: 40px;
  padding-bottom: 100px;
}

.page_section .row.sidebar-home {
  padding-bottom: 0;
}

.page_section h1 {
  font-size: 32px;
}

.page_section h2 {
  color: #666666;
  font-size: 40px;
}

.page_section h3 {
  font-size: 66px;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.page_section p {
  padding-top: 5px;
}

.page_section .btn {
  margin-top: 50px;
}

.page_section .form-search .btn {
  padding: 4px 12px;
  margin-top: 1px;
}

.page_section .section-landing-heading p,
.page_section .section-landing-sub-heading p {
  border-top: 0;
}


.form-search .btn {
  border: 1px solid #ccc;
}


.form-search .btn-default:hover,
.form-search .btn-secondary:hover {
  border-color: #ccc;
}


.form-search .dropdown-submenu {
  right: -2px;
}


.form-search .dropdown-menu {
  margin-top: 0px;
}


.dropdown-search.dropdown-menu > li:hover {
  background-color: transparent;
}


#navbar .form-search .dropdown-menu {
  margin-top: 0px;
}


.section-diagonal-left {
  -webkit-transform: skew(0deg, -1.3deg);
  -ms-transform: skew(0deg, -1.3deg);
  transform: skew(0deg, -1.3deg);
  overflow: hidden;
  margin-top: -60px;
  margin-bottom: -20px;
}

.section-diagonal-left .section-diagonal-left-content {
  -webkit-transform: skew(0deg, 1.3deg);
  -ms-transform: skew(0deg, 1.3deg);
  transform: skew(0deg, 1.3deg);
  background-size: cover;
  margin-top: -70px;
}

.section-diagonal-left .section-diagonal-left-content:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  z-index: -1;
  background-color: #fff;
}


.section-diagonal-right {
  -webkit-transform: skew(0deg, 1.3deg);
  -ms-transform: skew(0deg, 1.3deg);
  transform: skew(0deg, 1.3deg);
  overflow: hidden;
  margin-top: 60px;
  margin-bottom: -20px;
}

.section-diagonal-right.home-section {
  margin-top: -60px;
}

.section-diagonal-right .section-diagonal-right-content {
  -webkit-transform: skew(0deg, -1.3deg);
  -ms-transform: skew(0deg, -1.3deg);
  transform: skew(0deg, -1.3deg);
  background-size: cover;
  margin-top: -70px;
}

.section-diagonal-right .section-diagonal-right-content:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  z-index: -1;
  background-color: #2f5fef;
}


.section-diagonal-left .row,
.section-diagonal-right .row {
  padding-top: 125px;
}


.section-diagonal-left .col-lg-5,
.section-diagonal-right .col-lg-5 {
  float: none;
  margin: 0 auto;
}


.section-diagonal-left p,
.section-diagonal-right p {
  border-top: none;
}


.section-landing {
  background: linear-gradient(transparent, transparent);
  background-size: cover;
}

.section-landing .row > div {
  margin-top: 80px;
}

.section-landing .row > div .section-landing-heading {
  font-size: 4rem;
  color: #fff;
}

@media screen and (max-width: 600px) {
  
  .section-landing .row > div .section-landing-heading {
    font-size: 16vw;
  }
}

.section-landing .row > div .section-landing-sub-heading {
  margin-top: 0;
  margin-bottom: 50px;
  font-size: 1.5rem;
  color: #fff;
  font-weight: Semibold;
}

@media screen and (max-width: 600px) {
  
  .section-landing .row > div .section-landing-sub-heading {
    font-size: 4vw;
  }
}


.section-sub-landing {
  background-size: cover;
}


.section-default {
  background-size: cover;
}

@media screen and (max-width: 767px) {
  
  .section-default:before {
    content: ' ';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    background: -moz-linear-gradient(
      top,
      transparent 0%,
      rgba(0, 0, 0, 0.59) 41%,
      rgba(0, 0, 0, 0.62) 43%,
      black 100%
    );
    
    background: -webkit-linear-gradient(
      top,
      transparent 0%,
      rgba(0, 0, 0, 0.59) 41%,
      rgba(0, 0, 0, 0.62) 43%,
      black 100%
    );
    
    background: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.59) 41%,
      rgba(0, 0, 0, 0.62) 43%,
      black 100%
    );
    
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
    
  }
}

.section-default .row {
  padding-bottom: 150px;
}


.section-knowledge {
  margin-bottom: 40px;
}


.content-home .btn {
  margin-top: 0;
}


.content-home .card {
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

.content-home .card p {
  border: 0;
}


.content-home .card-header {
  display: none;
}


.content-home .list-group-item {
  padding: 20px 0;
  font-size: 20px;
  background-color: transparent;
  border: 0;
  border-top: 1px solid #ddd;
}

.content-home .list-group-item img {
  margin-right: 25px;
}


.content-home a.list-group-item,
.content-home .list-group-item a.title {
  color: #232222;
}

.content-home a.list-group-item:hover,
.content-home a.list-group-item:focus,
.content-home .list-group-item a.title:hover,
.content-home .list-group-item a.title:focus {
  color: #232222;
  text-decoration: underline;
  background-color: transparent;
}


.content-home .title,
.content-home .description {
  display: block;
}


.content-home .title {
  font-size: 24px;
  font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}


.content-home .description {
  display: block;
  font-size: 14px;
}


.sidebar-home {
  background-color: #eeeeee;
  border-top: 7px solid #0b80d0;
  margin-top: 36px;
  position: relative;
}

.sidebar-home h3 {
  font-size: 18px;
}

.sidebar-home .card {
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

.sidebar-home .card-header {
  padding-left: 0;
  background-color: transparent;
  border: 0;
}

.sidebar-home .card-title {
  font-size: 14px;
  color: #2f5fef;
  font-family: 'Segoe UI Semibold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.sidebar-home .list-group-item {
  padding-left: 0;
  font-size: 14px;
  background-color: transparent;
  border: 0;
}

.sidebar-home .list-group-item:hover,
.sidebar-home .list-group-item:focus {
  text-decoration: underline;
  background-color: transparent;
}

.sidebar-home .list-group-item .date {
  visibility: hidden;
}


.section-landing-search {
  min-height: 250px;
  background: url(homehero.jpg) no-repeat 0 25%;
  background-size: cover;
}


.section-landing-forums {
  min-height: 250px;
  background-size: cover;
}


.section-knowledge .list-group a.list-group-item {
  color: #2f5fef;
}


.section-knowledge .card-title {
  color: #000;
}


.page_section.section-landing .row {
  padding-bottom: 60px;
}


.page_section.section-landing .row > div {
  margin-top: 0px;
}


ul.tree,
ol.tree {
  color: #2f5fef;
}


.tree ul,
.tree ol,
.tree ul ul,
.tree ol ul,
.tree ol ol ul,
.tree ol ul ul,
.tree ul ol ul,
.tree ul ul ul {
  list-style-type: disc;
  color: #2f5fef;
}



.adx_forms_font_calibri {
  font-family: Calibri;
}


.adx_forms_font_new_roman {
  font-family: Times New Roman;
}


.adx_forms_font_helvetica {
  font-family: 'Helvetica', sans-serif;
}


html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%;
  margin: 0;
}

.wrapper-body {
  min-height: calc(100% - 132px);
  margin-bottom: 0px;
}

.footer .push {
  height: 43px;
}

.footer {
  margin-top: 0px;
}

.page-copy {
  margin-top: 0px;
  margin-bottom: 0px;
}

.navbar-brand {
  line-height: 37px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: unset;
}

body,
legend {
  color: #000000;
}

.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
  background-color: #f2f2f2;
  color: #302ce1;
}

.btn-default,
.btn-secondary {
  color: #302ce1;
  background-color: white;
  border-color: #302ce1;
}

.btn-default:hover,
.btn-default:active,
.btn-default.active,
.btn-default:focus,
.btn-default.focus,
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary.active,
.btn-secondary:focus,
.btn-secondary.focus {
  color: #302ce1;
  background-color: #f2f2f2;
  border-color: #302ce1;
}

.btn-primary {
  color: white;
  background-color: #302ce1;
  border-color: #302ce1;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:hover,
.btn-primary.active:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.btn-primary:focus,
.btn-primary.focus {
  color: white;
  background-color: #5c59e7;
  border-color: #5c59e7;
}

.navbar-dark .navbar-toggler {
  border: 1px solid #302ce1;
}

.navbar-dark .navbar-toggler:hover {
  background-color: #4642e4;
}

.navbar-dark .navbar-toggler:focus {
  border: 1px solid black;
  background-color: #4642e4;
}

.navbar-dark .navbar-nav .show.dropdown-menu {
  background-color: #302ce1;
}

.navbar-dark .navbar-nav .show.dropdown-menu > li > a {
  color: #fff;
}

.navbar-dark .navbar-nav > .dropdown > a.show .navbar-dark .navbar-nav > .dropdown > a.show:hover,
.navbar-dark .navbar-nav > .dropdown > a.show:focus {
  background-color: #302ce1;
  color: #fff;
}

.navbar-dark .navbar-nav .show.dropdown-menu > li > a:hover,
.navbar-dark
  .navbar-nav
  .show.dropdown-menu
  > li
  > a:focus
  .navbar-dark
  .navbar-nav
  .show.dropdown-menu
  > .active
  > a,
.navbar-dark .navbar-nav .show.dropdown-menu > .active > a:hover,
.navbar-dark .navbar-nav .show.dropdown-menu > .active > a:focus {
  background-color: #ffffff;
  color: #302ce1;
}

.nav > li > a:hover,
.nav > li > a:focus {
  background-color: #f2f2f2;
}

.nav .show.dropdown-menu {
  background-color: #ffffff;
}

.nav .show.dropdown-menu > li > a {
  color: black;
}

.nav > .dropdown > a .nav > .dropdown > a:hover,
.nav > .dropdown > a:focus {
  background-color: #f2f2f2;
}

.nav .show.dropdown-menu > .active > a,
.nav .show.dropdown-menu > .active > a:hover,
.nav .show.dropdown-menu > .active > a:focus,
.nav .show.dropdown-menu > li > a:hover,
.nav .show.dropdown-menu > li > a:focus {
  background-color: #f2f2f2;
  color: black;
}

#filterDropdownId > .dropdown-menu > li > a:focus {
  border: 1px solid;
}

#filterDropdownId > a:focus {
  border: 1px solid;
}

.crmEntityFormView,
.entitylist {
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #f2f2f2;
}

.sectionPrimaryColor {
  background-color: #302ce1;
  color: #ffffff;
}

.sectionPrimaryColor h1,
.sectionPrimaryColor h2,
.sectionPrimaryColor h3,
.sectionPrimaryColor h4,
.sectionPrimaryColor h5,
.sectionPrimaryColor h6 {
  color: #ffffff;
}

.sectionPrimaryColor .crmEntityFormView h1,
.sectionPrimaryColor .crmEntityFormView h2,
.sectionPrimaryColor .crmEntityFormView h3,
.sectionPrimaryColor .crmEntityFormView h4,
.sectionPrimaryColor .crmEntityFormView h5,
.sectionPrimaryColor .crmEntityFormView h6 {
  color: #000000;
}

.sectionPrimaryColor .entitylist h1,
.sectionPrimaryColor .entitylist h2,
.sectionPrimaryColor .entitylist h3,
.sectionPrimaryColor .entitylist h4,
.sectionPrimaryColor .entitylist h5,
.sectionPrimaryColor .entitylist h6 {
  color: #000000;
}

.sectionFixedStyle {
  color: #000000;
}

a {
  color: #302ce1;
}

a:not(.btn) {
  text-decoration: underline;
}

[role='navigation'] a,
[role='contentinfo'] a,
.toolbar a,
a.list-group-item {
  text-decoration: none;
}

a:hover,
a:focus {
  color: #302ce1;
  text-decoration: underline;
}

.breadcrumb > .active {
  color: #000000;
  font-weight: bold;
}

p {
  font-size: 16px;
}

h1 {
  font-size: 36px;
  font-weight: bold;
  margin-left: 0px;
  margin-right: 0px;
}

h2 {
  font-size: 28px;
  font-weight: 600;
}

h3 {
  font-size: 24px;
  font-weight: 600;
}

.page-header {
  border-bottom: 0px;
}

.navbar-brand {
  padding: 8px;
}

.static-top.navbar-dark .navbar-brand {
  font-size: 24px;
  font-weight: bold;
  font-family: unset;
}

.static-top.navbar-dark .navbar-brand a {
  color: black;
  text-decoration: none;
}
.help-block {
  color: black;
}

.skip-to-content a {
  padding: 10px 20px;
  position: absolute;
  top: -43px;
  left: 0px;
  color: #ffffff;
  border-radius: 2px;
  background: #742774;
  -webkit-transition: top 1s ease-out;
  transition: top 1s ease-out;
  z-index: 100;
  font-family: Segoe UI;
  font-size: 14px;
}

.skip-to-content a:focus {
  position: absolute;
  left: 0px;
  top: 0px;
  outline: none;
  color: #ffffff;
  -webkit-transition: top 0.1s ease-in;
  transition: top 0.1s ease-in;
}

@media screen and (-ms-high-contrast: active) {
  .nav-tabs > li.active > a,
  .nav-tabs > li.active > a:hover,
  .nav-tabs > li.active > a:focus {
    border-bottom: 0px;
  }

  .nav-tabs > li > a {
    border: 0px;
  }

  .navbar-dark .navbar-nav .show.dropdown-menu > li > a:hover,
  .navbar-dark
    .navbar-nav
    .show.dropdown-menu
    > li
    > a:focus
    .navbar-dark
    .navbar-nav
    .show.dropdown-menu
    > .active
    > a,
  .navbar-dark .navbar-nav .show.dropdown-menu > .active > a:hover,
  .navbar-dark .navbar-nav .show.dropdown-menu > .active > a:focus {
    border: 1px solid;
  }

  .facet-list-group-item {
    margin: 1px;
    border: 0px;
  }
}

.frenchAccessibilityLink {
  float: right;
  width: 297px;
  height: 24px;
  font-family: Segoe UI;
  font-size: 18px;
  line-height: 21px;
  text-decoration-line: underline;
  color: #2c33d8;
}


.pva-floating-style {
  position: fixed;
  bottom: 0px;
  right: 0px;
  margin-right: 16px;
  margin-bottom: 18px;
  z-index: 9999;
}


.visible-lg-block {
  display: flex !important;
  align-items: center;
}


h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 21px;
  margin-bottom: 10.5px;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 10.5px;
  margin-bottom: 10.5px;
}



.nav-item .dropdown-toggle::after {
  border-top: 0.2em solid;
  border-right: 0.2em solid transparent;
  border-bottom: 0;
  border-left: 0.2em solid transparent;
}

.custom-container {
  flex-wrap: wrap !important;
}

.custom-sitetitle {
  text-wrap: wrap;
}

.custom-navbar-toggler {
  margin-left: auto;
}

a:not(.btn):hover {
  text-decoration: underline !important;
}

.navbar-brand img {
  height: 85px !important;  
  width: auto !important;  
}

.btn-header {
  background: transparent; /*linear-gradient(135deg, #6c757d, #5a6268);  Grau */
  color: white;
  /* box-shadow: 0 5px 15px rgba(108, 117, 125, 0.3);*/
  padding: 15px 30px; /* Einheitliche Größe */
  border-radius: 12px;
  font-size: clamp(1rem, 2.5vw, 1.1rem);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  text-align: center;
  min-width: 150px;   /* Gleiche Breite */
  min-height: 50px;   /* Gleiche Höhe */
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.btn-header:hover {
  transform: translateY(-2px);
  /*box-shadow: 0 8px 25px rgba(108, 117, 125, 0.4);*/
  text-decoration: none;
  color: white;
}

.btn-header:focus {
  outline: 2px solid var(--rmg-lake-blue);
  outline-offset: 2px;
}

.custom-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: white;
  color: white;
  border-top: 5px solid #002855; /* Dunkelblauer Balken oben */
  padding: 10px 0;
  text-align: center;
  z-index: 1000;
}

.custom-footer .footer-links {
  display: inline-block;
  color: #002855;
}

.custom-footer .footer-links a {
  color: #002855;
  text-decoration: none;
  margin: 0 8px;
}

.custom-footer .footer-links a:hover {
  text-decoration: underline;
}

.custom-footer .footer-links span {
  color: #002855;
}

.dots-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.02;
  pointer-events: none;
  background-image: radial-gradient(circle, var(--rmg-dark-night) 1px, transparent 1px);
  background-size: 20px 20px;
}


/**********************/
/*  RMG Eigene Styles */
/**********************/

/* Import Inter Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ---------- RESET & BASE STYLES ---------- */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


/* ---------- LAYOUT COMPONENTS ---------- */

.main-container {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  max-width: 800px;
  width: 100%;
  position: relative;
}
/*
.header {
  background: linear-gradient(135deg, var(--rmg-deep-blue) 0%, var(--rmg-dark-night) 100%);
  color: var(--rmg-white);
  padding: 40px 30px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.header::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  animation: rotate 20s linear infinite;
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.header h1 {
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 700;
  margin-bottom: 10px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  position: relative;
  z-index: 1;
}

.header h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  margin-bottom: 15px;
  position: relative;
  z-index: 1;
}

.header p {
  font-size: clamp(1rem, 2vw, 1.1rem);
  opacity: 0.9;
  position: relative;
  z-index: 1;
}
*/
.content {
  padding: 40px 30px;
  max-width: 1000px;   /* etwas breiter für Desktop */
  margin: 0 auto;      /* immer mittig */
  padding: 40px 20px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 20px 0;
}

.container {
  width: 100%;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.col-lg-12 {
  flex: 1;
  min-width: 250px;
  display: flex;
  flex-direction: column;
}

.divider {
  height: 3px;
  background: var(--rmg-lemon);
  margin: 30px 0;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* ---------- CONTENT SECTIONS ---------- */

.welcome-message {
  background: linear-gradient(135deg, #e8f5e8, #f0f8f0);
  border: 2px solid #4caf50;
  border-radius: 15px;
  padding: 25px;
  margin: 20px 0;
  text-align: center;
}

/*
.welcome-message {
  background: linear-gradient(135deg, var(--rmg-light-gray), var(--rmg-white));
  border: 2px solid var(--rmg-lake-blue);
  border-radius: 15px;
  padding: 30px;
  margin: 20px 0;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}
*/

.welcome-message::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--rmg-lemon), var(--rmg-lake-blue), var(--rmg-deep-blue));
}

.welcome-message h2 {
  color: var(--rmg-dark-night);
  margin-bottom: 15px;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
}

.info-section {
  background: var(--rmg-light-gray);
  border-radius: 15px;
  padding: 30px;
  margin: 20px 0;
  border-left: 10px solid #ffd700;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.info-section:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.input-section {
  background: linear-gradient(135deg, #FFF8E1, var(--rmg-white));
  border-radius: 15px;
  padding: 30px;
  margin: 20px 0;
  border: 2px solid var(--rmg-lemon);
  box-shadow: 0 5px 15px rgba(243, 222, 93, 0.2);
}

.info-banner {
  background: linear-gradient(135deg, #E3F2FD, #BBDEFB);
  border-left: 5px solid var(--rmg-lake-blue);
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}

.info-banner::before {
  content: '💡';
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 1.5em;
  opacity: 0.7;
}

.info-banner p {
  color: var(--rmg-deep-blue);
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
}

.info {
  background: linear-gradient(135deg, #E3F2FD, #BBDEFB);
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 20px;
  border-left: 4px solid var(--rmg-deep-blue);
}

.warning-box {
  background: linear-gradient(135deg, #FFF8E1, #FFF3C4);
  border-left: 4px solid var(--rmg-lemon);
  padding: 20px 25px;
  margin: 25px 0;
  border-radius: 10px;
  color: var(--rmg-text-primary);
}

.emergency-info {
  background: linear-gradient(135deg, #FFEBEE, #FFCDD2);
  border: 2px solid var(--rmg-error);
  border-radius: 15px;
  padding: 25px;
  margin: 25px 0;
  text-align: center;
}

.emergency-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--rmg-error);
  margin: 15px 0;
  letter-spacing: 0.05em;
}

.assembly-point {
  background: linear-gradient(135deg, var(--rmg-light-gray), var(--rmg-white));
  border: 2px solid var(--rmg-lake-blue);
  border-radius: 15px;
  padding: 25px;
  margin: 25px 0;
  text-align: center;
}

.assembly-point h3 {
  color: var(--rmg-lake-blue);
  margin-bottom: 10px;
  font-weight: 600;
}

/* ---------- FORMS ---------- */

.form-section {
  margin-bottom: 30px;
}

.form-group {
  margin-bottom: 25px;
  position: relative;
}

.form-group label {
  display: block;
  color: var(--rmg-text-primary);
  font-weight: 600;
  margin-bottom: 8px;
  font-size: clamp(1rem, 2vw, 1.1rem);
  position: relative;
}

.form-group label .required {
  color: var(--rmg-error);
  margin-left: 3px;
}

.form-group input {
  width: 100%;
  padding: 15px 20px;
  border: 2px solid var(--rmg-medium-gray);
  border-radius: 12px;
  font-size: clamp(1rem, 2vw, 1.1rem);
  transition: all 0.3s ease;
  background: var(--rmg-white);
  color: var(--rmg-text-primary);
  position: relative;
}

.form-group input:focus {
  outline: none;
  border-color: var(--rmg-lake-blue);
  background: var(--rmg-white);
  box-shadow: 0 0 0 3px rgba(52, 102, 175, 0.1);
  transform: translateY(-2px);
}

.form-group input:valid {
  border-color: var(--rmg-lake-blue);
  background: #F8FBFF;
}

.form-group input::placeholder {
  color: var(--rmg-dark-gray);
  transition: all 0.3s ease;
}

.form-group input:focus::placeholder {
  opacity: 0.5;
  transform: translateY(-10px);
}

/* ---------- BUTTONS ---------- */

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  border: none;
  border-radius: 12px;
  font-size: clamp(1rem, 2.5vw, 1.1rem);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  text-align: center;
  position: relative;
  overflow: hidden;
  min-width: 150px;
  min-height: 50px;
}

.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}

.btn:hover::before {
  left: 100%;
}

.btn:active {
  transform: translateY(1px);
}

/*
.btn-primary {
  background: linear-gradient(135deg, var(--rmg-deep-blue) 0%, var(--rmg-dark-night) 100%);
  color: var(--rmg-white);
  box-shadow: 0 4px 15px rgba(6, 66, 143, 0.3);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--rmg-dark-gray) 0%, #5A6268 100%);
  color: var(--rmg-white);
  box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3);
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(108, 117, 125, 0.4);
  text-decoration: none;
  color: var(--rmg-white);
}

*/

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(6, 66, 143, 0.4);
  text-decoration: none;
  color: var(--rmg-white);
}

.btn-primary {
    background: linear-gradient(135deg, #06428F, #0a5aa3);
    color: white;
    box-shadow: 0 5px 15px rgba(6, 66, 143, 0.3);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(6, 66, 143, 0.4);
    text-decoration: none;
    color: white;
}

.btn-secondary {
    background: linear-gradient(135deg, #6c757d, #5a6268);
    color: white;
    box-shadow: 0 5px 15px rgba(108, 117, 125, 0.3);
    margin-left: 10px;
}

.btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(108, 117, 125, 0.4);
    text-decoration: none;
    color: white;
}

.button1 {
  background: linear-gradient(135deg, var(--rmg-lemon), #E6C547);
  color: var(--rmg-dark-night);
  box-shadow: 0 8px 25px rgba(243, 222, 93, 0.3);
  padding: 20px 40px;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 20px auto;
  max-width: 500px;
  min-height: 80px;
  border-radius: 25px;
}

.button1:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(243, 222, 93, 0.4);
  text-decoration: none;
  color: var(--rmg-dark-night);
}

.search-btn {
  background: linear-gradient(135deg, var(--rmg-dark-night), var(--rmg-deep-blue));
  color: var(--rmg-white);
  padding: 12px 25px;
  font-size: 1rem;
  margin-top: 10px;
  min-height: auto;
  max-width: 150px;
  display: inline-block;
}

.search-btn:hover {
  background: linear-gradient(135deg, var(--rmg-deep-blue), var(--rmg-dark-night));
  color: var(--rmg-white);
  text-decoration: none;
}

.button-group {
  display: flex;
  gap: 15px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.button-group .btn {
  flex: 1;
}

.print-btn {
  margin-top: 20px;
  background: linear-gradient(135deg, var(--rmg-lake-blue) 0%, var(--rmg-deep-blue) 100%);
  color: var(--rmg-white);
  padding: 12px 25px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;
}

.print-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(52, 102, 175, 0.3);
}

/* ---------- NAVIGATION ---------- */

.navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  padding: 20px 0;
  border-top: 1px solid var(--rmg-medium-gray);
}

.slide-counter {
  background: var(--rmg-light-gray);
  padding: 10px 20px;
  border-radius: 20px;
  font-weight: 600;
  color: var(--rmg-text-primary);
  margin-bottom: 20px;
  text-align: center;
}

.progress-bar {
  height: 6px;
  background: var(--rmg-medium-gray);
  border-radius: 3px;
  margin-bottom: 30px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--rmg-lemon), var(--rmg-lake-blue));
  transition: width 0.3s ease;
  border-radius: 3px;
}

/* ---------- MESSAGES & FEEDBACK ---------- */

.result-message {
  margin-top: 20px;
  padding: 20px;
  border-radius: 12px;
  font-weight: 500;
  display: none;
  position: relative;
  animation: slideIn 0.3s ease;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.result-message.success {
  background: linear-gradient(135deg, #D4F6DB, #C3E6CB);
  color: #155724;
  border-left: 5px solid var(--rmg-success);
}

.result-message.error {
  background: linear-gradient(135deg, #F8D7DA, #F5C6CB);
  color: #721C24;
  border-left: 5px solid var(--rmg-error);
}

.result-message::before {
  content: '✅';
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 1.5em;
}

.result-message.error::before {
  content: '❌';
}

.search-result {
  display: none;
  background: linear-gradient(135deg, #D4F6DB, #C3E6CB);
  border: 1px solid #C3E6CB;
  border-radius: 10px;
  padding: 15px;
  margin-top: 15px;
  color: #155724;
}

.search-error {
  display: none;
  background: linear-gradient(135deg, #F8D7DA, #F5C6CB);
  border: 1px solid #F5C6CB;
  border-radius: 10px;
  padding: 15px;
  margin-top: 15px;
  color: #721C24;
}

.feedback {
  padding: 18px;
  margin: 25px 0;
  font-weight: 500;
  text-align: center;
  font-size: 1rem;
  border-radius: 10px;
}

.feedback.correct {
  background: linear-gradient(135deg, #D4F6DB, #C3E6CB);
  color: #155724;
  border: 1px solid #C3E6CB;
}

.feedback.incorrect {
  background: linear-gradient(135deg, #F8D7DA, #F5C6CB);
  color: #721C24;
  border: 1px solid #F5C6CB;
}

/* ---------- BADGES ---------- */

.visitor-badge {
  background: var(--rmg-white);
  border: 3px solid var(--rmg-dark-night);
  border-radius: 15px;
  padding: 30px;
  max-width: 400px;
  margin: 30px auto;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  display: none;
  position: relative;
  overflow: hidden;
}

.visitor-badge::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(90deg, var(--rmg-lemon), var(--rmg-lake-blue), var(--rmg-deep-blue), var(--rmg-dark-night));
}

.visitor-badge h2 {
  color: var(--rmg-dark-night);
  font-size: 1.8em;
  margin-bottom: 20px;
  font-weight: 700;
}

.badge-info {
  margin: 15px 0;
  padding: 15px;
  background: var(--rmg-light-gray);
  border-radius: 8px;
  border-left: 4px solid var(--rmg-lake-blue);
}

.badge-info strong {
  color: var(--rmg-dark-night);
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
}

.badge-info span {
  color: var(--rmg-text-secondary);
  font-size: 1.1em;
}

.qr-container {
  margin-top: 20px;
  padding: 15px;
  background: var(--rmg-light-gray);
  border-radius: 12px;
  display: inline-block;
}

/* ---------- QUIZ COMPONENTS ---------- */

.slide {
  display: none;
  animation: fadeIn 0.3s ease-in-out;
}

.slide.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.question-container {
  background: var(--rmg-light-gray);
  padding: 35px;
  margin: 30px 0;
  border: 1px solid var(--rmg-medium-gray);
  border-radius: 15px;
}

.options {
  text-align: left;
}

.option {
  margin: 12px 0;
  padding: 18px 25px;
  background: var(--rmg-white);
  border: 2px solid var(--rmg-medium-gray);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
}

.option:hover {
  border-color: var(--rmg-lake-blue);
  background: #F8FBFF;
}

.option.selected {
  border-color: var(--rmg-lemon);
  background: #FFFBF0;
}

.option.correct {
  border-color: var(--rmg-success);
  background: #E8F5E9;
  color: #2E7D32;
}

.option.incorrect {
  border-color: var(--rmg-error);
  background: #FFEBEE;
  color: #C62828;
}

.option input[type="radio"] {
  margin-right: 15px;
  width: 18px;
  height: 18px;
  accent-color: var(--rmg-lake-blue);
}

.symbol-options {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px 0;
  gap: 20px;
  flex-wrap: wrap;
}

.symbol {
  width: 90px;
  height: 90px;
  border: 2px solid var(--rmg-medium-gray);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--rmg-white);
}

.symbol:hover {
  border-color: var(--rmg-lake-blue);
  transform: scale(1.05);
  background: #F8FBFF;
}

.symbol.selected {
  border-color: var(--rmg-lemon);
  background: #FFFBF0;
}

.symbol.correct {
  border-color: var(--rmg-success);
  background: #E8F5E9;
}

.symbol.incorrect {
  border-color: var(--rmg-error);
  background: #FFEBEE;
}

/* ---------- LISTS ---------- */

.info-list {
  list-style: none;
  margin: 30px 0;
  padding: 0;
}

.info-list li {
  margin: 15px 0;
  padding: 20px 25px;
  background: var(--rmg-light-gray);
  border-left: 3px solid var(--rmg-lemon);
  border-radius: 8px;
  position: relative;
  transition: all 0.2s ease;
}

.info-list li:hover {
  background: var(--rmg-medium-gray);
  transform: translateX(3px);
}

.info-list li::before {
  content: '';
  position: absolute;
  left: -3px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--rmg-lemon);
  transition: width 0.2s ease;
}

.info-list li:hover::before {
  width: 6px;
}

/* ---------- COMPLETION CERTIFICATE ---------- */

.completion-certificate {
  text-align: center;
  padding: 50px;
  background: linear-gradient(135deg, var(--rmg-deep-blue), var(--rmg-dark-night));
  color: var(--rmg-white);
  margin: 20px -30px;
  border-radius: 15px;
}

.completion-certificate h2 {
  font-size: 2.25rem;
  margin-bottom: 25px;
  font-weight: 700;
}

.certificate-info {
  background: rgba(255, 255, 255, 0.1);
  padding: 25px;
  margin: 25px auto;
  max-width: 500px;
  border-radius: 10px;
  backdrop-filter: blur(10px);
}

.certificate-info p {
  margin: 10px 0;
  font-size: 1.1rem;
}

/* ---------- UTILITIES ---------- */

.icon {
  display: inline-block;
  margin-right: 10px;
  font-size: 1.5em;
  vertical-align: middle;
}

.loading {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid var(--rmg-lake-blue);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-left: 10px;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.fade-in {
  animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.text-start {
  text-align: left;
}

.text-center {
  text-align: center;
}

/* ---------- ANIMATION DELAYS ---------- */

.form-group {
  animation: fadeInUp 0.5s ease forwards;
  opacity: 0;
}

.form-group:nth-child(1) { animation-delay: 0.1s; }
.form-group:nth-child(2) { animation-delay: 0.2s; }
.form-group:nth-child(3) { animation-delay: 0.3s; }
.form-group:nth-child(4) { animation-delay: 0.4s; }
.form-group:nth-child(5) { animation-delay: 0.5s; }
.form-group:nth-child(6) { animation-delay: 0.6s; }

/* ---------- RESPONSIVE DESIGN ---------- */

@media (max-width: 768px) {
  body {
    padding: 10px;
  }
  
  .main-container {
    margin: 0;
    border-radius: 15px;
  }

  .header {
    padding: 30px 20px;
  }

  .header h1 {
    font-size: 2rem;
  }

  .info-section,
  .input-section,
  .question-container {
    padding: 20px;
  }

  .button-group {
    flex-direction: column;
  }

  .btn {
    min-width: auto;
    margin-bottom: 10px;
  }

  .button1 {
    padding: 15px 30px;
    min-height: 60px;
    font-size: 1rem;
  }

  .symbol-options {
    gap: 15px;
  }

  .symbol {
    width: 70px;
    height: 70px;
    font-size: 2rem;
  }

  .visitor-badge {
    margin: 20px 0;
    padding: 20px;
  }

  .completion-certificate {
    padding: 30px;
    margin: 20px -20px;
  }
}

@media (max-width: 480px) {
  .header {
    padding: 20px 15px;
  }

  .content {
    padding: 20px 15px;
  }

  .btn {
    padding: 12px 20px;
    min-height: 50px;
    font-size: 0.9rem;
  }

  .form-group input {
    padding: 12px 15px;
  }

  .symbol {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }

  .visitor-badge {
    padding: 15px;
  }
}

/* ---------- PRINT STYLES ---------- */

@media print {
  body {
    background: white;
    color: black;
  }
  
  body * {
    visibility: hidden;
  }
  
  .visitor-badge,
  .visitor-badge * {
    visibility: visible;
  }
  
  .visitor-badge {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    box-shadow: none;
    border: 2px solid black;
    page-break-inside: avoid;
  }
  
  .print-btn {
    display: none;
  }
  
  .navigation,
  .button-group,
  .form-section {
    display: none;
  }
}

/* ---------- ACCESSIBILITY ---------- */

.btn:focus,
.form-group input:focus {
  outline: 2px solid var(--rmg-lake-blue);
  outline-offset: 2px;
}

.option:focus {
  outline: 2px solid var(--rmg-lake-blue);
  outline-offset: 2px;
}

.symbol:focus {
  outline: 2px solid var(--rmg-lake-blue);
  outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .btn {
    border: 2px solid currentColor;
  }
  
  .form-group input {
    border-width: 2px;
  }
  
  .option {
    border-width: 2px;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- CUSTOM SCROLLBAR ---------- */

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--rmg-light-gray);
}

::-webkit-scrollbar-thumb {
  background: var(--rmg-lake-blue);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--rmg-deep-blue);
}

/* ---------- SELECTION STYLES ---------- */

::selection {
  background: var(--rmg-lemon);
  color: var(--rmg-dark-night);
}

::-moz-selection {
  background: var(--rmg-lemon);
  color: var(--rmg-dark-night);
}

/* ---------- DARK MODE SUPPORT (Optional) ---------- */

@media (prefers-color-scheme: dark) {
  .main-container {
    background: rgba(248, 249, 250, 0.95);
  }
  
  .form-group input {
    background: var(--rmg-white);
    color: var(--rmg-text-primary);
  }
  
  .option {
    background: var(--rmg-white);
    color: var(--rmg-text-primary);
  }
  
  .symbol {
    background: var(--rmg-white);
    color: var(--rmg-text-primary);
  }
}

/* ===== SECTION BLOCK LAYOUT (ersetzt Inline‑Styles aus deinen .sectionBlockLayout–DIVs) ===== */
.sectionBlockLayout {
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  min-height: auto;
  padding: 8px;
}

.sectionBlockLayout .container {
  width: 100%;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

/* ===== SPEZIELLE HINTERGRUND‑PATTERN (falls du es wieder aktivierst) ===== */
.dots-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.02;
  pointer-events: none;
  background-image: radial-gradient(circle, var(--rmg-dark-night) 1px, transparent 1px);
  background-size: 20px 20px;
}

/* ===== PLATZHALTER-STYLING FÜR Besuchernummer‑Input ===== */
#besuchernummer::placeholder {
  color: #bbb;
  font-style: normal;   /* verhindert kursiv */
  font-size: inherit;   /* gleiche Größe wie Text */
  line-height: inherit; /* gleiche Zeilenhöhe */
}

/* ===== BUTTON1 (ersetzt alle Inline‑Attribute der .button1 aus dem HTML) ===== */
.button1 {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  position: relative;
  overflow: hidden;
  min-width: 150px;
  color: var(--rmg-dark-night);
  box-shadow: rgba(243, 222, 93, 0.3) 0px 8px 25px;
  padding: 20px 40px;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 20px auto;
  max-width: 500px;
  min-height: 80px;
  border-radius: 25px;
  transition: all 0.3s ease;
}

.button1:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(243, 222, 93, 0.4);
  text-decoration: none;
  color: var(--rmg-dark-night);
}

/* ===== INPUT‑SECTION (ersetzt alle Inline‑Attribute der .input-section aus dem HTML) ===== */
.input-section {
  background: linear-gradient(135deg, #FFF8E1, var(--rmg-white));
  border-radius: 15px;
  padding: 30px;
  margin: 20px 0;
  box-shadow: rgba(243, 222, 93, 0.2) 0px 5px 15px;
  transition: transform 0.3s ease;
  animation: fadeInUp 0.6s ease-out;
}

.input-section label {
  display: block;
  color: var(--rmg-text-primary);
  font-weight: 600;
  margin-bottom: 8px;
  font-size: clamp(1rem, 2vw, 1.1rem);
}

.input-section input {
  width: 100%;
  padding: 15px 20px;
  border-radius: 12px;
  font-size: clamp(1rem, 2vw, 1.1rem);
  color: var(--rmg-text-primary);
  background: var(--rmg-white);
  transition: all 0.3s ease;
}

/* ===== KEYFRAMES FÜR FADE‑IN UP (einmalig) ===== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* Two Column */
.two-column {
    display: block;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-top: 2rem;
}

.box {
    padding: 1.5rem;
    border-radius: 8px;
    border: 2px solid;
    margin-bottom: 1.5rem;
}

.box-green {
  background: #ecfdf5; /* heller */
  border-color: #16a34a;
}

.box-red {
  background: #fef2f2;
  border-color: #dc2626;
}


.box-red .box-title {
    color: #dc2626;
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.box-green .box-title {
    color: #16a34a;
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.box ul {
    color: #374151;
    font-size: 1.1rem;
    list-style: none;
    line-height: 1.9;
}

.box ul li {
    margin-bottom: 0.3rem;
}

.box-red ul, .box-green ul {
  font-size: 1.3rem;
  line-height: 1.9;
}
.box-red .box-title, .box-green .box-title {
  font-size: 1.5rem;
  font-weight: 700;
}


/* Warning Box */
.warning-box {
    background: #fef2f2;
    border: 2px solid #dc2626;
    padding: 2rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}

.warning-box h3 {
    color: #991b1b;
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Rule Cards */
.rule-card {
    background: white;
    padding: 1.2rem;
    border-radius: 6px;
    border-left: 4px solid;
    margin-bottom: 1rem;
}

.rule-card.red { border-left-color: #dc2626; }
.rule-card.orange { border-left-color: #f97316; }
.rule-card.yellow { border-left-color: #eab308; }

.rule-card h4 {
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.rule-card p {
    color: grey;
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Alternative Box */
.alternative-box {
    background: #eff6ff;
    padding: 1.2rem;
    border-radius: 8px;
    border: 1px solid #93c5fd;
}

.alternative-box .title {
    font-weight: bold;
    color: #1e3a8a;
    margin-bottom: 0.5rem;
}

.alternative-box p {
    color: #374151;
    font-size: 0.9rem;
}

/* Sections */
.orange-section {
    background: #fff7ed;
    border: 2px solid #f97316;
    padding: 2rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}

.orange-section h3 {
    color: #9a3412;
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.purple-section {
    background: #faf5ff;
    border: 2px solid #a855f7;
    padding: 2rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}

.purple-section h3 {
    color: #6b21a8;
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rule-card ul {
    color: grey;
    margin-left: 1rem;
    margin-top: 0.5rem;
}

.rule-card ul li {
    margin-bottom: 0.3rem;
}

/* Support Box */
.support-box {
    background: #f0fdf4;
    padding: 1.2rem;
    border-radius: 8px;
    border: 1px solid #86efac;
}

.support-box .title {
    font-weight: bold;
    color: #166534;
    margin-bottom: 0.5rem;
}

.support-box p {
    color: #374151;
    font-size: 0.9rem;
}

/* Navigation */
.navigation {
    background: #f9fafb;
    padding: 1.5rem 2rem;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-button {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s;
    font-size: 1rem;
}

.nav-button:disabled {
    background: #e5e7eb;
    color: #9ca3af;
    cursor: not-allowed;
}

.nav-button:not(:disabled) {
    background: #2563eb;
    color: white;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
}

.nav-button:not(:disabled):hover {
    background: #1d4ed8;
    box-shadow: 0 6px 12px rgba(37, 99, 235, 0.4);
}

/* Indicators */
.slide-indicators {
    display: flex;
    gap: 0.5rem;
}

.indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #d1d5db;
    cursor: pointer;
    transition: all 0.3s;
}

.indicator.active {
    background: #2563eb;
    width: 32px;
    border-radius: 6px;
}

.indicator:hover {
    background: #9ca3af;
}

/* Footer */
.footer {
    background: #f3f4f6;
    padding: 1rem 2rem;
    text-align: center;
    font-size: 0.875rem;
    color: #6b7280;
}

.footer-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  padding: 1rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2000;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.1);
  height: 70px; /* feste Höhe, z. B. 70px */
}

/* Abstand für den Content, damit nichts überlappt */
body {
  margin: 0;
  padding-bottom: 70px; /* exakt gleiche Höhe wie .footer-nav */
}


.nav-button {
  padding: 0.6rem 1.2rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  cursor: pointer;
  background: #2563eb;
  color: #fff;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.nav-button:hover {
  background: #1d4ed8;
}

.nav-button.disabled {
  background: #e5e7eb;
  color: #9ca3af;
  pointer-events: none;
}

.slide-indicators {
  display: flex;
  gap: 0.5rem;
}

.indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #d1d5db;
  display: inline-block;
}

.indicator.active {
  background: #2563eb;
  width: 32px;
  border-radius: 6px;
}

/* Gemeinsame Basis für alle Info-Boxen */
.info-section,
.box-green,
.box-red {
    width: 100%;
    max-width: 900px;     /* gleiche Obergrenze */
    margin: 20px auto;    /* immer mittig */
    border-radius: 12px;
    padding: 1.5rem 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Erlaubt (grün) */
.box-green {
    background: #ecfdf5;
    border-left: 8px solid #16a34a; /* Grün */
}

/* Verboten (rot) */
.box-red {
    background: #fef2f2;
    border-left: 8px solid #dc2626; /* Rot */
}

/* Boxen immer mittig ausrichten */
.box,
.info-section {
  margin-left: auto;
  margin-right: auto;
}

/* ---------- SCHRIFTGRÖSSEN HARMONISCH ---------- */

/* Hauptüberschrift */
.slide-header h1 {
  font-size: 2rem;      /* ca. 32px */
  font-weight: 700;
  margin-bottom: 1.5rem;
}

/* Grüne Box */
.box .box-title {
  font-size: 1.3rem;    /* ca. 21px */
  font-weight: 600;
  margin-bottom: 0.8rem;
}
.box ul li {
  font-size: 1.05rem;   /* ca. 17px */
  line-height: 1.6;
}

/* Infobox-Überschrift */
.info-section h3 {
  font-size: 1.4rem;    /* ca. 22px */
  font-weight: 700;
  margin-bottom: 1.2rem;
}

/* Regelkarten */
.rule-card h4 {
  font-size: 1.2rem;    /* ca. 19px */
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.rule-card p,
.rule-card ul li {
  font-size: 1.05rem;   /* ca. 17px */
  line-height: 1.6;
}
/* Einheitliche Inhaltsbreite auch im Footer verwenden */
:root {
  --content-max: 1000px;        /* ggf. auf 1100/1200 anheben */
  --content-side-gap: 24px;     /* seitlicher Rand auf kleinen Screens */
}

/* Fixer Footer */
.footer-nav{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.1);
  z-index: 2000;
  height: 70px;
  display: flex;                /* zentriert die innere Leiste */
  justify-content: center;
  align-items: center;
}

/* Innere Leiste mit gleicher Breite wie die Boxen */
.footer-nav-inner{
  width: min(var(--content-max), 100% - (var(--content-side-gap) * 2));
  display: grid;
  grid-template-columns: 1fr auto 1fr;  /* links | indikator | rechts */
  align-items: center;
  gap: 16px;
}

/* Ausrichtung der Buttons */
.footer-nav-inner .nav-button:first-child { justify-self: start; }
.footer-nav-inner .nav-button:last-child  { justify-self: end; }

/* Punkte in der Mitte */
.footer-nav .slide-indicators{
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

/* Platz für den fixen Footer – NICHT entfernen */
body { padding-bottom: 70px; }


/* ---------- MOBILE OPTIMIERUNG ---------- */
@media (max-width: 768px) {
    .content {
        max-width: 95%;
        padding: 20px 15px;
    }
    .slide-header h1 {
        font-size: 1.6rem;
    }
    .box .box-title {
        font-size: 1.15rem;
    }
    .rule-card h4 {
        font-size: 1.05rem;
    }
    .two-column {
        grid-template-columns: 1fr;
    }

    .box {
    margin-bottom: 1rem;
    }
    .slide-content {
        padding: 2rem 1.5rem;
    }
}
