@charset "utf-8";
/* CSS Document */


@font-face {
font-family: 'Outfit-Regular';
src: url('../fonts/Outfit-Regular.ttf');
src: url('../fonts/Outfit-Regular.ttf') ,
url('../fonts/Outfit-Regular.ttf');
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'Outfit-SemiBold';
src: url('../fonts/Outfit-SemiBold.ttf');
src: url('../fonts/Outfit-SemiBold.ttf') ,
url('../fonts/Outfit-SemiBold.ttf');
font-weight: normal;
font-style: normal;
}

html,
body {
	margin:0;
	padding: 0;
	font-family: 'Outfit-Regular', Arial;
    font-size: 15px;
    line-height: normal;
    color: #484848;
    background-color: #eeeff1;
}

html {scroll-behavior: smooth;}

@media screen and (min-width:100px) and (max-width:1200px) {body {font-size: 14px;}}
@media screen and (min-width:100px) and (max-width:450px) {body {font-size: 11px;}}

div, nav, main, header, p, a, section, footer, aside {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

img {display: block; height: auto;}
a {color: inherit; text-decoration: none;}
.grid {display: grid;}
.flex {display: flex;}
.col {flex-direction: column;}
.row {flex-direction: row;}
.wrap {flex-wrap: wrap;}
.center {justify-content: center;}
.between {justify-content: space-between;}
.farbe {color: #9d374e;}
.rund {border-radius: 20px;}

.error {
    height: 60vh;
    background-color: #fff;
    align-items: center;
}

.error div {
    width: 100%;
    height: auto;
    text-align: center;
}

/*---------------------*/
@media screen and (min-width:100px) and (max-width:850px) {
    .error {height: 60vh;}
}
@media screen and (min-width:100px) and (max-width:850px) {
    .error {height: 60vh;}
}
@media screen and (min-width:100px) and (max-width:850px) {
    .error {height: 60vh;}
}
/*---------------------*/

.mitte {
    width: 90%;
    max-width: 1800px;
    margin-right: auto;
    margin-left: auto;
}

header {
    width: 100%;    
    max-width: 2000px;
    background-color: #fff;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 50px;
}

.header-block {
    align-items: center;
    padding-top: 30px;
    padding-bottom: 30px;
}

.header-contact {
    color: #8b8d91;
    font-size: 1.2em;
}

button {
    display: inline-block;
    font-family: inherit;
    border-radius: 10px;
    padding: 5px 30px 5px 30px;
    cursor: pointer; 
}

button:hover {border-radius: 0px;}

.header-contact button {
    color: #8b8d91;
    font-family: inherit;
    font-size: inherit;
    background-color: #fff;
    border: 2px solid #8b8d91;
    width: 100%;   
    margin-top: 10px;
}

.header-contact button:hover {color: #484848; border: 2px solid #484848;}

.logo {width: 230px;}
.logo-oeko {width: 130px;}

h1 {
    font-family: 'Outfit-SemiBold', Arial;
    text-transform: uppercase;
}

.openbtn {display: none;}

nav {
    width: 100%;
    background: #9D374E;
    background-image: linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -moz-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -webkit-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);   
    padding: 12px;
    font-size: 1.2em;
    gap: 60px;
}

nav a.aktiv {text-decoration: underline;}

nav a {
  color: #fff;
  position: relative;
}

nav a::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-radius: 4px;
  background-color: #fff;
  bottom: 0;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}

nav a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}

/*---------------------*/
@media screen and (min-width:100px) and (max-width:850px) {
    .logo {width: 200px;}
    .logo-oeko {width: 110px;}
    .header-contact {font-size: 1.1em;} 
    button {padding: 5px 20px 5px 20px;}
    nav {font-size: 1.1em;}
}

@media screen and (min-width:100px) and (max-width:550px) {
    .header-block {flex-wrap: wrap; justify-content: space-between;}
    .header-contact {width: 100%; display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; margin-bottom: 30px;}
    .header-contact button {max-width: 40%;}
    .header-contact p {max-width: 50%;}
    nav {font-size: 1.0em; gap: 30px;}
}

@media screen and (min-width:100px) and (max-width:380px) {
    .logo {width: 150px;}
    .logo-oeko {display: none;}
    nav a {display: none;}  
    .openbtn {display: block;}  
}
/*---------------------*/
    

section {margin-bottom: 50px;}

.promo {
    height: auto;
    max-height: 650px;
    background-color: #fff;
    align-items: center;
    overflow: hidden;
}

.promo-text {
    width: 40%;
    padding-left: 8%;
}

