/**
 * Theme Name: child
 * Template:   hello-elementor
 */

.h319{
	height: 319px!important;
}
.project-card__image-wrap{
    height: 360px!important;
    overflow: hidden;
    display: flex;
}
.project-card img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.cro_button {
    -webkit-transition-duration: 0.9s;
    -moz-transition-duration: 0.9s;
    transition-duration: 0.9s;
    position: relative;
    background-repeat: no-repeat;
    background-position: -100% -100%, 0 0;
    background-image: -webkit-radial-gradient(top left, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 37%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.0) 50%);
    background-image: -moz-radial-gradient(0 0, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 37%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.0) 50%);
    background-image: -o-radial-gradient(0 0, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 37%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.0) 50%);
    background-image: radial-gradient(rgba(255, 255, 255, 0.6), rgba(0, 0, 0, 0) 70%);
    -moz-background-size: 250% 250%, 100% 100%;
    background-size: 250% 250%, 100% 100%;
    -webkit-transition-duration: 0.9s;
    -moz-transition-duration: 0.9s;
    transition-duration: 0.9s;
    cursor: pointer;
}
.cro_button.project-card__btn,.cro_button.projecten-all-btn {
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    position: relative;
    background-repeat: no-repeat;
    background-position: -100% -100%, 0 0;
    background-image: -webkit-radial-gradient(top left, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 37%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.0) 50%);
    background-image: -moz-radial-gradient(0 0, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 37%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.0) 50%);
    background-image: -o-radial-gradient(0 0, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 37%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.0) 50%);
    background-image: radial-gradient(rgba(255, 255, 255, 0.6), rgba(0, 0, 0, 0) 70%);
    -moz-background-size: 250% 250%, 100% 100%;
    background-size: 250% 250%, 100% 100%;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    cursor: pointer;
}

.shine {
    -webkit-transition-duration: 0.9s;
    -moz-transition-duration: 0.9s;
    transition-duration: 0.9s;
    position: relative;
    background-repeat: no-repeat;
    background-position: -100% -100%, 0 0;
    background-image: -webkit-radial-gradient(top left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 37%, rgba(0, 0, 0, 0.8) 45%, rgba(0, 0, 0, 0.0) 50%);
    background-image: -moz-radial-gradient(0 0, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 37%, rgba(0, 0, 0, 0.8) 45%, rgba(0, 0, 0, 0.0) 50%);
    background-image: -o-radial-gradient(0 0, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 37%, rgba(0, 0, 0, 0.8) 45%, rgba(0, 0, 0, 0.0) 50%);
    background-image: radial-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0) 70%);
    -moz-background-size: 250% 250%, 100% 100%;
    background-size: 250% 250%, 100% 100%;
    -webkit-transition-duration: 0.9s;
    -moz-transition-duration: 0.9s;
    transition-duration: 0.9s;
    cursor: pointer;
}


.shine:hover,.cro_button:hover,.cro_button.project-card__btn:hover,.cro_button.projecten-all-btn:hover {
    background-position: 100% 100%, 0 0;
}

.abs_bor{
	position: relative;
}
.abs_bor:after{
	width:calc((100vw - 100%) / 2);
	content: '';
	position: absolute;
	top:50%;
	right:100%;
	height: 1px;
	background: var(--color-stroke-dark, rgba(0, 33, 31, 0.15));
}
.abs_bor:before{
	width:calc((100vw - 100%) / 2 + 100% - 177px);
	content: '';
	position: absolute;
	top:50%;
	left:177px;
	height: 1px;
	background: var(--color-stroke-dark, rgba(0, 33, 31, 0.15));
}
.mtop_auto{
	    margin-top: auto!important;
}
.btop_ab:after{
	position: absolute;
	content: '';
	top:0;
	left:50%;
	transform: translateX(-50%);
	width:100vw;
	height: 1px;
	background: rgba(248, 249, 250, 0.30);
}
.greendot{
	display: flex!important;
	align-items: center!important;
	gap: 8px;
}
.greendot:before{
	content:'';
	width: 11px;
	height: 11px;
	background: #00DE8F;
	border-radius: 50%;
}

