/*!
Theme Name: BiosolveIT
Theme URI: https://underscores.me/
Author: Underscores.me
Author URI: https://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: biosolveit
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

BiosolveIT is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
@view-transition {
  navigation           : auto;
}

@import "/wp-content/themes/biosolveit/assets/css/BioSans.css";

html,
body {
  color                : #404040;
  font-size            : 16px;
  font-family          : BioSans, OpenSans, sans-serif;
/*letter-spacing       : 0.24px; */
  letter-spacing       : 0.015em;
/*font-weight          : 500; */
  hyphens              : none;
  -webkit-hyphens      : none;
  -moz-hyphens         : none;
  -ms-hyphens          : none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering       : optimizeLegibility;
}

html {
  scroll-padding-top   : 4.6875rem;
}
@media screen and (min-width: 71.25rem) {
  html {
    scroll-padding-top : 5.9375rem;
  }
}

body {
  overflow-x           : hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight          : 600;
  clear                : both;
}
h1 {
  font-size            : 2rem;
  margin               : 0.67rem 0;
}
h2 {
  font-size            : 2rem;
  font-weight          : 700;
  line-height          : 2.5rem;
  margin-bottom        : 2.5rem;
  text-align           : center;
}
@media screen and (min-width: 62rem) {
  h2 {
    font-size          : 2.375rem;
    line-height        : 2.75rem;
    margin-bottom      : 3.75rem;
  }
}
.black h2 {
  color                : black;
}
.blue h2 {
  color                : #0D4473;
}
.green h2 {
  color                : #00973A;
}
.orange h2 {
  color                : #B36200;
}
.white h2 {
  color                : white;
}
@media screen and (max-width: 62rem) {
  h3 {
    font-size          : 1.5rem;
  }
  h4 {
    font-size          : 1.25rem;
  }
  h5 {
    font-size          : 1rem;
  }
}

pre {
  background           : #eee;
  line-height          : 1.6;
  max-width            : 100%;
  padding              : 1rem 1.6rem;
  font-size            : 1rem;
  margin               : .5rem 0;
  white-space          : pre-line;
}
@media screen and (min-width: 62rem) {
  pre {
    white-space        : pre;
  }
}

a {
  color                : #0D4473;
  outline              : 0;
  text-decoration      : none;
}
a:visited {
  color                : #105691;
}
a:hover,
a:focus,
a:active {
  color                : #009FE3;
  outline              : 0;
  text-decoration      : none;
}
a.green,
.green a {
  color                : #00973A;
}
a.green:visited,
.green a:visited {
  color                : #00973A;
}
a.green:hover,
a.green:focus,
a.green:active,
.green a:hover,
.green a:focus,
.green a:active {
  color                : #3AAA35;
}
a.orange,
.orange a {
  color                : #B36200;
}
a.orange:visited,
.orange a:visited {
  color                : #B36200;
}
a.orange:hover,
a.orange:focus,
a.orange:active,
.orange a:hover,
.orange a:focus,
.orange a:active {
  color                : #FFA12F;
}

code,
kbd,
samp {
  font-size            : 1rem;
}

img {
  height               : auto;
  max-width            : 100%;
}

/*
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color         : #aaa #bbb #bbb;
}
button::-moz-focus-inner,
input::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
  border-style         : none;
  padding              : 0;
}
button:-moz-focusring,
input[type="button"]:-moz-focusring,
input[type="reset"]:-moz-focusring,
input[type="submit"]:-moz-focusring {
  outline              : 1px dotted ButtonText;
}
*/

p {
  margin-bottom        : 1.5rem;
}
p:last-child {
  margin-bottom        : 0;
}
.lead p:last-child {
  margin-bottom        : 1.5rem;
}

blockquote {
  margin               : 0 1.5rem 1.5rem;
}

address {
  margin               : 0 0 1.5rem;
}

tt,
var {
  font-family          : SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  font-size            : 0.9375rem;
}

mark,
ins {
  background           : #fff9c0;
  text-decoration      : none;
}

big {
  font-size            : 125%;
}

ul,
ol {
  margin-bottom        : 1.5rem;
}
dd {
  margin               : 0 1.5rem 1.5rem;
}

table {
  margin               : 0 0 1.5rem;
  width                : 100%;
}

embed,
iframe,
object {
  max-width            : 100%;
}

legend {
  float                : none
}



/* nicht-nummerierte Aufzaehlungen ------------------------------------------------------------------------------------------------------------------ */

