/*

	Theme Name: 	Centre of Expertise Familiebedrijven
	Version: 		1.1
	Text Domain: 	familiebedrijven
	Description: 	WordPress thema voor Centre of Expertise Familiebedrijven ontwikkeld door Stunned
	Author:			Stunned communicatie & vorm
	Author URI: 	https://www.stunned.nl/

*/

.aligncenter,
img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.wp-caption-text {
	font-size: 14px;
}

.card-partner a i {
	display: none !important;
}

.animate-inview {
	opacity: 0;
	transform: translateY(1rem);
}

/*
.img-right img {
	border-top-left-radius: var(--radiusXXL);
	border-bottom-left-radius: var(--radiusXXL);
}

.img-left img {
	border-top-right-radius: var(--radiusXXL);
	border-bottom-right-radius: var(--radiusXXL);
}
*/

/* 0.0 ----------------- Defaults */
/* Colorscheme */
:root {
	--white: 255, 255, 255;
	--black: 3, 32, 37;
	--grey: 255, 246, 227;
	--red: 232, 78, 30;
	--blue: 1, 72, 152;
	--yellow: 248, 176, 24;
	
	--lightred: 255, 230, 229;
	--lightblue: 227, 240, 255;
	--lightyellow: 255, 242, 196;

	--radiusXS: 4px;
	--radiusS: 8px;
	--radiusM: 16px;
	--radiusL: 32px;
	--radiusXL: 64px;
	--radiusXXL: 512px;
	
	--containerXL: 1400px;
	--containerL: 1280px;
	--containerM: 960px;
	--containerS: 720px;
	--containerXS: 100%;
}


/* Selectors */
::before,
::after {
	pointer-events: none;
}

::placeholder {
	opacity: 1 !important;
	color: rgba(var(--black), 0.5) !important;
}

:-ms-input-placeholder {
	opacity: 1 !important;
	color: rgba(var(--black), 0.1) !important;
}

::-ms-input-placeholder {
	opacity: 1 !important;
	color: rgba(var(--black), 0.1) !important;
}


/* Accessibility */
*:focus,
*:focus-visible,
.navbar-nav .nav-link:focus-visible,
.navbar-nav .dropdown-item:focus-visible {
	box-shadow: none !important;
	outline: 2px dotted rgb(var(--black));
}

.skip-to-content.btn {
	left: 50%;
	z-index: 1090;
	position: absolute;
	transform: translate(-50%, -150%);
}

.skip-to-content.btn:focus {
  transform: translate(-50%, 3rem);
}


/* Bootstrap edit */
a {
	color: inherit;
}

.row .container {
	max-width: var(--containerXL);
}

.form-control {
	height: auto;
	line-height: 1;
	font-size: 13px;
	border: 1px solid !important;
	border-radius: var(--radiusXS);
	padding: 1rem 1.25rem 0.9333rem 1.25rem;
	background: rgba(var(--lightblue)) !important;
	border-color: rgba(var(--black), 0.1) !important;
}


/* Body */
#page-content {
	contain: paint;
}

body.noscroll,
html.noscroll {
	overflow-y:hidden;
	touch-action: none;
	-ms-touch-action: none;
}


/* Transitions */
.transition {	
	-webkit-transition: all 500ms ease-in-out;
	-moz-transition: all 500ms ease-in-out;
	-ms-transition: all 500ms ease-in-out;
	-o-transition: all 500ms ease-in-out;
	transition: all 500ms ease-in-out;
}

.transition-fast {	
	-webkit-transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-ms-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
}


/* Background colors */
.bg-white {
	background: rgb(var(--white));
}

.bg-black {
	background: rgb(var(--black));
}

.bg-grey {
	background: rgb(var(--grey));
}

.bg-red {
	background: rgb(var(--red));
}

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

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

.bg-lightred {
	background: rgb(var(--lightred));
}

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

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

.bg-yellow.bg-half.bg-left {
	background: linear-gradient( to right, rgba(var(--yellow), 1) 0%, rgba(var(--yellow), 1) 50%, rgba(var(--yellow), 0) 50%, rgba(var(--yellow), 0) 100% );
}

.bg-yellow.bg-half.bg-right {
	background: linear-gradient( to left, rgba(var(--yellow), 1) 0%, rgba(var(--yellow), 1) 50%, rgba(var(--yellow), 0) 50%, rgba(var(--yellow), 0) 100% );
}

.bg-lightblue.bg-half.bg-left {
	background: linear-gradient( to right, rgba(var(--lightblue), 1) 0%, rgba(var(--lightblue), 1) 50%, rgba(var(--lightblue), 0) 50%, rgba(var(--lightblue), 0) 100% );
}

.bg-lightblue.bg-half.bg-right {
	background: linear-gradient( to left, rgba(var(--lightblue), 1) 0%, rgba(var(--lightblue), 1) 50%, rgba(var(--lightblue), 0) 50%, rgba(var(--lightblue), 0) 100% );
}



/* Text colors */
.text-white {
	color: rgb(var(--white));
}

.text-black {
	color: rgb(var(--black));
}

.text-red {
	color: rgb(var(--red));
}

.text-blue {
	color: rgb(var(--blue));
}

.text-yellow {
	color: rgb(var(--yellow));
}

.text-lightred {
	color: rgb(var(--lightred));
}

