:root, [data-bs-theme=tfo] {
  --bs-tfo-darkblue: #010020;
  --bs-tfo-blue: #0a779e;
  --bs-tfo-blue-darkened: #064e68;
  --bs-tfo-blue-lighted: #59a0ba;
  --bs-tfo-blue-lighter: #bce3f1;
  --bs-tfo-white: #fff;
  --bs-font-sans-serif: "Cairo", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-body-bg: var(--bs-tfo-white);
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-color: var(--bs-tfo-darkblue);
  --bs-nav-link-font-size: calc(var(--bs-body-font-size) * 1.5);
  --bs-nav-link-font-weight: 400;
  --bs-border-radius: 0.4rem;
  --bs-box-shadow: 0.25rem 0.25rem 1rem rgba(0, 0, 0, 0.15);
}

.bg-dark, .tfo-section-dark {
  background-color: var(--bs-tfo-darkblue)!important;
  color: var(--bs-tfo-white)!important;
}

.tfo-section-light {
  background-color: var(--bs-tfo-white)!important;
  color: var(--bs-body-color)!important;
}

.radial-gradients {
  background-image: radial-gradient(circle at 30% 30%, var(--bs-tfo-blue) 0%, transparent 14%), radial-gradient(circle at 100% 90%, var(--bs-tfo-blue) 0%, transparent 28%);
}

.radial-gradient-lower-right {
  background-image: radial-gradient(circle at 100% 90%, var(--bs-tfo-blue) 0%, transparent 28%);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  margin-top: calc(var(--bs-body-font-size) * 2);
  margin-bottom: calc(var(--bs-body-font-size));
}

.big-text-125 {
  font-size: calc(var(--bs-body-font-size) * 1.25);
  line-height: calc(var(--bs-body-line-height) +0.5rem);
}

.big-text-175 {
  font-size: calc(var(--bs-body-font-size) * 1.75);
  line-height: calc(var(--bs-body-line-height) +0.75rem);
}

.btn-primary {
  --bs-btn-bg: var(--bs-tfo-blue);
  --bs-btn-border-color: var(--bs-tfo-darkblue);
  --bs-btn-hover-bg: var(--bs-tfo-blue-darkened);
  --bs-btn-hover-border-color: var(--bs-tfo-darkblue);
  --bs-btn-focus-shadow-rgb: 85, 122, 246;
  --bs-btn-active-bg: var(--bs-tfo-blue-darkened);
  --bs-btn-active-border-color: var(--bs-tfo-darkblue);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-bg: var(--bs-tfo-blue-lighted);
  --bs-btn-disabled-border-color: var(--bs-tfo-blue);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 2.5rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: 0.5rem;
}

/* tFo Logo */

.tfo-logo-svg {
  height: 1.25rem;
  width: auto;
  vertical-align: center;
  margin-bottom: 0.25rem;
}

#tfo-logo-big-100 {
  height: calc(var(--bs-body-font-size) * 1.0 + 0.25rem);
}

#tfo-logo-big-125 {
  height: calc(var(--bs-body-font-size) * 1.25 + 0.25rem);
}

#tfo-logo-big-175 {
  height: calc(var(--bs-body-font-size) * 1.75 + 0.25rem);
}

/* Navbar */

.language-selector {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: rgba(255,255,255,.85);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
}

.language-selector .selected {
  cursor: default;
  font-weight: 700;
}

.language-selector .non-selected {
  cursor: pointer;
}

.language-selector .non-selected:hover {
  color: var(--bs-tfo-white);
}

/* .nav-link.active {
  background-color: var(--bs-tfo-white);  
} */

/* Footer */

footer ul li a {
  color: rgba(255,255,255,.85);
}

.footer-icon {
  font-size: var(--bs-nav-link-font-size);
}

@media (min-width: 992px) {
  .footer-icon {
    margin-right: 1rem;
  }
}

/* Responsive Max-Width for containers */

.max-width-container {
  max-width: 100%;
}

/* md breakpoint */

@media (min-width: 768px) {
  .max-width-container {
    max-width: 90%;
  }
}

/* lg breakpoint */

@media (min-width: 992px) {
  .max-width-container {
    max-width: 80%;
  }
}

/* xl breakpoint */

@media (min-width: 1200px) {
  .max-width-container {
    max-width: 75%;
  }
}

/* Min-with for Columns to wrap if it gets smaller */

.min-width-500 {
  min-width: 500px;
}

/* Header-Section */

/* Header Logo + ggf. Animation */

.tfo-header-logo-non-animation {
  height: 30VH;
}

