@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Barlow:wght@400;700&display=swap");

:root{
  --white: #ffffff; 
  --base: #f2f4f7; 
  --primary: #e30d20; 
  --secondary: #000a1c; 
  --tertiary: #1B2434; 
  --quaternary: #878b95; 
  --quinary: #d5d9e5; 
  
  
  --input-color: rgba(255,255,255,1);
  --input-background: rgba(255,255,255,.1);
}

.grecaptcha-badge {
  display: none !important;
}

/* -- Font weights ----------------------------*/
.text-400 {
  font-weight: 400;
}

.text-600 {
  font-weight: 600;
}

.text-700 {
  font-weight: 700;
}

.text-800 {
  font-weight: 800;
}

.text-900 {
  font-weight: 900;
}

.text-condensed {
  font-family: "Barlow Condensed", sans-serif;
}

/* -- Font modifiers --------------------------*/
.display-5,
.display-4,
.display-3 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  display: block;
  margin-bottom: 0.75rem;
  line-height: 1;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  display: inline-block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
}

strong {
  font-weight: 700;
}


.tilt-title.inview-element {
  opacity: 0;
  transition: all 1s 0.25s;
}

.tilt-title {
  display: inline-block;
}
.tilt-title--left {
  transform-origin: bottom left;
}
.tilt-title--right {
  transform-origin: bottom right;
  text-align: right;
}
.tilt-title--left.inview {
  opacity: 1;
  transform: rotate(-10deg);
}
.tilt-title--right.inview {
  opacity: 1;
  transform: rotate(15deg);
}
.tilt-title__small {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 0.75rem;
  color: #e30d20;
}
.tilt-title__large {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 900;
  font-size: 4rem;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
}

.tilt-title--sm .tilt-title__small {
  font-size: 1.5rem;
}

.tilt-title--sm .tilt-title__large {
  font-size: 2.75rem;
}

@media all and (min-width: 768px) {
  .tilt-title__small {
    font-size: 2.25rem;
  }
  .tilt-title__large {
    font-size: 4.5rem;
  }
  .tilt-title--sm .tilt-title__small {
    font-size: 1.75rem;
  }
  .tilt-title--sm .tilt-title__large {
    font-size: 3.25rem;
  }
}
@media all and (min-width: 992px) {
  .tilt-title__small {
    font-size: 2.5rem;
  }
  .tilt-title__large {
    font-size: 5rem;
  }
  .tilt-title--sm .tilt-title__small {
    font-size: 1.85rem;
  }
  .tilt-title--sm .tilt-title__large {
    font-size: 3.75rem;
  }
}
@media all and (min-width: 1200px) {
  .tilt-title__small {
    font-size: 2.75rem;
  }
  .tilt-title__large {
    font-size: 5.5rem;
  }
  .tilt-title--sm .tilt-title__small {
    font-size: 2rem;
  }
  .tilt-title--sm .tilt-title__large {
    font-size: 4rem;
  }
}
@media all and (min-width: 1400px) {
  .tilt-title__small {
    font-size: 3rem;
  }
  .tilt-title__large {
    font-size: 6rem;
  }
  .tilt-title--sm .tilt-title__small {
    font-size: 2.25rem;
  }
  .tilt-title--sm .tilt-title__large {
    font-size: 4.25rem;
  }
}

/* -- Basics --------------------------*/
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #878b95;
  background: #ffffff;
  scroll-behavior: smooth;
}

body.error404,
body.single,
body.page,
body.blog {
  background: #000a1c;
}

body.navigation--open {
  overflow: hidden;
  height: 100vh;
}

.container {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media all and (min-width: 1200px) {
  html, body {
    font-size: 17px;
  }
}
@media all and (min-width: 1920px) {
  .container {
    max-width: 1640px;
  }
  html, body {
    font-size: 18px;
  }
}
/* -- Links ---------------------------------*/
a, a:hover, a:focus, a:active {
  text-decoration: none;
  outline: none;
}

/* -- Buttons -------------------------------*/
.buttons-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.btn {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  border-radius: 3rem;
  padding: 0.65rem 1.25rem;
}

.btn-circle {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  font-size: 1.5rem;
  border-radius: 100%;
  transition: transform 0.5s ease-in-out;
}

.btn-circle--primary {
  color: #ffffff;
  background: #e30d20;
}
.btn-circle--primary:active,
.btn-circle--primary:focus,
.btn-circle--primary:hover {
  color: #ffffff !important;
  background: #e30d20 !important;
  transform: scale(1.1) !important;
  border: none;
}

.btn-circle--white {
  color: #ffffff;
  padding: 0 !important;
}
.btn-circle--white:active,
.btn-circle--white:focus,
.btn-circle--white:hover {
  color: #ffffff !important;
  background: #e30d20 !important;
  border: none;
}

.btn-circle i {
  margin: 0 !important;
  padding: 0 !important;
}

.btn-outline {
  background: none;
  transition: all 0.5s ease-in-out;
  padding: 0.5rem 1.25rem 0.65rem 1.25rem;
}
.btn-outline i {
  position: relative;
  top: 1px;
  transition: opacity 0.5s ease-in-out, width 0.75s ease-in-out;
  visibility: hidden;
  max-width: 0;
  opacity: 0;
}
.btn-outline:hover i {
  opacity: 1;
  padding-left: 0.25rem;
  max-width: 100%;
  visibility: visible;
}

.btn-outline--white {
  color: #ffffff;
  border: 1px solid #ffffff;
}
.btn-outline--white:hover {
  color: #ffffff;
  border: 1px solid #ffffff;
}

.btn-outline--primary {
  color: #e30d20;
  border: 1px solid #e30d20;
}
.btn-outline--primary:hover {
  color: #e30d20;
  border: 1px solid #e30d20;
}

.btn-outline--secondary {
  color: #000a1c;
  border: 1px solid #000a1c;
}
.btn-outline--secondary:hover {
  color: #000a1c;
  border: 1px solid #000a1c;
}

/* -- Links ---------------------------------*/
.link--white {
  color: #fff;
}
.link--white:hover {
  color: #fff;
}

.link--primary {
  color: #e30d20;
}
.link--primary:hover {
  color: #f2182b;
}

.link--secondary {
  color: #000a1c;
}
.link--secondary:hover {
  color: #001336;
}

.link--tertiary {
  color: #1B2434;
}
.link--tertiary:hover {
  color: #243045;
}

.link--quaternary {
  color: #878b95;
}
.link--quaternary:hover {
  color: #fff;
}

.link--quinary {
  color: #d5d9e5;
}
.link--quinary:hover {
  color: #e5e7ef;
}

.service-link {
  display: flex;
  align-items: center;
  color: var(--dark);
}

.service-link:hover {
  color: var(--dark);
}

.service-link strong {
  color: var(--white);
  margin-left: 0.5rem;
}

.link__icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: var(--white);
  background: var(--tertiary);
  border-radius: 100%;
  margin-right: 0.5rem;
}

/* -- Backgrounds ---------------------------*/
.bcg--white {
  background: #fff;
}

.bcg--base {
  background: #f2f4f7;
}

.bcg--primary {
  background: #e30d20;
}

.bcg--secondary {
  background: #000a1c;
}