ol.biolist,
ul.biolist {
  margin-top           : 1rem;
  margin-left          : 1rem;
}
ol.biolist,
ul.biolist,
ul.logolist,
ul.publist {
  padding              : 0;
  counter-reset        : li;
}
ol.biolist  > li,
ul.biolist  > li,
ul.logolist > li,
ul.publist  > li {
  list-style           : none;
/*font-weight          : normal; */
/*line-height          : 22px; */
  position             : relative;
  padding-left         : 2.375rem;
  top                  : 1px;
}
ol.biolist  > li + li,
ul.biolist  > li + li {
  margin-top           : .5rem;
}
ul.logolist > li + li,
ul.publist  > li + li {
  margin-top           : 1rem;
}
ul.biolist  > li::before,
ul.logolist > li::before {
  position             : absolute;
  left                 : 0;
  top                  : .25em;
  background-image     : url( '../img/biobullet_blue.svg' );
  background-position-x: center;
  background-size      : contain;
  background-repeat    : no-repeat;
  display              : block;
  height               : 1em;
  min-height           : .875em;
  width                : 1.375em;
  content              : '';
}
ol.biolist  > li::before {
  content              : counter(li)"."; /* Use the counter as content */
  counter-increment    : li;   /* Increment the counter by 1 */
  position             : absolute;
  left                 : 0;
  text-align           : right;
/*font-weight          : 100;*/
  font-size            : 1.125em;
  color                : #0D4473;
  display              : block;
  height               : 1em;
  min-height           : 1.25em;
  width                : 1.375em;
  top                  : -.125em;
}
.green ul.biolist         > li::before,
       ul.biolist.green   > li::before,
.green ul.logolist        > li::before,
       ul.logolist.green  > li::before {
  background-image     : url( '../img/biobullet_green.svg' );
  transform            : rotate(180deg);
}
.green ol.biolist       > li::before,
       ol.biolist.green > li::before {
  color                : #00973A;
}



.orange ul.biolist          > li::before,
        ul.biolist.orange   > li::before,
.orange ul.logolist         > li::before,
        ul.logolist.orange  > li::before {
  background-image     : url( '../img/biobullet_orange.svg' );
  transform            : rotate(180deg);
}
.orange ol.biolist        > li::before,
        ol.biolist.orange > li::before {
  color                : #B36200;
}


ul.publist > li::before {
  content              : "\f016";
  position             : absolute;
  left                 : 0;
  font-family          : FontAwesome;
  font-size            : 1.25rem;
  font-weight          : 600;
  color                : #bababa;
  line-height          : 1.625rem;
}
.blue ul.publist      > li::before,
      ul.publist.blue > li::before {
  color                : #0D4473;
}
.green ul.publist       > li::before,
       ul.publist.green > li::before {
  color                : #00973A;
}
.orange ul.publist        > li::before,
        ul.publist.orange > li::before {
  color                : #B36200;
}
ol.biolist ol,
ol.biolist ul,
ul.biolist ol,
ul.biolist ul {
  margin-top           : .25rem;
  margin-left          : .5rem;
  padding              : 0;
  counter-reset        : li;
}
ol.biolist ol li,
ol.biolist ul li,
ul.biolist ol li,
ul.biolist ul li {
  list-style           : none;
  position             : relative;
  padding-left         : 1.75rem;
  top                  : 1px;
  margin-bottom        : 0.25em;
}
ol.biolist ul li::before,
ul.biolist ul li::before {
  position             : absolute;
  left                 : 0;
  top                  : .375em;
  background-color     : rgb(192,192,192);
  border-top-left-radius: 50%;
  display              : block;
  height               : .75em;
  min-height           : .75em;
  width                : .75em;
  content              : "";
}
ol.biolist ol li::before,
ul.biolist ol li::before {
  content              : counter(li)"."; /* Use the counter as content */
  counter-increment    : li;   /* Increment the counter by 1 */
  position             : absolute;
  left                 : 0;
  top                  : 0;
  text-align           : right;
/*font-weight          : 100; */
  font-size            : 1em;
  color                : #888888;
  display              : block;
  height               : 1em;
  min-height           : 1em;
  width                : 1.125em;
}


.site {
  position             : relative;
  top                  : 4.6875rem; /* 75px */
}
@media screen and (min-width: 71.25rem) {
  .site {
    top                : 5.9375rem; /* 95px */
  }
}

.lock-scroll {
    overflow           : hidden;
}
.left {
    float              : left;
}
.right {
    float              : right;
}
.aligncenter {
  clear                : both;
  display              : block;
  margin-left          : auto;
  margin-right         : auto;
/*margin-bottom        : 1.5em; */
}

.site-content > h1.h1 {
  display              : none;
}

h3.challenge-period,
h3.webinardate,
h3.webinarspeaker {
  color                : #0D4473;
  font-size            : 1.125rem;
}