.tfo-header-logo-animation {
  height: 30VH;
}

/* md breakpoint */

@media (min-width: 768px) {
  .tfo-header-logo-animation {
    height: 50VH;
  }
}

.tfo-header-logo-animation img, .tfo-header-logo-non-animation img {
  width: 346px;
  height: auto;
  margin-right: 26px;
}

.tfo-header-logo-animation h1, .tfo-header-logo-non-animation h1 {
  font-size: 2.0rem;
  font-weight: 700;
}

/* md breakpoint */

@media (min-width: 768px) {
  .tfo-header-logo-animation h1, .tfo-header-logo-non-animation h1 {
    font-size: 3.5rem;
  }
}

.div-non-animation {
  min-width: 450px;
  width: auto;
  height: auto;
}

.tfo-header-logo-non-animation .div-non-animation h1 {
  margin-bottom: 2.0rem;
}

/* md breakpoint */

@media (min-width: 768px) {
  .tfo-header-logo-non-animation .div-non-animation h1 {
    padding-left: 0px;
  }
}

.div-animation {
  min-width: 450px;
  width: auto;
  display: flex;
  position: relative;
  overflow: visible;
  height: auto;
}

.tfo-header-logo-animation .div-animation h1, .h1 {
  padding-top: 2.0rem;
  padding-bottom: 2.0rem;
}

/* md breakpoint */

@media (min-width: 768px) {
  .tfo-header-logo-animation .div-animation h1, .h1 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

.word-animations {
  position: relative;
  height: 8rem;
  overflow: hidden;
}

.word {
  position: absolute;
  width: 100%;
  height: 145%;
  margin: 0;
  opacity: 0;
  transform: translateY(-100%);
  animation: wordAnimationTranslate 9s linear infinite 0s, wordAnimationOpacity 9s linear infinite 0s;
}

.word:nth-child(2) {
  animation-delay: 3s;
}

.word:nth-child(3) {
  animation-delay: 6s;
}

@keyframes wordAnimationTranslate {
  0% {
    transform: translateY(-100%);
  }
  45%, 55% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}

@keyframes wordAnimationOpacity {
  0%, 20% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  85%, 100% {
    opacity: 0;
  }
}

/* Sub-Header */

.tfo-sub-header {
  display: block;
  align-self: flex-start;
  font-weight: 700;
  width: 100%;
}

/* lg breakpoint */

@media (min-width: 992px) {
  .tfo-sub-header {
    width: 65%;
  }
}

/* Main-Section */

.enumeration {
  text-align: left;
  vertical-align: top;
}

.enumeration-row {
  margin-left: auto;
  padding-bottom: 0.25rem;
  width: 100%;
}

/* lg breakpoint */

@media (min-width: 992px) {
  .enumeration-row {
    padding-bottom: 1rem;
    width: 65%;
  }
}

.enumeration .sub-enum {
  padding-top: 3rem;
}

.enumeration .icon-col {
  color: var(--bs-tfo-blue);
  font-size: 1.0rem;
  font-weight: 700;
  flex: 0 0 auto;
  width: auto;
}

.enumeration .text-col {
  width: auto;
}

/* CTA */

.cta-footer {
  margin-bottom: 0rem;
  max-width: 100%;
}

/* md breakpoint */

@media (min-width: 768px) {
  .cta-footer {
    max-width: 90%;
  }
}

/* lg breakpoint */

@media (min-width: 992px) {
  .cta-footer {
    max-width: 80%;
  }
}

/* xl breakpoint */

@media (min-width: 1200px) {
  .cta-footer {
    max-width: 60%;
  }
}

.cta-footer .text-col {
  width: 60%;
}

.cta-footer .image-col {
  width: 40%;
  background-image: url("../../assets/img/florian-cta.png");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Accodion */

.accordion {
  --bs-accordion-active-bg: var(--bs-tfo-blue);
  --bs-accordion-active-color: var(--bs-tfo-white);
  --bs-accordion-btn-focus-border-color: : var(--bs-tfo-blue);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(55, 55, 55, 0.25);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23010020'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23010020'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion h2 {
  margin-top: 0;
  font-size: 1.25rem;
  font-weight: bold;
}

.accordion-button {
  font-size: 1.25rem;
  font-weight: 700;
  font-weight: bold;
}

.accordion-button:focus {
  outline: none;
  box-shadow: none;
}

.accordion .row {
  margin-left: 0;
  padding-bottom: 0.25rem;
  width: 100%;
}

/* Card */

.card {
  background-color: var(--ref-gray-100);
}

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}

