/*
 *
 * Theme main styles
 */

* { scroll-padding-top: 160px; }

html {
/*	position: fixed;*/
}
html,
body {
	min-height: 100vh;
	width: 100%;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--bg-color-main);
	scroll-behavior: smooth;
}
body {
	height: auto;
/*	overflow-x: hidden;*/
	font-family: var(--primary-font), sans-serif;
	font-size: 16px;
	letter-spacing: 0.3px;
	color: var(--base-text-color);
    display: flex;
    flex-direction: column;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.noscroll {
	height: 99vh;
	max-height: 99vh;
	overflow: hidden;
}
#primary {
    flex: auto;
	flex: 1;
}
footer {
    height: 25px;
}
.hidden-content {
	display: none !important;
}
h1 em,
h2 em,
h3 em {
	font-style: normal;
	color: var(--primary-color);
}
del,
del a {
	color: var(--color-deleted-text) !important;
}



/*
 * Layout
 * ======================================================== */

.main > .container,
.main > article {
	padding-top: 40px;
}
.main article {
	padding-bottom: 40px;
}
section {
	padding: 90px 0;
}
.home section#main {
	padding-bottom: 40px;	
}
section.prefooter {
	padding-bottom: 40px;
}


/*
 * idee voor omlijning van items
 * <svg viewBox="0 0 603 239" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path pathLength="100" vector-effect="non-scaling-stroke" d="M538.849 50.948C421.88 21.889 80.689-4.55 9.821 114.736c-38.538 109.421 181.184 85.605 222.992 87.73 30.995 1.576 350.28-16.47 362.292-69.377 14.613-64.36-146-74.373-175.866-76.657" stroke="#2D2D2D" stroke-linecap="round" stroke-linejoin="round" style="stroke-dasharray: 100px, 0px;"></path></svg>

*  Een svg om een "highlighted" woord heen ;))
*
*/


.fancybox-bg {
	background: var(--bg-color-main);
}
.fancybox-is-open .fancybox-bg {
	opacity: .75;
}
.fancybox-content {
	box-shadow: 0 0 20px 0 var(--box-shadow-color-minimal);
}





/*
 * Header
 * ======================================================== */

.header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1001;
	transition: all 250ms ease-in-out;
	background: var(--bg-color-main);
/*	box-shadow: 0 0 10px 0 rgba(0,0,0,0.15);*/
}
.header.sticky {
	background: var(--bg-color-main);
/*	box-shadow: 0 0 10px 0 rgba(0,0,0,0.15);*/
}

.header .menu-bar,
.footer .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 20px;
	padding-bottom: 20px;
}
.header .menu-bar,
.footer .container {
	padding-top: 15px;
	padding-bottom: 15px;
}
.meta-bar {
    padding: 10px 0;
    border-bottom: 1px solid var(--box-shadow-color-minimal);
    border-bottom: 1px solid rgba(0,0,0,0);
	max-height: 100px;
	transition: all 250ms ease-in-out;
	
    padding: 15px 0 0 0;
}
.header.sticky .meta-bar {
	padding: 0;
	border-bottom: 1px solid rgba(0,0,0,0);
	max-height: 0;
	overflow: hidden;
}

.header a.logo {
	display: flex;
	width: 253px;
	height: 30px;
	justify-content: flex-start;
	align-items: center;
	text-decoration: none;
	transition: all 250ms ease-in-out;
	transform-origin: left bottom;
	transform: scale(1.85) translateY(-2px);
	position: relative;
}
.header.sticky a.logo {
	transform: scale(1.5) translateY(3px);
}
.logo img,
.logo svg {
	width: 55px;
	height: auto;
	overflow: visible !important;
	position: relative;
	z-index: 1;
}
.header .project-name {
	position: absolute;
	background: var(--pj-bg-color);
	color: var(--base-text-color-white);;
	font-size: 20px;
	padding: 1px 30px 1px 20px;
	border-radius: 0 0 11px 0;
	bottom: calc( 0 - var(--pj-max-height) );
	left: 0;
	line-height: var(--pj-max-height);
	max-height: var(--pj-max-height);
	border-right: 1px solid var(--pj-border-color);
	border-bottom: 1px solid var(--pj-border-color);
}
.header .project-name:after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;
	
	width: 100vw;
	height: 1px;
	background: var(--pj-bg-color-gradient);
}
.header .project-name img {
	width: auto;
	height: auto;
	display: block;
	margin: 10px auto;
}
.mobile-open .header .project-name {
	display: none;
}
.header .tagline-small {
	font-family: var(--primary-font);
	text-transform: uppercase;
	font-weight: 400;
	color: #A51140;
	color: var(--logo-main-color);
	font-size: 6px;
	line-height: 10px;
	margin-left: 8px;
	max-height: 38px;
	height: 38px;
	width: 100%;
	padding-bottom: 0;
	padding-top: 0;
	overflow: hidden;
	position: relative;
}
.header .tagline-small .text {
    animation-direction: normal;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
	animation-delay: 4000ms;
	animation-duration: 1000ms;	
	overflow: hidden;
	width: 100%;
	height: 38px;
	position: absolute;
	left: 0;
	top: 19px;
}
.header .tagline-small .first {
	max-height: 38px;
    animation-name: dissolve;
	transform: translateX(0);
}
.header .tagline-small .last {
	max-height: 20px;
	animation-delay: 5000ms;
    animation-name: resolve;
	transform: translateX(-100%);
}
@keyframes dissolve {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}
@keyframes resolve {
	0%   { transform: translateX(-100%); }
	100% { transform: translateX(0); }
}



/*
 * Filter select
 * ======================================================== */
.sector-select-box {
	display: flex;
	justify-content: flex-end;
	position: absolute;
	right: 20px;
	align-items: center;
}
.sector-select-box .btn-opener {
	width: 42px;
	height: 42px;
	background: var(--bg-color-main);
	text-align: center;
	padding: 8px 0 8px 0;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 5px 5px 0 var(--box-shadow-color-minimal);
	border-top: 1px dashed #ddd;
	cursor: pointer;
}
.sector-select-box .btn-close {
	width: 26px;
	height: 26px;
	line-height: 26px;
	background: var(--bg-color-main);
	text-align: right;
	cursor: pointer;
	display: none;
}
.sector-select-box.filter-open .btn-close {
	display: block;
}
.sector-select-box.filter-open .btn-opener {
	display: none;
}
.sector-select-box .btn-opener:hover,
.sector-select-box .btn-close:hover {
	color: var(--primary-color);
}
#sector-filter {
	padding: 6px 20px 7px 20px;
	margin: 0 0 0 0;
	display: none;
	justify-content: flex-end;
	align-items: center;
	background: var(--bg-color-main);
	border-top: 1px dashed #ddd;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 5px 5px 0 var(--box-shadow-color-minimal);
}
.sector-select-box.filter-open #sector-filter {
	display: flex;
}
#sector-filter > label,
#sector-filter .select-filter-wrap {
	display: inline-block;
	width: auto;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	padding-right: 10px;
	z-index: 4; /* was 10, reduced b.o. submenu conflict */
}
.select-filter-wrap .select-inner {
	display: inline-block;
	padding-right: 40px;
	font-size: 14px;
	margin-left: 20px;
	cursor: pointer;
}
#clear-top-sector-filter {
	position: absolute;
	top: calc(100% - 5px);
	background: var(--bg-color-main);
	font-size: 14px;
	font-weight: 400;
	width: 100%;
	right: 0;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 5px 5px 0 var(--box-shadow-color-minimal);
	padding: 5px 60px 5px 0;
	text-align: right;
	color: var(--primary-color);
	cursor: pointer;
}
#clear-top-sector-filter:hover {
	color: var(--primary-color-darker);
	text-decoration: underline;
}

/* plugins.css override */
.select-wrapper {
	z-index: 1100;
	transform: translate(-15px, 5px);
}

.select-filter-wrap,
.faux-select-dropdown {
	position: relative;
	min-width: 17em;
	max-width: 17em;
	min-height: 2em;
	max-height: 2em;
	margin-left: 10px;
	
	font-size: 14px;
	font-weight: 400;
}
.faux-select-dropdown {
	right: 0;
	position: absolute;
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
	text-align: left;
	white-space: nowrap;
	color: #444;
	outline: none;
	border: 0.06em solid transparent;
	border-radius: 1em;
	background-color: #cde4f5;
	background-color: #f4eebc;
	transition: 0.3s all ease-in-out;
}
.faux-select-dropdown input:focus + label {
	background: #def;
}
.faux-select-dropdown input {
	width: 1px;
	height: 1px;
	display: inline-block;
	position: absolute;
	opacity: 0.01;
}
.faux-select-dropdown label {
	border-top: 0.06em solid #d9d9d9;
	display: block;
	height: 2em;
	line-height: 2em;
	padding-left: 1em;
	padding-right: 3em;
	cursor: pointer;
	position: relative;
	transition: 0.3s color ease-in-out;
}
.faux-select-dropdown label:nth-child(2) {
	margin-top: 2em;
	border-top: 0.06em solid #d9d9d9;
}
.faux-select-dropdown input:checked + label {
	display: block;
	border-top: none;
	position: absolute;
	top: 0;
	width: 100%;
}
.faux-select-dropdown input:checked + label:nth-child(2) {
	margin-top: 0;
	position: relative;
}
.faux-select-dropdown::after {
	content: "";
	position: absolute;
	right: 0.8em;
	top: 0.9em;
	border: 0.3em solid #222;
	border-color: #222 transparent transparent transparent;
	transition: 0.4s all ease-in-out;
}
.faux-select-dropdown.expanded {
	border: 0.06em solid #3694d7;
	background: var(--bg-color-main);
	border-radius: 0.25em;
	padding: 0;
	box-shadow: 3px 3px 5px 0px var(--box-shadow-color-minimal);
	max-height: unset;
}
.faux-select-dropdown.expanded label {
	border-top: 0.06em solid #d9d9d9;
}
.faux-select-dropdown.expanded label:hover {
	color: #3694d7;
}
.faux-select-dropdown.expanded input:checked + label {
	color: #3694d7;
}
.faux-select-dropdown.expanded::after {
	transform: rotate(-180deg);
	top: 0.55em;
}


