@import url("https://use.typekit.net/zxt3jep.css");
:root {
  --primary: #3fa535;
  --primary-2: #80ba27;
  --secondary: #e52322;
  --dark: #000000;
  --white: #ffffff;
  --gray: #6e6e6e;
  --lightgray: #f5f7f5;

  --maxWidth: 1200px;
  --padding-x: 30px;

  --font-family: "roboto", sans-serif;
  --font-color: var(--dark);

  --h1: 60px;
  --h2: 45px;
  --h3: 35px;
  --h4: 30px;
  --p: 20px;
  --small: 16px;

  --font-bold: 700;
  --font-medium: 500;
  --font-light: 400;
}

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  font-family: var(--font-family);
}
p,
a,
li,
.nav-links * {
  color: var(--font-color);
  text-decoration: none;
  font-size: var(--p);
  font-weight: var(--font-light);
  line-height: 150%;
}
p {
  --font-color: var(--gray);
}
li {
  --font-color: var(--gray);
}
h1 {
  color: var(--font-color);
  font-size: var(--h1);
  font-weight: var(--font-bold);
  line-height: 120%;
  margin-bottom: 10px;
}
h2 {
  --font-color: var(--gray);
  color: var(--font-color);
  font-size: var(--h2);
  font-weight: var(--font-bold);
  line-height: 130%;
}
h2 strong {
  --font-color: var(--dark);
  color: var(--font-color);
}
.btn {
  background-color: var(--bg-color);
  color: var(--txt-color);
  font-weight: var(--font-bold);
  padding: 5px 10px 7px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  transition: all ease-out .2s;
}
.btn:hover {
  background-color: var(--primary);
}
.btn::after,
.section-wide-img-left .content a::after,
footer > div > div:last-of-type a::after {
  content: url("/images/icons/square-up-right-regular.svg");
  width: 20px;
  height: 23px;
  display: block;
}
.section-block-img-left .content a::after {
  content: url("/images/icons/square-up-right-regular-dark.svg");
  width: 20px;
  height: 21px;
  display: block;
}
.btn-primary {
  --bg-color: var(--primary);
  --txt-color: var(--white);
}
.btn-primary:hover {
	--bg-color: var(--primary);
  	color: var(--white);
	text-decoration: none;
}
.btn-primary-2 {
  --bg-color: var(--primary-2);
  --txt-color: var(--white);
}
.btn-secondary {
  --bg-color: transparent;
  --txt-color: var(--white);
  border: 1px solid var(--txt-color);
}
.action-buttons {
  --font-color: var(--white);
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.max-width {
  max-width: var(--maxWidth);
  width: 100%;
}
.main-title {
  position: relative;
  background-color: var(--secondary);
  padding: 30px;
  color: var(--white);
  width: fit-content;
  max-width: 400px;
  font-size: var(--h3);
  display: flex;
  align-items: center;
}
.main-title::before {
  content: "";
  background-color: var(--secondary);
  position: absolute;
  top: 0;
  right: 100%;
  min-width: 60px;
  width: calc(100vw - var(--maxWidth) / 2);
  height: 100%;
}
.grid {
  display: grid;
  gap: 30px;
}
.cols-3 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
.cols-2 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
}
.grid img {
  width: 100%;
  height: auto;
}
main {
  overflow-x: hidden;
  margin-top: -100px;
}
nav,
section,
footer,
.sub-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--padding-x) var(--padding-x);
}
section {
  padding: 200px var(--padding-x);
}

nav {
  border-bottom: 5px solid var(--primary-2);
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  background-color: var(--white);
  z-index: 900;
  padding-top: 0px;
  padding-bottom: 0px;
}
nav .max-width {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
}
nav .logo {
  max-width: 200px;
  width: 100%;
}
nav .nav-links {
  flex-grow: 1;
}
nav .nav-links ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: end;
  gap: 4%;
  width: 100%;
}
nav .nav-links li {
  list-style: none;
}
nav .nav-links li a:not(.btn):hover {
  color: var(--primary);
  text-decoration: none;
}
nav .nav-links li.current a {
  font-weight: var(--font-bold);
  color: var(--primary);
}
nav .mod-menu__sub.mod-menu__sub {
  border-top: 5px solid var(--primary-2);
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--white);
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: nowrap;
  padding: 30px var(--padding-x);
  translate: 0 -150%;
  transition: all ease-out 0.2s;
  z-index: -1;
}
nav .mod-menu__sub.mod-menu__sub > div {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 5px;
  flex-grow: 1;
}
nav .mod-menu__sub h5 {
  font-size: var(--small);
  font-weight: var(--font-bold);
  color: var(--dark);
}
nav .mod-menu__sub a {
  font-size: var(--small);
}
nav .nav-item:has(.mod-menu__sub) {
  padding: 40px 0;
}
nav .nav-item:has(.mod-menu__sub):hover .mod-menu__sub {
  translate: 0 0 !important;
}