.bcg--tertiary {
  background: #1B2434;
}

.bcg--quaternary {
  background: #878b95;
}

.bcg--quinary {
  background: #d5d9e5;
}

/* -- Colors --------------------------------*/
.clr--white {
  color: #fff;
}

.clr--base {
  color: #f2f4f7;
}

.clr--primary {
  color: #e30d20;
}

.clr--secondary {
  color: #000a1c;
}

.clr--tertiary {
  color: #1B2434;
}

.clr--quaternary {
  color: #878b95;
}

.clr--quinary {
  color: #d5d9e5;
}

/* -- Lists ---------------------------------*/
ul:not([class]) {
  padding: 0;
  margin: 0 0 1rem 0;
  list-style-type: none;
}

.fa-ul li + li,
ul:not([class]) li + li {
  margin-top: .5em;
}

ul:not([class]) li:before {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  color: #e30d20;
  padding: 0 16px 0 0;
}

/* -- Images --------------------------------*/
.img-fit-cover {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

/* -- Formulieren ---------------------------*/
.gform_wrapper {
  text-align: left;
}

.ginput_container input,
.ginput_container textarea,
.ginput_container select,
.form-control {
  font-size: 1rem;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #000a1c;
  padding: 0.65rem 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: none;
}

.gform_wrapper .gfield_error [aria-invalid="true"] {
  border: none !important;
  border-bottom: 1px solid #c02b0a !important;
}

.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="email"] {
  width: 100%;
  font-size: 1rem !important;
}

.gfield_validation_message {
  display: none;
}

.gform-button.gform-button--white {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  border-radius: 3rem;
  background: none;
  transition: all 0.5s ease-in-out;
  padding: 0.5rem 1.25rem 0.65rem 1.25rem;
  color: #fff;
  border: 1px solid #fff;
}

.gform_wrapper.gravity-theme .gform_footer, .gform_wrapper.gravity-theme .gform_page_footer {
  margin: 0 !important;
  padding: 0 !important;
}

.gravity-theme-dark .ginput_container input,
.gravity-theme-dark .ginput_container select,
.gravity-theme-dark .ginput_container textarea {
  color: #fff;
  border-bottom: 1px solid #F2F4F7;
}

.gfield_required_asterisk,
.gravity-theme-dark_wrapper .gform_heading {
  display: none !important;
}

.gravity-theme-dark .gform_body {
  margin: 0 0 1.5rem 0 !important;
}

.gravity-theme-dark .gform_button {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  border-radius: 3rem;
  background: none;
  transition: all 0.5s ease-in-out;
  padding: 0.5rem 1.25rem 0.65rem 1.25rem;
  color: #fff;
  border: 1px solid #fff;
}

.gform_wrapper.gravity-theme input[type="checkbox"] {
  position: relative;
  top: 2px;
  width: 1em;
  height: 1em;
  border: 1px solid #E30D20;
  background: none;
  -moz-appearance:none;
  -webkit-appearance:none;
  -o-appearance:none;
  border-radius: 100% !important;
  padding: 0 !important;
}

.gform_wrapper.gravity-theme input[type="checkbox"]:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.gform_wrapper.gravity-theme input[type="checkbox"]:checked {
  background-color: #E30D20;
  border-color: #E30D20;
}

/* Pagination ----------------------------------*/
.pagination {
	text-align: center;
	clear: both;
	padding-top: 15px; 
	margin-top: 30px;
	border-radius: 0;
}

.pagination ul.page-numbers {
	font-size: 1.125rem;
	list-style: none;
	margin: 0 auto;
	padding-left: 0 !important;
}

.pagination .page-numbers li {
	display: inline-block;
}

.pagination .page-numbers li .page-numbers {
	font-family: "Barlow Condensed", sans-serif;
  font-weight: 800; 
	border-left-width: 0;
	display: inline-block;	
	background-color: none;
	padding: 8px 16px 6px 16px;
	border-bottom: 2px solid rgba(255,255,255,.6);
	color: rgba(255,255,255,.6);
}

.pagination .page-numbers li .page-numbers:hover {
	color: rgba(255,255,255,1);
	border-bottom: 2px solid rgba(255,255,255,1);
}

.pagination .page-numbers li .page-numbers.next,
.pagination .page-numbers li .page-numbers.prev {
	padding-left: 1em;
	padding-right: 1em;
}

.pagination .page-numbers .current {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  color: #e30d20 !important;
	border-bottom: 2px solid #e30d20 !important;
}

/* -- Animations ----------------------------*/
.animate {
  animation-duration: 0.3s;
  -webkit-animation-duration: 0.3s;
  animation-fill-mode: both;
  -webkit-animation-fill-mode: both;
}

@keyframes slideIn {
  0% {
    transform: translateY(-1rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0rem);
    opacity: 1;
  }
  0% {
    transform: translateY(-1rem);
    opacity: 0;
  }
}
.slideIn {
  animation-name: slideIn;
}

/* -- Sticky ------------------------------------*/
.sticky {
  position: sticky;
}

.sticky--top {
  top: 3rem;
}

/* -- Hamburger ---------------------------------*/
.hamburger {
  padding: 0 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 1;
}
.hamburger.is-active:hover {
  opacity: 1;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #00485D;
}

.hamburger-box {
  width: 24px;
  height: 14px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 24px;
  height: 2px;
  background-color: #00485D;
  border-radius: 0px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -6px;
}
.hamburger-inner::after {
  bottom: -6px;
}

.hamburger--slider .hamburger-inner {
  top: 1px;
}
.hamburger--slider .hamburger-inner::before {
  top: 6px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}
.hamburger--slider .hamburger-inner::after {
  top: 12px;
}
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 6px, 0) rotate(45deg);
}
.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-3.4285714286px, -4px, 0);
  opacity: 0;
}
.hamburger--slider.is-active .hamburger-inner::after {
  width: 100%;
  transform: translate3d(0, -12px, 0) rotate(-90deg);
}


/* -- Navigation ------------------------------*/
.site-navigation {
  position: relative;
  z-index: 999;
}

.site-navigation--sticky {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(-56px);
  z-index: 999;
}

.site-navigation__top {
  padding: 0.75rem 0;
  background: var(--secondary);
}

.site-navigation__bottom {
  position: relative;
  padding: 1.25rem 0;
  background: var(--tertiary);
  box-shadow: 0 0 1rem 0 rgba(27, 36, 52, 0.05);
  transition: padding .5s;
}

.button--menu {
  min-height: 52px;
}

.button--menu.active i:before {
  content: "\f00d";
}

.navigation__logo {
  position: relative;
  max-width: 220px;
  z-index: 501;
}

.service-link {
  display: flex;
  align-items: center;
  color: var(--dark);
}
.service-link strong {
  color: var(--white);
  margin-left: 0.5rem;
}

.top-nav {
  align-items: center;
  gap: 1.75rem;
}
.top-nav .nav-link {
  font-size: 0.889rem;
  padding: 0;
  color: rgba(255,255,255,.63);
}
.top-nav .nav-link:hover {
  color: var(--white);
}