/*
 * Filter select form big
 * ======================================================== */
#select-crop-content h3 {
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 6px;
}
form .crop-select-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	padding: 30px 0 50px 0;
}
.crop-select-list label {
	display: inline-block;
	margin-bottom: .5rem;
	font-weight: 500;
	cursor: pointer;
}
.crop-select-list label .label-inner {
	display: inline-block;
	padding: 3px 20px;
	background: #f0f0f0;
	border-radius: 5px;
	font-size: 14px;
}
.crop-select-list label input:checked + .label-inner {
	background: var(--primary-color);
	color: var(--base-text-color-white);;
}
.crop-select-list label.has-checked .label-inner {
	background: var(--secondary-color);
	color: var(--base-text-color-white);;
}
#select-crop-content.fancybox-content {
	max-width: 800px;
}
#select-crop-content .button-box {
	text-align: center;
}
#select-crop-content .after-button-link {
	padding-top: 10px;
	color: var(--secondary-color);
}
#select-crop-content .after-button-link span {
	text-decoration: underline;
}
#select-crop-content .after-button-link span:hover {
	color: var(--base-text-color);
	text-decoration: underline;
	cursor: pointer;
}


/*
 * Homepage intro
 * ======================================================== */
.intro-text h1 {
	font-size: 40px;
	font-weight: 600;
	margin-bottom: 3rem;
}
.intro-text {
	font-size: 19px;
	font-weight: 300;
}
.intro-text > * > *:last-child {
	margin-bottom: 0;
}




/*
 * Homepage grids
 * ======================================================== */
.home .services .grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
	grid-gap: 50px;
	position: relative;
}

@media (max-width: 1100px) {
	.home .services .grid {
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	}
}
.home .services .grid .item {
	color: var(--base-text-color);
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
	box-shadow: 0 20px 20px rgba(0,0,0,0.05);
	transition: box-shadow 250ms ease-in-out;
	text-decoration: none;
	padding-bottom: 40px;
}
.home .services .grid .item:nth-of-type(2n) {
	transform: translateY(80px);
}
.home .services .grid .item:hover {
	box-shadow: 0 20px 20px var(--box-shadow-color-minimal);
}
.grid a.item {
	cursor: pointer;
}
.grid .item h2 {
	font-size: 30px;
	font-weight: 500;
	color: var(--base-text-color);
	word-break: break-word;
}
.grid .item h2 em {
	font-style: normal;
	color: var(--primary-color);
}
.home .services .grid .item .inner {
	padding:  40px 40px 30px 0;
	position: relative;
}
.services .grid .item .icon {
	width: 210px;
	font-size: 50px;
	text-align: center;
	padding-top: 30px;
	color: var(--secondary-color);
}
@media (max-width: 1100px) {
	.home .services .grid .item:nth-of-type(2n) {
		transform: translateY(0);
	}
	.home .services .grid .item .inner {
		padding: 40px 30px 30px 30px;
		position: relative;
	}

	.services .grid .item .icon {
		position: absolute;
		width: 68px;
		background: var(--bg-color-main);
		padding-top: 0;
		top: -10px;
		height: 68px;
		right: -20px;
		border-radius: 50%;
		line-height: 68px;
		box-shadow: -2px 0 20px var(--box-shadow-color-minimal);
		font-size: 36px;
		color: var(--secondary-color);
	}
}


.home .services .grid .item .text {
	color: var(--color-grey-warm);
}
.home .services .grid .item .button-holder {
	text-align: right;
	position: absolute;
	width: 100%;
	padding: 0 30px 0 0;
	bottom: -10px;
}
@media (max-width: 800px) {
	.home .services .grid .item .button-holder {
		text-align: left;		
	}
}
.home .services .grid .item .btn-inline {
	color: var(--secondary-color);
	text-transform: uppercase;
	font-size: 13px;
}
.home .services .grid .item .btn-inline i {
	margin-left: 8px;
	font-size: 12px;
}










.other-services {
	background: var(--secondary-color);
}
.other-services .container {
	max-width: 980px;
}
.other-services-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-gap: 30px;
}
.other-services .btn-link {
	color: var(--base-text-color-white);;
	text-decoration: none;
	border: 1px solid var(--base-border-color-white);
	border-radius: 60px;
	padding: 10px 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all 250ms ease-in-out;
}
.other-services .btn-link h3 {
	font-size: 19px;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 0;
}
.other-services .btn-link .text {
	color: var(--base-text-color);
}
.other-services .btn-link .icon {
	width: 50px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 26px;
	text-align: center;
	padding-right: 20px;
}
.other-services .btn-link .icon-nav {
	width: 14px;
	font-size: 18px;
	margin-left: auto;
	opacity: 0.4;
}
.other-services .btn-link:hover {
	background-color: rgba(255,255,255,0.25);
}
.other-services .btn-link:hover .icon-nav {
	opacity: 1;
}
@media (max-width: 1000px) {
	.other-services-list {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		grid-gap: 24px;
	}
}



.readmore-box {
	padding: 40px 0;
}
.readmore-box a {
	color: var(--primary-button-bg-color);
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.readmore-box a:hover {
	color: var(--primary-button-bg-color-hover);
	text-decoration: none;
}
.readmore-box a:hover span {
	text-decoration: underline;
}
.readmore-box a i {
	text-decoration: none;
	font-size: 11px;
	font-weight: 900;
	padding-left: 14px;
}















/*
 * Hero
 * ======================================================== */

.hero {
	background-color: var(--pre-footer-bg-color);
	height: 80vh;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	padding: 20px 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.hero::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(131deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,.1) 100%)
}
#hero-player {
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
}
@media (prefers-reduced-motion) {
	#hero-player {
		visibility: hidden;
	}
}
#hero-player iframe {
	width: 100%;
	height: 100%;
}
#hero-background-video {
	width: 100vw;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

/* YouTube test */
.video-container {
	width: 100vw;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
}
.video-container iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 100vh;
	height: 100%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

@media (min-aspect-ratio: 16/9) {
	.video-container iframe {
		height: 56.25vw;
	}
}
@media (max-aspect-ratio: 16/9) {
	.video-container iframe {
		width: 177.78vh;
		width: 177.78%;
	}
}

/* leaves for hero */

.hero::after {
	content: "";
	position: absolute;
	bottom: 0;
	height: 30px;
	width: 100%;
	background: rgb(114,201,228);
	background: linear-gradient(180deg, rgba(114,201,228,1) 0%, rgba(114,201,228,1) 34%, rgba(0,131,203,1) 34%, rgba(0,131,203,1) 43%, rgba(142,173,33,1) 43%, rgba(142,173,33,1) 58%, rgba(219,190,0,1) 58%, rgba(219,190,0,1) 100%);
	z-index: 0;
	pointer-events: none;
}
#leaf_white {
	position: absolute;
	width: 320px;
	right: 10%;
	z-index: 2;
	transform: translate(20%, -40%);
	pointer-events: none;
}
#leaf_primary {
	position: absolute;
	width: 320px;
	transform: translate(20%,calc(80vh - 10.5%));
	right: 10%;
	z-index: 0;
	pointer-events: none;
}
.home #leaf_white {
	left: 10%;
	right: auto;
}
.home #leaf_primary {
	left: 10%;
	right: auto;
}
@media (max-width: 800px) {
	#leaf_primary,
	#leaf_white {
		display: none;
	}
}





.page-id-235 .hero::before {
	display: none;
}
.hero .container,
.hero .container-inner {
	height: 100%;
	display: flex;
	justify-content: space-between;
}

.hero .container-inner.hero-inner-flex {
	justify-content: center;
	flex-direction: column;
}

.hero .container-inner {
	width: 100%;
}
.hero .container-inner > .left,
.hero .container-inner > .right {
	height: 100%;
	flex: 1;
}
@media (max-width: 800px) {
	.hero .container-inner > .left,
	.hero .container-inner > .right {
		height: auto;
		flex: auto;
	}
}
.hero .container-inner > .left .panel,
.hero .container-inner > .right {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	
}
.tagline {
	font-size: 33px;
	line-height: 40px;
	font-weight: 600;
	width: 90%;
}
.home .tagline {
	font-family: var(--primary-font), sans-serif;
	font-size: 42px;
	line-height: 54px;
	width: 50%;
	text-shadow: 0 0 10px rgba(0,0,0,0.5);
}




@media (max-width: 900px) {
	.hero.has-fixed-message .container-inner .tagline {
		font-size: 26px;
		line-height: 32px;
	}
}
@media (max-width: 800px) {
	.hero.has-fixed-message {
		height: 585px;
	}
	.hero .container-inner {
		flex-direction: column;
	}
	.hero.has-fixed-message .container-inner .tagline {
		text-align: center;
	}
	.home .tagline {
		font-size: 36px;
		line-height: 48px;
		width: 60%;
	}
}
@media only screen and (max-width: 480px) {
	.tagline {
		font-size: 26px;
		line-height: 32px;
		font-weight: 600;
		width: 100%;
	}
	.hero.has-fixed-message {
		height: auto;
	}
}