header {
  --font-color: var(--lightgray);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 100px var(--padding-x);
  padding-top: 200px;
  min-height: 90vh;
}
header::after {
  content: "";
  background-color: var(--dark);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  mix-blend-mode: darken;
  opacity: 0.4;
}
header .max-width {
  padding-bottom: 100px;
}
header .video,
header .bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}
header .bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
header p {
  --font-color: var(--lightgray);
}
header .video video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
header .header-content {
  max-width: 800px;
  width: 100%;
  z-index: +1;
  position: relative;
}
header .features {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--white);
  z-index: +1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 30px var(--padding-x);
}
header .features p {
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
header .features p img {
  width: 14px;
}
header.header-style-2 {
  min-height: 400px;
  padding-bottom: 50px;
  padding-top: 300px;
}
.header-style-2 .header-content {
  display: flex;
  gap: 30px;
  max-width: 100%;
}
.header-style-2 .main-title {
  z-index: +1;
}
.header-style-2 .header-content .content h2 {
  --font-color: var(--white);
  z-index: -1;
  position: relative;
}
.header-style-2 .max-width {
  place-self: end;
}

section .section-content h2 {
  padding: 30px 0;
}
section .section-content .grid {
  margin-top: 100px;
}
section .section-content .grid .card .image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
section .section-content .grid .card .fa-solid {
  position: absolute;
  top: 120%;
  left: 50%;
  translate: -50% -50%;
  background-color: var(--primary-2);
  border-radius: 50%;
  color: var(--white);
  padding: 10px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all ease-out 0.2s;
}

section .section-content .grid .card:hover .fa-solid {
  top: 50%;
  opacity: 1;
}
section .section-content .grid .card h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
section:not(:first-of-type):has(.img-right-full-width),
section:not(:first-of-type):has(.section-block-img-left),
section:not(:first-of-type):has(.section-block-logos-right),
section:not(:first-of-type):has(.section-wide-img-left) {
  padding-top: 80px;
  padding-bottom: 80px;
}
section:first-of-type:has(.img-right-full-width),
section:first-of-type:has(.section-block-img-left),
section:first-of-type:has(.section-block-logos-right),
section:first-of-type:has(.section-wide-img-left) {
  padding-bottom: 80px;
}
section:last-of-type:has(.img-right-full-width),
section:last-of-type:has(.section-block-img-left),
section:last-of-type:has(.section-block-logos-right),
section:last-of-type:has(.section-wide-img-left) {
  padding-top: 80px;
  padding-bottom: 200px;
}
.img-right-full-width,
.section-block-img-left {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 40px;
}
.section-block-logos-right,
.section-wide-img-left {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 40px;
}
.img-right-full-width img,
.section-block-img-left img,
.section-block-logos-right img,
.section-wide-img-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-block-img-left .content,
.section-block-logos-right .content,
.img-right-full-width img,
.section-wide-img-left img {
  box-shadow: 3px 3px 50px -20px #00000080;
}
.section-block-img-left .content {
  background-color: var(--primary-2);
  padding: 30px;
}
.section-block-logos-right .content {
  background-color: var(--primary);
  padding: 30px;
}
.section-block-img-left .content p,
.section-block-img-left .content h2 strong,
.section-block-logos-right .content p,
.section-block-logos-right .content h2 strong {
  --font-color: var(--white);
}
.section-block-img-left .content h2,
.img-right-full-width .content h2,
.section-wide-img-left .content h2,
.section-block-logos-right .content h2 {
  margin-bottom: 20px;
}
.section-block-img-left .content a,
.img-right-full-width .content a,
.section-block-logos-right .content a {
  --font-color: var(--dark);
  background-color: var(--white);
  padding: 5px 10px 7px 10px;
  font-size: var(--small);
  margin-top: 20px;
  display: flex;
  gap: 10px;
  align-items: center;
  width: fit-content;
  transition: all ease-out 0.3s;
}
.section-block-img-left .content a:hover,
.img-right-full-width .content a:hover,
.section-block-logos-right .content a:hover {
  --font-color: var(--white);
  background-color: var(--dark);
}
.section-block-img-left .content a:hover::after,
.img-right-full-width .content a:hover::after,
.section-block-logos-right .content a:hover::after {
  content: url("/images/icons/square-up-right-regular.svg");
}
.img-right-full-width .content,
.section-wide-img-left .content {
  translate: 0 100px;
}

.section-wide-img-left .content a {
  --font-color: var(--white);
  background-color: var(--primary-2);
  padding: 5px 10px 7px 10px;
  font-size: var(--small);
  margin-top: 20px;
  display: flex;
  gap: 10px;
  align-items: center;
  width: fit-content;
  transition: all ease-out 0.3s;
}
.section-wide-img-left .content a:hover {
  background-color: var(--primary);
}
.section-wide-img-left .image,
.img-right-full-width .image {
  position: relative;
}
.section-wide-img-left .image img {
  position: absolute;
  right: 0;
  bottom: 0;
}
.img-right-full-width .image img {
  position: absolute;
  left: 0;
  bottom: 0;
}
.section-wide-img-left,
.img-right-full-width {
  height: 700px;
}

.section-block-img-left,
.img-right-full-width,
.section-block-logos-right,
.section-wide-img-left {
  --maxWidth: 1000px;
}
.section-block-img-left .content,
.section-block-logos-right .content {
  place-self: end;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.img-right-full-width .content,
.section-wide-img-left .content {
  place-self: end;
  width: 100%;
  height: fit-content;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.section-block-logos-right .logos {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
}
.section-block-logos-right .logos a {
  display: block;
  width: 100%;
  height: auto;
}
.section-block-logos-right .logos a img {
  width: 100%;
  height: auto;
}
.section-block-logos-right .content li {
  --font-color: var(--white);
  margin: 20px 0;
  margin-left: 20px;
}

.ueber-uns-section {
  position: relative;
  padding: 100px var(--padding-x);
  min-height: 600px;
}

.ueber-uns-section img {
  position: absolute;
  top: 0;
  left: 0;
  width: 50vw;
  height: auto;
  object-fit: cover;
  z-index: -1;
}
section.ueber-uns-section .grid {
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
section.ueber-uns-section .grid > * {
  grid-column: 2;
}
.ueber-uns-section .grid > div {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
section.ueber-uns-section .grid > div:first-of-type .btn {
  margin-top: 30px;
}
.ueber-uns-section p {
  --font-color: var(--gray);
}
.ueber-uns-section h2,
.ueber-uns-section h3,
.ueber-uns-section p strong {
  --font-color: var(--dark);
  color: var(--font-color);
}
.ueber-uns-section h3 {
  font-size: var(--h3);
}
.ueber-uns-section i {
  color: var(--primary);
  font-size: 20px;
}

.ueber-uns-section .grid > div > div {
  display: flex;
  align-items: center;
  gap: 10px;
}
.chrut-und-chabis-section {
  width: 100vw;
  margin-top: 60px;
}
.chrut-und-chabis-section .card,
.chrut-chabis .card {
  background-color: var(--lightgray);
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}

.chrut-und-chabis-section .card a,
.chrut-und-chabis-section .card p,
.chrut-chabis .card a,
.chrut-chabis .card p {
  font-size: 16px;
  color: var(--font-color);
}
.chrut-und-chabis-section .card a,
.chrut-chabis .card a {
  --text-color: var(--primary-2);
}

.chrut-chabis .card a.btn {
  color: var(--white);
}
.chrut-und-chabis-section .badge,
.chrut-chabis .badge {
  --text-color: var(--white);
  color: var(--text-color);
  background-color: var(--primary-2);
  padding: 2px 10px;
  border-radius: 10px;
  width: fit-content;
  font-size: 12px;
}
section:has(.chrut-und-chabis-section) .section-content > .btn {
  --bg-color: var(--primary-2);
  margin-top: 100px;
}

.contact-form-wrapper {
  display: flex;
  gap: 30px;
  margin-top: 100px;
}
.contact-form-wrapper .contact-form {
  width: 60%;
}
.contact-form form input,
.contact-form form textarea,
.contact-form form select {
  border: 2px solid var(--dark) !important;
  padding: 10px 15px 8px 15px;
  width: 100%;
}
.contact-form form textarea {
  resize: vertical;
  height: 180px;
}
.contact-form form input::placeholder,
.contact-form form textarea::placeholder {
  font-size: var(--small);
  color: var(--gray);
}
.contact-form-wrapper .contact-informations {
  background-color: var(--primary-2);
  padding: 50px;
}
.contact-form-wrapper .contact-informations h3,
.contact-form-wrapper .contact-informations p {
  color: var(--white);
}
.contact-form-wrapper .contact-informations h3 {
  font-size: var(--h3);
  margin-bottom: 30px;
}
.contact-form form .grid.cols-2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
  gap: 15px;
  margin-top: 0px;
}
.contact-form form > div:has(.grid) > div {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.contact-form form .grid.cols-2 > div {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.contact-form form > div:has(.grid) {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: end;
}
.contact-form div:has(> [type="submit"]) {
  width: fit-content;
  align-self: end;
}
.uk-button-primary,
.uk-button-primary:hover {
  background-color: transparent;
  color: inherit;
  font-size: var(--p);
}
div:has(> .uk-button-primary) {
  background-color: var(--secondary);
  color: var(--white);
}

.chrut-chabis .section-content h2 {
  margin-bottom: 100px;
}
.chrut-chabis .section-content h3:not(.card h3) {
  font-size: var(--h3);
}
.chrut-chabis .section-content .card h3 {
  font-size: var(--h4);
}
.chrut-chabis .section-content .grid .card:first-of-type {
  background-color: var(--primary);
}
.chrut-chabis .section-content .grid .card:first-of-type h3,
.chrut-chabis .section-content .grid .card:first-of-type p {
  color: var(--white);
}
.chrut-chabis .grid {
  position: relative;
}
#anchor {
  position: absolute;
  top: -40vh;
  width: 100px;
  height: 20px;
}
.pagination {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 100px;
}
.pagination a {
  width: 40px;
  height: 40px;
  display: flex;
  border: 2px solid var(--primary);
  align-items: center;
  justify-content: center;
  color: var(--primary);
  font-weight: var(--font-bold);
}
.pagination a.active {
  background-color: var(--primary);
  color: var(--white);
}

.home .section-content > h3,
.home .section-content > p,
.home .chrut-und-chabis-section:first-of-type {
  display: none;
}

footer {
  box-shadow: 0 0 50px -30px var(--gray);
}
footer .max-width {
  max-width: 100%;
}
footer > div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
}
footer > div > div {
  max-width: 300px;
}
footer img {
  max-width: 250px;
  height: auto;
}
footer a,
footer p {
  font-size: 16px;
}
footer h3 {
  font-size: 18px;
  margin-bottom: 10px;
}
footer > div > div:first-of-type {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
footer > div > div:last-of-type a {
  background-color: var(--primary-2);
  color: var(--white);
  padding: 5px 10px 7px 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  width: fit-content;
  margin-top: 20px;
  transition: all ease-out .2s;
}
footer > div > div:last-of-type a:hover {
  background-color: var(--primary);
}
.sub-footer {
  background-color: var(--primary-2);
  padding: 20px var(--padding-x);
}
.sub-footer .max-width {
  max-width: 100%;
}
.sub-footer > div {
  display: flex;
  gap: 30px;
  align-items: center;
}
.sub-footer a {
  font-size: 16px;
  color: var(--white);
}
@media screen and (max-width: 1200px) {
  nav .mod-menu__sub.mod-menu__sub {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 970px) {
  .section-block-logos-right {
    grid-template-columns: 1fr;
  }
  .section-block-logos-right .logos {
    flex-direction: row;
  }
  .section-block-logos-right .logos a {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 880px) {
  .ueber-uns-section::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100%;
    background-color: var(--dark);
    z-index: -1;
    mix-blend-mode: multiply;
    opacity: 0.6;
  }
  section.ueber-uns-section .grid {
    grid-template-columns: 1fr;
  }
  section.ueber-uns-section .grid > div {
    grid-column: 1;
  }
  .ueber-uns-section img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
  }
  .ueber-uns-section p {
    --font-color: var(--lightgray);
  }
  .ueber-uns-section h2,
  .ueber-uns-section h3,
  .ueber-uns-section p strong {
    --font-color: var(--white);
  }
  .section-block-img-left {
    grid-template-columns: 1fr;
  }
  .section-block-img-left img {
    height: 300px;
    grid-row: 2;
  }
}
@media screen and (max-width: 690px) {
  .img-right-full-width,
  .section-wide-img-left {
    grid-template-columns: 1fr;
    height: auto;
  }
  .img-right-full-width .image,
  .section-wide-img-left .image {
    height: 300px;
  }
  .section-wide-img-left .image {
    margin-bottom: 60px;
  }
  .header-style-2 .header-content {
    flex-wrap: wrap;
  }
  section {
    padding: 100px var(--padding-x);
  }
}