.main-nav {
  align-items: center;
  gap: 2.5rem;
}
.main-nav .nav-item:not(.nav-item--button) .nav-link {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--white);
  padding: 0;
}
.main-nav .nav-item:not(.nav-item--button) .nav-link.active, .main-nav .nav-item:not(.nav-item--button) .nav-link.show, .main-nav .nav-item:not(.nav-item--button) .nav-link:hover {
  color: var(--primary);
}

.main-nav .dropdown-toggle::after,
.mobile-nav .dropdown-toggle::after {
  content: "\f107";
  font-family: "Font Awesome 6 Pro";
  border: none;
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0;
}

.mobile-nav .dropdown-toggle[aria-expanded="true"]::after {
  content: "\f106";
}

.main-nav .dropdown-toggle.show::after {
  content: "\f106";
  color: var(--primary);
}

.nav-item--button .nav-link {
  --button-name: var(--primary);
  --button-bcg: var(--primary);
  --button-color: var(--white);
  --button-color-hover: var(--white);
  --button-outline: var(--primary-hover);
  
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  border: none;
  border-radius: 3rem;
  padding: 0.85rem 1.5rem !important;
  background-color: var(--button-bcg);
  color: var(--button-color) !important;
  transition: ease-out 0.4s;
  box-shadow: inset 0 0 0 0 var(--button-outline);
}

.nav-item--button .nav-link:hover {
  color: var(--button-color-hover);
  box-shadow: inset 400px 0 0 0 var(--button-outline);
}

.nav-item--button .nav-link:after {
  content: "\f007";
  font-family: "Font Awesome 6 Pro";
  font-weight: 700;
  padding-left: 0.5rem;
}

.dropdown-wrapper {
  position: absolute;  
  width: 100dvw;
/*  top: 100% !important;*/
  left: 0;
  border: none;
  padding: 0;
  z-index: 500;
}
.dropdown-wrapper__main {
  background: var(--tertiary);
  padding: 4rem 0;
}

.dropdown-menu-columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.dropdown-menu-columns__column--image {
  grid-column: 4;
}

.dropdown-menu-columns__column--image img {
  border-radius: .75rem;
}

.dropdown-wrapper__footer {
  background: var(--secondary);
  padding: 1.25rem 0;
}

.dropdown-menu__title {
  display: block;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--white);
  margin-bottom: 1rem;
}
.dropdown-menu__title:hover {
  color: var(--white);
}

.main-submenu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.main-submenu__link {
  font-size: 1.015;
  color: rgba(255,255,255,.6);
}

.main-submenu__link.active, .main-submenu__link:hover {
  color: rgba(255,255,255,1);
}

.dropdown-footer__information {
  display: flex;
  gap: 2.5rem;
  color: rgba(255,255,255,.6);
}

.dropdown-footer__information a {
  color: rgba(255,255,255,.6);
}
.dropdown-footer__information a:hover {
  color: rgba(255,255,255,1);
}

.dropdown-footer__information a:first-of-type {
  color: var(--primary);
  font-weight: 700;
}

.mobile-nav {
  align-items: flex-start;
  gap: 1.25rem;
}

.mobile-nav .nav-link {
  font-size: 1.25rem;
  font-weight: 700; 
  color: var(--white);
  padding: 0;
  background: none;
  border: none;
}

.mobile-nav .collapse {
/*  margin: .75rem 0 1.5rem 0;*/
}

.mobile-nav .collapse.show {
  display: grid;
/*  gap: 1rem;  */
  opacity: 1;
}

.mobile-nav .dropdown-menu-columns__column:not(last-of-type) {
  margin-top: 3rem;
}

.collapse__menu {
  padding: .75rem 0 0 0;
}

.collapse__menu:last-child {
  padding: .75rem 0 1.5rem 0;
}

.collapse-menu__title {
  font-weight: 400;
  font-size: 1.125rem;
  color: rgba(255,255,255,.6);
}

.collapse-menu__title:hover {
  color: rgba(255,255,255,1);
}

.collapse-submenu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}
.collapse-submenu__link {
  font-size: 1.015;
  color: var(--dark);
}
.collapse-submenu__link.active, .collapse-submenu__link:hover {
  color: var(--secondary);
}

@media all and (min-width: 768px) {
  .site-navigation__bottom {
    padding: 2.25rem 0;
  }

  .site-navigation--sticky .site-navigation__bottom {
    padding: 1.25rem 0;
  }
}

@media all and (min-width: 1200px) {
  .main-nav {
    gap: 1rem;
  }
  .main-nav .nav-item:not(.nav-item--button) .nav-link {
    font-size: 1.1rem;
  }
  .site-navigation__mobile {
    display: none;
  }
}

@media all and (min-width: 1500px) {
  .main-nav {
    gap: 2.5rem;
  }
  .main-nav .nav-item:not(.nav-item--button) .nav-link {
    font-size: 1.15rem;
  }
}


/* -- Site mobile wrapper ---------------------*/
.site-navigation__mobile {
  background: var(--tertiary);
  height: 0;
  opacity: 0;    
  pointer-events: none;
  visibility: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-menu--is-open .site-navigation__mobile {
  opacity: 1;
  pointer-events: all;
  padding: 3rem 0;
  visibility: visible;
  height: calc(100dvh - 165px); 
}

/* -- Header ----------------------------*/
.header {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 1.25rem 0;
  background: rgb(2, 10, 27);
  background: linear-gradient(180deg, rgba(2, 10, 27, 0.8) 0%, rgba(2, 10, 27, 0) 95%);
  background-blend-mode: darken;
  z-index: 888;
}

.headroom {
  will-change: transform;
  transition: transform 200ms linear;
}

.headroom--pinned {
  transform: translateY(0%);
}

.headroom--pinned.headroom--not-top {
  background: rgb(2, 10, 27);
}

.headroom--unpinned {
  transform: translateY(calc(-100% - 2.25rem));
}

.header--fade.headroom--top {
  background: linear-gradient(180deg, rgba(2, 10, 27, 0.8) 0%, rgba(2, 10, 27, 0) 95%) !important;
}

.navigation--open .header {
  transform: translateY(0%) !important;
  background: none !important;
}

.header--sticky {
  position: sticky;
  top: 0;
}

.header-brand__logo {
  max-width: 180px;
}

.header-links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.header-links__login {
  display: none;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  background: rgba(0, 10, 28, 0.8);
  color: #ffffff;
  padding: 0.75rem 1.5rem;
  border-radius: 3rem;
  transition: all 0.25s ease-in-out;
}
.header-links__login:hover {
  color: #ffffff;
  background: rgb(0, 10, 28);
}

.navigation__trigger {
  display: block;
  position: relative;
  height: 54px;
  width: 54px;
  border-radius: 100%;
  z-index: 1006;
}

.menu-icon {
  position: absolute;
  width: 26px;
  height: 16px;
  margin: auto;
  left: 0;
  top: 0;
  right: 0;
  bottom: 1px;
  z-index: 1001;
}

.menu-line {
  background-color: #1B2434;
  height: 2px;
  width: 100%;
  border-radius: 0;
  position: absolute;
  left: 0;
  transition: all 0.25s ease-in-out;
}

.menu-line-2 {
  top: 0;
  bottom: 0;
  margin: auto;
}

.menu-line-3 {
  bottom: 0;
}

.navigation__trigger.active {
  background: #fff;
}

.navigation__trigger.active .menu-line {
  background: #e30d20;
}

.navigation__trigger.active .menu-line-1 {
  transform: translateY(8px) translateY(-50%) rotate(-45deg);
}

.navigation__trigger.active .menu-line-2 {
  opacity: 0;
}

.navigation__trigger.active .menu-line-3 {
  transform: translateY(-8px) translateY(50%) rotate(45deg);
}

.menu-circle {
  background-color: #ffffff;
  border: 1px solid #ffffff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  border-radius: 50%;
  transform: scale(1);
  z-index: 800;
  box-shadow: 0px 0px 1.25rem 0px rgba(227, 13, 32, 0.65);
  transition: all 0.3s ease-in-out;
  pointer-events: none;
}

.navigation__trigger:hover .menu-circle {
  border-color: #e30d20;
  box-shadow: 0px 0px 1.25rem 0px rgb(227, 13, 32);
}

.navigation__trigger.open .menu-line-3,
.navigation__trigger:hover .menu-line-3 {
  width: 100%;
}

.navigation__trigger.open .menu-circle {
  transform: scale(100);
  opacity: 0;
  transition-timing-function: ease-in-out;
  transition-duration: 0.5s;
  transition-property: transform, opacity;
  transition-delay: 0, 0.4s;
}

@media all and (min-width: 768px) {
  .header {
    padding: 2rem 0;
  }
  
  .header-brand__logo {
    max-width: 210px;
  }
  
  .header-links__login {
    display: block;
  }
}

/* -- Hero ----------------------------*/
.hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  background: #000;
}