.home-hero-panels {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-gap: 50px;
}
.home-hero-panels > * {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 30px 30px 0 30px;
	color: var(--base-text-color-white);;
	font-weight: 500;
	text-shadow: 0 0 10px rgba(0,0,0,0.5), 0 0 7px rgba(0,0,0,1)
}
@media (max-width: 1000px) {
	.home .tagline {
		width: 70%;
		padding-bottom: 40px;
	}
	.home-hero-panels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-hero-panels > *:first-child {
		display: none
	}
	.home-hero-panels .bigger-than-mobile {
		display: block;
	}
	.home-hero-panels .text-for-mobile {
		display: none;
	}
}
@media (max-width: 720px) {
	.hero::before {
		background: linear-gradient(131deg, rgba(48,117,115,0.3) 0%, rgba(48,117,115,0.001) 100%);
	}
	.home .tagline {
		width: 100%;
		padding-top: 40px;
		padding-bottom: 20px;
	}
	.home-hero-panels {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		grid-gap: 20px;
	}
	.home-hero-panels > *:last-child {
		grid-column-start: 1;
		grid-row-start: 1;
	}
	.home-hero-panels .bigger-than-mobile {
		display: none;
	}
	.home-hero-panels .text-for-mobile {
		display: block;
	}
	.home-hero-panels p {
		margin-bottom: 0.75em;
	}
}
@media only screen and (max-width: 480px) {
	.hero::before {
		background: linear-gradient(131deg, rgba(48,117,115,0.4) 0%, rgba(48,117,115,0.001) 100%);
	}
}

@media only screen and (max-width: 480px) {
	.bigger-than-mobile {
		display: none;
	}
}
@media only screen and (min-width: 480px) {
	.text-for-mobile {
		display: none;
	}
}



.hero-message .panel h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 18px;
}
.hero-message .panel .meta-info {
	font-size: 19px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 8px;
}
.hero-message .panel .text {
	font-size: 16px;
	line-height: 1.8;
	font-weight: 400;
	color: var(--color-grey-warm);
	margin-bottom: 18px;
	letter-spacing: 0.5px;
}









/*
 * CTA sections
 * ======================================================== */

section.cta-primary,
section.cta-secondary,
section.cta-grey {
	position: relative;
	margin-top: 140px;
	margin-bottom: 140px;
	padding-top: 20px;
	padding-bottom: 40px;
	z-index: 2;
}
section.cta p:last-child {
	margin-bottom: 0;
}
section.cta-grey {
	background: var(--bg-color-cta-normal);
}
section.cta-primary {
	background: var(--primary-color);
}
section.cta-secondary {
	background: var(--secondary-color);
}
section.cta-grey:before,
section.cta-grey:after,
section.cta-primary:before,
section.cta-primary:after,
section.cta-secondary:before,
section.cta-secondary:after {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	height: 120px;
	background: lime;
	z-index: 1;
}
section.cta-grey:before,
section.cta-primary:before,
section.cta-secondary:before {
	top: -119px;
}
section.cta-grey:before {
	background: transparent url(../img/cta-shape/cta-shape-top-grey.svg) bottom center / auto 120px;
}
section.cta-primary:before {
	background: transparent url(../img/cta-shape/cta-shape-top-primary.svg) bottom center / auto 120px;
}
section.cta-secondary:before {
	background: transparent url(../img/cta-shape/cta-shape-top-secondary.svg) bottom center / auto 120px;
}
section.cta-grey:after,
section.cta-primary:after,
section.cta-secondary:after {
	bottom: -119px;
}
section.cta-grey:after {
	background: transparent url(../img/cta-shape/cta-shape-bottom-grey.svg) bottom center / auto 120px;
}
section.cta-primary:after {
	background: transparent url(../img/cta-shape/cta-shape-bottom-primary.svg) bottom center / auto 120px;
}
section.cta-secondary:after {
	background: transparent url(../img/cta-shape/cta-shape-bottom-secondary.svg) bottom center / auto 120px;
}


@media (prefers-color-scheme: dark) {
	section.cta-grey:before {
		background: transparent url(../img/cta-shape/cta-shape-top-grey-dark.svg) bottom center / auto 120px;
	}
	section.cta-primary:before {
		background: transparent url(../img/cta-shape/cta-shape-top-primary.svg) bottom center / auto 120px;
	}
	section.cta-secondary:before {
		background: transparent url(../img/cta-shape/cta-shape-top-secondary-dark.svg) bottom center / auto 120px;
	}

	section.cta-grey:after {
		background: transparent url(../img/cta-shape/cta-shape-bottom-grey-dark.svg) bottom center / auto 120px;
	}
	section.cta-primary:after {
		background: transparent url(../img/cta-shape/cta-shape-bottom-primary.svg) bottom center / auto 120px;
	}
	section.cta-secondary:after {
		background: transparent url(../img/cta-shape/cta-shape-bottom-secondary-dark.svg) bottom center / auto 120px;
	}
	
	section.cta-primary .container-leaf::before,
	section.cta-secondary .container-leaf::before,
	section.cta-grey .container-leaf::before {
		opacity: 0.2;
	}

}




section.cta-primary .container-leaf,
section.cta-secondary .container-leaf,
section.cta-grey .container-leaf {
	z-index: 2;
}
section.cta-primary .container-leaf:before,
section.cta-secondary .container-leaf:before,
section.cta-grey .container-leaf:before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	height: calc(100% + 240px);
	top: -120px;
	background: transparent url(../img/cta-shape/delphy-leaf.svg) no-repeat center right / auto 100%;
	pointer-events: none;
}
section.cta-primary .container-leaf:before,
section.cta-secondary .container-leaf:before {
	opacity: 0.3;
}



/*
 * Home page
 * ======================================================== */

section.order-online {
	padding-bottom: 60px;
}



.order-online .fas:first-child {
	font-size: 21px;
	transform: translateY(2px);
	margin-right: 10px;
}
.order-online .fas:last-child {
	margin-left: 30px;
	opacity: 0.6;
}
.order-online h3 {
	font-weight: 500;
	padding-bottom: 21px;
}
.order-online h3 em {
	color: var(--base-text-color-white);;
	font-style: normal;
}
.order-online h3 .pre-title {
	display: block;
	font-size: 16px;
	font-weight: 500;
}














/*
 * Regular content
 * ======================================================== */
.main h1 {
	font-size: 40px;
	font-weight: 600;
	line-height: 50px;
	margin-bottom: 42px;
}
h1 .meta {
	display: block;
	font-size: 24px;
	line-height: 30px;
	font-weight: 500;
	color: #acacac;
}
.meta.meta-post {
	display: flex;
	justify-content: flex-start;
	position: relative;
	transform:  translateY( -22px );
	padding-top: 10px;
	font-weight: 500;
	font-size: 14px;
	color: var(--meta-text-color);	
	margin-bottom: 18px;
}
.meta .post-format,
.meta .post-format-type {
	position: relative;
	display: inline-block;
	background: #e4ebec;
	background: #eee;
	font-size: 13px;
	padding: 1px 14px;
	color: #6f1833;
	font-weight: 700;
	text-transform: uppercase;
	left: -22px;
/*	transform: translate(-28px, -22px);*/
	letter-spacing: 2px;
}
.meta .post-format i,
.meta .post-format-type i {
	margin-right: 6px;
}
.meta .post-author {
	padding-left: 16px;
	border-left: solid 1px var(--meta-text-color);
	margin-left: 16px;
}
.meta .post-author a {
	text-decoration: none;
	color: var(--meta-text-color);
}
.meta .post-author a:hover {
	text-decoration: underline;
	color: var(--base-text-color);
}


article h3 {
	font-size: 17px;
	font-weight: 550;
}
.main ul {
	list-style-type: square;
	list-style-position: outside;
	padding-left: 14px;
}
.main ul li {
	padding-left: 10px;
	margin-bottom: 0;
}
#primary {
	padding-top: 40px;
	padding-bottom: 60px;
	position: relative;
}
.entry-content {
	padding-bottom: 40px;	
}
.entry-content-text {
	padding-bottom: 80px;	
}
#breadcrumbs {
	padding-bottom: 40px;
	color: #999;
	font-size: 13px;
}
blockquote {
    width: 100%;
	padding-left: 10%;
    margin-left: auto;
    margin-right: auto;
    font-weight: 300;
	border-left: 2px solid var(--tertiary-text-color);
}
img.alignright {
	float: right;
	margin-left: 20px;
	max-width: 50%;
	width: auto;
	height: auto;
}
img.alignleft {
	float: left;
	margin-right: 20px;
	max-width: 50%;
	width: auto;
	height: auto;
}



.panel,
.item {
	border-radius: 10px;
	position: relative;
	background: var(--bg-color-panel);	
}




/*
.entry-content a:not(.button) {
	color: var(--primary-link-color);
	text-decoration: underline dotted;
}
.entry-content a:not(.button):hover {
	color: var(--primary-link-color-hover);
	text-decoration: underline;
}
*/

.panel .post-format,
.panel .post-format-type {
	position: absolute;
	display: inline-block;
	background: var(--bg-color-label);
	font-size: 12px;
	padding: 1px 14px;
	color: var(--base-text-color-white);;
	font-weight: 700;
	text-transform: uppercase;
	top: 16px;
	transform: translateX(-14px);
	border-radius: 3px;
}
.panel .post-format.post-training {
	background: var(--quaternary-color);
}
.panel .post-format.post-project {
	background: var(--primary-color);
}
.panel .post-format.post-research {
	background: var(--secondary-color-darker);
}

