@font-face {
  font-family: DMSerif;
  src: url(../fonts/DMSerif.ttf);
  font-display: swap;
}

@font-face {
  font-family: Jost;
  src: url(../fonts/Jost.ttf);
  font-display: swap;
}

::-moz-selection { /* Code for Firefox */
  background: #ecf3d5;
}

::selection {
  background: #ecf3d5;
}

a {
  text-decoration: none;
  color: #003f5a;
}

h1 {
  font-family: "DMSerif";
  font-style: normal;
  font-weight: 400;
  font-size: 50px;
  line-height: 140%;
  text-align: center;
  color: #003f5a;
}

h2 {
  font-family: "DMSerif";
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  color: #003f5a;
}

h3 {
  font-family: "DMSerif";
  font-style: normal;
  font-weight: 400;
  font-size: 25px;
  line-height: 125%;
  align-items: center;
  color: #003f5a;
}

h4 {
  font-family: "Jost";
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  line-height: 180%;
  text-align: center;
  color: #003f5a;
}

h5 {
  font-family: "Jost";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  color: #003f5a;
}

p {
  font-family: "Jost";
  margin-bottom: 0px;
}

span {
  font-family: "Jost";
}

.navbar {
  padding-top: 24px;
  padding-bottom: 24px;
  background-color: #fff !important;
  border-bottom: 1px solid #cbd9de;
}

.navbar-toggler {
  border: none;
  background-color: #ccd9de;
}

.navbar-toggler-icon {
  background-image: url(../img/menu.svg) !important;
}

.navbar-collapse {
  flex-grow: 0;
}

.navbar-nav {
  flex-direction: row;
  gap: 56px;
}

.nav-link {
  font-family: "DMSerif";
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 180%;
  color: #003f5a !important;
}

.nav-link:hover {
  color: #a1c52c !important;
}

.navbar .active {
  text-decoration: underline;
  color: #003f5a !important;
}

.headlines {
  margin-top: 96px;
  margin-bottom: 64px;
}

.uppercase-headline {
  font-family: "Jost";
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 170%;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #a1c52c;
}

main {
  margin-bottom: 196px;
}

.cta-button {
  margin-top: 96px;
}

.button-primary {
  display: inline-flex;
  padding: 24px 28px;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 18px;
  background: var(--caballito-primary-500, #A1C52C);
  box-shadow: 0px 10px 20px 0px rgba(192, 192, 192, 0.35);
  color: #FFF;
  text-align: center;
  font-family: "Jost";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 125%;
  letter-spacing: 0.36px;
}

.button-primary:hover {
  border-radius: 18px;
  background: #FFF;
  box-shadow: 0px 10px 20px 0px rgba(192, 192, 192, 0.35);
  color: #A1C52C;
  text-decoration: none;
}

.button-primary:hover .button-icon path {
  fill: #B4D156;
}

.functions {
  margin-top: 196px;
  text-align: left;
}

.headline-color-secondary {
  font-family: "DMSerif";
  color: #668c9c;
}

.card-list {
  margin-top: 48px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.card {
  display: flex;
  padding: 48px 24px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex-shrink: 0;
  border-radius: 12px;
  border: 1px solid rgba(204, 217, 222, 0.5);
  background: #fff;
  box-shadow: 0px 8px 50px 0px rgba(18, 17, 39, 0.08);
}

.card-icon {
  width: 64px;
  height: 64px;
}

.card-text {
  font-family: "Jost";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  color: #33657b;
}

footer {
  background-color: rgba(204, 217, 222, 0.3);
}

footer .nav-link {
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 140%;
  align-items: center;
  letter-spacing: 0.01em;
  color: #33657b !important;
}

footer span {
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 140%;
  align-items: center;
  letter-spacing: 0.01em;
  color: #33657b;
}

footer .nav-link:hover {
  color: #a1c52c;
}

.copyright {
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 150%;
  align-items: center;
  letter-spacing: 0.01em;
  color: #33657b;
}

/* Unser Team */

.intro-text {
  margin: auto;
  max-width: 746px;
  text-align: left;
  font-family: Jost;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  color: #33657b;
}

.team {
  margin-top: 196px;
}

.team-member {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 64px;
  min-height: 520px;
}

.team-image {
  border-radius: 50px;
  background-image: url(../img/team/Mathias.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 520px;
}

.team-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.team-person {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.team-name {
  color: #003f5a;
  font-family: "DMSerif";
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 125%;
}

.team-title {
  color: #a1c52c;
  font-family: "Jost";
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.22px;
}

.team-description {
  color: #33657b;
  font-family: "Jost";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  list-style-type: disc;
  padding-left: 20px;
}

.our-partner {
  margin-top: 196px;
}

.partner-list {
  margin-top: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 136px;
}

.partner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.partner-type {
  color: #668c9c;
  text-align: center;
  font-family: "DMSerif";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 125%;
}

.partner-logo {
  height: 67px;
}

/* Impressum */

.impressum {
  color: #33657b;
  text-align: left !important;
  font-size: 18px;
}

.impressum .semibold {
  font-weight: 600;
  color: #003f5a;
}

.impressum .impressum-text {
  margin-bottom: 12px;
}

.impressum .impressum-link {
  color: #a1c52c;
}

.impressum .impressum-link:hover {
  color: #003f5a;
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  .navbar-nav {
    flex-direction: column;
    gap: 12px;
    text-align: right;
  }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.99px) {
  h1 {
    font-size: 32px;
  }

  .uppercase-headline {
    font-size: 12px;
  }

  .header-img {
    height: 64px !important;
  }

  .text-center-sm {
    text-align: center !important;
    justify-content: center;
  }

  .footer-section {
    justify-content: center !important;
    margin-bottom: 24px;
  }

  .footer-logo {
    justify-content: center;
  }
}