.hero-nohero {
  padding-top: 2rem;
}

.hero-overlay {
  position: relative;
  margin-left: -20vw;
  display: grid;
  grid-template-columns: min-content auto;
  place-items: start;
  z-index: 2;
  height: 100%;
}

.hero-element {
  width: 100%;
  height: 100%;
  background-image: url("../images/hero-visual.svg");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 3;
}
.hero-element__spacer {
  width: 100%;
  height: 100vh;
  min-height: 600px;
  aspect-ratio: 66/277;
}

@media all and (min-width: 576px) {
  .hero-overlay {
    margin-left: -10vw;
  }
}

@media all and (min-width: 768px) {
  .hero-overlay {
    margin-left: -5vw;
  }
}
@media all and (min-width: 992px) {
  .hero-overlay {
    margin-left: 0;
  }
}

.hero-title {
  display: flex;
  align-self: center;
}

.hero-bcg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.hero-bcg:before {
  content: "";
  width: 60%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(275deg, rgba(0, 10, 28, 0) 25%, rgb(0, 10, 28) 100%);
  z-index: 1;
}
.hero-bcg__video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero-bcg__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero-scroll {
  position: absolute;
  width: 300px;
  bottom: 0;
  left: 50%;
  z-index: 10;
  transform: translate(-50%, 110px);
  pointer-events: none;
}

.hero-content {
  height: 100%;
  position: relative;
  background: #000a1c;
  margin-top: clamp(3rem, 1.6667rem + 2.7778vw, 5rem);
}
.hero-content .container {
  position: relative;
  z-index: 2;
}
.hero-content:after {
  content: "";
  position: absolute;
  height: 60px;
  width: 100%;
  bottom: 0;
  left: 0;
  background: #1B2434;
  z-index: 0;
}

.hero-content-inner {
  padding-bottom: clamp(1.5rem, -0.8333rem + 4.8611vw, 5rem);
}

.hero-content .col-lg-6.mt-4 {
  align-self: flex-end;
}

.hero-media {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4/3;
}
.hero-media a {
  position: absolute;
}
.hero-media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero__date-label {
  position: absolute;
  bottom: 0;
  transform: translateY(50%);
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  border-radius: 3rem;
  transition: all 0.5s ease-in-out;
  padding: 0.5rem 1.25rem 0.65rem 1.25rem;  
  color: #fff;
  background: #e30d20;
}

.breadcrumb {
  font-size: 0.85rem;
}

.breadcrumb a {
  color: #878b95;
}
.breadcrumb a:hover {
  color: #ffffff;
}

.breadcrumb .current-item {
  color: #e30d20;
}

.breadcrumb i {
  position: relative;
  top: 9px;
  color: #e30d20;
  font-size: 0.5em;
  margin: 0 .35rem;
}


/* -- Opleiding -------------------------*/
.opleiding-introductie {
  background: #1B2434;
  padding: 4rem 0;
}

.opleiding-content {
  padding: 4rem 0;
}

.opleiding-accordion {
  background: #1B2434;
  padding: 4rem 0;
}

.accordion {
  background: none;
  color: #fff;
}

  .accordion-item {
    background: none;
    border-color: #878B95;
  }

    .accordion-header {
      display: flex;
      justify-content: space-between;
      background: none;
    }

      .accordion-button {  
        font-family: "Barlow Condensed", sans-serif;
        text-transform: uppercase;
        font-size: 1.125rem;
        padding: 1rem 0;
        background: none !important;
        color: #fff !important;
        box-shadow: none !important;
      }

      .accordion-button:after {
        content: '\f063';
        font-family: "Font Awesome 6 Pro", sans-serif;
        font-weight: 400;
        font-size: 1.125rem;
        color: #fff;
        background: none;
      }

      .accordion-button:not(.collapsed):after {
        content: '\f062';
        color: #e30d20;
        background: none;
        transform: none;
      }

.accordion-body {
  padding: 1rem 0;
}

/* -- Cards -----------------------------*/
.card-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
}

@media all and (min-width: 768px) {
  .card-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
  }
}

.card {
  height: 100%;
  border: none;
  border-radius: 0;
}

.card-cta {
  background: #ffffff;
}
.card-cta .card-header {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: center;
  border: none;
  padding: 2rem 2rem 1.5rem 2rem;
  background: none;
}
.card-cta .card-header div {
  flex-grow: 1;
}
.card-cta .card-header img {
  border-radius: 100%;
  max-width: 120px;
}
.card-cta .card-header .card-title {
  margin: 0 0 0.5rem 0;
}
.card-cta .card-header__information {
  margin: 0;
  padding: 0;
  list-style: none;
}
.card-cta .card-header__information a {
  color: #000a1c;
  font-weight: 700;
}
.card-cta .card-body {
  padding: 0 2rem 2rem 2rem;
}
.card-cta .card-body p {
  color: #878b95;
  margin: 0;
}
.card-cta--dark {
  background: #1B2434;
  color: #ffffff;
}
.card-cta--dark .card-header .card-title {
  color: #ffffff;
}
.card-cta--dark .card-header__information a {
  color: #ffffff;
}

.card-usps {
  background: #e30d20;
}

.card-usps .card-body {
  display: flex;
  justify-content: center;
  color: #fff;
  flex-direction: column;
  padding: 2rem;
}

.fa-ul {
  list-style-type: none;
  margin-left: var(--fa-li-margin,1.75em);
  padding-left: 0;
}

/* -- Modules -------------------------------*/
.stripe--primary {
  position: relative;
  margin-bottom: 0.75em;
}
.stripe--primary:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  height: 3px;
  width: 100%;
  background: #e30d20;
}