.panel.panel-overview .inner {
  padding: 30px 30px 50px 30px;
}


.panel .post-format i,
.panel .post-format-type i {
	margin-right: 6px;
}
.image-box {
	position: relative;
	overflow: hidden;
	width: 100%;
	border-radius: 10px 10px 0 0;
	filter: brightness(1);
}
@media (prefers-color-scheme: dark) {
	.image-box {
		filter: brightness(0.85);
	}
}


.featured-panel .image-box {
	border-radius: 10px 0 0 10px;
}
.sidebar .featured-panel .image-box {
	border-radius: 10px 10px 0 0;
}
.panel-testimonial .image-box {
	border-radius: 2px;
}

.image-box img {
	display: block;
	max-width: none;
	width: 100%;
	height: 100%;
	transform: scale(1.1);
	transition: transform 250ms ease-in-out;
	object-fit: cover;
}
.item .image-box {
	min-height: 165px;
	max-height: 165px;
	height: 165px;
}
.item img {
	display: block;
	max-width: none;
	width: 100%;
	height: 100%;
	transform: scale(1.1);
	transition: transform 250ms ease-in-out;
	object-fit: cover;
}
.item:hover .image-box img,
.item-event:hover .image-box img,
.panel:hover .image-box img {
	transform: scale(1.135);
}
.image-box .image-overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(131deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,.05) 100%);
	background: linear-gradient(131deg, #469c7c 0%, #469c7c05 100%);
	mix-blend-mode: overlay;
}
.item .video-icon {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	color: var(--base-text-color-white);;
	font-size: 60px;
	transition: font-size 250ms ease-in-out;
}
.item .plus-icon {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	color: var(--base-text-color-white);;
	font-size: 100px;
	transition: font-size 250ms ease-in-out;
}
.item .no-box {
	height: 0px;
	width: 100%;
	margin-bottom: 20px;
	background: #E3E3E3;
}
a.item {
	color: var(--base-text-color);
	text-decoration: none;
}
a.item:hover,
a.panel:hover,
.sidebar .events a.featured-panel:hover {
	box-shadow: 0px 10px 24px 0px var(--box-shadow-color-default);
}
.panel h3,
.item h3 {
	font-weight: 700;
	font-size: 21px;
	margin-bottom: 0;
}
a.panel,
a.item  {
	color: var(--base-text-color);
	text-decoration: none;
}
.item h3 + .date {
	padding-top: 5px;
	font-weight: 500;
	font-size: 14px;
	color: var(--meta-text-color);
}
.item h3 + .date ul,
.item h3 + .date ul li {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.item h3 + .date ul li i {
	margin-right: 8px;
}

.item.tribe_events .date-label {
	position: absolute;
	top: 0;
	left: 0;
	right: auto;
	width: 90px;
	height: 90px;
	transform: translate(-10px, 20px);
	background: var(--secondary-color);
  	color: var(--base-text-color-white);;
  	display: flex;
  	flex-direction: column;
  	justify-content: center;
  	align-items: center;
}
.item.tribe_events .date-label .day {
	font-size: 40px;
	line-height: 0.9;
}
.item.tribe_events .date-label .month {
	font-size: 12px;
	line-height: 1.3;
}
.item.tribe_events .date-label .year {
	font-size: 18px;
	line-height: 20px;
}

.item.people .meta .taglist-box {
	display: block;
}
.item.people .meta .taglist-box .title {
	font-size: 13px;
	padding-bottom: 4px;
}
.meta .taglist-box .taglist li {
	padding: 2px 11px;
	font-size: 13px;
}
.item .text {
	padding-top: 21px;
	font-weight: 500;
	font-size: 16px;
}
.item .icon-follow {
	position: absolute;
	right: 13px;
	bottom: 4px;
	color: #ebebeb;
	font-size: 30px;
	transition: color 250ms ease-in-out;
}
@media (prefers-color-scheme: dark) {
	.item .icon-follow {
		color: #454545;
	}
}
.item:hover .icon-follow {
	color: #dbdbdb;
}
/*
.filter-box {
	position: relative;
}
input[type="search"].filter-entry {
	max-width: 280px;
	padding-right: 40px;
}
input[type="search"].filter-entry ~ i {
	width: 40px;
	margin-left: -40px;
	text-align: center;
	color: #D1D1D1;
}
*/

.media-box.video-box,
.media-box.podcast-box {
	margin-bottom: 40px;
}
.media-box.video-box video {
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
}
.external-podcasts {}
.external-podcasts p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	font-size: smaller;
}
.external-podcasts-links {
	display: flex;
	justify-content: flex-start;
	column-gap: 14px;
	row-gap: 10px;
	flex-wrap: wrap;
}
.external-podcasts-links a i {
	font-size: 13px;
	transform: translateY(1px);
}

/* Simple boxes */
.simple-boxes-panels {
	gap: var(--large-gap);
}
.simple-boxes-panels .panel {
	width: var(--halfwidth-size-large-gap);
	padding: 0;
}
.simple-boxes-panels .panel .inner {
	padding: 0;
}
@media (max-width: 960px) {
	.simple-boxes-panels .panel {
		width: 100%;
	}
}

/* landing page products */
.our-products-items .panel {
	width: var(--halfwidth-size);
	padding: 20px 30px;

	display: grid;
	grid-template-columns: 80px 1fr;
	grid-template-rows: min-content 1fr min-content;
	column-gap: 20px;
	margin-bottom: 0;
}
@media (max-width: 960px) {
	.our-products-items .panel {
		width: 100%;
	}
}

.our-products-items .panel img {
  grid-column-start: 1;
  grid-row-start: 1;
  grid-row-end: 3;
}
.our-products-items .panel h3 {
  grid-column-start: 2;
  grid-row-start: 1;
}
.our-products-items .panel .text {
  grid-column-start: 2;
  grid-row-start: 2;
}
.our-products-items .panel .btn-inline {
	grid-column-start: 1;
	grid-column-end: 3;
	grid-row-start: 3;
	place-self: end;

	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 500;
	color: var(--secondary-color);
}
.our-products-items .panel .btn-inline i {
	margin-left: 8px;
	font-size: 11px;
}


.sdgs {
	display: flex;
	justify-content: flex-start;
	gap: 20px;
	flex-wrap: wrap;
}
.sdgs .sdg {
	width: 120px;
	height: 120px;
	position: relative;
	display: block;
}
.sdgs .sdg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sdgs .sdg span {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden !important;
	position: absolute !important;
	width: 1px;
}
.faux-label {}



.project-gallery-grid {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.project-gallery-grid a {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 0;
}
.project-gallery-grid a.item:hover {
	box-shadow: none;
}
.project-gallery-grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 250ms ease-in-out;
}
.project-gallery-grid a.item:hover img {
	transform: scale(1.05);
}
.project-gallery-grid a.item:hover .plus-icon {
	font-size: 110px;
}
/*
 * Regular content
 * ======================================================== */
section.testimonials {}
.testimonials h2 {
	font-size: 18px;
	font-weight: 900;
	color: #c8c7c7;
	padding-bottom: 20px;
}
.testimonials .panel-testimonial.has-image {
	display: flex;
	justify-content: space-between;
}
.testimonials .panel-testimonial.has-image .inner {
	display: flex;
	justify-content: space-between;
	gap: 36px
}
.testimonials .panel-testimonial.has-image .image-box {
	width: 32%;
	height: auto;
	aspect-ratio: 1.33 / 1;
	max-height: 240px;
	min-width: 180px;
}
.testimonials .panel-testimonial.has-image .text-box {
	width: calc(68% - 36px);
}
.testimonials .panel-testimonial.has-image h3 {
	font-size: 24px;
	font-weight: 700;
}
.testimonials .text {
	font-weight: 300;
}
.testimonials .author {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
	padding-top: 21px;
}
.testimonials .author .image-box.author-image-box,
.testimonials .author .image-box.author-image-box::after {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	max-height: 84px;
	min-width: 84px;
	width: 84px;
	height: 84px;
	border-radius: 50%;
}
.testimonials .author .image-box.author-image-box::after {
	content: "";
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 84px;
	height: 84px;
	background: transparent url(../img/pinguinstaart-secondary.svg) no-repeat right bottom / 84px auto;
}
.testimonials .author img {
	width: 84px;
	height: 84px;
	border-radius: 50%;
	border: 4px solid var(--base-border-color-white);
}
.testimonials .author .author-inner {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1.3px;
}
.testimonials .author .author-inner .author-job-company {
	color: #c8c7c7;
	padding-top: 2px;
}
.panel.is-text-quote {
	display: block;
	width: 100%;
	max-width: 650px;
	margin: 0 auto;
	font-size: 34px;
	font-style: italic;
	text-align: center;
}
.panel.is-text-quote:before {
	content: '‘ ';
}
.panel.is-text-quote:after {
	content: ' ’';
}
.featured-image-huge {
/*	transform: translateX(calc(50vw - 50%));*/
	float: right;
	position: relative;
	width: 50%;
	max-width: 50%;
	z-index: 2;
}
.featured-image-huge img {
	max-width: unset;
	width: calc(50vw - 20px);
	margin-left: 20px;
	height: auto;
}







.related-posts h2 {
	padding-bottom: 24px;
}
.related-posts .overview.grid {
	padding-bottom: 80px;
}

