.no-scroll {
  overflow: hidden !important;
}

body.no-scroll {
  overflow: hidden !important;
}

html {
  font-size: 16px;
  background-color: var(--primarycolour);
  width: 100%;
  scroll-behavior: smooth;
}

html, body {
  background:var(--secondarytextcolour);
  color: var(--primarycolour);
}

.flex-row {
  display:flex;
  flex-direction: row;
}

.flex-column {
  display:flex;
  flex-direction: column;
}

.w-100 {
  width:100%;
}

.center {
  align-items: center;
}

/*bootstrap grid */
:root {
  --grid-columns: 12;
  --grid-gutter-width: 1rem;
  --grid-prefix: "bs-";
  --grid-breakpoints-sm: 576px;
  --grid-breakpoints-md: 768px;
  --grid-breakpoints-lg: 992px;
  --grid-breakpoints-xl: 1200px;
  --grid-breakpoints-xxl: 1400px;
}

/* Row styling */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--grid-gutter-width));
  margin-right: calc(-0.5 * var(--grid-gutter-width));
  margin-left: calc(-0.5 * var(--grid-gutter-width));
}

.row > * {
  padding-right: calc(0.5 * var(--grid-gutter-width));
  padding-left: calc(0.5 * var(--grid-gutter-width));
  margin-top: var(--grid-gutter-width);
}

/* Column classes */
.col {
  flex: 1 1 0%;
  max-width: 100%;
  box-sizing: border-box;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 { flex: 0 0 calc(100% / 12); max-width: calc(100% / 12); }
.col-2 { flex: 0 0 calc(200% / 12); max-width: calc(200% / 12); }
.col-3 { flex: 0 0 calc(300% / 12); max-width: calc(300% / 12); }
.col-4 { flex: 0 0 calc(400% / 12); max-width: calc(400% / 12); }
.col-5 { flex: 0 0 calc(500% / 12); max-width: calc(500% / 12); }
.col-6 { flex: 0 0 calc(600% / 12); max-width: calc(600% / 12); }
.col-7 { flex: 0 0 calc(700% / 12); max-width: calc(700% / 12); }
.col-8 { flex: 0 0 calc(800% / 12); max-width: calc(800% / 12); }
.col-9 { flex: 0 0 calc(900% / 12); max-width: calc(900% / 12); }
.col-10 { flex: 0 0 calc(1000% / 12); max-width: calc(1000% / 12); }
.col-11 { flex: 0 0 calc(1100% / 12); max-width: calc(1100% / 12); }
.col-12 { flex: 0 0 100%; max-width: 100%; }

/* Offset classes */
.offset-1 { margin-left: calc(100% / 12); }
.offset-2 { margin-left: calc(200% / 12); }
.offset-3 { margin-left: calc(300% / 12); }
.offset-4 { margin-left: calc(400% / 12); }
.offset-5 { margin-left: calc(500% / 12); }
.offset-6 { margin-left: calc(600% / 12); }
.offset-7 { margin-left: calc(700% / 12); }
.offset-8 { margin-left: calc(800% / 12); }
.offset-9 { margin-left: calc(900% / 12); }
.offset-10 { margin-left: calc(1000% / 12); }
.offset-11 { margin-left: calc(1100% / 12); }

/* Breakpoints */
@media (min-width: 576px) {
  .col-sm { flex: 1 1 0%; max-width: 100%; }
  .col-sm-1 { flex: 0 0 calc(100% / 12); max-width: calc(100% / 12); }
  .col-sm-2 { flex: 0 0 calc(200% / 12); max-width: calc(200% / 12); }
  .col-sm-3 { flex: 0 0 calc(300% / 12); max-width: calc(300% / 12); }
  .col-sm-4 { flex: 0 0 calc(400% / 12); max-width: calc(400% / 12); }
  .col-sm-5 { flex: 0 0 calc(500% / 12); max-width: calc(500% / 12); }
  .col-sm-6 { flex: 0 0 calc(600% / 12); max-width: calc(600% / 12); }
  .col-sm-7 { flex: 0 0 calc(700% / 12); max-width: calc(700% / 12); }
  .col-sm-8 { flex: 0 0 calc(800% / 12); max-width: calc(800% / 12); }
  .col-sm-9 { flex: 0 0 calc(900% / 12); max-width: calc(900% / 12); }
  .col-sm-10 { flex: 0 0 calc(1000% / 12); max-width: calc(1000% / 12); }
  .col-sm-11 { flex: 0 0 calc(1100% / 12); max-width: calc(1100% / 12); }
  .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 768px) {
  .col-md { flex: 1 1 0%; max-width: 100%; }
  .col-md-1 { flex: 0 0 calc(100% / 12); max-width: calc(100% / 12); }
  .col-md-2 { flex: 0 0 calc(200% / 12); max-width: calc(200% / 12); }
  .col-md-3 {flex: 0 0 calc(300% / 12);max-width: calc(300% / 12);}
  .col-md-4 { flex: 0 0 calc(400% / 12); max-width: calc(400% / 12); }
  .col-md-5 { flex: 0 0 calc(500% / 12); max-width: calc(500% / 12); }
  .col-md-6 { flex: 0 0 calc(600% / 12); max-width: calc(600% / 12); }
  .col-md-7 { flex: 0 0 calc(700% / 12); max-width: calc(700% / 12); }
  .col-md-8 { flex: 0 0 calc(800% / 12); max-width: calc(800% / 12); }
  .col-md-9 { flex: 0 0 calc(900% / 12); max-width: calc(900% / 12); }
  .col-md-10 { flex: 0 0 calc(1000% / 12); max-width: calc(1000% / 12); }
  .col-md-11 { flex: 0 0 calc(1100% / 12); max-width: calc(1100% / 12); }
  .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}


@media (min-width: 992px) {
  .col-lg { flex: 1 1 0%; max-width: 100%; }
  .col-lg-1 { flex: 0 0 calc(100% / 12); max-width: calc(100% / 12); }
  .col-lg-2 { flex: 0 0 calc(200% / 12); max-width: calc(200% / 12); }
  .col-lg-3 { flex: 0 0 calc(300% / 12); max-width: calc(300% / 12); }
  .col-lg-4 { flex: 0 0 calc(400% / 12); max-width: calc(400% / 12); }
  .col-lg-5 { flex: 0 0 calc(500% / 12); max-width: calc(500% / 12); }
  .col-lg-6 { flex: 0 0 calc(600% / 12); max-width: calc(600% / 12); }
  .col-lg-7 { flex: 0 0 calc(700% / 12); max-width: calc(700% / 12); }
  .col-lg-8 { flex: 0 0 calc(800% / 12); max-width: calc(800% / 12); }
  .col-lg-9 { flex: 0 0 calc(900% / 12); max-width: calc(900% / 12); }
  .col-lg-10 { flex: 0 0 calc(1000% / 12); max-width: calc(1000% / 12); }
  .col-lg-11 { flex: 0 0 calc(1100% / 12); max-width: calc(1100% / 12); }
  .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}


@media (min-width: 1200px) {
  /* Herhaal hetzelfde patroon voor .col-xl-* */
}

@media (min-width: 1400px) {
  /* Herhaal hetzelfde patroon voor .col-xxl-* */
}

header, section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: visible !important;
  scroll-behavior: smooth;
  height: auto;
  scroll-margin-top: 75px;
}