.element {
  position: relative;
}
.element .container {
  position: relative;
  z-index: 2;
}

.element--top-right:after {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  bottom: 0;
  right: 0;
  background-image: url("../images/top-right-visual.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top right;
  pointer-events: none;
  max-width: 400px;
}

.element--bottom-right:after {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  bottom: 0;
  right: 0;
  background-image: url("../images/bottom-right-visual.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom right;
  pointer-events: none;
  max-width: 400px;
}

.module-wysiwyg p:first-of-type {
  font-size: 1.25rem;
}

/* -- Module-opleidingen --------------------*/
.module-content {
  padding: 4rem 0;
}

.content-element h2,
.content-element h3,
.content-element h4,
.content-element h5,
.content-element h6 {
  color: #fff;
}

.module-content a:not([class]) {
  color: currentColor;
  text-decoration: underline;
}

.module-content a:not([class]):hover {
  color: white;
  text-decoration: none;
}

.content-element + .content-element {
  margin-top: 3.5rem;
}

.alignright {
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem !important;
}

.alignleft {
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem !important;
}

@media all and (min-width: 768px) {
.alignright {
  max-width: 50%;
  float: right !important;
  margin-left: 1rem !important;
  margin-bottom: 1rem !important;
}

.alignleft {
  max-width: 50%;
  float: left !important;
  margin-right: 1rem !important;
  margin-bottom: 1rem !important;
}
}

.alignleft figcaption, .alignright figcaption {
  font-size: .75rem;
  text-align: end;
  margin-top: .5rem;
}


.block--conclusie {
  padding: 2rem 1.5rem;
  background: #000a1c;
  margin-top: 1.5rem !important;
}

.block--conclusie > *:last-child {
  margin: 0;
}

.block--zijbalk {
  padding: 2rem 1.5rem;
  background: #fff;
}

.block--zijbalk > *:last-child {
  margin: 0;
}

.zijbalk-element + .zijbalk-element {
  margin-top: 1.5rem;
}

/* -- Module-opleidingen --------------------*/
.module-grid,
.module-opleidingen {
  padding: 4rem 0;
  background: #000a1c;
}

.opleiding-grid {
  display: grid;
  grid-auto-rows: 1fr;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  gap: 0px 0px;
  grid-template-areas: "opleiding-lg" "opleiding-sm-1" "opleiding-sm-2";
}

.opleiding-grid-lg {
  grid-area: opleiding-lg;
}

.opleiding-grid-sm-1 {
  grid-area: opleiding-sm-1;
}

.opleiding-grid-sm-2 {
  grid-area: opleiding-sm-2;
}

.card-opleiding {
  width: 100%;
  aspect-ratio: 4/3;
}
.card-opleiding img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 0;
  opacity: .6;
}
.card-opleiding .card-img-overlay {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 2rem;
  border-radius: 0;
}
.card-opleiding .card-img-overlay-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  transition: all 0.5s;
  text-align: center;
}
.card-opleiding .card-img-overlay-content .card-title {
  margin-bottom: 0.5rem;
}
.card-opleiding .card-img-overlay-content .card-text {
  display: none;
  opacity: 0;
  height: 0;
  transition: all 0.5s;
}

.card-opleiding:hover img {
  opacity: .3;
}
.card-opleiding:hover .card-img-overlay-content .card-text {
  opacity: 1;
  height: auto;
}

@media all and (min-width: 768px) {
  .opleiding-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-areas: "opleiding-lg opleiding-lg" "opleiding-lg opleiding-lg" "opleiding-sm-1 opleiding-sm-2";
  }
  .opleiding-grid-lg .card-opleiding .card-img-overlay-content .card-text {
    display: block;
  }
}
@media all and (min-width: 992px) {
  .opleiding-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    grid-template-areas: "opleiding-lg opleiding-lg opleiding-lg opleiding-sm-1 opleiding-sm-1" "opleiding-lg opleiding-lg opleiding-lg opleiding-sm-1 opleiding-sm-1" "opleiding-lg opleiding-lg opleiding-lg opleiding-sm-2 opleiding-sm-2" "opleiding-lg opleiding-lg opleiding-lg opleiding-sm-2 opleiding-sm-2";
  }
  .card-opleiding .card-img-overlay {
    padding: 2.5rem;
  }
  .card-opleiding .card-img-overlay-content .card-text {
    display: block;
  }
}
@media all and (min-width: 1200px) {
  .module-opleidingen {
    padding: 7rem 0;
  }
  .opleiding-grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas: "opleiding-lg opleiding-lg opleiding-sm-1" "opleiding-lg opleiding-lg opleiding-sm-2";
  }
  .card-opleiding .card-img-overlay {
    padding: 3rem;
  }
}

/* -- Module-button --------------------*/
.module-button {
  padding: 2rem 0;
  background: #fff;
}

/* -- Module-trainingen ---------------------*/
.module-lists,
.module-trainingen {
  padding: 4rem 0;
  background: #1B2434;
}

.card-list {
  background: #000a1c;
}
.card-list .card-body {
  padding: 2rem;
}

.card-list-items {
  border-top: 1px solid #505050;
  padding: 0;
  margin: 1rem 0 0 0;
  list-style: none;
}
.card-list-items .list-item {
  border-bottom: 1px solid #505050;
}
.card-list-items .list-link {
  display: flex;
  justify-content: space-between;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  color: #ffffff;
  padding: 0.65rem 0;
}
.card-list-items .list-link:hover {
  color: #e30d20;
}

.card-list-items .list-link i {
  transition: all .25s;
}

.card-list-items .list-link:hover i {
  transform: translateX(-.5rem);
}

.table .clickable-row i {
  transition: all .25s;
}

@media all and (min-width: 992px) {
  .card-list .card-body {
    padding: 2.5rem;
  }
}
@media all and (min-width: 1200px) {
  .module-trainingen {
    padding: 7rem 0;
  }
  .card-list .card-body {
    padding: 3rem;
  }
}

/* -- Module-werkplaats -------------------------*/
.module-werkplaats {
  position: relative;
  height: 100vh;
  min-height: 600px;
  background: #000;
  overflow: hidden;
}

.werkplaats-overlay {
  position: relative;
  margin-right: -20vw;
  display: grid;
  grid-template-columns: auto min-content;
  place-items: end;
  z-index: 2;
  height: 100%;
  width: 100%;
}

.werkplaats-bcg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}

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

.werkplaats-bcg:before {
  content: '';
  position: absolute;
  width: 60%;
  height: 100%;
  top: 0;
  right: 0;
  background: linear-gradient(90deg, rgba(0, 10, 28, 0) 10%, rgb(0, 10, 28) 100%);
}

.werkplaats-element {
  width: 100%;
  height: 100%;
  background-image: url("../images/werkplaats-visual.svg");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 3;
}
.werkplaats-element__spacer {
  width: 100%;  
  aspect-ratio: 133/540;  
  height: 100vh;
  min-height: 600px;
}

.werkplaats-title {
  display: flex;
  align-self: center;
}

@media all and (min-width: 576px) {
  .werkplaats-overlay {
    margin-right: -10vw;
  }
}