.experts-after-cta {
	padding-top: 60px;
}
.experts-after-cta p:first-of-type {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 0;
}
.experts-after-cta p:last-of-type {
	font-size: 16px;
	font-weight: 500;
}
.experts-after-cta a {
	color: var(--base-text-color);
	text-decoration: underline dashed;
}
.experts-after-cta a:hover {
	color: var(--primary-color);
	text-decoration: underline dashed;
}



section.extra-message {}
.extra-message h2 {
	font-size: 18px;
	font-weight: 900;
	color: #c8c7c7;
	padding-bottom: 20px;
}
.extra-message .panel-extra-message.has-image {
	display: flex;
	justify-content: space-between;
}
.extra-message .panel-extra-message.has-image .inner {
	display: flex;
	justify-content: space-between;
	gap: 36px;
	padding: 0;
}
.extra-message .panel-extra-message.has-image .image-box {
	width: 45%;
	height: auto;
	max-height: 100%;
	border-radius: 10px 0 0 10px;
}

.extra-message .panel-extra-message.has-image .text-box {
	width: calc(68% - 36px);
	padding: 30px 30px 30px 0;
}
.extra-message .panel-extra-message.has-image h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 0.5em;
}
.extra-message .text {
	font-weight: 300;
}









/*
 * Sidebars
 * ======================================================== */
.sidebar {}
.sidebar.sidebar-float {
	margin-left: 40px;
	padding: 0 0 50px 50px;
}
.sidebar.sidebar-float > * {
	margin: 60px 0 0 0;
}
.no-featured-image .sidebar > *:first-child {
	margin: 0 0 0 0;
}
.sidebar .people h3 {
	font-weight: 510;
	margin-bottom: 0;
}
.sidebar .people h3 + p {
	font-weight: 400;
	font-size: 15px;
	margin-bottom: 0.5em;
	color: var(--color-grey-warm);
}
.grid.expert-overview {
	grid-template-columns: repeat(auto-fill, minmax(256px, 1fr));
}


@media (max-width: 960px) {
	.container-large-page-content {
		display: flex;
		flex-direction: column;
	}
	.featured-image-huge {
		float: none;
		width: 100%;
		max-width: 100%;
		order: 5;
	}
	.featured-image-huge img {
		max-width: 100%;
		width: 100%;
		margin-left: 0;
		height: auto;
	}
	.sidebar.sidebar-float {
		margin-left: 0;
		padding: 50px 0px;
	}
	
}

















.person-card {
	width: 100%;
	padding: 24px 30px 20px 30px;
	text-align: center;
	position: relative;
	box-shadow: 0 10px 16px 0 var(--box-shadow-color-minimal);
	font-size: 15px;
	font-weight: 490;
}
.sidebar .person-card {
	margin-bottom: 30px;
}
.panel.person-card.bigger {
	width: 100%;
}
.person-card img,
.person-card .img {
	width: 120px;
	height: 120px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 50%;
	margin-bottom: 10px;
}
.person-card .img {
	background: #ccc;
	color: var(--base-text-color-white);;
	line-height: 120px;
	text-align: center;
	font-weight: 300;
	font-size: 60px;
}

.person-card .image-box ,
.person-card .image-box ::after {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	max-height: 120px;
	min-width: 120px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
}
.person-card .image-box {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.person-card .image-box::after {
	content: "";
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 120px;
	height: 120px;
	background: transparent url(../img/pinguinstaart-secondary.svg) no-repeat right bottom / 120px auto;
}

.person-card.bigger .image-box ,
.person-card.bigger .image-box ::after {
	max-height: 180px;
	min-width: 180px;
	width: 180px;
	height: 180px;
}
.person-card.bigger .image-box::after {
	width: 180px;
	height: 180px;
	background: transparent url(../img/pinguinstaart-secondary.svg) no-repeat right bottom / 180px auto;
}




.person-card .image-box img {
	width: 100%;
	height: 100%;
}
.person-card .person-name {
	font-size: 18px;
	font-weight: 700;
}
.person-card .person-job-title {
	color: var(--color-grey-warm);
	padding-bottom: 30px;
}
.person-card .person-email a,
.person-card .person-phone a,
.person-card .person-vcard a {
	display: block;
	text-align: left;
	color: var(--color-grey-warm);
	text-decoration: none;
	padding-bottom: 4px;
}
.person-card .person-email i,
.person-card .person-phone i,
.person-card .person-vcard i {
	display: inline-block;
	width: 28px;
	text-align: left;
}
.person-card a.link {
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 510;
	color: #cfbc25;
	text-decoration: none;
	text-align: right;
	padding-top: 30px;
}
.person-card a.link i {
	display: inline-block;
	width: 16px;
	text-align: right;
}
.person-card .person-email a:hover,
.person-card .person-phone a:hover,
.person-card a.link:hover {
	color: var(--text-base-color);
}


.sidebar .documents {
	background: var(--secondary-color);
	padding: 24px 20px;
	color: var(--base-text-color-white);;
}
.sidebar .documents h3 {
	font-weight: 510;
	margin-bottom: 0;
}
.sidebar .documents ul,
.sidebar .documents ul li {
	font-size: 15px;
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.sidebar .documents a {
	text-decoration: none;
	color: var(--base-text-color-white);;
}
.sidebar .documents a .title {
	text-decoration: underline dotted;
}
.sidebar .documents a:hover {
	color: var(--base-text-color);
}

.sidebar .announcement {
	background: var(--primary-color);
	padding: 24px 20px;
	color: var(--base-text-color-white);;
}
.sidebar .announcement h3 {
	font-weight: 510;
	margin-bottom: 1rem;
}
.sidebar .announcement p {
	margin-bottom: 0;
}
.sidebar .events a.featured-panel {
	display: flex;
	justify-content: flex-start;
	color: var(--base-text-color);
	text-decoration: none;
	flex-direction: column;
	box-shadow: 0px 0px 14px 0px var(--box-shadow-color-default);
	transition: all 250ms ease-in-out;
}
.sidebar .events .featured-panel .image-box {
	width: 100%;
	aspect-ratio: 1 / 0.5;
}
.sidebar .events .featured-panel .image-box img {
	max-width: unset;
	width: 100%;
	margin-left: 0;
	height: auto;
	object-fit: cover;
}
.sidebar .events .featured-panel .inner {
	padding: 30px 20px;
	font-size: 15px;
	display: block;
}
.sidebar .events .featured-panel h2 {
	font-size: 21px;
}
.sidebar .events .featured-panel ul.meta-list {
	font-size: 14px;
	margin-bottom: 0;
}
.sidebar .events .featured-panel ul.meta-list li i {
	margin-right: 16px;
}
.sidebar .events .featured-panel .inner > .icon {
	right: 16px;
	top: auto;
	bottom: 33px;
	height: 40px;
	width: 20px;
	font-size: 50px;
}

.sidebar .events .featured-panel  .date-label {
	top: 0;
	left: auto;
	right: 0;
	width: 90px;
	height: 90px;
	transform: translate(20px, -110px);
}
.sidebar .events .featured-panel  .date-label .day {
	font-size: 40px;
	line-height: 0.9;
}
.sidebar .events .featured-panel .date-label .month {
	font-size: 12px;
	line-height: 1.3;
}
.sidebar .events .featured-panel .date-label .year {
	font-size: 18px;
	line-height: 20px;
}


.sidebar .events .event-list {
	list-style: none;
	padding-left: 0;
}
.sidebar .events .event-list li {
	padding-left: 30px;
	position: relative;
}
.sidebar .events .event-list li a {
	display: block;
	color: var(--base-text-color);
	text-decoration: none;
	padding-right: 30px;
	padding-bottom: 6px;
	padding-top: 6px;
	border-bottom: 1px solid var(--color-grey-warm-light);
}
.sidebar .events .event-list a > i {
	position: absolute;
	left: 0;
	top: 10px;
}
.sidebar .events .event-list .title {
	font-size: 16px;
	display: block;
	font-weight: 500;
}
.sidebar .events .event-list .list-item-date {
	font-size: 14px;
	display: block;
	font-weight: 300;
	color: var(--color-grey-warm);
}
.sidebar .events .event-list .icon {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	font-size: 24px;
	color: var(--color-grey-warmlight);
}
.sidebar .events .event-list a:hover .icon,
.sidebar .events .event-list a:hover .list-item-date {
	color: var(--secondary-color);
}
.sidebar .events .event-list a:hover {
	border-bottom: 1px solid var(--secondary-color);
}


/* Simple address box */

.sidebar .address-box {
	background: var(--color-grey-very-light);
	padding: 24px 20px;
	color: var(--base-text-color);
	margin-bottom: 20px;
}
.address-box ul,
.address-box ul li {
	font-size: 15px;
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.address-box a {
	text-decoration: none;
	color: var(--base-text-color);
}
.address-box li > i,
.address-box a > i {
	padding-right: 10px;
	opacity: 0.3;
}
.address-box a .link-text {
	text-decoration: underline dashed;
}
.address-box a:hover {
	color: var(--base-text-color);
}
.address-box a:hover .link-text {
	text-decoration: underline solid;
}


.panel .address-box a {
	text-decoration: none;
	color: var(--color-grey-warm)
}
.panel .address-box a:hover {
	color: var(--base-text-color);
}
.address-box + .address-box {
	padding-top: 24px;
}
.panel.contact-card h2 {
	font-size: 21px;
	font-weight: 700;
}



.g-map {
    width: 100%;
    height: 350px;
    border: #ccc solid 1px;
    margin: 20px 0;
}

/* Fixes potential theme css conflict.*/
.g-map img {
	max-width: inherit !important;
}


.event-sidebar .sidebar {
	background: #f6f6f6;
	padding: 40px 50px;
}
@media (prefers-color-scheme: dark) {
	.event-sidebar .sidebar {
		background: #363636;
	}
}

@media (max-width: 960px) {
	.tribe-events-single {
		display: flex;
		flex-direction: column;
	}
	.tribe-events-single .featured-image-huge {
		float: none;
		width: 100%;
		max-width: 100%;
		order: 5;
	}
	.tribe-events-single .featured-image-huge img {
		max-width: 100%;
		width: 100%;
		margin-left: 0;
		height: auto;
	}
	.tribe-events-single .sidebar.sidebar-float {
		margin-left: 0;
		padding: 50px 30px;
	}
}




.event-sidebar .sidebar .tickets {
	padding-top: 0;
}
.event-sidebar .sidebar .ticket-list {
	padding-left: 0;
	list-style: none;
}
.event-sidebar .sidebar .ticket-list .ticket-item {
	display: inline-block;
	text-decoration: none;
	background: var(--primary-link-color);
	color: var(--base-text-color-white);;
	padding: 0 30px;
	line-height: 40px;
	height: 40px;
	border-radius: 10px;
	border: 1px dashed rgba(255,255,255,0.75);
	box-shadow: 0 0 0 2px  var(--primary-link-color);
}
.event-sidebar .sidebar .ticket-list .ticket-item .price {
	display: inline-block;
	padding: 0 20px 0 10px;
	opacity: 0.75;
}
.event-sidebar .sidebar .ticket-list .ticket-item i {
	transition: all 250ms ease-in-out;
}
.event-sidebar .sidebar .ticket-list .ticket-item:hover {
	text-decoration: none;
	background: var(--primary-link-color-hover);
	color: var(--base-text-color-white);;
	box-shadow: 0 0 0 2px  var(--primary-link-color-hover);
}
.event-sidebar .sidebar .ticket-list .ticket-item:hover i {
	transform: translateX(3px);
}

.event-sidebar .sidebar .tribe-events-meta-group {
	padding-top: 0px;
	min-width: 100%;
}

.event-sidebar .sidebar .tribe-events-meta-group dl {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: baseline;
}

.event-sidebar .sidebar .tribe-events-meta-group dl dt.tribe-events-start-date-label,
.event-sidebar .sidebar .tribe-events-meta-group dl dt.tribe-events-start-time-label,
.event-sidebar .sidebar .tribe-events-meta-group dl dt.tribe-events-start-datetime-label,
.event-sidebar .sidebar .tribe-events-meta-group dl dt.tribe-events-end-datetime-label,
.event-sidebar .sidebar .tribe-events-meta-group dl dt.tribe-events-event-url-label {
	width: 20%;
	color: var(--color-grey-warm);
	font-weight: 400;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 1px;
}
.event-sidebar .sidebar .tribe-events-meta-group dl dd.tribe-events-event-url a {
	color: var(--base-text-color);
	text-decoration: underline dashed;
}
.event-sidebar .sidebar .tribe-events-meta-group dd {
	text-decoration: none;
	margin-left: 40px;
	width: calc(80% - 40px);
}
.event-sidebar .sidebar .tribe-events-meta-group dd abbr {
	text-decoration: none !important;
}
.tribe-events-meta-group.tribe-events-meta-group-venue {
  margin-top: 10px;
}
.event-sidebar .sidebar .tribe-events-meta-group address {
	font-style: normal;
}
ul.accordion.venue-accordion,
ul.accordion.venue-accordion li {
	padding-left: 0;
}
ul.accordion.venue-accordion h3.title {
	margin-bottom: 7px;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-grey-warm-light);
	cursor: pointer;
	color: var(--color-grey-warm);
}
ul.accordion.venue-accordion h3 .icon {
	color: var(--color-grey-warm-light);
}
ul.accordion.venue-accordion h3.title:hover {
	color: var(--base-text-color);
}
ul.accordion.venue-accordion a {
	color: var(--base-text-color);
	text-decoration: underline dashed;
}
ul.accordion.venue-accordion a:hover {
	color: var(--base-text-color);
	text-decoration: underline solid;
}


.tribe-events.tribe-common {
	margin-top: 10px;
}
.single-tribe_events .event-sidebar .sidebar .tribe-events-c-subscribe-dropdown__container {
	width: 100%;
}

.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
	display: flex;
	width: 300px;
	justify-content: space-between;
	align-items: center;
	border-radius: 40px;
	padding: 4px 30px;
	border: 1px solid var(--secondary-button-bg-color-dark);
	color: var(--secondary-button-bg-color);
	margin: 0 auto;
}
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:focus-within,
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:focus {
	border: 1px solid var(--secondary-button-bg-color-dark);
	color: var(--secondary-button-text-color-hover);
	background-color: var(--secondary-button-bg-color-dark) !important;
}


.sidebar ul.event-socials {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 40px;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}
.sidebar ul.event-socials li {
	padding-left: 0;
	padding-right: 20px;
}
.sidebar ul.event-socials li a {
	display: block;
	width: 30px;
	height: 30px;
	line-height: 32px;
	font-size: 18px;
	text-align: center;
	border-radius: 4px;
	text-decoration: none;	
	background: var(--primary-button-bg-color);
	color: var(--primary-button-text-color);
}
.sidebar ul.event-socials li a:hover {
	text-decoration: none;	
	background: var(--primary-button-bg-color-hover);
	color: var(--primary-button-text-color-hover);
}





/*
 * Training data
 * ======================================================== */
.training-sidebar .sidebar {
	background: var(--color-grey-very-light);
	padding-top: 50px;
	padding-right: 50px;
}
ul.training-details {
	list-style: none;
	padding-left: 0;
}
ul.training-details li {
	display: flex;
	justify-content: flex-start;
	padding-left: 0;
	padding-bottom: 20px;
}
ul.training-details li i {
	width: 60px;
	font-size: 22px;
	color: var(--secondary-color);
	text-align: center;
	padding-right: 28px;
}
ul.training-details li .title {
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: 1px;
	margin-bottom: 2px;
}
.training-more.text-center {
	margin-top: 30px;
}
#btn-training-more-info i {
	margin-right: 10px;
}