.hero-sectie, .banner, .diensten, .keurmerken-sectie, .projecten-container, .over, .offerte, .contact, .basis-sectie, .reviews {
  display: flex;
  padding:50px 70px;
  gap: 48px;
  position: relative;
  width: 100%;
}

.hero-container, .section-title, .card-container, .banner-content, .over-content, .form-container, .contact-content, .container-footer, .nav-content{
  max-width:1600px;
}


#open-sollicitatie {
  background-color: var(--quaternarycolour);
}

 table {
  width: 100%;
  min-width: 300px;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  font-family: var(--font-family-open-sans);
  text-align: left;
}

td {
  padding:8px 12px;
}


/*buttons */

 button, .button {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 16px;
  position: relative;
  flex: 0 0 auto;
  border-radius: 100px;
  transition: 0.5s ease;
  cursor:pointer;
}

.btn-contact, .btn-hero, .btn-banner1 {
  background-color: var(--accent1-colour);
  border: 3px solid var(--accent1-colour);
  color:var(--secondarytextcolour);
}

.btn-contact:hover, .btn-hero:hover, .btn-banner1:hover {
  transform: scale(1.05);
}

.btn-banner2 {
  border: 2px solid var(--accent1-colour);
  background-color: transparent;
  color:var(--accent1-colour);
}

.btn-banner2:hover{
  transform: scale(1.05);
}

.btn-navbar {
  color:var(--secondarytextcolour);
  border: 2px solid var(--secondarytextcolour);
  }

.btn-navbar:hover {
  background-color: var(--secondarytextcolour);
  color:var(--primarycolour);
}
/*einde buttons*/

 /* navbar*/
  /* Stel het uitklapmenu in om te scrollen als dat nodig is */

  #dynamicButtonContainer {
    display: flex;
    gap: 10px;
    margin-left: auto;
}

  .nav-center ul {
    overflow-y: auto; /* Scroll als de inhoud te groot is voor het scherm */
    -webkit-overflow-scrolling: touch;  /* Smooth scrolling on iOS */
  }

  .stickysticky {
    width:100%;
    position: sticky; 
    top: 0; 
    z-index: 4;
  }

  nav {
  color: var(--primarytextcolour);
  justify-content: space-between;
  z-index: 10;
  transition: background-color 0.3s ease!important;
  width:100%;
  background-color: transparent;
}

.nav-content {
  display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    margin: 0 auto;
    padding: 16px 0;
    background-color: inherit;
}

nav.scrolled {
  background-color: rgba(111, 122, 102, 1); /* Volledig zwart wanneer gescrold */
  width:100%;
}

nav {
  color: var(--primarytextcolour);
  justify-content: space-between;
  z-index: 10;
  transition: background-color 0.3s ease!important;
  width:100%;
  background-color: transparent;
}

/* Logo stijlen */
.logo {
  max-width: 200px;
  max-height: 75px;
  object-fit: contain;
}

.logo img {
  max-width: 200px;
  max-height: 56px;
}

/* Menu-list styling */
.nav-center {
  flex-grow: 1;
  display: flex;
  justify-content: center;
}

ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

ul li {
  margin-right: 20px;
  font-weight:600!important;
  .nav-button-mobile {
    display:none;
  }
}

ul li a {
  color: var(--secondarytextcolour);
  text-decoration: none;
  transition: color 0.3s;
  display: inline-block;
  padding: 15px 36px;
  position: relative;
}

ul li a:after {
  background: none repeat scroll 0 0 transparent;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  background: currentColor;
  transition: width 0.5s ease 0s, left 0.5s ease 0s;
  width: 0;
}

