:root {
  --primary-color: #2B5F8C;
  --secondary-color: #9EBF95;
  --neutral-color: #FFFEFD;
  --black-color: #000;
  --heading-scale-factor: 0.95;
  --text-scale-factor: 1;
}

/* FONTS */

@font-face {
  font-family: 'Lato';
  src: url('/static/fonts/Lato/Lato-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Lato';
  src: url('/static/fonts/Lato/Lato-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

html {
font-size: 16px; /* Basis-Schriftgröße */
}

h1 {
  font-size: calc(2rem * var(--heading-scale-factor)); /* Bootstrap Standard für h1 ist 2rem */
}

h2 {
  font-size: calc(1.75rem * var(--heading-scale-factor)); /* Bootstrap Standard für h2 ist 1.75rem */
}

h3 {
  font-size: calc(1.5rem * var(--heading-scale-factor)); /* Bootstrap Standard für h3 ist 1.5rem */
}

h4 {
  font-size: calc(1.25rem * var(--heading-scale-factor)); /* Bootstrap Standard für h4 ist 1.25rem */
}

h5 {
  font-size: calc(1rem * var(--heading-scale-factor)); /* Bootstrap Standard für h5 ist 1rem */
}

h6 {
  font-size: calc(0.875rem * var(--heading-scale-factor)); /* Bootstrap Standard für h6 ist 0.875rem */
}
p {
  font-size: calc(1rem * var(--text-scale-factor)); 
}

@media (max-width: 576px) {
  h1 {
      font-size: calc(1.6rem * var(--heading-scale-factor));
  }

  h2 {
      font-size: calc(1.4rem * var(--heading-scale-factor)); /* Verhältnismäßig reduziert von 1.75 auf 1.4 */
  }

  h3 {
      font-size: calc(1.2rem * var(--heading-scale-factor)); /* Verhältnismäßig reduziert von 1.5 auf 1.2 */
  }

  h4 {
      font-size: calc(1rem * var(--heading-scale-factor)); /* Verhältnismäßig reduziert von 1.25 auf 1 */
  }

  h5 {
      font-size: calc(0.8rem * var(--heading-scale-factor)); /* Verhältnismäßig reduziert von 1 auf 0.8 */
  }

  h6 {
      font-size: calc(0.7rem * var(--heading-scale-factor)); /* Verhältnismäßig reduziert von 0.875 auf 0.7 */
  }
  p, li, a {
    font-size: calc(0.85rem * var(--text-scale-factor)); /* Hier können Sie den Faktor anpassen, falls Sie einen verwenden möchten. */
  }
}

@media (max-width: 991px) {
  h1 {
      font-size: calc(1.8rem * var(--heading-scale-factor));
  }

  h2 {
      font-size: calc(1.575rem * var(--heading-scale-factor)); 
  }

  h3 {
      font-size: calc(1.35rem * var(--heading-scale-factor));
  }

  h4 {
      font-size: calc(1.125rem * var(--heading-scale-factor)); 
  }

  h5 {
      font-size: calc(0.9rem * var(--heading-scale-factor)); 
  }

  h6 {
      font-size: calc(0.7875rem * var(--heading-scale-factor)); 
  }
  p, li, a {
    font-size: calc(0.9rem * var(--text-scale-factor)); 
  }
}


.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, p{
  margin-bottom: 1rem;
  word-wrap: break-word;
}

body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-family: 'Lato', sans-serif; /* "Lato" als primäre Schriftart */
margin: 0;
background-color: var(--neutral-color);
color: var(--black-color);
font-size: 1rem;
}

h1, h2, h3 {
font-family: 'Lato', sans-serif; /* "Lato" als primäre Schriftart */
font-weight: 800; /* Lato Bold */
color: var(--primary-color);

}

h2, h2 > a,
h3, h3 > a {
color: var(--primary-color);
}

/* Paragraph styling */
p {
line-height: 1.5; 
color: var(--black-color);
}

/*END FONTS*/

/* Unordered list styling */
ul {
  padding: 0;
  list-style: inside url('/static/media/symbol/ul_icon.svg');
}

ul li {
  padding-left: 1rem; /* You can adjust this value to add some space on the left */
  line-height: 1.5;
  color: var(--black-color);
  margin-bottom: 0.5rem;
}

/* Link styling */
a {
  color: var(--primary-color);
  text-decoration: none; 
  transition: color 1s ease;
}

a:hover, a:focus {
  color: var(--tertiary-color);
}

picture#profile > *,
picture#picture-banner > * {
  width: 100vw;
}

#picture-banner, .picture-banner{
  background-color: var(--primary-color);
}

.picture-banner > h1{
  position: absolute;
  color: var(--neutral-color);
  text-transform: full-width;
  padding-bottom: 4rem;
}

.picture-banner > h1::before {
  content: unset;
  display: unset;
  width: unset; 
  height: unset; 
  background-color: unset;
  margin-bottom: unset; 
}

.picture-banner h1::after {
  content: '';
  display: block;
  width: 100%;
  height: 6rem;
  background: url('/static/svg/underline_heading.svg') no-repeat center bottom;
  position: absolute;
  bottom: 0;
  left: 0;
}