.training-instances .training-instance {
	display: block;
	background: var(--color-grey-very-light);
	color: var(--base-text-color);
	text-decoration: none;
	padding: 20px 30px;
	margin-bottom: 20px;
}
.training-instances .training-instance h3 {
	font-size: 24px;
}
.training-instances .training-instance h3 .stock {
	font-size: 15px;
	color: var(--color-grey-warm);
	font-weight: 400;
}
.training-instances .training-instance .faux-link {
	color: var(--primary-color);
	text-decoration: underline dashed;
}
.training-instances .training-instance .faux-link:hover {
	color: var(--primary-color-darker);
	text-decoration: underline solid;
}


.training-instance-for,
.ticket-for {
	transform: translate(-20px, -30px);
}
.training-instance-for a,
.ticket-for a {
	display: inline-block;
	position: relative;
	text-decoration: none;
	padding: 4px 20px;
	background: var(--secondary-button-bg-color);
	color: var(--base-text-color-white);;
	border-radius: 4px;
	transition: all 250ms ease-in-out;
}
.training-instance-for a:hover,
.ticket-for a:hover {
	text-decoration: none;
	background: var(--secondary-button-bg-color-hover);
	color: var(--base-text-color-white);;
}
.training-instance-for a:before,
.ticket-for a:before {
	position: absolute;
	content: "\f0d9";
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	color: var(--secondary-button-bg-color);
	left: 0;
	transition: all 250ms ease-in-out;
}
.training-instance-for a:hover:before,
.ticket-for a:hover:before {
	color: var(--secondary-button-bg-color-hover);
	left: -12px;
}
.training-instance-for a i,
.ticket-for a i {
	opacity: 0.5;
	margin-right: 12px;
}

.single-training-details {
	margin-bottom: 21px;
}





/*
 * Sidebars
 * ======================================================== */
