@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Global */
body {
  font-family: 'Outfit', sans-serif !important;
      letter-spacing: 0.02rem;
    font-weight: 300 !important;
}
  .footer-menu ul {
    line-height: 1.9rem !important;
  }
  .social-icon {
    font-size: 1.4rem !important;
  }
  address {
    font-weight: 200 !important;
    line-height: 1.9rem !important;
  }
  p {
    font-weight: 200 !important;
  }
  .h-56 {
    height: 18rem !important;
  }
  .font-medium {
    font-weight: 300 !important;
  }
    .font-regular {
    font-weight: 400 !important;
  }
 .font-med {
    font-weight: 500 !important;
  }
   .font-semi {
    font-weight: 600 !important;
  }
  .max-w-6xl {
    max-width: 90rem !important;
  }
  .text-l {
    font-size: 1.1rem !important;
  }
  .text-xxl {
    font-size: 1.45rem !important;
  }
  .text-soft {
    opacity: 0.7;
  }
  .news-section img {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .news-section img:hover {
    border-radius: 0 0 50% 50%;
  }
/* Headings */
h1, h2, h3 {
  font-weight: 700;
}
/* Hover effect */
button:hover {
  opacity: 0.9;
  transition: opacity 0.3s ease;
}
/* Role card paragraph */
.role-card-p {
  font-size: 37px;
  line-height: 40px;
}
/* Badges */
.label-badge {
  display: inline-block;
  padding: 0.15em 0.75em;
  background: #f3f3f3;
  color: #444;
  border-radius: 9999px;
  font-size: 0.85em;
  margin-right: 0.33em;
  margin-bottom: 0.25em;
  white-space: nowrap;
}
/* Sidebar label text */
.filter-label {
  font-family: 'Outfit', sans-serif;
  font-weight: 300; /* light */
  font-size: 18px;
  color: #606060;
  display: flex;
  align-items: center;
  gap: 0.5rem; /* spacing between checkbox and label text */
}
/* Customize checkbox */
.filter-label input[type="checkbox"] {
  accent-color: #739D6C; /* custom accent color */
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  cursor: pointer;
}
/* Agenda fonts */
.agenda-title p.text-sm.mb-0.p-2 {
  font-size: 20px;
  line-height: 24px;
  color: #fff;
  font-family: 'Outfit';
}
.agenda-title h3.font-semibold.text-lg.mb-1.p-2 {
  font-size: 24px;
  color: #fff;
  font-family: 'Outfit';
  font-weight: 300;
}
.agenda-title .flex.space-x-4.text-sm.font-semibold.p-2 {
  font-size: 18px;
  margin-bottom: 30px;
}
/* Footer fonts */
.footer-menu a {
}
.over-ons h3.font-semibold.mb-4,
.footer-menu-news h3,
.footer-menu .font-semibold {
  font-size: 22px;
  font-weight: 300;
  line-height: 28px;
}
.over-ons p.text-sm.mb-6 {
  font-size: 18px;
  line-height: 24px;
  font-weight: 300;
}
.footer-address address.not-italic.text-sm.mb-6 {
  font-size: 18px;
  line-height: 24px;
  font-weight: 300;
}
#desktop-menu a,
#desktop-menu button {
  font-size: 22px;
  font-weight: 500; /* regular */
  font-family: 'Outfit', sans-serif;
}
@media screen and (max-width: 1199px) {
 #desktop-menu a,
#desktop-menu button {
  font-size: 18px;
}
}
@media screen and (max-width: 991px) {
 #desktop-menu a,
#desktop-menu button {
  font-size: 16px;
}
}
 #desktop-menu a.bg-black.text-white:before {
  display: none !important;
 }
 #desktop-menu a
 {
  position: relative;
 }
  #desktop-menu a:before {
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 100%;
    left: 0px;
    bottom: -30px;
    background-color: #000;
    transition: all ease 0.4s;
    opacity: 0;
    position: relative;
  }
    #desktop-menu a:hover::before {
      opacity: 1;
    }
.search-container {
  display: flex;
  align-items: center;
  position: relative;
}
.mb-8.text-base.leading-relaxed.text-white {
  font-size: 20px;
  font-weight: 300;
  line-height: 27px;
}
.newsletter-section p {
}
/* Initially hide input on small devices */
#search-input {
  width: 0;
  opacity: 0;
  pointer-events: none;
  transition: width 0.3s ease, opacity 0.3s ease;
}
#search-input.expanded {
  width: 150px; /* or desired expanded width */
  opacity: 1;
  pointer-events: auto;
}
div#mobile-menu-overlay {
    z-index: 9999;
}
.slider-buttons a {
    font-size: 22px;
    line-height: 30px;
    font-weight: normal;
    color: #000;
}
.grid-bouwoki h2,.info-sessions-content h2 {
  font-family: 'Outfit', sans-serif;
  font-size: 24px;
  color: #000;
  font-weight: 300;
  line-height: 30px;
}
.grid-bouwoki span {
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  color: #000;
  font-weight: 300;
}
.single-detail p{
   font-size: 22px;
   line-height: 33px;
}
.info-sessions-content span{
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  color: #000;
  }