ul li a:hover:after {
  color: currentColor;
  width: 75%; 
  left: 12.5%; /*punt waar onderlijning begint t.a. link element, dus (100%-width / 2) */
}

/* Hamburger icon */
.checkbtn {
  font-size: 30px;
  color: var(--secondarytextcolour);
  cursor: pointer;
  display: none;
  z-index: 2; 
  margin:0;
}

#check {
  display: none;
}

.nav-button-mobile {
  display: none;
  }

.closebtn {
    position: absolute;
    top: 30px;
    right: 55px;
    font-size: 30px;
    color: var(--secondarytextcolour);
    cursor: pointer;
    display: none;
    z-index: 3;
}
/*einde navbar*/

/*basis onderdelen */
.basis-row {
  /* display:grid!important; */
  width:100%;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap:24px;
  max-width:1600px;
  padding:24px 0!important;
}

.basis-div {
  display:grid!important;
  width:100%;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap:24px;
  max-width:1600px;
  margin:2px;
}

.basis-kolom {
  width:auto;
  height:fit-content;
  padding:12px;
}

.basis-kolom h3, .basis-kolom h4, .basis-kolom h5, .basis-kolom p {
  margin-left: -12px;
}

.contactform-btn {
  margin: 12px 0;
  cursor:pointer;
}

#contactform {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height 0.7s ease, visibility 0.7s ease;
}

#contactform[aria-hidden="false"] {
  max-height: 1000px;
  visibility: visible;
}

button#contactform-submit, .contactform-submit-btn {
  width: 25%;
  border: none;
  background-color: #124559;
  color: #fff;
  }
  
  button#contactform-submit:hover {
    background-color:#8baebd;
  }
/* einde basis onderdelen*/

/*hero */
.hero-sectie {
  position: relative;
  height: 80vh; /* Zet de hoogte naar 70vh zoals gevraagd */
  margin-top:-104px;
  justify-content: center;
}

.hero-sectie::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}


.hero-container {
  align-items: flex-start;
  gap: 24px;
  color: white;
  z-index: 1; 
  padding-right: 500px;
}

.hero-container h2 {
  text-align: left;
}

.hero-container p{
  font-size: var(--font-size-l);
  line-height:1.4em;
}

.actiebuttons {
  display: grid;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 50px 70px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
 .actiebutton1 {
  display: flex;
  flex: 0 1 22%;
  padding:12px;
  align-items: center;
  justify-content: space-around;
  flex-direction: column;
  gap: 24px;
 }

.actiebutton1 i {
  width: 49px;
  height: 40px;
}


.usps .actiebutton1 .fa {
  display: block;
  transition: transform 0.7s ease-in-out, box-shadow 0.5s ease-in-out;
  position: relative;
}

.usps .actiebutton1 .fa:hover {
  transform:translateY(-20px);
}



/* Offerte*/


/* forms */
.form-container{
  width:100%;
  gap:0;
}
.upload-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 0px solid var(--secondarycolour);
  border-radius: 50px;

}
.upload-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background-color: var(--secondarytextcolour);
  border-radius: 50px;
}

.file-name {
  flex-grow: 1;
  padding-left: 15px;
  color: var(--secondarycolour);
  font-family: var(--font-family-open-sans);
}

.upload-btn {
  background-color: var(--quaternarycolour);
  padding: 10px 20px;
  border-radius: 50px;
  cursor: pointer;
  color: var(--primarycolour);
  text-align: center;
  white-space: nowrap;
  margin-bottom:0px!important;
}

.form-btn {
  background-color: transparent;
  color: var(--accent1-colour);
  transition: 0.5s ease;
  margin-top: 24px;
  border:3px solid var(--accent1-colour);
  width:25%;
  cursor: pointer;
}

.form-btn:hover{
  background-color: var(--accent1-colour);
  border: 3px solid var(--accent1-colour);
  color: var(--quaternarycolour);
}

form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width:75%;
  max-width:1200px;
}

.row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.col {
  flex: 1;
  margin-right: 10px;
}

.col-3 {
  flex: 1 1 25%;
  margin-right: 10px;
}

.col-6 {
  flex: 1 1 50%;
  margin-right: 0px;
}

.col-9 {
  flex: 1 1 75%;
  margin-right: 10px;
}

.col:last-child {
  margin-right: 0;
}

label {
  display: block;
  font-weight: bold;
  margin-bottom:10px;
}

.bold {
  font-weight:bold;
}

input[type="text"], input[type="number"], input[type="email"], input[type="date"], textarea, select{
  width: 100%;
  padding: 10px;
  border: 0px solid var(--secondarycolour);
  border-radius: 50px;
  box-sizing: border-box;
  color:var(--secondarycolour);
  background-color: var(--secondarytextcolour);
}

textarea {
  height: 200px;
  overflow:hidden;
  border-radius: 12px!important;
  overflow:auto;
}

