/*!
Theme Name: Vedder
Theme URI: https://luuk-arends.notion.site/Vedder-B2B-db5082ce819348fe8c4e570d116585c4?pvs=4
Author: Luuk Arends
Author URI: https://vedderb2b.com/
Description: Vedder is a custom theme with limitless possibilities, offered with the convenience of WordPress.
Version: 1.3
Tested up to: 8.3
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vedder
*/

/* Root */

:root {
	--white: #ffffff;
	--blue: #008ed5;
	--grey: #90959a;
	--darkgrey: #232d36;
	--black: #000000;
	--lightblue: #eff6fd;
	--lighterblue: #dfeffb;
	--buttonblue: #1f9cda;
	--buttonblue-hover: #1a84b9;
	--darkteal: #16988e;
	--teal: #14aa9e;
	--darkteal: #0f837a;
	--lightteal: #d6eeef;
	--yellow: #f4d35e;
	--lightyellow: #faf5e7;
}

/* Body */

body {
	font-family: "klavika-web", sans-serif;
    font-weight: 400;
	overflow-x: hidden;
}

/* Anchors */

a {
	color: var(--blue);
	text-decoration: none;
}

/* Buttons */

.btn, .wp-element-button {
	padding: .75rem 1.5rem;
	border-radius: 0;
	letter-spacing: .75px;
	font-size: 1rem;
	min-width: 130px;
}

.btn-primary, .wp-element-button {
	background-color: var(--teal);
	border-color: var(--teal);
}

.btn-primary:hover, .wp-element-button:hover {
	background-color: var(--darkteal);
	border-color: var(--darkteal);
}

.btn-primary:active {
	background-color: var(--darkteal) !important;
	border-color: var(--darkteal) !important;
}

.btn-secondary {
	background-color: var(--buttonblue);
	border-color: var(--buttonblue);
}

.btn-secondary:hover {
	background-color: var(--buttonblue-hover);
	border-color: var(--buttonblue-hover);
}

.btn-search {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--lighterblue);
}

.btn-menu {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--teal);
	color: var(--white);
}

.btn-menu .bi,
.btn-search .bi {
	font-size: 1.125rem;
}

.button-group {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.btn.btn-primary, .wp-element-button {
    display: inline-flex;
	justify-content: space-between;
    align-items: center;
    gap: .5rem;
    padding: .75rem .75rem .75rem 1rem;
}

.btn.btn-primary::after,
.wp-element-button::after,
.gform_button::after {
    content: '\F138';
    font-family: 'bootstrap-icons';
	min-width: 24px;
	min-height: 24px;
	background-color: #16988e;
}

.search-submit.btn.btn-primary::after {
	content: '\F52A';
}

/* Backgrounds */

.bg-lightblue {
	background-color: var(--lightblue);
}

.bg-blue {
	color: var(--white);
	background-color: var(--blue);
}

.bg-lightyellow {
	background-color: var(--lightyellow);
}

.bg-yellow {
	background-color: var(--yellow);
}

.bg-lightteal {
	background-color: var(--lightteal);
}

.bg-teal {
	background-color: var(--teal);
}

.bg-darkgrey {
	background-color: var(--darkgrey);
}

/* Sizing */

@media (min-width: 1200px) {
	.py-xl-6 {
		padding-top: 6rem !important;
		padding-bottom: 6rem !important;
	}

	.pt-xl-6 {
		padding-top: 6rem !important;
	}

	.pb-xl-6 {
		padding-bottom: 6rem !important;
	}
}

/* Slick */

.slick-track {
	display: flex;
}

.slick-slide {
	margin: 0 1rem;
	height: inherit;
}

.slick-list {
	margin: 0 -1rem;
	overflow: visible;
}

.slickCustomNav {
	display: flex;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 768px) {
	.slick-slide {
		margin: 0 0.5rem;
	}
	
	.slick-list {
		margin: 0 -0.5rem;
		overflow: hidden;
	}
}

.arrow-icon {
	width: 40px;
	height: 40px;
	background-color: var(--black);
	color: var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	transition: all ease .6s;
}

.slickCustomNav .arrow-icon:hover {
	cursor: pointer;
	opacity: .5;
}

.show-more {
	color: inherit;
	border-bottom: 1px solid var(--black);
	padding-bottom: .5rem;
}

/* Headings */

h1, h2, h3 {
	font-weight: 600;
}

.title-small {
	font-size: 2rem;
}

.title {
	font-size: 3rem;
}

.bg-blue .title {
	color: var(--white);
}

@media (max-width: 768px) {
	.title {
		font-size: 2rem;
	}
}

/* Typography */

b, strong, .fw-bold {
	font-weight: 600 !important;
}

/* Header */

.rank-math-breadcrumb p {
	margin-bottom: 0;
}

.rank-math-breadcrumb p a {
	color: var(--white);
}

.banner-content .breadcrumb {
	margin-bottom: 0;
	opacity: .5;
}

.banner-content .breadcrumb a {
	color: var(--black);
}

.navbar {
	position: fixed;
	top: 1rem;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 999;
}

.navbar-wrapper {
	display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
	width: 100%;
	padding: 2rem;
	background-color: rgba(255,255,255,0.95);
}

.navbar-wrapper #navbarNavDropdown {
	margin-left: auto;
}