section.profile-section,
section.picture-banner-section{
  padding: 0;
}


hr{
  width: 100%;
  background-repeat: no-repeat;
  background-position-x: center;
  opacity: 1;
  margin: 1rem 0;
  background-color: unset;
}

hr#hr-1{
  background-repeat: no-repeat;
  background-position-x: center;
}

/* Navbar */
.navbar {
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: full-width;
  z-index: 1000;
}

#navbarLS{
  height: 100vh;
}
@media (max-width: 991px) {
  #navbarLS{
    height: 100dvh;
  }
}

.navbar-light .navbar-nav .nav-link{
  color: var(--primary-color);
}

a.nav-link{
  font-size: 2rem;
}
@media (max-width: 991px) {
  a.nav-link{
  font-size: 1.8rem;
  }
}
@media (max-width: 576px) {
  a.nav-link{
    font-size: 1.6rem;
    }
}

.navbar-nav{
  margin-top: 4rem;
  text-align: center;
}

li.nav-item{
  padding-left: unset;
}
.navbar-light .navbar-nav .nav-link.active, 
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link:focus, 
.navbar-light .navbar-nav .nav-link:hover{
  color: var(--primary-color);
}

/* Spezifische Regel für das Schließsymbol (X) */
.navbar-toggler {
  position: absolute !important;
  top: 1rem;
  right: 1rem;
}

.navbar-light {
  position: fixed;
  width: 100vw;
  padding-right: 1rem;
  background-color: transparent !important;
}

.navbar-light .navbar-toggler {
  border: none;
  background: var(--primary-color);
  color: transparent;
}

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler:focus + .navbar-collapse {
  right: 0;
}

.btn-close{
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232B5F8C'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

section h1:first-of-type{
  margin-top: 2rem;
}

section.picture-banner-section h1:first-of-type{
  margin-top: unset;
}

/*Social Media Icons */
.small-icon {
  width: 2.5rem;
  height: auto;
}

.social-media-icons{
  display: flex;
  align-items: center;
  margin-top: 1rem;
}

.social-media-icons > a{
  margin-right: 2rem;
}

.blog-thumbnail{
  height: calc(100vw/4);
  overflow: hidden;
  display: flex; 
  align-items: center;
}

.blog-content img{
  max-width: 100%;
}

/* Für mobile Ansichten */
@media (max-width: 576px) {
  .blog-thumbnail{
    height: calc(100vw/2);
  }
}


.blog-thumbnail > img{
  width: 100%;
}

/* Für Desktop-Ansichten */
@media (min-width: 992px) {
  .navbar-collapse {
    position: fixed;
    top: 0;
    right: -50vw;
    width: 50vw;
    height: 100vh;
    background-color: var(--neutral-color);
    transition: right 0.3s;
    overflow-y: auto;
  }

  .container-fluid {
    display: flex;
    height: 100vh;
  }

  .container-fluid .row {
    flex: 1;
    display: flex;
    flex-direction: row;
    min-height: 100vh;
  }

  .profile,
  .picture-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }

  .profile picture,
  .picture-banner picture {
    display: block;
    max-width: 100%;
    max-height: 100%;
  }

  .profile img,
  .picture-banner img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .overflow-auto {
    max-height: 100vh;
    overflow-y: auto;
  }

  picture#profile > *,
  picture#picture-banner > *{
    width: 100vw;
    height: 100vh;
  }
  section > .content:first-child{
    padding-top: 4rem;
  }
}

/* Für mobile Ansichten */
@media (max-width: 991px) {
  .navbar-collapse {
    position: fixed;
    top: 0;
    right: -100vw;
    width: 100vw;
    height: 100dvh;
    background-color: var(--neutral-color);
    transition: right 1s;
    overflow-y: auto;
  }

  .profile,
  .picture-banner {
    display: flex;
    align-items: baseline;
    width: 100vw;
    height: 6rem;
    background-color: var(--primary-color);
    overflow: hidden;
  }

  .profile{
    height: 45vh;
  }

  .picture-banner h1{
    text-align: center;
    width: 100vw;
    margin-top: 1rem !important;
  }
  
  .welcome-text, .youtube, .blog-summary {
    display: block;
  }

  .overflow-auto {
    width: 100%;
    height: auto;
    overflow-y: visible;
  }

  section h1:first-of-type{
    margin-top: 1rem;
  }

  img{
    width: 100%;
  }
  section > .content:first-child {
    padding-top: 1rem;
  }
}

@media (max-width: 576px) {
  .picture-banner {
    height: 4.5rem;
  }
  .profile{
    height: 16rem;
  }
  .picture-banner h1{
    margin-top: 1rem !important;
  }
  .picture-banner h1::after {
    content: unset;
    background: unset;
  }
}


/* SVG Styling */
.svg.green {
  fill:#9dbe95;
}

#path-arrow-bottom{
  height: 6rem;
}

#bottom_line_end{
  margin-top: 2rem;
  width: 25%;
}