/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
p {
  margin-bottom: 0 !important;
}
.blue-highlight {
    color: #0074BE;
	font-weight: 800;
}
.custom-icon .elementor-button-icon {
    font-size: 12px;
    margin-top: 1px;
}
.textbutton .elementor-button-icon svg {
    font-size: 1.1rem;
}
/* blue_dot */
.bluedot {
	color: #007DFF;
}
/* custom_icon_box */
.custom-ib h4.elementor-icon-box-title {
    margin: 0;
}
/* dynamic_icon */
.dynamicicon .elementor-button-icon {
  position: relative;
  overflow: hidden;
}
.dynamicicon .elementor-button-icon svg {
  display: inline-block;
  vertical-align: middle; /* uitlijnen met pseudo-element */
  transition: transform 0.4s ease, opacity 0.3s ease;
}
.dynamicicon:hover .elementor-button-icon svg {
  transform: translateX(100%);
  opacity: 0;
}
.dynamicicon .elementor-button-icon::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24'%3E%3Cpath fill='%23007DFF' d='M23.12,9.91L19.25,6a1,1,0,0,0-1.42,0h0a1,1,0,0,0,0,1.41L21.39,11H1a1,1,0,0,0-1,1H0a1,1,0,0,0,1,1H21.45l-3.62,3.61a1,1,0,0,0,0,1.42h0a1,1,0,0,0,1.42,0l3.87-3.88A3,3,0,0,0,23.12,9.91Z'/%3E%3C/svg%3E");
  opacity: 0;
  transition: transform 0.4s ease 0.1s, opacity 0.2s ease 0.1s;
}
.dynamicicon:hover .elementor-button-icon::after {
  transform: translateX(100%);
  opacity: 1;
}
/* dynamic_icon_alternative */
.dynamiciconwhite .elementor-button-icon {
  position: relative;
  overflow: hidden;
}
.dynamiciconwhite .elementor-button-icon svg {
  display: inline-block;
  vertical-align: middle;
  transition: transform 0.4s ease, opacity 0.3s ease;
}
.dynamiciconwhite:hover .elementor-button-icon svg {
  transform: translateX(100%);
  opacity: 0;
}
.dynamiciconwhite .elementor-button-icon::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Outline' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M23.12,9.91L19.25,6a1,1,0,0,0-1.42,0h0a1,1,0,0,0,0,1.41L21.39,11H1a1,1,0,0,0-1,1H0a1,1,0,0,0,1,1H21.45l-3.62,3.61a1,1,0,0,0,0,1.42h0a1,1,0,0,0,1.42,0l3.87-3.88A3,3,0,0,0,23.12,9.91Z'/%3E%3C/svg%3E");
  opacity: 0;
  transition: transform 0.4s ease 0.1s, opacity 0.2s ease 0.1s;
}
.dynamiciconwhite:hover .elementor-button-icon::after {
  transform: translateX(100%);
  opacity: 1;
}
/* transparency_slider */
.carousel-fade-wrapper {
  position: relative;
  overflow: hidden;
}
/* De fades */
.carousel-fade-wrapper::before,
.carousel-fade-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  width: 120px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.carousel-fade-wrapper::before {
  left: 0;
  background: linear-gradient(to right, white, transparent);
}
.carousel-fade-wrapper::after {
  right: 0;
  background: linear-gradient(to left, white, transparent);
}
/* custom_cursor */
/* Verberg standaard cursor
body {
  cursor: none;
}
 */
/* Cursor container */
.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9999;
}
/* Kleine dot in blauw */
.cursor-dot {
  width: 8px;
  height: 8px;
  background: #0098FF;
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
}

/* Pulsende ring in blauw met lichte transparantie */
.cursor-pulse {
  width: 30px;
  height: 30px;
  border: 2px solid rgba(0, 152, 255, 0.3);
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  animation: pulse 2s ease-out infinite;
}
/* Pulsing animatie */
@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
  }
}
/* button_slider_home */
.my-carousel-button.active .elementor-button {
    background-color: #f5f4f5 !important;
    color: black !important;
}
.my-carousel-button:not(.active) .elementor-button:hover {
  background-color: transparent;
  color: black;
}
/* raster_proces */
.raster-container {
  position: relative;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 30px 30px; /* vierkante vakken */
  overflow: hidden;
  z-index: 0;
}

.raster-container::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(4,29,54,0) 40%, #041D36 100%);
  pointer-events: none;
}
.raster-container-light {
  position: relative;
  background-color: #F1F1F1;
  background-image:
    linear-gradient(to right, rgba(0, 0, 0, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 1px, transparent 1px);
  background-size: 30px 30px; /* vierkante vakken */
  overflow: hidden;
  z-index: 0;
}

.raster-container-light::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 75% 25%, /* focus op rechtsboven */
    rgba(241,241,241,0.3) 0%,
    rgba(241,241,241,0.7) 50%,
    rgba(241,241,241,1) 100%
  );
  pointer-events: none;
  z-index: 1;
}
/* custom_icon_list */
.custom-icon-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.custom-icon-list li {
  display: flex;
  align-items: center;
  gap: 16px;
	font-weight: 400;
	font-size: 1rem;
	color: #5C5C5C;
}
.custom-icon-list .usp-icon svg {
  width: 16px;
  height: 16px;
  fill: #5C5C5C;
	margin-top: 7px;
}
/* custom_icon_list_bullet */
.custom-usp-wysiwyg ul {
  list-style: none !important;
  padding-left: 0;
}
.custom-usp-wysiwyg li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
  vertical-align: middle;
}
.custom-usp-wysiwyg li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23007DFF'><path d='M6.003 10.803l-3.147-3.15L1.44 9.07l4.563 4.562L14.56 5.07l-1.414-1.414z'/></svg>") no-repeat center center;
  background-size: contain;
}
/* icon_rotate (toepassingen_image_card) */
.icon-hover-box .icon-inner {
  transition: transform 0.3s ease, fill 0.3s ease;
  transform-origin: center;
  fill: #007DFF;
}

.icon-hover-box:hover .icon-inner {
  transform: rotate(45deg);
  fill: #FF3D00;
}
/* custom_accordeon */
.custom-accordeon .e-n-accordion-item[open] > summary {
  border-radius: 12px 12px 0 0
}
/* mobile_css */
@media (max-width: 852px) {
/* horizontale_button_slider_home */
.my-carousel-buttons-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 160px !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(0,0,0,0.2) transparent;
}
.my-carousel-buttons-wrapper .elementor-button {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
	min-width: 140px !important;
}
	.custom-icon-list .usp-icon svg {
		width: 14px;
		height: 14px;
		fill: black;
		margin-top: 6px;
}
}