label i {
  margin-right: 10px;
}
/* review slider */
.reviews {
  justify-content: center;
}
  
  .swiper {
    width:100%;
    max-width:1600px;
    overflow-y:clip;
  }
  
  #reviews .slider-wrapper {
    overflow: hidden;
    max-width: 1600px;
    margin: 0 70px 55px;
    padding: 0 0 48px 0;
  }
  
  .card-list .card-item {
    user-select: none;
    padding: 35px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    border-radius: 12px;
    backdrop-filter: blur(30px);
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(143, 143, 143, 0.2);
    box-shadow: 2px 4px 12px rgba(0,0,0,0.1);
    gap:12px;
    height: 340px;
  }
  
  .card-list .card-item .user-image {
    width: 48px;
    height: 48px;
    border-radius: 100%;
    border: 1px solid #fff;
    padding: 4px;
    display:none;
  }
  
  .persona {
    display:flex;
    flex-direction: row;
    gap:24px;
    height:17.5%;
  }
  
  .persona-text {
    display:flex;
    flex-direction: column;
    gap:8px;
  }
  
  .review-score {
    display:flex;
    flex-direction: row;
    gap:8px;
    height:12.5%;
    align-items: center;
  }
  
  .persona-text .disclaimer {
    color:grey;
  
  }
  
  .fa-star, .fa-star-half-stroke {
    color:#FDD663;
  }
  
  .slider-wrapper .swiper-pagination-bullet {
    background: rgba(0, 0, 0, 0.1);
    height: 13px;
    width: 13px;
    opacity: 0.5;
  }
  
  .slider-wrapper .swiper-pagination-bullet-active {
    opacity: 1;
  }
  
  .slider-wrapper .swiper-slide-button {
    color: #a2dee2;
    margin-top: -55px;
    transition: 0.2s ease;
  }
  
  .slider-wrapper .swiper-slide-button:hover {
    color: var(--accent1-colour);
  }

  .swiper-button-next, .swiper-button-prev {
    color: #c1c1c1;
  }
  
  .swiper-pagination-bullet-active {
    background: #c1c1c1;
}
  
  @media (max-width: 768px) {
    .slider-wrapper {
      margin: 0 10px 40px;
    }
  
    .slider-wrapper .swiper-slide-button {
      display: none;
    }
  }
  /*einde reviews*/

/* onze diensten */
.diensten {
  align-items: center;
}

.diensten .col-md-3 {
    flex: 0 0 calc(25% - 24px);
    max-width: calc(25% - 24px);
}

.card-container {
  display:flex;  
  flex-direction: row;
  gap: 24px;
  justify-content: space-between;
  flex-wrap: wrap;
  width:100%;
}


.pr-card {
  display: flex;
  flex-direction: column;
  height: 500px;
  overflow: hidden;
  position: relative;
  border-radius: 12px;
  box-shadow: 8px 8px 30px 4px rgb(12, 49, 64, 0.1);
}

.pr-imgbox {
  width: 100%;
  height: 250px;
}

.pr-imgbox img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.pr-textbox {
  height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: height 0.7s ease; 
  position: absolute;
  bottom: 0; 
  width: 100%;
  padding: 24px;
  gap: 12px;
  p{
    text-align: center!important;
    justify-content: center;
  }
  h3 {
    font-size:var(--font-size-l);
    text-align: center;
    margin-top:52px;
  }
}

.pr-textbox .number {
  font-size: 54px;
  margin-top: 25px;
  margin-bottom:-12px;
  font-family: var(--font-family-sometype_mono);
}

.pr-card:hover .pr-textbox {
  height: 350px;
}

.extra-text {
  opacity: 0; 
  visibility: hidden; 
  text-align: left!important;
  transition: opacity 0.5s ease, visibility 1.5s ease;
}

.pr-card:hover .extra-text {
  opacity: 1;
  visibility: visible; 
}

.card1{
  background-color: var(--quaternarycolour);
  color:var(--primarytextcolour);
}

.card2{
  background-color: var(--tertiarycolour);
  color:var(--primarytextcolour);
}

.card3{
  background-color: var(--secondarycolour);
  color:var(--secondarytextcolour);
}

.card4{
  background-color: var(--primarycolour);
  color:var(--secondarytextcolour);
}

/* keurmerken */
.keurmerken-sectie {
  position: relative;
  overflow: hidden!important;
}

.keurmerken {
  flex-direction: row;
  max-width:1600px;
  padding:48px 0;
  white-space: nowrap;

}

.keurmerken .section-title {
  margin-bottom:48px;
}

.keurmerken:before,
.keurmerken:after {
   position: absolute;
  top:0;
  width:250px;
  height:100%;
  content: "";
  z-index:2; 
}

.keurmerken:before{
background: linear-gradient(to left, rgba(255,255,255,0), white); 
left:0;
}
.keurmerken:after{
  background: linear-gradient(to right, rgba(255,255,255,0), white); 
  right:0;
  }

.keurmerken:hover .logos-slide{
  animation-play-state: paused;
}

.logos-slide {
  animation: 35s slide infinite linear;
  display:inline-block;
}

.logos-slide img{
  height: 60px;
  margin: 0 40px;
}

@keyframes slide { 
  from{
    transform: translateX(0);

  }
  to {
    transform: translateX(-100%);
  }
}
/*einde keurmerken*/

/*projecten*/


.projecten {
  position: relative;
  width: 100vw;
  height: 100%;
  overflow: hidden;
  z-index: 1;
  margin-bottom: 48px;
  padding:48px 0;
}

.slider {
  display: flex;
  width:100%;
}

.slider-wrapper {
  overflow: hidden;
  width:100%;
}

.slide {
  min-width: 100%;
  position: relative;
}

.slide img {
  width:100%;
  height:65vh;
  object-fit: cover;
}

.review {
  top: 60%;
  left:32%;
  transform: translate(-50%, -50%);
  position: absolute;
  display:flex;
  flex-direction: column;
  background: linear-gradient(64deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.4));
  padding: 24px;
  border-radius: 12px;
  width:50%;
  max-width:50%;
  backdrop-filter:blur(15px);
  box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.1), inset 0px 0px 8px rgba(0, 0, 0, 0.1);
  align-items: flex-start;
  gap:24px;
  h4 {
    text-align: left;
  }
}