.text-lightblue {
	color: rgb(var(--lightblue));
}

.text-lightyellow {
	color: rgb(var(--lightyellow));
}


/* Borders */
.border-0 {
	border: none;
}

.border-1 {
	border: 1px solid;
}

.border-top { 
	border-top: 1px solid;
}

.border-left {
	border-left: 1px solid;
}

.border-right {
	border-right: 1px solid;
}

.border-bottom {
	border-bottom: 1px solid;
}

.border-black {
	border-color: rgba(var(--black));
}

.border-white {
	border-color: rgba(var(--white));
}

.border-red {
	border-color: rgba(var(--red));
}

.border-blue {
	border-color: rgba(var(--blue));
}

.border-yellow {
	border-color: rgba(var(--yellow));
}

.border-lightred {
	border-color: rgba(var(--lightred));
}

.border-lightblue {
	border-color: rgba(var(--lightblue));
}

.border-lightyellow {
	border-color: rgba(var(--lightyellow));
}


/* Border radius */
.border-radius-0 {
	overflow: hidden;
	border-radius: 0 !important;
}

.border-radius-s {
	overflow: hidden;
	border-radius: var(--radiusS) !important;
}

.border-radius-m {
	overflow: hidden;
	border-radius: var(--radiusM) !important;
}

.border-radius-l {
	overflow: hidden;
	border-radius: var(--radiusL) !important;
}

.border-radius-xl {
	overflow: hidden;
	border-radius: var(--radiusXL) !important;
}


/* Buttons */
.btn {
	z-index: 1;
	line-height: 1;
	font-size: 14px;
	font-weight: 500;
	border-width: 1px;
	position: relative;
	background: transparent;
	border-radius: var(--radiusXL);
	text-decoration: none !important;
	padding: 1rem 1.333rem 0.9333rem 1.333rem;
}

.btn:hover {
	text-decoration: none !important;
}