@media all and (min-width: 768px) {
  .werkplaats-overlay {
    margin-right: -5vw;
  }
}
@media all and (min-width: 992px) {
  .werkplaats-overlay {
    margin-right: 0;
  }
}

/* -- Module-banner -------------------------*/
.module-banner {
  height: 100vh;
  background: #1B2434;
  position: relative;
}

.module-banner--half {
  height: 100%;
}

.banner-overlay {
  position: relative;
  display: grid;
  grid-template-columns: min-content auto;
  place-items: start;
  z-index: 2;
  height: 50vh;
  margin-left: -20vw;
  width: 100%;
}

.banner-bcg {
  position: absolute;
  width: 100%;
  height: 100%;
  max-height: 50vh;
  top: 0;
  left: 0;
  z-index: 1;
}

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

.banner-bcg:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(270deg, rgba(0, 10, 28, 0) 0%, rgb(0, 10, 28) 100%);
}

.banner-element {
  width: 100%;
  height: 100%;
  background-image: url("../images/banner-visual.svg");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 3;
  padding-right: 1rem;
}

.banner-element__spacer {
  width: 100%;
  height: 0;
  min-height: 100%;
  aspect-ratio: 265/627;
}

.banner-title {
  display: flex;
  align-self: center;
}

.banner-content {
  margin-top: 1.5rem;
}

@media all and (min-width: 768px) {
  .banner-overlay {
    margin-left: -10vw;
  }
}
@media all and (min-width: 992px) {
  .module-banner--half {
    height: 50vh;
  }
  
  .banner-overlay {
    margin-left: -8vw;
  }   
  
  .banner-bcg {
    width: 75%;
  }
  
  .banner-bcg:before {
    width: 80%;
    background: linear-gradient(270deg, rgba(0, 10, 28, 0) 10%, rgb(0, 10, 28) 100%);
  }
  
  .banner-content {
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items:  center;
  }
  
}
@media all and (min-width: 1200px) {
  .banner-overlay {
    margin-left: 0;
  }    
}

/* -- Module-agenda -------------------------*/
.module-agenda {
  padding: 4rem 0;
  background: #ffffff;
}

.table .clickable-row {
  cursor: pointer;
}
.table .clickable-row:hover td {
  color: #e30d20;
}
.table th {
  color: #878b95;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  padding: 0.65rem 0;
}
.table td {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  padding: 0.65rem 0;
}

.table .clickable-row i {
  transition: all .25s;
}

.table .clickable-row:hover i {
  position: relative;
  transform: translateX(-.5rem);
}

.overzicht .table {
  color: #fff;
}

@media all and (min-width: 992px) {
  .table {
    font-size: 1.25rem;
  }
}

@media all and (min-width: 1200px) {
  .module-agenda {
    padding: 7rem 0;
  }
}

.module-agenda tr.agenda-peek-1,
.module-agenda tr.agenda-peek-2 {
	transition: opacity .2s ease;
	pointer-events: none;
}

.module-agenda tr.agenda-peek-1 { opacity: .55; }
.module-agenda tr.agenda-peek-2 { opacity: .18; }

.module-agenda tr.d-none { display: none; }

.module-agenda .agenda-toon-meer-wrap {
	text-align: center;
	margin-top: 1.5rem;
}

.js-agenda tr.agenda-peek-1,
.js-agenda tr.agenda-peek-2 {
	transition: opacity .2s ease;
	pointer-events: none;
}

.js-agenda tr.agenda-peek-1 { opacity: .55; }
.js-agenda tr.agenda-peek-2 { opacity: .18; }

.js-agenda tr.d-none { display: none; }

.js-agenda .agenda-toon-meer-wrap {
	text-align: center;
	margin-top: 1.5rem;
}

/* -- Module-brochure -----------------------*/
.module-brochure {
  padding: 3.5rem 0;
  background: #ffffff;
}

.brochure-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #e30d20;
  padding: 0 2rem 2rem 2rem;
}
.brochure-cta__title {
  text-align: center;
  margin-bottom: 1.25rem;
}
.brochure-cta__image {
  position: relative;
  margin-top: -2rem;
  order: -1;
  height: 300px;
  width: auto;
}
.brochure-cta div:nth-child(2) {
  order: -1;
}

@media all and (min-width: 992px) {
  .brochure-cta {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    background: #e30d20;
    padding: 0 3rem;
    max-height: 320px;
  }
  .brochure-cta > div {
    width: 100%;
  }
  .brochure-cta > div:last-child {
    display: flex;
    justify-content: flex-end;
  } 
  .brochure-cta__title {
    text-align: left;
  }
  .brochure-cta__image {
    display: block;
    top: 0;
    order: 0;
    height: 420px;
    width: auto;
    margin: 0 auto;
  }
  
  .brochure-cta div:nth-child(2) {
    order: 0;
  }
}

/* -- Module-contactformulier --------------------*/
.module-contactformulier {
  padding: 4rem 0;
  background: #000a1c;
}

/* -- Page ----------------------------*/
.page-breadcrumb {
  margin-top: 1.5rem;
}

.overzicht {
  background: #1B2434;
  padding: 4rem 0;
}

.card-overzicht {
  background: #000a1c;
}
.card-overzicht .card-header {
  padding: 1.5rem 2rem 1rem 2rem;
  border: none;
}
.card-overzicht .card-image {
  overflow: hidden;
}
.card-overzicht .card-image img {
  transition: all 0.5s ease-in-out;
}
.card-overzicht .card-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem;
  color: #ffffff;
}
.card-overzicht:hover {
  background: #222B3B;
}
.card-overzicht:hover .card-image img {
  transform: scale(1.05);
}
.card-overzicht:hover .card-body .btn-outline i {
  opacity: 1;
  padding-left: 0.25rem;
  max-width: 100%;
  visibility: visible;
}

.card__meta {
  font-weight: 700;
  display: block;
}

.card__title {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #e30d20;
}

@media all and (min-width: 1200px) {
  .overzicht {
    padding: 6rem 0;
  }
}

.page-contact {
  padding: 4rem 0;
  background: #1B2434;
}

.locaties-grid {
  display: grid;
}

.locaties-grid-map {
  display: flex;
  justify-content: flex-end;
}

@media all and (min-width: 576px) {
  .locaties-grid {
    grid-template-columns: min-content auto;
    gap: 3rem;
  }
}

@media all and (min-width: 992px) {
  .locaties-grid-map img {
  max-width: 500px;
}
}

/* -- Footer ----------------------------------*/
.footer-nieuwsbrief {
  background: #ffffff;
  padding: 1.25rem 0;
}

.footer-nieuwsbrief .h3 {
  color: #000a1c;
}

.footer-upper {
  background: #f2f4f7;
  padding: 2.5rem 0;
}

.footer-title {
  display: block;
  color: #878b95;
  font-weight: 700;
  font-size: 1.25rem;
  margin-top: 0;
  margin-bottom: 0.25rem;
}

.footer-locaties {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2rem;
}

.locaties-map .img-fluid {
  width: 200px;
}

.locaties-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.locaties-list .list-link {
  padding: 0;
  color: #000a1c;
}
.locaties-list .list-link:hover {
  color: #e30d20;
}

