/*
Theme Name: Minnebusch Theme
Author: Eillinghoff
Author URI: http://eillinghoff.de
Description: Ein individuelles WordPress-Theme für Minnebusch.
Version: 1.0
Text Domain: minnebusch.eillinghoff.de
Tags: architecture, modern, minimal, responsive
*/

@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");
/* Bauhaus Std */
@font-face {
  font-family: "Bauhaus_Std";
  src: url("../fonts/bauhaus-font/BauhausStd-Light.otf") format("opentype");
  font-weight: 100;
}
@font-face {
  font-family: "Bauhaus_Std";
  src: url("../fonts/bauhaus-font/BauhausStd-Medium.otf") format("opentype");
  font-weight: 200;
}
@font-face {
  font-family: "Bauhaus_Std";
  src: url("../fonts/bauhaus-font/BauhausStd-Bold.otf") format("opentype");
  font-weight: 300;
}
@font-face {
  font-family: "Bauhaus_Std";
  src: url("../fonts/bauhaus-font/BauhausStd-Demi.otf") format("opentype");
  font-weight: 400;
}
@font-face {
  font-family: "Bauhaus_Std";
  src: url("../fonts/bauhaus-font/BauhausStd-Heavy.otf") format("opentype");
  font-weight: 600;
}
/* Define color variables */
:root {
  --primary-color: #00317f;
  --secondary-color: #4f7fc0;
  --dark-color: #303130;
  --red-light: #f2eae7;
  --section-bg: #f9f9f9;
}
/* IMport fonts */
/* General Styles */
/* ======================================== */
/* ============  RESET ==================== */
/* ======================================== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
}
/* Usage */
body {
  font-family: "Source Sans 3", sans-serif;
  position: relative;
  overflow-x: hidden;
  width: 100%;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
  cursor: pointer !important;
  font-weight: 300;
}
.img-fluid {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.small-img {
  max-height: 350px;
  object-fit: cover;
}
.small-img-270 {
  max-height: 270px;
  object-fit: cover;
}
input {
  width: 100%;
  outline: none;
}

button {
  cursor: pointer;
}
.bg-secondary {
  background-color: red !important;
}
/* Container Utility */
.small-container {
  width: 100%;
  max-width: 1364px;
  margin-left: auto;
  margin-right: auto;
  padding-inline: 20px;
}
.container {
  width: 100%;
  max-width: 1640px;
  margin-left: auto;
  margin-right: auto;
  padding-inline: 20px;
}

.full-container {
  width: 100vw;
  margin: 0 auto;
}

/* FONT-SIZE */
/* General heading styles */
/* Main Title  33px */
.f-bauhaus {
  font-family: "Bauhaus_Std", sans-serif !important;
}
.title {
  font-size: 33px;
  color: var(--primary-color);
  line-height: 1.2;
  font-weight: bold;
}
/* Heading Primary 24px */
.h-primary,
.h-primary p {
  font-size: 25px !important;
  font-weight: 400;
  color: var(--secondary-color);
  line-height: 1.2;
}
/* Heading Secondary 35px */

.h-secondary {
  font-size: 25px;
  font-weight: 300;
  color: var(--secondary-color);
}
/* Heading Tertiary 30px */
.h-tertiary {
  font-size: 20px;
  font-weight: 400;
  color: var(--secondary-color);
}
/* subheading  25px semibold*/

.subheading {
  font-size: 16px;
  font-weight: 400;
  color: var(--primary-color);
  /* font-family: "Bauhaus_Std", sans-serif !important; */
  font-family: "Source Sans 3", sans-serif !important;
}

/* Paragraph 16px */
.p {
  font-size: 17px;
  font-weight: 300;
  color: var(--dark-color);
  line-height: 1.5;
}

/* Buttons */
.buttons {
  margin-top: 30px;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
}
.btn {
  padding-top: 16px !important;
  padding-block: 12px !important;
  padding-inline: 28px !important;
  outline: none !important;
  border: none !important;
  font-size: 18px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  max-width: fit-content !important;
  transition: all 0.3s ease !important;
  background-color: var(--primary-color) !important;
  color: white !important;
}
.btn:hover {
  background-color: var(--secondary-color) !important;
  transition: all 0.3s ease !important;
}

.link {
  color: var(--primary-color);
  font-size: 16px;
  font-weight: 300;
  cursor: pointer;
  transition: all 0.3s ease;
}
.link:hover {
  color: var(--secondary-color);
  transition: all 0.3s ease;
}
/* Colors */
.primary {
  color: var(--primary-color);
}
.white {
  color: white;
}
.secondary {
  color: var(--secondary-color) !important;
}

.regular {
  font-weight: 200;
}
.bold {
  font-weight: 500;
}
.semi-bold {
  font-weight: 600;
}

/* Margins */
.m-10 {
  margin: 10px;
}
.m-20 {
  margin: 20px;
}
.m-30 {
  margin: 30px;
}
.m-40 {
  margin: 40px;
}
.m-50 {
  margin: 50px;
}
.m-60 {
  margin: 60px;
}
.m-70 {
  margin: 70px;
}
.m-80 {
  margin: 80px;
}
.m-90 {
  margin: 90px;
}
.m-100 {
  margin: 100px;
}

.ml-10 {
  margin-left: 10px;
}
.ml-20 {
  margin-left: 20px;
}
.ml-30 {
  margin-left: 30px;
}
.ml-40 {
  margin-left: 40px;
}
.ml-50 {
  margin-left: 50px;
}
.ml-60 {
  margin-left: 60px;
}
.ml-70 {
  margin-left: 70px;
}
.ml-80 {
  margin-left: 80px;
}
.ml-90 {
  margin-left: 90px;
}
.ml-100 {
  margin-left: 100px;
}
.mr-10 {
  margin-right: 10px;
}
.mr-20 {
  margin-right: 20px;
}
.mr-30 {
  margin-right: 30px;
}
.mr-40 {
  margin-right: 40px;
}
.mr-50 {
  margin-right: 50px;
}
.mr-60 {
  margin-right: 60px;
}
.mr-70 {
  margin-right: 70px;
}
.mr-80 {
  margin-right: 80px;
}
.mr-90 {
  margin-right: 90px;
}
.mr-100 {
  margin-right: 100px;
}
.mt-0 {
  margin-top: 0 !important;
}
.mt-10 {
  margin-top: 10px;
}
.mt-20 {
  margin-top: 20px;
}
.mt-30 {
  margin-top: 30px;
}
.mt-10-30 {
  margin-top: 10px;
}
.mt-40 {
  margin-top: 40px;
}
.mt-50 {
  margin-top: 50px;
}
.mt-sm-50 {
  margin-top: 50px !important;
}
.mt-60 {
  margin-top: 60px;
}
.mt-70 {
  margin-top: 70px;
}
.mt-80 {
  margin-top: 80px;
}
.mt-90 {
  margin-top: 90px;
}
.mt-100 {
  margin-top: 100px;
}
.mt-135 {
  margin-top: 135px;
}
.mb-50-100 {
  margin-bottom: 50px;
}
.mt-50-100 {
  margin-top: 50px !important;
}
.pt-50-100 {
  padding-top: 50px;
}
.pb-50-100 {
  padding-bottom: 50px;
}
.mb-30-50 {
  margin-bottom: 30px;
}
.mb-10-30 {
  margin-bottom: 10px;
}
.pb-0-50 {
  padding-bottom: 50px;
}
.mb-50-0 {
  margin-bottom: 50px;
}
.mb-0-50 {
  margin-bottom: 0px !important;
}
.mb-50-80 {
  margin-bottom: 50px;
}
.mt-50-80 {
  margin-top: 50px;
}
.pt-50-80 {
  padding-top: 50px;
}
.pb-50-80 {
  padding-bottom: 50px;
}
.mb-5 {
  margin-bottom: 5px;
}
.mb-10 {
  margin-bottom: 10px;
}
.mb-20 {
  margin-bottom: 20px;
}
.mb-0-30 {
  margin-bottom: 0;
}
.mb-40 {
  margin-bottom: 40px;
}
.mb-20-40 {
  margin-bottom: 20px;
}
.mb-50 {
  margin-bottom: 50px;
}
.mb-20-50 {
  margin-bottom: 20px;
}
.mb-60 {
  margin-bottom: 60px;
}
.mb-70 {
  margin-bottom: 70px;
}
.mb-80 {
  margin-bottom: 80px;
}
.mb-90 {
  margin-bottom: 90px;
}
.mb-100 {
  margin-bottom: 100px;
}
.mb-135 {
  margin-bottom: 135px;
}
.m-inline-35 {
  margin-inline: 35px;
}
/* Paddings */
.p-0 {
  padding: 0 !important;
}
.p-10 {
  padding: 10px;
}
.p-20 {
  padding: 20px;
}
.p-30 {
  padding: 30px;
}
.p-35 {
  padding: 35px;
}
.p-inline-35 {
  padding-inline: 35px;
}
.p-40 {
  padding: 40px;
}
.p-50 {
  padding: 50px;
}
.pl-10 {
  padding-left: 10px;
}
.pl-20 {
  padding-left: 20px;
}
.pl-30 {
  padding-left: 30px;
}
.pl-40 {
  padding-left: 40px;
}
.pl-50 {
  padding-left: 50px;
}
.pr-10 {
  padding-right: 10px;
}
.pr-20 {
  padding-right: 20px;
}
.pr-30 {
  padding-right: 30px;
}
.pr-40 {
  padding-right: 40px;
}
.pr-50 {
  padding-right: 50px;
}
.pt-10 {
  padding-top: 10px;
}
.pt-20 {
  padding-top: 20px;
}

.pt-30 {
  padding-top: 30px;
}
.pt-40 {
  padding-top: 40px;
}
.pt-50 {
  padding-top: 50px;
}
.pt-100 {
  padding-top: 100px;
}
.pt-135 {
  padding-top: 135px;
}
.pb-10 {
  padding-bottom: 10px;
}
.pb-20 {
  padding-bottom: 20px;
}
.pb-30 {
  padding-bottom: 30px;
}
.pb-40 {
  padding-bottom: 40px;
}
.pb-50 {
  padding-bottom: 50px;
}
.pb-100 {
  padding-bottom: 100px;
}
.pb-135 {
  padding-bottom: 135px;
}
.w-100 {
  width: 100% !important;
}
.max-w-645px {
  max-width: 645px;
}
.t-center {
  text-align: center;
}
.t-left {
  text-align: left;
}
.t-right {
  text-align: right;
}
/* Visibility */
.sm-hide {
  display: none;
}
.big-hide {
  display: block;
}
.gap-10-50 {
  gap: 10px !important;
}

.pl-35-50 {
  padding-left: 35px;
}
.pr-35-50 {
  padding-right: 35px;
}

.contain {
  object-fit: contain !important;
}

/* Flex Box */
.flex-card {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}

.flex-card .left {
  flex: 1;
}
.flex-card .right {
  flex: 2;
}
.flex-card .left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.flex-card .right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.flex-card .right {
  margin-right: 0;
}
.card-title {
  font-family: "source sans 3", sans-serif !important;
  font-size: 16px !important;
  color: var(--primary-color);
  font-weight: 400 !important;
}

/* Display  */
.block {
  display: block !;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}

/* Display  */
/* Flex */
.flex {
  display: flex;
}
.flex-wrap {
  flex-wrap: wrap;
}
.column {
  flex-direction: column;
}
.row {
  flex-direction: row;
}
.flex-1 {
  flex: 1 !important;
}
.flex-1-5 {
  flex: 1.5 !important;
}
.flex-1-6 {
  flex: 1.6 !important;
}
.flex-1-7 {
  flex: 1.7 !important;
}
.flex-1-8 {
  flex: 1.8 !important;
}
.justify-center {
  justify-content: center !important;
}

.justify-between {
  justify-content: space-between !important;
}

.justify-around {
  justify-content: space-around !important;
}

.justify-evenly {
  justify-content: space-evenly !important;
}

.justify-stretch {
  justify-content: stretch !important;
}
.justify-end {
  justify-content: flex-end !important;
}
.justify-start {
  justify-content: flex-start !important;
}

.align-center {
  align-items: center;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.align-stretch {
  align-items: stretch;
}
.order-1 {
  order: 1;
}
.gap-10 {
  gap: 10px;
}
.gap-20 {
  gap: 20px;
}
.gap-30 {
  gap: 30px;
}
.gap-40 {
  gap: 40px;
}
.gap-50 {
  gap: 50px;
}
.gap-70 {
  gap: 70px !important;
}
/* Grid */
.grid {
  display: grid;
}
.grid-sm-1 {
  grid-template-columns: repeat(1, 1fr);
}
.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.grid-5 {
  grid-template-columns: repeat(5, 1fr);
}
.grid-6 {
  grid-template-columns: repeat(6, 1fr);
}
.grid-row-2 {
  grid-template-rows: repeat(2, 1fr);
}

.grid-row-3 {
  grid-template-rows: repeat(3, 1fr);
}

.grid-row-4 {
  grid-template-rows: repeat(4, 1fr);
}

.grid-row-5 {
  grid-template-rows: repeat(5, 1fr);
}

.grid-row-6 {
  grid-template-rows: repeat(6, 1fr);
}
.no-border {
  border: none !important;
}
/* Font-size */
.f-30 {
  font-size: 30px !important;
}
.f-25 {
  font-size: 25px !important;
}
.f-15 {
  font-size: 15px !important;
}
/* Font-weight */
.f-weight-200 {
  font-weight: 200 !important;
}
.f-weight-300 {
  font-weight: 300 !important;
}
.f-weight-400 {
  font-weight: 400 !important;
}
.f-weight-500 {
  font-weight: 500 !important;
}
.f-weight-600 {
  font-weight: 600 !important;
}
.f-weight-700 {
  font-weight: 700 !important;
}
/* position */
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.sticky {
  position: sticky;
}
/* Top */
.top-0 {
  top: 0 !important;
}
.top-10 {
  top: 10px !important;
}
.top-20 {
  top: 20px !important;
}
.top-30 {
  top: 30px !important;
}
.top-40 {
  top: 40px !important;
}
.top-50 {
  top: 50px !important;
}
.top-60 {
  top: 60px !important;
}
.top-70 {
  top: 70px !important;
}
.top-80 {
  top: 80px !important;
}
.top-90 {
  top: 90px !important;
}
.top-100 {
  top: 100px !important;
}
/* Bottom */
.bottom-0 {
  bottom: 0 !important;
}
.bottom-10 {
  bottom: 10px !important;
}
.bottom-20 {
  bottom: 20px !important;
}
.bottom-30 {
  bottom: 30px !important;
}
.bottom-40 {
  bottom: 40px !important;
}
.bottom-50 {
  bottom: 50px !important;
}
.bottom-60 {
  bottom: 60px !important;
}
.bottom-70 {
  bottom: 70px !important;
}
.bottom-80 {
  bottom: 80px !important;
}
.bottom-90 {
  bottom: 90px !important;
}
.bottom-100 {
  bottom: 100px !important;
}
/* Left */
.left-0 {
  left: 0 !important;
}
.left-10 {
  left: 10px !important;
}
.left-20 {
  left: 20px !important;
}
.left-30 {
  left: 30px !important;
}
.left-40 {
  left: 40px !important;
}
.left-50 {
  left: 50px !important;
}
.left-60 {
  left: 60px !important;
}
.left-70 {
  left: 70px !important;
}
.left-80 {
  left: 80px !important;
}
.left-90 {
  left: 90px !important;
}
.left-100 {
  left: 100px !important;
}

/* Right */
.right-0 {
  right: 0;
}

.right-10 {
  right: 10px !important;
}
.right-20 {
  right: 20px !important;
}
.right-30 {
  right: 30px !important;
}
.right-40 {
  right: 40px !important;
}
.right-50 {
  right: 50px !important;
}
.right-60 {
  right: 60px !important;
}
.right-70 {
  right: 70px !important;
}
.right-80 {
  right: 80px !important;
}
.right-90 {
  right: 90px !important;
}
.right-100 {
  right: 100px !important;
}
/* Width und MAX WIDTH */
.unset-size {
  width: unset !important;
  height: unset !important;
  object-fit: unset !important;
}
.max-width-fit {
  max-width: fit-content !important;
}
.max-width-unset {
  max-width: unset !important;
}
.max-h-10 {
  max-height: 10% !important;
}
.max-h-20 {
  max-height: 20% !important;
}

.max-h-30 {
  max-height: 30% !important;
}
.max-h-40 {
  max-height: 40% !important;
}
.max-h-60 {
  max-height: 60% !important;
}
.max-h-70 {
  max-height: 70% !important;
}
.max-h-80 {
  max-height: 80% !important;
}
.max-h-90 {
  max-height: 90% !important;
}
.max-h-100 {
  max-height: 100% !important;
}
.max-w-10 {
  max-width: 10% !important;
}
.max-w-20 {
  max-width: 20% !important;
}
.max-w-30 {
  max-width: 30% !important;
}
.max-w-40 {
  max-width: 40% !important;
}
.max-w-60 {
  max-width: 60% !important;
}
.max-w-70 {
  max-width: 70% !important;
}
.max-w-80 {
  max-width: 80% !important;
}
.max-w-90 {
  max-width: 90% !important;
}
.max-w-100 {
  max-width: 100% !important;
}
.max-w-50 {
  max-width: 50% !important;
}
.max-w-75 {
  max-width: 75% !important;
}
.max-w-85 {
  max-width: 85% !important;
}
.max-w-90 {
  max-width: 90% !important;
}
.max-w-95 {
  max-width: 95% !important;
}
.max-w-100 {
  max-width: 100% !important;
}
.max-w-600 {
  max-width: 600px !important;
}
.w-100 {
  width: 100% !important;
}
.h-100 {
  height: 100% !important;
}
.max-w-675 {
  max-width: 675px !important;
}
.max-h-450 {
  max-height: 450px !important;
}
.pb-50-0 {
  padding-bottom: 50px;
}
.mt-0-100 {
  margin-top: 0;
}
.pb-50-0 {
  padding-bottom: 50px;
}
.pb-30-0 {
  padding-bottom: 30px;
}
.pt-50-135 {
  padding-top: 50px;
}
.pb-50-135 {
  padding-bottom: 50px;
}
.p-inline-35-0 {
  padding-inline: 35px;
}
.order-0-1 {
  order: -1;
}
.t-left-center {
  text-align: left;
}
.mb-50-135 {
  margin-bottom: 50px;
}
.mt-50-135 {
  margin-top: 50px;
}
.f-16-25 {
  font-size: 16px !important;
}
.bg-gray {
  background-color: var(--section-bg);
}
/* Width und MAX WIDTH */
/* Responsive Breakpoints - Mobile First */

/* Small devices (phones, 576px and up) */
@media (min-width: 576px) {
  /* Add styles for small screens */
  .small-container {
    padding-inline: 30px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  /* Add styles for medium screens */
  .small-container {
    padding-inline: 40px;
  }
}

/* Large devices (desktops, 1024px and up) */
@media (min-width: 1024px) {
  /* Add styles for large screens */
  .small-container {
    padding-inline: 50px;
  }
}
/* Large devices (desktops, 1024px and up) */
@media (min-width: 1200px) {
  .mb-0-30 {
    margin-bottom: 30px;
  }
  .mb-20-50 {
    margin-bottom: 50px;
  }
  .mt-10-30 {
    margin-top: 30px;
  }
  .mb-10-30 {
    margin-bottom: 30px;
  }
  .card-title {
    font-size: 22px !important;
  }
  .mb-20-40 {
    margin-bottom: 40px;
  }
  .flex-card .right {
    margin-right: -160px;
  }
  .left .right {
    margin-right: 0 !important;
    margin-left: -160px !important;
  }
  /* Buttons */
  .buttons {
    margin-top: 70px;
    flex-direction: row;
  }
  .f-16-25 {
    font-size: 25px !important;
  }
  .t-left-center {
    text-align: center;
  }
  .order-0-1 {
    order: 1;
  }
  .p-inline-35-0 {
    padding-inline: 0;
  }
  .pt-50-135 {
    padding-top: 135px;
  }
  .pb-50-135 {
    padding-bottom: 135px;
  }
  .pl-35-50 {
    padding-left: 50px;
  }
  .pr-35-50 {
    padding-right: 50px;
  }
  .pb-30-0 {
    padding-bottom: 0;
  }
  .pb-50-0 {
    padding-bottom: 0;
  }
  .mb-0-50 {
    margin-bottom: 50px !important;
  }
  .gap-10-50 {
    gap: 50px !important;
  }
  .mb-50-0 {
    margin-bottom: 0px;
  }
  .pb-50-0 {
    margin-bottom: 0px;
  }
  .mb-30-50 {
    margin-bottom: 50px;
  }
  .mb-50-100 {
    margin-bottom: 100px;
  }
  .mt-50-100 {
    margin-top: 100px !important;
  }
  .pt-50-100 {
    padding-top: 100px;
  }
  .pb-50-100 {
    padding-bottom: 100px;
  }
  .mb-50-135 {
    margin-bottom: 135px;
  }
  .mt-50-135 {
    margin-top: 135px;
  }
  .small-img {
    max-height: 100%;
  }
  .small-img-270 {
    max-height: 100%;
  }
  .mt-xl-100 {
    margin-top: 100px !important;
  }
  .mt-0-100 {
    margin-top: 100px;
  }
  /* Add styles for large screens */
  .max-width-530 {
    max-width: 530px !important;
    width: 100% !important;
  }
  .small-container {
    padding-inline: 60px;
  }
  .sm-hide {
    display: unset;
  }
  .big-hide {
    display: none !important;
  }

  .title {
    font-size: 70px;
  }
  /* Heading Primary 24px */
  .h-primary,
  .h-primary p {
    font-size: 70px !important;
  }
  .btn-orange {
    padding-inline: 50px !important;
  }
  .h-secondary {
    font-size: 35px;
  }
  /* Heading Tertiary 30px */
  /* subheading  25px semibold*/

  .subheading {
    font-size: 25px;
  }
  .p {
    font-size: 19px;
  }
  .btn-orange {
    font-size: 20px !important;
  }
  .grid-md-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .flex-card {
    flex-direction: row;
    gap: 50px;
  }
  .mb-50-80 {
    margin-bottom: 80px;
  }
  .mt-50-80 {
    margin-top: 80px;
  }
  .pt-50-80 {
    padding-top: 80px;
  }
  .pb-50-80 {
    padding-bottom: 80px;
  }
}

/* Extra Large devices (large desktops, 1440px and up) */
@media (min-width: 1440px) {
  .small-container {
    padding-inline: 100px;
  }
  .flex-card {
    gap: 100px;
  }
}

/* Extra Extra Large devices (4K screens, 1920px and up) */
@media (min-width: 1920px) {
  /* Add styles for extra large screens */
  .p-inline-35 {
    padding-inline: 0;
  }
  .container {
    max-width: 1640px;
    padding-inline: 0;
  }
  .small-container {
    padding-inline: 135px;
  }
  .flex-card {
    flex-direction: row;
    gap: 120px;
  }
}