h1 {
    font-size: 5.0em;
    line-height: 1.0em;
    margin: 0;
    margin-bottom: 20px;
}

.promo-text p {font-size: 1.8em; line-height: 1.2em;}

.btn {
    color: #fff;
    background: #9D374E;
    background-image: linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -moz-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -webkit-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);     
    border: none;
    font-size: 1.3em;
    padding: 10px 40px 12px 40px;
    margin-top: 30px;
}

.btn:hover {background: #e64e71;}

.promo-bild {
    width: 60%;
    height: auto;
    min-height: 650px; 
    padding-top: 50px;
    padding-bottom: 50px;
}

.promo-bild img {
   width: 100%;
   height: 600px;
   object-fit: contain;
   align-self: center;
}

/*---------------------*/
@media screen and (min-width:100px) and (max-width: 1300px) {
    .promo-text {width: 50%;}
    .promo-bild {width: 50%; height: 500px; min-height: 300px;}
    h1 {font-size: 4.1em;}
    .promo-text p {font-size: 1.6em;}
}

@media screen and (min-width:100px) and (max-width: 950px) {
    .promo-text {width: 50%; padding-left: 5%;}
    .promo-bild {width: 50%; height: 400px;}
    h1 {font-size: 3.1em;}
    .promo-text p {font-size: 1.3em;}
    .btn {font-size: 1.2em;}
}

@media screen and (min-width:100px) and (max-width: 700px) {
    .promo-text {width: 40%;}
    .promo-bild {width: 60%; height: 350px;}
    h1 {font-size: 2.6em;}
    .promo-text p {font-size: 1.2em;}
    .btn {font-size: 1.1em; padding: 8px 30px 10px 30px;}
}

@media screen and (min-width:100px) and (max-width: 550px) {
    .promo {flex-wrap: wrap; padding: 50px 20px 30px 20px;}
    .promo-text {width: 100%; text-align: center; margin-bottom: 40px;}
    .promo-bild {width: 100%; height: 300px; min-height: 200px;}
}

@media screen and (min-width:100px) and (max-width: 450px) {
    .promo-bild {width: 100%; height: 250px; min-height: 200px;}
}
/*---------------------*/

.info {
    grid: 
    "info-block-1 info-block-3 info-block-4" 
    "info-block-2 info-block-3 info-block-4"; 
    grid-template-rows: auto auto;
    grid-template-columns: auto 30% 30%;
    gap: 30px;  
    margin-bottom: 80px;  
}

.info-block {    
    border-radius: 20px;
    padding: 60px 60px;
}

.info-block h4 {
    font-size: 2.0em;
    font-weight: 400;
    margin: 0;
}

.info-block p {
    font-size: 1.3em;
    margin-top: 30px;
}

.info-block-1 {
    grid-area: info-block-1;
    background-color: #fff;
}

.info-block-2 {
    grid-area: info-block-2;
    background-color: #80BC69;
    background-image: linear-gradient(to right top, #80bc69, #6ea35a, #5d8b4c, #4c743e, #3c5d31);
    background-image: -moz-linear-gradient(to right top, #80bc69, #6ea35a, #5d8b4c, #4c743e, #3c5d31);
    background-image: -webkit-linear-gradient(to right top, #80bc69, #6ea35a, #5d8b4c, #4c743e, #3c5d31);
    color: #fff;
}

.info-block-2 p {margin-top: 0; margin-bottom: 30px;}

.info-block-2 a {
    text-transform: uppercase;
    font-size: 1.8em;
    font-weight: 600;
    position: relative;
}

.info-block-2 a::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-radius: 4px;
  background-color: #fff;
  bottom: 0;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}

.info-block-2 a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}

.info-block-3 {
    grid-area: info-block-3;
    background: #9D374E;
    background-image: linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -moz-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -webkit-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e); 
    color: #fff;
}

.info-block-4 {
    grid-area: info-block-4;
    background-color: #fff;
    align-items: center;
    text-align: center;
}

.info-block-4 h3 {
    font-family: 'Outfit-SemiBold', Arial;
    text-transform: uppercase;
    font-size: 2.3em;  
    margin: 0;  
    margin-bottom: 30px;
}

.info-block-4 img {max-width: 100%;}

/*---------------------*/
@media screen and (min-width:100px) and (max-width:1280px) {
    .info {
    grid: 
    "info-block-1 info-block-3 info-block-4" 
    "info-block-2 info-block-2 info-block-2"; 
    grid-template-rows: auto auto;
    grid-template-columns: auto auto auto;
    gap: 30px;    
    }
    .info-block {padding: 40px 40px;}
    .info-block p {margin-top: 20px;}
    .info-block-2 p {margin-bottom: 20px; margin-top: 0;}
}

@media screen and (min-width:100px) and (max-width:1000px) {
    .info {
    grid: 
    "info-block-1 info-block-4" 
    "info-block-3 info-block-3"
    "info-block-2 info-block-2"; 
    grid-template-rows: auto auto auto;
    grid-template-columns: auto auto;
    gap: 20px;    
    }
    .info-block-2 p {margin-bottom: 10px;}
    .info-block p {margin-top: 10px;}
}

@media screen and (min-width:100px) and (max-width:650px) {
    .info {
    grid: 
    "info-block-4 info-block-4" 
    "info-block-1 info-block-1" 
    "info-block-3 info-block-3"
    "info-block-2 info-block-2"; 
    grid-template-rows: auto auto auto auto;
    grid-template-columns: auto auto;
    gap: 20px;    
    }
    .info-block {padding: 30px 30px;}
}
/*---------------------*/

h2 {
    font-family: 'Outfit-SemiBold', Arial;
    font-weight: 400;
    font-size: 3.0em;
    text-align: center;
    text-transform: uppercase;
}

.kategorien {
    grid-template-columns: auto auto auto auto;
    gap: 20px;  
    margin-bottom: 100px;  
}

.kategorien p {
    font-size: 1.2em;
}

.kategorie {
    background-color: #fff;
    overflow: hidden;
    text-align: center;
    padding-bottom: 20px;
}

.kategorie img {width: 100%;}

/*---------------------*/
@media screen and (min-width:100px) and (max-width: 1200px) {
    .kategorien {grid-template-columns: auto auto auto;}
}
@media screen and (min-width:100px) and (max-width: 750px) {
    .kategorien {grid-template-columns: auto auto;}
    h2 {font-size: 2.5em;}
}

@media screen and (min-width:100px) and (max-width: 400px) {
    .kategorien {grid-template-columns: auto;}
}
/*---------------------*/

.footer {
    background-color: #48484a;
    color: #fff;
    width: 100%;    
    max-width: 2000px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 100px;
    padding-bottom: 50px;
}

.footer-block {
    margin-bottom: 40px;
    padding: 0 50px 0 50px;
}

.footer-nav a {
    display: block;
    margin-bottom: 10px;
}

.footer-nav a:hover {text-decoration: underline;}

.kontakt-daten p {
    text-align: right;
    margin-bottom: 20px;
}

.copyright {font-size: 0.9em; padding-left: 50px;}

/*---------------------*/
@media screen and (min-width:100px) and (max-width: 750px) {
    .footer {padding-top: 70px;}
    .footer-block {flex-wrap: wrap; padding: 0;}
    .footer-block div {width: 50%; margin-bottom: 40px;}
    .psi {order: 3; margin-top: 40px;}
    .copyright {padding-left: 0;}
}

@media screen and (min-width:100px) and (max-width: 360px) {
    .footer {padding-top: 55px;}
    .footer-block div {width: 100%;}
    .footer-nav a {text-align: center;}
    .kontakt-daten p {text-align: center;}
    .psi {order: 3; margin-top: 0;}
    .psi img {margin-left: auto; margin-right: auto;}
    .copyright {padding-left: 0; text-align: center;}
}
/*---------------------*/

#ToTop {
  display: none;
  position: fixed; 
  bottom: 20px; 
  right: 30px; 
  z-index: 99; 
  border: none;
  outline: none; 
  background-color: #eeeff1; 
  color: #484848;
  cursor: pointer; 
  padding: 16px 5px 20px 5px;
  border-radius: 10px; 
  font-size: 25px; 
  line-height: 0;
  transform: rotate(-90deg);
}

