/*
	Theme Name: Berkenhagen
	Theme URI: 
	Description: Thema voor Kim Berkenhagen
	Author: Emile Zeldenrust
	Author URI: https://www.emilezeldenrust.nl/
	Version: 1.0
	Tags: 
*/

* {
	 padding: 0px;
	 margin: 0px;
}

:root {
	--bg: #f8f9fa;
	--tekst: #212529;
	--kleur1: #e8c37a;
	--kleur2: #ffe9b3;
	--kleur3: #0d6efd;
}

body {
	position: relative;
	background-color: var(--bg);
	color: var(--tekst);
	font-size: 15px;
	line-height: 1.7;
	font-family: 'Geom', sans-serif;
}

div {
	display: block;
}

a img {
	border: none;
	outline: none;
}

:focus, a:focus {
	 outline: none;
}

::-webkit-scrollbar {
	display: none;
}

/* ==========================================================================
	HEADER
	========================================================================== */

header {
	position: relative;
	height: auto;
	overflow: hidden;
}

/* ==========================================================================
	TEKST
	========================================================================== */
	
p {
	margin: 0 0 10px 0;
}

p:empty {
	display: none;
}

a, a:visited {
	color: var(--kleur1);
	text-decoration: underline;
}

a:hover, a:active, a:focus {
	color: var(--kleur1);
	text-decoration: none;
}

h1 {
	font-size: 40px;
	font-weight: bold;
	margin: 0 0 10px 0;
}

h2 {
	font-size: 32px;
	font-weight: bold;
	margin: 0 0 10px 0;
}

h3 {
	font-size: 28px;
	margin: 0 0 10px 0;
}

h4 {
	font-size: 24px;
	margin: 0 0 10px 0;
}

h5 {
	font-size: 20px;
	margin: 0 0 10px 0;
}

h6 {
	font-size: 16px;
	margin: 0 0 10px 0;
}

hr {
	border: none !important;
	height: 2px !important;
	background-color: #000;
	margin: 10px auto 10px auto;
	width: 95%;
	opacity: 1;
}

.entry-content i {
	font-size: 20px;
	vertical-align: -2px;
	margin: 0 4px;
}

/* ==========================================================================
	ALIGNMENT
	========================================================================== */

div.spacer {
	width: 100%;
	clear: both;
}

/* ==========================================================================
	CONTENT
	========================================================================== */

#content {
	padding-top: 106px;
	max-width: 1200px;
}

.main-col {
	padding-top: 15px;
	padding-bottom: 15px;
}

.entry-content img {
	max-width: 100%;
	height: auto;
}

/* YOUTUBE */

.wp-block-embed-youtube, .wp-block-embed-vimeo {
	display: inline-block;
	width: 100%;
	margin: 0 0 10px 0 !important;
}

.wp-block-embed__wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	width: 100%;
	overflow: hidden;
}

.wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ==========================================================================
	PROJECTEN
	========================================================================== */

.projecten {
	padding: 0;
	width: calc(100% + 24px);
	max-width: calc(100% + 24px);
}

.tegel {
	margin-bottom: 24px;
}

.tegel > a {
	position: relative;
	display: block;
	text-decoration: none;
	overflow: hidden;
}

.tegel .plaatje {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	overflow: hidden;
	background-color: var(--kleur1);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	-webkit-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.tegel a:hover .plaatje {
	-webkit-transform: translateZ(0) scale(1.05);
	transform: translateZ(0) scale(1.05);
}

.tegel .text-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	margin: 0;
	padding: 12px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	background: -webkit-linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 30%);
	background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 30%);
}

.tegel > a .text-overlay h2 {
	font-size: 30px;
	font-weight: bold;
	text-transform: none;
	margin: auto 0 0 0;
	color: var(--bg);
}

/* ==========================================================================
	AGENDA
	========================================================================== */

.agenda {
	padding: 0;
}

.agenda-item {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -12px;
	padding: 12px;
}

.agenda-item:nth-of-type(2n) {
	background-color: var(--tekst);
	color: var(--bg);
}

.agenda-item .links {
	flex: 0 0 20vw;
	padding-right: 1vw;
}

.agenda-item .links h2 {
	font-size: 22px;
	margin: 0 0 12px 0;
}

.agenda-item .links h3 {
	font-size: 16px;
	margin: 0;
}

.agenda-item .midden {
	flex: 1 1 auto;
}

.agenda-item .midden h2 {
	font-size: 22px;
	margin: 0 0 12px 0;
}

.agenda-item .midden h2 a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all 0.35s ease-in-out;
	transition: all 0.35s ease-in-out;
}

.agenda-item .midden h2 a:hover {
	color: var(--kleur1);
}

.agenda-item .midden h2 span {
	font-size: 16px;
	vertical-align: 1px;
}

.agenda-item .midden h3 {
	font-size: 16px;
	margin: 0;
}

.agenda-item .midden h3 span {
	font-weight: 400;
}

.agenda-item .tickets {
	flex: 0 0 160px;
	display: flex;
	align-items: center;
}