.searchbar-expert {
	padding-top: 0;
	padding-bottom: 40px;
}
.searchbar-expert .input-fields {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.searchbar-expert .input-fields .sep {
	width: 60px;
}
.searchbar-expert .input-fields .fields {
	flex: 1;
}
.searchbar-expert .input-fields input,
.searchbar-expert .input-fields select {
	width: calc(100% - 32px);
}
.searchbar-expert .buttons {
	text-align: right;
	padding: 20px 30px 0 0;
}

.search-results {
		padding-top: 0;
}
.search-results h2.no-margin {
	margin-bottom: 0;
}
.filter-box {
	text-align: right;
}
.align-with-inputs {
	line-height: 44px;
}


.search fieldset {
	text-align: center;
}
.search fieldset.fields {
	text-align: left;
}
.search fieldset.fields {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding-top: 24px;
}
.search fieldset.fields select {
	max-width: 180px;
	width: auto;
	margin-left: 20px;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	height: 36px;
	line-height: 34px;
}
.search input[type="search"] {
	max-width: 460px;
	width: 100%;
	height: 46px;
  	padding: 0 10px;
	line-height: 46px;
  	transition: all 250ms ease-in-out;
}
.search .button.button-primary,
.search button.button-primary {
	padding: 0 30px;
	min-width: 100px;
}
.search-subject {
	color: var(--primary-color);
}
.filter-posts-box.search {
	padding-top: 20px;
}

.filter-posts-box,
.filter-posts-box .post-type-filter {
	display: flex;
	justify-content: flex-start;
	gap: var(--mini-gap);
}
/*
.filter-posts-box input[type="checkbox"] {
	width: 16px;
	height: 16px;
	display: inline-block;
	margin-bottom: 0;
	-webkit-appearance: checkbox;
	appearance: checkbox;
	margin-right: 8px;
}
*/
.filter-posts-box .post-type-filter input[type="checkbox"] ~ .label-inner {
	display: inline-block;
	padding: 3px 20px;
	background: #f0f0f0;
	border-radius: 5px;
	font-size: 14px;
	cursor: pointer;
}
.filter-posts-box .post-type-filter input[type="checkbox"] ~ .label-inner:hover {
	background: #e2e2e2;
}
.filter-posts-box .post-type-filter input[type="checkbox"]:checked ~ .label-inner {
	background: var(--secondary-color);
	color: var(--base-text-color-white);;
}
.filter-posts-box .post-type-filter input[type="checkbox"]:checked ~ .label-inner:hover {
	background: var(--secondary-color-darker);
	color: var(--base-text-color-white);;
}
.filter-posts-box .post-type-filter input[type="checkbox"] ~ .label-inner i {
	display: none;
}
.filter-posts-box .post-type-filter input[type="checkbox"]:checked ~ .label-inner i {
	display: inline-block;
	margin-right: 10px;
}


/*
 * Meta stuff
 * ======================================================== */
.meta .taglist-box {
	display: flex;
	justify-content: flex-start;
}
.meta .taglist-box .title {
	width: 120px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding-top: 2px;
}
.meta .taglist-box .taglist {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	list-style: none;
	padding-left: 0;
	margin-bottom: 18px;
	gap: 10px;
}
.meta .taglist-box .taglist li {
	display: inline-block;
	padding: 2px 14px;
	background: #f0f0f0;
	border-radius: 4px;
	font-size: 14px;
}
.meta-region {
	color: var(--meta-text-color);
}

.panel ul.meta {
	list-style: none;
	padding-left: 0;
	color: var(--color-grey-warm);
}
.panel ul.meta li {
	padding-left: 0;
}
ul.meta .label-type {
	margin-right: 8px;
}

ul.meta .value-type {
	color: var(--base-text-color);
}

/*
 * Theme boxes
 * ======================================================== */
.theme-panels .panel h3 {
	font-weight: 500;
	font-size: 21px;
	margin-bottom: 10px;
}












/*
 * Swipers
 * ======================================================== */

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
	right: 10px;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
	left: 10px;
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--bg-color-main);
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #E67932;
}



/* Accordion
   ---------------------------------------- */
.accordion,
.accordion li {
	list-style: none;
	padding-left: 0;
}
.accordion h2 {
	cursor: pointer;
	font-size: 1.8rem;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
	position: relative;
}
.accordion h2 .icon {
	position: absolute;
	right: 20px;
	top: 5px;
	color: rgba(0,0,0,0.3);
}
.accordion h2:hover .icon {
	color: rgba(0,0,0,1);
}
.accordion .collapse {
	background: #eee;
	padding: 20px;
}
.accordion .collapse  p:last-child {
	margin-bottom: 0;
}


/* Flip boxes
   ---------------------------------------- */

.flip-container {
	perspective: 1000px;
	transform-style: preserve-3d;
	background: transparent;
}
.flip-container:hover .back {
	transform: rotateY(0deg);
}
.flip-container:hover .front {
	transform: rotateY(180deg);
}
.flip-container,
.flip-container .front,
.flip-container .back {
	width: 100%;
	height: 100%;
}
.flipper {
	transition: 0.6s;
	transform-style: preserve-3d;
	position: relative;
	width: 100%;
	height: 100%;
	background: transparent;
}
/* hide back of pane during swap */
.flip-container .front,
.flip-container .back {
	backface-visibility: hidden;
	transition: 0.6s;
	transform-style: preserve-3d;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.flip-container .back {
	position: relative;
}
.panel.no-shade .flip-container .front,
.panel.no-shade .flip-container .back {
	padding: 30px;
	background: var(--bg-color-main);
	box-shadow: 0px 0px 14px 0px var(--box-shadow-color-default);
}
@media (max-width: 900px) {
	.panel.no-shade .flip-container .front,
	.panel.no-shade .flip-container .back {
		padding: 20px;
	}
}
.flip-container .front {
	z-index: 2;
	transform: rotateY(0deg);
}
.flip-container .back {
	transform: rotateY(-180deg);
	
}
.panel.no-shade .flip-container .front ul,
.panel.no-shade .flip-container .back ul {
	margin-bottom: 0;
}

.panels.theme-panels .panel .inner {
	height: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.panels.theme-panels .panel .inner ul {
	margin-bottom: 0;
}
.panels.theme-panels a {
	color: var(--base-text-color);	
	text-decoration: underline dashed;
}
.panels.theme-panels a:hover {
	color: var(--base-text-color);	
	text-decoration: underline solid;
}




/*
 * Test locations
 * ======================================================== */
.filtered-test-locations a {
	display: flex;
}
.filtered-test-locations .item .image-box {
	min-height: 240px;
	max-height: none;
	height: 100%;
	width: 33%;
}
.filtered-test-locations .item img {
	max-width: none;
	width: auto;
	max-height: none;
	height: 100%;
}
.filtered-test-locations .item .address-box {
	margin-top: 21px;
}

/*
 * Featured
 * ======================================================== */
/*
a.featured-panel {
	display: flex;
	justify-content: flex-start;
	color: var(--base-text-color);
	text-decoration: none;
}
.featured-panel .image-box {
	width: 30%;
	height: auto;
	aspect-ratio: 1 / 1;
	position: relative;
}
.featured-panel .inner {
	position: relative;
	flex: 1;
	padding: 40px 100px 30px 80px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.featured-panel .inner > .icon {
	position: absolute;
	right: 10px;
	top: 0;
	height: 100%;
	width: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	font-size: 70px;
	color: #ede6bd;
	transition: all 250ms ease-in-out;
}
.featured-panel:hover .inner > .icon {
	color: var(--secondary-color);
}
*/

a.featured-panel {
	display: grid;
	justify-content: start;
	color: var(--base-text-color);
	text-decoration: none;
	grid-template-columns: 340px 1fr;
}
.featured-panel .image-box {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	position: relative;
	grid-column-start: 1;
	min-width: 260px;
}
.featured-panel .inner {
	position: relative;
	padding: 40px 80px 30px 60px;
	display: grid;
	justify-content: flex-start;
	grid-column-start: 2;
	grid-template-rows: max-content auto max-content;
}
.featured-panel .inner > .icon {
	position: absolute;
	right: 10px;
	top: 0;
	height: 100%;
	width: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	font-size: 70px;
	color: #ede6bd;
	transition: all 250ms ease-in-out;
}
@media (prefers-color-scheme: dark) {
	.featured-panel .inner > .icon {
		color: #40380b;
	}
}

.featured-panel:hover .inner > .icon {
	color: var(--secondary-color);
}
.featured-panel .date-label {
	position: absolute;
	top: 20px;
	width: 120px;
	height: 120px;
	background: var(--secondary-color);
	color: var(--base-text-color-white);;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	left: 0;
	transform: translateX(-100px);
}

/*
.featured-panel:hover .date-label {
	background: var(--secondary-color-darker);
}
*/
.featured-panel .date-label .day {
	font-size: 50px;
	font-weight: 900;
	line-height: 0.85;
}
.featured-panel .date-label .month {
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.6;
}
.featured-panel .date-label .year {
	font-size: 21px;
	line-height: 22px;
}


@media (max-width: 1100px) {
	a.featured-panel {
		grid-template-columns: 280px 1fr;
	}
	.featured-panel .inner {
		padding: 2em 3.5em 2em 3em;
	}
	.featured-panel .inner {
		padding: 2em 3.5em 2em 3em;
	}
	.featured-panel .inner > .icon {
		font-size: 55px;
	}


}
@media (max-width: 1000px) {
	a.featured-panel {
		grid-template-columns: 1fr;
		grid-template-rows: auto max-content;
	}
	.featured-panel .image-box {
		aspect-ratio: unset;
		grid-column-start: 1;
		grid-row-start: 1;
		border-radius: 10px 10px 0 0;
		min-height: 220px;
		max-height: 220px;
	}
	.featured-panel .inner {
		grid-column-start: 1;
		grid-row-start: 2;
		padding: 2em 3.5em 1em 3em;
	}

	.featured-panel .date-label {
		left: 0;
		top: 0;
		transform: translate(-20px, -200px);
	}
	.featured-panel .inner > .icon {
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-end;
		font-size: 55px;
		padding-right: 10px;
		padding-bottom: 20px;
	}

}


.featured-panel h2 {
	font-size: 28px;
	margin-bottom: 20px;
}
.featured-panel:hover h2 {
	color: var(--secondary-color);
}

.featured-panel .inner .meta {
	margin-top: auto;
}
.featured-panel ul.meta-list,
.featured-panel ul.meta-list li {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.featured-panel ul.meta-list li i {
	margin-right: 16px;
}

@media (max-width: 600px) {
	.featured-panel .inner {
		padding: 2em;
	}
	.featured-panel h2 {
		font-size: 21px;
	}
	.featured-panel ul.meta-list {
		font-size: 14px;
	}
	.featured-panel .date-label {
		top: 0;
		left: auto;
		right: 0;
		width: 90px;
		height: 90px;
		transform: translate(20px, -110px);
	}
	.featured-panel .date-label .day {
		font-size: 40px;
		line-height: 0.9;
	}
	.featured-panel .date-label .month {
		font-size: 12px;
		line-height: 1.3;
	}
	.featured-panel .date-label .year {
		font-size: 18px;
		line-height: 20px;
	}
}
/* TODO TRIBE DATE LABEL */
.tribe-events-calendar-list a.featured-panel {
	max-width: 900px;
	margin: 20px auto 40px auto;
}
.tribe-events-calendar-list .featured-panel .date-label {
	width: 110px;
	height: 110px;
}
@media (max-width: 600px) {
	.tribe-events-calendar-list .featured-panel .date-label {
		transform: translate(20px, -200px);
	}
}
.featured-panel .date-label .day {
	font-size: 46px;
}
.featured-panel .date-label .month {
	font-size: 14px;
}
.featured-panel .date-label .year {
	font-size: 18px;
	line-height: 19px;
}

@media (max-width: 1200px) {}
@media (max-width: 1000px) {}
@media only screen and (max-width: 650px) {}
@media only screen and (max-width: 480px) {}













/*
 * Contact
 * ======================================================== */

.gmap {
	width: 100%;
	height: 400px;
	border: #ccc solid 1px;
	margin: 0;
}

/* fixes potential theme css conflict */
.gmap img {
	max-width: inherit !important;
}
.gm-style .gm-style-iw-c {
	border-radius: 0px !important;	
	padding: 15px 20px !important;
	box-shadow: 0 2px 7px 1px var(--box-shadow-color-subtle);
}


/* interactive css map */
.svg-map-interactive {
	width:100%;
	height:auto;
}

.svg-map-interactive a {
	display: inline-block;
	background: lime;
}

.svg-map-interactive a:hover path {
	fill: #000;
	transition: fill 250ms ease-in-out;
}

#svg-map-popup {
	position: absolute;
	transform: translate(-50%, -120%);
	padding: 10px 20px;
	max-width: 300px;
	border-radius: 6px;
	background: var(--bg-color-main);
	box-shadow: 0 0 11px 0 var(--box-shadow-color-subtle);
}
#svg-map-popup::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid var(--base-border-color-white);
	position: absolute;
	bottom: -10px;
	left: calc(50% - 5px);
}
#svg-map-popup h3 {
	font-size: 16px;
	font-weight: 520;
	margin-bottom: 10px;
	text-transform: uppercase;
}
#svg-map-popup p {
	font-size: 15px;
	font-weight: 300;
	margin-bottom: 4px;
}
#close-svg-map-popup {
	position: absolute;
	right: 6px;
	top: 6px;
}
.close-svg-map-popup {
	position: absolute;
	right: 8px;
	top: 8px;
	font-size: 19px;
	width: 24px;
	height: 24px;
	line-height: 24px;
	cursor: pointer;
	border-radius: 50%;
	text-align: center;
}
.close-svg-map-popup:hover {
	background: rgba(0,0,0,0.1);
}
/*
.info-box.branche-services {
	max-width: 300px;
	padding: 15px 20px;
	box-shadow: 0 2px 8px 0 rgba(0,0,0,.12);
	margin: 20px 0 40px 0;
}
.search-item .info-box.branche-services {
	max-width: none;
	padding: 10px 0 0 0;
	box-shadow: none;
	margin: 0;
	font-weight: 400;
	font-size: 12px;
}


.map-nav {
	display: flex;
	justify-content: center;
	align-items: center;
}
.map-nav label {
	display: inline-block;
	padding-right: 10px;
	font-weight: 400;
}
.map-nav #map-zip-input {
	display: inline-block;
	width: 100px;
	margin-right: 10px;
}
.map-nav #map-distance-select {
	display: inline-block;
	width: 140px;
	margin-right: 10px;
}

*/