@media (max-width: 768px) {
	.navbar-wrapper {
		padding: 1rem;
	}
}

.navbar-expand-xl .navbar-nav {
	gap: 1.5rem;
}

.navbar-nav .nav-link {
	color: var(--black);
    font-size: 1.125rem;
	font-weight: 600;
}

.navbar-actions {
	display: flex;
	gap: 1rem;
	margin-left: 2rem;
}

.navbar-mega {
	width: 100%;
	position: relative;
}

.mm-collapse {
	background-color: var(--lightblue);
	position: absolute;
	left: 0px;
	right: 0px;
	z-index: 999;
	padding: 3rem;
	box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
}

.mm-title {
	color: var(--blue);
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.125rem;
	margin-bottom: .5rem;
	font-weight: 600;
	transition: all ease 0.3s;
}

.mm-widget .bi {
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	background-color: transparent;
	color: inherit;
	justify-content: center;
	border-radius: 50%;
	font-size: .75rem;
}

.mm-widget .mm-title .bi {
	background-color: var(--blue);
	color: var(--white);
}

.mm-list {
	padding: 0;
	margin: 0;
	list-style: none;
	display: grid;
	gap: 0.5rem;
}

.mm-item {
	color: inherit;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all ease 0.3s;
	font-size: 1.125rem;
}

.mm-item:hover, .mm-title:hover {
	opacity: 0.5;
}

.mega-menu-item .nav-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.mega-menu-item .nav-link::after {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-chevron-down' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/></svg>");
  background-repeat: no-repeat;
}

.offcanvas-title {
	font-size: 1.125rem;
}

.offcanvas .mega-menu-item .nav-link {
	justify-content: space-between;
}

.offcanvas .offcanvas-body {
	background-color: var(--lightblue);
}

/* Search */

.modal-content {
	border-radius: 0;
}

.search-field {
	padding: 1rem;
	border: 0;
	border-radius: 0;
	width: 100%;
	min-width: 320px;
}

/* Hero */

.hero {
	min-height: 75vh;
	position: relative;
	display: grid;
	align-items: end;
}

.home .hero {
	min-height: 100vh;
}

.hero::after {
	content: "";
	background: linear-gradient(200deg,rgba(255, 255, 255, 0) 0%, rgba(0, 142, 213, 1) 100%);
	position: absolute;
	inset: 0;
	z-index: 0;
}

.hero-content {
	position: relative;
	z-index: 10;
	color: var(--white);
	padding-bottom: 3rem;
}

.hero-label {
	padding: .75rem 1.25rem;
	background-color: rgba(255,255,255,0.15);
	display: inline-block;
}

.hero-title {
	font-size: 4rem;
	font-weight: 600;
	margin-top: 1.5rem;
	margin-bottom: 3rem;
}

.hero-descr {
	font-size: 1.25rem;
}

@media (min-width: 1200px) {
	.hero-content {
		max-width: 70%;
	}

	.hero-descr {
		max-width: 80%;
	}
}