#form_url {
  display              : none;
}
/* Bootstrap 5 entfernt .form-group – Abstand wiederherstellen */
.form-group {
  margin-bottom        : 1rem;
}
/* Bootstrap 5 entfernt margin-bottom für Labels – wieder hinzufügen */
.form-group > label,
.form-label {
  margin-bottom        : .5rem;
}
.form-control,
.custom-select,
.form-select {
  color                : #666;
}
.form-control:focus,
.custom-select:focus,
.form-select:focus {
  color                : #111;
}
.form-control::placeholder,
.custom-select::placeholder,
.form-select::placeholder {
  color                : #999;
}
.form-control:disabled,
.form-control[readonly],
.custom-select:disabled,
.form-select:disabled {
  background-color     : #f0f0ed;
}
.input-group-text {
  color                : #505050;
  background-color     : #f0f0ed;
  border               : 1px solid #d4d4d4;
}
.invalid-tooltip {
  right                : 0;
  top                  : -2rem;
}
input[type="file"] {
  padding-right        : 0;
}
input[type="file"]::file-selector-button {
  float                : right;
  margin-left          : .75rem;   /* Abstand zum Dateinamen */
  margin-right         : 0;
  border-left          : 1px solid #d4d4d4;
  border-right         : 0;
}
fieldset.form-group {
  border               : 1px solid rgb(222, 226, 230);
  padding              : 0 .75rem .375rem;
  border-radius        : 6px;
  position             : relative;
  margin-top           : 3rem;
}
fieldset.form-group.error {
  border-color         : var(--bs-form-invalid-border-color);
}
fieldset.form-group legend {
  position             : absolute;
  top                  : -2.5rem;
  left                 : 0;
}
fieldset.form-group .invalid-tooltip {
  right                : -.75rem;
}
.overlay {
  position             : absolute;
  top                  : 0;
  left                 : 0;
  cursor               : wait;
  width                : 100%;
  height               : 100%;
  background-color     : rgba(255,255,255,.6);
  /**/
  background-image     : url( '../img/wait.svg' );
  background-repeat    : no-repeat;
  background-position  : center center;
  /**/
  display              : none;
  z-index              : 100;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */
.screen-reader-text {
  border               : 0;
  clip                 : rect(1px, 1px, 1px, 1px);
  clip-path            : inset(50%);
  height               : 1px;
  margin               : -1px;
  overflow             : hidden;
  padding              : 0;
  position             : absolute !important;
  width                : 1px;
  word-wrap            : normal !important;
}
.screen-reader-text:focus {
  background-color     : #f1f1f1;
  border-radius        : 3px;
  box-shadow           : 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip                 : auto !important;
  clip-path            : none;
  color                : #21759b;
  display              : block;
  font-size            : 0.875rem;
  font-weight          : 700;
  height               : auto;
  left                 : 5px;
  line-height          : normal;
  padding              : 15px 23px 14px;
  text-decoration      : none;
  top                  : 5px;
  width                : auto;
  z-index              : 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline              : 0;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display              : block;
}
.updated:not(.published) {
  display              : none;
}
.page-content,
.entry-content,
.entry-summary {
  margin               : 1.5rem 0 0;
}
.page-links {
  clear                : both;
  margin               : 0 0 1.5rem;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap            : break-word;
}
.bypostauthor {
  display              : block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll.neverending .site-footer {
  display              : none;
}
/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display              : block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border               : none;
  margin-bottom        : 0;
  margin-top           : 0;
  padding              : 0;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom        : 1.5em;
  max-width            : 100%;
}
.wp-caption img[class*="wp-image-"] {
  display              : block;
  margin-left          : auto;
  margin-right         : auto;
}
.wp-caption .wp-caption-text {
  margin               : 0.8075em 0;
}
.wp-caption-text {
  text-align           : center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom        : 1.5em;
  display              : grid;
  grid-gap             : 1.5em;
}
.gallery-item {
  display              : inline-block;
  text-align           : center;
  width                : 100%;
}
.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}
.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}
.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}
.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}
.gallery-caption {
  display              : block;
}

/* -------------------------------------------------------------------------------------------------------------------------------------------------- */

.modal-backdrop {
  display              : none; /* macht den body dunkel - das wollen wir nicht */
}


.cookieBoxWrapper {
  position             : fixed;
  display              : block;
  width                : 100%;
  padding              : 0;
  margin               : 0;
  z-index              : 2000;
  box-sizing           : border-box;
  bottom               : 0;
}
.cookieBoxWrapper .cookieBox {
  display              : grid;
  grid                 : "text" "options" "buttons" / auto;
  justify-content      : center;
  justify-items        : center;
  gap                  : 1rem;
  width                : 100%;
  padding              : 1rem;
  background           : rgb(232,232,232);
  box-shadow           : 0 0 .75rem rgba(0,0,0,.4);
}

