@charset "utf-8";
/* CSS Document -  WEBSPICE - Sofie Vandenberghe -  www.webspice.be*/
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css");
:root {--primary: #ca232a;
--secondary:#252525;
--tertiary:#000000}
html {
  scroll-behavior: smooth;
text-rendering: optimizeLegibility !important;
-moz-osx-font-smoothing:grayscale!important;
-webkit-font-smoothing:antialiased!important
}
* {box-sizing: border-box;list-style: none;margin: 0;padding: 0;transition: all ease .3s;}
*:focus, *:visited, *:focus:visited, *:focus:active {outline: none !important;}
.bootstrap-select .dropdown-toggle:focus {outline: none !important;box-shadow: none !important;}
textarea:focus, input:focus {outline: none !important;}
img {border: none;max-width: 100%;height:auto}
::-moz-selection {background: var(--primary);color: #fff;}
::selection {background: var(--primary);color: #fff;}
body{
	font-optical-sizing: auto;
	 font-size: 16px;
  color:var(--secondary);
  font-family:"Poppins",sans-serif;
  font-style: normal;
background-color: #ffffff
}
h1, h2, h3, h4{font-family: "Poppins",sans-serif;}
.inhoud h1{ font-size: 55px;font-weight: 600;line-height: 70px;color: var(--tertiary);position: relative;padding-bottom: 30px;	display: inline-block;text-align: center}
.inhoud h1:after {background: var(--primary);position: absolute;bottom: 0;content: "";width: 100px;height: 4px;margin: 0 auto;left: 0;right: 0;}
h2{ font-size: 55px;
  font-weight: 600;
  line-height: 70px;
  color: var(--tertiary);
  position: relative;
  padding-bottom: 30px;
	margin-bottom: 50px;
text-align: center}
h2:after {
  background: var(--primary);
  position: absolute;
  bottom: 0;
  content: "";
  width: 100px;
  height: 4px;
  margin: 0 auto;
  left: 0;
  right: 0;
}
.inhoud h2{font-size:40px;line-height: 50px;color: var(--tertiary); margin-bottom: 20px;margin-top:50px}
.inhoud h2:after{content:none}
h3{font-size: 30px;font-weight: 600;line-height: 55px;color: var(--tertiary); margin-bottom: 10px;}
h4{font-size: 20px;color: var(--tertiary);}
h5{ont-size: 24px;line-height:34px;font-weight: 600;color: var(--tertiary);}
p{font-size: 16px;}
a, a:hover, a:focus, a:focus, a:active{ text-decoration:underline;color:var(--primary);transition: all 0.4s;}
p a{color:var(--primary);}
p a:hover, p a:active, p a:visited{color:var(--primary)}
.inhoud ul {margin-left: 15px;margin-top: 10px;}
.inhoud ul li{margin:5px;list-style: disc;font-family: "Poppins", sans-serif;}
.breadcrumb {background-color:transparent;border-radius:0;justify-content:flex-end;padding-left:0px;padding-top:10px;margin-bottom: 0}
.breadcrumb-item {font-size:12px}
.breadcrumb-item.active a{color: var(--primary);}
.bgwece{background:#bd1c23;}
#webspice { text-align: center;}
#webspice a {
font-weight:600;
font-size:14px;
color:#efe1e1;
text-decoration:none;
padding-top: 5px;padding-bottom:5px;
    }
#webspice a:hover{color:#ffffff}
.bol {color:#D99F15;font-size:24px}
.btn, .btn:visited {
	font-size: 18px;
  line-height: 20px;
  font-weight: 600;
  padding: 15px 25px;
  border-radius: 18px;
  color: #fff;
  transition: 0.2s ease-in;
   background: var(--primary);
  border: 1px solid var(--primary);
 min-width: 130px;
  align-items: center;
  display: inline-flex;
}
.btn i {font-size: 28px;}
.btn:hover,
.btn:active,
.btn:focus,.btn-check:checked + .btn,
.btn.active,
.btn:first-child:active,
:not(.btn-check) + .btn:active {
  background: #1E8648;
  border-color: #1E8648;
  text-decoration: none;
  color:#ffffff
}
.btn-secondary, .btn-secondary:visited {
  color: #1E8648;
  background: #fff;
  border: 1px solid #fff;
}
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus {
  background: #1E8648;
  border-color: #1E8648;
	color:#ffffff
}
.btn-outline, .btn-outline:visited {
  color: #fff;
  background: transparent;
  border: 1px solid #fff;
}
.btn-outline:hover,
.btn-outline:active,
.btn-outline:focus {
  background: #1E8648;
  border-color: #1E8648;
  color: #fff;
}
.btn:active:focus,
.btn:focus,.btn-check:checked+.btn:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible, .btn:first-child:active:focus-visible, :not(.btn-check)+.btn:active:focus-visible {box-shadow: none;}
.form-floating label, select.form-select {color:#959494}
.form-control, .form-control-file, .form-select{font-weight: normal;border-radius:0.8rem;margin:10px 0;}
.form-control:focus, .form-select:focus{color: var(--secundary);background-color: #fff;border-color:var(--primary);outline: 0;box-shadow: none;}
.submit {display: flex;align-items: center;}
.form-floating > .form-control-plaintext ~ label::after, .form-floating > .form-control:focus ~ label::after, .form-floating > .form-control:not(:placeholder-shown) ~ label::after, .form-floating > .form-select ~ label::after {background-color: transparent}
.form-select{height: calc(3.5rem + calc(var(--bs-border-width) * 2));min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));line-height: 1.25;}
label.input-group-text{height: 38px; margin-top: 10px;}
/*******/
header .topbar {background: var(--primary);padding: 10px 0;}
header .topbar .nav-link {color: #fff;}
header .topbar .nav-item{margin: 0 15px;}
header .topbar .nav-link:hover,
header .topbar .nav-link:focus {color: #fff;}
header .topbar .dropdown-menu a{font-size: 15px;}
header .topbar .dropdown-menu a:hover{color:#1E8648;background: #fff;}
section {padding: 70px 0;}
.navbar-expand-xl .navbar-collapse { justify-content: right;}
.navbar {padding: 0;}
.navbar-brand { padding: 25px 15px;margin: 0px;}
.navbar-brand img {width: 230px;height:auto}
.nav-item {margin: 0 25px;}
.nav-link {padding: 0px !important;font-size: 14px;font-weight: 500;color:var(--tertiary);}
.nav-link:hover,.nav-link:focus, .nav-link.active{color: var(--primary)!important;text-decoration: none}
.navbar-ml .btn {padding-top: 12px;padding-bottom: 12px;font-size: 16px;font-weight: 500;}
.navbar-ml {display: flex;align-items: center;}
.navbar-ml .nav-item {margin: 0 10px;}
.dropdown:hover > .dropdown-menu,
.dropend:hover > .dropdown-menu { display: block;}
.dropdown-menu {border: none;box-shadow: rgba(0, 0, 51, 0.1) 12px 0px 30px;border-radius: 5px;left: -30px;min-width: 110px;}

/*index*/
.hero {height: 100%;padding: 0;}
.hero-video-content {height: 100%;max-height: 850px;width: 100%;overflow: hidden;position: relative;}
.hero-video-content:after {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
}
.content-overlay {position: absolute;z-index: 1;transform: translate(-50%, -50%);text-align: center;top: 50%;left: 50%;width: 100%;}
.hero h1 {color: #fff;font-size: 60px;font-weight: 600;line-height: 70px;margin-bottom: 28px;text-shadow: 25px 13px 50px #663333;}
.hero p {color: #fff;font-weight: 500;font-size: 30px;line-height: 45px;margin-bottom: 45px;text-shadow: 25px 13px 50px #000;}
.hero video {z-index: 0;width: 100%;height: 100%;object-fit: cover;}
.over {background: #fff1f2;margin: 70px 100px;border-radius: 20px;position: relative;}
.section-head {text-align: center;margin-bottom: 50px;}
.over .content p {margin-bottom: 30px;}
.over .content ul {display: flex;margin-top: 50px;gap: 40px;}
.over .content ul li {font-size: 20px;color:var(--tertiary);line-height: 28px;font-weight: 700;
  display: flex;align-items: center;width: 50%;}
.over .content ul li img {margin-right: 15px;}
.prod-img img {border-radius: 15px;height: auto;}
.over-btn {margin-top: 80px;text-align: center;}
.over .overlay-img {position: absolute;bottom: -105px;left: -35px;}
.exp-btn {margin-top: 80px;text-align: center;}
.info-card {
   	background: var(--primary);
      color: white;
      border-radius: 15px;
      padding: 2rem;
      max-width: 450px;
	  position: absolute;
      top: 60%;
      left:0;
	  z-index: 2;
      box-shadow: 0 0 30px rgba(0,0,0,0.2);
	transform: translateY(-50%);
    }
.info-card h3 {
      font-weight: 800;
      text-transform: uppercase;
      margin-bottom: 1rem;
      line-height: 1.4;
	  color: white;
  		font-size: 24px;
    }

    .info-card p {
      margin-bottom: 0;
      font-size: 1rem;
      line-height: 1.7;
    }


figure img{padding:25px}
figure p{text-align: right}
.blockquote {font-size: 24px;}
.blockquote-footer {font-style: italic;margin-top: 1rem;text-align: right;font-size: 0.95rem;}
.rounded{border-radius:15px!important}

.call-to-action {padding: 100px 0;background-color: var(--primary);margin: 70px 100px;border-radius: 20px;
 background-image: url("../fotomateriaal/kaart.webp");background-repeat: no-repeat;background-position: center;}
.call-content {text-align: center;}
.call-content h2 {font-size: 50px;font-weight: 600;line-height: 60px;color: #fff;margin-bottom: 15px;padding-bottom:0}
.call-content h2:after,.jobs h2:after{display:none}
.call-content p {color: #fff;font-size: 24px;margin-bottom: 30px;}
.jobs .title-content {text-align: center;}
.jobs h2 {color: var(--primary);font-size: 50px;line-height: 60px;padding-bottom:0}
.esf-logo {text-align: center;margin-top: 40px;}
/*anderepagina's*/
.inhoud {margin-top:50px}
.list-group-item{border:none;padding-bottom:0;padding-top:0}
address .naam{color:var(--primary)}
iframe.map {height:550px;display: block;width:100%;margin-top:100px;}
.verantwoord{
  width: 100%;
  padding:150px 0 220px 0;
  background: url(../fotomateriaal/duur.webp);
  background-position: center 100%;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: 100%;
}
.verantwoord-content h2 {padding-bottom:0}
.verantwoordwrap, .geschiedenis{margin-top:70px}
.owl-carousel .owl-stage { display: flex; padding-left: 10px;padding-right: 10px;}
.owl-carousel .owl-item {margin: 0 10px;}
.owl-carousel .owl-stage .owl-item .card { height: 100%;border: 1px solid #ddd;border-radius: 8px;overflow: hidden; }
.owl-nav{text-align: center;}
.owl-nav span{font-size: 60px;color:var(--secondary);}
.flow .container{ max-width: 1000px;}
.slachthuis {margin-top: 100px;}
.slachthuis .flow-content h4{ color: #666666;}
.flow-content .icon{margin-bottom: 10px;}
.flow-content h4{font-size: 30px;font-weight: 600;line-height: 40px;margin-bottom: 10px;}
.flow-img{text-align: center}
.flow-img img{height: auto;max-width:260px; width: 100%;padding: 10px;}

.bg-white{padding:50px}
.varkenskweker{margin-bottom: 100px;}
.sq-box{
  padding: 25px;
  background: #f6f6f6;
  width: 200px;
  height: 200px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}
.sq-box h3{font-size: 18px;font-weight: 600;color: #666666;line-height: 24px;margin: 10px 0 0;}



.linedraw,.arrow {opacity: 0;transition: opacity 1s ease-in;}
.space-t-b{background: #fff1f2;margin-bottom: 150px;margin-top: 150px;border-radius: 20px;padding: 50px;}
.retail{margin-top:70px}

/* === FLOW RESPONSIVE STYLING === */
.flow {
  position: relative;
  overflow: visible;
}
.timeline{position: relative;}
.svgline {
  position: absolute;
  left: 50%;                 /* gecentreerd */
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
  width: 100px;
  height: auto;
  overflow: visible;
  pointer-events: none;
}

/* Grijze en rode lijn exact overlappen */
.svgline .defaultline {
  transform: translateX(48px);  /* beide exact boven elkaar */
}
.svgline #line {
  transform: translateX(0);  /* beide exact boven elkaar */
}

#arrow {
  transform-origin: center;
}

/* Responsief aanpassen */
@media (min-width: 1400px) {
  .svgline { width: 120px; }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .svgline { width: 100px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .svgline { width: 80px; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .svgline { width: 70px; }
}
/* === Responsive fix voor de pijl === */
@media (min-width: 576px) and (max-width: 767.98px) {
  .svgline { width: 60px; }
  #arrow { transform-origin: top; scale: 1.0; }  /* ✅ gebruikt 'scale:' ipv 'transform:' */
  .sq-box { width: 170px; height: 170px; }
}

@media (max-width: 575.98px) {
  .svgline { width: 50px; }
  #arrow { transform-origin: top; scale: 1.0; }  /* ✅ idem */
  .sq-box { width: 150px; height: 150px; }
}


.certificaten{margin-top: 65px;margin-bottom:65px}
.certificaten ul{display: flex;justify-content: space-between;}
.certificaten ul img{height: auto;}
.certificaten ul li {list-style: none}
.pdf li{padding: 5px 0;list-style-type: none!important}
.pdf li a {
  position: relative;
  font-size: 24px;
  color: var(--primary);
  font-weight: 500;
  display: block;
  line-height: 32px;
  border: 1px solid transparent;
  padding: 8px 20px;
  border-radius: 10px;
  text-decoration: none;
}
.pdf li a:hover {border: 1px solid var(--primary);}
.pdf li a::after {
  content: "";
  background: url("../fotomateriaal/arrow-right-short.svg");
  width: 28px;
  height: 28px;
  display: block;
  background-repeat: no-repeat;
  position: absolute;
  top: 10px;
  right: 10px;
  background-size: 28px;
}
.pdf i{margin-right:10px}
.whybio{margin-top:50px}
.whybio .card {border-radius: 25px;background: transparent;height:100%}
.whybio .card h4 {font-size: 18px;line-height: 35px;text-transform: uppercase;text-align: center;color: var(--primary);font-weight: 700;}
.whybio .card p {line-height: 28px;margin: 0;}
.assor{margin-top:100px; margin-bottom:70px}

/**----Footer Css----**/
footer { background: var(--primary);padding: 70px 0 50px;}
.footer-logo {margin-top: 75px;}
.footer-logo ul img {height: auto;}
.footer-logo ul,.footer-info .inline-flex {display: flex;gap: 15px;margin-bottom: 15px;}
.footer-info ul {padding-left:0;}
.footer-info ul li {padding: 5px 0;display: flex;}
.footer-info ul a {color: #fff;text-decoration: underline;transition: all ease 0.5s;line-height: 31px;}
.footer-info ul a:hover {text-decoration: none;}
.footer-info h3 {font-size: 22px;font-weight: 700;line-height: 32px;color: #fff;margin-bottom: 30px;}
.l-space {padding-left: 80px;}
.footer-info .inline-flex {margin-left: 25px;}
.footer-info .inline-flex li {position: relative;margin-right: 15px;}
.footer-info .inline-flex li:after {
  position: absolute;
  content: "";
  right: -15px;
  display: block;
  height: 16px;
  width: 1px;
  background: #fff;
  top: 13px;
}
.footer-info .inline-flex li:last-child:after {display: none;}
.footer-info .inline-flex li:last-child {margin-right: 0;}
footer .address {display: inline-flex;}
footer .address p {color: #fff;line-height: 30px;}
.footer-info i {color: #fff;padding-right: 10px;font-size: 22px;}
.footer-info i.bi-facebook {font-size: 35px;}



/*------- Scroll to Top -------*/
#return-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #ffffff;
  width: 50px;
  height: 50px;
  text-decoration: none;
  -webkit-border-radius: 35px;
  -moz-border-radius: 35px;
  border-radius: 35px;
border:1px solid #f8eced;
  display: none;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#return-to-top i {
  color: var(--primary);
  margin: 0;
  position: relative;
  left: 16px;
  top: 13px;
  font-size: 19px;
  line-height: normal;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#return-to-top:hover {
  background: var(--primary);
}
#return-to-top:hover i {
  color: #ffffff;
  top: 5px;
}
#return-to-top i.bi.bi-chevron-up:before{vertical-align: 0em;}
/* Responsive */

@media (max-width: 1199px) {
h2{font-size: 45px;line-height: 55px;}

.navbar-collapse {
	    width: 100%;
	    left: 0;
	    right: 0;
	    position: absolute;
	   top: 83px;
	    background: #ffffff;
	    z-index: 9;
	    padding: 15px;
	    box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.1);

	}
.navbar-toggler {
	    opacity: 1;
	    border: 0;
	    padding: 0;
	    font-size: 36px;
	    position: absolute;
		right: 10px;
    	top: 23px;
		color: var(--tertiary);
	}
.navbar-toggler:focus{box-shadow: none;}
.navbar-toggler:focus-visible {outline: none;}
.navbar-ml {position: absolute;right: 45px;top: 14px;}
header .dropdown-menu{right: 0;left: auto;}
.topbar .nav-item:last-child{margin-right: 0;}
.nav-item {margin: 0 10px;}
.nav-link{font-size: 16px;line-height: 28px;}
.navbar-brand {padding: 15px 0;}	
.navbar-brand img{width:180px;}
.nav-link:hover{color: var(--tertiary);}
.over .overlay-img img { max-width: 265px;}
/*.space-t-b, .bg-white {padding: 30px 0;}*/
}

@media (max-width: 1024px) {
 h2{font-size: 35px;line-height: 45px;}
.inhoud h1{font-size: 45px;line-height: 55px;margin-bottom: 25px;}
.inhoud h2{font-size: 35px;line-height: 45px;margin-bottom: 0px;margin-top: 0px;}
 .hero h1 {font-size: 45px;line-height: 55px;margin-bottom: 25px;}
  .hero p{font-size: 22px;line-height: 32px;margin-bottom: 25px;}
.over,.call-to-action{margin: 50px 50px;}
.over-btn{margin: 40px 0;}
.prod-img{text-align: center;}
.exp-btn{margin-left: 600px;text-align: left}
/*.jobs ul {width: 100%;}*/
.l-space {padding-left: 0;}
.verantwoord {padding: 150px 0 150px 0;}
.flow-content h4{font-size: 28px;line-height: 38px;}
/*.space-t-b {margin-top: 61px;margin-bottom: 61px;}
.varkenskweker { margin-bottom: 70px;margin-top: 0;}*/
.off-certi{padding-top: 0;}
footer{padding: 50px 0 0;}
footer .address{margin-bottom: 0;}
.footer-logo, .footer-info {margin: 0 0 30px;}
.footer-info h3{margin-bottom: 15px;}
}

@media(max-width: 768px) {
h1{font-size: 28px;line-height: 38px;}
h2{font-size: 28px;line-height: 38px;}
.inhoud h2 {font-size: 30px;line-height: 40px;}
.navbar-toggler{top: 19px;}
.navbar-brand img{width:150px;}
.navbar-collapse {top: 74px;}
.navbar-ml .btn{padding: 8px 15px;font-size: 12px;min-width: auto;}	
.hero video {height: 400px;}
 .hero h1 {font-size: 30px;line-height: 38px;margin-bottom: 15px;}
  .hero p,.call-content p {font-size: 16px;line-height: 22px;margin-bottom: 20px;}
.hero p br{display: none;}
.hero .btn {font-size: 15px;padding: 15px 15px;}
 .over,.call-to-action{margin: 50px 15px;padding: 40px 0;}
 .over .content ul{margin: 0;display: block;}
.over .content ul li{width: 100%;font-size: 18px;padding: 8px 0;}
.over-btn{margin: 30px 0;}
	section{padding: 0}
.info-card {
  max-width:100%;
  position: relative;
margin-bottom: 50px;
  box-shadow:none;
  transform: none;
}
.exp-btn{margin-left:0;text-align: center}
.overlay-img{display:none}
.call-content .btn{margin-bottom: 15px;}
.jobs{padding: 0 0 40px;}
.jobs .title-content{margin-bottom: 30px;}
.jobs h2{margin-bottom: 28px;}
 .verantwoord {padding: 150px 0 80px 0;}
.flow-img {margin-bottom: 25px;}
}
@media(max-width: 575px) {
.flow-content .xs{display: flex;align-items: center;}
.flow-content p{font-size: 15px;line-height: 21px;margin-bottom: 0;}
.flow-content h4{font-size: 24px;line-height: 25px;}
.flow-content .xs .icon {min-width: 50px;}
.flow-content .xs img{height: 40px;width: 40px;}
.flow-img{max-width: 40%;margin: 0 auto 10px;}
.whybio{margin-top:50px}
.blockquote {margin-top: -150px;}
}
@media(max-width: 460px) {
.positief{background-position: right 24%;}
.verantwoord {padding: 80px 0 50px 0;}
.flow-img{max-width: 50%;margin: 0 auto 10px;}
}