@media (max-width: 768px) {
	.hero-title {
		font-size: 2rem;
	}

	.hero-descr {
		font-size: 1.125rem;
	}
}

.hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

/* Archives */

.archive-results .record-item {
	background-color: var(--white);
}

@media (min-width: 1200px) {
	.archive-wrapper {
		padding-top: 12rem;
	}
}

.filter-block {
	padding: 2rem;
    background-color: var(--white);
}

.filter-title {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.filter-group_title {
	font-size: 1.125rem;
	font-weight: 600;
	margin-bottom: .75rem;
}

.filter-block .filter-options {
	display: grid;
	gap: .5rem;
}

.filter-block .form-check {
	display: flex;
	gap: 1rem;
	font-size: 1.05rem;
}

.filter-block .form-check-label {
	display: flex;
    gap: 1rem;
    width: 100%;
}

.filter-block .form-check-input {
	border-radius: 0;
	width: 1.25rem;
	height: 1.25rem;
}

.filter-block .form-check-input:checked {
	background-color: var(--black);
	border-color: var(--black);
}

.filter-block .form-check-count {
	margin-left: auto;
	opacity: .5;
}

.pagination {
	display: flex;
    gap: 1rem;
    align-items: center;
	justify-content: center;
}

.pagination .page-numbers {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--black);
	border: 2px solid #cdd4dc;
	font-size: 1.125rem;
}

.pagination .page-numbers.current {
	border: 2px solid var(--black);
	background-color: var(--black);
	color: var(--white);
}

/* Search */

.search-item {
	background-color: var(--white);
}

/* Team */

.team-item {
	box-shadow: 0 .5rem 3rem rgba(var(--bs-body-color-rgb),.15);
}

.team-item .record-image {
	width: 100%;
	height: 275px;
}

.team-item .record-title {
	margin-bottom: 0;
}

.team-item .record-info {
    margin: .5rem 0;
    opacity: .5;
    margin-top: auto;
    padding-top: 1rem;
}

.team-item .record-linkedin {
	font-size: 1.25rem;
}

/* Content */

.intro-block {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 2rem;
}

@media (max-width: 768px) {
	.intro-block {
		font-size: 1.5rem;
	}
}

.intro-block span {
	transition: all ease .6s;
}

.intro-block .word {
	color: var(--grey);
}

.intro-block .word.revealed {
	color: var(--black);
}

.building-container {
    position: relative;
    width: 100%;
    display: block;
}

.building-image {
    width: 100%;
    height: auto;
    display: block;
}

.dropdown-info {
    position: absolute;
    z-index: 10;
}

.dropdown-info[data-position-x][data-position-y] {
    left: calc(var(--pos-x) * 1%);
    top: calc(var(--pos-y) * 1%);
    transform: translate(-50%, -50%);
}

.dropdown-info h6 {
	font-weight: 600;
}

.dropdown-info p {
	margin-bottom: 0;
}

.dropdown-info .dropdown-menu.show {
	min-width: 250px;
	border: 0;
	padding: 1rem;
	box-shadow: 0 .5rem 1rem rgba(var(--bs-body-color-rgb),.15);
	z-index: 100;
}

.building-marker {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--blue);
	color: var(--white);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

.building-marker:hover,
.building-marker.show {
	color: var(--blue);
    background: var(--white);
    transform: scale(1.1);
}

.building-marker i {
    font-size: 20px;
}

@media (max-width: 1200px) {
	.dropdown-info {
		display: none;
	}
}

.content-block {
	font-size: 1.125rem;
	line-height: 1.75;
	word-wrap: break-word;
}

.content-block h2,
.content-block h3 {
	margin: 1.5rem 0;
}

.content-block h2:first-of-type {
	margin-top: 0;
}

.content-block .wp-block-image {
	margin: 1.5rem 0;
	padding: 3rem;
	background-color: var(--lightblue);
}

.content-block .wp-block-image img {
	width: 100% !important;
	height: auto !important;
    border-radius: 0 0 3rem;
}

@media (max-width: 768px) {
	.content-block .wp-block-image {
		padding: 1.5rem;
	}
}