.footer-nav {
  flex-direction: column;
  gap: 0.25rem;
}
.footer-nav .nav-link {
  padding: 0;
  color: #000a1c;
}
.footer-nav .nav-link:hover {
  color: #e30d20;
}

.footer-base {
  background: #1B2434;
  padding: 1.25rem 0;
}

.footer-copyright {
  font-size: .9rem;
  color: rgba(255,255,255,.8);
}

.footer-copyright a {
  color: rgba(255,255,255,.8);
}

.footer-copyright a:hover {
  color: rgba(255,255,255,1);
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1.25rem;
  font-size: .9rem;
}
.footer-links__link {
  color: rgba(255,255,255,.8);
}
.footer-links__link:hover {
  color: rgba(255,255,255,1);
}

@media all and (min-width: 576px) {
  .footer-locaties {
    flex-direction: row;
  }
  .footer-locaties .footer-title {
    margin-top: 2rem;
  }
}
@media all and (min-width: 768px) {
  .footer-title {
    margin-top: 2rem;
    margin-bottom: 1rem;
  }
}

/* -- Hubspot -----------------------------*/
.hs-form {
  display: grid;
  gap: 1.5rem;
}

.hs-form fieldset {
  max-width: 100% !important;
} 

.hs-form .hs-input:not([type="checkbox"]) {
  width: 100% !important;
  font-size: 1rem !important;
  border-radius: .5rem !important;
  padding: 0.5rem 1.25rem !important;
  box-shadow: none !important;
  min-height: 52px !important;
  color: var(--input-color);
  background-color: var(--input-background);
  border: none;
}

.hs-form select.hs-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  
  color: var(--input-color);
  
  background-color: #f4f7fa;
  border: none;
  border-radius: .5rem;
  padding: 1rem 3rem 1rem 1.5rem;
  
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='2' viewBox='0 0 24 24'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1rem;
}

.hs-form .hs-input[type="checkbox"]  {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1.25rem !important;
  height: 1.25rem !important;
  appearance: none;
  background-color: none;
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid var(--primary);
  border-radius: 100%;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  print-color-adjust: exact;
}

.hs-form .hs-input.hs-fieldtype-textarea  {
  border-radius: .5rem !important;
  min-height: 150px !important;
}

.hs-form .hs-input[type="checkbox"]:checked  {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.hs-form .hs-input:focus-visible,
.hs-form .hs-input:focus {
  outline: 0 !important;
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.25) !important;
}

.hs-form .hs-input:not([type="checkbox"]).error {
  border-bottom: 2px solid #dc3545;
  border-color: #dc3545;
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.hs-error-msgs label {
  color: #dc3545;
}

.hs-form .form-columns-2 {
  display: flex;
  gap: 1rem;
}

.hs-form-field > label {
  margin: 0 0 .5rem 0;
}

.hs-form-field > label span {
  font-weight: 500;
}

.inputs-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.inputs-list .hs-form-booleancheckbox label,
.inputs-list .hs-form-checkbox label {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: .5rem;
  align-items: center;
}

.hs-submit .hs-button.primary {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  border-radius: 3rem;
  background: none;
  transition: all 0.5s ease-in-out;
  padding: 0.5rem 1.25rem 0.65rem 1.25rem;
  color: #fff;
  border: 1px solid #fff;
} 

.hs-richtext {
  max-width: 150ch;
  text-wrap: balance;
}

.fn-date-picker .is-today .pika-button {
  color: var(--secondary) !important;
}

.fn-date-picker .is-selected .pika-button {
  color: var(--white) !important;
  background: var(--secondary) !important;
  box-shadow: inset 0 1px 3px var(--secondary) !important;
}
.fn-date-picker .pika-button:hover {
  background-color: var(--primary) !important;
}

/* -- Extra modules ----------------------------------*/
.module-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.module-head .module-title { margin-bottom: 0; }

.btn-round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 1px solid var(--white);
  background: none;
  color: var(--white);
  transition: .25s ease-in-out;
}
.btn-round:hover { background: var(--primary); border-color: var(--primary); color: var(--white); }
.btn-round:disabled { opacity: .3; pointer-events: none; }
.btn-round--secondary { border-color: var(--secondary); color: var(--secondary); }

.arrow-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  color: var(--white);
  text-decoration: none;
}
.arrow-link i { color: var(--primary); transition: .25s; }
.arrow-link:hover { color: var(--primary); }
.arrow-link:hover i { transform: translateX(.35rem); }

  
.module-reviews {
  position: relative;
  padding: 4rem 0;
  background: var(--tertiary);
  overflow: hidden;
}
.module-reviews .container { position: relative; z-index: 1; }

.reviews-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: .25rem;
}
.reviews-track::-webkit-scrollbar { display: none; }

.card-review {
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  background: var(--secondary);
  padding: 2rem;
  border: 0;
  border-radius: 0;
}

.card-review__quote {
  font-size: 2rem;
  line-height: 1;
  color: var(--primary);
  margin-bottom: .25rem;
}
.card-review__text {
  flex: 1;
  color: var(--quinary);
  margin: 1rem 0 2rem;
}
.card-review__author {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding-top: 1.25rem;
  border-top: 1px solid #505050;
}
.card-review__avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--primary);
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  color: var(--white);
  text-transform: uppercase;
}
.card-review__name {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.2;
  color: var(--white);
}
.card-review__training { display: block; font-size: .875rem; }

.reviews-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
}
.reviews-nav { display: flex; gap: .75rem; }

@media (min-width: 768px) {
  .reviews-track { grid-auto-columns: calc((100% - 1.5rem) / 2); }
}
@media (min-width: 992px) {
  .reviews-track { grid-auto-columns: calc((100% - 3rem) / 3); }
  .card-review { padding: 2.5rem; }
}
@media (min-width: 1200px) {
  .module-reviews { padding: 7rem 0; }
}

  
.module-actueel {
  padding: 4rem 0;
  background: var(--white);
}

.card-overzicht--featured { height: 100%; text-decoration: none; }
.card-overzicht--featured .card-image { aspect-ratio: 16 / 10; }
.card-overzicht--featured .card-image img { width: 100%; height: 100%; object-fit: cover; }
.card-overzicht--featured .card__meta { color: var(--quaternary); margin-bottom: .5rem; }
.card-overzicht--featured .card__title { font-size: 1.75rem; line-height: 1; margin-bottom: 1rem; }
.card-overzicht--featured p { color: var(--quaternary); }
.card-overzicht--featured .btn { align-self: flex-start; margin-top: .5rem; }

.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--quinary);
}
.news-list__item { border-bottom: 1px solid var(--quinary); }
.news-list__link {
  display: grid;
  grid-template-columns: 6rem 1fr auto;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 0;
  color: var(--secondary);
  text-decoration: none;
}
.news-list__thumb { aspect-ratio: 1; overflow: hidden; }
.news-list__thumb img { width: 100%; height: 100%; object-fit: cover; transition: .5s ease-in-out; }
.news-list__meta {
  display: block;
  font-size: .875rem;
  font-weight: 700;
  color: var(--quaternary);
  margin-bottom: .25rem;
}
.news-list__title {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  line-height: 1.1;
  text-transform: uppercase;
  transition: color .25s;
}
.news-list__link i { color: var(--primary); font-size: 1.25rem; transition: .25s; }
.news-list__link:hover .news-list__title { color: var(--primary); }
.news-list__link:hover i { transform: translateX(-.5rem); }
.news-list__link:hover .news-list__thumb img { transform: scale(1.05); }