/* Base pill style */
.pill {
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  font-weight: 300;
  padding: 6px 12px;
  border-radius: 9999px;
  background-color: #ededed;
  color: #606060;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.pill:hover {
 background-color: #F7DDDD;
  color: #8D6060;
}
/* Active pill (default highlight) */
.pill-active {
  background-color: #F7DDDD;
  color: #8D6060;
  font-weight: 400;
}
/* Special active for "Aanbod" */
.pill-active-danger {
  background-color: #F7DDDD;
  color: #8D6060;
  font-weight: 400;
}
.section-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #000;
}
.main-section {
  max-width: 950px;
  margin: 0 auto;
  padding: 40px 16px;
  font-family: 'Outfit', sans-serif;
  background: #fff;
}
.main-section-row {
  display: flex;
  gap: 48px;
  margin-bottom: 48px;
  align-items: flex-start;
}
.main-section-image-block {
  flex-shrink: 0;
  width: 340px;
}
.main-section-image {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.main-section-text-block {
  flex: 1;
  font-size: 1.06rem;
  color: #000;
  font-weight: 300;
  line-height: 1.7;
  margin-top: 8px;
}
.main-section-below {
  margin-top: 32px;
}
.main-section-below h3 {
  font-size: 1.22rem;
  font-weight: 400;
  color: #000;
  margin-bottom: 8px;
  margin-top: 32px;
}
.main-section-below p {
  font-size: 1.05rem;
  color: #000;
  font-weight: 300;
  line-height: 1.7;
  margin-bottom: 16px;
}
.main-nav {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 22px;
  margin-bottom: 18px;
  @media screen and (max-width: 767px) {
  display: block
  }
}
.main-nav-list {
  display: flex;
  gap: 52px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav-item {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  color: #444;
}
.main-nav-item.active {
  font-weight: 600;
  color: #000;
}
.main-section-below strong {
  font-weight: 600;
}
.org-section {
  background: #f5f5f5;
  padding: 60px 0 100px 0;
}
.org-container {
max-width: 1100px;
  margin: 0 auto;
  padding: 0 18px;
}
.org-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2.1rem;
  font-weight: 300;
  color: #222;
  margin-bottom: 32px;
  margin-left: 10px;
}
.org-desc {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  color: #444;
  font-weight: 300;
  max-width: 670px;
  margin-bottom: 44px;
  margin-left: 10px;
  line-height: 1.7;
}
.org-download-block {
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 5px;
  padding: 32px 28px 26px 28px;
  margin: 50px auto 0 auto;
  max-width: 900px;
}
.org-download-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.27rem;
  font-weight: 400;
  margin-bottom: 24px;
  color: #222;
}
.org-download-list {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.org-file {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 138px;
  min-height: 91px;
  border: 1px solid #dadada;
  background: #fafafa;
  padding: 13px 0 4px 0;
  border-radius: 4px;
  text-decoration: none;
}
.org-file-thumb {
  font-size: 1.32rem;
  color: #bcbcbc;
  font-family: 'Outfit', sans-serif;
  margin-bottom: 7px;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.org-file-label {
  font-size: 0.96rem;
  font-family: 'Outfit', sans-serif;
  color: #444;
  margin-top: 3px;
  font-weight: 300;
  text-align: center;
}
.contact-section {
  background: #fff;
  padding: 70px 0 30px 0;
  font-family: 'Outfit', sans-serif;
}
.contact-container {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 22px;
}
.contact-row {
  display: flex;
  gap: 46px;
  margin-bottom: 64px;
}
.contact-details {
  width: 310px;
  font-size: 1rem;
  color: #222;
}
.contact-details h3 {
  font-size: 1.13rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.contact-address {
  font-size: 0.98rem;
  color: #444;
  font-weight: 300;
  line-height: 1.6;
}
.contact-form-block {
  flex: 1;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  padding: 34px 34px 24px 34px;
  font-size: 0.96rem;
}
.contact-form h3 {
  font-size: 1.13rem;
  font-weight: 500;
  margin-bottom: 22px;
}
.contact-form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 18px;
}
.contact-form-row.input-full,
.contact-form-row-full {
  display: block;
  margin-bottom: 20px;
}
.contact-form input,
.contact-form textarea {
  flex: 1;
  border: 1px solid #dedede;
  background: #fafafa;
  font-size: 0.96rem;
  border-radius: 3px;
  padding: 11px 12px;
  outline: none;
  font-family: 'Outfit', sans-serif;
  color: #222;
}
.contact-form textarea {
  width: 100%;
  min-height: 44px;
  resize: vertical;
  font-size: 0.96rem;
}
.contact-form-btn {
  display: inline-block;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 18px;
  padding: 11px 30px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.97rem;
  margin-top: 7px;
  cursor: pointer;
  font-weight: 400;
}
.contact-map {
  margin: 80px 0 0 0;
  display: flex;
  justify-content: center;
}
.contact-map-placeholder {
  background: #f3f3f3;
  width: 100%;
  max-width: 780px;
  height: 180px;
  border-radius: 7px;
  font-size: 2rem;
  color: #c5c5c5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Outfit', sans-serif;
  letter-spacing: 0.01em;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.6s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
  opacity: 0;
  animation-play-state: paused; /* start paused */
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes scaleFadeIn {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.role-card-scale-animate {
  animation-name: scaleFadeIn;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  animation-play-state: paused; /* initially paused */
}
/* Responsive Styling */
@media (max-width: 1023px) {
  /* Container padding */
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* Hero section adjustments */
  .hero-section .flex {
    flex-direction: column !important;
  }
  .hero-section img {
    width: 200px !important;
    height: 200px !important;
    border-radius: 50% !important;
    margin: 0 auto 1rem auto !important;
  }
  .hero-section .text-container {
    padding-left: 0 !important;
    text-align: center !important;
    margin-bottom: 2rem;
  }
  /* Filter + main content */
  section.container.mx-auto.max-w-6xl.px-4.py-8.flex.flex-col.md\:flex-row.gap-10 {
    flex-direction: column !important;
  }
  aside {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-right: 0 !important;
    margin-bottom: 2rem !important;
  }
  /* Main section full width */
  .flex-1.flex.flex-col {
    width: 100% !important;
  }
  /* Article grid: single column */
  div.grid.grid-cols-1.md\:grid-cols-3.gap-x-6.gap-y-10 {
    grid-template-columns: 1fr !important;
  }
  /* Article image smaller */
  article img.object-cover.h-48.w-full {
    height: 180px !important;
  }
  /* Footer adjustments */
  footer .container.mx-auto.px-4.max-w-6xl.grid.grid-cols-1.md\:grid-cols-4.gap-12 {
    grid-template-columns: 1fr !important;
    text-align: center;
  }
  footer .container.mx-auto.px-4.mt-32.flex.flex-col.md\:flex-row.justify-between.text-xs.text-gray-500.max-w-6xl.border-t.py-5 {
    flex-direction: column !important;
    gap: 1rem;
  }
}
@media (max-width: 900px) {
  .contact-container {max-width: 98%;}
  .contact-row {flex-direction: column;gap:32px;}
  .contact-details {width: 100%;margin-bottom:30px;}
  .contact-form-block {padding: 28px 16px 18px 16px;}
}
/* Tablets and below */
@media (max-width: 768px) {
  .main-section {
    max-width: 95%;
    padding: 30px 12px;
  }
  .main-section-row {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 32px;
    align-items: center;
  }
  .main-section-image-block {
    width: 100%;
    max-width: 100%;
  }
  .main-section-image {
    height: auto;
    width: 100%;
  }
  .main-section-text-block {
    font-size: 1rem;
    margin-top: 0;
    text-align: center;
  }
  .main-section-below {
    margin-top: 24px;
    padding: 0 12px;
  }
  .main-section-below h3 {
    font-size: 1.15rem;
    margin-top: 24px;
    margin-bottom: 12px;
  }
  .main-section-below p {
    font-size: 1rem;
    margin-bottom: 12px;
  }
  .main-nav-list {
    gap: 24px;
  }
  .main-nav-item {
    font-size: 0.94rem;
  }
  .org-section {
    padding: 40px 0 60px 0;
  }
  .org-container {
    max-width: 95%;
    padding: 0 12px;
  }
  .org-title {
    font-size: 1.6rem;
    margin-bottom: 24px;
    margin-left: 6px;
  }
  .org-desc {
    font-size: 0.95rem;
    margin-left: 6px;
    max-width: 100%;
    margin-bottom: 30px;
  }
  .org-download-block {
    max-width: 100%;
    padding: 24px 20px 20px 20px;
    margin: 40px auto 0 auto;
  }
  .org-download-title {
    font-size: 1.1rem;
    margin-bottom: 20px;
  }
  .org-download-list {
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
  }
  .org-file {
    width: 120px;
    min-height: 85px;
    padding: 11px 0 4px 0;
  }
  .org-file-thumb {
    font-size: 1.2rem;
    margin-bottom: 6px;
  }
  .org-file-label {
    font-size: 0.9rem;
  }
  .role-card-p {
    font-size: 28px !important;
    line-height: 32px !important;
  }
  .agenda-title p.text-sm.mb-0.p-2 {
    font-size: 16px !important;
  }
  .agenda-title h3.font-semibold.text-lg.mb-1.p-2 {
    font-size: 20px !important;
  }
  .footer-menu a,
  .over-ons h3.font-semibold.mb-4,
  .footer-menu .font-semibold {
    font-size: 18px !important;
  }
  .over-ons p.text-sm.mb-6,
  .footer-address address.not-italic.text-sm.mb-6 {
    font-size: 16px !important;
  }
}
@media (max-width: 767px) {
  .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* Hero section image shrink more */
  .hero-section img {
    width: 150px !important;
    height: 150px !important;
  }
  /* Smaller font sizes */
  h1.text-2xl.md\:text-4xl {
    font-size: 1.75rem !important;
  }
  p.text-base.md\:text-lg {
    font-size: 1rem !important;
  }
  /* Smaller inputs and buttons */
  input[type="text"], input[type="email"] {
    font-size: 0.9rem !important;
  }
  button {
    font-size: 0.9rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  /* Article image smaller */
  article img.object-cover.h-48.w-full {
    height: 230px !important;
  }
  /* Article grid one column */
  div.grid.grid-cols-1.md\:grid-cols-3.gap-x-6.gap-y-10 {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 600px) {
  .contact-section {padding: 35px 0 16px 0;}
  .contact-container {padding: 0 8px;}
  .contact-form-block {padding: 12px 6px;}
  .contact-map-placeholder {font-size: 1.25rem;height: 110px;}
}
/* Mobile phones */
@media (max-width: 480px) {
  .main-section {
    padding: 20px 10px;
  }
  .main-section-row {
    gap: 18px;
  }
  .main-section-image-block {
    width: 100%;
    max-width: 100%;
  }
  .main-section-text-block {
    font-size: 0.94rem;
  }
  .main-section-below {
    margin-top: 20px;
    padding: 0 10px;
  }
  .main-section-below h3 {
    font-size: 1rem;
    margin-top: 20px;
    margin-bottom: 10px;
  }
  .main-section-below p {
    font-size: 0.94rem;
    margin-bottom: 10px;
  }
  .main-nav-list {
    flex-direction: column;
    gap: 18px;
  }
  .main-nav-item {
    font-size: 0.9rem;
  }
  .org-section {
    padding: 30px 0 50px 0;
  }
  .org-title {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
  .org-desc {
    font-size: 0.9rem;
    margin-bottom: 24px;
  }
  .org-download-block {
    padding: 18px 16px 16px 16px;
    margin: 30px auto 0 auto;
  }
  .org-download-list {
    gap: 10px;
  }
  .org-file {
    width: 100px;
    min-height: 80px;
    padding: 10px 0 4px 0;
  }
  .org-file-thumb {
    font-size: 1.1rem;
  }
  .org-file-label {
    font-size: 0.85rem;
  }
  .role-card-p {
    font-size: 22px !important;
    line-height: 26px !important;
  }
  .agenda-title p.text-sm.mb-0.p-2,
  .over-ons p.text-sm.mb-6,
  .footer-address address.not-italic.text-sm.mb-6 {
    font-size: 14px !important;
  }
  .footer-menu a,
  .over-ons h3.font-semibold.mb-4,
  .footer-menu .font-semibold {
    font-size: 16px !important;
  }
}
.my-btn svg
{
  transition: all ease 0.5s
}
.my-btn:hover svg
{
  /* transform: translateX(5px); */
}
@media screen and (max-width: 575px) {
.prose.prose-lg.max-w-none.single-detail .grid.grid-cols-12
{
display: block
}
}
@media screen and (max-width: 767px) {
.single-detail  .text-base.leading-relaxed.whitespace-pre-line  figure
{
  width: 100%
}
}
@media screen and (max-width: 1199px) {
.object-cover.h-40.w-full
{
  height: 14rem;
}}
@media screen and (max-width: 575px) {
#bouwwiki-container .prose.prose-lg.max-w-none.text-gray-600 .grid.grid-cols-12
{
grid-template-columns: repeat(1, 1fr) !important;
}
 }