a.ticketknop {
	display: block;
	width: 160px;
	height: auto;
	color: var(--bg);
	background-color: var(--kleur1);
	font-size: 22px;
	padding: 7px 0;
	text-decoration: none;
	line-height: 1;
	font-weight: bold;
	text-transform: lowercase;
	text-align: center;
	-webkit-transition: all 0.35s ease-in-out;
	transition: all 0.35s ease-in-out;
}

a.ticketknop:hover {
	color: var(--tekst);
	background-color: transparent;
}

.agenda-item:nth-of-type(2n) a.ticketknop:hover {
	color: var(--bg);
}

/* ==========================================================================
	SINGLE PROJECT
	========================================================================== */

.trailer {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 850px;
	margin: 0 0 32px 0 !important;
	aspect-ratio: 16/9;
	cursor: pointer;
}

.trailer img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.trailer p {
	position: absolute;
	top: 5px;
	left: 12px;
	font-size: 24px;
	font-weight: bold;
}

.trailer .trailer-play-btn::before {
	content: "\f144";
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 7vw;
	color: var(--bg);
	pointer-events: none;
}

.trailer iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ==========================================================================
   HOMEPAGE
   ========================================================================== */

.page-id-12 {
	background-color: #000;
}

.page-id-12 .navbar, .page-id-12 .entry-title, .page-id-12 > footer {
	display: none;
}

.page-id-12 #content {
	max-width: none;
	padding-top: 0;
}

.page-id-12 .main-col {
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0;
}

.page-id-12 canvas {
	display: block;
	width: 100vw;
	height: 100vh;
	background-image: url('images/bos.jpg');
	background-size: cover;
	background-position: center center;
}

.wortel-title {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 8vw;
	height: 8vw;
	color: #efe6d6;
	font-size: 0.9vw;
	letter-spacing: 0.15vw;
	text-align: center;
	text-decoration: none;
	opacity: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
	transition: opacity .25s ease;
}

.wortel-title--0{ font-size: 16px; }
.wortel-title--1{ color: #e8c37a; }
.wortel-title--2{ font-style: italic; }
.wortel-title--3{ letter-spacing: .06em; }

.wortel-title:focus-visible {
	opacity: 1; /* ook zichtbaar bij keyboard-focus, niet alleen bij hover */
	outline: 1px solid #7ec98f;
	outline-offset: 4px;
}

/* ==========================================================================
   UNDER CONSTRUCTION
   ========================================================================== */

.page-id-136 .navbar, .page-id-136 .entry-title, .page-id-136 > footer {
	display: none;
}

.page-id-136 #content {
	max-width: none;
	padding-top: 0;
}