.module-actueel .module-foot { margin-top: 2rem; }

@media (min-width: 992px) {
  .news-list { border-top: 0; }
  .news-list__item:first-child .news-list__link { padding-top: 0; }
  .news-list__link { grid-template-columns: 7.5rem 1fr auto; }
}
@media (min-width: 1200px) {
  .module-actueel { padding: 7rem 0; }
  .card-overzicht--featured .card__title { font-size: 2rem; }
}

.module-actueel--dark { background: var(--tertiary); }
.module-actueel--dark .module-title.clr--secondary { color: var(--white); }
.module-actueel--dark .news-list,
.module-actueel--dark .news-list__item { border-color: #505050; }
.module-actueel--dark .news-list__link { color: var(--white); }
.module-actueel--dark .news-list__thumb { background: var(--secondary); }
.module-actueel--dark .btn-outline--secondary,
.module-actueel--dark .btn-outline--secondary:hover { color: var(--white); border-color: var(--white); }
.module-actueel--dark .btn-outline--secondary i { color: var(--white); }

  
.module-social {
  padding: 4rem 0;
  background: #000;
  overflow: hidden;
}
.module-social .tilt-title { margin: 1rem 0 3rem; }  /* ruimte voor de rotatie */
.social-intro { max-width: 26rem; margin-bottom: 1.75rem; }

.social-handle {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.5rem;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  color: var(--white);
}
.social-handle i { color: var(--primary); }
.social-handle:hover { color: var(--primary); }

.social-channels { display: flex; flex-wrap: wrap; gap: .75rem; }
.social-channels .btn i.fa-brands {         /* merk-icoon altijd zichtbaar */
  visibility: visible;
  max-width: none;
  opacity: 1;
  padding-right: .4rem;
  top: 0;
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .5rem;
  margin-top: 3rem;
}
.social-post {
  position: relative;
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--secondary);
  color: var(--white);
  text-decoration: none;
}
.social-post img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .75;
  transition: .5s ease-in-out;
}
.social-post__platform {
  position: absolute;
  top: .75rem;
  right: .75rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(0,10,28,.6);
  font-size: .9rem;
  transition: background .25s;
}
.social-post__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem;
  background: linear-gradient(to top, rgba(0,10,28,.95) 0%, rgba(0,10,28,0) 70%);
  opacity: 0;
  transition: opacity .5s ease-in-out;
}
.social-post__date {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: .85rem;
  color: var(--quaternary);
  margin-bottom: .25rem;
}
.social-post__caption {
  font-size: .875rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 .5rem;
}
.social-post__stats {
  display: flex;
  gap: 1rem;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: .95rem;
}
.social-post__stats i { color: var(--primary); margin-right: .25rem; }
.social-post:hover { color: var(--white); }
.social-post:hover img { opacity: .3; transform: scale(1.05); }
.social-post:hover .social-post__overlay { opacity: 1; color: inherit; }
.social-post:hover .social-post__platform { background: var(--primary); }

@media (min-width: 768px) {
  .social-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 992px) {
  .module-social .tilt-title { margin-bottom: 2rem; }
  .social-grid { margin-top: 0; }
}
@media (min-width: 1200px) {
  .module-social { padding: 7rem 0; }
}

  
.module-kennisbank {
  position: relative;
  padding: 4rem 0;
  background: var(--tertiary);
}
  
.card-kb {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2rem;
  background: var(--secondary);
  border: 0;
  border-radius: 0;
  color: var(--white);
  text-decoration: none;
  transition: background .5s ease-in-out;
}
.card-kb::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s ease-in-out;
}
.card-kb:hover { background: #222b3b; color: var(--white); }
.card-kb:hover::after { transform: scaleX(1); }

.card-kb__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.card-kb__icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--primary);
  border-radius: 50%;
  color: var(--primary);
  font-size: 1.1rem;
  transition: .25s;
}
.card-kb:hover .card-kb__icon { background: var(--primary); color: var(--white); }
.card-kb__type {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: .95rem;
  color: var(--quaternary);
}
.card-kb .card__title { margin-bottom: .75rem; line-height: 1; }
.card-kb p { color: var(--quaternary); flex: 1; }
.card-kb__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #505050;
  font-size: .875rem;
  color: var(--quaternary);
}
.card-kb__foot .arrow-link { font-size: 1rem; }
.card-kb:hover .arrow-link i { transform: translateX(.35rem); }

.module-kennisbank .module-foot { margin-top: 2.5rem; }

@media (min-width: 992px) {
  .card-kb { padding: 2.5rem; }
}
@media (min-width: 1200px) {
  .module-kennisbank { padding: 7rem 0; }
}

/* Filter op soort (categorie) */
.kb-tabs {
  display: flex;
  gap: .5rem;
  margin: 0 0 2rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.kb-tabs::-webkit-scrollbar { display: none; }
.kb-tab {
  flex: 0 0 auto;
  padding: .5rem 1.25rem .6rem;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 3rem;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  color: var(--quinary);
  white-space: nowrap;
  transition: .25s;
}
.kb-tab:hover { border-color: var(--white); color: var(--white); }
.kb-tab.is-active { border-color: var(--primary); background: var(--primary); color: var(--white); }

/* Play-icoon op de kaart van een video */
.card-overzicht .card-image { position: relative; }
.card-play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  margin: -2rem 0 0 -2rem;
  padding-left: .2rem;
  border-radius: 50%;
  background: var(--primary);
  color: var(--white);
  font-size: 1.25rem;
  box-shadow: 0 0 0 .5rem rgba(227,13,32,.25);
  transition: transform .5s ease-in-out;
}
.card-overzicht:hover .card-play { transform: scale(1.1); }

/* Video in de hero (hero-case.php) */
.hero-media--video { aspect-ratio: 16 / 9; background: #000; }
.hero-media--video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Hero zonder afbeelding (hero-page.php): geen min-height van 600px en geen overloopband */
.hero-content--text { min-height: 0; }
.hero-content--text::after { display: none; }

/* Staande video (story / Shorts) in de hero */
.hero-media--story {
  aspect-ratio: 9 / 16;
  width: 100%;
  max-width: 22rem;
  margin: 0 auto;
}
@media (max-width: 991.98px) {
  .hero-media--story { margin: 0 auto 2rem; }
}

/* Veelgestelde vragen in een kennisbank-item (gebruikt de bestaande .accordion-stijl) */
.single-kennisbank .accordion { border-top: 1px solid #505050; }
.single-kennisbank .accordion-item { border-color: #505050; }
.single-kennisbank .accordion-button { gap: 1rem; text-align: left; }
.single-kennisbank .accordion-button:hover { color: var(--primary) !important; }
.single-kennisbank .accordion-body { padding: 0 0 1.25rem; color: var(--quaternary) !important; }
.single-kennisbank .accordion-body > :last-child { margin-bottom: 0; }
/*# sourceMappingURL=stylesheet.css.map */