ul.contact-list {
	padding-left: 0;
	list-style: none;
}
ul.contact-list li {
	margin-bottom: 0;
	padding-left: 0;
}
ul.contact-list a {
	color: var(--pre-footer-link-color);
	text-decoration: none;
}
ul.contact-list a:hover {
	color: var(--pre-footer-link-color-hover);
	text-decoration: none;
}
ul.contact-list a:hover .text {
	text-decoration: underline;
}
ul.contact-list i.fa-fw {
	font-style: normal;
	display: inline-block;
	margin-right: 20px;
	width: 1em;
}


.location-overview {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	grid-gap: 30px;
}







/*
 * Partner boxes and logos
 * ======================================================== */
.partner-box .inner {
	display: flex;
	justify-content: flex-start;
}
.partner-box .image {
	max-width: 36%;
	padding-right: 30px;
	padding-top: 10px;
}
.partner-box .image img {
	width: auto;
}
.partner-box .text {
	flex: 1;
	font-weight: 390;
	font-size: 16px;
}
.partner-box .text a {
	display: block;
	color: var(--primary-color);
	text-decoration: none;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 700;
	padding-top: 20px;
}
.partner-box .text a:hover {
	color: var(--primary-color-darker);
	text-decoration: none;
}
.partner-logos {}
.partner-logos h2 {
	font-size: 29px;
	font-weight: 500;
}
.logo-overview {
	display: flex;
	justify-content: space-between;
	justify-content: flex-start;
	align-items: center;
	flex-flow: row wrap;
	gap: 40px;
}

.logo-overview > * {
	max-height: 65px;
	width: auto;
	position: relative;
	overflow: hidden;
}
.logo-overview img {
	width: auto;
	height: 100%;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.3;
	transition: all 250ms ease-in-out;
}
.logo-overview span:hover img,
.logo-overview a:hover img {
	filter: grayscale(0);
	opacity: 1;
}




/*
 * Footer
 * ======================================================== */
.prefooter {
	background: var(--pre-footer-bg-color);
	color: var(--pre-footer-text-color);
	font-size: 13px;
}
.prefooter .container.flex {
	align-items: flex-start;
	gap: 40px;
	padding-top: 120px;
}
.prefooter .container.flex > * {
	position: relative;
}
.logo-footer {
	width: 80px;
	display: inline-block;
	position: absolute;
	top: -73px;
}
.prefooter a {
	color: var(--pre-footer-link-color);
	text-decoration: none;
}
.prefooter a:hover {
	color: var(--pre-footer-link-color-hover);
	text-decoration: none;
}
.prefooter a:hover .text {
	text-decoration: underline;
}
.prefooter i.fa-fw {
	font-style: normal;
	display: inline-block;
	margin-right: 20px;
	width: 1em;
}
.prefooter h3 {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}
.prefooter h3.invisible {
	visibility: hidden;
}
.prefooter h4 {
	font-size: 13px;
	font-weight: 500;
	text-transform: none;
	margin-bottom: 0;
}
.prefooter .location-type {
	font-style: italic;
}
.prefooter ul {
	padding-left: 0;
	list-style: none;
}
.prefooter ul li {
	margin-bottom: 0;
	padding-left: 0;
}
.prefooter li.our-locations {
	padding-top: 1em;
}
.prefooter img.iso {
	width: 50px;
	height: auto;
}


@media (max-width: 1100px) {
	.grid.five-columns {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.grid.five-columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media only screen and (max-width: 650px) {
	.grid.five-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media only screen and (max-width: 480px) {
	.grid.five-columns {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}






.footer {
	background: var(--footer-bg-color);
	color: var(--footer-text-color);
	font-size: 12px;
}
.footer .container .left,
.footer .container .right {
	width: 50%;
}
.footer .container .right {
	text-align: right;
}
.footer a {
	color: var(--footer-link-color);
	text-decoration: none;
}
.footer a:hover {
	color: var(--footer-link-color-hover);
	text-decoration: underline;
}




.footer-subscribe button.button-primary {
	min-width: unset;
	padding: 0px 30px;
	background: rgba(255,255,255,0.9);
	color: var(--primary-color);
}
.footer-subscribe .fluentform .ff-el-form-control {
	background-color: rgba(255,255,255,0.2);
	border-color: rgba(255,255,255,0.2);
	color: var(--base-text-color-white);;
}
.footer-subscribe input::placeholder {
	color: var(--base-text-color-white) !important;
}





#user_switching_switch_on {
	background: transparent;
	margin-bottom: 0;
	padding: 10px 20px;
}
#user_switching_switch_on a {
	background: var(--primary-link-color);
	text-decoration: none;
	outline: 0;
	color: var(--base-text-color-white);;
	padding: 1px 12px;
	display: inline-block;
	border-radius: 4px;
}
#user_switching_switch_on a:hover {
	background: var(--primary-link-color-hover);
	text-decoration: none;
}



/*
 * Swipers
 * ======================================================== */

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
	right: 10px;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
	left: 10px;
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--bg-color-main);
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #E67932;
}


/*
 * Spinner
 * ======================================================== */
#submit-overlay {
	position: fixed;
	z-index: 9999;
	background: rgba(255,255,255,0.8);
	min-height: 100vh;
	height: 100%;
	width: 100%;
	top: 0;
	pointer-events: none;
	opacity: 0;
}
.hasLoader #submit-overlay {
	opacity: 1;
}
#submit-overlay .inner {
	position: fixed;
	top: 0;
	height: 100vh;
	width: 100%;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	flex-direction: column;
}
#submit-overlay .spinner,
#submit-overlay .spinner img {
	width: 60px;
	height: 60px;
}
#submit-overlay .spinner {
	animation: spinning 1.2s infinite ease forwards;
}
@keyframes spinning {
	0% {    transform: rotate(0); }
	12.5% { transform: rotate(45deg); }
	25% {   transform: rotate(90deg); }
	37.5% { transform: rotate(135deg); }
	50% {   transform: rotate(180deg); }
	62.5% { transform: rotate(225deg); }
	75% {   transform: rotate(270deg); }
	87.5% { transform: rotate(315deg); }
	100% {  transform: rotate(360deg); }
}