@import url("navigation.css");

/* General link styles */
a {
  text-decoration: none;
  color: #000000;
}

/* Header styles */
.header img {
  float: right;
  width: 100px;
  height: 100px;
}

.header h1 {
  position: relative;
}

/* Equal-height container using flexbox */
.equal-height {
  display: flex;
  flex: 1;
}

/* Subtle shadow effect */
.navbar, .card, .dropdown-menu {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* Card styles */
.navbar, .card {
  flex: 1; /* Ensures cards fill the height of their container */
  border-radius: 5px; /* Rounded corners */
  border: 1px solid #ccc; /* Optional border color */
  padding: 10px; /* Inner spacing */
  color: #000000 !important;
  background-color: #f9f9f9;
}

.card {
  transition: background-color 1s ease, transform 1s ease;
  transition: color 1s ease, transform 1s ease;
}

.card:hover {
  /* invert everything inside the card */
  filter: invert(0.8) hue-rotate(144deg);
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.card-body {
  display: flex;
  flex-direction: column;
  align-items: center; /* Center content horizontally */
  text-align: center; /* Center text alignment */
}

.card-icon {
  display: flex;
  justify-content: center; /* Center the icon horizontally */
}

.card-text,
.card ul {
  text-align: left; /* Align text to the left */
}

.card-column {
  padding-top: 12px;
  padding-bottom: 12px;
}

.card .stretched-link {
  font-size: 0.7em;
}

h3.card-title {
  font-size: 1.3em;
}

/* Footer styles */
.footer {
  text-align: center;
  font-size: 0.7em;
}

.footer p,
.footer h3 {
  margin: 0;
  padding: 0;
}

h3.footer-title {
  font-size: 1.3em;
}

.card-img-top i, .card-img-top svg{
  font-size: 100px;
  fill: currentColor;
  width: 100px;
  height: auto;
}

div#navbarNavheader li.nav-item {
  margin-left: 6px;
}

div#navbarNavfooter li.nav-item {
  margin-right: 6px;
}

main, footer, header, nav {
  position: relative;
  box-shadow: 
    /* Inner shadow */
    inset 10px 0 10px -10px rgba(0, 0, 0, 0.3),  /* Left inner shadow */
    inset -10px 0 10px -10px rgba(0, 0, 0, 0.3), /* Right inner shadow */
    /* Outer shadow */
    10px 0 10px -10px rgba(0, 0, 0, 0.3),  /* Right outer shadow */
    -10px 0 10px -10px rgba(0, 0, 0, 0.3); /* Left outer shadow */
  overflow: visible;
}

header{
  padding: 12px;
}

header,
footer {
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: 0;
  z-index: 1030;
  background-color: var(--bs-light);
}

/* at the end of default.css */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

iframe{
  margin-bottom: -10px;
}

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

:root {
  --anim-duration: 3s;          /* Basis-Dauer */
}

.container,
.container-fluid {
  transition: 
    max-width var(--anim-duration) ease-in-out,
    padding-left var(--anim-duration) ease-in-out,
    padding-right var(--anim-duration) ease-in-out;
}

#navbar_logo {
  /* start invisible but in the layout (d-none will actually hide it) */
  opacity: 0;
  transition: opacity var(--anim-duration) ease-in-out;
}

#navbar_logo.visible {
  opacity: 1 !important;
}


/* 1. Make sure headers and footers can collapse */
header,
footer {
  overflow: hidden;
  /* choose a max-height that’s >= your tallest header/footer */
  max-height: 200px;
  padding: 1rem;
  transition:
    max-height var(--anim-duration) ease-in-out,
    padding var(--anim-duration) ease-in-out;
}

/* 2. In fullscreen mode, collapse them */
body.fullscreen header,
body.fullscreen footer {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}