/*
Theme Name: Skrifi
Author: Pieter Eg, Studio Ronduit
Description: Website of Skrifi made by Studio Ronduit
Version: 1.1
Tags: designstudio
*/

@charset "UTF-8";

#wpadminbar{
	top: 0 !important;
	position: fixed !important;
}

body *::-webkit-scrollbar {
	width: 0px;
	background: transparent; /* Chrome/Safari/Webkit */
}

body *{
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;  /* IE 10+ */
}

*{
	position: relative;
	box-sizing: border-box;
	padding: 0;
	margin: 0 ;
	font-display: swap;
}

html{
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

body{
	font-size: 18px;
	display: flex;
	flex-flow: column wrap;
	overflow-x: clip;
	align-items: center;
	min-height: 100vh;
	background: var(--whiteish);
}

a{
	text-decoration: none;
	color: inherit;
}


/*------------------------- COLOR VARIABLES --------------------------*/

:root {
	--black-light: rgba(169, 169, 169, 1);
	--black-50: rgba(102, 102, 102, 1);
	--black: rgba(51, 51, 51, 1);
	--black-darkest: rgba(0, 0, 0, 1);
	--white: rgba(255, 255, 255, 1);
	--white-opacity: rgba(255, 255, 255, .8);
	--whiteish: rgba(187, 214, 238, .16);
	--grey: rgba(230, 230, 230, 1);
	--blue: #3b87bb;
	--yellowish-green: #ccad3d;
	
	--block-bg: rgba(187, 214, 238, 0.185);
	
}

.has-no-background-color{
	background-color: transparent !important;
}

.has-blue-background-color{
	background-color: var(--blue) !important;
}

.has-yellowish-green-background-color{
	background-color: var(--yellowish-green) !important;
}

.has-white-background-color{
	background-color: var(--white) !important;
}

.has-whiteish-background-color{background-color: var(--whiteish) !important;}


.has-black-background-color{
	background-color: var(--black) !important;
}

/*------------------------- FONT STYLES --------------------------*/

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

*{
	font-family: 'Inter', 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	font-weight: 500;
	line-height: 1.7;
}

h1, h2, h3, .site-title,
h1 *, h2 *, h3 * {
	font-family: 'Bricolage Grotesque', serif;
	font-weight: 600;
	color:#ccad3d !important;
	line-height: 1.08em;
}

h2.wp-block-heading{
	color: var(--black) !important;
}

h1, h2{
	font-size: clamp(35px, 4vw, 46px);
	font-weight: 700;
	color: var(--black);
	
}
.heroimage h1{
font-size: clamp(2em, 4vw, 3em);
}
.heroimage h1 em{

	color: var(--white) !important;
}

.page-template-page-informational h1{
	color: inherit;
}

.long-read h2{
	font-size: 1.5em;
	font-weight: 600;
	color: var(--black);	
}

h3{
	font-size: 22px;
	font-weight: 500;
	color: var(--blue);
}

p{
	font-size: 1em;
	line-height: 1.6em;
	//color: var(--white-opacity);
}

strong{
	font-weight: 900;
}

.has-blue-color{
	color: var(--blue) !important;
}


.has-black-color{
	color: var(--black) !important;
}

.has-white-color{
	color: var(--white) !important;
}

.icon{
	width: 24px;
	height: 24px;
	
}

.icon.has-white-color{
	filter: brightness(0) invert(1);
}


/*------------------------- FOOTER (zelfde stijl als header) --------------------------*/

.pre-footer{
	background-color: rgb(58 63 65);
	background-image: linear-gradient(rgba(204, 173, 61, 0.3), rgba(204, 173, 61, 0.3));
	backdrop-filter: blur(20px);
	border-top: rgba(204, 173, 61, 0.6) 1px solid;
	color: var(--white);
}

/* lichte tekst op de donkere glas-achtergrond */
.pre-footer p,
.pre-footer span,
.pre-footer .text-color-blue{
	color: var(--white);
}

.usp-block p{
	color: var(--white);
	font-weight: 700;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

nav header{
	font-weight: 600;
	font-size: 2em;
}

aside nav a{
	font-weight: 600;
	line-height: 1.6em;
}

button{
	font-weight: 500;
}

article p a{
	color: var(--pink);
	font-weight: 600;
	white-space: nowrap;
}

article p a:after{
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -2px;
	transition: .2s ease all;
	border-radius: 1px;
}

article p a:after{
	width: 100%;
	height: 2px;
	background: var(--green);
}

article p a:hover:after{
	width: 110%;
}

article ol, article ul{
	padding-left: 28px;
}

/*------------------------- HEADER --------------------------*/

body > header{
	width: 100%;
	top: 0;
	z-index: 999;
}

.about-us:before{
	content: '';
	background-color: var(--block-bg);
	border-radius: 0;
	width: var(--wide-width-elem);
	min-width: 100vw;
	height: 100%;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	top: 0;
}

/* .about-us:before{
	border-radius: 28px;
} */

body > header *:has(.logo){
	left: 0;
}

body > header .heroimage,
body > header .logo{
	height: 64px;
}

.heroimage-wrapper{
	border-bottom: 1px solid grey;
}

body > header, .heroimage-wrapper{
	background: rgb(58 63 65);
	backdrop-filter: blur(20px);
	border-bottom: rgba(204, 173, 61, 0.6) 1px solid; 
}

body > header{
	background: rgba(204, 173, 61, 0.3);
}

.heroimage-wrapper:after{
	content:'';
	position:absolute;
	inset:0;
	z-index:-1;
	background-size:cover;
	background-position:center;
	background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20800%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22b%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%22110%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20width%3D%221200%22%20height%3D%22800%22%20fill%3D%22%230E2826%22%20opacity%3D%220%22%2F%3E%3Cg%20filter%3D%22url(%23b)%22%3E%3Ccircle%20cx%3D%22220%22%20cy%3D%22180%22%20r%3D%22280%22%20fill%3D%22%231d544d%22%20opacity%3D%220%22%2F%3E%3Ccircle%20cx%3D%22980%22%20cy%3D%22120%22%20r%3D%22300%22%20fill%3D%22%23143734%22%20opacity%3D%220%22%2F%3E%3Cellipse%20cx%3D%221080%22%20cy%3D%22620%22%20rx%3D%22360%22%20ry%3D%22300%22%20fill%3D%22%2327695f%22%20opacity%3D%220%22%2F%3E%3Ccircle%20cx%3D%22430%22%20cy%3D%22700%22%20r%3D%22260%22%20fill%3D%22%230b211f%22%20opacity%3D%220%22%2F%3E%3Cellipse%20cx%3D%22760%22%20cy%3D%22430%22%20rx%3D%22300%22%20ry%3D%22220%22%20fill%3D%22%23C8992E%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22430%22%20r%3D%22170%22%20fill%3D%22%23E4BE6A%22%20opacity%3D%220.35%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

body > header + .nav nav li, nav li{
	list-style: none;
	font-weight: 500;
}
body > header + .nav{
	z-index: 999999;
}

.current_page_item *, .current-lang *{
	font-weight: 800;
	text-decoration: underline;
}

.menu-item{
	text-align: center;
}
.menu-item a{
	font-size: .8em;
	opacity: 1;
	display: inline-block;
	transition: all ease .3s;
}

.menu-item-has-children:after{
	content: '▼';
}

.menu-item-has-children .sub-menu{
	position: absolute;
	padding-left: 12px;
	opacity: 0;
	transition: .2s ease all;
}

.menu-item:hover > a{
	transform: scale(1.1);
}

.menu-item-has-children:hover .sub-menu{
	opacity: 1;
}

.mobile-menu-container {
	display: none;
}

.active .mobile-menu-container {
	display: inherit;
}

.mobile-menu-container .menu-item{
	text-align: right;
}

/*------------------------- MOBIEL MENU --------------------------*/

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

	/* anker voor het absolute uitklappaneel + nette Menu-knop rechts */
	.mobile-nav{
		position: relative;
		width: auto;
		align-items: flex-end;
		cursor: pointer;
	}
	#nav-scroll{
		padding: 8px 16px;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.35);
		transition: background .2s ease;
	}
	.mobile-nav.active #nav-scroll{
		background: rgba(255, 255, 255, 0.6);
	}

	/* Uitklappaneel: absoluut zodat de header-layout NIET meer verspringt */
	.mobile-menu-container{
		position: absolute;
		top: calc(100% + 12px);
		right: 0;
		z-index: 1000;
		min-width: 220px;
		padding: 18px 22px;
		background-color: rgb(58 63 65);
		background-image: linear-gradient(rgba(204, 173, 61, 0.3), rgba(204, 173, 61, 0.3));
		backdrop-filter: blur(20px);
		border: rgba(204, 173, 61, 0.6) 1px solid;
		border-radius: 16px;
		box-shadow: 0 16px 40px -16px rgba(0, 0, 0, .5);
		justify-content: end;
	}

	/* lijst netjes onder elkaar, rechts uitgelijnd */
	.mobile-menu-container ul{
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 14px;
		margin: 0;
		padding: 0;
	}
	.mobile-menu-container .menu-item a{
		font-size: 1em;
		color: var(--white);
	}
	/* geen scale-sprongetje bij tikken op mobiel */
	.mobile-menu-container .menu-item:hover > a{
		transform: none;
	}
}