@media screen and (min-width: 49rem) {
  .cookieBoxWrapper .cookieBox {
    grid               : "text text" "options buttons" / auto 24.25rem;
  }
}
.cookieBoxWrapper .cookieBox .text {
  grid-area            : text;
  max-width            : 61rem;
  margin-bottom        : -.25rem;
}
.cookieBoxWrapper .cookieBox .options {
  grid-area            : options;
  display              : flex;
  justify-content      : space-between;
  align-items          : center;
  max-width            : 22rem;
  gap                  : 1rem;
}
.cookieBoxWrapper .cookieBox .options .option label {
  white-space          : nowrap;
}
.cookieBoxWrapper .cookieBox .options .option #ecc_td label {
  color                : inherit;
}
.cookieBoxWrapper .cookieBox .options .option #ecc_td label::before {
  background-color     : rgb(0,123,255);
}
.cookieBoxWrapper .cookieBox .buttons {
  grid-area            : buttons;
  display              : flex;
  justify-content      : center;
  flex-direction       : row;
  width                : 100%;
  max-width            : 24.25rem;
  gap                  : .25rem;
}
.cookieBoxWrapper .cookieBox .buttons .btn {
  white-space          : nowrap;
  min-width            : 6rem;
  max-width            : 12rem;
  flex-basis           : 50%;
}
.cookieBoxWrapper .cookieBox > .btn {
  white-space          : nowrap;
}


.lyteBoxWrapper {
  position             : absolute;
  display              : none;
  width                : 100%;
  height               : 100vh;
  z-index              : -1;
  top                  : 0;
/*background           : rgba(255,255,255,0.5); */
}
/* IE6,7,9,10: */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .lyteBoxWrapper {
    z-index            : 20;
  }
}
.lyteBoxWrapper .lyteBoxPos {
  padding-top          : 5.625em;
  display              : flex;
  justify-content      : center;
  align-items          : flex-start;
  height               : 100%;
}
.lyteBoxWrapper .lyteBoxPos .lyteBox {
  position             : relative;
  display              : inline-block;
  width                : 100%;
  max-width            : 28rem;
  background-color     : white;
  padding              : 2rem 0 1.5rem calc(1.5rem - 3px);
  box-shadow           : 0 3px 3px rgba(0,0,0,.2);
  max-height           : calc(100vh - 5rem);
}
@media screen and (min-width: 36rem) {
  .lyteBoxWrapper .lyteBoxPos .lyteBox {
    padding            : 3rem 0 3rem calc(3rem - 3px);
    max-height         : calc(100vh - 6rem);
  }
}
.lyteBoxWrapper .lyteBoxPos .lyteBox .close {
  position             : absolute;
  right                : 1.25rem;
  top                  : .8rem;
  cursor               : pointer;
}
.lyteBoxWrapper .lyteBoxPos .lyteBox .close span {
  font-size            : 2rem;
  font-weight          : 400;
}
.lyteBoxWrapper .lyteBoxPos .lyteBox .HeadlineWrapper,
.lyteBoxWrapper .lyteBoxPos .lyteBox .InhaltWrapper  , 
.lyteBoxWrapper .lyteBoxPos .lyteBox .FooterWrapper   {
  padding-left         : 3px;
  padding-right        : 1.5rem;
}
@media screen and (min-width: 36rem) {
  .lyteBoxWrapper .lyteBoxPos .lyteBox .HeadlineWrapper,
  .lyteBoxWrapper .lyteBoxPos .lyteBox .InhaltWrapper  , 
  .lyteBoxWrapper .lyteBoxPos .lyteBox .FooterWrapper   {
    padding-right      : 3rem;
  }
}
.lyteBoxWrapper .lyteBoxPos .lyteBox .HeadlineWrapper .Headline {
  margin-top           : 0;
  margin-bottom        : 1.5rem;
}
.lyteBoxWrapper .lyteBoxPos .lyteBox .InhaltWrapper {
  overflow-y           : auto;
  max-height           : calc(80vh - 5.625rem);
}


.jumptarget
{
/*border-top           : 4.6875rem solid white; */
/*padding-top          : 4.6875rem;             */
/*margin-top           : -4.6875rem;            */
  outline              : none !important;
}
@media screen and (min-width: 71.25rem) {
  .jumptarget
  {
  /*border-top         : 5.9375rem solid white; */
  /*padding-top        : 5.9375rem;             */
  /*margin-top         : -5.9375rem;            */
  }
}

/* Kompatibilität zu bootstrap 4: */
@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1140px;
  }
}