i.prev,
i.next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background-color: rgba(255, 255, 255, 0.8);
    color: var(--primarycolour);
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 24px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

i.prev {
    left: 40px;
}

i.next {
    right: 40px;
}

i.prev:hover,
i.next:hover {
    background-color: rgba(255, 255, 255, 1);
    transform: translateY(-50%) scale(1.1);
}

.dots-wrapper {
  position: absolute;
  bottom: 70px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 100; /* Zorg ervoor dat de dots bovenop de slides komen */
  height:fit-content;
}

.dot {
  width: 12px;
  height: 12px;
  background-color:rgba(255, 255, 255, 0.5); /* Lichte kleur voor de inactieve dots */
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.dot.active {
  background-color: rgba(255, 255, 255, 1); /* Donkere kleur voor de actieve dot */
}

/* Make sure the slider container has a relative position */
.slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}
/*einde projecten*/

/*banner*/
.banner {
  display: flex;
  width:100%;
  justify-content: center;
  background-color: var(--quaternarycolour);
}

.banner-content {
  display:flex;
  flex-direction: row;
  align-items: center;
  width:100%;
  h3, h4{
    text-align: left;
  }
}

.text-banner{
  width:50%;
}

.btn-container{
  width:50%;
  display: flex;
  flex-direction: row;
  gap:24px;
  a {
    width:calc(50% - 12px);
  }
}
/*einde banner*/



  /* sectie titels*/
  .section-title {
    flex-direction: row;
    align-items: flex-end;
    gap:24px;
    display: flex;
    width:100%;
    z-index: 3;
  }

  .svg-color {
    color:var(--accent1-colour);
  }
  
/*squares*/
.square-container {
  position: relative; 
  width: 60px; 
  height: 100px; 
  z-index: 3;
  color: var(--accent1-colour);
}

.square {
  height: 20px;
  width: 20px;
  border: 2px solid currentColor;
  border-radius: 2px;
  position: absolute;
}

/* Drie onderste vierkantjes */
.square.bottom1 {
  bottom: 0;
  left: 0; 
}

.square.bottom2 {
  bottom: 0; 
  left: 20px; 
}

.square.bottom3 {
  bottom: 0; 
  left: 40px; 
}

/* Twee middelste vierkantjes */
.square.middle1 {
  bottom: 20px; 
  left: 0; 
}

.square.middle2 {
  bottom: 20px; 
  left: 20px; 
}

/* Bovenste vierkantje */
.square.top1 {
  bottom: 40px;
  left: 0; 
}
  /* einde sectie titels*/

/*over - cube*/

.over-content {
  flex-direction: row;
  max-width: 1600px;
}

.img-cube {
  display: flex;
  flex-direction: column;
  align-items: left;
  gap:60px;
  width:30%;
  margin-left:55px;
  margin-top:40px;
}

.scene {
  display:flex;
  flex-direction: column;
  align-items: center;
  gap:100px;
  width: 250px;
  height: 250px;
  perspective: 1000px;
  box-shadow: 1px 20px 45px 20px #00000040;
}

.cube {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transform: rotateX(0deg) rotateY(45deg);
  transition: transform 1s;
}

.face {
  position: absolute;
  width: 250px;
  height: 250px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
}

.face img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.front { transform: rotateY(0deg) translateZ(125px); }
.back { transform: rotateY(180deg) translateZ(125px); }
.right { transform: rotateY(90deg) translateZ(125px); }
.left { transform: rotateY(-90deg) translateZ(125px); }
.top { transform: rotateX(90deg) translateZ(125px); }
.bottom { transform: rotateX(-90deg) translateZ(125px); }

.controls i {
  margin: 20px 60px;
  color: var(--tertiarycolour);
  transition: 0.3s ease;
  opacity: 0.5;
}

.controls i:hover { /* Hover effect correct geplaatst */
  transform: scale(1.15);
  opacity: 1;
}

.text-over{
  display:flex;
  flex-direction: column;
  width:60%;
  align-items: left;
  gap:24px;
  h3,p {
    text-align: left;
  }
}
/*einde over - cube*/

/* contact */

.contact-content {
max-width:1600px;
flex-direction: row;
gap:48px;
}

.image-container {
  display:flex;
  width:50%;
}

.image-wrapper {
  display:flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height:400px;
  position:relative;
  overflow:hidden;
  transition: 0.3s ease;
}

.image-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.2;
  z-index: 2;
  pointer-events: none;
}

.image-wrapper img.logo-contact {
  position: absolute;
  max-width: 50%;
  max-height: 50%;
  object-fit: contain;
  z-index: 2;
  pointer-events: none;
}

  .contact-background-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s ease;
  }

.contact-background-img:hover {
    transform: scale(1.1); 
}

.contactgegevens{
  display:flex;
  flex-direction: column;
  width:60%;
  justify-content: space-evenly;
 h3 {
  text-align: left;
}
}
.btn-contact{
  width:35%;
}

/* footer */ 
.footer {
  background-color: var(--primarycolour);
  gap:36px;
  max-width:100%!important;
  padding:24px 70px;
}

.footer p, .footer a, .footer h4 {
  color:var(--secondarytextcolour);
  text-align:left;
}