body > header + .nav nav:before{
	content: "";
	/* background-color: white; */
	position: absolute;
	top: -12px;
	left: -12px;
	width: calc(100% + 24px); 
	height: calc(100% + 24px);
}

body > header .heroimage > div{
	height: 100%;
	top: 0;
}

body > header .heroimage h1{
	width: 100%;
	text-align: center;
}


/*------------------------- HOMEPAGE HEADER --------------------------*/


/*------------------------BUTTONS---------------------------*/

.wp-block-buttons{
	display: flex;
	gap: var(--one-gutter);
}

button,
.wp-block-button,
.cky-consent-bar .cky-btn,
input.wpcf7-submit{
	background: none;
	width: max-content;
	border: none;
	outline: 0;
	overflow: hidden;
	border-radius: 50px;
}

.single-post-card:not(.meer-nieuws) .wp-block-button{
	border-radius: 20px 0 0 0;
}

.single-post-card{
	transition: all .3s ease;
}
.single-post-card:hover{
	transform: translateY(-4px);
	box-shadow: hsl(204deg 52% 15% / 15%) 0px 6px 12px; 
}


button a, button span:not(.material-icons), 
.wp-block-button a,
.cky-consent-bar .cky-btn,
input.wpcf7-submit{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 12px 20px;
	gap: 12px;
	background: var(--white);
	font-size: 14px;
	font-weight: 500;
}