.featured-image {
	width: 100%;
	min-height: 520px;
	border-radius: 0 0 3rem 0;
	object-fit: cover;
}

.whitepaper {
	padding: 2rem;
	background-color: var(--lightblue);
}

.witem {
	display: flex;
	color: inherit;
	box-shadow: 0 .125rem .25rem rgba(var(--bs-body-color-rgb),.075);
	background-color: var(--white);
}

.witem-image {
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 0 2rem 0 0;
}

.witem-content {
	padding: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.witem-descr {
	opacity: .5;
}

.witem-icon {
	width: 40px;
    height: 40px;
    background-color: var(--black);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

/* Brands */

.brand-item {
	height: 125px;
	width: 100%;
	background-color: var(--white);
	padding: 1rem;
}

.brand-image {
	height: 100%;
	width: 100%;
	object-fit: contain;
	filter: grayscale(1);
	transition: all ease .6s;
}

.brand-image:hover {
	filter: grayscale(0);
}

/* Gallery */

.gallery-image {
	height: 420px;
	object-fit: cover;
}

/* Solutions */

.sol-item {
	display: flex;
    color: inherit;
	box-shadow: 0 .125rem .25rem rgba(var(--bs-body-color-rgb),.075);
	background-color: var(--white);
	transition: all ease .6s;
}

.sol-item:hover {
	box-shadow: 0 .5rem 1rem rgba(var(--bs-body-color-rgb),.15);
}

.sol-image {
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 0 2rem 0 0;
}

.sol-content {
	padding: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.sol-descr {
	opacity: .5;
}

.sol-icon {
	width: 40px;
    height: 40px;
    background-color: var(--black);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

@media (max-width: 768px) {
	.sol-image {
		min-height: 100%;
		height: auto;
	}

	.sol-content {
		flex-direction: column;
		align-items: start;
		gap: 1rem;
	}
}

/* Expertises */

.exp-item {
	font-size: 1.25rem;
	color: var(--white);
	padding: 2rem;
	display: flex;
	gap: 1rem;
	align-items: center;
	border: 2px solid #39a4da;
	border-radius: 0 0 1.5rem 0;
	width: 100%;
	height: 100%;
	transition: all ease .3s;
}

.exp-item:hover {
	background-color: #39a4da;
}

.exp-item .bi {
	font-size: 1.5rem;
}

/* Records */

.record-item {
	display: flex;
	flex-direction: column;
	color: inherit;
	height: 100%;
	transition: all ease .6s;
}

.record-item:hover {
	box-shadow: 0 .5rem 1rem rgba(var(--bs-body-color-rgb),.15) !important;
}

.record-item.bg-lightblue {
	color: var(--blue);
}

.record-item.bg-lightteal {
	color: var(--teal);
}

.record-item.bg-lightyellow {
	color: var(--yellow);
}

.record-media {
	position: relative;
}

.record-label {
	position: absolute;
	top: 2rem;
	left: 2rem;
	color: var(--white);
	padding: .5rem 1rem;
	font-size: .925rem;
}

.record-item.bg-lightblue .record-label {
	background-color: var(--blue);
}

.record-item.bg-lightteal .record-label {
	background-color: var(--teal);
}

.record-item.bg-lightyellow .record-label {
	color: var(--black);
	background-color: var(--yellow);
}

.record-image {
	width: 90%;
    height: 250px;
    object-fit: cover;
    border-radius: 0 0 3rem 0;
}

.record-content {
	padding: 2.5rem;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.record-title {
	font-size: 1.85rem;
	margin-bottom: 1.5rem;
	word-wrap: break-word;
}

@media (max-width: 768px) {
	.record-title {
		font-size: 1.25rem;
	}
}

.record-info {
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
}

.record-icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	background-color: var(--black);
}

.record-item.bg-lightblue .record-icon {
	background-color: var(--blue);
}

.record-item.bg-lightteal .record-icon {
	background-color: var(--teal);
}

.record-item.bg-lightyellow .record-icon {
	color: var(--black);
	background-color: var(--yellow);
}

.record-icon .bi {
	margin-bottom: -2px;
}

.record-people {
	display: flex;
    gap: 1rem;
    align-items: center;
	margin-bottom: 1.5rem;
}

.record-person {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.record-avatar {
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 50%;
}

.record-socials {
	display: flex;
    gap: .5rem;
    align-items: center;
}

.social-item {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--black);
	border: 2px solid #cdd4dc;
	font-size: 1.125rem;
}

/* Blogs */

.blog .record-item {
	box-shadow: 0 .125rem .25rem rgba(var(--bs-body-color-rgb),.075);
}

/* Team */

.person-media {
	position: relative;
	border-radius: 0 3rem 0 0;
	overflow: hidden;
}

.person-media::after {
	content: "";
    background: linear-gradient(200deg, rgba(255, 255, 255, 0) 0%, rgb(0, 0, 0, 0.5) 100%);
    position: absolute;
    inset: 0;
    z-index: 10;
}

.person-avatar {
	height: 300px;
	object-fit: cover;
}

.person-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 1.5rem;
	z-index: 20;
}

.person-descr {
	font-size: 1.125rem;
}

.person-avatar {
	width: 100%;
}

/* Rank Math */

#rank-math-faq .rank-math-list-item {
	padding: 1.5rem;
	background-color: var(--white);
	margin-bottom: 1rem;
}

#rank-math-faq .rank-math-list-item h3 {
	font-size: 1.25rem;
	margin-bottom: 0;
}

@media (max-width: 768px) {
	#rank-math-faq .rank-math-list-item h3 {
		font-size: 1rem;
	}
}