.container-footer {
  display: grid;
  width: 100%;
  max-width: 1600px;
  padding: 40px 70px;
  color: var(--secondarytextcolour);
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-areas: 'contact contactgegevens2 links socials';
  justify-items: start;
}


 .subcontainer-1 {
  display: flex;
  width: 25%;
}

.subcontainer-2 {
  display: flex;
  flex-direction: row;
  width: 75%;
  justify-content: space-around;
}

 .phone-mail-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: 100%;
  gap: 12px;
}

 .container-phone, .container-mail{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  flex: 0 0 auto;
}

.container1 {
  text-align:center!important;
}


.container1 h4, .container2 h4, .container3 h4 {
  margin-bottom:8px;
}


.container-social {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  gap: 12px;
  width: 100%;
  justify-content: flex-start;
  i,a {
  color:var(--tertiarycolour);
}
}

.container1,  .contactgegevens-container, .container2, .container3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  justify-content: space-around;
}


.container3 {
  gap:16px!important;
  justify-content: flex-start;
}

.social-media-icons {
  gap:24px;
}

.social-icon i {
  font-size:1.2em;
}

.voettekst {
  text-align:center;
}
/* einde footer */

/*links*/
.links {
  background-color: var(--primarycolour);
  justify-content: center;
}
.links-content {
  width: 100%;
  max-width:1600px;
  padding:12px 70px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-evenly;
  a {
  color: var(--secondarytextcolour);
  margin: 12px 24px;
}
}
/*einde links*/

/* Desktop media query  */
@media (min-width: 1200px) {
  .nav-center ul {
    background-color:transparent!important;
  }

  .nav-content {
    background-color:transparent!important;
  }
 }

/* media query mobile*/
@media (max-width: 767px) {

  .hero-sectie, .banner, .diensten, .keurmerken-sectie, .projecten-container, .over, .offerte, .contact, .actiebuttons, .reviews, .basis-sectie {
     padding: 50px 35px;
   }

   .section-title h2 {
      text-align: left;
    }

   /*navbar*/
  .nav-content {
    padding: 12px 35px;
   }
   
    .li-btn {
      display:block;
    }
 
    .btn-navbar {
     display:none;
    }
  
    .nav-button-mobile {
      display: flex!important;
      background-color: var (--accent1-colour);
      color:var(--secondarytextcolour);
      padding:16px 24px;
      width:100%;
      margin: 24px 0px;
    }
 
    .nav-button-mobile:hover {
     background-color:transparent;
     border: 2px solid var(--accent1-colour);
     color: var (--accent1-colour);
   }
 
    ul li a:hover:after {
      display:none;
    }
    ul li a:hover, ul li a:active {
     color:var(--accent1-colour);
    }
  
    .checkbtn {
      display: block;
      order: 1;
    }
  
    .nav-center {
     position: fixed;
     top: 80px;
     right: -100%;
     width: 100%;
     height: calc(100vh - 80px);
     background-color: inherit;
     transition: right 0.3s ease-in-out;
     z-index: 3;
 }
  
    .nav-center ul {
     position: fixed;
     top: 85px!important;
     right: -100%;
     width: 100%;
     height: calc(100vh - 77px)!important;
     background-color: inherit;
     transition: right 0.3s ease-in-out;
     z-index: 3;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: 24px 35px;
     padding-bottom: 100px;
 }
  
    ul li {
      margin: 8px 0;
    }
  
    ul li a {
      font-size: 1.25em;
    }
  
     /* Wanneer de checkbox input is aangevinkt (hamburger is geklikt) */
     #check:checked ~ .nav-center ul {
      right: 0;
    }
 
    #dynamicButtonContainer {
     display: none;
 }
 
 
 .mobile-button-item {
   width: 60%;
   margin-top: 20px;
 }
 
 .mobile-button-item .nav-button {
   width: 100%;
   text-align: center;
   display: flex !important;
   justify-content: center;
   margin: 5px 0;
 }
  
 .closebtn {
   display: block;
   margin-top:15px;
}

    /*einde navbar */
 
   /*hero*/

   .hero {
    top:-18px;
   }

   #hero-sectie {
    height:100%;
    min-height:100vh;
   }

   .background-img {
    top:-20px;
  }

.hero {
  &::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); 
    z-index: 2;
 }
}
   .hero-container {
     max-width: 100%;
     z-index: 2;
     padding-right: 0;
     margin-top: 90px;
     h2 {
       text-align: left;
     }
     p{
       font-size: var(--font-size-m);
     }
 }

 .hero-sectie {
  margin-top: -120px;
 }

   /*einde hero*/
 
   /*usp's*/
   .actiebuttons {
    gap:48px;    
   }

   /*einde usps's*/

   /*onze diensten*/
.card-container {
  flex-direction: column;
  gap:48px;
}

.pr-card {
  height:500px;
  flex:none;
  width: 100%;
  border-radius:8px;
}

.pr-imgbox, .pr-textbox {
  height:50%;
}

.diensten .col-md-3 {
  flex: 1 1 100%; /* 1 per rij op kleine schermen */
  max-width: 100%;
}
/* einde onze diensten*/

/* keurmerken */

.keurmerken:before, .keurmerken:after {
  width:0px;
}

.keurmerken {
  padding:0;
}
/*einde keurmerken*/

