/* open-sans-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v40-latin-300.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-300italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/open-sans-v40-latin-300italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v40-latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/open-sans-v40-latin-500.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v40-latin-700.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

html,
body {
  font-family: "Open Sans", sans-serif;
}

/*******************************************************************
 * Header
 *******************************************************************/
.header .inside {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding-top: 10px;
}

.header .mod_search {
  display: none;
}

.logo2 a {
  display: block;
}

.logo2 a img {
  display: block;
  max-height: 100px;
}

.slogan {
  display: none;
}

@media screen and (min-width: 1200px) {
  .header .inside {
    display: block;
  }

  .logowrapper {
    display: flex;
    gap: 3rem;
    align-items: center;
  }

  .header .logo2 img {
    height: 100px;
  }

  .slogan {
    display: block;
  }

  .slogan img {
    height: 32px;
  }

  #stickyheader .mod_search,
  #header .mod_search {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
  }
}


.mainmenu {
  float: right;
}

nav.mainmenu li.notfall>a>span {
  background-color: red;
  color: white;
  padding: 10px 5px;
  font-weight: bold;
}


.header.original .logo,
.header.cloned .logo {
  width: 180px;
}

.header .mod_langswitcher {
  display: none;
}

#top .top_metanavi {
  display: none;
}

#offcanvas-top,
#top .offcanvas-trigger {
  display: none;
}

.mod_eventlist_v2 .date {
  font-weight: normal;
  font-size: 1rem;
  color: #004a81;
}

.mod_eventlist_v2 .time {
  text-align: left;
}

.mod_eventlist_v2 .title {
  border-right: 2px solid rgb(204, 213, 218);
}

.newsteaser_v2 h6 a {
  font-size: 1.2rem;
}

#wrapper li a {
  color: #1b4575;
}



form span.mandatory {
  display: inline;
}

#stickyheader .logo a,
#header .logo a {
  background-image: url("/files/cto_layout/img/logoneu.svg");
}


/*******************************************************************
 * Layout
 *******************************************************************/
body.sidebar.left #left {
  flex: 330px;
  flex-shrink: 0;
}

body.sidebar.left #left>.inside {
  margin-right: 20px;
}



/*******************************************************************
 * Externe Links
 *******************************************************************/
#left a[href^="https://"]::after,
#right a[href^="https://"]::after,
p a[href^="https://"]::after,
.ce_text a[href^="https://"]::after {
  font-family: "FontAwesome";
  content: "\f08e";
  width: 11px;
  height: 11px;
  margin-left: 4px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  position: relative;
  top: 2px;
  padding-right: 10px;
}

#main .ce_text a {
	text-decoration: underline;
}

/*******************************************************************
 * Subnav
 *******************************************************************/
#left .subnav {
  margin-top: 60px;
}

.fachabteilung #left .subnav {
  margin-top: 1rem;
}

#main .subnav {
  margin-top: 1rem;
}

.fachabteilung #main .subnav {
  margin-top: .5rem;
}

.subnav a {
  padding-left: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
}

#main .subnav {
  display: block;
}

/*******************************************************************
 * Custom-Nav
 *******************************************************************/
.nav-back {
  margin-top: 28px;
}

.nav-back ul {
  display: flex;
  gap: 2px;
  flex-direction: column;
}

.nav-back ul li {}

#wrapper .nav-back a {
  background-color: #004884;
  color: white;
  padding: 5px 10px;
  display: block;
}

/*******************************************************************
 * News
 *******************************************************************/
 .newsreader .info {
   background: none;
   padding: 0;
 }
 
/*******************************************************************
 * Breadcrumb / Pfadnavi
 *******************************************************************/
#container .mod_breadcrumb {
  display: block;
  margin-top: 1rem;
  border-top: none;
}

#container .mod_breadcrumb_inside {
  padding-left: 0;
}

#container .mod_breadcrumb ul {
  display: block;
}

#container .mod_breadcrumb li {
  margin-bottom: 0.5rem;
}

#container .mod_breadcrumb,
#container .mod_breadcrumb ul {
  text-align: left;
}

@media (max-width: 768px) {
  #container .mod_breadcrumb {
    padding-left: 1.25rem;
  }
}

#container .mod_breadcrumb li:nth-of-type(1),
#container .mod_breadcrumb li:nth-of-type(2) {
  display: none;
}

#container .mod_breadcrumb li:nth-of-type(3):before {
  display: none;
}

#container .mod_breadcrumb li:nth-of-type(n+5) {
  display: none;
}

.mod_portfoliolist_v7 .title a {
    font-weight: 400;
    font-size: 1rem;
}

.mod_portfoliolist_v7 .subline {
    background: none;
    color: var(--accentColor);
    font-weight: bold;
    padding-left: 0;
}

@media screen and (max-width: 1200px) {
  .mainmenu {
    display: none;
  }

  #mmenu {
    display: block;
  }

  .mmenu_trigger {
    float: right;
    display: flex;
    transform: none;
    position: static;
    margin-left: 15px
  }

  .logo-reflux img {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  body.sidebar #left {
    border: none !important;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 1.0rem;
  margin-bottom: 0.5rem;
}


.ce_hyperlink.btn-rot a {
    background: #FF0000;
    border-color: #FF0000;
    color: #ffffff;
}



/*******************************************************************
 * Anpassung Newslist V2 Smartphone-Ansicht
 *******************************************************************/

@media (max-width: 1200px) {

    .newslist-v2 {
        display: flex;
        flex-direction: column;
    }

    .news-image-v2,
    .news-content-v2 {
        width: 100%;
    }

}

.newslist-v2 .h4 {
    margin-bottom: 15px;
    padding-right: 0;
}



/**********************************
 * Tastaturnavigation Anpassungen
 *********************************/
 
 /* Sichtbarer Rahmen um den per Tab-Taste fokussierten Link */
.mod_navigation a:focus-visible {
    outline: 3px solid #ff0000; /* Farbe */
    outline-offset: 3px;       /* Abstand zum Text */
    background-color: #f0f0f0;  /* Hintergrundfarbe */
}

/* 1. Verhindert, dass der Rahmen bei normalen Mausklicks erscheint */
*:focus:not(:focus-visible) {
    outline: none;
}

/* 2. Globaler Rahmen für ALLE Tastatur-fokussierten Elemente */
*:focus-visible {
    outline: 3px solid #ff0000;
    outline-offset: 3px;
    background-color: #f0f0f0
}