.custom_absolute1{
	height: 168px!important;
}
.custom_absolute2{
	height: clamp(100px,190/1440*100vw,203px)!important;
	width: clamp(150px,280/1440*100vw,306px)!important;
}
.custom_squere{
	height:clamp(0px,256/1440*100vw,256px);
}
.ovh{
	overflow:hidden!important;
}
.cback{
	background: linear-gradient(0deg, rgba(248, 249, 250, 0.90) 0%, rgba(248, 249, 250, 0.90) 100%), var(--color-brand, #00DE8F);
	height: 70px;
	width: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
}
.imfl img{
	width:100%;
	height: 100%;
	object-fit: cover;
}




.mySwiper1 {
  width: 100%;
  height: 100%;
}
.swiper-slide{
	height: auto!important;
}

.mySwiper1 .swiper-slide {
 
}

.mySwiper1 .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.elementor-icon i, .elementor-icon svg{
	height: auto!important;
	width: auto!important;

}
.mobile_but{
	display: none;
}

/* ---- Wrapper ---- */
.tsb-gallery-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    overflow: hidden;
}
.tsb-gallery-nav-bottom {
    flex-direction: column;
    overflow: visible;
}
.w100_sh .elementor-widget-shortcode{
	width: 100%!important;
}
.w100_sh .elementor-widget-shortcode .elementor-widget-shortcode{
	width:fit-content!important;
}
.w100{
	width: 100%!important;
}
.tsb-gallery-swiper-wrap {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.adv_bottom:after{
	position: absolute;
	top:100%;
	background: var(--color-brand, #00DE8F);
	left: 67px;
	width: 1px;
	content: '';
	height: 100%;
}

/* ---- Slide ---- */
.tsb-gallery-slide {
    width: auto !important;
    height: auto;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    transition: opacity 0.3s;

    padding:24px;
    padding-bottom: 24px!important;
    border-bottom: 1px solid rgba(0, 33, 31, 0.15);
    border-top:1px solid rgba(0, 33, 31, 0.15);
    border-right:1px solid rgba(0, 33, 31, 0.15);
}
.tsb-gallery-wrap{
	width: 100vw;
	margin-left: 50%;
	transform: translateX(-50%);
}
.tsb-gallery-slide img {
    display: block;
    height: 100%!important;
    width: auto;
    object-fit: cover;
}
.tsb-gallery-slide a {
    display: block;
    height: 100%;
}
.tsb-gallery-nav{
	justify-content: space-between!important;
}

/* ---- Navigatie ---- */
.tsb-gallery-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.tsb-gallery-nav--bottom {
    justify-content: flex-start;
}
.tsb-gallery-nav--sides {
    flex-direction: column;
}

.custom-prev,
.custom-next {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s, border-color 0.2s;
}
.custom-prev:hover,
.custom-next:hover {
    background: #f5f5f5;
}
.custom-prev.swiper-button-disabled,
.custom-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}







/* ============================================
   Reviews Slider
   ============================================ */
.tsb-reviews-wrap { position: relative; }

.tsb-review-card {
    padding:32px;
    padding-bottom: 0;
    border-radius: var(--size-border-radius-main, 16px);
border: var(--size-stroke, 1px) solid var(--color-stroke-light, rgba(248, 249, 250, 0.30));
background: rgba(255, 255, 255, 0.01);
display: flex;
flex-direction: column;
gap:0;
}
.tsb-review-title{
	color: var(--color-light-md, #F8F9FA);
font-family: Manrope;
font-size: 24px;
font-style: normal;
font-weight: 500;
line-height: 90%; /* 21.6px */
letter-spacing: -0.72px;
margin-top: 32px;
margin-bottom: 16px;
}
.rev_con_wrap{
	margin-top: 64px;
	margin-bottom: 64px;
}
.tsb-logo-slide{
	height: auto!important;
	display: flex!important;
	align-items: center!important;
}
.tsb-reviews-wrap .swiper-slide{
	width: 520px;
}

/* Sterren */
.tsb-review-stars { display: flex; gap: 4px; }
.tsb-star img { width: 20px; height: 20px; }
.tsb-star--inactive { opacity: 0.3; }

/* Logo */
.tsb-review-logo img { max-height: 32px; width: auto; }

/* Titel */
 
/* Tekst */
.tsb-review-text {
	color: var(--color-light-md, #F8F9FA);
	font-family: Manrope;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 27px */
	letter-spacing: -0.36px;
}

/* Gebruiker */
.tsb-review-user { 
	width:calc(100% + 64px);
	margin-left: -32px;
	border-top:1px solid #16927C;
	padding:32px;
	gap:16px;
	display: flex;
	margin-top: auto;

}
.tsb-reviews-wrap .swiper-slide:not(.swiper-slide-active){
	opacity:0.4;
}
.pos_ab_cen{
	transform: translate(-50%,-50%);
	width:100%;
	height: 100%;
}
.pos_ab_cen img{
	object-fit: cover;
}
.tsb-logos-wrap{
	position: relative;
}
.tsb-logos-wrap:after{
	width: 25%;
	height: 100%;
	position: absolute;
	left:0;
	top:0;
	content:'';
	background: linear-gradient(270deg, rgba(0, 33, 31, 0.00) 0%, #00211F 100%);
	z-index: 2;
}
.tsb-logos-wrap:before{
	width: 25%;
	height: 100%;
	position: absolute;
	right:0;
	top:0;
	content:'';
	background: linear-gradient(90deg, rgba(0, 33, 31, 0.00) 0%, #00211F 100%);
	z-index: 2;
}
.tsb-review-avatar { width: 56px; height: 56px; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.tsb-review-avatar img { width: 100%; height: 100%; object-fit: cover; }
.tsb-review-avatar-placeholder { width: 100%; height: 100%; background: rgba(255,255,255,0.15); }
.tsb-review-name { color: var(--color-light-md, #F8F9FA);
font-family: Manrope;
font-size: 18px;
font-style: normal;
font-weight: 600;
line-height: 150%; /* 27px */
letter-spacing: -0.36px; }
.tsb-review-position { color: var(--color-light-md, #F8F9FA);
font-family: Manrope;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 150%; /* 24px */
letter-spacing: -0.32px;opacity:0.7 }

/* Navigatie */
.tsb-reviews-nav { display: flex; justify-content: center; gap: 12px; margin-top: 32px; }
.tsb-nav-btn {
    width: 56px; height: 56px;
    border-radius: var(--size-border-radius-xs, 8px);
border: var(--size-stroke, 1px) solid var(--color-stroke-dark, rgba(0, 33, 31, 0.15));
background: #FFF;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
     
    transition: all 0.2s ease-out;
}
.tsb-nav-btn:hover  svg path{
transition: all 0.2s ease-out;
}
.tsb-nav-btn:hover { background: rgba(255,255,255,0.2); }
.tsb-nav-btn:hover  svg path{ stroke: white; }
/* ============================================
   Logo Slider
   ============================================ */
.tsb-logos-wrap { overflow: hidden; }
.tsb-logo-slide { width: auto !important; }
.tsb-logo-item { display: flex; align-items: center; justify-content: center; }
.tsb-logo-item img { transition: opacity 0.3s; }

body{
	overflow-x:hidden;
}
.mobile_but{
	display: none;
}

.swiper-wrapper{ 
	transition-timing-function:linear!important;
}
@media screen and (max-width:1439px){
	.custom_absolute1{
		height: 112px!important;
	}
.vac_item{
		width: 100%!important;
	}
}
@media screen and (max-width:1023px){
	.elementor-widget-tsb_gallery_slider .swiper-slide{
		max-height: 360px!important;
	}
	.tsb-gallery-slide img{
		max-width: 90vw!important;
		width: 100%;
	}
	.vac_item{
		padding:24px!important;
	}
	.vac_small_item{
		font-size: 14px!important;
	}
	.vac_prevl_title{
		font-size: 16px!important;
	}
	.vac_prevl_item{
		font-size: 14px!important;
	}
	.vac_small_title{
		font-size: 12px!important;
	}
	.vac_button1,.vac_button2{
		font-size: 16px!important;
	}
	.vac_desc_light{
		font-size: 14px!important;
	}
	.vac_title{
		font-size: 20px!important;
	}
	.vac_prevl_wrapper{
		padding-bottom: 24px!important;
	}
	.vac_button1{
		margin-top: 24px!important;
	}
	.mobile_but{
		display: flex!important;
		z-index: 21;
	}
	#mobile_nav{
		position: absolute;
	    display: flex;
	    flex-direction: column;
	    top: -110vh;
	     
	    width: 100%;
	    height: auto;
	    padding: 24px;
	    background: #00211f;
	    border-radius: 0 0 16px 16px;
	    box-shadow: 0 0 6px 5px #000000;
	    z-index: 20;
	    width: calc(100vw - 12px);
	    /* left: 50%; */
	    /* transform: translateX(-50%); */
	    right: calc(0px - 90px);
	    transition: all 0.4s ease-out;
	}
	#mobile_nav.active{
		top:-28px;
	}
	.custom_absolute1{
		height: clamp(0px, 98 / 390 * 100vw, 164px) !important;
        min-height: unset !important;
        width: clamp(0px, 185 / 390 * 100vw, 315px) !important;
        left: clamp(24px, (100vw - 548px - 48px) / 2, 109px) !important;
        bottom: 24px !important;
	}
	.custom_absolute2{
		width:clamp(0px,216/390*100vw,216px)!important;
		height:clamp(0px,118/390*100vw,118px)!important;
		left: clamp(0px,(100vw - 344px - 48px) / 2,212px);
		right: unset!important;
		bottom: 0px!important;
	}
	.bunset{
		border:unset!important;
	}
	.projecten-wrap > div{
		width: 100%!important;
	}
}
.tsb-reviews-wrap .swiper-slide{
	max-width: 100%;
}
.white_header{
	display: none!important;
}
@media screen and (max-width:550px){
	.projecten-slider-footer{
		display: flex!important;
		flex-direction: column!important;
    	gap: 20px!important;
	}
	.project-card__title{
		padding:24px!important;
		font-size: 20px!important;
	}
	.project-card__desc{
		padding: 24px!important;
		font-size: 14px!important;
		padding-bottom: 12px!important;
	}
	.project-card__rol{
		padding: 24px!important;
		padding-top: 0!important;
		font-size: 14px!important;
	}
	.tsb-review-card{
		padding: 24px!important;
	}
	.tsb-review-title{
		font-size: 20px!important;
	}
	.tsb-review-text{
		font-size: 14px!important;
	}
	.tsb-review-name{
		font-size: 18px!important;
	}
	.tsb-review-position{
		font-size: 16px!important;
	}
}