.product-tabs #rank-math-faq .rank-math-list-item h3 {
	font-size: 1rem;
}

#rank-math-faq .rank-math-list-item p {
	margin-top: 1rem;
}

#rank-math-faq .rank-math-list-item p:last-of-type {
	margin-bottom: 0;
}

#rank-math-faq .rank-math-list-item .collapse:not(.show) {
	display: block;
}

.rank-math-question {
	cursor: pointer;
	position: relative;
	display: block;
	padding-right: 1em;
}

.rank-math-question:after {
	position: absolute;
	right: 5px;
	top: 0;
	content: "\2715";
	transform: rotate(-45deg);
	transition: all 150ms ease-in-out;
}

.rank-math-question.collapse:after {
	transform: rotate(0deg);
}

.rank-math-question:hover {
	opacity: 0.8;
}

/* Forms */

.content-form .gform-theme form .gform-body .gform_fields {
	gap: 1rem;
}

.content-form .gform-theme form .gform-body .gform_fields input:not(input[type="checkbox"]),
.content-form .gform-theme form .gform-body .gform_fields textarea {
	padding: .5rem 1rem;
    height: auto;
    border-radius: 0;
    border: 2px solid #cdd4dc;
}

.content-form .gform-theme form .gform-footer .gform_button[type="submit"] {
	padding: .75rem 1.5rem !important;
	border-radius: 0 !important;
	letter-spacing: .75px !important;
	font-size: 1rem !important;
	min-width: 130px !important;
	background-color: var(--teal) !important;
	border-color: var(--teal) !important;
}

.content-form .gform-theme form .gform-footer .gform_button[type="submit"]:hover,
.content-form .gform-theme form .gform-footer .gform_button[type="submit"]:active {
	background-color: var(--darkteal) !important;
	border-color: var(--darkteal) !important;
}

/* Footer */

.footer {
	color: var(--white);
	font-size: 1.05rem;
}

.footer-title {
	color: var(--blue);
	font-size: 1.125rem;
	font-weight: 400;
	margin-bottom: 1rem;
}

.footer-list {
	padding: 0;
	margin: 0;
	list-style: none;
	display: grid;
	gap: .5rem;
}

.footer-list a {
	color: var(--white);
}

.copyright-text {
	display: flex;
    gap: 1rem;
    color: var(--white);
    opacity: .75;
	font-size: .925rem;
}

.copyright-text a {
	color: var(--white);
	text-decoration: underline;
}

@media (max-width: 768px) {
	.copyright-text {
		display: grid;
    	grid-template-columns: 1fr 1fr;
	}
}