.btn + .btn {
	margin-left: 0.5rem;
}

	/* Button sizing */
	.btn-small {
		font-size: 11px;
		padding: 0.58333rem 0.833rem 0.5833rem 0.833rem;
	}

	.btn-large {
		font-size: 16px;
		padding: 1.333rem 1.75rem 1.25rem 1.75rem;
	}

	/* Icons */
	.btn i {
		display: inline-block;
		margin-left: 0.667rem;
		transform: scale(2) translateX(0.1667rem);
	}

	.btn.btn-small i {
		margin-left: 0.5rem;
		transform: scale(1.667) translateX(0.0833rem);
	}

	.btn[target="_blank"] i {
		margin-left: 0 !important;
		transform: scale(1) !important;
		display: inline-block !important;
		margin-right: 0.75rem !important;
	}

	a[target="_blank"] > .bi-box-arrow-up-right {
		margin-right: 0.25rem;
		display: inline-block;
		transform: scale(0.75);
	}

	/* Full color buttons */
	.btn-white {
		color: rgba(var(--black));
		background: rgba(var(--white));
	}

	.btn-white:hover,
	.btn-white:focus {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

	.btn-black {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

	.btn-black:hover,
	.btn-black:focus {
		color: rgba(var(--black));
		background: rgba(var(--white));
	}

	.btn-red {
		color: rgba(var(--white));
		background: rgba(var(--red));
	}

	.btn-red:hover,
	.btn-red:focus {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

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

	.btn-blue:hover,
	.btn-blue:focus {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

	.btn-yellow {
		color: rgba(var(--black));
		background: rgba(var(--yellow));
	}

	.btn-yellow:hover,
	.btn-yellow:focus {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

	.btn-lightred {
		color: rgba(var(--red));
		background: rgba(var(--lightred));
	}

	.btn-lightred:hover,
	.btn-lightred:focus {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

	.btn-lightblue {
		color: rgba(var(--blue));
		background: rgba(var(--lightblue));
	}

	.btn-lightblue:hover,
	.btn-lightblue:focus {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

	.btn-lightyellow {
		color: rgba(var(--yellow));
		background: rgba(var(--lightyellow));
	}

	.btn-lightyellow:hover,
	.btn-lightyellow:focus {
		color: rgba(var(--white));
		background: rgba(var(--black));
	}

	/* Outline buttons */
	.btn-outline {
		border: 2px;
		border-style: solid;
		background: transparent !important;
	}

	.btn-outline.btn-white {
		color: rgba(var(--white));
	}

	.btn-outline.btn-white:hover,
	.btn-outline.btn-white:focus {
		color: rgba(var(--blue));
		border-color: rgba(var(--white));
		background: rgba(var(--white)) !important;
	}

	.btn-outline.btn-black {
		color: rgba(var(--black));
	}

	.btn-outline.btn-black:hover,
	.btn-outline.btn-black:focus {
		color: rgba(var(--white));
		border-color: rgba(var(--black));
		background: rgba(var(--black)) !important;
	}


/* Shadows */
.box-shadow {
	box-shadow: 0 15px 20px 5px rgba(var(--black), 0.025);
}


/* 1.0 ----------------- Typografie */
/* Basics */
body {
	color: rgb(var(--black));
	font-family: "Poppins", sans-serif;
	
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

body p {
	font-size: 17px;
	font-weight: 500;
	margin-bottom: 0;
	line-height: 1.667;
}

body p:not(:last-of-type) {
	margin-bottom: 2rem;
}

body p strong {
	font-weight: 500;
}

	/* Alternations */
	.text-x-small,
	.text-x-small span,
	ul.text-x-small,
	span.text-x-small,
	label.text-x-small,
	body p.text-x-small {
		font-size: 11px;
		font-weight: 400;
	}

	.text-small,
	.text-small span,
	ul.text-small,
	span.text-small,
	label.text-small,
	body p.text-small {
		font-size: 13px;
		font-weight: 400;
	}

	.text-medium,
	.text-medium span,
	ul.text-medium,
	span.text-medium,
	label.text-medium,
	body p.text-medium {
		font-size: 15px;
		font-weight: 400;
	}

	.text-large,
	.text-large span,
	ul.text-large,
	span.text-large,
	label.text-large,
	body p.text-large {
		font-size: 20px;
		font-weight: 500;
	}

	.text-x-large,
	.text-x-large span,
	ul.text-x-large,
	span.text-x-large,
	label.text-x-large,
	body p.text-x-large {
		font-size: 25px;
		font-weight: 500;
	}

	/* Hyperlinks */
	body p a {
		color: inherit;
		text-decoration: underline;
	}

	body p a:hover {
		color: rgb(var(--black));
		text-decoration: underline;
	}

	/* List items */
	body ul,
	body ol {
		margin: 0;
		font-size: 17px;
		line-height: 1.77777;
		padding-left: 1.25rem;
		margin-bottom: 1.5rem;
	}

	body p + ul,
	body p + ol {
		margin-top: -1.25rem;
	}

	body p:last-of-type + ul,
	body p:last-of-type + ol {
		margin-top: 1rem;
	}

	body ul li,
	body ol li {
		margin: 0;
		padding-left: 0;
	}

	/* Labels */
	.text-label {
		margin-bottom: 0.5rem !important;
	}

	/* Quotes */
	.blockquote {
		line-height: 1.333 !important;
		text-transform: none !important;
	}


/* Headings */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	font-weight: 500;
	line-height: 1.0;
	margin-bottom: 0;
}

h1 + p, .h1 + p,
h2 + p, .h2 + p,
h3 + p, .h3 + p,
h4 + p, .h4 + p,
h5 + p, .h5 + p,
h6 + p, .h6 + p,
h1 + ul, .h1 + ul,
h2 + ul, .h2 + ul,
h3 + ul, .h3 + ul,
h4 + ul, .h4 + ul,
h5 + ul, .h5 + ul,
h6 + ul, .h6 + ul {
	margin-top: 1rem;
}

h1, .h1 {
	font-size: 64px;
	font-weight: 200;
}

h2, .h2 {
	font-size: 48px;
	font-weight: 200;
}

h3, .h3 {
	font-size: 30px;
}

h4, .h4 {
	font-size: 26px;
}

h5, .h5 {
	font-size: 22px;
}

h6, .h6 {
	font-size: 18px;
}


/* 2.0 ----------------- Header */
header {
	background: rgba(var(--white), 1);
}

header.sticky {
	background: rgba(var(--white));
	box-shadow: 0 0 25px 5px rgba(var(--black), 0.0667);
}

/* Branding */
.navbar-brand img {
	max-width: 250px;
}

	/* Sticky */
	header.sticky .navbar-brand img {
		max-width: 250px;
	}


/* Menu items */
.navbar-nav .nav-link {
	font-size: 14px;
	font-weight: 500;
	color: rgba(var(--black));
}

.navbar-expand-lg .navbar-nav .nav-link {
	padding: 0;
}

.navbar-expand-lg .navbar-nav .active .nav-link,
.navbar-expand-lg .navbar-nav .nav-link:hover {
	color: rgba(var(--blue));
}

.navbar-expand-lg .navbar-nav .nav-item:not(:last-of-type) {
	margin-right: 2rem;
}

	/* Sticky */
	header.sticky .navbar-expand-lg .navbar-nav .active .nav-link,
	header.sticky .navbar-expand-lg .navbar-nav .nav-link:hover {
		color: rgba(var(--black));
	}


/* Dropdown toggle */
.dropdown-toggle {
	padding-right: 1.25rem !important;
}

.dropdown-toggle::after {
	top: 50%;
	right: 0;
	border: none;
	font-size: 12px;
	content: "\F229";
	position: absolute;
	margin-left: 0.5rem;
	transform: translateY(-50%);
	font-family: bootstrap-icons;
}


/* Dropdown menu */
.dropdown-menu {
	top: 52.5px;
	border: 0;
	margin: 0;
	padding: 0;
	left: -1rem;
	min-width: 1px;
	border-radius: 0;
	background: rgba(var(--white));
}

.dropdown-menu  .nav-item {
	margin: 0 !important;
}

.dropdown-menu  .nav-item .dropdown-item {
	font-size: 14px;
	padding: 0.667rem 1rem;
	color: rgba(var(--black));
}

	/* Sticky */
	header.sticky .dropdown-menu {
		top: 53px;
	}

	/* Hover */
	.dropdown-menu  .nav-item .dropdown-item:focus,
	.dropdown-menu  .nav-item .dropdown-item:hover {
		color: rgba(var(--black));
		background: rgba(var(--lightblue));
	}


/* Navigation toggle */
.navbar-toggler {
	margin: 0;
	border: 0;
	z-index: 2;
	padding: 0;
	display: flex;
	border-radius: 0;
	position: relative;
	color: rgba(var(--black)) !important;
}
		
.navbar-toggler i {
	font-size: 30px;
}
	
.menu-close,
.menu-open.nav-open {
	display: none;
}
	
.menu-open,
.menu-close.nav-open {
	display: flex;
}



/* Searchform */
.navbar-search-toggler {
	margin: 0;
	border: 0;
	z-index: 2;
	padding: 0;
	height: 40px;
	display: flex;
	line-height: 0;
	font-size: 18px;
	aspect-ratio: 1/1;
	position: relative;
	align-items: center;
	justify-content: center;
	color: rgba(var(--white));
	background: rgba(var(--red));
	border-radius: var(--radiusXL);
}

.header-search-form {
	z-index: 2;
	right: -0.333rem;
	position: absolute;
	visibility: hidden;
	width: calc(var(--containerXL) / 12 * 3);
	max-width: calc(var(--containerXL) / 12 * 3);
}

.header-search-form.search-open {
	visibility: visible;
}

.header-search-form input {
	border-radius: var(--radiusXL);
}

.header-search-form button {
	top: 50%;
	margin: 0;
	border: 0;
	z-index: 2;
	padding: 0;
	height: 40px;
	display: flex;
	line-height: 0;
	font-size: 18px;
	right: 0.333rem;
	aspect-ratio: 1/1;
	position: absolute;
	align-items: center;
	justify-content: center;
	color: rgba(var(--black));
	transform: translateY(-50%);
	border-radius: var(--radiusXL);
	background: rgba(var(--lightblue));
}



/* 3.0 ----------------- Frontpage */
/* 4.0 ----------------- Modules */
/* Content modules */
.row-module {
	position: relative;
}

.row-module .row {
	z-index: 4;
	position: relative;
}

.row-module .container {
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
}

	/* Colorschemes */
	.row.bg-white + .row.bg-white .container,
	.row.bg-red + .row.bg-red .container,
	.row.bg-blue + .row.bg-blue .container,
	.row.bg-yellow + .row.bg-yellow .container,
	.row.bg-lightblue + .row.bg-lightblue .container {
		padding-top: 0;
	}


/* Page header */
.row-module-page-header {
	overflow: visible;
}

.row-module-page-header,
.row-module-header {
	position: relative;
}

	/* Image */
	.header-image {
		top: 0;
		right: 0;
		z-index: 4;
		width: 50%;
		height: 100%;
		position: absolute;
	}

	.header-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Circle */
	.header-element-circle {
		bottom: 0;
		z-index: 1;
		aspect-ratio: 1/1;
		border-width: 6rem;
		border-style: solid;
		box-sizing: border-box;
		background: transparent;
		border-radius: 0 999px 999px 0;
		width: calc(var(--containerXL) / 12 * 3);

		transform: translate(-50%, 50%);
	}

	/* Dots */
	.row-module-page-header .dot-pattern {
		left: 50%;
		bottom: 3rem;
		transform: translate(calc(-25% + 8.333px), 0);
	}


/* FAQ */
.row-faq:not(:last-of-type) {
	margin-bottom: 0.5rem;
}


/* Quote */
.row-module-quote .header-element-circle {
	top: 50%;
	bottom: auto;
	transform: translate(-50%, -50%);
}

.row-module-quote .dot-pattern {
	top: 0;
	right: 0;
	transform: translate(33.333%, -25%);
}


/* Posts */
.row-module-posts .col-news:nth-child(n+4),
.row-module-projects .col-project:nth-child(n+4),
.row-module-search .col-search:nth-child(n+4),
.row-module-activity .col-agenda:nth-child(n+4),
.row-module-posts .col-partner:nth-child(n+7) {
	margin-top: 1.5rem;
}


/* Search */
.row-module-archive:nth-child(odd) {
	background: rgba(var(--lightblue));
}


/* 5.0 ----------------- Partials */
/* Cards */
.card-body {
	padding: 1.5rem;
}

.card-footer {
	padding: 0 1.5rem 1.667rem 1.5rem;
}

	/* Labels */
	.card-category {
		top: 1rem;
		right: 0rem;
		cursor: default;
		border-top-left-radius: var(--radiusXL);
		border-bottom-left-radius: var(--radiusXL);
	}

	.label {
		z-index: 1;
		line-height: 1;
		font-size: 10px;
		font-weight: 500;
		pointer-events: none;
		padding: 0.5rem 0.667rem 0.5rem 0.75rem;
	}

	/* Circles */
	.card-post .card-image {
		overflow: hidden;
	}

	.card-post .card-image::after,
	.card-featured .card-image::after {
		bottom: 0;
		z-index: 2;
		content: " ";
		aspect-ratio: 1/1;
		border-width: 2rem;
		position: absolute;
		border-style: solid;
		box-sizing: border-box;
		background: transparent;
		border-radius: 999px 0 0 999px;
		width: calc(var(--containerXL) / 12 * 1);

		transform: translate(-50%, 50%);
	}

	.card-featured .card-image::after {
		border-width: 6rem;
		border-color: rgba(var(--yellow));
		width: calc(var(--containerXL) / 12 * 3);
	}

	.card-post.style-eigendom .card-image::after {
		border-color: rgba(var(--blue));
	}

	.card-post.style-familiedynamieken .card-image::after {
		border-color: rgba(var(--yellow));
	}

	.card-post.style-goed-bestuur .card-image::after {
		border-color: rgba(var(--lightyellow));
	}

	.card-post.style-identiteit-en-imago .card-image::after {
		border-color: rgba(var(--lightblue));
	}

	.card-post.style-leiderschap .card-image::after {
		border-color: rgba(var(--red));
	}

	.card-post.style-maatschappelijke-impact .card-image::after {
		border-color: rgba(var(--lightred));
	}

	/* Featured */
	.card-featured .card-body {
		bottom: 0;
	}

	.card-featured .card-image::before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: " ";
		position: absolute;
		background: linear-gradient(180deg, rgba(var(--black), 0) 0%, rgba(var(--black), 0.5) 100%);
	}

	/* FAQ */
	.card-faq a {
		text-decoration: none !important;
	}

	.card-faq a i {
		line-height: 0;
	}

	.card-faq p,
	.card-faq ul {
		font-size: 15px;
	}

	/* Projects */
	.card-project .card-image::before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: " ";
		position: absolute;
		background: linear-gradient(180deg, rgba(var(--black), 0) 0%, rgba(var(--black), 0.5) 100%);
	}

	.card-project .card-body {
		bottom: 0;
		position: absolute;
	}


/* Pagination */
.pagination {
	margin-top: 2rem;
	justify-content: center;
}

.pagination .page-numbers {
	height: 40px;
	display: flex;
	font-size: 14px;
	aspect-ratio: 1/1;
	margin: 0 0.125rem;
	align-items: center;
	justify-content: center;
	color: rgba(var(--black));
	border-radius: var(--radiusXL);
	background: rgba(var(--lightblue));
}

.pagination .page-numbers:hover,
.pagination .page-numbers.current {
	color: rgba(var(--black));
	text-decoration: none !important;
	background: rgba(var(--lightblue));
}

.pagination .page-numbers.dots {
	background: none;
}


/* Tooltips */
.tooltip-inner {
	font-size: 8px;
	font-weight: 500;
	padding: 0.5rem 0.667rem;
	border-radius: var(--radiusXS);
	background-color: rgba(var(--black));
}

.tooltip.bs-tooltip-top .arrow::before {
	border-top-color: rgba(var(--black));
}

.tooltip.bs-tooltip-bottom .arrow::before {
	border-bottom-color: rgba(var(--black));
}

.tooltip.bs-tooltip-left .arrow::before {
	border-left-color: rgba(var(--black));
}

.tooltip.bs-tooltip-right .arrow::before {
	border-right-color: rgba(var(--black));
}


/* Password protected content */
.password-group .btn {
	top: 0;
	right: 0;
	height: 100%;
}


/* Lists */
main .row-module ul {
	padding: 0;
	list-style: none;
}

main .row-module ul li {
	position: relative;
	padding-left: 2rem;
}

main .row-module ul li a {
	text-decoration: underline;
}

main .row-module ul li::before {	
	top: 0;
	left: 0;
	font-size: 24px;
	content: "\F135";
	position: absolute;
	line-height: 1.3333;
	color: rgba(var(--red));
	font-family: bootstrap-icons;
}

main .row-module ul.list-arrow li::before {	
	content: "\F135";
}

main .row-module ul.list-check li::before {	
	content: "\F633";
}


/* Dots */
.dot-pattern {
	gap: 10px;
	z-index: 5;
	display: flex;
	position: absolute;
	pointer-events: none;
	flex-direction: column;
}

.dot-row {
	gap: 10px;
	display: flex;
	position: relative;
}

.dot {
	width: 14px;
	height: 14px;
	transform: scale(0);
	border-radius: var(--radiusXL);
}

	/* Positioning */
	.dots-top {
		top: 0;
	}

	.dots-left {
		left: 0;
	}

	.dots-right {
		right: 0;
		transform: translateX(25%);
	}

	.dots-bottom {
		bottom: calc(-2.5rem - 14px);
	}

	/* Colors */
	.border-white .dot {
		background: rgba(var(--white));
	}
	
	.border-black .dot {
		background: rgba(var(--black));
	}

	.border-red .dot {
		background: rgba(var(--red));
	}

	.border-blue .dot {
		background: rgba(var(--blue));
	}

	.border-lightred .dot {
		background: rgba(var(--lightred));
	}

	.border-yellow .dot {
		background: rgba(var(--yellow));
	}

	.border-lightblue .dot {
		background: rgba(var(--lightblue));
	}


/* Text counter */
.text-counter {
	z-index: 1;
	position: relative;
}

.text-counter::before {
	left: 0;
	top: 50%;
	z-index: -1;
	content: "";
	height: 83.333%;
	aspect-ratio: 1/1;
	position: absolute;
	border-radius: 999px;
	background: rgba(var(--lightyellow));
	transform: translate(-58.333%, -50%);
}


/* Breadcrumbs */
.breadcrumbs a:hover {
	color: rgba(var(--black));
}

.breadcrumb_last {
	font-weight: 500 !important;
}


/* Swiper */
.swiper {
	position: relative;
}

.swiper-carrousel {
	z-index: 3;
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
	padding-left: calc((100% - var(--containerXL)) / 2 + 15px);
	padding-right: calc((100% - var(--containerXL)) / 2 + 15px);
}

.swiper-carrousel .swiper-slide {
	height: auto;
	aspect-ratio: 16/9;
	width: calc(var(--containerXL) / 12 * 8 - 30px);
}

.swiper-carrousel .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

	/* Navigation */
	.swiper-next,
	.swiper-prev { 
		line-height: 0;
		cursor: pointer;
		font-size: 36px;
		margin: 1rem 0 0 0;
		display: inline-block;
		color: rgba(var(--black));
	}

	.swiper-next {
		margin-left: 0.5rem;
	}

	.swiper-button-disabled {
		opacity: 0.5;
		cursor: default;
	}



/* Filter Everything Pro */
.row-filters {
	z-index: 6 !important;
	background: rgba(var(--grey), 0);
}

.row-filters::before,
.row-filters::after {
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	content: " ";
	position: absolute;
	background: inherit;
	transform: translateX(-50%);
}

.row-filters::after {
	transform: translateX(50%);
}

.row-filters.sticky {
	transform: translateY(-1.5rem);
	background: rgba(var(--grey));
}

.wpc-filter-title {
	font-weight: 500;
	color: rgba(var(--red));
	margin: 0 0 -0.5rem 0!important;
}

.wpc-filter-title.fade-out {
	height: 0;
	opacity: 0;
	margin-bottom: 0 !important;
}

.wpc-filters-widget-wrapper {
	display: flex;
}

.wpc-filters-section {
	width: 100%;
	margin: 0 1rem 0 0 !important;
}

.wpc-filter-content select {
	height: auto !important;
	margin: 1rem 0 !important;
	appearance: none !important;
	padding: 0.75rem 1rem !important;
	-webkit-appearance: none !important;
	color: rgba(var(--black), 1) !important;
	border-radius: var(--radiusXS) !important;
	border: 1px solid rgba(var(--black), 0.1667) !important;

	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='10' viewBox='0 0 4 5'%3e%3cpath fill='%23072D39' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") !important;
	background-color: rgba(var(--white), 1) !important;
	background-position: center right +1rem !important;
	background-repeat: no-repeat !important;
}


/* Contact Form 7 */
.wpcf7 label {
	font-size: 14px;
	margin-bottom: 0.125rem;
}



/* 9.0 ----------------- Footer */
/* Footer */
footer {
	overflow: hidden;
}

/* Quick menus */
.footer-menu-content ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu-content ul li {
	font-size: 13px;
	position: relative;
	padding-left: 2rem;
}

.footer-menu-content ul li:not(:last-of-type) {
	margin-bottom: 0.5rem;
}

.footer-menu-content ul li::before {
	top: 0;
	left: 0;
	line-height: 1;
	font-size: 24px;
	content: "\F135";
	position: absolute;
	font-family: bootstrap-icons;
	transform: translateY(-8.333%);
}


/* Socials */
.social-icons {
	display: flex;
}

.social-icons a {
	width: 40px;
	display: flex;
	aspect-ratio: 1/1;
	align-items: center;
	margin-right: 0.5rem;
    justify-content: center;
	background: rgba(var(--white));
	border-radius: var(--radiusXL);
}

.social-icons a:hover,
.social-icons a:focus {
	background: rgba(var(--lightblue));
}

.social-icons a i {
	line-height: 1;
	font-size: 15px;
	color: rgba(var(--blue));
}


/* Circle */
.footer-element-circle {
	top: 50%;
	right: 0;
	z-index: 2;
	content: " ";
	aspect-ratio: 1/1;
	border-width: 4rem;
	position: absolute;
	border-style: solid;
	box-sizing: border-box;
	background: transparent;
	border-radius: 999px 0 0 999px;
	width: calc(var(--containerXL) / 12 * 2);

	transform: translate(50%, -50%);
}


@media only screen and (max-width: 1500px) {

	/* 0.0 ----------------- Defaults */
	/* Bootstrap edits */
	.row .container {
		max-width: var(--containerL);
	}


	/* 1.0 ----------------- Typography */
	/* Headings */
	h1, .h1 {
		font-size: 62px;
	}

	h1.h2, .h1.h2 {
		font-size: 48px;
	}

	h2, .h2 {
		font-size: 38px;
	}

	h3, .h3 {
		font-size: 25px;
	}

	h4, .h4 {
		font-size: 20px;
	}

	h5, .h5 {
		font-size: 17px;
	}
	
	
	
	/* 2.0 ----------------- Header */
	/* 3.0 ----------------- Frontpage */
	/* 4.0 ----------------- Modules */
	/* 5.0 ----------------- Partials */
	/* 9.0 ----------------- Footer */
	
}


@media only screen and (max-width: 1200px) {

	/* 0.0 ----------------- Defaults */
	/* Bootstrap edits */
	.row .container {
		max-width: var(--containerM);
	}

	
	/* 1.0 ----------------- Typography */
	/* 2.0 ----------------- Header */
	/* Menu items */
	.navbar-nav .nav-link {
		font-size: 14px;
	}

	.navbar-expand-lg .navbar-nav .nav-item:not(:last-of-type) {
		margin-right: 1.5rem;
	}

	

	/* 3.0 ----------------- Frontpage */
	/* 4.0 ----------------- Modules */
	/* 5.0 ----------------- Partials */
	/* 9.0 ----------------- Footer */
	
}


@media only screen and (max-width: 992px) {

	/* 0.0 ----------------- Defaults */
	/* Bootstrap edits */
	.row .container {
		max-width: var(--containerS);
	}

	
	/* 1.0 ----------------- Typography */
	/* 2.0 ----------------- Header */
	/* 3.0 ----------------- Frontpage */
	/* 4.0 ----------------- Modules */
	/* 5.0 ----------------- Partials */
	/* 9.0 ----------------- Footer */
	
}


@media only screen and (max-width: 768px) {

	/* 0.0 ----------------- Defaults */
	/* Bootstrap edit */
	.row .container {
		max-width: var(--containerXS);
	}
	
	.bg-lightblue.bg-half.bg-left {
		background: linear-gradient( to bottom, rgba(var(--lightblue), 1) 0%, rgba(var(--lightblue), 1) 50%, rgba(var(--lightblue), 0) 50%, rgba(var(--lightblue), 0) 100% );
	}

	.bg-lightblue.bg-half.bg-right {
		background: linear-gradient( to top, rgba(var(--lightblue), 1) 0%, rgba(var(--lightblue), 1) 50%, rgba(var(--lightblue), 0) 50%, rgba(var(--lightblue), 0) 100% );
	}
	
	
	
	/* 1.0 ----------------- Typography */
	/* Basics */
	body p {
		font-size: 15px;
	}

	body p:not(:last-of-type) {
		margin-bottom: 1.667rem;
	}
	
		/* List items */
		body ul,
		body ol {
			font-size: 15px;
		}

		/* Alternations */
		.text-x-small,
		.text-x-small span,
		ul.text-x-small,
		span.text-x-small,
		label.text-x-small,
		body p.text-x-small {
			font-size: 9px;
		}

		.text-small,
		.text-small span,
		ul.text-small,
		span.text-small,
		label.text-small,
		body p.text-small {
			font-size: 11px;
		}

		.text-medium,
		.text-medium span,
		ul.text-medium,
		span.text-medium,
		label.text-medium,
		body p.text-medium {
			font-size: 13px;
		}

		.text-large,
		.text-large span,
		ul.text-large,
		span.text-large,
		label.text-large,
		body p.text-large {
			font-size: 18px;
		}

		.text-x-large,
		.text-x-large span,
		ul.text-x-large,
		span.text-x-large,
		label.text-x-large,
		body p.text-x-large {
			font-size: 23px;
		}
	
	
	/* Headings */
	h1, .h1 {
		font-size: 44px;
	}
	
	h2, .h2 {
		font-size: 28px;
	}
	
	h3, .h3 {
		font-size: 23px;
	}
	
	h4, .h4 {
		font-size: 19px;
	}
	
	h5, .h5 {
		font-size: 15px;
	}
	
	
	/* Buttons */
	.btn {
		font-size: 11px;
		padding: 0.5rem 0.75rem 0.5rem 0.75rem;
	}

		/* Button sizing */
		.btn-small {
			font-size: 9px;
			padding: 0.58333rem 0.833rem 0.5833rem 0.833rem;
		}

		.btn-large {
			font-size: 13px;
			padding: 1rem 1.333rem 0.9333rem 1.333rem;
		}
	
		/* Icons */
		.btn i {
			transform: scale(1.667) translateX(0.0833rem);
		}

		.btn.btn-small i {
			margin-left: 0.5rem;
			transform: scale(2) translateX(0.0667rem);
		}



	/* 2.0 ----------------- Header */
	/* Header */
	header.nav-open {
		background: rgba(var(--white));
	}
	
	
	/* Navbar */
	.navbar-collapse {
		top: 0;
		left: 100%;
		width: 100%;
		position: fixed;
		height: 100vh !important;
		background: rgba(var(--white));
		display: inline-block !important;
	}
	
	.navbar {
		height: 100%;
	}
	
	.navbar-collapse {
		padding: 0;
	}
	
	header.nav-open .navbar-collapse {
		left: 0%;
	}
	
	
	/* Menu items */
	.navbar-expand-lg .navbar-nav .nav-item::before {
		display: none;
	}
	
	.navbar-expand-lg .navbar-nav .nav-link {
		font-size: 14px;
		font-weight: 500;
		position: relative;
		padding: 1rem 1.5rem;
		border-bottom: 1px solid rgba(var(--blue), 0.1);
	}
	
	.navbar-expand-lg .navbar-nav .nav-item:first-of-type .nav-link {
		border-top: 1px solid rgba(var(--blue), 0.1);
	}
	
	.navbar-expand-lg .navbar-nav .dropdown .nav-link::before {
		top: 50%;
		right: 1.5rem;
		font-size: 14px;
		content: "\F229";
		position: absolute;
		color: rgba(var(--blue));
		font-family: bootstrap-icons;
		transform: translateY(-58.333%);
	}
	
	.navbar-expand-lg .navbar-nav .nav-item:not(:last-of-type) {
		margin-right: 0;
	}
	
	.navbar-expand-lg .navbar-nav .nav-item:hover .nav-link,
	.navbar-expand-lg .navbar-nav .nav-item.active .nav-link {
		background: rgba(var(--blue), 0.05);
	}
	
	
	/* Dropdown */
	.dropdown-menu .nav-item .dropdown-item {
		font-size: 12px;
		padding: 0.667rem 1.5rem;
		border-bottom: 1px solid rgba(var(--blue), 0.1);
	}
	
	
	/* Dropdown toggle */
	.dropdown-toggle::after {
		display: none;
	}
	
	
	/* 3.0 ----------------- Frontpage */
	/* 4.0 ----------------- Modules */
	/* Content modules */
	.row-module .row {
		z-index: 5;
		position: relative;
	}

	.row-module .container {
		padding: 2rem 1.5rem;
	}
	
	
	/* Page header */
	.row-module-page-header,
	.row-module-header {
		position: relative;
	}

		/* Image */
		.header-image {
			width: 100%;
			position: relative;
		}
	
		/* Circle */
		.header-element-circle,
		.card-featured .card-image::after {
			top: 0;
			z-index: 1;
			bottom: auto;
			border-width: 2rem;
			transform: translate(-50%, -50%);
			width: calc(var(--containerXL) / 12 * 1);
		}
	
	
	/* Posts */
	.row-module-posts .col-news:nth-child(n+2),
	.row-module-activity .col-agenda:nth-child(n+2),
	.row-module-project .col-project:nth-child(n+2),
	.row-module-posts .col-news:nth-child(n+2),
	.row-module-posts .col-agenda:nth-child(n+2),
	.row-module-posts .col-partner:nth-child(n+2) {
		margin-top: 1.5rem;
	}
	
	
	/* Personas */
	.row-module-person .col-person:nth-child(n+3) {
		margin-top: 1.5rem;
	}
	
	
	
	/* 5.0 ----------------- Partials */
	/* Cards */
	.card-body {
		padding: 1rem;
	}
	
	.card-footer {
		padding: 0 1rem 1.333rem 1rem
	}
	
	.card-faq .h4 {
		font-size: 16px;
	}

	
	/* Table */
	.table td,
	.table th {
		min-width: calc(100vw / 12 * 7);
	}
	
	
	/* Lists */
	main .row-module ul li {
		padding-left: 1.75rem;
	}
	
	main .row-module ul li::before {	
		font-size: 20px;
	}

	
	/* Swiper */
	.swiper {
		position: relative;
	}

	.swiper-carrousel {
		padding-top: 2rem;
		padding-bottom: 2rem;
		padding-left: calc((100% - var(--containerXS)) / 2 + 1.5rem);
		padding-right: calc((100% - var(--containerXS)) / 2 + 1.5rem);
	}
	
	
	
	/* Dots */
	.dot-pattern {
		gap: 5px;
	}

	.dot-row {
		gap: 5px;
	}

	.dot {
		width: 7px;
		height: 7px;
	}
	
	
	/* Filter Everything Pro */
	.row-filters {
		margin-left: -1.5rem;
		margin-right: -1.5rem;
	}
	
	.row-filters .col-12 {
		padding-left: 0;
		padding-right: 0;
	}
	
	.row-filters.sticky {
		padding: 0;
	}
	
	.wpc-filter-header {
		display: none;
	}
	
	.wpc-filters-section {
		z-index: 2;
		margin: 0 !important;
	}
	
	.wpc-filters-main-wrap {
		width: 100%;
	}
	
	.wpc-filters-section {
		min-width: 1px !important;
		margin-right: 0.5rem !important;
	}
	
	.wpc-filters-section + .wpc-filters-section {
		margin-right: 0 !important;
		margin-left: 0.5rem !important;
	}
	
	.wpc-filters-widget-content select {
		margin: 0 !important;
		font-size: 10px !important;
	}
	
	.widget_wpc_filters_widget {
		display: flex;
		padding: 1rem 1.5rem;
		overflow: scroll !important;
	}

	

	/* 9.0 ----------------- Footer */
	/* Circle */
	.footer-element-circle {
		bottom: 0;
		top: auto;
		border-width: 2rem;
		width: calc(var(--containerXL) / 12 * 1);
	}
}


@media only screen and (max-width: 576px) {

	/* 0.0 ----------------- Defaults */
	/* Bootstrap edit */
	.row .container {
		max-width: 100%;
	}
	
	.row-module.row-module-news .container,
	.row-module.row-module-agenda .container,
	.row-module.row-module-projects .container {
		padding-left: 0;
		padding-right: 0;
	}
	
	.row-module.row-module-news .container .swiper,
	.row-module.row-module-agenda .container .swiper,
	.row-module.row-module-projects .container .swiper {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.navbar-brand img {
		max-width: 180px;
	}
	
	/* Accessibility */
	*:focus,
	*:focus-visible,
	.navbar-nav .nav-link:focus-visible,
	.navbar-nav .dropdown-item:focus-visible {
		outline: none !important;
	}
	
	/* 1.0 ----------------- Typography */
	/* 2.0 ----------------- Header */
	/* 3.0 ----------------- Frontpage */
	/* 4.0 ----------------- Modules */
	/* 5.0 ----------------- Partials */
	/* 9.0 ----------------- Footer */
	
}