#ToTop:hover {
  background-color: #fff; /* Add a dark-grey background on hover */
}
/*---------------------*/

.auswahl {margin-bottom: 50px;}
.auswahl h4, .auswahl p {margin: 0; margin-bottom: 15px;}
.auswahl a {color:#9d374e}
.auswahl a:hover {text-decoration: underline;}

.produkte-nav {
    width: 80%;
    padding: 0;
    margin: 0;
}

.produkte-nav a {
    display: block;
    background-color: #fff;
    padding: 10px 20px;
    margin-bottom: 5px;
    border-radius: 10px;
}

.active-p {
    color: #fff;
    background: #9D374E;
    background-image: linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -moz-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -webkit-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e); 
}

.produkte-nav a:hover {background: #8b8d91; color:#fff;}

.oekolink {
    width:80%;
    margin-top: 50px;
}

.oekolink a, .oekolink-2 a {color: #5d8b4c; font-weight: 600;}
.oekolink a:hover {text-decoration: underline;}

.oekolink img {
    width: 150px;
    height: auto;
    margin-top: 30px;
}

.oekolink-2 {
    display: none;
    width: 100%;
}

.product-block {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 3fr;
}

.produkte {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.item {
    background-color: #fff;
    border-radius: 10px;
    padding: 10px 30px 40px 30px;
}

.item img {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}

/*---------------------*/
@media screen and (min-width:100px) and (max-width: 800px) {
   .product-block {grid-template-columns: 1fr 2fr;}
   .produkte {grid-template-columns: 1fr 1fr;}
   .oekolink img {width: 120px;}
}

@media screen and (min-width:100px) and (max-width: 600px) {
   .product-block {grid-template-columns: 1fr;}
   .produkte {grid-template-columns: 1fr 1fr;}
   .produkte-nav {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    margin-bottom: 20px;
   }
   .produkte-nav a {
    padding: 5px 10px;
    margin-bottom: 0;
   }
   .oekolink {display: none;}
   .oekolink-2 {display: flex; align-items: center; margin-bottom: 50px;}
   .oekolink-2 a {width: 25%;}
   .oekolink-2 img {width: 100%;}
   .oekolink-2 p {width: 60%;}
}

@media screen and (min-width:100px) and (max-width: 350px) {
   .produkte {grid-template-columns: 1fr;}
   .produkte-nav {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin-bottom: 20px;
   }
   .oekolink-2 a {width: 35%;}
   .oekolink-2 p {width: 60%;}
}
/*---------------------*/

@media screen and (min-width:100px) and (max-width: 1000px) {
    .items-row {padding: 50px 10%;}
}
/*---------------------*/

.unterseite {
    background: #fff;
    padding: 50px;
    line-height: 1.4em;
}

.unterseite h2 {margin-bottom: 1.5em;}
.unterseite p {margin-bottom: 20px;}

.referenz {
    align-items: center;
    margin: 60px;
}

.referenz .kunden-logo {
    width: auto;
    height: 50px;
    margin-bottom: 20px;
}

.referenz p {margin-top: 20px;}

.agentur h3 {text-transform: uppercase; font-size: 1.6em; line-height: 1.2em; margin-bottom: 15px;}

.content-block {
    display: grid;
    grid-template-columns: 50% 40%;
    gap: 10%;
}

.content  p:last-child {margin-bottom: 0;}

.philosophie {
    padding: 50px 15%;
    height: auto;
    align-items: center;
    background: #9D374E;
    background-image: linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -moz-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e);
    background-image: -webkit-linear-gradient(to right, #e64e71, #d34868, #c1425f, #af3d57, #9d374e); border-radius: 20px;
    color: #fff;
}

.philosophie h3 {margin-bottom: 30px;}
.philosophie p {
    font-size: 1.2em;
    display: inline-block;
}

.philosophie h3, .philosophie div {margin-left: auto; margin-right: auto;}

.philosophie li {
    margin-bottom: 15px;
    margin-left: -20px;
    line-height: 1.2em;
}

.slogan {
    text-align: center;
    margin-top: 70px;
}

.kontakt, .impressum, .datenschutz, .agentur {padding: 50px 15%;}
#awf-form {margin-top: 20px; margin-bottom: 20px;}

/*---------------------*/

@media screen and (min-width:100px) and (max-width: 1200px) {
    .kontakt, .impressum, .datenschutz, .agentur  {padding: 50px 10%;}
}

@media screen and (min-width:100px) and (max-width: 1000px) {
    .items-row {flex-wrap: wrap;}
    .content-block {grid-template-columns: 100%; gap: 50px;}
    .philosophie {width: 80%; margin-left: auto; margin-right: auto;}
}

@media screen and (min-width:100px) and (max-width: 902px) {
    .unser-referenzen h2, .agentur h2 {line-height: 1.2em;}
}

@media screen and (min-width:100px) and (max-width: 600px) {
    .philosophie {width: 100%;}
}

@media screen and (min-width:100px) and (max-width: 350px) {
    .kontakt, .impressum, .datenschutz, .agentur {padding: 50px 5%;}
}
/*---------------------*/


/* div, ul, li, p, h1, h3, img, form, a, nav, aside, section {border: 2px solid green;} */