.wp-block-button a, .wp-block-button span:not(.material-icons){
	background: var(--blue);
	color: var(--white); 
}



button{
	transition: .2s all;
}

button.border-2.has-blue-color{
	border-color: var(--blue) !important;
}

button.border-2.has-blue-color:after{
	content: "";
	display: block;
	position: absolute;
	background: var(--blue);
	opacity: .2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
button:hover{
	transform: scale(1.05);
}

/*----------------------SLIDER-----------------------------*/

.slick-dots li {
	padding: 0;
	margin: 0;
}


.slick-dots li button:before, 
.slick-dots li button{
	width: 12px;
	padding: 0;
	color: var(--blue) !important;
	font-size: 8px;
}

.slick-dots li button{
	font-size: 0;
}

.slick-dotted.slick-slider{
	margin-bottom: 16px;
}

/*----------------------POSTS CARDS-----------------------------*/


.posts-block h2{
	font-size: 20px;
	font-weight: 700;
}

.posts-block p{
	font-size: 16px;
	font-weight: 500;
}



@media screen and (min-width: 801px){
	.home .single-post-card:first-of-type{
		width: 100%;
		flex-flow: row-reverse;
	}

	.home .single-post-card:first-of-type > div{
		width: 50%;
	}

	.home .single-post-card:first-of-type h2{
		font-size: 32px;
	}
}


.single-post-card{
	overflow: hidden;
	background: var(--white);
	border-color: #d5e5f6 !important;
}

.single-post-card .body{
	flex:1;
}

/* laat de content-kolom de resterende hoogte vullen ... */
.single-post-card > div:has(> .read-more){
	flex: 1;
}

.single-post-card .read-more{
	margin-top: auto; /* ... zodat 'Lees verder' onderaan de kaart blijft */
	font-size: .8em;
}

.single-post-card .read-more .material-icons{
	transition: .2s ease;
	font-size: 1.2em;
}

.single-post-card:hover .read-more .material-icons{
	transform: translateX(4px);
}

.single-post-card .category {
	position: absolute;
	z-index: 9;
}

.category div{
	border-radius: 12px;
	font-size: .8em;
	height: 24px;
	padding: 0 8px;
}


/*----------------------SCROLL REVEAL-----------------------------*/

/* Verborgen begin-staat (ook vóór de JS draait, geen flits). */
.reveal:not(.in){
	opacity: 0;
	transform: translateY(22px);
	will-change: opacity, transform;
}

/* Reveal als losse animatie i.p.v. transition, zodat de transition-eigenschap
   vrij blijft voor hover-effecten. 'backwards' houdt de begin-staat vast tijdens
   de stagger-delay, maar laat ná afloop de transform los (hover blijft werken). */
.reveal.in{
	animation: reveal-in .7s ease backwards;
}

@keyframes reveal-in{
	from{ opacity: 0; transform: translateY(22px); }
	to{ opacity: 1; transform: none; }
}

/* lichte stagger voor kaarten naast elkaar */
.posts-block > .reveal:nth-child(2).in{ animation-delay: .08s; }
.posts-block > .reveal:nth-child(3).in{ animation-delay: .16s; }
.posts-block > .reveal:nth-child(4).in{ animation-delay: .24s; }

@media (prefers-reduced-motion: reduce){
	.reveal:not(.in){ opacity: 1; transform: none; }
	.reveal.in{ animation: none; }
}

/*----------------------COOKIE PLUGIN / POP UP WINDOW-----------------------------*/

.pop-up-wrapper{
	height: 100vh;
	width: 100vw;
	position: fixed;
	top: 0; left: 0;
	display: none;
	z-index: 9999999999;
	overflow-y: scroll;
	background-color: rgba(3, 5, 23, .4);
}

.pop-up-wrapper > section{
	min-height: 100%;
}

@keyframes bounce {
	0%{
		opacity: 0;
		transform: scale(.2) rotate(10deg);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

.pop-up-wrapper.open .pop-up-window{
	animation: bounce .5s cubic-bezier(.14,1.1,.7,1.27);
}

.pop-up-window, .transparant-blur-bg{
	border-radius: 6px;
	border: 1px solid;
	overflow: hidden;	
}

.pop-up-window *:not(.wp-block-button, .wp-block-button > *){
	color: var(--white);
}

.pop-up-window > button.close{
	position: absolute;
	top: 20px;
	right: 20px;
}

.pop-up-window > button.close:after{
	content:'';
	display: block;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url('images/x.svg');
	width: 20px;
	height: 20px;
	filter: invert(1);
}


.cky-consent-bar, .pop-up-window, .transparant-blur-bg{
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	background-color: #ffffff65 !important;
	border-color: #f4f4f420 !important;
}

.cky-consent-bar .cky-btn{
	flex: inherit;
	line-height: initial;
}

.cky-consent-bar .cky-btn.cky-btn-reject{
	padding-left: 0;
}

.cky-consent-bar .cky-btn.cky-btn-accept{
	background-color: var(--green) !important;
}

.cky-consent-bar .cky-btn:hover{
	opacity: 1;
}

.cky-consent-bar .cky-notice *{
	color: var(--white) !important;
}

.cky-btn-revisit-wrapper {
	opacity: .6;
	background-color: transparent !important;
	overflow: visible;
}

.cky-btn-revisit-wrapper img{
	width: 24px;
	height: 24px;
}

.cky-modal button:hover{
	transform: none;
}

/*-----------------------Default Wordpress Blocks----------------------------*/


.wp-block-group__inner-container{
	display: flex;
	flex-flow: column wrap;
	gap: 12px;
	width: 100%;
}


/*-----------------------MEDIA QUERIES----------------------------*/

@media screen and (max-width: 800px){
	body > header .heroimage h1{
		font-size: calc(1rem + .7vw);
	}
}