.page-id-136 .main-col {
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.page-id-136 h1 {
	font-size: 6vw;
	letter-spacing: 0.6vw;
	margin-bottom: 3vw;
	color: #656d4a;
}

.page-id-136 h2 {
	font-size: 2vw;
	margin-bottom: 0;
	color: #7f5539;
}

/* ==========================================================================
	BUTTONS
	========================================================================== */

.wp-block-buttons.is-content-justification-left {
	justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-center {
	justify-content: center;
}

.wp-block-buttons.is-content-justification-right {
	justify-content: flex-end;
}

.wp-block-buttons div.wp-block-button {
	margin: 0 0 20px 0;
}

a.wp-block-button__link, a.wp-block-button__link:visited {
	display: inline-block;
	width: auto;
	height: auto;
	background-color: #000;
	border: none;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	color: #fff;
	font-size: 16px;
	padding: 10px 20px;
	text-decoration: none;
	line-height: normal;
	font-family: inherit;
	font-weight: bold;
	text-transform: none;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

a.wp-block-button__link:hover, a.wp-block-button__link:active, a.wp-block-button__link:focus {
	background-color: #fff !important;
	color: #000 !important;
}

/* ==========================================================================
	GALERIJ
	========================================================================== */

.wp-block-gallery {
	margin-bottom: 20px !important;
	gap: 1vw !important;
	justify-content: space-between;
}

.wp-block-gallery figure.wp-block-image {
	margin: 0 !important;
	flex-grow: 0 !important;
}

.wp-block-gallery.columns-1 figure.wp-block-image {
	width: 100% !important;
}

.wp-block-gallery.columns-2 figure.wp-block-image {
	width: calc(50% - 0.5vw) !important;
}

.wp-block-gallery.columns-3 figure.wp-block-image, .wp-block-gallery.columns-default figure.wp-block-image {
	width: calc(33.33% - 0.67vw) !important;
}

.wp-block-gallery.columns-4 figure.wp-block-image {
	width: calc(25% - 0.75vw) !important;
}

.wp-block-gallery.columns-5 figure.wp-block-image {
	width: calc(20% - 0.8vw) !important;
}

.wp-block-gallery.columns-6 figure.wp-block-image {
	width: calc(16.66% - 0.83vw) !important;
}

.wp-block-gallery.columns-7 figure.wp-block-image {
	width: calc(14.28% - 0.86vw) !important;
}

.wp-block-gallery.columns-8 figure.wp-block-image {
	width: calc(12.5% - 0.88vw) !important;
}

.wp-block-gallery figure.wp-block-image:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	margin: 0;
	transition: all 0.5s;
	opacity: 0;
	background: rgba(255,255,255,1.00);
	-webkit-box-shadow: inset 0 0 100px 20px #000;
	box-shadow: inset 0 0 100px 20px #000;
	pointer-events: none;
}

.wp-block-gallery figure.wp-block-image:hover:before {
	opacity: 0.4;
}

.wp-block-gallery figure.wp-block-image figcaption {
	display: none !important;
}

/* ==========================================================================
	NIVO-LIGHTBOX
	========================================================================== */

body .nivo-lightbox-theme-default .nivo-lightbox-prev {
	top: 0;
	height: 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='square' stroke-linejoin='arcs'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E");
	background-size: contain;
	width: 70px;
	max-width: 8vw;
}

body .nivo-lightbox-theme-default .nivo-lightbox-next {
	top: 0;
	height: 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='square' stroke-linejoin='arcs'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
	background-size: contain;
	width: 70px;
	max-width: 8vw;
}

body .nivo-lightbox-theme-default .nivo-lightbox-close {
	width: 25px;
	height: 25px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='square' stroke-linejoin='arcs'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
	background-size: contain;
	background-position: center center;
}

body .nivo-lightbox-theme-default.nivo-lightbox-overlay {
	background: #000;
	z-index: 12;
}

body .nivo-lightbox-wrap {
	top: 10px;
	bottom: 26px;
}

body .nivo-lightbox-theme-default .nivo-lightbox-title-wrap {
	bottom: -26px;
	height: 26px;
}

body .nivo-lightbox-theme-default .nivo-lightbox-title {
	background: transparent;
	font-family: inherit;
	font-size: 13px;
	text-transform: none;
	padding: 5px;
	color: rgba(255, 255, 255, 0.7);
}

/* ==========================================================================
	CONTACTFORMULIER
	========================================================================== */

.wpcf7-form label {
	width: 100%;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 0;
}

.wpcf7-form-control-wrap {
	display: block;
	margin-bottom: 10px;
}

.wpcf7-form-control {
	width: 100%;
	height: auto;
	padding: 10px;
	border: 2px solid #000;
	display: block;
	font-size: 13px;
	line-height: 1;
	color: #000;
	background: rgba(255, 255, 255, 0.5);
	-webkit-border-radius: 0;
	border-radius: 0;
}

.wpcf7-form-control:focus {
	background: #fff;
	color: #000;
	border-color: #d51317;
	box-shadow: none;
}

input[type=button], input[type=submit], input[type=text], input[type=email], textarea {
	-webkit-appearance: none; /*Safari/Chrome*/
	-moz-appearance: none; /*Firefox*/
	-ms-appearance: none; /*IE*/
	-o-appearance: none; /*Opera*/
	appearance: none;
}

input.wpcf7-submit {
	width: 160px;
	margin: 10px 0;
	padding: 0 20px;
	color: #fff !important;
	background-color: #000;
	border: none;
	font-size: 14px;
	line-height: 44px;
	text-decoration: none;
	font-weight: normal;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

input.wpcf7-submit:hover, input.wpcf7-submit:focus {
	background-color: #fff !important;
	color: #000 !important;
	border: none;
}

.wpcf7-response-output {
	clear: both;
	text-align: center;
	padding: 30px !important;
}

form.sent > div.row, form.sent > p, form.sent > h3 {
	display: none;
}

/* PLACEHOLDERS */
::-webkit-input-placeholder { /* WebKit browsers */
	 color: #999 !important;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	 color: #999 !important;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	 color: #999 !important;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	 color: #999 !important;
}

/* SWITCH */
.form-switch {
	padding-left: 1.5em;
}
.form-switch .wpcf7-acceptance {
	border: none;
	background-color: transparent;
}
.form-switch .form-check-input {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");
	font-size: 18px;
	margin-top: 1px;
	background-color: #d32f2f;
	border-color: white;
}
.form-switch .form-check-input:focus {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");
	box-shadow: none;
}
.form-switch .form-check-input:checked {
	background-color: green;
	border-color: white;
}

.wpcf7-form.sent .form-switch {
	display: none;
}

/* ==========================================================================
	FOOTER
	========================================================================== */

body > footer {
	padding: 2vw 2vw 0.5vw !important;
	background-color: var(--tekst);
	color: var(--bg);
	margin-top: 100px;
}

body > footer > ul {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
	gap: 10%;
}

body > footer > ul li {
	list-style: none;
	flex: 1;
}

body > footer > ul li .wp-block-columns {
	margin-bottom: 0;
}

body > footer p {
}

body > footer .wp-block-image {
	margin-bottom: 0;
}

p.footer-credits {
	text-align: left;
}

/* ========================================================================== */