/*projecten*/
.projecten {
  width:100vw;
  }

  .review {
    top: 0 !important;
    position: relative !important;
    display: flex;
    flex-direction: column;
    bottom: 0;
    left: 0 !important;
    background: linear-gradient(64deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.4));
    padding: 24px;
    border-radius: 12px;
    backdrop-filter: blur(15px);
    box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.1), inset 0px 0px 8px rgba(0, 0, 0, 0.1);
    align-items: flex-start;
    gap: 24px;
    width: 100%;
    max-width:100%;
    transform: none !important;
}

.slide {
  height:100%;
}

.dots-wrapper {
  top: 68vh;
}

i.prev, i.next {
  top: 40vh !important;
}

i.next {
  right: 24px;
}

i.prev {
  left: 24px;
}

 /*einde projecten*/

 /*banner*/
 .banner-content {
  flex-direction: column;
  gap:48px;
  h3, h4 {
    text-align: center;
}
 }

 .text-banner{
  width:100%;
  display:flex;
  flex-direction: column;
  gap:12px;
 }

 .btn-container {
  width:100%;
  flex-direction: column;
 }

 .btn-container {
  a {
      width: 100%;
  }
}
 /*einde banner*/

 /*over*/
 .text-over {
  width:100%;
 }

 .over-content {
  flex-direction: column;
 }

 .scene {
  width:200px;
  height:200px;
 }

 .controls {
  display:flex;
  flex-direction: row;
  align-items: center;
  height:50px;
  i {
    width:50%;
  }
 }

 .img-cube {
  align-items: center;
  width:100%;
  margin-left:0;
 }
  .cube {
    width: 100%;
    height: 100%;
  }

  .face {
    width: 200px;  /* Maak de faces kleiner */
    height: 200px;
  }

  .front { transform: rotateY(0deg) translateZ(100px); }
  .back { transform: rotateY(180deg) translateZ(100px); }
  .right { transform: rotateY(90deg) translateZ(100px); }
  .left { transform: rotateY(-90deg) translateZ(100px); }
  .top { transform: rotateX(90deg) translateZ(100px); }
  .bottom { transform: rotateX(-90deg) translateZ(100px); }
 /*einde over*/
 
   /*offerte */
   .row {
     flex-direction: column;
   }
 
   .col-6, .col, .form-btn, .col-12 {
     width:100%;
     flex: 1 1 100%;
     max-width: 100%;
   }
 
   form, .open-sol-form .form-btn {
     width:100%;
   }

   .form-container {
    gap:0!important;
   }
   /* einde offerte*/
 
   /*contact*/
   .contact-content {
    flex-direction: column;
   }

   .image-container, .contactgegevens{
    width:100%;
   }

   .contactgegevens {
    gap:24px;
    p{
      text-align: center;
    }
   }

   .btn-contact {
    width:100%;
  }
   /* einde contact*/
/* review slider */
.reviews {
  justify-content: center;
  
  }
  
  .swiper {
    width:100%;
    max-width:1600px;
  }
  
  .slider-wrapper {
    overflow: hidden;
    max-width: 1600px;
    margin: 0 70px 55px;
  }
  
  .card-list .card-item {
    height: auto;
    user-select: none;
    padding: 35px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    border-radius: 12px;
    backdrop-filter: blur(30px);
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(143, 143, 143, 0.2);
    box-shadow: 2px 4px 12px rgba(0,0,0,0.1);
    gap:16px;
  }
  
  .card-list .card-item .user-image {
    width: 48px;
    height: 48px;
    border-radius: 100%;
    margin-bottom: 40px;
    border: 1px solid #fff;
    padding: 4px;
  }
  
  
  .persona-text {
    display:flex;
    flex-direction: column;
    gap:8px;
  }
    
  .persona-text .disclaimer {
    color:grey;
  
  }
  
  .fa-star, .fa-star-half-stroke {
    color:#FDD663;
  }
  
  .slider-wrapper .swiper-pagination-bullet {
    background: rgba(0, 0, 0, 0.1);
    height: 13px;
    width: 13px;
    opacity: 0.5;
  }
  
  .slider-wrapper .swiper-pagination-bullet-active {
    opacity: 1;
  }
  
  .slider-wrapper .swiper-slide-button {
    color: #a2dee2;
    margin-top: -55px;
    transition: 0.2s ease;
  }
  
  .slider-wrapper .swiper-slide-button:hover {
    color: var(--accent1-colour);
  }
  
  @media (max-width: 768px) {
    .slider-wrapper {
      margin: 0 10px 40px;
    }
  
    .slider-wrapper .swiper-slide-button {
      display: none;
    }
  }
  /*einde reviews*/
   /*footer*/
   .container-footer {
    display: grid;
    width: 100%;
    max-width: 1600px;
    padding: 24px 35px;
    color: var(--secondarytextcolour);
    grid-template-rows: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: start;
    gap: 24px;
  }

   .footer {
    gap:0px;
   }

   .container-footer {
    padding:48px 35px;
   }
 
   .container1, .contactgegevens-container, .container2, .container3 {
     align-items: center;
     gap: 16px;
 }
 .footer p, .footer a, .footer h4 {
   text-align: center;
 }
 
 .phone-mail-container {
   align-items: center;
   i {
    display:none;
   }
 }

 .voettekst {
  padding:12px 35px;
 }
}
   /* einde footer */

   /*links*/
   .links-content {
    padding:12px 35px;

   }
   /*einde links */
 
   /* tablet */
 @media (min-width: 768px) and (max-width:1200px) {

  .hero-sectie, .banner, .diensten, .keurmerken-sectie, .projecten-container, .over, .offerte, .contact, .actiebuttons {
    padding: 50px 70px;
}

 /*navbar*/
 .nav-content {
  padding: 24px 70px;
}
.checkbtn {
  display: block;
  order: 1;
  margin-right: 20px;
}

ul li {
  margin: 20px 0;
}

ul li a {
  font-size: 1.25em;
}

 /* Wanneer de checkbox input is aangevinkt (hamburger is geklikt) */
 #check:checked ~ .nav-center ul {
  right: 0;
}

