/**
 * Stylesheet for custom styling.
 */
:root {
	--orange: #d26428;
	--oswald: 'Oswald', sans-serif;
}

/*
 * Header
 */
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
	z-index: 999;
	background: -moz-linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);
	background: -webkit-linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);
}

.admin-bar #header {
	top: 32px;
}

#header .header-inner {
	display: flex;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 16px;
	padding-right: 16px;
}

#header .header-logo {
	width: 25%;
}

#header .custom-logo-link {
	display: block;
}

#header .custom-logo-link img {
	display: block;
	width: 100%;
	max-width: 220px;
}

#header .header-nav {
	width: 50%;
}

#header .header-nav .header-nav-head,
#header .header-nav .elementor-button {
	display: none;
}

#header .header-nav .menu-hoofdmenu-container {
	height: 100%;
}

#header .menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#header .menu-item a {
	font-weight: 600;
	color: rgba(255, 255, 255, 0.8);
	transition: color .2s;
}

#header .menu-item a:hover {
	color: #fff;
}

#header .header-cta {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 25%;
}

#header .header-toggle {
	display: none;
}

.hamburger {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	gap: 6px;
}

.hamburger::before,
.hamburger::after {
	content: '';
}

.hamburger::before,
.hamburger::after,
.hamburger .patty {
	display: block;
	width: 25px;
	height: 3px;
	background-color: var(--orange);
}

.hamburger .patty {
	width: 20px;
}


@media ( max-width: 767px ) {
	#header .header-logo {
		width: 40%;
	}

	#header .header-nav .menu-hoofdmenu-container {
		height: auto;
		padding: 32px 0;
	}

	#header .header-nav {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 16px;
		background-color: #1b1b1b;
		opacity: 0;
		visibility: hidden;
		transition: opacity .4s;
	}

	#header.active .header-nav {
		opacity: 1;
		visibility: visible;
	}

	#header .header-nav .header-nav-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	#header .header-nav .elementor-button {
		display: block;
	}

	#header .header-nav .custom-logo-link {
		width: 40%;
	}

	#header .header-nav .header-close {
		color: #fff;
		font-size: 48px;
	}

	#header .menu {
		padding: 32px 0;
		align-items: flex-start;
		flex-direction: column;
		height: calc(100% - 100px);
	}

	#header .menu .menu-item a {
		font-size: 2rem;
		font-weight: 600;
		font-family: var(--oswald);
		text-transform: uppercase;
	}

	#header .header-cta {
		display: none;
	}

	#header .header-toggle {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: 60%;
	}
}

/*
 * Project Carousel
 */
.project-carousel .swiper {
	overflow: visible;
}

.project-carousel .swiper .swiper-slide {
	width: fit-content !important;
}

@media ( max-width: 767px ) {
	.project-carousel .swiper .swiper-slide {
		width: auto !important;
		max-width: 100% !important;
	}
}

/*
 * Service Card
 */
.service-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	display: block;
	padding: 32px;
	background-color: #2e2e2e;
}

.service-card,
.service-card * {
	transition: all .6s;
}

.service-card:hover {
	transform: translateY(-10px);
	background-color: #fff;
}

.service-card-icon {
	margin-bottom: 16px;
}

.service-card-title {
	color: #fff;
}

.service-card:hover .service-card-title {
	color: #1b1b1b;
}

.service-card-content {
	margin-bottom: 24px;
	color: rgba(255, 255, 255, 0.8);
}

.service-card:hover .service-card-content {
	color: #1b1b1b;
}

.service-card-more {
	position: relative;
	display: flex;
	align-items: center;
	color: #fff;
	font-family: var(--oswald);
	font-weight: 600;
	font-size: 18px;
	text-transform: uppercase;
}

.service-card:hover .service-card-more {
	color: #1b1b1b;
}

.service-card-more::after {
	content: '';
	display: inline-flex;
	width: 20px;
	height: 12px;
	margin-left: 12px;
	background-image: url('../media/arrow-icon.svg');
	background-size: contain;
}

/*
 * Testimonial carousel
 */
.elementor-widget-testimonial-carousel  {
	padding-bottom: 32px;
}

.elementor-widget-testimonial-carousel .swiper-pagination.swiper-pagination-progressbar {
	top: unset;
	bottom: -32px;
}

.elementor-widget-testimonial-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background-color: var(--orange);
}