/* Zorg dat de reguliere button verborgen blijft in mobiele versie */
.btn-navbar {
  display: none;
}

/* Button voor mobiele versie zichtbaar maken */
.nav-button-mobile {
 display: flex !important;
 background-color: var(--accent1-colour);
 color: var(--secondarytextcolour);
 padding: 16px 24px;
 margin: 24px 0px;
 width: 100%;
}

.nav-button-mobile:hover {
  background-color:transparent;
  border: 2px solid var(--accent1-colour);
  color: var (--accent1-colour);
}

.closebtn {
  display:block;
  top: 45px;
  right: 110px;
}

.li-btn {
  display:flex;
}

#dynamicButtonContainer {
 display: none;
}

.nav-center {
position: fixed;
top: 80px;
right: -100%;
width: 100%;
height: calc(100vh - 80px);
background-color: inherit;
transition: right 0.3s ease-in-out;
z-index: 3;
}

.nav-center ul {
position: fixed;
top: 90px!important;
right: -100%;
width: 100%;
height: calc(100vh - 77px)!important;
background-color: inherit;
transition: right 0.3s ease-in-out;
z-index: 3;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 24px 35px;
padding-bottom: 100px;
}

.mobile-button-item {
 width: 60%;
 margin-top: 20px;
}

.mobile-button-item .nav-button {
 width: 50%!important;
 text-align: center;
 display: flex !important;
 justify-content: center;
 margin: auto!important;
}

#check:checked ~ .nav-center ul {
 right: 0;
}
/*einde navbar*/

/*basis sectie */

    .basis-row {
      grid-template-columns: 1fr;
    }
  
  
 
   /*hero*/
   .hero-sectie {
    margin-top: -154px;
   }

   .hero-container {
     gap: 24px;
     max-width: 100%;
     z-index: 3;
     padding-right:70px;
 }

 .hero-container .btn-hero {
  margin-top:24px;
 }

 .background-img {
  top:-64px;
 }

   /*einde hero*/

   /*usps's*/
   .actiebutton1 {
    height:150px;
    justify-content: flex-start;
    min-width: 50%;
   }

   .keurmerken:before, .keurmerken:after {
    width:100px;
   }

   .actiebuttons {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   }

   /*einde usp's*/
    
   /*direct solliciteren*/
   form {
     width:100%;
   }
 
   .open-sol-form {
     .form-container {
 align-items: flex-start;
 }
   }
 
   /*diensten */

   .diensten .col-md-3 {
    flex: 1 1 calc(50% - 24px); 
    max-width: calc(50% - 24px);
}

.card-container {
  gap:48px;
}

/*projecten*/
.review {
  top: 0 !important;
  position: relative !important;
  display: flex;
  flex-direction: column;
  bottom: 0;
  left: 0 !important;
  background: linear-gradient(64deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.4));
  padding: 24px;
  border-radius: 12px;
  backdrop-filter: blur(15px);
  box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.1), inset 0px 0px 8px rgba(0, 0, 0, 0.1);
  align-items: flex-start;
  gap: 24px;
  width: 100% !important;
  max-width:100%!important;
  transform: none !important;
}

.projecten {
width:100vw;
}

.slide {
  height:100%;
}

.dots-wrapper {
top: 65vh;
}

i.prev, i.next {
top: 35vh!important;
width: 56px;
height: 56px;
font-size: 36px;
}
 /*einde projecten*/

/*over*/
.text-over {
  width:100%;
 }

 .over-content {
  flex-direction: column;
 }

 .controls {
  display:flex;
  flex-direction: row;
  align-items: center;
  width:33%;
  height:50px;
  i {
    width:50%;
  }
 }

 .img-cube {
  align-items: center;
  width:100%;
  margin-left:0;
 }
  .cube {
    width: 100%;
    height: 100%;
  }
 /*einde over*/

 /*contact*/
 .contact-content {
  flex-direction: column;
 }

 .image-container, .contactgegevens{
  width:100%;
 }

 .contactgegevens {
  gap:24px;
  align-items: center;
}

.btn-contact {
  width:50%;
}

.contactgegevens-container p{
  text-align: center;
}
 
 .contactgegevens-container, .contactgegevens-container .phone-mail-container {
  align-items: center;
 }
 /* einde contact*/

 /*footer*/

 .footer {
  gap:0px;
 }
 .container-footer {
  display: grid;
  width: 100%;
  max-width: 1600px;
  padding: 40px 35px;
  color: var(--secondarytextcolour);
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas:
  'contact contact contact'
  'openingstijden links socials';
  justify-items: center;
  align-items: start;
  gap: 24px;
}

 .footer p{
  text-align: center;
 }

 .phone-mail-container i{
  display:none;
 }

 .voettekst {
  padding:12px 70px;
  width:100%;
 }

 /*einde footer*/
}



@media screen and (max-width: 1200px) {
  .nav-center ul {
      /* Ensure the mobile menu always has the background color */
      background-color: inherit !important;
      opacity: 1 !important;
  }
  
  /* Keep navbar transparent initially but allow it to change on scroll */
  nav {
      background-color: transparent;
  }
}

